@wordpress/edit-site 6.3.0 → 6.5.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 (334) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/add-new-pattern/index.js +14 -3
  3. package/build/components/add-new-pattern/index.js.map +1 -1
  4. package/build/components/add-new-post/index.js +2 -1
  5. package/build/components/add-new-post/index.js.map +1 -1
  6. package/build/components/add-new-template/index.js +3 -1
  7. package/build/components/add-new-template/index.js.map +1 -1
  8. package/build/components/add-new-template/utils.js +2 -2
  9. package/build/components/add-new-template/utils.js.map +1 -1
  10. package/build/components/block-editor/use-site-editor-settings.js +1 -82
  11. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  12. package/build/components/editor/index.js +71 -20
  13. package/build/components/editor/index.js.map +1 -1
  14. package/build/components/global-styles/block-preview-panel.js +14 -5
  15. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  16. package/build/components/global-styles/font-families.js +40 -22
  17. package/build/components/global-styles/font-families.js.map +1 -1
  18. package/build/components/global-styles/font-library-modal/context.js +0 -5
  19. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  20. package/build/components/global-styles/font-library-modal/font-collection.js +25 -5
  21. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  22. package/build/components/global-styles/font-library-modal/index.js +5 -12
  23. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  24. package/build/components/global-styles/font-library-modal/installed-fonts.js +78 -15
  25. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  26. package/build/components/global-styles/font-library-modal/upload-fonts.js +2 -3
  27. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  28. package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +39 -0
  29. package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +1 -0
  30. package/build/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +39 -0
  31. package/build/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js.map +1 -0
  32. package/build/components/global-styles/font-sizes/font-size-preview.js +44 -0
  33. package/build/components/global-styles/font-sizes/font-size-preview.js.map +1 -0
  34. package/build/components/global-styles/font-sizes/font-size.js +213 -0
  35. package/build/components/global-styles/font-sizes/font-size.js.map +1 -0
  36. package/build/components/global-styles/font-sizes/font-sizes-count.js +50 -0
  37. package/build/components/global-styles/font-sizes/font-sizes-count.js.map +1 -0
  38. package/build/components/global-styles/font-sizes/font-sizes.js +163 -0
  39. package/build/components/global-styles/font-sizes/font-sizes.js.map +1 -0
  40. package/build/components/global-styles/font-sizes/rename-font-size-dialog.js +67 -0
  41. package/build/components/global-styles/font-sizes/rename-font-size-dialog.js.map +1 -0
  42. package/build/components/global-styles/screen-block.js +10 -8
  43. package/build/components/global-styles/screen-block.js.map +1 -1
  44. package/build/components/global-styles/screen-style-variations.js +2 -2
  45. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  46. package/build/components/global-styles/screen-typeset.js +40 -0
  47. package/build/components/global-styles/screen-typeset.js.map +1 -0
  48. package/build/components/global-styles/screen-typography-element.js +14 -0
  49. package/build/components/global-styles/screen-typography-element.js.map +1 -1
  50. package/build/components/global-styles/screen-typography.js +5 -6
  51. package/build/components/global-styles/screen-typography.js.map +1 -1
  52. package/build/components/global-styles/shadows-edit-panel.js +50 -59
  53. package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
  54. package/build/components/global-styles/size-control/index.js +85 -0
  55. package/build/components/global-styles/size-control/index.js.map +1 -0
  56. package/build/components/global-styles/style-variations-container.js +3 -0
  57. package/build/components/global-styles/style-variations-container.js.map +1 -1
  58. package/build/components/global-styles/typeset-button.js +97 -0
  59. package/build/components/global-styles/typeset-button.js.map +1 -0
  60. package/build/components/global-styles/typeset.js +80 -0
  61. package/build/components/global-styles/typeset.js.map +1 -0
  62. package/build/components/global-styles/ui.js +12 -0
  63. package/build/components/global-styles/ui.js.map +1 -1
  64. package/build/components/global-styles/utils.js +10 -1
  65. package/build/components/global-styles/utils.js.map +1 -1
  66. package/build/components/global-styles/variations/variations-color.js.map +1 -1
  67. package/build/components/global-styles/variations/variations-typography.js +1 -1
  68. package/build/components/global-styles/variations/variations-typography.js.map +1 -1
  69. package/build/components/layout/index.js +6 -0
  70. package/build/components/layout/index.js.map +1 -1
  71. package/build/components/layout/router.js +14 -6
  72. package/build/components/layout/router.js.map +1 -1
  73. package/build/components/page-patterns/fields.js +230 -0
  74. package/build/components/page-patterns/fields.js.map +1 -0
  75. package/build/components/page-patterns/header.js +1 -1
  76. package/build/components/page-patterns/header.js.map +1 -1
  77. package/build/components/page-patterns/index.js +21 -227
  78. package/build/components/page-patterns/index.js.map +1 -1
  79. package/build/components/page-patterns/use-patterns.js +26 -1
  80. package/build/components/page-patterns/use-patterns.js.map +1 -1
  81. package/build/components/page-templates/fields.js +169 -0
  82. package/build/components/page-templates/fields.js.map +1 -0
  83. package/build/components/page-templates/index.js +38 -198
  84. package/build/components/page-templates/index.js.map +1 -1
  85. package/build/components/post-edit/index.js +117 -0
  86. package/build/components/post-edit/index.js.map +1 -0
  87. package/build/components/post-fields/index.js +318 -0
  88. package/build/components/post-fields/index.js.map +1 -0
  89. package/build/components/post-list/index.js +339 -0
  90. package/build/components/post-list/index.js.map +1 -0
  91. package/build/components/posts-app/router.js +3 -3
  92. package/build/components/posts-app/router.js.map +1 -1
  93. package/build/components/sidebar-dataviews/add-new-view.js +2 -2
  94. package/build/components/sidebar-dataviews/add-new-view.js.map +1 -1
  95. package/build/components/sidebar-dataviews/dataview-item.js +2 -3
  96. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
  97. package/build/components/sidebar-dataviews/default-views.js +103 -91
  98. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  99. package/build/components/sidebar-dataviews/index.js +2 -2
  100. package/build/components/sidebar-dataviews/index.js.map +1 -1
  101. package/build/components/sidebar-navigation-screen-global-styles/content.js +64 -0
  102. package/build/components/sidebar-navigation-screen-global-styles/content.js.map +1 -0
  103. package/build/components/sidebar-navigation-screen-global-styles/index.js +2 -47
  104. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  105. package/build/components/site-hub/index.js +6 -3
  106. package/build/components/site-hub/index.js.map +1 -1
  107. package/build/components/style-book/index.js +22 -25
  108. package/build/components/style-book/index.js.map +1 -1
  109. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -0
  110. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  111. package/build/hooks/push-changes-to-global-styles/index.js +3 -4
  112. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  113. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +2 -4
  114. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
  115. package/build/index.js +4 -2
  116. package/build/index.js.map +1 -1
  117. package/build/store/selectors.js +34 -6
  118. package/build/store/selectors.js.map +1 -1
  119. package/build/utils/get-filtered-template-parts.js +64 -0
  120. package/build/utils/get-filtered-template-parts.js.map +1 -0
  121. package/build-module/components/add-new-pattern/index.js +14 -3
  122. package/build-module/components/add-new-pattern/index.js.map +1 -1
  123. package/build-module/components/add-new-post/index.js +2 -1
  124. package/build-module/components/add-new-post/index.js.map +1 -1
  125. package/build-module/components/add-new-template/index.js +3 -1
  126. package/build-module/components/add-new-template/index.js.map +1 -1
  127. package/build-module/components/add-new-template/utils.js +2 -2
  128. package/build-module/components/add-new-template/utils.js.map +1 -1
  129. package/build-module/components/block-editor/use-site-editor-settings.js +1 -82
  130. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  131. package/build-module/components/editor/index.js +73 -22
  132. package/build-module/components/editor/index.js.map +1 -1
  133. package/build-module/components/global-styles/block-preview-panel.js +14 -5
  134. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  135. package/build-module/components/global-styles/font-families.js +42 -24
  136. package/build-module/components/global-styles/font-families.js.map +1 -1
  137. package/build-module/components/global-styles/font-library-modal/context.js +0 -5
  138. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  139. package/build-module/components/global-styles/font-library-modal/font-collection.js +26 -6
  140. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  141. package/build-module/components/global-styles/font-library-modal/index.js +5 -12
  142. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  143. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +81 -18
  144. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  145. package/build-module/components/global-styles/font-library-modal/upload-fonts.js +2 -3
  146. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  147. package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +32 -0
  148. package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +1 -0
  149. package/build-module/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +32 -0
  150. package/build-module/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js.map +1 -0
  151. package/build-module/components/global-styles/font-sizes/font-size-preview.js +37 -0
  152. package/build-module/components/global-styles/font-sizes/font-size-preview.js.map +1 -0
  153. package/build-module/components/global-styles/font-sizes/font-size.js +207 -0
  154. package/build-module/components/global-styles/font-sizes/font-size.js.map +1 -0
  155. package/build-module/components/global-styles/font-sizes/font-sizes-count.js +43 -0
  156. package/build-module/components/global-styles/font-sizes/font-sizes-count.js.map +1 -0
  157. package/build-module/components/global-styles/font-sizes/font-sizes.js +157 -0
  158. package/build-module/components/global-styles/font-sizes/font-sizes.js.map +1 -0
  159. package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js +61 -0
  160. package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js.map +1 -0
  161. package/build-module/components/global-styles/screen-block.js +10 -8
  162. package/build-module/components/global-styles/screen-block.js.map +1 -1
  163. package/build-module/components/global-styles/screen-style-variations.js +2 -2
  164. package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
  165. package/build-module/components/global-styles/screen-typeset.js +34 -0
  166. package/build-module/components/global-styles/screen-typeset.js.map +1 -0
  167. package/build-module/components/global-styles/screen-typography-element.js +14 -0
  168. package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
  169. package/build-module/components/global-styles/screen-typography.js +5 -6
  170. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  171. package/build-module/components/global-styles/shadows-edit-panel.js +51 -60
  172. package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
  173. package/build-module/components/global-styles/size-control/index.js +79 -0
  174. package/build-module/components/global-styles/size-control/index.js.map +1 -0
  175. package/build-module/components/global-styles/style-variations-container.js +3 -0
  176. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  177. package/build-module/components/global-styles/typeset-button.js +89 -0
  178. package/build-module/components/global-styles/typeset-button.js.map +1 -0
  179. package/build-module/components/global-styles/typeset.js +71 -0
  180. package/build-module/components/global-styles/typeset.js.map +1 -0
  181. package/build-module/components/global-styles/ui.js +12 -0
  182. package/build-module/components/global-styles/ui.js.map +1 -1
  183. package/build-module/components/global-styles/utils.js +10 -1
  184. package/build-module/components/global-styles/utils.js.map +1 -1
  185. package/build-module/components/global-styles/variations/variations-color.js +1 -1
  186. package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
  187. package/build-module/components/global-styles/variations/variations-typography.js +1 -2
  188. package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
  189. package/build-module/components/layout/index.js +6 -0
  190. package/build-module/components/layout/index.js.map +1 -1
  191. package/build-module/components/layout/router.js +14 -6
  192. package/build-module/components/layout/router.js.map +1 -1
  193. package/build-module/components/page-patterns/fields.js +223 -0
  194. package/build-module/components/page-patterns/fields.js.map +1 -0
  195. package/build-module/components/page-patterns/header.js +1 -1
  196. package/build-module/components/page-patterns/header.js.map +1 -1
  197. package/build-module/components/page-patterns/index.js +24 -230
  198. package/build-module/components/page-patterns/index.js.map +1 -1
  199. package/build-module/components/page-patterns/use-patterns.js +26 -1
  200. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  201. package/build-module/components/page-templates/fields.js +160 -0
  202. package/build-module/components/page-templates/fields.js.map +1 -0
  203. package/build-module/components/page-templates/index.js +39 -199
  204. package/build-module/components/page-templates/index.js.map +1 -1
  205. package/build-module/components/post-edit/index.js +110 -0
  206. package/build-module/components/post-edit/index.js.map +1 -0
  207. package/build-module/components/post-fields/index.js +310 -0
  208. package/build-module/components/post-fields/index.js.map +1 -0
  209. package/build-module/components/post-list/index.js +333 -0
  210. package/build-module/components/post-list/index.js.map +1 -0
  211. package/build-module/components/posts-app/router.js +3 -3
  212. package/build-module/components/posts-app/router.js.map +1 -1
  213. package/build-module/components/sidebar-dataviews/add-new-view.js +2 -2
  214. package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -1
  215. package/build-module/components/sidebar-dataviews/dataview-item.js +2 -3
  216. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
  217. package/build-module/components/sidebar-dataviews/default-views.js +102 -90
  218. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  219. package/build-module/components/sidebar-dataviews/index.js +5 -5
  220. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  221. package/build-module/components/sidebar-navigation-screen-global-styles/content.js +57 -0
  222. package/build-module/components/sidebar-navigation-screen-global-styles/content.js.map +1 -0
  223. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +2 -47
  224. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  225. package/build-module/components/site-hub/index.js +7 -4
  226. package/build-module/components/site-hub/index.js.map +1 -1
  227. package/build-module/components/style-book/index.js +23 -26
  228. package/build-module/components/style-book/index.js.map +1 -1
  229. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -0
  230. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  231. package/build-module/hooks/push-changes-to-global-styles/index.js +3 -4
  232. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  233. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +2 -3
  234. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
  235. package/build-module/index.js +4 -2
  236. package/build-module/index.js.map +1 -1
  237. package/build-module/store/selectors.js +35 -7
  238. package/build-module/store/selectors.js.map +1 -1
  239. package/build-module/utils/get-filtered-template-parts.js +57 -0
  240. package/build-module/utils/get-filtered-template-parts.js.map +1 -0
  241. package/build-style/posts-rtl.css +749 -492
  242. package/build-style/posts.css +749 -492
  243. package/build-style/style-rtl.css +956 -613
  244. package/build-style/style.css +956 -613
  245. package/package.json +41 -41
  246. package/src/components/add-new-pattern/index.js +16 -5
  247. package/src/components/add-new-post/index.js +2 -1
  248. package/src/components/add-new-template/index.js +4 -1
  249. package/src/components/add-new-template/style.scss +4 -6
  250. package/src/components/add-new-template/utils.js +10 -6
  251. package/src/components/block-editor/use-site-editor-settings.js +15 -111
  252. package/src/components/editor/index.js +80 -22
  253. package/src/components/editor/style.scss +59 -1
  254. package/src/components/global-styles/block-preview-panel.js +22 -9
  255. package/src/components/global-styles/font-families.js +65 -32
  256. package/src/components/global-styles/font-library-modal/context.js +0 -5
  257. package/src/components/global-styles/font-library-modal/font-collection.js +34 -10
  258. package/src/components/global-styles/font-library-modal/index.js +6 -9
  259. package/src/components/global-styles/font-library-modal/installed-fonts.js +115 -16
  260. package/src/components/global-styles/font-library-modal/style.scss +9 -0
  261. package/src/components/global-styles/font-library-modal/upload-fonts.js +2 -2
  262. package/src/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +43 -0
  263. package/src/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +37 -0
  264. package/src/components/global-styles/font-sizes/font-size-preview.js +43 -0
  265. package/src/components/global-styles/font-sizes/font-size.js +250 -0
  266. package/src/components/global-styles/font-sizes/font-sizes-count.js +40 -0
  267. package/src/components/global-styles/font-sizes/font-sizes.js +263 -0
  268. package/src/components/global-styles/font-sizes/rename-font-size-dialog.js +70 -0
  269. package/src/components/global-styles/screen-block.js +12 -14
  270. package/src/components/global-styles/screen-style-variations.js +2 -2
  271. package/src/components/global-styles/screen-typeset.js +42 -0
  272. package/src/components/global-styles/screen-typography-element.js +14 -0
  273. package/src/components/global-styles/screen-typography.js +7 -6
  274. package/src/components/global-styles/shadows-edit-panel.js +66 -73
  275. package/src/components/global-styles/size-control/index.js +86 -0
  276. package/src/components/global-styles/style-variations-container.js +4 -0
  277. package/src/components/global-styles/style.scss +17 -10
  278. package/src/components/global-styles/typeset-button.js +93 -0
  279. package/src/components/global-styles/typeset.js +73 -0
  280. package/src/components/global-styles/ui.js +15 -0
  281. package/src/components/global-styles/utils.js +13 -1
  282. package/src/components/global-styles/variations/variations-color.js +1 -1
  283. package/src/components/global-styles/variations/variations-typography.js +1 -2
  284. package/src/components/layout/index.js +11 -0
  285. package/src/components/layout/router.js +13 -5
  286. package/src/components/layout/style.scss +34 -8
  287. package/src/components/page-patterns/fields.js +251 -0
  288. package/src/components/page-patterns/header.js +1 -1
  289. package/src/components/page-patterns/index.js +24 -246
  290. package/src/components/page-patterns/style.scss +82 -85
  291. package/src/components/page-patterns/use-patterns.js +31 -1
  292. package/src/components/page-templates/fields.js +157 -0
  293. package/src/components/page-templates/index.js +46 -192
  294. package/src/components/page-templates/style.scss +19 -8
  295. package/src/components/post-edit/index.js +115 -0
  296. package/src/components/post-edit/style.scss +9 -0
  297. package/src/components/post-fields/index.js +357 -0
  298. package/src/components/post-list/index.js +386 -0
  299. package/src/components/{posts-app → post-list}/style.scss +12 -9
  300. package/src/components/posts-app/router.js +3 -3
  301. package/src/components/sidebar-dataviews/add-new-view.js +2 -4
  302. package/src/components/sidebar-dataviews/dataview-item.js +2 -2
  303. package/src/components/sidebar-dataviews/default-views.js +116 -104
  304. package/src/components/sidebar-dataviews/index.js +4 -3
  305. package/src/components/sidebar-navigation-screen-global-styles/content.js +55 -0
  306. package/src/components/sidebar-navigation-screen-global-styles/index.js +1 -55
  307. package/src/components/site-hub/index.js +11 -2
  308. package/src/components/site-icon/style.scss +4 -1
  309. package/src/components/style-book/index.js +27 -32
  310. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -0
  311. package/src/hooks/push-changes-to-global-styles/index.js +3 -4
  312. package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +2 -3
  313. package/src/index.js +6 -2
  314. package/src/posts.scss +1 -1
  315. package/src/store/selectors.js +53 -14
  316. package/src/store/test/selectors.js +1 -26
  317. package/src/style.scss +2 -1
  318. package/src/utils/get-filtered-template-parts.js +61 -0
  319. package/src/utils/test/get-filtered-template-parts.js +127 -0
  320. package/build/components/global-styles/screen-background.js +0 -36
  321. package/build/components/global-styles/screen-background.js.map +0 -1
  322. package/build/components/posts-app/posts-list.js +0 -568
  323. package/build/components/posts-app/posts-list.js.map +0 -1
  324. package/build/utils/clone-deep.js +0 -15
  325. package/build/utils/clone-deep.js.map +0 -1
  326. package/build-module/components/global-styles/screen-background.js +0 -30
  327. package/build-module/components/global-styles/screen-background.js.map +0 -1
  328. package/build-module/components/posts-app/posts-list.js +0 -560
  329. package/build-module/components/posts-app/posts-list.js.map +0 -1
  330. package/build-module/utils/clone-deep.js +0 -9
  331. package/build-module/utils/clone-deep.js.map +0 -1
  332. package/src/components/global-styles/screen-background.js +0 -29
  333. package/src/components/posts-app/posts-list.js +0 -651
  334. package/src/utils/clone-deep.js +0 -8
@@ -5,33 +5,19 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = PageTemplates;
8
- var _clsx = _interopRequireDefault(require("clsx"));
9
- var _components = require("@wordpress/components");
10
8
  var _i18n = require("@wordpress/i18n");
11
9
  var _element = require("@wordpress/element");
12
10
  var _coreData = require("@wordpress/core-data");
13
- var _htmlEntities = require("@wordpress/html-entities");
14
- var _blocks = require("@wordpress/blocks");
15
- var _blockEditor = require("@wordpress/block-editor");
16
11
  var _dataviews = require("@wordpress/dataviews");
17
12
  var _router = require("@wordpress/router");
18
13
  var _editor = require("@wordpress/editor");
19
- var _async = require("../async");
20
14
  var _page = _interopRequireDefault(require("../page"));
21
- var _link = _interopRequireWildcard(require("../routes/link"));
22
15
  var _addNewTemplate = _interopRequireDefault(require("../add-new-template"));
23
- var _hooks = require("./hooks");
24
16
  var _constants = require("../../utils/constants");
25
- var _usePatternSettings = _interopRequireDefault(require("../page-patterns/use-pattern-settings"));
26
17
  var _lockUnlock = require("../../lock-unlock");
27
18
  var _dataviewsActions = require("../dataviews-actions");
19
+ var _fields = require("./fields");
28
20
  var _jsxRuntime = require("react/jsx-runtime");
29
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
30
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
31
- /**
32
- * External dependencies
33
- */
34
-
35
21
  /**
36
22
  * WordPress dependencies
37
23
  */
@@ -43,22 +29,41 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
43
29
  const {
44
30
  usePostActions
45
31
  } = (0, _lockUnlock.unlock)(_editor.privateApis);
46
- const {
47
- ExperimentalBlockEditorProvider,
48
- useGlobalStyle
49
- } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
50
32
  const {
51
33
  useHistory,
52
34
  useLocation
53
35
  } = (0, _lockUnlock.unlock)(_router.privateApis);
36
+ const {
37
+ useEntityRecordsWithPermissions
38
+ } = (0, _lockUnlock.unlock)(_coreData.privateApis);
54
39
  const EMPTY_ARRAY = [];
55
40
  const defaultLayouts = {
56
41
  [_constants.LAYOUT_TABLE]: {
42
+ fields: ['template', 'author'],
57
43
  layout: {
58
- primaryField: 'title'
44
+ primaryField: 'title',
45
+ combinedFields: [{
46
+ id: 'template',
47
+ label: (0, _i18n.__)('Template'),
48
+ children: ['title', 'description'],
49
+ direction: 'vertical'
50
+ }],
51
+ styles: {
52
+ template: {
53
+ maxWidth: 400,
54
+ minWidth: 320
55
+ },
56
+ preview: {
57
+ width: '1%'
58
+ },
59
+ author: {
60
+ width: '1%'
61
+ }
62
+ }
59
63
  }
60
64
  },
61
65
  [_constants.LAYOUT_GRID]: {
66
+ fields: ['title', 'description', 'author'],
62
67
  layout: {
63
68
  mediaField: 'preview',
64
69
  primaryField: 'title',
@@ -66,6 +71,7 @@ const defaultLayouts = {
66
71
  }
67
72
  },
68
73
  [_constants.LAYOUT_LIST]: {
74
+ fields: ['title', 'description', 'author'],
69
75
  layout: {
70
76
  primaryField: 'title',
71
77
  mediaField: 'preview'
@@ -81,112 +87,10 @@ const DEFAULT_VIEW = {
81
87
  field: 'title',
82
88
  direction: 'asc'
83
89
  },
84
- fields: ['title', 'description', 'author'],
90
+ fields: defaultLayouts[_constants.LAYOUT_GRID].fields,
85
91
  layout: defaultLayouts[_constants.LAYOUT_GRID].layout,
86
92
  filters: []
87
93
  };
88
- function Title({
89
- item,
90
- viewType
91
- }) {
92
- if (viewType === _constants.LAYOUT_LIST) {
93
- return (0, _htmlEntities.decodeEntities)(item.title?.rendered) || (0, _i18n.__)('(no title)');
94
- }
95
- const linkProps = {
96
- params: {
97
- postId: item.id,
98
- postType: item.type,
99
- canvas: 'edit'
100
- }
101
- };
102
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_link.default, {
103
- ...linkProps,
104
- children: (0, _htmlEntities.decodeEntities)(item.title?.rendered) || (0, _i18n.__)('(no title)')
105
- });
106
- }
107
- function AuthorField({
108
- item,
109
- viewType
110
- }) {
111
- const [isImageLoaded, setIsImageLoaded] = (0, _element.useState)(false);
112
- const {
113
- text,
114
- icon,
115
- imageUrl
116
- } = (0, _hooks.useAddedBy)(item.type, item.id);
117
- const withIcon = viewType !== _constants.LAYOUT_LIST;
118
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
119
- alignment: "left",
120
- spacing: 1,
121
- children: [withIcon && imageUrl && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
122
- className: (0, _clsx.default)('page-templates-author-field__avatar', {
123
- 'is-loaded': isImageLoaded
124
- }),
125
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
126
- onLoad: () => setIsImageLoaded(true),
127
- alt: "",
128
- src: imageUrl
129
- })
130
- }), withIcon && !imageUrl && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
131
- className: "page-templates-author-field__icon",
132
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
133
- icon: icon
134
- })
135
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
136
- className: "page-templates-author-field__name",
137
- children: text
138
- })]
139
- });
140
- }
141
- function Preview({
142
- item,
143
- viewType
144
- }) {
145
- const settings = (0, _usePatternSettings.default)();
146
- const [backgroundColor = 'white'] = useGlobalStyle('color.background');
147
- const blocks = (0, _element.useMemo)(() => {
148
- return (0, _blocks.parse)(item.content.raw);
149
- }, [item.content.raw]);
150
- const {
151
- onClick
152
- } = (0, _link.useLink)({
153
- postId: item.id,
154
- postType: item.type,
155
- canvas: 'edit'
156
- });
157
- const isEmpty = !blocks?.length;
158
- // Wrap everything in a block editor provider to ensure 'styles' that are needed
159
- // for the previews are synced between the site editor store and the block editor store.
160
- // Additionally we need to have the `__experimentalBlockPatterns` setting in order to
161
- // render patterns inside the previews.
162
- // TODO: Same approach is used in the patterns list and it becomes obvious that some of
163
- // the block editor settings are needed in context where we don't have the block editor.
164
- // Explore how we can solve this in a better way.
165
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(ExperimentalBlockEditorProvider, {
166
- settings: settings,
167
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
168
- className: `page-templates-preview-field is-viewtype-${viewType}`,
169
- style: {
170
- backgroundColor
171
- },
172
- children: [viewType === _constants.LAYOUT_LIST && !isEmpty && /*#__PURE__*/(0, _jsxRuntime.jsx)(_async.Async, {
173
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.BlockPreview, {
174
- blocks: blocks
175
- })
176
- }), viewType !== _constants.LAYOUT_LIST && /*#__PURE__*/(0, _jsxRuntime.jsxs)("button", {
177
- className: "page-templates-preview-field__button",
178
- type: "button",
179
- onClick: onClick,
180
- "aria-label": item.title?.rendered || item.title,
181
- children: [isEmpty && (0, _i18n.__)('Empty template'), !isEmpty && /*#__PURE__*/(0, _jsxRuntime.jsx)(_async.Async, {
182
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.BlockPreview, {
183
- blocks: blocks
184
- })
185
- })]
186
- })]
187
- })
188
- });
189
- }
190
94
  function PageTemplates() {
191
95
  const {
192
96
  params
@@ -203,6 +107,7 @@ function PageTemplates() {
203
107
  ...DEFAULT_VIEW,
204
108
  type: usedType,
205
109
  layout: defaultLayouts[usedType].layout,
110
+ fields: defaultLayouts[usedType].fields,
206
111
  filters: activeView !== 'all' ? [{
207
112
  field: 'author',
208
113
  operator: 'isAny',
@@ -224,15 +129,16 @@ function PageTemplates() {
224
129
  const {
225
130
  records,
226
131
  isResolving: isLoadingData
227
- } = (0, _coreData.useEntityRecords)('postType', _constants.TEMPLATE_POST_TYPE, {
132
+ } = useEntityRecordsWithPermissions('postType', _constants.TEMPLATE_POST_TYPE, {
228
133
  per_page: -1
229
134
  });
230
135
  const history = useHistory();
231
- const onSelectionChange = (0, _element.useCallback)(items => {
136
+ const onChangeSelection = (0, _element.useCallback)(items => {
137
+ setSelection(items);
232
138
  if (view?.type === _constants.LAYOUT_LIST) {
233
139
  history.push({
234
140
  ...params,
235
- postId: items.length === 1 ? items[0].id : undefined
141
+ postId: items.length === 1 ? items[0] : undefined
236
142
  });
237
143
  }
238
144
  }, [history, params, view?.type]);
@@ -249,75 +155,10 @@ function PageTemplates() {
249
155
  label: author
250
156
  }));
251
157
  }, [records]);
252
- const fields = (0, _element.useMemo)(() => [{
253
- header: (0, _i18n.__)('Preview'),
254
- id: 'preview',
255
- render: ({
256
- item
257
- }) => {
258
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(Preview, {
259
- item: item,
260
- viewType: view.type
261
- });
262
- },
263
- minWidth: 120,
264
- maxWidth: 120,
265
- enableSorting: false
266
- }, {
267
- header: (0, _i18n.__)('Template'),
268
- id: 'title',
269
- getValue: ({
270
- item
271
- }) => item.title?.rendered,
272
- render: ({
273
- item
274
- }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(Title, {
275
- item: item,
276
- viewType: view.type
277
- }),
278
- maxWidth: 400,
279
- enableHiding: false,
280
- enableGlobalSearch: true
281
- }, {
282
- header: (0, _i18n.__)('Description'),
283
- id: 'description',
284
- render: ({
285
- item
286
- }) => {
287
- return item.description ? /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
288
- className: "page-templates-description",
289
- children: (0, _htmlEntities.decodeEntities)(item.description)
290
- }) : view.type === _constants.LAYOUT_TABLE && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
291
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalText, {
292
- variant: "muted",
293
- "aria-hidden": "true",
294
- children: "\u2014"
295
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.VisuallyHidden, {
296
- children: (0, _i18n.__)('No description.')
297
- })]
298
- });
299
- },
300
- maxWidth: 400,
301
- minWidth: 320,
302
- enableSorting: false,
303
- enableGlobalSearch: true
304
- }, {
305
- header: (0, _i18n.__)('Author'),
306
- id: 'author',
307
- getValue: ({
308
- item
309
- }) => item.author_text,
310
- render: ({
311
- item
312
- }) => {
313
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(AuthorField, {
314
- viewType: view.type,
315
- item: item
316
- });
317
- },
318
- elements: authors,
319
- width: '1%'
320
- }], [authors, view.type]);
158
+ const fields = (0, _element.useMemo)(() => [_fields.previewField, _fields.titleField, _fields.descriptionField, {
159
+ ..._fields.authorField,
160
+ elements: authors
161
+ }], [authors]);
321
162
  const {
322
163
  data,
323
164
  paginationInfo
@@ -351,11 +192,10 @@ function PageTemplates() {
351
192
  isLoading: isLoadingData,
352
193
  view: view,
353
194
  onChangeView: onChangeView,
354
- onSelectionChange: onSelectionChange,
195
+ onChangeSelection: onChangeSelection,
355
196
  selection: selection,
356
- setSelection: setSelection,
357
197
  defaultLayouts: defaultLayouts
358
- })
198
+ }, activeView)
359
199
  });
360
200
  }
361
201
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_coreData","_htmlEntities","_blocks","_blockEditor","_dataviews","_router","_editor","_async","_page","_link","_interopRequireWildcard","_addNewTemplate","_hooks","_constants","_usePatternSettings","_lockUnlock","_dataviewsActions","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","usePostActions","unlock","editorPrivateApis","ExperimentalBlockEditorProvider","useGlobalStyle","blockEditorPrivateApis","useHistory","useLocation","routerPrivateApis","EMPTY_ARRAY","defaultLayouts","LAYOUT_TABLE","layout","primaryField","LAYOUT_GRID","mediaField","columnFields","LAYOUT_LIST","DEFAULT_VIEW","type","search","page","perPage","sort","field","direction","fields","filters","Title","item","viewType","decodeEntities","title","rendered","__","linkProps","params","postId","id","postType","canvas","jsx","children","AuthorField","isImageLoaded","setIsImageLoaded","useState","text","icon","imageUrl","useAddedBy","withIcon","jsxs","__experimentalHStack","alignment","spacing","className","clsx","onLoad","alt","src","Icon","Preview","settings","usePatternSettings","backgroundColor","blocks","useMemo","parse","content","raw","onClick","useLink","isEmpty","length","style","Async","BlockPreview","PageTemplates","activeView","selection","setSelection","defaultView","usedType","operator","value","view","setView","useEffect","currentView","OPERATOR_IS_ANY","records","isResolving","isLoadingData","useEntityRecords","TEMPLATE_POST_TYPE","per_page","history","onSelectionChange","useCallback","items","push","undefined","authors","authorsSet","Set","forEach","template","add","author_text","Array","from","map","author","label","header","render","minWidth","maxWidth","enableSorting","getValue","enableHiding","enableGlobalSearch","description","Fragment","__experimentalText","variant","VisuallyHidden","elements","width","data","paginationInfo","filterSortAndPaginate","postTypeActions","context","editAction","useEditPostAction","actions","onChangeView","newView","DataViews","isLoading"],"sources":["@wordpress/edit-site/src/components/page-templates/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { parse } from '@wordpress/blocks';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { Async } from '../async';\nimport Page from '../page';\nimport { default as Link, useLink } from '../routes/link';\nimport AddNewTemplate from '../add-new-template';\nimport { useAddedBy } from './hooks';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tOPERATOR_IS_ANY,\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\n\nimport usePatternSettings from '../page-patterns/use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport { useEditPostAction } from '../dataviews-actions';\n\nconst { usePostActions } = unlock( editorPrivateApis );\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nconst defaultLayouts = {\n\t[ LAYOUT_TABLE ]: {\n\t\tlayout: {\n\t\t\tprimaryField: 'title',\n\t\t},\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tlayout: {\n\t\t\tmediaField: 'preview',\n\t\t\tprimaryField: 'title',\n\t\t\tcolumnFields: [ 'description' ],\n\t\t},\n\t},\n\t[ LAYOUT_LIST ]: {\n\t\tlayout: {\n\t\t\tprimaryField: 'title',\n\t\t\tmediaField: 'preview',\n\t\t},\n\t},\n};\n\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\tsort: {\n\t\tfield: 'title',\n\t\tdirection: 'asc',\n\t},\n\tfields: [ 'title', 'description', 'author' ],\n\tlayout: defaultLayouts[ LAYOUT_GRID ].layout,\n\tfilters: [],\n};\n\nfunction Title( { item, viewType } ) {\n\tif ( viewType === LAYOUT_LIST ) {\n\t\treturn decodeEntities( item.title?.rendered ) || __( '(no title)' );\n\t}\n\tconst linkProps = {\n\t\tparams: {\n\t\t\tpostId: item.id,\n\t\t\tpostType: item.type,\n\t\t\tcanvas: 'edit',\n\t\t},\n\t};\n\treturn (\n\t\t<Link { ...linkProps }>\n\t\t\t{ decodeEntities( item.title?.rendered ) || __( '(no title)' ) }\n\t\t</Link>\n\t);\n}\n\nfunction AuthorField( { item, viewType } ) {\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\tconst withIcon = viewType !== LAYOUT_LIST;\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 1 }>\n\t\t\t{ withIcon && imageUrl && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( 'page-templates-author-field__avatar', {\n\t\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tsrc={ imageUrl }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ withIcon && ! imageUrl && (\n\t\t\t\t<div className=\"page-templates-author-field__icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span className=\"page-templates-author-field__name\">{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nfunction Preview( { item, viewType } ) {\n\tconst settings = usePatternSettings();\n\tconst [ backgroundColor = 'white' ] = useGlobalStyle( 'color.background' );\n\tconst blocks = useMemo( () => {\n\t\treturn parse( item.content.raw );\n\t}, [ item.content.raw ] );\n\tconst { onClick } = useLink( {\n\t\tpostId: item.id,\n\t\tpostType: item.type,\n\t\tcanvas: 'edit',\n\t} );\n\n\tconst isEmpty = ! blocks?.length;\n\t// Wrap everything in a block editor provider to ensure 'styles' that are needed\n\t// for the previews are synced between the site editor store and the block editor store.\n\t// Additionally we need to have the `__experimentalBlockPatterns` setting in order to\n\t// render patterns inside the previews.\n\t// TODO: Same approach is used in the patterns list and it becomes obvious that some of\n\t// the block editor settings are needed in context where we don't have the block editor.\n\t// Explore how we can solve this in a better way.\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<div\n\t\t\t\tclassName={ `page-templates-preview-field is-viewtype-${ viewType }` }\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t{ viewType === LAYOUT_LIST && ! isEmpty && (\n\t\t\t\t\t<Async>\n\t\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t\t</Async>\n\t\t\t\t) }\n\t\t\t\t{ viewType !== LAYOUT_LIST && (\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName=\"page-templates-preview-field__button\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\taria-label={ item.title?.rendered || item.title }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isEmpty && __( 'Empty template' ) }\n\t\t\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t\t\t<Async>\n\t\t\t\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t\t\t\t</Async>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n\nexport default function PageTemplates() {\n\tconst { params } = useLocation();\n\tconst { activeView = 'all', layout, postId } = params;\n\tconst [ selection, setSelection ] = useState( [ postId ] );\n\n\tconst defaultView = useMemo( () => {\n\t\tconst usedType = layout ?? DEFAULT_VIEW.type;\n\t\treturn {\n\t\t\t...DEFAULT_VIEW,\n\t\t\ttype: usedType,\n\t\t\tlayout: defaultLayouts[ usedType ].layout,\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: 'isAny',\n\t\t\t\t\t\t\t\tvalue: [ activeView ],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t};\n\t}, [ layout, activeView ] );\n\tconst [ view, setView ] = useState( defaultView );\n\tuseEffect( () => {\n\t\tsetView( ( currentView ) => ( {\n\t\t\t...currentView,\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: OPERATOR_IS_ANY,\n\t\t\t\t\t\t\t\tvalue: [ activeView ],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t} ) );\n\t}, [ activeView ] );\n\n\tconst { records, isResolving: isLoadingData } = useEntityRecords(\n\t\t'postType',\n\t\tTEMPLATE_POST_TYPE,\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\tconst history = useHistory();\n\tconst onSelectionChange = useCallback(\n\t\t( items ) => {\n\t\t\tif ( view?.type === LAYOUT_LIST ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tpostId: items.length === 1 ? items[ 0 ].id : undefined,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ history, params, view?.type ]\n\t);\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\trecords.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ records ] );\n\n\tconst fields = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\theader: __( 'Preview' ),\n\t\t\t\tid: 'preview',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn <Preview item={ item } viewType={ view.type } />;\n\t\t\t\t},\n\t\t\t\tminWidth: 120,\n\t\t\t\tmaxWidth: 120,\n\t\t\t\tenableSorting: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Template' ),\n\t\t\t\tid: 'title',\n\t\t\t\tgetValue: ( { item } ) => item.title?.rendered,\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<Title item={ item } viewType={ view.type } />\n\t\t\t\t),\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tenableHiding: false,\n\t\t\t\tenableGlobalSearch: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Description' ),\n\t\t\t\tid: 'description',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn item.description ? (\n\t\t\t\t\t\t<span className=\"page-templates-description\">\n\t\t\t\t\t\t\t{ decodeEntities( item.description ) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tview.type === LAYOUT_TABLE && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Text variant=\"muted\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t&#8212;\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t\t\t{ __( 'No description.' ) }\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tminWidth: 320,\n\t\t\t\tenableSorting: false,\n\t\t\t\tenableGlobalSearch: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Author' ),\n\t\t\t\tid: 'author',\n\t\t\t\tgetValue: ( { item } ) => item.author_text,\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn <AuthorField viewType={ view.type } item={ item } />;\n\t\t\t\t},\n\t\t\t\telements: authors,\n\t\t\t\twidth: '1%',\n\t\t\t},\n\t\t],\n\t\t[ authors, view.type ]\n\t);\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\treturn filterSortAndPaginate( records, view, fields );\n\t}, [ records, view, fields ] );\n\n\tconst postTypeActions = usePostActions( {\n\t\tpostType: TEMPLATE_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\tconst actions = useMemo(\n\t\t() => [ editAction, ...postTypeActions ],\n\t\t[ postTypeActions, editAction ]\n\t);\n\n\tconst onChangeView = useCallback(\n\t\t( newView ) => {\n\t\t\tif ( newView.type !== view.type ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tlayout: newView.type,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView, history, params ]\n\t);\n\n\treturn (\n\t\t<Page\n\t\t\tclassName=\"edit-site-page-templates\"\n\t\t\ttitle={ __( 'Templates' ) }\n\t\t\tactions={ <AddNewTemplate /> }\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\tselection={ selection }\n\t\t\t\tsetSelection={ setSelection }\n\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AAMA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AAIA,IAAAQ,UAAA,GAAAR,OAAA;AACA,IAAAS,OAAA,GAAAT,OAAA;AACA,IAAAU,OAAA,GAAAV,OAAA;AAKA,IAAAW,MAAA,GAAAX,OAAA;AACA,IAAAY,KAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,KAAA,GAAAC,uBAAA,CAAAd,OAAA;AACA,IAAAe,eAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,MAAA,GAAAhB,OAAA;AACA,IAAAiB,UAAA,GAAAjB,OAAA;AAQA,IAAAkB,mBAAA,GAAAnB,sBAAA,CAAAC,OAAA;AACA,IAAAmB,WAAA,GAAAnB,OAAA;AACA,IAAAoB,iBAAA,GAAApB,OAAA;AAAyD,IAAAqB,WAAA,GAAArB,OAAA;AAAA,SAAAsB,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAT,wBAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AA7CzD;AACA;AACA;;AAGA;AACA;AACA;;AAoBA;AACA;AACA;;AAkBA,MAAM;EAAEW;AAAe,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;AAEtD,MAAM;EAAEC,+BAA+B;EAAEC;AAAe,CAAC,GAAG,IAAAH,kBAAM,EACjEI,wBACD,CAAC;AACD,MAAM;EAAEC,UAAU;EAAEC;AAAY,CAAC,GAAG,IAAAN,kBAAM,EAAEO,mBAAkB,CAAC;AAE/D,MAAMC,WAAW,GAAG,EAAE;AAEtB,MAAMC,cAAc,GAAG;EACtB,CAAEC,uBAAY,GAAI;IACjBC,MAAM,EAAE;MACPC,YAAY,EAAE;IACf;EACD,CAAC;EACD,CAAEC,sBAAW,GAAI;IAChBF,MAAM,EAAE;MACPG,UAAU,EAAE,SAAS;MACrBF,YAAY,EAAE,OAAO;MACrBG,YAAY,EAAE,CAAE,aAAa;IAC9B;EACD,CAAC;EACD,CAAEC,sBAAW,GAAI;IAChBL,MAAM,EAAE;MACPC,YAAY,EAAE,OAAO;MACrBE,UAAU,EAAE;IACb;EACD;AACD,CAAC;AAED,MAAMG,YAAY,GAAG;EACpBC,IAAI,EAAEL,sBAAW;EACjBM,MAAM,EAAE,EAAE;EACVC,IAAI,EAAE,CAAC;EACPC,OAAO,EAAE,EAAE;EACXC,IAAI,EAAE;IACLC,KAAK,EAAE,OAAO;IACdC,SAAS,EAAE;EACZ,CAAC;EACDC,MAAM,EAAE,CAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAE;EAC5Cd,MAAM,EAAEF,cAAc,CAAEI,sBAAW,CAAE,CAACF,MAAM;EAC5Ce,OAAO,EAAE;AACV,CAAC;AAED,SAASC,KAAKA,CAAE;EAAEC,IAAI;EAAEC;AAAS,CAAC,EAAG;EACpC,IAAKA,QAAQ,KAAKb,sBAAW,EAAG;IAC/B,OAAO,IAAAc,4BAAc,EAAEF,IAAI,CAACG,KAAK,EAAEC,QAAS,CAAC,IAAI,IAAAC,QAAE,EAAE,YAAa,CAAC;EACpE;EACA,MAAMC,SAAS,GAAG;IACjBC,MAAM,EAAE;MACPC,MAAM,EAAER,IAAI,CAACS,EAAE;MACfC,QAAQ,EAAEV,IAAI,CAACV,IAAI;MACnBqB,MAAM,EAAE;IACT;EACD,CAAC;EACD,oBACC,IAAA7D,WAAA,CAAA8D,GAAA,EAACtE,KAAA,CAAAe,OAAI;IAAA,GAAMiD,SAAS;IAAAO,QAAA,EACjB,IAAAX,4BAAc,EAAEF,IAAI,CAACG,KAAK,EAAEC,QAAS,CAAC,IAAI,IAAAC,QAAE,EAAE,YAAa;EAAC,CACzD,CAAC;AAET;AAEA,SAASS,WAAWA,CAAE;EAAEd,IAAI;EAAEC;AAAS,CAAC,EAAG;EAC1C,MAAM,CAAEc,aAAa,EAAEC,gBAAgB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EAC7D,MAAM;IAAEC,IAAI;IAAEC,IAAI;IAAEC;EAAS,CAAC,GAAG,IAAAC,iBAAU,EAAErB,IAAI,CAACV,IAAI,EAAEU,IAAI,CAACS,EAAG,CAAC;EACjE,MAAMa,QAAQ,GAAGrB,QAAQ,KAAKb,sBAAW;EAEzC,oBACC,IAAAtC,WAAA,CAAAyE,IAAA,EAAC7F,WAAA,CAAA8F,oBAAM;IAACC,SAAS,EAAC,MAAM;IAACC,OAAO,EAAG,CAAG;IAAAb,QAAA,GACnCS,QAAQ,IAAIF,QAAQ,iBACrB,IAAAtE,WAAA,CAAA8D,GAAA;MACCe,SAAS,EAAG,IAAAC,aAAI,EAAE,qCAAqC,EAAE;QACxD,WAAW,EAAEb;MACd,CAAE,CAAG;MAAAF,QAAA,eAEL,IAAA/D,WAAA,CAAA8D,GAAA;QACCiB,MAAM,EAAGA,CAAA,KAAMb,gBAAgB,CAAE,IAAK,CAAG;QACzCc,GAAG,EAAC,EAAE;QACNC,GAAG,EAAGX;MAAU,CAChB;IAAC,CACE,CACL,EACCE,QAAQ,IAAI,CAAEF,QAAQ,iBACvB,IAAAtE,WAAA,CAAA8D,GAAA;MAAKe,SAAS,EAAC,mCAAmC;MAAAd,QAAA,eACjD,IAAA/D,WAAA,CAAA8D,GAAA,EAAClF,WAAA,CAAAsG,IAAI;QAACb,IAAI,EAAGA;MAAM,CAAE;IAAC,CAClB,CACL,eACD,IAAArE,WAAA,CAAA8D,GAAA;MAAMe,SAAS,EAAC,mCAAmC;MAAAd,QAAA,EAAGK;IAAI,CAAQ,CAAC;EAAA,CAC5D,CAAC;AAEX;AAEA,SAASe,OAAOA,CAAE;EAAEjC,IAAI;EAAEC;AAAS,CAAC,EAAG;EACtC,MAAMiC,QAAQ,GAAG,IAAAC,2BAAkB,EAAC,CAAC;EACrC,MAAM,CAAEC,eAAe,GAAG,OAAO,CAAE,GAAG7D,cAAc,CAAE,kBAAmB,CAAC;EAC1E,MAAM8D,MAAM,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC7B,OAAO,IAAAC,aAAK,EAAEvC,IAAI,CAACwC,OAAO,CAACC,GAAI,CAAC;EACjC,CAAC,EAAE,CAAEzC,IAAI,CAACwC,OAAO,CAACC,GAAG,CAAG,CAAC;EACzB,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,aAAO,EAAE;IAC5BnC,MAAM,EAAER,IAAI,CAACS,EAAE;IACfC,QAAQ,EAAEV,IAAI,CAACV,IAAI;IACnBqB,MAAM,EAAE;EACT,CAAE,CAAC;EAEH,MAAMiC,OAAO,GAAG,CAAEP,MAAM,EAAEQ,MAAM;EAChC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,oBACC,IAAA/F,WAAA,CAAA8D,GAAA,EAACtC,+BAA+B;IAAC4D,QAAQ,EAAGA,QAAU;IAAArB,QAAA,eACrD,IAAA/D,WAAA,CAAAyE,IAAA;MACCI,SAAS,EAAI,4CAA4C1B,QAAU,EAAG;MACtE6C,KAAK,EAAG;QAAEV;MAAgB,CAAG;MAAAvB,QAAA,GAE3BZ,QAAQ,KAAKb,sBAAW,IAAI,CAAEwD,OAAO,iBACtC,IAAA9F,WAAA,CAAA8D,GAAA,EAACxE,MAAA,CAAA2G,KAAK;QAAAlC,QAAA,eACL,IAAA/D,WAAA,CAAA8D,GAAA,EAAC5E,YAAA,CAAAgH,YAAY;UAACX,MAAM,EAAGA;QAAQ,CAAE;MAAC,CAC5B,CACP,EACCpC,QAAQ,KAAKb,sBAAW,iBACzB,IAAAtC,WAAA,CAAAyE,IAAA;QACCI,SAAS,EAAC,sCAAsC;QAChDrC,IAAI,EAAC,QAAQ;QACboD,OAAO,EAAGA,OAAS;QACnB,cAAa1C,IAAI,CAACG,KAAK,EAAEC,QAAQ,IAAIJ,IAAI,CAACG,KAAO;QAAAU,QAAA,GAE/C+B,OAAO,IAAI,IAAAvC,QAAE,EAAE,gBAAiB,CAAC,EACjC,CAAEuC,OAAO,iBACV,IAAA9F,WAAA,CAAA8D,GAAA,EAACxE,MAAA,CAAA2G,KAAK;UAAAlC,QAAA,eACL,IAAA/D,WAAA,CAAA8D,GAAA,EAAC5E,YAAA,CAAAgH,YAAY;YAACX,MAAM,EAAGA;UAAQ,CAAE;QAAC,CAC5B,CACP;MAAA,CACM,CACR;IAAA,CACG;EAAC,CAC0B,CAAC;AAEpC;AAEe,SAASY,aAAaA,CAAA,EAAG;EACvC,MAAM;IAAE1C;EAAO,CAAC,GAAG7B,WAAW,CAAC,CAAC;EAChC,MAAM;IAAEwE,UAAU,GAAG,KAAK;IAAEnE,MAAM;IAAEyB;EAAO,CAAC,GAAGD,MAAM;EACrD,MAAM,CAAE4C,SAAS,EAAEC,YAAY,CAAE,GAAG,IAAAnC,iBAAQ,EAAE,CAAET,MAAM,CAAG,CAAC;EAE1D,MAAM6C,WAAW,GAAG,IAAAf,gBAAO,EAAE,MAAM;IAClC,MAAMgB,QAAQ,GAAGvE,MAAM,aAANA,MAAM,cAANA,MAAM,GAAIM,YAAY,CAACC,IAAI;IAC5C,OAAO;MACN,GAAGD,YAAY;MACfC,IAAI,EAAEgE,QAAQ;MACdvE,MAAM,EAAEF,cAAc,CAAEyE,QAAQ,CAAE,CAACvE,MAAM;MACzCe,OAAO,EACNoD,UAAU,KAAK,KAAK,GACjB,CACA;QACCvD,KAAK,EAAE,QAAQ;QACf4D,QAAQ,EAAE,OAAO;QACjBC,KAAK,EAAE,CAAEN,UAAU;MACpB,CAAC,CACA,GACD;IACL,CAAC;EACF,CAAC,EAAE,CAAEnE,MAAM,EAAEmE,UAAU,CAAG,CAAC;EAC3B,MAAM,CAAEO,IAAI,EAAEC,OAAO,CAAE,GAAG,IAAAzC,iBAAQ,EAAEoC,WAAY,CAAC;EACjD,IAAAM,kBAAS,EAAE,MAAM;IAChBD,OAAO,CAAIE,WAAW,KAAQ;MAC7B,GAAGA,WAAW;MACd9D,OAAO,EACNoD,UAAU,KAAK,KAAK,GACjB,CACA;QACCvD,KAAK,EAAE,QAAQ;QACf4D,QAAQ,EAAEM,0BAAe;QACzBL,KAAK,EAAE,CAAEN,UAAU;MACpB,CAAC,CACA,GACD;IACL,CAAC,CAAG,CAAC;EACN,CAAC,EAAE,CAAEA,UAAU,CAAG,CAAC;EAEnB,MAAM;IAAEY,OAAO;IAAEC,WAAW,EAAEC;EAAc,CAAC,GAAG,IAAAC,0BAAgB,EAC/D,UAAU,EACVC,6BAAkB,EAClB;IACCC,QAAQ,EAAE,CAAC;EACZ,CACD,CAAC;EACD,MAAMC,OAAO,GAAG3F,UAAU,CAAC,CAAC;EAC5B,MAAM4F,iBAAiB,GAAG,IAAAC,oBAAW,EAClCC,KAAK,IAAM;IACZ,IAAKd,IAAI,EAAEnE,IAAI,KAAKF,sBAAW,EAAG;MACjCgF,OAAO,CAACI,IAAI,CAAE;QACb,GAAGjE,MAAM;QACTC,MAAM,EAAE+D,KAAK,CAAC1B,MAAM,KAAK,CAAC,GAAG0B,KAAK,CAAE,CAAC,CAAE,CAAC9D,EAAE,GAAGgE;MAC9C,CAAE,CAAC;IACJ;EACD,CAAC,EACD,CAAEL,OAAO,EAAE7D,MAAM,EAAEkD,IAAI,EAAEnE,IAAI,CAC9B,CAAC;EAED,MAAMoF,OAAO,GAAG,IAAApC,gBAAO,EAAE,MAAM;IAC9B,IAAK,CAAEwB,OAAO,EAAG;MAChB,OAAOlF,WAAW;IACnB;IACA,MAAM+F,UAAU,GAAG,IAAIC,GAAG,CAAC,CAAC;IAC5Bd,OAAO,CAACe,OAAO,CAAIC,QAAQ,IAAM;MAChCH,UAAU,CAACI,GAAG,CAAED,QAAQ,CAACE,WAAY,CAAC;IACvC,CAAE,CAAC;IACH,OAAOC,KAAK,CAACC,IAAI,CAAEP,UAAW,CAAC,CAACQ,GAAG,CAAIC,MAAM,KAAQ;MACpD5B,KAAK,EAAE4B,MAAM;MACbC,KAAK,EAAED;IACR,CAAC,CAAG,CAAC;EACN,CAAC,EAAE,CAAEtB,OAAO,CAAG,CAAC;EAEhB,MAAMjE,MAAM,GAAG,IAAAyC,gBAAO,EACrB,MAAM,CACL;IACCgD,MAAM,EAAE,IAAAjF,QAAE,EAAE,SAAU,CAAC;IACvBI,EAAE,EAAE,SAAS;IACb8E,MAAM,EAAEA,CAAE;MAAEvF;IAAK,CAAC,KAAM;MACvB,oBAAO,IAAAlD,WAAA,CAAA8D,GAAA,EAACqB,OAAO;QAACjC,IAAI,EAAGA,IAAM;QAACC,QAAQ,EAAGwD,IAAI,CAACnE;MAAM,CAAE,CAAC;IACxD,CAAC;IACDkG,QAAQ,EAAE,GAAG;IACbC,QAAQ,EAAE,GAAG;IACbC,aAAa,EAAE;EAChB,CAAC,EACD;IACCJ,MAAM,EAAE,IAAAjF,QAAE,EAAE,UAAW,CAAC;IACxBI,EAAE,EAAE,OAAO;IACXkF,QAAQ,EAAEA,CAAE;MAAE3F;IAAK,CAAC,KAAMA,IAAI,CAACG,KAAK,EAAEC,QAAQ;IAC9CmF,MAAM,EAAEA,CAAE;MAAEvF;IAAK,CAAC,kBACjB,IAAAlD,WAAA,CAAA8D,GAAA,EAACb,KAAK;MAACC,IAAI,EAAGA,IAAM;MAACC,QAAQ,EAAGwD,IAAI,CAACnE;IAAM,CAAE,CAC7C;IACDmG,QAAQ,EAAE,GAAG;IACbG,YAAY,EAAE,KAAK;IACnBC,kBAAkB,EAAE;EACrB,CAAC,EACD;IACCP,MAAM,EAAE,IAAAjF,QAAE,EAAE,aAAc,CAAC;IAC3BI,EAAE,EAAE,aAAa;IACjB8E,MAAM,EAAEA,CAAE;MAAEvF;IAAK,CAAC,KAAM;MACvB,OAAOA,IAAI,CAAC8F,WAAW,gBACtB,IAAAhJ,WAAA,CAAA8D,GAAA;QAAMe,SAAS,EAAC,4BAA4B;QAAAd,QAAA,EACzC,IAAAX,4BAAc,EAAEF,IAAI,CAAC8F,WAAY;MAAC,CAC/B,CAAC,GAEPrC,IAAI,CAACnE,IAAI,KAAKR,uBAAY,iBACzB,IAAAhC,WAAA,CAAAyE,IAAA,EAAAzE,WAAA,CAAAiJ,QAAA;QAAAlF,QAAA,gBACC,IAAA/D,WAAA,CAAA8D,GAAA,EAAClF,WAAA,CAAAsK,kBAAI;UAACC,OAAO,EAAC,OAAO;UAAC,eAAY,MAAM;UAAApF,QAAA,EAAC;QAEzC,CAAM,CAAC,eACP,IAAA/D,WAAA,CAAA8D,GAAA,EAAClF,WAAA,CAAAwK,cAAc;UAAArF,QAAA,EACZ,IAAAR,QAAE,EAAE,iBAAkB;QAAC,CACV,CAAC;MAAA,CAChB,CAEH;IACF,CAAC;IACDoF,QAAQ,EAAE,GAAG;IACbD,QAAQ,EAAE,GAAG;IACbE,aAAa,EAAE,KAAK;IACpBG,kBAAkB,EAAE;EACrB,CAAC,EACD;IACCP,MAAM,EAAE,IAAAjF,QAAE,EAAE,QAAS,CAAC;IACtBI,EAAE,EAAE,QAAQ;IACZkF,QAAQ,EAAEA,CAAE;MAAE3F;IAAK,CAAC,KAAMA,IAAI,CAACgF,WAAW;IAC1CO,MAAM,EAAEA,CAAE;MAAEvF;IAAK,CAAC,KAAM;MACvB,oBAAO,IAAAlD,WAAA,CAAA8D,GAAA,EAACE,WAAW;QAACb,QAAQ,EAAGwD,IAAI,CAACnE,IAAM;QAACU,IAAI,EAAGA;MAAM,CAAE,CAAC;IAC5D,CAAC;IACDmG,QAAQ,EAAEzB,OAAO;IACjB0B,KAAK,EAAE;EACR,CAAC,CACD,EACD,CAAE1B,OAAO,EAAEjB,IAAI,CAACnE,IAAI,CACrB,CAAC;EAED,MAAM;IAAE+G,IAAI;IAAEC;EAAe,CAAC,GAAG,IAAAhE,gBAAO,EAAE,MAAM;IAC/C,OAAO,IAAAiE,gCAAqB,EAAEzC,OAAO,EAAEL,IAAI,EAAE5D,MAAO,CAAC;EACtD,CAAC,EAAE,CAAEiE,OAAO,EAAEL,IAAI,EAAE5D,MAAM,CAAG,CAAC;EAE9B,MAAM2G,eAAe,GAAGrI,cAAc,CAAE;IACvCuC,QAAQ,EAAEwD,6BAAkB;IAC5BuC,OAAO,EAAE;EACV,CAAE,CAAC;EACH,MAAMC,UAAU,GAAG,IAAAC,mCAAiB,EAAC,CAAC;EACtC,MAAMC,OAAO,GAAG,IAAAtE,gBAAO,EACtB,MAAM,CAAEoE,UAAU,EAAE,GAAGF,eAAe,CAAE,EACxC,CAAEA,eAAe,EAAEE,UAAU,CAC9B,CAAC;EAED,MAAMG,YAAY,GAAG,IAAAvC,oBAAW,EAC7BwC,OAAO,IAAM;IACd,IAAKA,OAAO,CAACxH,IAAI,KAAKmE,IAAI,CAACnE,IAAI,EAAG;MACjC8E,OAAO,CAACI,IAAI,CAAE;QACb,GAAGjE,MAAM;QACTxB,MAAM,EAAE+H,OAAO,CAACxH;MACjB,CAAE,CAAC;IACJ;IAEAoE,OAAO,CAAEoD,OAAQ,CAAC;EACnB,CAAC,EACD,CAAErD,IAAI,CAACnE,IAAI,EAAEoE,OAAO,EAAEU,OAAO,EAAE7D,MAAM,CACtC,CAAC;EAED,oBACC,IAAAzD,WAAA,CAAA8D,GAAA,EAACvE,KAAA,CAAAgB,OAAI;IACJsE,SAAS,EAAC,0BAA0B;IACpCxB,KAAK,EAAG,IAAAE,QAAE,EAAE,WAAY,CAAG;IAC3BuG,OAAO,eAAG,IAAA9J,WAAA,CAAA8D,GAAA,EAACpE,eAAA,CAAAa,OAAc,IAAE,CAAG;IAAAwD,QAAA,eAE9B,IAAA/D,WAAA,CAAA8D,GAAA,EAAC3E,UAAA,CAAA8K,SAAS;MACTT,cAAc,EAAGA,cAAgB;MACjCzG,MAAM,EAAGA,MAAQ;MACjB+G,OAAO,EAAGA,OAAS;MACnBP,IAAI,EAAGA,IAAM;MACbW,SAAS,EAAGhD,aAAe;MAC3BP,IAAI,EAAGA,IAAM;MACboD,YAAY,EAAGA,YAAc;MAC7BxC,iBAAiB,EAAGA,iBAAmB;MACvClB,SAAS,EAAGA,SAAW;MACvBC,YAAY,EAAGA,YAAc;MAC7BvE,cAAc,EAAGA;IAAgB,CACjC;EAAC,CACG,CAAC;AAET","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_element","_coreData","_dataviews","_router","_editor","_page","_interopRequireDefault","_addNewTemplate","_constants","_lockUnlock","_dataviewsActions","_fields","_jsxRuntime","usePostActions","unlock","editorPrivateApis","useHistory","useLocation","routerPrivateApis","useEntityRecordsWithPermissions","corePrivateApis","EMPTY_ARRAY","defaultLayouts","LAYOUT_TABLE","fields","layout","primaryField","combinedFields","id","label","__","children","direction","styles","template","maxWidth","minWidth","preview","width","author","LAYOUT_GRID","mediaField","columnFields","LAYOUT_LIST","DEFAULT_VIEW","type","search","page","perPage","sort","field","filters","PageTemplates","params","activeView","postId","selection","setSelection","useState","defaultView","useMemo","usedType","operator","value","view","setView","useEffect","currentView","OPERATOR_IS_ANY","records","isResolving","isLoadingData","TEMPLATE_POST_TYPE","per_page","history","onChangeSelection","useCallback","items","push","length","undefined","authors","authorsSet","Set","forEach","add","author_text","Array","from","map","previewField","titleField","descriptionField","authorField","elements","data","paginationInfo","filterSortAndPaginate","postTypeActions","postType","context","editAction","useEditPostAction","actions","onChangeView","newView","jsx","default","className","title","DataViews","isLoading"],"sources":["@wordpress/edit-site/src/components/page-templates/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { privateApis as corePrivateApis } from '@wordpress/core-data';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport AddNewTemplate from '../add-new-template';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tOPERATOR_IS_ANY,\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { useEditPostAction } from '../dataviews-actions';\nimport {\n\tauthorField,\n\tdescriptionField,\n\tpreviewField,\n\ttitleField,\n} from './fields';\n\nconst { usePostActions } = unlock( editorPrivateApis );\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { useEntityRecordsWithPermissions } = unlock( corePrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nconst defaultLayouts = {\n\t[ LAYOUT_TABLE ]: {\n\t\tfields: [ 'template', 'author' ],\n\t\tlayout: {\n\t\t\tprimaryField: 'title',\n\t\t\tcombinedFields: [\n\t\t\t\t{\n\t\t\t\t\tid: 'template',\n\t\t\t\t\tlabel: __( 'Template' ),\n\t\t\t\t\tchildren: [ 'title', 'description' ],\n\t\t\t\t\tdirection: 'vertical',\n\t\t\t\t},\n\t\t\t],\n\t\t\tstyles: {\n\t\t\t\ttemplate: {\n\t\t\t\t\tmaxWidth: 400,\n\t\t\t\t\tminWidth: 320,\n\t\t\t\t},\n\t\t\t\tpreview: {\n\t\t\t\t\twidth: '1%',\n\t\t\t\t},\n\t\t\t\tauthor: {\n\t\t\t\t\twidth: '1%',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tfields: [ 'title', 'description', 'author' ],\n\t\tlayout: {\n\t\t\tmediaField: 'preview',\n\t\t\tprimaryField: 'title',\n\t\t\tcolumnFields: [ 'description' ],\n\t\t},\n\t},\n\t[ LAYOUT_LIST ]: {\n\t\tfields: [ 'title', 'description', 'author' ],\n\t\tlayout: {\n\t\t\tprimaryField: 'title',\n\t\t\tmediaField: 'preview',\n\t\t},\n\t},\n};\n\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\tsort: {\n\t\tfield: 'title',\n\t\tdirection: 'asc',\n\t},\n\tfields: defaultLayouts[ LAYOUT_GRID ].fields,\n\tlayout: defaultLayouts[ LAYOUT_GRID ].layout,\n\tfilters: [],\n};\n\nexport default function PageTemplates() {\n\tconst { params } = useLocation();\n\tconst { activeView = 'all', layout, postId } = params;\n\tconst [ selection, setSelection ] = useState( [ postId ] );\n\n\tconst defaultView = useMemo( () => {\n\t\tconst usedType = layout ?? DEFAULT_VIEW.type;\n\t\treturn {\n\t\t\t...DEFAULT_VIEW,\n\t\t\ttype: usedType,\n\t\t\tlayout: defaultLayouts[ usedType ].layout,\n\t\t\tfields: defaultLayouts[ usedType ].fields,\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: 'isAny',\n\t\t\t\t\t\t\t\tvalue: [ activeView ],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t};\n\t}, [ layout, activeView ] );\n\tconst [ view, setView ] = useState( defaultView );\n\tuseEffect( () => {\n\t\tsetView( ( currentView ) => ( {\n\t\t\t...currentView,\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: OPERATOR_IS_ANY,\n\t\t\t\t\t\t\t\tvalue: [ activeView ],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t} ) );\n\t}, [ activeView ] );\n\n\tconst { records, isResolving: isLoadingData } =\n\t\tuseEntityRecordsWithPermissions( 'postType', TEMPLATE_POST_TYPE, {\n\t\t\tper_page: -1,\n\t\t} );\n\tconst history = useHistory();\n\tconst onChangeSelection = useCallback(\n\t\t( items ) => {\n\t\t\tsetSelection( items );\n\t\t\tif ( view?.type === LAYOUT_LIST ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tpostId: items.length === 1 ? items[ 0 ] : undefined,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ history, params, view?.type ]\n\t);\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\trecords.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ records ] );\n\n\tconst fields = useMemo(\n\t\t() => [\n\t\t\tpreviewField,\n\t\t\ttitleField,\n\t\t\tdescriptionField,\n\t\t\t{\n\t\t\t\t...authorField,\n\t\t\t\telements: authors,\n\t\t\t},\n\t\t],\n\t\t[ authors ]\n\t);\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\treturn filterSortAndPaginate( records, view, fields );\n\t}, [ records, view, fields ] );\n\n\tconst postTypeActions = usePostActions( {\n\t\tpostType: TEMPLATE_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\tconst actions = useMemo(\n\t\t() => [ editAction, ...postTypeActions ],\n\t\t[ postTypeActions, editAction ]\n\t);\n\n\tconst onChangeView = useCallback(\n\t\t( newView ) => {\n\t\t\tif ( newView.type !== view.type ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tlayout: newView.type,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView, history, params ]\n\t);\n\n\treturn (\n\t\t<Page\n\t\t\tclassName=\"edit-site-page-templates\"\n\t\t\ttitle={ __( 'Templates' ) }\n\t\t\tactions={ <AddNewTemplate /> }\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tkey={ activeView }\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\tselection={ selection }\n\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.PostEdit = PostEdit;
8
+ var _clsx = _interopRequireDefault(require("clsx"));
9
+ var _i18n = require("@wordpress/i18n");
10
+ var _dataviews = require("@wordpress/dataviews");
11
+ var _data = require("@wordpress/data");
12
+ var _coreData = require("@wordpress/core-data");
13
+ var _components = require("@wordpress/components");
14
+ var _element = require("@wordpress/element");
15
+ var _page = _interopRequireDefault(require("../page"));
16
+ var _postFields = _interopRequireDefault(require("../post-fields"));
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ /**
19
+ * External dependencies
20
+ */
21
+
22
+ /**
23
+ * WordPress dependencies
24
+ */
25
+
26
+ /**
27
+ * Internal dependencies
28
+ */
29
+
30
+ function PostEditForm({
31
+ postType,
32
+ postId
33
+ }) {
34
+ const ids = (0, _element.useMemo)(() => postId.split(','), [postId]);
35
+ const {
36
+ initialEdits
37
+ } = (0, _data.useSelect)(select => {
38
+ if (ids.length !== 1) {}
39
+ return {
40
+ initialEdits: ids.length === 1 ? select(_coreData.store).getEntityRecord('postType', postType, ids[0]) : null
41
+ };
42
+ }, [postType, ids]);
43
+ const registry = (0, _data.useRegistry)();
44
+ const {
45
+ saveEntityRecord
46
+ } = (0, _data.useDispatch)(_coreData.store);
47
+ const {
48
+ fields
49
+ } = (0, _postFields.default)();
50
+ const form = {
51
+ type: 'panel',
52
+ fields: ['title', 'author']
53
+ };
54
+ const [edits, setEdits] = (0, _element.useState)({});
55
+ const itemWithEdits = (0, _element.useMemo)(() => {
56
+ return {
57
+ ...initialEdits,
58
+ ...edits
59
+ };
60
+ }, [initialEdits, edits]);
61
+ const onSubmit = async event => {
62
+ event.preventDefault();
63
+ if (!(0, _dataviews.isItemValid)(itemWithEdits, fields, form)) {
64
+ return;
65
+ }
66
+ const {
67
+ getEntityRecord
68
+ } = registry.resolveSelect(_coreData.store);
69
+ for (const id of ids) {
70
+ const item = await getEntityRecord('postType', postType, id);
71
+ saveEntityRecord('postType', postType, {
72
+ ...item,
73
+ ...edits
74
+ });
75
+ }
76
+ setEdits({});
77
+ };
78
+ const isUpdateDisabled = !(0, _dataviews.isItemValid)(itemWithEdits, fields, form);
79
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
80
+ as: "form",
81
+ onSubmit: onSubmit,
82
+ spacing: 4,
83
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviews.DataForm, {
84
+ data: itemWithEdits,
85
+ fields: fields,
86
+ form: form,
87
+ onChange: setEdits
88
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.FlexItem, {
89
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
90
+ variant: "primary",
91
+ type: "submit",
92
+ accessibleWhenDisabled: true,
93
+ disabled: isUpdateDisabled,
94
+ __next40pxDefaultSize: true,
95
+ children: (0, _i18n.__)('Update')
96
+ })
97
+ })]
98
+ });
99
+ }
100
+ function PostEdit({
101
+ postType,
102
+ postId
103
+ }) {
104
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_page.default, {
105
+ className: (0, _clsx.default)('edit-site-post-edit', {
106
+ 'is-empty': !postId
107
+ }),
108
+ label: (0, _i18n.__)('Post Edit'),
109
+ children: [postId && /*#__PURE__*/(0, _jsxRuntime.jsx)(PostEditForm, {
110
+ postType: postType,
111
+ postId: postId
112
+ }), !postId && /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
113
+ children: (0, _i18n.__)('Select a page to edit')
114
+ })]
115
+ });
116
+ }
117
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_dataviews","_data","_coreData","_components","_element","_page","_postFields","_jsxRuntime","PostEditForm","postType","postId","ids","useMemo","split","initialEdits","useSelect","select","length","coreDataStore","getEntityRecord","registry","useRegistry","saveEntityRecord","useDispatch","fields","usePostFields","form","type","edits","setEdits","useState","itemWithEdits","onSubmit","event","preventDefault","isItemValid","resolveSelect","id","item","isUpdateDisabled","jsxs","__experimentalVStack","as","spacing","children","jsx","DataForm","data","onChange","FlexItem","Button","variant","accessibleWhenDisabled","disabled","__next40pxDefaultSize","__","PostEdit","default","className","clsx","label"],"sources":["@wordpress/edit-site/src/components/post-edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { DataForm, isItemValid } from '@wordpress/dataviews';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport {\n\tButton,\n\tFlexItem,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useState, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport usePostFields from '../post-fields';\n\nfunction PostEditForm( { postType, postId } ) {\n\tconst ids = useMemo( () => postId.split( ',' ), [ postId ] );\n\tconst { initialEdits } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ids.length !== 1 ) {\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tinitialEdits:\n\t\t\t\t\tids.length === 1\n\t\t\t\t\t\t? select( coreDataStore ).getEntityRecord(\n\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\tpostType,\n\t\t\t\t\t\t\t\tids[ 0 ]\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: null,\n\t\t\t};\n\t\t},\n\t\t[ postType, ids ]\n\t);\n\tconst registry = useRegistry();\n\tconst { saveEntityRecord } = useDispatch( coreDataStore );\n\tconst { fields } = usePostFields();\n\tconst form = {\n\t\ttype: 'panel',\n\t\tfields: [ 'title', 'author' ],\n\t};\n\tconst [ edits, setEdits ] = useState( {} );\n\tconst itemWithEdits = useMemo( () => {\n\t\treturn {\n\t\t\t...initialEdits,\n\t\t\t...edits,\n\t\t};\n\t}, [ initialEdits, edits ] );\n\tconst onSubmit = async ( event ) => {\n\t\tevent.preventDefault();\n\n\t\tif ( ! isItemValid( itemWithEdits, fields, form ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { getEntityRecord } = registry.resolveSelect( coreDataStore );\n\t\tfor ( const id of ids ) {\n\t\t\tconst item = await getEntityRecord( 'postType', postType, id );\n\t\t\tsaveEntityRecord( 'postType', postType, {\n\t\t\t\t...item,\n\t\t\t\t...edits,\n\t\t\t} );\n\t\t}\n\t\tsetEdits( {} );\n\t};\n\n\tconst isUpdateDisabled = ! isItemValid( itemWithEdits, fields, form );\n\treturn (\n\t\t<VStack as=\"form\" onSubmit={ onSubmit } spacing={ 4 }>\n\t\t\t<DataForm\n\t\t\t\tdata={ itemWithEdits }\n\t\t\t\tfields={ fields }\n\t\t\t\tform={ form }\n\t\t\t\tonChange={ setEdits }\n\t\t\t/>\n\t\t\t<FlexItem>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\tdisabled={ isUpdateDisabled }\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Update' ) }\n\t\t\t\t</Button>\n\t\t\t</FlexItem>\n\t\t</VStack>\n\t);\n}\n\nexport function PostEdit( { postType, postId } ) {\n\treturn (\n\t\t<Page\n\t\t\tclassName={ clsx( 'edit-site-post-edit', {\n\t\t\t\t'is-empty': ! postId,\n\t\t\t} ) }\n\t\t\tlabel={ __( 'Post Edit' ) }\n\t\t>\n\t\t\t{ postId && (\n\t\t\t\t<PostEditForm postType={ postType } postId={ postId } />\n\t\t\t) }\n\t\t\t{ ! postId && <p>{ __( 'Select a page to edit' ) }</p> }\n\t\t</Page>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}