@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,23 +1,25 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement, Fragment } from "@wordpress/element";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
5
5
  import { useSelect, useDispatch } from '@wordpress/data';
6
- import { useMemo } from '@wordpress/element';
7
6
  import { decodeEntities } from '@wordpress/html-entities';
8
- import { BlockContextProvider, BlockPreview } from '@wordpress/block-editor';
9
- import { Button, __experimentalVStack as VStack } from '@wordpress/components';
7
+ import { DropdownMenu, MenuGroup, MenuItem, __experimentalHStack as HStack, __experimentalText as Text } from '@wordpress/components';
10
8
  import { __ } from '@wordpress/i18n';
11
9
  import { store as coreStore } from '@wordpress/core-data';
12
- import { parse } from '@wordpress/blocks';
13
10
 
14
11
  /**
15
12
  * Internal dependencies
16
13
  */
17
14
  import { store as editSiteStore } from '../../../store';
15
+ import SwapTemplateButton from './swap-template-button';
16
+ import ResetDefaultTemplate from './reset-default-template';
17
+ const POPOVER_PROPS = {
18
+ className: 'edit-site-page-panels-edit-template__dropdown',
19
+ placement: 'bottom-start'
20
+ };
18
21
  export default function EditTemplate() {
19
22
  const {
20
- context,
21
23
  hasResolved,
22
24
  template
23
25
  } = useSelect(select => {
@@ -41,29 +43,34 @@ export default function EditTemplate() {
41
43
  const {
42
44
  setHasPageContentFocus
43
45
  } = useDispatch(editSiteStore);
44
- const blockContext = useMemo(() => ({
45
- ...context,
46
- postType: null,
47
- postId: null
48
- }), [context]);
49
- const blocks = useMemo(() => {
50
- var _template$blocks;
51
- return (_template$blocks = template.blocks) !== null && _template$blocks !== void 0 ? _template$blocks : template.content && typeof template.content !== 'function' ? parse(template.content) : [];
52
- }, [template.blocks, template.content]);
53
46
  if (!hasResolved) {
54
47
  return null;
55
48
  }
56
- return createElement(VStack, null, createElement("div", null, decodeEntities(template.title)), createElement("div", {
57
- className: "edit-site-page-panels__edit-template-preview"
58
- }, createElement(BlockContextProvider, {
59
- value: blockContext
60
- }, createElement(BlockPreview, {
61
- viewportWidth: 1024,
62
- blocks: blocks
63
- }))), createElement(Button, {
64
- className: "edit-site-page-panels__edit-template-button",
65
- variant: "secondary",
66
- onClick: () => setHasPageContentFocus(false)
67
- }, __('Edit template')));
49
+ return createElement(HStack, {
50
+ className: "edit-site-summary-field"
51
+ }, createElement(Text, {
52
+ className: "edit-site-summary-field__label"
53
+ }, __('Template')), createElement(DropdownMenu, {
54
+ popoverProps: POPOVER_PROPS,
55
+ focusOnMount: true,
56
+ toggleProps: {
57
+ variant: 'tertiary',
58
+ className: 'edit-site-summary-field__trigger'
59
+ },
60
+ label: __('Template options'),
61
+ text: decodeEntities(template.title),
62
+ icon: null
63
+ }, ({
64
+ onClose
65
+ }) => createElement(Fragment, null, createElement(MenuGroup, null, createElement(MenuItem, {
66
+ onClick: () => {
67
+ setHasPageContentFocus(false);
68
+ onClose();
69
+ }
70
+ }, __('Edit template')), createElement(SwapTemplateButton, {
71
+ onClick: onClose
72
+ })), createElement(ResetDefaultTemplate, {
73
+ onClick: onClose
74
+ }))));
68
75
  }
69
76
  //# sourceMappingURL=edit-template.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useDispatch","useMemo","decodeEntities","BlockContextProvider","BlockPreview","Button","__experimentalVStack","VStack","__","store","coreStore","parse","editSiteStore","EditTemplate","context","hasResolved","template","select","getEditedPostContext","getEditedPostType","getEditedPostId","getEditedEntityRecord","hasFinishedResolution","_context","queryArgs","setHasPageContentFocus","blockContext","postType","postId","blocks","_template$blocks","content","createElement","title","className","value","viewportWidth","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":";AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,oBAAoB,EAAEC,YAAY,QAAQ,yBAAyB;AAC5E,SAASC,MAAM,EAAEC,oBAAoB,IAAIC,MAAM,QAAQ,uBAAuB;AAC9E,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,KAAK,QAAQ,mBAAmB;;AAEzC;AACA;AACA;AACA,SAASF,KAAK,IAAIG,aAAa,QAAQ,gBAAgB;AAEvD,eAAe,SAASC,YAAYA,CAAA,EAAG;EACtC,MAAM;IAAEC,OAAO;IAAEC,WAAW;IAAEC;EAAS,CAAC,GAAGjB,SAAS,CAAIkB,MAAM,IAAM;IACnE,MAAM;MAAEC,oBAAoB;MAAEC,iBAAiB;MAAEC;IAAgB,CAAC,GACjEH,MAAM,CAAEL,aAAc,CAAC;IACxB,MAAM;MAAES,qBAAqB;MAAEC;IAAsB,CAAC,GACrDL,MAAM,CAAEP,SAAU,CAAC;IACpB,MAAMa,QAAQ,GAAGL,oBAAoB,CAAC,CAAC;IACvC,MAAMM,SAAS,GAAG,CACjB,UAAU,EACVL,iBAAiB,CAAC,CAAC,EACnBC,eAAe,CAAC,CAAC,CACjB;IACD,OAAO;MACNN,OAAO,EAAES,QAAQ;MACjBR,WAAW,EAAEO,qBAAqB,CACjC,uBAAuB,EACvBE,SACD,CAAC;MACDR,QAAQ,EAAEK,qBAAqB,CAAE,GAAGG,SAAU;IAC/C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IAAEC;EAAuB,CAAC,GAAGzB,WAAW,CAAEY,aAAc,CAAC;EAE/D,MAAMc,YAAY,GAAGzB,OAAO,CAC3B,OAAQ;IAAE,GAAGa,OAAO;IAAEa,QAAQ,EAAE,IAAI;IAAEC,MAAM,EAAE;EAAK,CAAC,CAAE,EACtD,CAAEd,OAAO,CACV,CAAC;EAED,MAAMe,MAAM,GAAG5B,OAAO,CACrB;IAAA,IAAA6B,gBAAA;IAAA,QAAAA,gBAAA,GACCd,QAAQ,CAACa,MAAM,cAAAC,gBAAA,cAAAA,gBAAA,GACbd,QAAQ,CAACe,OAAO,IAAI,OAAOf,QAAQ,CAACe,OAAO,KAAK,UAAU,GACzDpB,KAAK,CAAEK,QAAQ,CAACe,OAAQ,CAAC,GACzB,EAAE;EAAA,CAAE,EACR,CAAEf,QAAQ,CAACa,MAAM,EAAEb,QAAQ,CAACe,OAAO,CACpC,CAAC;EAED,IAAK,CAAEhB,WAAW,EAAG;IACpB,OAAO,IAAI;EACZ;EAEA,OACCiB,aAAA,CAACzB,MAAM,QACNyB,aAAA,cAAO9B,cAAc,CAAEc,QAAQ,CAACiB,KAAM,CAAQ,CAAC,EAC/CD,aAAA;IAAKE,SAAS,EAAC;EAA8C,GAC5DF,aAAA,CAAC7B,oBAAoB;IAACgC,KAAK,EAAGT;EAAc,GAC3CM,aAAA,CAAC5B,YAAY;IAACgC,aAAa,EAAG,IAAM;IAACP,MAAM,EAAGA;EAAQ,CAAE,CACnC,CAClB,CAAC,EACNG,aAAA,CAAC3B,MAAM;IACN6B,SAAS,EAAC,6CAA6C;IACvDG,OAAO,EAAC,WAAW;IACnBC,OAAO,EAAGA,CAAA,KAAMb,sBAAsB,CAAE,KAAM;EAAG,GAE/CjB,EAAE,CAAE,eAAgB,CACf,CACD,CAAC;AAEX"}
1
+ {"version":3,"names":["useSelect","useDispatch","decodeEntities","DropdownMenu","MenuGroup","MenuItem","__experimentalHStack","HStack","__experimentalText","Text","__","store","coreStore","editSiteStore","SwapTemplateButton","ResetDefaultTemplate","POPOVER_PROPS","className","placement","EditTemplate","hasResolved","template","select","getEditedPostContext","getEditedPostType","getEditedPostId","getEditedEntityRecord","hasFinishedResolution","_context","queryArgs","context","setHasPageContentFocus","createElement","popoverProps","focusOnMount","toggleProps","variant","label","text","title","icon","onClose","Fragment","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 { 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":";AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SACCC,YAAY,EACZC,SAAS,EACTC,QAAQ,EACRC,oBAAoB,IAAIC,MAAM,EAC9BC,kBAAkB,IAAIC,IAAI,QACpB,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,SAASD,KAAK,IAAIE,aAAa,QAAQ,gBAAgB;AACvD,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,OAAOC,oBAAoB,MAAM,0BAA0B;AAE3D,MAAMC,aAAa,GAAG;EACrBC,SAAS,EAAE,+CAA+C;EAC1DC,SAAS,EAAE;AACZ,CAAC;AAED,eAAe,SAASC,YAAYA,CAAA,EAAG;EACtC,MAAM;IAAEC,WAAW;IAAEC;EAAS,CAAC,GAAGrB,SAAS,CAAIsB,MAAM,IAAM;IAC1D,MAAM;MAAEC,oBAAoB;MAAEC,iBAAiB;MAAEC;IAAgB,CAAC,GACjEH,MAAM,CAAET,aAAc,CAAC;IACxB,MAAM;MAAEa,qBAAqB;MAAEC;IAAsB,CAAC,GACrDL,MAAM,CAAEV,SAAU,CAAC;IACpB,MAAMgB,QAAQ,GAAGL,oBAAoB,CAAC,CAAC;IACvC,MAAMM,SAAS,GAAG,CACjB,UAAU,EACVL,iBAAiB,CAAC,CAAC,EACnBC,eAAe,CAAC,CAAC,CACjB;IACD,OAAO;MACNK,OAAO,EAAEF,QAAQ;MACjBR,WAAW,EAAEO,qBAAqB,CACjC,uBAAuB,EACvBE,SACD,CAAC;MACDR,QAAQ,EAAEK,qBAAqB,CAAE,GAAGG,SAAU;IAC/C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IAAEE;EAAuB,CAAC,GAAG9B,WAAW,CAAEY,aAAc,CAAC;EAE/D,IAAK,CAAEO,WAAW,EAAG;IACpB,OAAO,IAAI;EACZ;EAEA,OACCY,aAAA,CAACzB,MAAM;IAACU,SAAS,EAAC;EAAyB,GAC1Ce,aAAA,CAACvB,IAAI;IAACQ,SAAS,EAAC;EAAgC,GAC7CP,EAAE,CAAE,UAAW,CACZ,CAAC,EACPsB,aAAA,CAAC7B,YAAY;IACZ8B,YAAY,EAAGjB,aAAe;IAC9BkB,YAAY;IACZC,WAAW,EAAG;MACbC,OAAO,EAAE,UAAU;MACnBnB,SAAS,EAAE;IACZ,CAAG;IACHoB,KAAK,EAAG3B,EAAE,CAAE,kBAAmB,CAAG;IAClC4B,IAAI,EAAGpC,cAAc,CAAEmB,QAAQ,CAACkB,KAAM,CAAG;IACzCC,IAAI,EAAG;EAAM,GAEX,CAAE;IAAEC;EAAQ,CAAC,KACdT,aAAA,CAAAU,QAAA,QACCV,aAAA,CAAC5B,SAAS,QACT4B,aAAA,CAAC3B,QAAQ;IACRsC,OAAO,EAAGA,CAAA,KAAM;MACfZ,sBAAsB,CAAE,KAAM,CAAC;MAC/BU,OAAO,CAAC,CAAC;IACV;EAAG,GAED/B,EAAE,CAAE,eAAgB,CACb,CAAC,EACXsB,aAAA,CAAClB,kBAAkB;IAAC6B,OAAO,EAAGF;EAAS,CAAE,CAC/B,CAAC,EACZT,aAAA,CAACjB,oBAAoB;IAAC4B,OAAO,EAAGF;EAAS,CAAE,CAC1C,CAEU,CACP,CAAC;AAEX"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useSelect } from '@wordpress/data';
5
+ import { useMemo } from '@wordpress/element';
6
+ import { store as coreStore } from '@wordpress/core-data';
7
+
8
+ /**
9
+ * Internal dependencies
10
+ */
11
+ import { store as editSiteStore } from '../../../store';
12
+ export function useEditedPostContext() {
13
+ return useSelect(select => select(editSiteStore).getEditedPostContext(), []);
14
+ }
15
+ export function useIsPostsPage() {
16
+ const {
17
+ postId
18
+ } = useEditedPostContext();
19
+ return useSelect(select => +postId === select(coreStore).getEntityRecord('root', 'site')?.page_for_posts, [postId]);
20
+ }
21
+ function useTemplates() {
22
+ return useSelect(select => select(coreStore).getEntityRecords('postType', 'wp_template', {
23
+ per_page: -1,
24
+ post_type: 'page'
25
+ }), []);
26
+ }
27
+ export function useAvailableTemplates() {
28
+ const currentTemplateSlug = useCurrentTemplateSlug();
29
+ const isPostsPage = useIsPostsPage();
30
+ const templates = useTemplates();
31
+ return useMemo(() =>
32
+ // The posts page template cannot be changed.
33
+ !isPostsPage && templates?.filter(template => template.is_custom && template.slug !== currentTemplateSlug && !!template.content.raw // Skip empty templates.
34
+ ), [templates, currentTemplateSlug, isPostsPage]);
35
+ }
36
+ export function useCurrentTemplateSlug() {
37
+ const {
38
+ postType,
39
+ postId
40
+ } = useEditedPostContext();
41
+ const templates = useTemplates();
42
+ const entityTemplate = useSelect(select => {
43
+ const post = select(coreStore).getEditedEntityRecord('postType', postType, postId);
44
+ return post?.template;
45
+ }, [postType, postId]);
46
+ if (!entityTemplate) {
47
+ return;
48
+ }
49
+ // If a page has a `template` set and is not included in the list
50
+ // of the theme's templates, do not return it, in order to resolve
51
+ // to the current theme's default template.
52
+ return templates?.find(template => template.slug === entityTemplate)?.slug;
53
+ }
54
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useSelect","useMemo","store","coreStore","editSiteStore","useEditedPostContext","select","getEditedPostContext","useIsPostsPage","postId","getEntityRecord","page_for_posts","useTemplates","getEntityRecords","per_page","post_type","useAvailableTemplates","currentTemplateSlug","useCurrentTemplateSlug","isPostsPage","templates","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":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,SAASD,KAAK,IAAIE,aAAa,QAAQ,gBAAgB;AAEvD,OAAO,SAASC,oBAAoBA,CAAA,EAAG;EACtC,OAAOL,SAAS,CACbM,MAAM,IAAMA,MAAM,CAAEF,aAAc,CAAC,CAACG,oBAAoB,CAAC,CAAC,EAC5D,EACD,CAAC;AACF;AAEA,OAAO,SAASC,cAAcA,CAAA,EAAG;EAChC,MAAM;IAAEC;EAAO,CAAC,GAAGJ,oBAAoB,CAAC,CAAC;EACzC,OAAOL,SAAS,CACbM,MAAM,IACP,CAACG,MAAM,KACPH,MAAM,CAAEH,SAAU,CAAC,CAACO,eAAe,CAAE,MAAM,EAAE,MAAO,CAAC,EAClDC,cAAc,EAClB,CAAEF,MAAM,CACT,CAAC;AACF;AAEA,SAASG,YAAYA,CAAA,EAAG;EACvB,OAAOZ,SAAS,CACbM,MAAM,IACPA,MAAM,CAAEH,SAAU,CAAC,CAACU,gBAAgB,CAAE,UAAU,EAAE,aAAa,EAAE;IAChEC,QAAQ,EAAE,CAAC,CAAC;IACZC,SAAS,EAAE;EACZ,CAAE,CAAC,EACJ,EACD,CAAC;AACF;AAEA,OAAO,SAASC,qBAAqBA,CAAA,EAAG;EACvC,MAAMC,mBAAmB,GAAGC,sBAAsB,CAAC,CAAC;EACpD,MAAMC,WAAW,GAAGX,cAAc,CAAC,CAAC;EACpC,MAAMY,SAAS,GAAGR,YAAY,CAAC,CAAC;EAChC,OAAOX,OAAO,CACb;EACC;EACA,CAAEkB,WAAW,IACbC,SAAS,EAAEC,MAAM,CACdC,QAAQ,IACTA,QAAQ,CAACC,SAAS,IAClBD,QAAQ,CAACE,IAAI,KAAKP,mBAAmB,IACrC,CAAC,CAAEK,QAAQ,CAACG,OAAO,CAACC,GAAG,CAAC;EAC1B,CAAC,EACF,CAAEN,SAAS,EAAEH,mBAAmB,EAAEE,WAAW,CAC9C,CAAC;AACF;AAEA,OAAO,SAASD,sBAAsBA,CAAA,EAAG;EACxC,MAAM;IAAES,QAAQ;IAAElB;EAAO,CAAC,GAAGJ,oBAAoB,CAAC,CAAC;EACnD,MAAMe,SAAS,GAAGR,YAAY,CAAC,CAAC;EAChC,MAAMgB,cAAc,GAAG5B,SAAS,CAC7BM,MAAM,IAAM;IACb,MAAMuB,IAAI,GAAGvB,MAAM,CAAEH,SAAU,CAAC,CAAC2B,qBAAqB,CACrD,UAAU,EACVH,QAAQ,EACRlB,MACD,CAAC;IACD,OAAOoB,IAAI,EAAEP,QAAQ;EACtB,CAAC,EACD,CAAEK,QAAQ,EAAElB,MAAM,CACnB,CAAC;EAED,IAAK,CAAEmB,cAAc,EAAG;IACvB;EACD;EACA;EACA;EACA;EACA,OAAOR,SAAS,EAAEW,IAAI,CAAIT,QAAQ,IAAMA,QAAQ,CAACE,IAAI,KAAKI,cAAe,CAAC,EACvEJ,IAAI;AACR"}
@@ -17,7 +17,6 @@ import { store as editSiteStore } from '../../../store';
17
17
  import SidebarCard from '../sidebar-card';
18
18
  import PageContent from './page-content';
19
19
  import PageSummary from './page-summary';
20
- import EditTemplate from './edit-template';
21
20
  export default function PagePanels() {
22
21
  const {
23
22
  id,
@@ -69,8 +68,6 @@ export default function PagePanels() {
69
68
  postType: type
70
69
  })), createElement(PanelBody, {
71
70
  title: __('Content')
72
- }, createElement(PageContent, null)), createElement(PanelBody, {
73
- title: __('Template')
74
- }, createElement(EditTemplate, null)));
71
+ }, createElement(PageContent, null)));
75
72
  }
76
73
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["PanelBody","__experimentalText","Text","__experimentalVStack","VStack","page","pageIcon","__","sprintf","humanTimeDiff","useSelect","store","coreStore","decodeEntities","editSiteStore","SidebarCard","PageContent","PageSummary","EditTemplate","PagePanels","id","type","hasResolved","status","date","password","title","modified","select","getEditedPostContext","getEditedEntityRecord","hasFinishedResolution","context","queryArgs","postType","postId","createElement","Fragment","icon","description"],"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":["PanelBody","__experimentalText","Text","__experimentalVStack","VStack","page","pageIcon","__","sprintf","humanTimeDiff","useSelect","store","coreStore","decodeEntities","editSiteStore","SidebarCard","PageContent","PageSummary","PagePanels","id","type","hasResolved","status","date","password","title","modified","select","getEditedPostContext","getEditedEntityRecord","hasFinishedResolution","context","queryArgs","postType","postId","createElement","Fragment","icon","description"],"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":";AAAA;AACA;AACA;AACA,SACCA,SAAS,EACTC,kBAAkB,IAAIC,IAAI,EAC1BC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAC9B,SAASC,IAAI,IAAIC,QAAQ,QAAQ,kBAAkB;AACnD,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,cAAc,QAAQ,0BAA0B;;AAEzD;AACA;AACA;AACA,SAASF,KAAK,IAAIG,aAAa,QAAQ,gBAAgB;AACvD,OAAOC,WAAW,MAAM,iBAAiB;AACzC,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,WAAW,MAAM,gBAAgB;AAExC,eAAe,SAASC,UAAUA,CAAA,EAAG;EACpC,MAAM;IAAEC,EAAE;IAAEC,IAAI;IAAEC,WAAW;IAAEC,MAAM;IAAEC,IAAI;IAAEC,QAAQ;IAAEC,KAAK;IAAEC;EAAS,CAAC,GACvEhB,SAAS,CAAIiB,MAAM,IAAM;IACxB,MAAM;MAAEC;IAAqB,CAAC,GAAGD,MAAM,CAAEb,aAAc,CAAC;IACxD,MAAM;MAAEe,qBAAqB;MAAEC;IAAsB,CAAC,GACrDH,MAAM,CAAEf,SAAU,CAAC;IACpB,MAAMmB,OAAO,GAAGH,oBAAoB,CAAC,CAAC;IACtC,MAAMI,SAAS,GAAG,CAAE,UAAU,EAAED,OAAO,CAACE,QAAQ,EAAEF,OAAO,CAACG,MAAM,CAAE;IAClE,MAAM7B,IAAI,GAAGwB,qBAAqB,CAAE,GAAGG,SAAU,CAAC;IAClD,OAAO;MACNX,WAAW,EAAES,qBAAqB,CACjC,uBAAuB,EACvBE,SACD,CAAC;MACDP,KAAK,EAAEpB,IAAI,EAAEoB,KAAK;MAClBN,EAAE,EAAEd,IAAI,EAAEc,EAAE;MACZC,IAAI,EAAEf,IAAI,EAAEe,IAAI;MAChBE,MAAM,EAAEjB,IAAI,EAAEiB,MAAM;MACpBC,IAAI,EAAElB,IAAI,EAAEkB,IAAI;MAChBC,QAAQ,EAAEnB,IAAI,EAAEmB,QAAQ;MACxBE,QAAQ,EAAErB,IAAI,EAAEqB;IACjB,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAER,IAAK,CAAEL,WAAW,EAAG;IACpB,OAAO,IAAI;EACZ;EAEA,OACCc,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACnC,SAAS,QACTmC,aAAA,CAACpB,WAAW;IACXU,KAAK,EAAGZ,cAAc,CAAEY,KAAM,CAAG;IACjCY,IAAI,EAAG/B,QAAU;IACjBgC,WAAW,EACVH,aAAA,CAAC/B,MAAM,QACN+B,aAAA,CAACjC,IAAI,QACFM,OAAO;IACR;IACAD,EAAE,CAAE,gBAAiB,CAAC,EACtBE,aAAa,CAAEiB,QAAS,CACzB,CACK,CACC;EACR,CACD,CACS,CAAC,EACZS,aAAA,CAACnC,SAAS;IAACyB,KAAK,EAAGlB,EAAE,CAAE,SAAU;EAAG,GACnC4B,aAAA,CAAClB,WAAW;IACXK,MAAM,EAAGA,MAAQ;IACjBC,IAAI,EAAGA,IAAM;IACbC,QAAQ,EAAGA,QAAU;IACrBU,MAAM,EAAGf,EAAI;IACbc,QAAQ,EAAGb;EAAM,CACjB,CACS,CAAC,EACZe,aAAA,CAACnC,SAAS;IAACyB,KAAK,EAAGlB,EAAE,CAAE,SAAU;EAAG,GACnC4B,aAAA,CAACnB,WAAW,MAAE,CACJ,CACV,CAAC;AAEL"}
@@ -8,6 +8,7 @@ import { __experimentalVStack as VStack } from '@wordpress/components';
8
8
  */
9
9
  import PageStatus from './page-status';
10
10
  import PublishDate from './publish-date';
11
+ import EditTemplate from './edit-template';
11
12
  export default function PageSummary({
12
13
  status,
13
14
  date,
@@ -26,6 +27,6 @@ export default function PageSummary({
26
27
  date: date,
27
28
  postId: postId,
28
29
  postType: postType
29
- }));
30
+ }), createElement(EditTemplate, null));
30
31
  }
31
32
  //# sourceMappingURL=page-summary.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__experimentalVStack","VStack","PageStatus","PublishDate","PageSummary","status","date","password","postId","postType","createElement"],"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":";AAAA;AACA;AACA;AACA,SAASA,oBAAoB,IAAIC,MAAM,QAAQ,uBAAuB;AACtE;AACA;AACA;AACA,OAAOC,UAAU,MAAM,eAAe;AACtC,OAAOC,WAAW,MAAM,gBAAgB;AAExC,eAAe,SAASC,WAAWA,CAAE;EACpCC,MAAM;EACNC,IAAI;EACJC,QAAQ;EACRC,MAAM;EACNC;AACD,CAAC,EAAG;EACH,OACCC,aAAA,CAACT,MAAM,QACNS,aAAA,CAACR,UAAU;IACVG,MAAM,EAAGA,MAAQ;IACjBC,IAAI,EAAGA,IAAM;IACbC,QAAQ,EAAGA,QAAU;IACrBC,MAAM,EAAGA,MAAQ;IACjBC,QAAQ,EAAGA;EAAU,CACrB,CAAC,EACFC,aAAA,CAACP,WAAW;IACXE,MAAM,EAAGA,MAAQ;IACjBC,IAAI,EAAGA,IAAM;IACbE,MAAM,EAAGA,MAAQ;IACjBC,QAAQ,EAAGA;EAAU,CACrB,CACM,CAAC;AAEX"}
1
+ {"version":3,"names":["__experimentalVStack","VStack","PageStatus","PublishDate","EditTemplate","PageSummary","status","date","password","postId","postType","createElement"],"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":";AAAA;AACA;AACA;AACA,SAASA,oBAAoB,IAAIC,MAAM,QAAQ,uBAAuB;AACtE;AACA;AACA;AACA,OAAOC,UAAU,MAAM,eAAe;AACtC,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,YAAY,MAAM,iBAAiB;AAE1C,eAAe,SAASC,WAAWA,CAAE;EACpCC,MAAM;EACNC,IAAI;EACJC,QAAQ;EACRC,MAAM;EACNC;AACD,CAAC,EAAG;EACH,OACCC,aAAA,CAACV,MAAM,QACNU,aAAA,CAACT,UAAU;IACVI,MAAM,EAAGA,MAAQ;IACjBC,IAAI,EAAGA,IAAM;IACbC,QAAQ,EAAGA,QAAU;IACrBC,MAAM,EAAGA,MAAQ;IACjBC,QAAQ,EAAGA;EAAU,CACrB,CAAC,EACFC,aAAA,CAACR,WAAW;IACXG,MAAM,EAAGA,MAAQ;IACjBC,IAAI,EAAGA,IAAM;IACbE,MAAM,EAAGA,MAAQ;IACjBC,QAAQ,EAAGA;EAAU,CACrB,CAAC,EACFC,aAAA,CAACP,YAAY,MAAE,CACR,CAAC;AAEX"}
@@ -0,0 +1,49 @@
1
+ import { createElement } from "@wordpress/element";
2
+ /**
3
+ * WordPress dependencies
4
+ */
5
+ import { useDispatch } from '@wordpress/data';
6
+ import { MenuGroup, MenuItem } from '@wordpress/components';
7
+ import { __ } from '@wordpress/i18n';
8
+ import { useEntityRecord } from '@wordpress/core-data';
9
+
10
+ /**
11
+ * Internal dependencies
12
+ */
13
+ import { useCurrentTemplateSlug, useEditedPostContext, useIsPostsPage } from './hooks';
14
+ import { store as editSiteStore } from '../../../store';
15
+ export default function ResetDefaultTemplate({
16
+ onClick
17
+ }) {
18
+ const currentTemplateSlug = useCurrentTemplateSlug();
19
+ const isPostsPage = useIsPostsPage();
20
+ const {
21
+ postType,
22
+ postId
23
+ } = useEditedPostContext();
24
+ const entity = useEntityRecord('postType', postType, postId);
25
+ const {
26
+ setPage
27
+ } = useDispatch(editSiteStore);
28
+ // The default template in a post is indicated by an empty string.
29
+ if (!currentTemplateSlug || isPostsPage) {
30
+ return null;
31
+ }
32
+ return createElement(MenuGroup, null, createElement(MenuItem, {
33
+ onClick: async () => {
34
+ entity.edit({
35
+ template: ''
36
+ }, {
37
+ undoIgnore: true
38
+ });
39
+ onClick();
40
+ await setPage({
41
+ context: {
42
+ postType,
43
+ postId
44
+ }
45
+ });
46
+ }
47
+ }, __('Reset')));
48
+ }
49
+ //# sourceMappingURL=reset-default-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useDispatch","MenuGroup","MenuItem","__","useEntityRecord","useCurrentTemplateSlug","useEditedPostContext","useIsPostsPage","store","editSiteStore","ResetDefaultTemplate","onClick","currentTemplateSlug","isPostsPage","postType","postId","entity","setPage","createElement","edit","template","undoIgnore","context"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/reset-default-template.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecord } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseCurrentTemplateSlug,\n\tuseEditedPostContext,\n\tuseIsPostsPage,\n} from './hooks';\nimport { store as editSiteStore } from '../../../store';\n\nexport default function ResetDefaultTemplate( { onClick } ) {\n\tconst currentTemplateSlug = useCurrentTemplateSlug();\n\tconst isPostsPage = useIsPostsPage();\n\tconst { postType, postId } = useEditedPostContext();\n\tconst entity = useEntityRecord( 'postType', postType, postId );\n\tconst { setPage } = useDispatch( editSiteStore );\n\t// The default template in a post is indicated by an empty string.\n\tif ( ! currentTemplateSlug || isPostsPage ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<MenuGroup>\n\t\t\t<MenuItem\n\t\t\t\tonClick={ async () => {\n\t\t\t\t\tentity.edit( { template: '' }, { undoIgnore: true } );\n\t\t\t\t\tonClick();\n\t\t\t\t\tawait setPage( {\n\t\t\t\t\t\tcontext: { postType, postId },\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ __( 'Reset' ) }\n\t\t\t</MenuItem>\n\t\t</MenuGroup>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,SAAS,EAAEC,QAAQ,QAAQ,uBAAuB;AAC3D,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,eAAe,QAAQ,sBAAsB;;AAEtD;AACA;AACA;AACA,SACCC,sBAAsB,EACtBC,oBAAoB,EACpBC,cAAc,QACR,SAAS;AAChB,SAASC,KAAK,IAAIC,aAAa,QAAQ,gBAAgB;AAEvD,eAAe,SAASC,oBAAoBA,CAAE;EAAEC;AAAQ,CAAC,EAAG;EAC3D,MAAMC,mBAAmB,GAAGP,sBAAsB,CAAC,CAAC;EACpD,MAAMQ,WAAW,GAAGN,cAAc,CAAC,CAAC;EACpC,MAAM;IAAEO,QAAQ;IAAEC;EAAO,CAAC,GAAGT,oBAAoB,CAAC,CAAC;EACnD,MAAMU,MAAM,GAAGZ,eAAe,CAAE,UAAU,EAAEU,QAAQ,EAAEC,MAAO,CAAC;EAC9D,MAAM;IAAEE;EAAQ,CAAC,GAAGjB,WAAW,CAAES,aAAc,CAAC;EAChD;EACA,IAAK,CAAEG,mBAAmB,IAAIC,WAAW,EAAG;IAC3C,OAAO,IAAI;EACZ;EACA,OACCK,aAAA,CAACjB,SAAS,QACTiB,aAAA,CAAChB,QAAQ;IACRS,OAAO,EAAG,MAAAA,CAAA,KAAY;MACrBK,MAAM,CAACG,IAAI,CAAE;QAAEC,QAAQ,EAAE;MAAG,CAAC,EAAE;QAAEC,UAAU,EAAE;MAAK,CAAE,CAAC;MACrDV,OAAO,CAAC,CAAC;MACT,MAAMM,OAAO,CAAE;QACdK,OAAO,EAAE;UAAER,QAAQ;UAAEC;QAAO;MAC7B,CAAE,CAAC;IACJ;EAAG,GAEDZ,EAAE,CAAE,OAAQ,CACL,CACA,CAAC;AAEd"}
@@ -0,0 +1,85 @@
1
+ import { createElement, Fragment } from "@wordpress/element";
2
+ /**
3
+ * WordPress dependencies
4
+ */
5
+ import { useDispatch } from '@wordpress/data';
6
+ import { useMemo, useState, useCallback } from '@wordpress/element';
7
+ import { decodeEntities } from '@wordpress/html-entities';
8
+ import { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';
9
+ import { MenuItem, Modal } from '@wordpress/components';
10
+ import { __ } from '@wordpress/i18n';
11
+ import { useEntityRecord } from '@wordpress/core-data';
12
+ import { parse } from '@wordpress/blocks';
13
+ import { useAsyncList } from '@wordpress/compose';
14
+
15
+ /**
16
+ * Internal dependencies
17
+ */
18
+ import { store as editSiteStore } from '../../../store';
19
+ import { useAvailableTemplates, useEditedPostContext } from './hooks';
20
+ export default function SwapTemplateButton({
21
+ onClick
22
+ }) {
23
+ const [showModal, setShowModal] = useState(false);
24
+ const availableTemplates = useAvailableTemplates();
25
+ const onClose = useCallback(() => {
26
+ setShowModal(false);
27
+ }, []);
28
+ const {
29
+ postType,
30
+ postId
31
+ } = useEditedPostContext();
32
+ const entitiy = useEntityRecord('postType', postType, postId);
33
+ const {
34
+ setPage
35
+ } = useDispatch(editSiteStore);
36
+ if (!availableTemplates?.length) {
37
+ return null;
38
+ }
39
+ const onTemplateSelect = async template => {
40
+ entitiy.edit({
41
+ template: template.name
42
+ }, {
43
+ undoIgnore: true
44
+ });
45
+ await setPage({
46
+ context: {
47
+ postType,
48
+ postId
49
+ }
50
+ });
51
+ onClose(); // Close the template suggestions modal first.
52
+ onClick();
53
+ };
54
+ return createElement(Fragment, null, createElement(MenuItem, {
55
+ onClick: () => setShowModal(true)
56
+ }, __('Swap template')), showModal && createElement(Modal, {
57
+ title: __('Choose a template'),
58
+ onRequestClose: onClose,
59
+ overlayClassName: "edit-site-swap-template-modal",
60
+ isFullScreen: true
61
+ }, createElement("div", {
62
+ className: "edit-site-page-panels__swap-template__modal-content"
63
+ }, createElement(TemplatesList, {
64
+ onSelect: onTemplateSelect
65
+ }))));
66
+ }
67
+ function TemplatesList({
68
+ onSelect
69
+ }) {
70
+ const availableTemplates = useAvailableTemplates();
71
+ const templatesAsPatterns = useMemo(() => availableTemplates.map(template => ({
72
+ name: template.slug,
73
+ blocks: parse(template.content.raw),
74
+ title: decodeEntities(template.title.rendered),
75
+ id: template.id
76
+ })), [availableTemplates]);
77
+ const shownTemplates = useAsyncList(templatesAsPatterns);
78
+ return createElement(BlockPatternsList, {
79
+ label: __('Templates'),
80
+ blockPatterns: templatesAsPatterns,
81
+ shownPatterns: shownTemplates,
82
+ onClickPattern: onSelect
83
+ });
84
+ }
85
+ //# sourceMappingURL=swap-template-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useDispatch","useMemo","useState","useCallback","decodeEntities","__experimentalBlockPatternsList","BlockPatternsList","MenuItem","Modal","__","useEntityRecord","parse","useAsyncList","store","editSiteStore","useAvailableTemplates","useEditedPostContext","SwapTemplateButton","onClick","showModal","setShowModal","availableTemplates","onClose","postType","postId","entitiy","setPage","length","onTemplateSelect","template","edit","name","undoIgnore","context","createElement","Fragment","title","onRequestClose","overlayClassName","isFullScreen","className","TemplatesList","onSelect","templatesAsPatterns","map","slug","blocks","content","raw","rendered","id","shownTemplates","label","blockPatterns","shownPatterns","onClickPattern"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/swap-template-button.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { useMemo, useState, useCallback } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';\nimport { MenuItem, Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecord } from '@wordpress/core-data';\nimport { parse } from '@wordpress/blocks';\nimport { useAsyncList } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport { useAvailableTemplates, useEditedPostContext } from './hooks';\n\nexport default function SwapTemplateButton( { onClick } ) {\n\tconst [ showModal, setShowModal ] = useState( false );\n\tconst availableTemplates = useAvailableTemplates();\n\tconst onClose = useCallback( () => {\n\t\tsetShowModal( false );\n\t}, [] );\n\tconst { postType, postId } = useEditedPostContext();\n\tconst entitiy = useEntityRecord( 'postType', postType, postId );\n\tconst { setPage } = useDispatch( editSiteStore );\n\tif ( ! availableTemplates?.length ) {\n\t\treturn null;\n\t}\n\tconst onTemplateSelect = async ( template ) => {\n\t\tentitiy.edit( { template: template.name }, { undoIgnore: true } );\n\t\tawait setPage( {\n\t\t\tcontext: { postType, postId },\n\t\t} );\n\t\tonClose(); // Close the template suggestions modal first.\n\t\tonClick();\n\t};\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={ () => setShowModal( true ) }>\n\t\t\t\t{ __( 'Swap template' ) }\n\t\t\t</MenuItem>\n\t\t\t{ showModal && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Choose a template' ) }\n\t\t\t\t\tonRequestClose={ onClose }\n\t\t\t\t\toverlayClassName=\"edit-site-swap-template-modal\"\n\t\t\t\t\tisFullScreen\n\t\t\t\t>\n\t\t\t\t\t<div className=\"edit-site-page-panels__swap-template__modal-content\">\n\t\t\t\t\t\t<TemplatesList onSelect={ onTemplateSelect } />\n\t\t\t\t\t</div>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction TemplatesList( { onSelect } ) {\n\tconst availableTemplates = useAvailableTemplates();\n\tconst templatesAsPatterns = useMemo(\n\t\t() =>\n\t\t\tavailableTemplates.map( ( template ) => ( {\n\t\t\t\tname: template.slug,\n\t\t\t\tblocks: parse( template.content.raw ),\n\t\t\t\ttitle: decodeEntities( template.title.rendered ),\n\t\t\t\tid: template.id,\n\t\t\t} ) ),\n\t\t[ availableTemplates ]\n\t);\n\tconst shownTemplates = useAsyncList( templatesAsPatterns );\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tlabel={ __( 'Templates' ) }\n\t\t\tblockPatterns={ templatesAsPatterns }\n\t\t\tshownPatterns={ shownTemplates }\n\t\t\tonClickPattern={ onSelect }\n\t\t/>\n\t);\n}\n"],"mappings":"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"}
@@ -3,11 +3,10 @@ import { createElement } from "@wordpress/element";
3
3
  * WordPress dependencies
4
4
  */
5
5
  import { useSelect } from '@wordpress/data';
6
- import { PanelRow, PanelBody } from '@wordpress/components';
6
+ import { PanelBody } from '@wordpress/components';
7
7
  import { store as editorStore } from '@wordpress/editor';
8
8
  import { store as coreStore } from '@wordpress/core-data';
9
9
  import { decodeEntities } from '@wordpress/html-entities';
10
- import { __ } from '@wordpress/i18n';
11
10
  import { navigation, symbol } from '@wordpress/icons';
12
11
 
13
12
  /**
@@ -18,6 +17,8 @@ import TemplateActions from './template-actions';
18
17
  import TemplateAreas from './template-areas';
19
18
  import LastRevision from './last-revision';
20
19
  import SidebarCard from '../sidebar-card';
20
+ import PatternCategories from './pattern-categories';
21
+ import { PATTERN_TYPES } from '../../../utils/constants';
21
22
  const CARD_ICONS = {
22
23
  wp_block: symbol,
23
24
  wp_navigation: navigation
@@ -28,7 +29,8 @@ export default function TemplatePanel() {
28
29
  title,
29
30
  description,
30
31
  icon,
31
- record
32
+ record,
33
+ postType
32
34
  } = useSelect(select => {
33
35
  const {
34
36
  getEditedPostType,
@@ -40,15 +42,16 @@ export default function TemplatePanel() {
40
42
  const {
41
43
  __experimentalGetTemplateInfo: getTemplateInfo
42
44
  } = select(editorStore);
43
- const postType = getEditedPostType();
45
+ const type = getEditedPostType();
44
46
  const postId = getEditedPostId();
45
- const _record = getEditedEntityRecord('postType', postType, postId);
47
+ const _record = getEditedEntityRecord('postType', type, postId);
46
48
  const info = getTemplateInfo(_record);
47
49
  return {
48
50
  title: info.title,
49
51
  description: info.description,
50
52
  icon: info.icon,
51
- record: _record
53
+ record: _record,
54
+ postType: type
52
55
  };
53
56
  }, []);
54
57
  if (!title && !description) {
@@ -64,9 +67,8 @@ export default function TemplatePanel() {
64
67
  actions: createElement(TemplateActions, {
65
68
  template: record
66
69
  })
67
- }, createElement(TemplateAreas, null)), createElement(PanelRow, {
68
- header: __('Editing history'),
69
- className: "edit-site-template-revisions"
70
- }, createElement(LastRevision, null)));
70
+ }, createElement(TemplateAreas, null)), createElement(LastRevision, null), postType === PATTERN_TYPES.user && createElement(PatternCategories, {
71
+ post: record
72
+ }));
71
73
  }
72
74
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","PanelRow","PanelBody","store","editorStore","coreStore","decodeEntities","__","navigation","symbol","editSiteStore","TemplateActions","TemplateAreas","LastRevision","SidebarCard","CARD_ICONS","wp_block","wp_navigation","TemplatePanel","_CARD_ICONS$record$ty","title","description","icon","record","select","getEditedPostType","getEditedPostId","getEditedEntityRecord","__experimentalGetTemplateInfo","getTemplateInfo","postType","postId","_record","info","createElement","className","type","actions","template","header"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/template-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { PanelRow, PanelBody } from '@wordpress/components';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __ } from '@wordpress/i18n';\nimport { navigation, symbol } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport TemplateActions from './template-actions';\nimport TemplateAreas from './template-areas';\nimport LastRevision from './last-revision';\nimport SidebarCard from '../sidebar-card';\n\nconst CARD_ICONS = {\n\twp_block: symbol,\n\twp_navigation: navigation,\n};\n\nexport default function TemplatePanel() {\n\tconst { title, description, icon, record } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, getEditedPostId } = select( editSiteStore );\n\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\tconst { __experimentalGetTemplateInfo: getTemplateInfo } =\n\t\t\tselect( editorStore );\n\n\t\tconst postType = getEditedPostType();\n\t\tconst postId = getEditedPostId();\n\t\tconst _record = getEditedEntityRecord( 'postType', postType, postId );\n\t\tconst info = getTemplateInfo( _record );\n\n\t\treturn {\n\t\t\ttitle: info.title,\n\t\t\tdescription: info.description,\n\t\t\ticon: info.icon,\n\t\t\trecord: _record,\n\t\t};\n\t}, [] );\n\n\tif ( ! title && ! description ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody className=\"edit-site-template-panel\">\n\t\t\t<SidebarCard\n\t\t\t\tclassName=\"edit-site-template-card\"\n\t\t\t\ttitle={ decodeEntities( title ) }\n\t\t\t\ticon={ CARD_ICONS[ record?.type ] ?? icon }\n\t\t\t\tdescription={ decodeEntities( description ) }\n\t\t\t\tactions={ <TemplateActions template={ record } /> }\n\t\t\t>\n\t\t\t\t<TemplateAreas />\n\t\t\t</SidebarCard>\n\t\t\t<PanelRow\n\t\t\t\theader={ __( 'Editing history' ) }\n\t\t\t\tclassName=\"edit-site-template-revisions\"\n\t\t\t>\n\t\t\t\t<LastRevision />\n\t\t\t</PanelRow>\n\t\t</PanelBody>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,QAAQ,EAAEC,SAAS,QAAQ,uBAAuB;AAC3D,SAASC,KAAK,IAAIC,WAAW,QAAQ,mBAAmB;AACxD,SAASD,KAAK,IAAIE,SAAS,QAAQ,sBAAsB;AACzD,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,UAAU,EAAEC,MAAM,QAAQ,kBAAkB;;AAErD;AACA;AACA;AACA,SAASN,KAAK,IAAIO,aAAa,QAAQ,gBAAgB;AACvD,OAAOC,eAAe,MAAM,oBAAoB;AAChD,OAAOC,aAAa,MAAM,kBAAkB;AAC5C,OAAOC,YAAY,MAAM,iBAAiB;AAC1C,OAAOC,WAAW,MAAM,iBAAiB;AAEzC,MAAMC,UAAU,GAAG;EAClBC,QAAQ,EAAEP,MAAM;EAChBQ,aAAa,EAAET;AAChB,CAAC;AAED,eAAe,SAASU,aAAaA,CAAA,EAAG;EAAA,IAAAC,qBAAA;EACvC,MAAM;IAAEC,KAAK;IAAEC,WAAW;IAAEC,IAAI;IAAEC;EAAO,CAAC,GAAGvB,SAAS,CAAIwB,MAAM,IAAM;IACrE,MAAM;MAAEC,iBAAiB;MAAEC;IAAgB,CAAC,GAAGF,MAAM,CAAEd,aAAc,CAAC;IACtE,MAAM;MAAEiB;IAAsB,CAAC,GAAGH,MAAM,CAAEnB,SAAU,CAAC;IACrD,MAAM;MAAEuB,6BAA6B,EAAEC;IAAgB,CAAC,GACvDL,MAAM,CAAEpB,WAAY,CAAC;IAEtB,MAAM0B,QAAQ,GAAGL,iBAAiB,CAAC,CAAC;IACpC,MAAMM,MAAM,GAAGL,eAAe,CAAC,CAAC;IAChC,MAAMM,OAAO,GAAGL,qBAAqB,CAAE,UAAU,EAAEG,QAAQ,EAAEC,MAAO,CAAC;IACrE,MAAME,IAAI,GAAGJ,eAAe,CAAEG,OAAQ,CAAC;IAEvC,OAAO;MACNZ,KAAK,EAAEa,IAAI,CAACb,KAAK;MACjBC,WAAW,EAAEY,IAAI,CAACZ,WAAW;MAC7BC,IAAI,EAAEW,IAAI,CAACX,IAAI;MACfC,MAAM,EAAES;IACT,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAEZ,KAAK,IAAI,CAAEC,WAAW,EAAG;IAC/B,OAAO,IAAI;EACZ;EAEA,OACCa,aAAA,CAAChC,SAAS;IAACiC,SAAS,EAAC;EAA0B,GAC9CD,aAAA,CAACpB,WAAW;IACXqB,SAAS,EAAC,yBAAyB;IACnCf,KAAK,EAAGd,cAAc,CAAEc,KAAM,CAAG;IACjCE,IAAI,GAAAH,qBAAA,GAAGJ,UAAU,CAAEQ,MAAM,EAAEa,IAAI,CAAE,cAAAjB,qBAAA,cAAAA,qBAAA,GAAIG,IAAM;IAC3CD,WAAW,EAAGf,cAAc,CAAEe,WAAY,CAAG;IAC7CgB,OAAO,EAAGH,aAAA,CAACvB,eAAe;MAAC2B,QAAQ,EAAGf;IAAQ,CAAE;EAAG,GAEnDW,aAAA,CAACtB,aAAa,MAAE,CACJ,CAAC,EACdsB,aAAA,CAACjC,QAAQ;IACRsC,MAAM,EAAGhC,EAAE,CAAE,iBAAkB,CAAG;IAClC4B,SAAS,EAAC;EAA8B,GAExCD,aAAA,CAACrB,YAAY,MAAE,CACN,CACA,CAAC;AAEd"}
1
+ {"version":3,"names":["useSelect","PanelBody","store","editorStore","coreStore","decodeEntities","navigation","symbol","editSiteStore","TemplateActions","TemplateAreas","LastRevision","SidebarCard","PatternCategories","PATTERN_TYPES","CARD_ICONS","wp_block","wp_navigation","TemplatePanel","_CARD_ICONS$record$ty","title","description","icon","record","postType","select","getEditedPostType","getEditedPostId","getEditedEntityRecord","__experimentalGetTemplateInfo","getTemplateInfo","type","postId","_record","info","createElement","className","actions","template","user","post"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/template-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { PanelBody } from '@wordpress/components';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { navigation, symbol } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport TemplateActions from './template-actions';\nimport TemplateAreas from './template-areas';\nimport LastRevision from './last-revision';\nimport SidebarCard from '../sidebar-card';\nimport PatternCategories from './pattern-categories';\nimport { PATTERN_TYPES } from '../../../utils/constants';\n\nconst CARD_ICONS = {\n\twp_block: symbol,\n\twp_navigation: navigation,\n};\n\nexport default function TemplatePanel() {\n\tconst { title, description, icon, record, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedPostType, getEditedPostId } =\n\t\t\t\tselect( editSiteStore );\n\t\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\t\tconst { __experimentalGetTemplateInfo: getTemplateInfo } =\n\t\t\t\tselect( editorStore );\n\n\t\t\tconst type = getEditedPostType();\n\t\t\tconst postId = getEditedPostId();\n\t\t\tconst _record = getEditedEntityRecord( 'postType', type, postId );\n\t\t\tconst info = getTemplateInfo( _record );\n\n\t\t\treturn {\n\t\t\t\ttitle: info.title,\n\t\t\t\tdescription: info.description,\n\t\t\t\ticon: info.icon,\n\t\t\t\trecord: _record,\n\t\t\t\tpostType: type,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tif ( ! title && ! description ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody className=\"edit-site-template-panel\">\n\t\t\t<SidebarCard\n\t\t\t\tclassName=\"edit-site-template-card\"\n\t\t\t\ttitle={ decodeEntities( title ) }\n\t\t\t\ticon={ CARD_ICONS[ record?.type ] ?? icon }\n\t\t\t\tdescription={ decodeEntities( description ) }\n\t\t\t\tactions={ <TemplateActions template={ record } /> }\n\t\t\t>\n\t\t\t\t<TemplateAreas />\n\t\t\t</SidebarCard>\n\t\t\t<LastRevision />\n\t\t\t{ postType === PATTERN_TYPES.user && (\n\t\t\t\t<PatternCategories post={ record } />\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,SAAS,QAAQ,uBAAuB;AACjD,SAASC,KAAK,IAAIC,WAAW,QAAQ,mBAAmB;AACxD,SAASD,KAAK,IAAIE,SAAS,QAAQ,sBAAsB;AACzD,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,UAAU,EAAEC,MAAM,QAAQ,kBAAkB;;AAErD;AACA;AACA;AACA,SAASL,KAAK,IAAIM,aAAa,QAAQ,gBAAgB;AACvD,OAAOC,eAAe,MAAM,oBAAoB;AAChD,OAAOC,aAAa,MAAM,kBAAkB;AAC5C,OAAOC,YAAY,MAAM,iBAAiB;AAC1C,OAAOC,WAAW,MAAM,iBAAiB;AACzC,OAAOC,iBAAiB,MAAM,sBAAsB;AACpD,SAASC,aAAa,QAAQ,0BAA0B;AAExD,MAAMC,UAAU,GAAG;EAClBC,QAAQ,EAAET,MAAM;EAChBU,aAAa,EAAEX;AAChB,CAAC;AAED,eAAe,SAASY,aAAaA,CAAA,EAAG;EAAA,IAAAC,qBAAA;EACvC,MAAM;IAAEC,KAAK;IAAEC,WAAW;IAAEC,IAAI;IAAEC,MAAM;IAAEC;EAAS,CAAC,GAAGxB,SAAS,CAC7DyB,MAAM,IAAM;IACb,MAAM;MAAEC,iBAAiB;MAAEC;IAAgB,CAAC,GAC3CF,MAAM,CAAEjB,aAAc,CAAC;IACxB,MAAM;MAAEoB;IAAsB,CAAC,GAAGH,MAAM,CAAErB,SAAU,CAAC;IACrD,MAAM;MAAEyB,6BAA6B,EAAEC;IAAgB,CAAC,GACvDL,MAAM,CAAEtB,WAAY,CAAC;IAEtB,MAAM4B,IAAI,GAAGL,iBAAiB,CAAC,CAAC;IAChC,MAAMM,MAAM,GAAGL,eAAe,CAAC,CAAC;IAChC,MAAMM,OAAO,GAAGL,qBAAqB,CAAE,UAAU,EAAEG,IAAI,EAAEC,MAAO,CAAC;IACjE,MAAME,IAAI,GAAGJ,eAAe,CAAEG,OAAQ,CAAC;IAEvC,OAAO;MACNb,KAAK,EAAEc,IAAI,CAACd,KAAK;MACjBC,WAAW,EAAEa,IAAI,CAACb,WAAW;MAC7BC,IAAI,EAAEY,IAAI,CAACZ,IAAI;MACfC,MAAM,EAAEU,OAAO;MACfT,QAAQ,EAAEO;IACX,CAAC;EACF,CAAC,EACD,EACD,CAAC;EAED,IAAK,CAAEX,KAAK,IAAI,CAAEC,WAAW,EAAG;IAC/B,OAAO,IAAI;EACZ;EAEA,OACCc,aAAA,CAAClC,SAAS;IAACmC,SAAS,EAAC;EAA0B,GAC9CD,aAAA,CAACvB,WAAW;IACXwB,SAAS,EAAC,yBAAyB;IACnChB,KAAK,EAAGf,cAAc,CAAEe,KAAM,CAAG;IACjCE,IAAI,GAAAH,qBAAA,GAAGJ,UAAU,CAAEQ,MAAM,EAAEQ,IAAI,CAAE,cAAAZ,qBAAA,cAAAA,qBAAA,GAAIG,IAAM;IAC3CD,WAAW,EAAGhB,cAAc,CAAEgB,WAAY,CAAG;IAC7CgB,OAAO,EAAGF,aAAA,CAAC1B,eAAe;MAAC6B,QAAQ,EAAGf;IAAQ,CAAE;EAAG,GAEnDY,aAAA,CAACzB,aAAa,MAAE,CACJ,CAAC,EACdyB,aAAA,CAACxB,YAAY,MAAE,CAAC,EACda,QAAQ,KAAKV,aAAa,CAACyB,IAAI,IAChCJ,aAAA,CAACtB,iBAAiB;IAAC2B,IAAI,EAAGjB;EAAQ,CAAE,CAE3B,CAAC;AAEd"}
@@ -2,8 +2,8 @@ import { createElement } from "@wordpress/element";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
5
- import { Button } from '@wordpress/components';
6
- import { sprintf, _n } from '@wordpress/i18n';
5
+ import { Button, PanelRow } from '@wordpress/components';
6
+ import { sprintf, _n, __ } from '@wordpress/i18n';
7
7
  import { backup } from '@wordpress/icons';
8
8
  import { addQueryArgs } from '@wordpress/url';
9
9
  import { PostTypeSupportCheck } from '@wordpress/editor';
@@ -44,15 +44,17 @@ const PostLastRevision = () => {
44
44
  lastRevisionId,
45
45
  revisionsCount
46
46
  } = useRevisionData();
47
- return createElement(PostLastRevisionCheck, null, createElement(Button, {
47
+ return createElement(PostLastRevisionCheck, null, createElement(PanelRow, {
48
+ header: __('Editing history'),
49
+ className: "edit-site-template-revisions"
50
+ }, createElement(Button, {
48
51
  href: addQueryArgs('revision.php', {
49
- revision: lastRevisionId,
50
- gutenberg: true
52
+ revision: lastRevisionId
51
53
  }),
52
54
  className: "edit-site-template-last-revision__title",
53
55
  icon: backup
54
56
  }, sprintf( /* translators: %d: number of revisions */
55
- _n('%d Revision', '%d Revisions', revisionsCount), revisionsCount)));
57
+ _n('%d Revision', '%d Revisions', revisionsCount), revisionsCount))));
56
58
  };
57
59
  export default function LastRevision() {
58
60
  return createElement(PostLastRevisionCheck, null, createElement(PostLastRevision, null));
@@ -1 +1 @@
1
- {"version":3,"names":["Button","sprintf","_n","backup","addQueryArgs","PostTypeSupportCheck","useEditedEntityRecord","useRevisionData","_currentTemplate$_lin","_currentTemplate$_lin2","record","currentTemplate","lastRevisionId","_links","id","revisionsCount","count","PostLastRevisionCheck","children","createElement","supportKeys","PostLastRevision","href","revision","gutenberg","className","icon","LastRevision"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/template-panel/last-revision.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { sprintf, _n } from '@wordpress/i18n';\nimport { backup } from '@wordpress/icons';\nimport { addQueryArgs } from '@wordpress/url';\nimport { PostTypeSupportCheck } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport useEditedEntityRecord from '../../use-edited-entity-record';\n\nconst useRevisionData = () => {\n\tconst { record: currentTemplate } = useEditedEntityRecord();\n\n\tconst lastRevisionId =\n\t\tcurrentTemplate?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id ?? null;\n\n\tconst revisionsCount =\n\t\tcurrentTemplate?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0;\n\n\treturn {\n\t\tcurrentTemplate,\n\t\tlastRevisionId,\n\t\trevisionsCount,\n\t};\n};\n\nfunction PostLastRevisionCheck( { children } ) {\n\tconst { lastRevisionId, revisionsCount } = useRevisionData();\n\n\tif ( ! lastRevisionId || revisionsCount < 2 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys=\"revisions\">\n\t\t\t{ children }\n\t\t</PostTypeSupportCheck>\n\t);\n}\n\nconst PostLastRevision = () => {\n\tconst { lastRevisionId, revisionsCount } = useRevisionData();\n\n\treturn (\n\t\t<PostLastRevisionCheck>\n\t\t\t<Button\n\t\t\t\thref={ addQueryArgs( 'revision.php', {\n\t\t\t\t\trevision: lastRevisionId,\n\t\t\t\t\tgutenberg: true,\n\t\t\t\t} ) }\n\t\t\t\tclassName=\"edit-site-template-last-revision__title\"\n\t\t\t\ticon={ backup }\n\t\t\t>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t/* translators: %d: number of revisions */\n\t\t\t\t\t_n( '%d Revision', '%d Revisions', revisionsCount ),\n\t\t\t\t\trevisionsCount\n\t\t\t\t) }\n\t\t\t</Button>\n\t\t</PostLastRevisionCheck>\n\t);\n};\n\nexport default function LastRevision() {\n\treturn (\n\t\t<PostLastRevisionCheck>\n\t\t\t<PostLastRevision />\n\t\t</PostLastRevisionCheck>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,OAAO,EAAEC,EAAE,QAAQ,iBAAiB;AAC7C,SAASC,MAAM,QAAQ,kBAAkB;AACzC,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,oBAAoB,QAAQ,mBAAmB;;AAExD;AACA;AACA;AACA,OAAOC,qBAAqB,MAAM,gCAAgC;AAElE,MAAMC,eAAe,GAAGA,CAAA,KAAM;EAAA,IAAAC,qBAAA,EAAAC,sBAAA;EAC7B,MAAM;IAAEC,MAAM,EAAEC;EAAgB,CAAC,GAAGL,qBAAqB,CAAC,CAAC;EAE3D,MAAMM,cAAc,IAAAJ,qBAAA,GACnBG,eAAe,EAAEE,MAAM,GAAI,qBAAqB,CAAE,GAAI,CAAC,CAAE,EAAEC,EAAE,cAAAN,qBAAA,cAAAA,qBAAA,GAAI,IAAI;EAEtE,MAAMO,cAAc,IAAAN,sBAAA,GACnBE,eAAe,EAAEE,MAAM,GAAI,iBAAiB,CAAE,GAAI,CAAC,CAAE,EAAEG,KAAK,cAAAP,sBAAA,cAAAA,sBAAA,GAAI,CAAC;EAElE,OAAO;IACNE,eAAe;IACfC,cAAc;IACdG;EACD,CAAC;AACF,CAAC;AAED,SAASE,qBAAqBA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAC9C,MAAM;IAAEN,cAAc;IAAEG;EAAe,CAAC,GAAGR,eAAe,CAAC,CAAC;EAE5D,IAAK,CAAEK,cAAc,IAAIG,cAAc,GAAG,CAAC,EAAG;IAC7C,OAAO,IAAI;EACZ;EAEA,OACCI,aAAA,CAACd,oBAAoB;IAACe,WAAW,EAAC;EAAW,GAC1CF,QACmB,CAAC;AAEzB;AAEA,MAAMG,gBAAgB,GAAGA,CAAA,KAAM;EAC9B,MAAM;IAAET,cAAc;IAAEG;EAAe,CAAC,GAAGR,eAAe,CAAC,CAAC;EAE5D,OACCY,aAAA,CAACF,qBAAqB,QACrBE,aAAA,CAACnB,MAAM;IACNsB,IAAI,EAAGlB,YAAY,CAAE,cAAc,EAAE;MACpCmB,QAAQ,EAAEX,cAAc;MACxBY,SAAS,EAAE;IACZ,CAAE,CAAG;IACLC,SAAS,EAAC,yCAAyC;IACnDC,IAAI,EAAGvB;EAAQ,GAEbF,OAAO,EACR;EACAC,EAAE,CAAE,aAAa,EAAE,cAAc,EAAEa,cAAe,CAAC,EACnDA,cACD,CACO,CACc,CAAC;AAE1B,CAAC;AAED,eAAe,SAASY,YAAYA,CAAA,EAAG;EACtC,OACCR,aAAA,CAACF,qBAAqB,QACrBE,aAAA,CAACE,gBAAgB,MAAE,CACG,CAAC;AAE1B"}
1
+ {"version":3,"names":["Button","PanelRow","sprintf","_n","__","backup","addQueryArgs","PostTypeSupportCheck","useEditedEntityRecord","useRevisionData","_currentTemplate$_lin","_currentTemplate$_lin2","record","currentTemplate","lastRevisionId","_links","id","revisionsCount","count","PostLastRevisionCheck","children","createElement","supportKeys","PostLastRevision","header","className","href","revision","icon","LastRevision"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/template-panel/last-revision.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, PanelRow } from '@wordpress/components';\nimport { sprintf, _n, __ } from '@wordpress/i18n';\nimport { backup } from '@wordpress/icons';\nimport { addQueryArgs } from '@wordpress/url';\nimport { PostTypeSupportCheck } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport useEditedEntityRecord from '../../use-edited-entity-record';\n\nconst useRevisionData = () => {\n\tconst { record: currentTemplate } = useEditedEntityRecord();\n\n\tconst lastRevisionId =\n\t\tcurrentTemplate?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id ?? null;\n\n\tconst revisionsCount =\n\t\tcurrentTemplate?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0;\n\n\treturn {\n\t\tcurrentTemplate,\n\t\tlastRevisionId,\n\t\trevisionsCount,\n\t};\n};\n\nfunction PostLastRevisionCheck( { children } ) {\n\tconst { lastRevisionId, revisionsCount } = useRevisionData();\n\n\tif ( ! lastRevisionId || revisionsCount < 2 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys=\"revisions\">\n\t\t\t{ children }\n\t\t</PostTypeSupportCheck>\n\t);\n}\n\nconst PostLastRevision = () => {\n\tconst { lastRevisionId, revisionsCount } = useRevisionData();\n\n\treturn (\n\t\t<PostLastRevisionCheck>\n\t\t\t<PanelRow\n\t\t\t\theader={ __( 'Editing history' ) }\n\t\t\t\tclassName=\"edit-site-template-revisions\"\n\t\t\t>\n\t\t\t\t<Button\n\t\t\t\t\thref={ addQueryArgs( 'revision.php', {\n\t\t\t\t\t\trevision: lastRevisionId,\n\t\t\t\t\t} ) }\n\t\t\t\t\tclassName=\"edit-site-template-last-revision__title\"\n\t\t\t\t\ticon={ backup }\n\t\t\t\t>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %d: number of revisions */\n\t\t\t\t\t\t_n( '%d Revision', '%d Revisions', revisionsCount ),\n\t\t\t\t\t\trevisionsCount\n\t\t\t\t\t) }\n\t\t\t\t</Button>\n\t\t\t</PanelRow>\n\t\t</PostLastRevisionCheck>\n\t);\n};\n\nexport default function LastRevision() {\n\treturn (\n\t\t<PostLastRevisionCheck>\n\t\t\t<PostLastRevision />\n\t\t</PostLastRevisionCheck>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,MAAM,EAAEC,QAAQ,QAAQ,uBAAuB;AACxD,SAASC,OAAO,EAAEC,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AACjD,SAASC,MAAM,QAAQ,kBAAkB;AACzC,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,oBAAoB,QAAQ,mBAAmB;;AAExD;AACA;AACA;AACA,OAAOC,qBAAqB,MAAM,gCAAgC;AAElE,MAAMC,eAAe,GAAGA,CAAA,KAAM;EAAA,IAAAC,qBAAA,EAAAC,sBAAA;EAC7B,MAAM;IAAEC,MAAM,EAAEC;EAAgB,CAAC,GAAGL,qBAAqB,CAAC,CAAC;EAE3D,MAAMM,cAAc,IAAAJ,qBAAA,GACnBG,eAAe,EAAEE,MAAM,GAAI,qBAAqB,CAAE,GAAI,CAAC,CAAE,EAAEC,EAAE,cAAAN,qBAAA,cAAAA,qBAAA,GAAI,IAAI;EAEtE,MAAMO,cAAc,IAAAN,sBAAA,GACnBE,eAAe,EAAEE,MAAM,GAAI,iBAAiB,CAAE,GAAI,CAAC,CAAE,EAAEG,KAAK,cAAAP,sBAAA,cAAAA,sBAAA,GAAI,CAAC;EAElE,OAAO;IACNE,eAAe;IACfC,cAAc;IACdG;EACD,CAAC;AACF,CAAC;AAED,SAASE,qBAAqBA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAC9C,MAAM;IAAEN,cAAc;IAAEG;EAAe,CAAC,GAAGR,eAAe,CAAC,CAAC;EAE5D,IAAK,CAAEK,cAAc,IAAIG,cAAc,GAAG,CAAC,EAAG;IAC7C,OAAO,IAAI;EACZ;EAEA,OACCI,aAAA,CAACd,oBAAoB;IAACe,WAAW,EAAC;EAAW,GAC1CF,QACmB,CAAC;AAEzB;AAEA,MAAMG,gBAAgB,GAAGA,CAAA,KAAM;EAC9B,MAAM;IAAET,cAAc;IAAEG;EAAe,CAAC,GAAGR,eAAe,CAAC,CAAC;EAE5D,OACCY,aAAA,CAACF,qBAAqB,QACrBE,aAAA,CAACpB,QAAQ;IACRuB,MAAM,EAAGpB,EAAE,CAAE,iBAAkB,CAAG;IAClCqB,SAAS,EAAC;EAA8B,GAExCJ,aAAA,CAACrB,MAAM;IACN0B,IAAI,EAAGpB,YAAY,CAAE,cAAc,EAAE;MACpCqB,QAAQ,EAAEb;IACX,CAAE,CAAG;IACLW,SAAS,EAAC,yCAAyC;IACnDG,IAAI,EAAGvB;EAAQ,GAEbH,OAAO,EACR;EACAC,EAAE,CAAE,aAAa,EAAE,cAAc,EAAEc,cAAe,CAAC,EACnDA,cACD,CACO,CACC,CACY,CAAC;AAE1B,CAAC;AAED,eAAe,SAASY,YAAYA,CAAA,EAAG;EACtC,OACCR,aAAA,CAACF,qBAAqB,QACrBE,aAAA,CAACE,gBAAgB,MAAE,CACG,CAAC;AAE1B"}