@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
@@ -1,568 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = PostsList;
8
- var _clsx = _interopRequireDefault(require("clsx"));
9
- var _components = require("@wordpress/components");
10
- var _i18n = require("@wordpress/i18n");
11
- var _coreData = require("@wordpress/core-data");
12
- var _htmlEntities = require("@wordpress/html-entities");
13
- var _element = require("@wordpress/element");
14
- var _date = require("@wordpress/date");
15
- var _router = require("@wordpress/router");
16
- var _data = require("@wordpress/data");
17
- var _dataviews = require("@wordpress/dataviews");
18
- var _editor = require("@wordpress/editor");
19
- var _icons = require("@wordpress/icons");
20
- var _page = _interopRequireDefault(require("../page"));
21
- var _link = _interopRequireWildcard(require("../routes/link"));
22
- var _defaultViews = require("../sidebar-dataviews/default-views");
23
- var _constants = require("../../utils/constants");
24
- var _addNewPost = _interopRequireDefault(require("../add-new-post"));
25
- var _media = _interopRequireDefault(require("../media"));
26
- var _lockUnlock = require("../../lock-unlock");
27
- var _dataviewsActions = require("../dataviews-actions");
28
- var _compose = require("@wordpress/compose");
29
- var _jsxRuntime = require("react/jsx-runtime");
30
- 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); }
31
- 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; }
32
- /**
33
- * External dependencies
34
- */
35
-
36
- /**
37
- * WordPress dependencies
38
- */
39
-
40
- /**
41
- * Internal dependencies
42
- */
43
-
44
- const {
45
- usePostActions
46
- } = (0, _lockUnlock.unlock)(_editor.privateApis);
47
- const {
48
- useLocation,
49
- useHistory
50
- } = (0, _lockUnlock.unlock)(_router.privateApis);
51
- const EMPTY_ARRAY = [];
52
- const getFormattedDate = dateToDisplay => (0, _date.dateI18n)((0, _date.getSettings)().formats.datetimeAbbreviated, (0, _date.getDate)(dateToDisplay));
53
- function useView(postType) {
54
- const {
55
- params: {
56
- activeView = 'all',
57
- isCustom = 'false',
58
- layout
59
- }
60
- } = useLocation();
61
- const history = useHistory();
62
- const DEFAULT_VIEWS = (0, _defaultViews.useDefaultViews)({
63
- postType
64
- });
65
- const selectedDefaultView = (0, _element.useMemo)(() => {
66
- const defaultView = isCustom === 'false' && DEFAULT_VIEWS[postType].find(({
67
- slug
68
- }) => slug === activeView)?.view;
69
- if (isCustom === 'false' && layout) {
70
- return {
71
- ...defaultView,
72
- type: layout,
73
- layout: {
74
- ...(_defaultViews.DEFAULT_CONFIG_PER_VIEW_TYPE[layout] || {})
75
- }
76
- };
77
- }
78
- return defaultView;
79
- }, [isCustom, activeView, layout, postType, DEFAULT_VIEWS]);
80
- const [view, setView] = (0, _element.useState)(selectedDefaultView);
81
- (0, _element.useEffect)(() => {
82
- if (selectedDefaultView) {
83
- setView(selectedDefaultView);
84
- }
85
- }, [selectedDefaultView]);
86
- const editedViewRecord = (0, _data.useSelect)(select => {
87
- if (isCustom !== 'true') {
88
- return;
89
- }
90
- const {
91
- getEditedEntityRecord
92
- } = select(_coreData.store);
93
- const dataviewRecord = getEditedEntityRecord('postType', 'wp_dataviews', Number(activeView));
94
- return dataviewRecord;
95
- }, [activeView, isCustom]);
96
- const {
97
- editEntityRecord
98
- } = (0, _data.useDispatch)(_coreData.store);
99
- const customView = (0, _element.useMemo)(() => {
100
- const storedView = editedViewRecord?.content && JSON.parse(editedViewRecord?.content);
101
- if (!storedView) {
102
- return storedView;
103
- }
104
- return {
105
- ...storedView,
106
- layout: {
107
- ...(_defaultViews.DEFAULT_CONFIG_PER_VIEW_TYPE[storedView?.type] || {})
108
- }
109
- };
110
- }, [editedViewRecord?.content]);
111
- const setCustomView = (0, _element.useCallback)(viewToSet => {
112
- editEntityRecord('postType', 'wp_dataviews', editedViewRecord?.id, {
113
- content: JSON.stringify(viewToSet)
114
- });
115
- }, [editEntityRecord, editedViewRecord?.id]);
116
- const setDefaultViewAndUpdateUrl = (0, _element.useCallback)(viewToSet => {
117
- if (viewToSet.type !== view?.type) {
118
- const {
119
- params
120
- } = history.getLocationWithParams();
121
- history.push({
122
- ...params,
123
- layout: viewToSet.type
124
- });
125
- }
126
- setView(viewToSet);
127
- }, [history, view?.type]);
128
- if (isCustom === 'false') {
129
- return [view, setDefaultViewAndUpdateUrl];
130
- } else if (isCustom === 'true' && customView) {
131
- return [customView, setCustomView];
132
- }
133
- // Loading state where no the view was not found on custom views or default views.
134
- return [DEFAULT_VIEWS[postType][0].view, setDefaultViewAndUpdateUrl];
135
- }
136
-
137
- // See https://github.com/WordPress/gutenberg/issues/55886
138
- // We do not support custom statutes at the moment.
139
- const STATUSES = [{
140
- value: 'draft',
141
- label: (0, _i18n.__)('Draft'),
142
- icon: _icons.drafts
143
- }, {
144
- value: 'future',
145
- label: (0, _i18n.__)('Scheduled'),
146
- icon: _icons.scheduled
147
- }, {
148
- value: 'pending',
149
- label: (0, _i18n.__)('Pending Review'),
150
- icon: _icons.pending
151
- }, {
152
- value: 'private',
153
- label: (0, _i18n.__)('Private'),
154
- icon: _icons.notAllowed
155
- }, {
156
- value: 'publish',
157
- label: (0, _i18n.__)('Published'),
158
- icon: _icons.published
159
- }, {
160
- value: 'trash',
161
- label: (0, _i18n.__)('Trash'),
162
- icon: _icons.trash
163
- }];
164
- const DEFAULT_STATUSES = 'draft,future,pending,private,publish'; // All but 'trash'.
165
-
166
- function FeaturedImage({
167
- item,
168
- viewType
169
- }) {
170
- const isDisabled = item.status === 'trash';
171
- const {
172
- onClick
173
- } = (0, _link.useLink)({
174
- postId: item.id,
175
- postType: item.type,
176
- canvas: 'edit'
177
- });
178
- const hasMedia = !!item.featured_media;
179
- const size = viewType === _constants.LAYOUT_GRID ? ['large', 'full', 'medium', 'thumbnail'] : ['thumbnail', 'medium', 'large', 'full'];
180
- const media = hasMedia ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_media.default, {
181
- className: "posts-list-page__featured-image",
182
- id: item.featured_media,
183
- size: size
184
- }) : null;
185
- const renderButton = viewType !== _constants.LAYOUT_LIST && !isDisabled;
186
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
187
- className: `posts-list-page__featured-image-wrapper is-layout-${viewType}`,
188
- children: renderButton ? /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
189
- className: "posts-list-page-preview-field__button",
190
- type: "button",
191
- onClick: onClick,
192
- "aria-label": item.title?.rendered || (0, _i18n.__)('(no title)'),
193
- children: media
194
- }) : media
195
- });
196
- }
197
- function getItemId(item) {
198
- return item.id.toString();
199
- }
200
- function PostStatusField({
201
- item
202
- }) {
203
- const status = STATUSES.find(({
204
- value
205
- }) => value === item.status);
206
- const label = status?.label || item.status;
207
- const icon = status?.icon;
208
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
209
- alignment: "left",
210
- spacing: 1,
211
- children: [icon && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
212
- className: "posts-list-page-post-author-field__icon-container",
213
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
214
- icon: icon
215
- })
216
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
217
- children: label
218
- })]
219
- });
220
- }
221
- function PostAuthorField({
222
- item,
223
- viewType
224
- }) {
225
- const {
226
- text,
227
- icon,
228
- imageUrl
229
- } = (0, _data.useSelect)(select => {
230
- const {
231
- getUser
232
- } = select(_coreData.store);
233
- const user = getUser(item.author);
234
- return {
235
- icon: _icons.commentAuthorAvatar,
236
- imageUrl: user?.avatar_urls?.[48],
237
- text: user?.name
238
- };
239
- }, [item]);
240
- const withAuthorImage = viewType !== _constants.LAYOUT_LIST && imageUrl;
241
- const withAuthorIcon = viewType !== _constants.LAYOUT_LIST && !imageUrl;
242
- const [isImageLoaded, setIsImageLoaded] = (0, _element.useState)(false);
243
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
244
- alignment: "left",
245
- spacing: 1,
246
- children: [withAuthorImage && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
247
- className: (0, _clsx.default)('page-templates-author-field__avatar', {
248
- 'is-loaded': isImageLoaded
249
- }),
250
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
251
- onLoad: () => setIsImageLoaded(true),
252
- alt: (0, _i18n.__)('Author avatar'),
253
- src: imageUrl
254
- })
255
- }), withAuthorIcon && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
256
- className: "page-templates-author-field__icon",
257
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
258
- icon: icon
259
- })
260
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
261
- className: "page-templates-author-field__name",
262
- children: text
263
- })]
264
- });
265
- }
266
- function PostsList({
267
- postType
268
- }) {
269
- var _records$map, _usePrevious;
270
- const [view, setView] = useView(postType);
271
- const history = useHistory();
272
- const {
273
- params: {
274
- postId
275
- }
276
- } = useLocation();
277
- const [selection, setSelection] = (0, _element.useState)([postId]);
278
- const onSelectionChange = (0, _element.useCallback)(items => {
279
- var _params$isCustom;
280
- const {
281
- params
282
- } = history.getLocationWithParams();
283
- if (((_params$isCustom = params.isCustom) !== null && _params$isCustom !== void 0 ? _params$isCustom : 'false') === 'false' && view?.type === _constants.LAYOUT_LIST) {
284
- history.push({
285
- ...params,
286
- postId: items.length === 1 ? items[0].id : undefined
287
- });
288
- }
289
- }, [history, view?.type]);
290
- const queryArgs = (0, _element.useMemo)(() => {
291
- const filters = {};
292
- view.filters.forEach(filter => {
293
- if (filter.field === 'status' && filter.operator === _constants.OPERATOR_IS_ANY) {
294
- filters.status = filter.value;
295
- }
296
- if (filter.field === 'author' && filter.operator === _constants.OPERATOR_IS_ANY) {
297
- filters.author = filter.value;
298
- } else if (filter.field === 'author' && filter.operator === _constants.OPERATOR_IS_NONE) {
299
- filters.author_exclude = filter.value;
300
- }
301
- });
302
- // We want to provide a different default item for the status filter
303
- // than the REST API provides.
304
- if (!filters.status || filters.status === '') {
305
- filters.status = DEFAULT_STATUSES;
306
- }
307
- return {
308
- per_page: view.perPage,
309
- page: view.page,
310
- _embed: 'author',
311
- order: view.sort?.direction,
312
- orderby: view.sort?.field,
313
- search: view.search,
314
- ...filters
315
- };
316
- }, [view]);
317
- const {
318
- records,
319
- isResolving: isLoadingMainEntities,
320
- totalItems,
321
- totalPages
322
- } = (0, _coreData.useEntityRecords)('postType', postType, queryArgs);
323
- const ids = (_records$map = records?.map(record => getItemId(record))) !== null && _records$map !== void 0 ? _records$map : [];
324
- const prevIds = (_usePrevious = (0, _compose.usePrevious)(ids)) !== null && _usePrevious !== void 0 ? _usePrevious : [];
325
- const deletedIds = prevIds.filter(id => !ids.includes(id));
326
- const postIdWasDeleted = deletedIds.includes(postId);
327
- (0, _element.useEffect)(() => {
328
- if (postIdWasDeleted) {
329
- history.push({
330
- ...history.getLocationWithParams().params,
331
- postId: undefined
332
- });
333
- }
334
- }, [postIdWasDeleted, history]);
335
- const {
336
- records: authors,
337
- isResolving: isLoadingAuthors
338
- } = (0, _coreData.useEntityRecords)('root', 'user', {
339
- per_page: -1
340
- });
341
- const paginationInfo = (0, _element.useMemo)(() => ({
342
- totalItems,
343
- totalPages
344
- }), [totalItems, totalPages]);
345
- const {
346
- frontPageId,
347
- postsPageId,
348
- labels,
349
- canCreateRecord
350
- } = (0, _data.useSelect)(select => {
351
- const {
352
- getEntityRecord,
353
- getPostType,
354
- canUser
355
- } = select(_coreData.store);
356
- const siteSettings = getEntityRecord('root', 'site');
357
- const postTypeObject = getPostType(postType);
358
- return {
359
- frontPageId: siteSettings?.page_on_front,
360
- postsPageId: siteSettings?.page_for_posts,
361
- labels: getPostType(postType)?.labels,
362
- canCreateRecord: canUser('create', postTypeObject?.rest_base || 'posts')
363
- };
364
- }, [postType]);
365
-
366
- // TODO: this should be abstracted into a hook similar to `usePostActions`.
367
- const fields = (0, _element.useMemo)(() => [{
368
- id: 'featured-image',
369
- header: (0, _i18n.__)('Featured Image'),
370
- getValue: ({
371
- item
372
- }) => item.featured_media,
373
- render: ({
374
- item
375
- }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(FeaturedImage, {
376
- item: item,
377
- viewType: view.type
378
- }),
379
- enableSorting: false,
380
- width: '1%'
381
- }, {
382
- header: (0, _i18n.__)('Title'),
383
- id: 'title',
384
- getValue: ({
385
- item
386
- }) => item.title?.rendered,
387
- render: ({
388
- item
389
- }) => {
390
- const addLink = [_constants.LAYOUT_TABLE, _constants.LAYOUT_GRID].includes(view.type) && item.status !== 'trash';
391
- const title = addLink ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_link.default, {
392
- params: {
393
- postId: item.id,
394
- postType: item.type,
395
- canvas: 'edit'
396
- },
397
- children: (0, _htmlEntities.decodeEntities)(item.title?.rendered) || (0, _i18n.__)('(no title)')
398
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
399
- children: (0, _htmlEntities.decodeEntities)(item.title?.rendered) || (0, _i18n.__)('(no title)')
400
- });
401
- let suffix = '';
402
- if (item.id === frontPageId) {
403
- suffix = /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
404
- className: "posts-list-page-title-badge",
405
- children: (0, _i18n.__)('Front Page')
406
- });
407
- } else if (item.id === postsPageId) {
408
- suffix = /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
409
- className: "posts-list-page-title-badge",
410
- children: (0, _i18n.__)('Posts Page')
411
- });
412
- }
413
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
414
- className: "posts-list-page-title",
415
- alignment: "center",
416
- justify: "flex-start",
417
- children: [title, suffix]
418
- });
419
- },
420
- maxWidth: 300,
421
- enableHiding: false
422
- }, {
423
- header: (0, _i18n.__)('Author'),
424
- id: 'author',
425
- getValue: ({
426
- item
427
- }) => item._embedded?.author[0]?.name,
428
- elements: authors?.map(({
429
- id,
430
- name
431
- }) => ({
432
- value: id,
433
- label: name
434
- })) || [],
435
- render: ({
436
- item
437
- }) => {
438
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(PostAuthorField, {
439
- viewType: view.type,
440
- item: item
441
- });
442
- }
443
- }, {
444
- header: (0, _i18n.__)('Status'),
445
- id: 'status',
446
- getValue: ({
447
- item
448
- }) => {
449
- var _STATUSES$find$label;
450
- return (_STATUSES$find$label = STATUSES.find(({
451
- value
452
- }) => value === item.status)?.label) !== null && _STATUSES$find$label !== void 0 ? _STATUSES$find$label : item.status;
453
- },
454
- elements: STATUSES,
455
- render: PostStatusField,
456
- enableSorting: false,
457
- filterBy: {
458
- operators: [_constants.OPERATOR_IS_ANY]
459
- }
460
- }, {
461
- header: (0, _i18n.__)('Date'),
462
- id: 'date',
463
- render: ({
464
- item
465
- }) => {
466
- const isDraftOrPrivate = ['draft', 'private'].includes(item.status);
467
- if (isDraftOrPrivate) {
468
- return (0, _element.createInterpolateElement)((0, _i18n.sprintf)( /* translators: %s: page creation date */
469
- (0, _i18n.__)('<span>Modified: <time>%s</time></span>'), getFormattedDate(item.date)), {
470
- span: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {}),
471
- time: /*#__PURE__*/(0, _jsxRuntime.jsx)("time", {})
472
- });
473
- }
474
- const isScheduled = item.status === 'future';
475
- if (isScheduled) {
476
- return (0, _element.createInterpolateElement)((0, _i18n.sprintf)( /* translators: %s: page creation date */
477
- (0, _i18n.__)('<span>Scheduled: <time>%s</time></span>'), getFormattedDate(item.date)), {
478
- span: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {}),
479
- time: /*#__PURE__*/(0, _jsxRuntime.jsx)("time", {})
480
- });
481
- }
482
-
483
- // Pending & Published posts show the modified date if it's newer.
484
- const dateToDisplay = (0, _date.getDate)(item.modified) > (0, _date.getDate)(item.date) ? item.modified : item.date;
485
- const isPending = item.status === 'pending';
486
- if (isPending) {
487
- return (0, _element.createInterpolateElement)((0, _i18n.sprintf)( /* translators: %s: the newest of created or modified date for the page */
488
- (0, _i18n.__)('<span>Modified: <time>%s</time></span>'), getFormattedDate(dateToDisplay)), {
489
- span: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {}),
490
- time: /*#__PURE__*/(0, _jsxRuntime.jsx)("time", {})
491
- });
492
- }
493
- const isPublished = item.status === 'publish';
494
- if (isPublished) {
495
- return (0, _element.createInterpolateElement)((0, _i18n.sprintf)( /* translators: %s: the newest of created or modified date for the page */
496
- (0, _i18n.__)('<span>Published: <time>%s</time></span>'), getFormattedDate(dateToDisplay)), {
497
- span: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {}),
498
- time: /*#__PURE__*/(0, _jsxRuntime.jsx)("time", {})
499
- });
500
- }
501
-
502
- // Unknow status.
503
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("time", {
504
- children: getFormattedDate(item.date)
505
- });
506
- }
507
- }], [authors, view.type, frontPageId, postsPageId]);
508
- const postTypeActions = usePostActions({
509
- postType,
510
- context: 'list'
511
- });
512
- const editAction = (0, _dataviewsActions.useEditPostAction)();
513
- const actions = (0, _element.useMemo)(() => [editAction, ...postTypeActions], [postTypeActions, editAction]);
514
- const onChangeView = (0, _element.useCallback)(newView => {
515
- if (newView.type !== view.type) {
516
- newView = {
517
- ...newView,
518
- layout: {
519
- ..._defaultViews.DEFAULT_CONFIG_PER_VIEW_TYPE[newView.type]
520
- }
521
- };
522
- }
523
- setView(newView);
524
- }, [view.type, setView]);
525
- const [showAddPostModal, setShowAddPostModal] = (0, _element.useState)(false);
526
- const openModal = () => setShowAddPostModal(true);
527
- const closeModal = () => setShowAddPostModal(false);
528
- const handleNewPage = ({
529
- type,
530
- id
531
- }) => {
532
- history.push({
533
- postId: id,
534
- postType: type,
535
- canvas: 'edit'
536
- });
537
- closeModal();
538
- };
539
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_page.default, {
540
- title: labels?.name,
541
- actions: labels?.add_new_item && canCreateRecord && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
542
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
543
- variant: "primary",
544
- onClick: openModal,
545
- __next40pxDefaultSize: true,
546
- children: labels.add_new_item
547
- }), showAddPostModal && /*#__PURE__*/(0, _jsxRuntime.jsx)(_addNewPost.default, {
548
- postType: postType,
549
- onSave: handleNewPage,
550
- onClose: closeModal
551
- })]
552
- }),
553
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviews.DataViews, {
554
- paginationInfo: paginationInfo,
555
- fields: fields,
556
- actions: actions,
557
- data: records || EMPTY_ARRAY,
558
- isLoading: isLoadingMainEntities || isLoadingAuthors,
559
- view: view,
560
- onChangeView: onChangeView,
561
- selection: selection,
562
- setSelection: setSelection,
563
- onSelectionChange: onSelectionChange,
564
- getItemId: getItemId
565
- })
566
- });
567
- }
568
- //# sourceMappingURL=posts-list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_coreData","_htmlEntities","_element","_date","_router","_data","_dataviews","_editor","_icons","_page","_link","_interopRequireWildcard","_defaultViews","_constants","_addNewPost","_media","_lockUnlock","_dataviewsActions","_compose","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","usePostActions","unlock","editorPrivateApis","useLocation","useHistory","routerPrivateApis","EMPTY_ARRAY","getFormattedDate","dateToDisplay","dateI18n","getSettings","formats","datetimeAbbreviated","getDate","useView","postType","params","activeView","isCustom","layout","history","DEFAULT_VIEWS","useDefaultViews","selectedDefaultView","useMemo","defaultView","find","slug","view","type","DEFAULT_CONFIG_PER_VIEW_TYPE","setView","useState","useEffect","editedViewRecord","useSelect","select","getEditedEntityRecord","coreStore","dataviewRecord","Number","editEntityRecord","useDispatch","customView","storedView","content","JSON","parse","setCustomView","useCallback","viewToSet","id","stringify","setDefaultViewAndUpdateUrl","getLocationWithParams","push","STATUSES","value","label","__","icon","drafts","scheduled","pending","notAllowed","published","trash","DEFAULT_STATUSES","FeaturedImage","item","viewType","isDisabled","status","onClick","useLink","postId","canvas","hasMedia","featured_media","size","LAYOUT_GRID","media","jsx","className","renderButton","LAYOUT_LIST","children","title","rendered","getItemId","toString","PostStatusField","jsxs","__experimentalHStack","alignment","spacing","Icon","PostAuthorField","text","imageUrl","getUser","user","author","authorIcon","avatar_urls","name","withAuthorImage","withAuthorIcon","isImageLoaded","setIsImageLoaded","clsx","onLoad","alt","src","PostsList","_records$map","_usePrevious","selection","setSelection","onSelectionChange","items","_params$isCustom","length","undefined","queryArgs","filters","forEach","filter","field","operator","OPERATOR_IS_ANY","OPERATOR_IS_NONE","author_exclude","per_page","perPage","page","_embed","order","sort","direction","orderby","search","records","isResolving","isLoadingMainEntities","totalItems","totalPages","useEntityRecords","ids","map","record","prevIds","usePrevious","deletedIds","includes","postIdWasDeleted","authors","isLoadingAuthors","paginationInfo","frontPageId","postsPageId","labels","canCreateRecord","getEntityRecord","getPostType","canUser","siteSettings","postTypeObject","page_on_front","page_for_posts","rest_base","fields","header","getValue","render","enableSorting","width","addLink","LAYOUT_TABLE","decodeEntities","suffix","justify","maxWidth","enableHiding","_embedded","elements","_STATUSES$find$label","filterBy","operators","isDraftOrPrivate","createInterpolateElement","sprintf","date","span","time","isScheduled","modified","isPending","isPublished","postTypeActions","context","editAction","useEditPostAction","actions","onChangeView","newView","showAddPostModal","setShowAddPostModal","openModal","closeModal","handleNewPage","add_new_item","Fragment","Button","variant","__next40pxDefaultSize","onSave","onClose","DataViews","data","isLoading"],"sources":["@wordpress/edit-site/src/components/posts-app/posts-list.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalHStack as HStack,\n\tIcon,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useEntityRecords, store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport {\n\tcreateInterpolateElement,\n\tuseState,\n\tuseMemo,\n\tuseCallback,\n\tuseEffect,\n} from '@wordpress/element';\nimport { dateI18n, getDate, getSettings } from '@wordpress/date';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { DataViews } from '@wordpress/dataviews';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport {\n\ttrash,\n\tdrafts,\n\tpublished,\n\tscheduled,\n\tpending,\n\tnotAllowed,\n\tcommentAuthorAvatar as authorIcon,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport { default as Link, useLink } from '../routes/link';\nimport {\n\tuseDefaultViews,\n\tDEFAULT_CONFIG_PER_VIEW_TYPE,\n} from '../sidebar-dataviews/default-views';\nimport {\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n} from '../../utils/constants';\n\nimport AddNewPostModal from '../add-new-post';\nimport Media from '../media';\nimport { unlock } from '../../lock-unlock';\nimport { useEditPostAction } from '../dataviews-actions';\nimport { usePrevious } from '@wordpress/compose';\n\nconst { usePostActions } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\nconst EMPTY_ARRAY = [];\n\nconst getFormattedDate = ( dateToDisplay ) =>\n\tdateI18n(\n\t\tgetSettings().formats.datetimeAbbreviated,\n\t\tgetDate( dateToDisplay )\n\t);\n\nfunction useView( postType ) {\n\tconst {\n\t\tparams: { activeView = 'all', isCustom = 'false', layout },\n\t} = useLocation();\n\tconst history = useHistory();\n\tconst DEFAULT_VIEWS = useDefaultViews( { postType } );\n\tconst selectedDefaultView = useMemo( () => {\n\t\tconst defaultView =\n\t\t\tisCustom === 'false' &&\n\t\t\tDEFAULT_VIEWS[ postType ].find(\n\t\t\t\t( { slug } ) => slug === activeView\n\t\t\t)?.view;\n\t\tif ( isCustom === 'false' && layout ) {\n\t\t\treturn {\n\t\t\t\t...defaultView,\n\t\t\t\ttype: layout,\n\t\t\t\tlayout: {\n\t\t\t\t\t...( DEFAULT_CONFIG_PER_VIEW_TYPE[ layout ] || {} ),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t\treturn defaultView;\n\t}, [ isCustom, activeView, layout, postType, DEFAULT_VIEWS ] );\n\tconst [ view, setView ] = useState( selectedDefaultView );\n\n\tuseEffect( () => {\n\t\tif ( selectedDefaultView ) {\n\t\t\tsetView( selectedDefaultView );\n\t\t}\n\t}, [ selectedDefaultView ] );\n\tconst editedViewRecord = useSelect(\n\t\t( select ) => {\n\t\t\tif ( isCustom !== 'true' ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\t\tconst dataviewRecord = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_dataviews',\n\t\t\t\tNumber( activeView )\n\t\t\t);\n\t\t\treturn dataviewRecord;\n\t\t},\n\t\t[ activeView, isCustom ]\n\t);\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst customView = useMemo( () => {\n\t\tconst storedView =\n\t\t\teditedViewRecord?.content &&\n\t\t\tJSON.parse( editedViewRecord?.content );\n\t\tif ( ! storedView ) {\n\t\t\treturn storedView;\n\t\t}\n\n\t\treturn {\n\t\t\t...storedView,\n\t\t\tlayout: {\n\t\t\t\t...( DEFAULT_CONFIG_PER_VIEW_TYPE[ storedView?.type ] || {} ),\n\t\t\t},\n\t\t};\n\t}, [ editedViewRecord?.content ] );\n\n\tconst setCustomView = useCallback(\n\t\t( viewToSet ) => {\n\t\t\teditEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_dataviews',\n\t\t\t\teditedViewRecord?.id,\n\t\t\t\t{\n\t\t\t\t\tcontent: JSON.stringify( viewToSet ),\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t\t[ editEntityRecord, editedViewRecord?.id ]\n\t);\n\n\tconst setDefaultViewAndUpdateUrl = useCallback(\n\t\t( viewToSet ) => {\n\t\t\tif ( viewToSet.type !== view?.type ) {\n\t\t\t\tconst { params } = history.getLocationWithParams();\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tlayout: viewToSet.type,\n\t\t\t\t} );\n\t\t\t}\n\t\t\tsetView( viewToSet );\n\t\t},\n\t\t[ history, view?.type ]\n\t);\n\n\tif ( isCustom === 'false' ) {\n\t\treturn [ view, setDefaultViewAndUpdateUrl ];\n\t} else if ( isCustom === 'true' && customView ) {\n\t\treturn [ customView, setCustomView ];\n\t}\n\t// Loading state where no the view was not found on custom views or default views.\n\treturn [ DEFAULT_VIEWS[ postType ][ 0 ].view, setDefaultViewAndUpdateUrl ];\n}\n\n// See https://github.com/WordPress/gutenberg/issues/55886\n// We do not support custom statutes at the moment.\nconst STATUSES = [\n\t{ value: 'draft', label: __( 'Draft' ), icon: drafts },\n\t{ value: 'future', label: __( 'Scheduled' ), icon: scheduled },\n\t{ value: 'pending', label: __( 'Pending Review' ), icon: pending },\n\t{ value: 'private', label: __( 'Private' ), icon: notAllowed },\n\t{ value: 'publish', label: __( 'Published' ), icon: published },\n\t{ value: 'trash', label: __( 'Trash' ), icon: trash },\n];\nconst DEFAULT_STATUSES = 'draft,future,pending,private,publish'; // All but 'trash'.\n\nfunction FeaturedImage( { item, viewType } ) {\n\tconst isDisabled = item.status === 'trash';\n\tconst { onClick } = useLink( {\n\t\tpostId: item.id,\n\t\tpostType: item.type,\n\t\tcanvas: 'edit',\n\t} );\n\tconst hasMedia = !! item.featured_media;\n\tconst size =\n\t\tviewType === LAYOUT_GRID\n\t\t\t? [ 'large', 'full', 'medium', 'thumbnail' ]\n\t\t\t: [ 'thumbnail', 'medium', 'large', 'full' ];\n\tconst media = hasMedia ? (\n\t\t<Media\n\t\t\tclassName=\"posts-list-page__featured-image\"\n\t\t\tid={ item.featured_media }\n\t\t\tsize={ size }\n\t\t/>\n\t) : null;\n\tconst renderButton = viewType !== LAYOUT_LIST && ! isDisabled;\n\treturn (\n\t\t<div\n\t\t\tclassName={ `posts-list-page__featured-image-wrapper is-layout-${ viewType }` }\n\t\t>\n\t\t\t{ renderButton ? (\n\t\t\t\t<button\n\t\t\t\t\tclassName=\"posts-list-page-preview-field__button\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\taria-label={ item.title?.rendered || __( '(no title)' ) }\n\t\t\t\t>\n\t\t\t\t\t{ media }\n\t\t\t\t</button>\n\t\t\t) : (\n\t\t\t\tmedia\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction getItemId( item ) {\n\treturn item.id.toString();\n}\n\nfunction PostStatusField( { item } ) {\n\tconst status = STATUSES.find( ( { value } ) => value === item.status );\n\tconst label = status?.label || item.status;\n\tconst icon = status?.icon;\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 1 }>\n\t\t\t{ icon && (\n\t\t\t\t<div className=\"posts-list-page-post-author-field__icon-container\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span>{ label }</span>\n\t\t</HStack>\n\t);\n}\n\nfunction PostAuthorField( { item, viewType } ) {\n\tconst { text, icon, imageUrl } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getUser } = select( coreStore );\n\t\t\tconst user = getUser( item.author );\n\t\t\treturn {\n\t\t\t\ticon: authorIcon,\n\t\t\t\timageUrl: user?.avatar_urls?.[ 48 ],\n\t\t\t\ttext: user?.name,\n\t\t\t};\n\t\t},\n\t\t[ item ]\n\t);\n\n\tconst withAuthorImage = viewType !== LAYOUT_LIST && imageUrl;\n\tconst withAuthorIcon = viewType !== LAYOUT_LIST && ! imageUrl;\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 1 }>\n\t\t\t{ withAuthorImage && (\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={ __( 'Author avatar' ) }\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{ withAuthorIcon && (\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\nexport default function PostsList( { postType } ) {\n\tconst [ view, setView ] = useView( postType );\n\tconst history = useHistory();\n\tconst {\n\t\tparams: { postId },\n\t} = useLocation();\n\tconst [ selection, setSelection ] = useState( [ postId ] );\n\tconst onSelectionChange = useCallback(\n\t\t( items ) => {\n\t\t\tconst { params } = history.getLocationWithParams();\n\t\t\tif (\n\t\t\t\t( params.isCustom ?? 'false' ) === 'false' &&\n\t\t\t\tview?.type === LAYOUT_LIST\n\t\t\t) {\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, view?.type ]\n\t);\n\n\tconst queryArgs = useMemo( () => {\n\t\tconst filters = {};\n\t\tview.filters.forEach( ( filter ) => {\n\t\t\tif (\n\t\t\t\tfilter.field === 'status' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_ANY\n\t\t\t) {\n\t\t\t\tfilters.status = filter.value;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tfilter.field === 'author' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_ANY\n\t\t\t) {\n\t\t\t\tfilters.author = filter.value;\n\t\t\t} else if (\n\t\t\t\tfilter.field === 'author' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_NONE\n\t\t\t) {\n\t\t\t\tfilters.author_exclude = filter.value;\n\t\t\t}\n\t\t} );\n\t\t// We want to provide a different default item for the status filter\n\t\t// than the REST API provides.\n\t\tif ( ! filters.status || filters.status === '' ) {\n\t\t\tfilters.status = DEFAULT_STATUSES;\n\t\t}\n\n\t\treturn {\n\t\t\tper_page: view.perPage,\n\t\t\tpage: view.page,\n\t\t\t_embed: 'author',\n\t\t\torder: view.sort?.direction,\n\t\t\torderby: view.sort?.field,\n\t\t\tsearch: view.search,\n\t\t\t...filters,\n\t\t};\n\t}, [ view ] );\n\tconst {\n\t\trecords,\n\t\tisResolving: isLoadingMainEntities,\n\t\ttotalItems,\n\t\ttotalPages,\n\t} = useEntityRecords( 'postType', postType, queryArgs );\n\n\tconst ids = records?.map( ( record ) => getItemId( record ) ) ?? [];\n\tconst prevIds = usePrevious( ids ) ?? [];\n\tconst deletedIds = prevIds.filter( ( id ) => ! ids.includes( id ) );\n\tconst postIdWasDeleted = deletedIds.includes( postId );\n\n\tuseEffect( () => {\n\t\tif ( postIdWasDeleted ) {\n\t\t\thistory.push( {\n\t\t\t\t...history.getLocationWithParams().params,\n\t\t\t\tpostId: undefined,\n\t\t\t} );\n\t\t}\n\t}, [ postIdWasDeleted, history ] );\n\n\tconst { records: authors, isResolving: isLoadingAuthors } =\n\t\tuseEntityRecords( 'root', 'user', { per_page: -1 } );\n\n\tconst paginationInfo = useMemo(\n\t\t() => ( {\n\t\t\ttotalItems,\n\t\t\ttotalPages,\n\t\t} ),\n\t\t[ totalItems, totalPages ]\n\t);\n\n\tconst { frontPageId, postsPageId, labels, canCreateRecord } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord, getPostType, canUser } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst siteSettings = getEntityRecord( 'root', 'site' );\n\t\t\tconst postTypeObject = getPostType( postType );\n\t\t\treturn {\n\t\t\t\tfrontPageId: siteSettings?.page_on_front,\n\t\t\t\tpostsPageId: siteSettings?.page_for_posts,\n\t\t\t\tlabels: getPostType( postType )?.labels,\n\t\t\t\tcanCreateRecord: canUser(\n\t\t\t\t\t'create',\n\t\t\t\t\tpostTypeObject?.rest_base || 'posts'\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ postType ]\n\t);\n\n\t// TODO: this should be abstracted into a hook similar to `usePostActions`.\n\tconst fields = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\tid: 'featured-image',\n\t\t\t\theader: __( 'Featured Image' ),\n\t\t\t\tgetValue: ( { item } ) => item.featured_media,\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<FeaturedImage item={ item } viewType={ view.type } />\n\t\t\t\t),\n\t\t\t\tenableSorting: false,\n\t\t\t\twidth: '1%',\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Title' ),\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\tconst addLink =\n\t\t\t\t\t\t[ LAYOUT_TABLE, LAYOUT_GRID ].includes( view.type ) &&\n\t\t\t\t\t\titem.status !== 'trash';\n\t\t\t\t\tconst title = addLink ? (\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\tparams={ {\n\t\t\t\t\t\t\t\tpostId: item.id,\n\t\t\t\t\t\t\t\tpostType: item.type,\n\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ decodeEntities( item.title?.rendered ) ||\n\t\t\t\t\t\t\t\t__( '(no title)' ) }\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t{ decodeEntities( item.title?.rendered ) ||\n\t\t\t\t\t\t\t\t__( '(no title)' ) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t);\n\n\t\t\t\t\tlet suffix = '';\n\t\t\t\t\tif ( item.id === frontPageId ) {\n\t\t\t\t\t\tsuffix = (\n\t\t\t\t\t\t\t<span className=\"posts-list-page-title-badge\">\n\t\t\t\t\t\t\t\t{ __( 'Front Page' ) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if ( item.id === postsPageId ) {\n\t\t\t\t\t\tsuffix = (\n\t\t\t\t\t\t\t<span className=\"posts-list-page-title-badge\">\n\t\t\t\t\t\t\t\t{ __( 'Posts Page' ) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\tclassName=\"posts-list-page-title\"\n\t\t\t\t\t\t\talignment=\"center\"\n\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t\t{ suffix }\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmaxWidth: 300,\n\t\t\t\tenableHiding: false,\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._embedded?.author[ 0 ]?.name,\n\t\t\t\telements:\n\t\t\t\t\tauthors?.map( ( { id, name } ) => ( {\n\t\t\t\t\t\tvalue: id,\n\t\t\t\t\t\tlabel: name,\n\t\t\t\t\t} ) ) || [],\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<PostAuthorField viewType={ view.type } item={ item } />\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Status' ),\n\t\t\t\tid: 'status',\n\t\t\t\tgetValue: ( { item } ) =>\n\t\t\t\t\tSTATUSES.find( ( { value } ) => value === item.status )\n\t\t\t\t\t\t?.label ?? item.status,\n\t\t\t\telements: STATUSES,\n\t\t\t\trender: PostStatusField,\n\t\t\t\tenableSorting: false,\n\t\t\t\tfilterBy: {\n\t\t\t\t\toperators: [ OPERATOR_IS_ANY ],\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Date' ),\n\t\t\t\tid: 'date',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\tconst isDraftOrPrivate = [ 'draft', 'private' ].includes(\n\t\t\t\t\t\titem.status\n\t\t\t\t\t);\n\t\t\t\t\tif ( isDraftOrPrivate ) {\n\t\t\t\t\t\treturn createInterpolateElement(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: page creation date */\n\t\t\t\t\t\t\t\t__( '<span>Modified: <time>%s</time></span>' ),\n\t\t\t\t\t\t\t\tgetFormattedDate( item.date )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tspan: <span />,\n\t\t\t\t\t\t\t\ttime: <time />,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst isScheduled = item.status === 'future';\n\t\t\t\t\tif ( isScheduled ) {\n\t\t\t\t\t\treturn createInterpolateElement(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: page creation date */\n\t\t\t\t\t\t\t\t__( '<span>Scheduled: <time>%s</time></span>' ),\n\t\t\t\t\t\t\t\tgetFormattedDate( item.date )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tspan: <span />,\n\t\t\t\t\t\t\t\ttime: <time />,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Pending & Published posts show the modified date if it's newer.\n\t\t\t\t\tconst dateToDisplay =\n\t\t\t\t\t\tgetDate( item.modified ) > getDate( item.date )\n\t\t\t\t\t\t\t? item.modified\n\t\t\t\t\t\t\t: item.date;\n\n\t\t\t\t\tconst isPending = item.status === 'pending';\n\t\t\t\t\tif ( isPending ) {\n\t\t\t\t\t\treturn createInterpolateElement(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: the newest of created or modified date for the page */\n\t\t\t\t\t\t\t\t__( '<span>Modified: <time>%s</time></span>' ),\n\t\t\t\t\t\t\t\tgetFormattedDate( dateToDisplay )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tspan: <span />,\n\t\t\t\t\t\t\t\ttime: <time />,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst isPublished = item.status === 'publish';\n\t\t\t\t\tif ( isPublished ) {\n\t\t\t\t\t\treturn createInterpolateElement(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: the newest of created or modified date for the page */\n\t\t\t\t\t\t\t\t__( '<span>Published: <time>%s</time></span>' ),\n\t\t\t\t\t\t\t\tgetFormattedDate( dateToDisplay )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tspan: <span />,\n\t\t\t\t\t\t\t\ttime: <time />,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Unknow status.\n\t\t\t\t\treturn <time>{ getFormattedDate( item.date ) }</time>;\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\t[ authors, view.type, frontPageId, postsPageId ]\n\t);\n\tconst postTypeActions = usePostActions( {\n\t\tpostType,\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\tnewView = {\n\t\t\t\t\t...newView,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...DEFAULT_CONFIG_PER_VIEW_TYPE[ newView.type ],\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView ]\n\t);\n\n\tconst [ showAddPostModal, setShowAddPostModal ] = useState( false );\n\n\tconst openModal = () => setShowAddPostModal( true );\n\tconst closeModal = () => setShowAddPostModal( false );\n\tconst handleNewPage = ( { type, id } ) => {\n\t\thistory.push( {\n\t\t\tpostId: id,\n\t\t\tpostType: type,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t\tcloseModal();\n\t};\n\n\treturn (\n\t\t<Page\n\t\t\ttitle={ labels?.name }\n\t\t\tactions={\n\t\t\t\tlabels?.add_new_item &&\n\t\t\t\tcanCreateRecord && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={ openModal }\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ labels.add_new_item }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t{ showAddPostModal && (\n\t\t\t\t\t\t\t<AddNewPostModal\n\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\tonSave={ handleNewPage }\n\t\t\t\t\t\t\t\tonClose={ closeModal }\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}\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={ records || EMPTY_ARRAY }\n\t\t\t\tisLoading={ isLoadingMainEntities || isLoadingAuthors }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tselection={ selection }\n\t\t\t\tsetSelection={ setSelection }\n\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\tgetItemId={ getItemId }\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}