@wordpress/block-library 9.16.0 → 9.18.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 (660) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/archives/edit.js +2 -2
  3. package/build/archives/edit.js.map +1 -1
  4. package/build/archives/index.js +9 -0
  5. package/build/archives/index.js.map +1 -1
  6. package/build/avatar/user-control.js +0 -1
  7. package/build/avatar/user-control.js.map +1 -1
  8. package/build/block/deprecated.js +0 -1
  9. package/build/block/deprecated.js.map +1 -1
  10. package/build/block/edit.js +0 -1
  11. package/build/block/edit.js.map +1 -1
  12. package/build/button/deprecated.js +0 -1
  13. package/build/button/deprecated.js.map +1 -1
  14. package/build/buttons/transforms.js +0 -1
  15. package/build/buttons/transforms.js.map +1 -1
  16. package/build/categories/edit.js +115 -38
  17. package/build/categories/edit.js.map +1 -1
  18. package/build/categories/index.js +9 -0
  19. package/build/categories/index.js.map +1 -1
  20. package/build/column/column-preview.native.js +0 -1
  21. package/build/column/column-preview.native.js.map +1 -1
  22. package/build/columns/columnCalculations.native.js +0 -1
  23. package/build/columns/columnCalculations.native.js.map +1 -1
  24. package/build/columns/deprecated.js +0 -1
  25. package/build/columns/deprecated.js.map +1 -1
  26. package/build/columns/edit.js +0 -1
  27. package/build/columns/edit.js.map +1 -1
  28. package/build/columns/edit.native.js +0 -1
  29. package/build/columns/edit.native.js.map +1 -1
  30. package/build/columns/transforms.js +0 -1
  31. package/build/columns/transforms.js.map +1 -1
  32. package/build/columns/utils.js +0 -1
  33. package/build/columns/utils.js.map +1 -1
  34. package/build/comment-template/edit.js +0 -1
  35. package/build/comment-template/edit.js.map +1 -1
  36. package/build/comment-template/hooks.js +0 -1
  37. package/build/comment-template/hooks.js.map +1 -1
  38. package/build/comment-template/util.js +0 -1
  39. package/build/comment-template/util.js.map +1 -1
  40. package/build/comments/edit/comments-inspector-controls.js +6 -5
  41. package/build/comments/edit/comments-inspector-controls.js.map +1 -1
  42. package/build/comments-pagination/index.js +5 -0
  43. package/build/comments-pagination/index.js.map +1 -1
  44. package/build/cover/edit/inspector-controls.js +2 -9
  45. package/build/cover/edit/inspector-controls.js.map +1 -1
  46. package/build/details/edit.js +16 -2
  47. package/build/details/edit.js.map +1 -1
  48. package/build/details/index.js +9 -0
  49. package/build/details/index.js.map +1 -1
  50. package/build/details/save.js +2 -0
  51. package/build/details/save.js.map +1 -1
  52. package/build/details/transforms.js +0 -1
  53. package/build/details/transforms.js.map +1 -1
  54. package/build/embed/embed-placeholder.native.js +0 -1
  55. package/build/embed/embed-placeholder.native.js.map +1 -1
  56. package/build/embed/transforms.js +5 -2
  57. package/build/embed/transforms.js.map +1 -1
  58. package/build/embed/util.js +0 -1
  59. package/build/embed/util.js.map +1 -1
  60. package/build/embed/variations.js +0 -1
  61. package/build/embed/variations.js.map +1 -1
  62. package/build/embed/wp-embed-preview.js +0 -1
  63. package/build/embed/wp-embed-preview.js.map +1 -1
  64. package/build/file/transforms.js +0 -1
  65. package/build/file/transforms.js.map +1 -1
  66. package/build/footnotes/edit.js +0 -1
  67. package/build/footnotes/edit.js.map +1 -1
  68. package/build/form/variations.js +1 -1
  69. package/build/form/variations.js.map +1 -1
  70. package/build/freeform/modal.js +0 -1
  71. package/build/freeform/modal.js.map +1 -1
  72. package/build/gallery/deprecated.js +0 -1
  73. package/build/gallery/deprecated.js.map +1 -1
  74. package/build/gallery/edit.js +0 -1
  75. package/build/gallery/edit.js.map +1 -1
  76. package/build/gallery/shared.js +0 -1
  77. package/build/gallery/shared.js.map +1 -1
  78. package/build/gallery/transforms.js +0 -1
  79. package/build/gallery/transforms.js.map +1 -1
  80. package/build/gallery/use-get-media.js +0 -1
  81. package/build/gallery/use-get-media.js.map +1 -1
  82. package/build/gallery/use-get-media.native.js +0 -1
  83. package/build/gallery/use-get-media.native.js.map +1 -1
  84. package/build/gallery/use-get-new-images.js +0 -1
  85. package/build/gallery/use-get-new-images.js.map +1 -1
  86. package/build/gallery/use-image-sizes.js +0 -1
  87. package/build/gallery/use-image-sizes.js.map +1 -1
  88. package/build/group/edit.js +2 -9
  89. package/build/group/edit.js.map +1 -1
  90. package/build/group/placeholder.js +0 -1
  91. package/build/group/placeholder.js.map +1 -1
  92. package/build/group/transforms.js +0 -1
  93. package/build/group/transforms.js.map +1 -1
  94. package/build/heading/transforms.js +0 -1
  95. package/build/heading/transforms.js.map +1 -1
  96. package/build/home-link/edit.js +1 -2
  97. package/build/home-link/edit.js.map +1 -1
  98. package/build/html/preview.js +0 -1
  99. package/build/html/preview.js.map +1 -1
  100. package/build/image/edit.js +0 -1
  101. package/build/image/edit.js.map +1 -1
  102. package/build/image/edit.native.js +0 -1
  103. package/build/image/edit.native.js.map +1 -1
  104. package/build/image/image.js +0 -1
  105. package/build/image/image.js.map +1 -1
  106. package/build/image/transforms.js +0 -1
  107. package/build/image/transforms.js.map +1 -1
  108. package/build/image/utils.js +0 -1
  109. package/build/image/utils.js.map +1 -1
  110. package/build/index.native.js +0 -1
  111. package/build/index.native.js.map +1 -1
  112. package/build/latest-comments/edit.js +73 -26
  113. package/build/latest-comments/edit.js.map +1 -1
  114. package/build/latest-posts/constants.js +2 -1
  115. package/build/latest-posts/constants.js.map +1 -1
  116. package/build/latest-posts/edit.js +91 -39
  117. package/build/latest-posts/edit.js.map +1 -1
  118. package/build/list/transforms.js +0 -1
  119. package/build/list/transforms.js.map +1 -1
  120. package/build/list/utils.js +0 -1
  121. package/build/list/utils.js.map +1 -1
  122. package/build/list-item/hooks/use-indent-list-item.js +0 -1
  123. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  124. package/build/list-item/index.js +1 -1
  125. package/build/list-item/transforms.js +0 -1
  126. package/build/list-item/transforms.js.map +1 -1
  127. package/build/media-text/edit.js +0 -1
  128. package/build/media-text/edit.js.map +1 -1
  129. package/build/more/save.js +0 -1
  130. package/build/more/save.js.map +1 -1
  131. package/build/navigation/deprecated.js +0 -1
  132. package/build/navigation/deprecated.js.map +1 -1
  133. package/build/navigation/edit/index.js +0 -1
  134. package/build/navigation/edit/index.js.map +1 -1
  135. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +4 -4
  136. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  137. package/build/navigation/edit/use-generate-default-navigation-title.js +4 -5
  138. package/build/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  139. package/build/navigation/menu-items-to-blocks.js +0 -1
  140. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  141. package/build/navigation/use-template-part-area-label.js +0 -1
  142. package/build/navigation/use-template-part-area-label.js.map +1 -1
  143. package/build/navigation/view.js +0 -1
  144. package/build/navigation/view.js.map +1 -1
  145. package/build/navigation-link/edit.js +14 -19
  146. package/build/navigation-link/edit.js.map +1 -1
  147. package/build/navigation-link/hooks.js +0 -1
  148. package/build/navigation-link/hooks.js.map +1 -1
  149. package/build/navigation-submenu/index.js +7 -0
  150. package/build/navigation-submenu/index.js.map +1 -1
  151. package/build/page-list/edit.js +1 -2
  152. package/build/page-list/edit.js.map +1 -1
  153. package/build/page-list/use-convert-to-navigation-links.js +0 -1
  154. package/build/page-list/use-convert-to-navigation-links.js.map +1 -1
  155. package/build/paragraph/edit.js +4 -14
  156. package/build/paragraph/edit.js.map +1 -1
  157. package/build/pattern/edit.js +0 -1
  158. package/build/pattern/edit.js.map +1 -1
  159. package/build/pattern/index.js +1 -1
  160. package/build/post-author/edit.js +0 -1
  161. package/build/post-author/edit.js.map +1 -1
  162. package/build/post-content/index.js +1 -0
  163. package/build/post-content/index.js.map +1 -1
  164. package/build/post-date/edit.js +1 -1
  165. package/build/post-date/edit.js.map +1 -1
  166. package/build/post-featured-image/dimension-controls.js +2 -39
  167. package/build/post-featured-image/dimension-controls.js.map +1 -1
  168. package/build/post-featured-image/edit.js +45 -9
  169. package/build/post-featured-image/edit.js.map +1 -1
  170. package/build/post-navigation-link/edit.js +0 -1
  171. package/build/post-navigation-link/edit.js.map +1 -1
  172. package/build/post-navigation-link/variations.js +2 -3
  173. package/build/post-navigation-link/variations.js.map +1 -1
  174. package/build/post-template/edit.js +14 -7
  175. package/build/post-template/edit.js.map +1 -1
  176. package/build/post-terms/edit.js +1 -1
  177. package/build/post-terms/edit.js.map +1 -1
  178. package/build/post-terms/hooks.js +0 -1
  179. package/build/post-terms/hooks.js.map +1 -1
  180. package/build/post-time-to-read/index.js +1 -1
  181. package/build/pullquote/blockquote.native.js +0 -1
  182. package/build/pullquote/blockquote.native.js.map +1 -1
  183. package/build/pullquote/transforms.js +0 -1
  184. package/build/pullquote/transforms.js.map +1 -1
  185. package/build/query/deprecated.js +0 -1
  186. package/build/query/deprecated.js.map +1 -1
  187. package/build/query/edit/inspector-controls/author-control.js +0 -1
  188. package/build/query/edit/inspector-controls/author-control.js.map +1 -1
  189. package/build/query/edit/inspector-controls/format-controls.js +0 -1
  190. package/build/query/edit/inspector-controls/format-controls.js.map +1 -1
  191. package/build/query/edit/inspector-controls/index.js +0 -1
  192. package/build/query/edit/inspector-controls/index.js.map +1 -1
  193. package/build/query/edit/inspector-controls/parent-control.js +0 -1
  194. package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
  195. package/build/query/edit/inspector-controls/sticky-control.js +3 -0
  196. package/build/query/edit/inspector-controls/sticky-control.js.map +1 -1
  197. package/build/query/edit/inspector-controls/taxonomy-controls.js +0 -1
  198. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  199. package/build/query/edit/query-content.js +2 -6
  200. package/build/query/edit/query-content.js.map +1 -1
  201. package/build/query/utils.js +0 -1
  202. package/build/query/utils.js.map +1 -1
  203. package/build/query-no-results/index.js +1 -1
  204. package/build/query-pagination-numbers/edit.js +1 -1
  205. package/build/query-pagination-numbers/edit.js.map +1 -1
  206. package/build/query-title/edit.js +1 -0
  207. package/build/query-title/edit.js.map +1 -1
  208. package/build/query-title/variations.js +0 -1
  209. package/build/query-title/variations.js.map +1 -1
  210. package/build/quote/deprecated.js +0 -1
  211. package/build/quote/deprecated.js.map +1 -1
  212. package/build/quote/transforms.js +0 -1
  213. package/build/quote/transforms.js.map +1 -1
  214. package/build/read-more/edit.js +25 -7
  215. package/build/read-more/edit.js.map +1 -1
  216. package/build/rss/edit.js +15 -1
  217. package/build/rss/edit.js.map +1 -1
  218. package/build/rss/index.js +14 -0
  219. package/build/rss/index.js.map +1 -1
  220. package/build/search/edit.js +67 -49
  221. package/build/search/edit.js.map +1 -1
  222. package/build/separator/edit.js +2 -4
  223. package/build/separator/edit.js.map +1 -1
  224. package/build/social-link/icons/discord.js +23 -0
  225. package/build/social-link/icons/discord.js.map +1 -0
  226. package/build/social-link/icons/index.js +11 -0
  227. package/build/social-link/icons/index.js.map +1 -1
  228. package/build/social-link/social-list.js +0 -1
  229. package/build/social-link/social-list.js.map +1 -1
  230. package/build/social-link/variations.js +7 -1
  231. package/build/social-link/variations.js.map +1 -1
  232. package/build/social-links/edit.js +0 -1
  233. package/build/social-links/edit.js.map +1 -1
  234. package/build/social-links/edit.native.js +0 -1
  235. package/build/social-links/edit.native.js.map +1 -1
  236. package/build/spacer/controls.js +13 -10
  237. package/build/spacer/controls.js.map +1 -1
  238. package/build/spacer/edit.js +23 -21
  239. package/build/spacer/edit.js.map +1 -1
  240. package/build/table/deprecated.js +0 -1
  241. package/build/table/deprecated.js.map +1 -1
  242. package/build/table/edit.js +0 -1
  243. package/build/table/edit.js.map +1 -1
  244. package/build/table/save.js +0 -1
  245. package/build/table/save.js.map +1 -1
  246. package/build/table/state.js +0 -1
  247. package/build/table/state.js.map +1 -1
  248. package/build/table/transforms.js +0 -1
  249. package/build/table/transforms.js.map +1 -1
  250. package/build/table-of-contents/list.js +0 -1
  251. package/build/table-of-contents/list.js.map +1 -1
  252. package/build/table-of-contents/utils.js +0 -1
  253. package/build/table-of-contents/utils.js.map +1 -1
  254. package/build/tag-cloud/edit.js +0 -1
  255. package/build/tag-cloud/edit.js.map +1 -1
  256. package/build/template-part/edit/advanced-controls.js +2 -10
  257. package/build/template-part/edit/advanced-controls.js.map +1 -1
  258. package/build/template-part/edit/import-controls.js +0 -1
  259. package/build/template-part/edit/import-controls.js.map +1 -1
  260. package/build/template-part/edit/selection-modal.js +0 -1
  261. package/build/template-part/edit/selection-modal.js.map +1 -1
  262. package/build/template-part/edit/utils/hooks.js +0 -1
  263. package/build/template-part/edit/utils/hooks.js.map +1 -1
  264. package/build/template-part/edit/utils/transformers.js +0 -1
  265. package/build/template-part/edit/utils/transformers.js.map +1 -1
  266. package/build/template-part/variations.js +0 -1
  267. package/build/template-part/variations.js.map +1 -1
  268. package/build/text-columns/edit.js +0 -1
  269. package/build/text-columns/edit.js.map +1 -1
  270. package/build/text-columns/save.js +0 -1
  271. package/build/text-columns/save.js.map +1 -1
  272. package/build/text-columns/transforms.js +0 -1
  273. package/build/text-columns/transforms.js.map +1 -1
  274. package/build/utils/get-transformed-metadata.js +0 -1
  275. package/build/utils/get-transformed-metadata.js.map +1 -1
  276. package/build/utils/messages.js +22 -0
  277. package/build/utils/messages.js.map +1 -0
  278. package/build/utils/search-patterns.js +0 -1
  279. package/build/utils/search-patterns.js.map +1 -1
  280. package/build/utils/transformation-categories.native.js +0 -1
  281. package/build/utils/transformation-categories.native.js.map +1 -1
  282. package/build/video/edit-common-settings.js +1 -1
  283. package/build/video/edit-common-settings.js.map +1 -1
  284. package/build/video/tracks-editor.js +0 -1
  285. package/build/video/tracks-editor.js.map +1 -1
  286. package/build/video/tracks.js +0 -1
  287. package/build/video/tracks.js.map +1 -1
  288. package/build-module/archives/edit.js +2 -2
  289. package/build-module/archives/edit.js.map +1 -1
  290. package/build-module/archives/index.js +9 -0
  291. package/build-module/archives/index.js.map +1 -1
  292. package/build-module/avatar/user-control.js +0 -1
  293. package/build-module/avatar/user-control.js.map +1 -1
  294. package/build-module/block/deprecated.js +0 -1
  295. package/build-module/block/deprecated.js.map +1 -1
  296. package/build-module/block/edit.js +0 -1
  297. package/build-module/block/edit.js.map +1 -1
  298. package/build-module/button/deprecated.js +0 -1
  299. package/build-module/button/deprecated.js.map +1 -1
  300. package/build-module/buttons/transforms.js +0 -1
  301. package/build-module/buttons/transforms.js.map +1 -1
  302. package/build-module/categories/edit.js +116 -39
  303. package/build-module/categories/edit.js.map +1 -1
  304. package/build-module/categories/index.js +9 -0
  305. package/build-module/categories/index.js.map +1 -1
  306. package/build-module/column/column-preview.native.js +0 -1
  307. package/build-module/column/column-preview.native.js.map +1 -1
  308. package/build-module/columns/columnCalculations.native.js +0 -1
  309. package/build-module/columns/columnCalculations.native.js.map +1 -1
  310. package/build-module/columns/deprecated.js +0 -1
  311. package/build-module/columns/deprecated.js.map +1 -1
  312. package/build-module/columns/edit.js +0 -1
  313. package/build-module/columns/edit.js.map +1 -1
  314. package/build-module/columns/edit.native.js +0 -1
  315. package/build-module/columns/edit.native.js.map +1 -1
  316. package/build-module/columns/transforms.js +0 -1
  317. package/build-module/columns/transforms.js.map +1 -1
  318. package/build-module/columns/utils.js +0 -1
  319. package/build-module/columns/utils.js.map +1 -1
  320. package/build-module/comment-template/edit.js +0 -1
  321. package/build-module/comment-template/edit.js.map +1 -1
  322. package/build-module/comment-template/hooks.js +0 -1
  323. package/build-module/comment-template/hooks.js.map +1 -1
  324. package/build-module/comment-template/util.js +0 -1
  325. package/build-module/comment-template/util.js.map +1 -1
  326. package/build-module/comments/edit/comments-inspector-controls.js +5 -4
  327. package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
  328. package/build-module/comments-pagination/index.js +5 -0
  329. package/build-module/comments-pagination/index.js.map +1 -1
  330. package/build-module/cover/edit/inspector-controls.js +1 -8
  331. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  332. package/build-module/details/edit.js +17 -3
  333. package/build-module/details/edit.js.map +1 -1
  334. package/build-module/details/index.js +9 -0
  335. package/build-module/details/index.js.map +1 -1
  336. package/build-module/details/save.js +2 -0
  337. package/build-module/details/save.js.map +1 -1
  338. package/build-module/details/transforms.js +0 -1
  339. package/build-module/details/transforms.js.map +1 -1
  340. package/build-module/embed/embed-placeholder.native.js +0 -1
  341. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  342. package/build-module/embed/transforms.js +5 -2
  343. package/build-module/embed/transforms.js.map +1 -1
  344. package/build-module/embed/util.js +0 -1
  345. package/build-module/embed/util.js.map +1 -1
  346. package/build-module/embed/variations.js +0 -1
  347. package/build-module/embed/variations.js.map +1 -1
  348. package/build-module/embed/wp-embed-preview.js +0 -1
  349. package/build-module/embed/wp-embed-preview.js.map +1 -1
  350. package/build-module/file/transforms.js +0 -1
  351. package/build-module/file/transforms.js.map +1 -1
  352. package/build-module/footnotes/edit.js +0 -1
  353. package/build-module/footnotes/edit.js.map +1 -1
  354. package/build-module/form/variations.js +1 -1
  355. package/build-module/form/variations.js.map +1 -1
  356. package/build-module/freeform/modal.js +0 -1
  357. package/build-module/freeform/modal.js.map +1 -1
  358. package/build-module/gallery/deprecated.js +0 -1
  359. package/build-module/gallery/deprecated.js.map +1 -1
  360. package/build-module/gallery/edit.js +0 -1
  361. package/build-module/gallery/edit.js.map +1 -1
  362. package/build-module/gallery/shared.js +0 -1
  363. package/build-module/gallery/shared.js.map +1 -1
  364. package/build-module/gallery/transforms.js +0 -1
  365. package/build-module/gallery/transforms.js.map +1 -1
  366. package/build-module/gallery/use-get-media.js +0 -1
  367. package/build-module/gallery/use-get-media.js.map +1 -1
  368. package/build-module/gallery/use-get-media.native.js +0 -1
  369. package/build-module/gallery/use-get-media.native.js.map +1 -1
  370. package/build-module/gallery/use-get-new-images.js +0 -1
  371. package/build-module/gallery/use-get-new-images.js.map +1 -1
  372. package/build-module/gallery/use-image-sizes.js +0 -1
  373. package/build-module/gallery/use-image-sizes.js.map +1 -1
  374. package/build-module/group/edit.js +1 -8
  375. package/build-module/group/edit.js.map +1 -1
  376. package/build-module/group/placeholder.js +0 -1
  377. package/build-module/group/placeholder.js.map +1 -1
  378. package/build-module/group/transforms.js +0 -1
  379. package/build-module/group/transforms.js.map +1 -1
  380. package/build-module/heading/transforms.js +0 -1
  381. package/build-module/heading/transforms.js.map +1 -1
  382. package/build-module/home-link/edit.js +1 -2
  383. package/build-module/home-link/edit.js.map +1 -1
  384. package/build-module/html/preview.js +0 -1
  385. package/build-module/html/preview.js.map +1 -1
  386. package/build-module/image/edit.js +0 -1
  387. package/build-module/image/edit.js.map +1 -1
  388. package/build-module/image/edit.native.js +0 -1
  389. package/build-module/image/edit.native.js.map +1 -1
  390. package/build-module/image/image.js +0 -1
  391. package/build-module/image/image.js.map +1 -1
  392. package/build-module/image/transforms.js +0 -1
  393. package/build-module/image/transforms.js.map +1 -1
  394. package/build-module/image/utils.js +0 -1
  395. package/build-module/image/utils.js.map +1 -1
  396. package/build-module/index.native.js +0 -1
  397. package/build-module/index.native.js.map +1 -1
  398. package/build-module/latest-comments/edit.js +74 -27
  399. package/build-module/latest-comments/edit.js.map +1 -1
  400. package/build-module/latest-posts/constants.js +1 -0
  401. package/build-module/latest-posts/constants.js.map +1 -1
  402. package/build-module/latest-posts/edit.js +93 -41
  403. package/build-module/latest-posts/edit.js.map +1 -1
  404. package/build-module/list/transforms.js +0 -1
  405. package/build-module/list/transforms.js.map +1 -1
  406. package/build-module/list/utils.js +0 -1
  407. package/build-module/list/utils.js.map +1 -1
  408. package/build-module/list-item/hooks/use-indent-list-item.js +0 -1
  409. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  410. package/build-module/list-item/index.js +1 -1
  411. package/build-module/list-item/transforms.js +0 -1
  412. package/build-module/list-item/transforms.js.map +1 -1
  413. package/build-module/media-text/edit.js +0 -1
  414. package/build-module/media-text/edit.js.map +1 -1
  415. package/build-module/more/save.js +0 -1
  416. package/build-module/more/save.js.map +1 -1
  417. package/build-module/navigation/deprecated.js +0 -1
  418. package/build-module/navigation/deprecated.js.map +1 -1
  419. package/build-module/navigation/edit/index.js +0 -1
  420. package/build-module/navigation/edit/index.js.map +1 -1
  421. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +4 -4
  422. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  423. package/build-module/navigation/edit/use-generate-default-navigation-title.js +4 -5
  424. package/build-module/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  425. package/build-module/navigation/menu-items-to-blocks.js +0 -1
  426. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  427. package/build-module/navigation/use-template-part-area-label.js +0 -1
  428. package/build-module/navigation/use-template-part-area-label.js.map +1 -1
  429. package/build-module/navigation/view.js +0 -1
  430. package/build-module/navigation/view.js.map +1 -1
  431. package/build-module/navigation-link/edit.js +15 -20
  432. package/build-module/navigation-link/edit.js.map +1 -1
  433. package/build-module/navigation-link/hooks.js +0 -1
  434. package/build-module/navigation-link/hooks.js.map +1 -1
  435. package/build-module/navigation-submenu/index.js +7 -0
  436. package/build-module/navigation-submenu/index.js.map +1 -1
  437. package/build-module/page-list/edit.js +1 -2
  438. package/build-module/page-list/edit.js.map +1 -1
  439. package/build-module/page-list/use-convert-to-navigation-links.js +0 -1
  440. package/build-module/page-list/use-convert-to-navigation-links.js.map +1 -1
  441. package/build-module/paragraph/edit.js +5 -15
  442. package/build-module/paragraph/edit.js.map +1 -1
  443. package/build-module/pattern/edit.js +0 -1
  444. package/build-module/pattern/edit.js.map +1 -1
  445. package/build-module/pattern/index.js +1 -1
  446. package/build-module/post-author/edit.js +0 -1
  447. package/build-module/post-author/edit.js.map +1 -1
  448. package/build-module/post-content/index.js +1 -0
  449. package/build-module/post-content/index.js.map +1 -1
  450. package/build-module/post-date/edit.js +1 -1
  451. package/build-module/post-date/edit.js.map +1 -1
  452. package/build-module/post-featured-image/dimension-controls.js +3 -40
  453. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  454. package/build-module/post-featured-image/edit.js +46 -10
  455. package/build-module/post-featured-image/edit.js.map +1 -1
  456. package/build-module/post-navigation-link/edit.js +0 -1
  457. package/build-module/post-navigation-link/edit.js.map +1 -1
  458. package/build-module/post-navigation-link/variations.js +2 -3
  459. package/build-module/post-navigation-link/variations.js.map +1 -1
  460. package/build-module/post-template/edit.js +14 -7
  461. package/build-module/post-template/edit.js.map +1 -1
  462. package/build-module/post-terms/edit.js +1 -1
  463. package/build-module/post-terms/edit.js.map +1 -1
  464. package/build-module/post-terms/hooks.js +0 -1
  465. package/build-module/post-terms/hooks.js.map +1 -1
  466. package/build-module/post-time-to-read/index.js +1 -1
  467. package/build-module/pullquote/blockquote.native.js +0 -1
  468. package/build-module/pullquote/blockquote.native.js.map +1 -1
  469. package/build-module/pullquote/transforms.js +0 -1
  470. package/build-module/pullquote/transforms.js.map +1 -1
  471. package/build-module/query/deprecated.js +0 -1
  472. package/build-module/query/deprecated.js.map +1 -1
  473. package/build-module/query/edit/inspector-controls/author-control.js +0 -1
  474. package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
  475. package/build-module/query/edit/inspector-controls/format-controls.js +0 -1
  476. package/build-module/query/edit/inspector-controls/format-controls.js.map +1 -1
  477. package/build-module/query/edit/inspector-controls/index.js +0 -1
  478. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  479. package/build-module/query/edit/inspector-controls/parent-control.js +0 -1
  480. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
  481. package/build-module/query/edit/inspector-controls/sticky-control.js +3 -0
  482. package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -1
  483. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +0 -1
  484. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  485. package/build-module/query/edit/query-content.js +1 -5
  486. package/build-module/query/edit/query-content.js.map +1 -1
  487. package/build-module/query/utils.js +0 -1
  488. package/build-module/query/utils.js.map +1 -1
  489. package/build-module/query-no-results/index.js +1 -1
  490. package/build-module/query-pagination-numbers/edit.js +1 -1
  491. package/build-module/query-pagination-numbers/edit.js.map +1 -1
  492. package/build-module/query-title/edit.js +1 -0
  493. package/build-module/query-title/edit.js.map +1 -1
  494. package/build-module/query-title/variations.js +0 -1
  495. package/build-module/query-title/variations.js.map +1 -1
  496. package/build-module/quote/deprecated.js +0 -1
  497. package/build-module/quote/deprecated.js.map +1 -1
  498. package/build-module/quote/transforms.js +0 -1
  499. package/build-module/quote/transforms.js.map +1 -1
  500. package/build-module/read-more/edit.js +26 -8
  501. package/build-module/read-more/edit.js.map +1 -1
  502. package/build-module/rss/edit.js +15 -1
  503. package/build-module/rss/edit.js.map +1 -1
  504. package/build-module/rss/index.js +14 -0
  505. package/build-module/rss/index.js.map +1 -1
  506. package/build-module/search/edit.js +68 -50
  507. package/build-module/search/edit.js.map +1 -1
  508. package/build-module/separator/edit.js +1 -3
  509. package/build-module/separator/edit.js.map +1 -1
  510. package/build-module/social-link/icons/discord.js +15 -0
  511. package/build-module/social-link/icons/discord.js.map +1 -0
  512. package/build-module/social-link/icons/index.js +1 -0
  513. package/build-module/social-link/icons/index.js.map +1 -1
  514. package/build-module/social-link/social-list.js +0 -1
  515. package/build-module/social-link/social-list.js.map +1 -1
  516. package/build-module/social-link/variations.js +8 -2
  517. package/build-module/social-link/variations.js.map +1 -1
  518. package/build-module/social-links/edit.js +0 -1
  519. package/build-module/social-links/edit.js.map +1 -1
  520. package/build-module/social-links/edit.native.js +0 -1
  521. package/build-module/social-links/edit.native.js.map +1 -1
  522. package/build-module/spacer/controls.js +13 -10
  523. package/build-module/spacer/controls.js.map +1 -1
  524. package/build-module/spacer/edit.js +24 -22
  525. package/build-module/spacer/edit.js.map +1 -1
  526. package/build-module/table/deprecated.js +0 -1
  527. package/build-module/table/deprecated.js.map +1 -1
  528. package/build-module/table/edit.js +0 -1
  529. package/build-module/table/edit.js.map +1 -1
  530. package/build-module/table/save.js +0 -1
  531. package/build-module/table/save.js.map +1 -1
  532. package/build-module/table/state.js +0 -1
  533. package/build-module/table/state.js.map +1 -1
  534. package/build-module/table/transforms.js +0 -1
  535. package/build-module/table/transforms.js.map +1 -1
  536. package/build-module/table-of-contents/list.js +0 -1
  537. package/build-module/table-of-contents/list.js.map +1 -1
  538. package/build-module/table-of-contents/utils.js +0 -1
  539. package/build-module/table-of-contents/utils.js.map +1 -1
  540. package/build-module/tag-cloud/edit.js +0 -1
  541. package/build-module/tag-cloud/edit.js.map +1 -1
  542. package/build-module/template-part/edit/advanced-controls.js +1 -9
  543. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  544. package/build-module/template-part/edit/import-controls.js +0 -1
  545. package/build-module/template-part/edit/import-controls.js.map +1 -1
  546. package/build-module/template-part/edit/selection-modal.js +0 -1
  547. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  548. package/build-module/template-part/edit/utils/hooks.js +0 -1
  549. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  550. package/build-module/template-part/edit/utils/transformers.js +0 -1
  551. package/build-module/template-part/edit/utils/transformers.js.map +1 -1
  552. package/build-module/template-part/variations.js +0 -1
  553. package/build-module/template-part/variations.js.map +1 -1
  554. package/build-module/text-columns/edit.js +0 -1
  555. package/build-module/text-columns/edit.js.map +1 -1
  556. package/build-module/text-columns/save.js +0 -1
  557. package/build-module/text-columns/save.js.map +1 -1
  558. package/build-module/text-columns/transforms.js +0 -1
  559. package/build-module/text-columns/transforms.js.map +1 -1
  560. package/build-module/utils/get-transformed-metadata.js +0 -1
  561. package/build-module/utils/get-transformed-metadata.js.map +1 -1
  562. package/build-module/utils/messages.js +15 -0
  563. package/build-module/utils/messages.js.map +1 -0
  564. package/build-module/utils/search-patterns.js +0 -1
  565. package/build-module/utils/search-patterns.js.map +1 -1
  566. package/build-module/utils/transformation-categories.native.js +0 -1
  567. package/build-module/utils/transformation-categories.native.js.map +1 -1
  568. package/build-module/video/edit-common-settings.js +1 -1
  569. package/build-module/video/edit-common-settings.js.map +1 -1
  570. package/build-module/video/tracks-editor.js +0 -1
  571. package/build-module/video/tracks-editor.js.map +1 -1
  572. package/build-module/video/tracks.js +0 -1
  573. package/build-module/video/tracks.js.map +1 -1
  574. package/build-style/editor-rtl.css +17 -51
  575. package/build-style/editor.css +17 -51
  576. package/build-style/gallery/editor-rtl.css +0 -44
  577. package/build-style/gallery/editor.css +0 -44
  578. package/build-style/navigation-link/editor-rtl.css +3 -0
  579. package/build-style/navigation-link/editor.css +3 -0
  580. package/build-style/paragraph/editor-rtl.css +4 -0
  581. package/build-style/paragraph/editor.css +4 -0
  582. package/build-style/post-featured-image/editor-rtl.css +1 -1
  583. package/build-style/post-featured-image/editor.css +1 -1
  584. package/build-style/rss/editor-rtl.css +6 -0
  585. package/build-style/rss/editor.css +6 -0
  586. package/build-style/rss/style-rtl.css +6 -8
  587. package/build-style/rss/style.css +6 -8
  588. package/build-style/social-links/editor-rtl.css +3 -6
  589. package/build-style/social-links/editor.css +3 -6
  590. package/build-style/social-links/style-rtl.css +7 -0
  591. package/build-style/social-links/style.css +7 -0
  592. package/build-style/style-rtl.css +13 -8
  593. package/build-style/style.css +13 -8
  594. package/package.json +35 -35
  595. package/src/archives/block.json +9 -0
  596. package/src/archives/edit.js +2 -2
  597. package/src/block/index.php +1 -18
  598. package/src/categories/block.json +9 -0
  599. package/src/categories/edit.js +133 -45
  600. package/src/comments/edit/comments-inspector-controls.js +5 -8
  601. package/src/comments-pagination/block.json +5 -0
  602. package/src/cover/edit/inspector-controls.js +1 -21
  603. package/src/details/block.json +9 -0
  604. package/src/details/edit.js +18 -2
  605. package/src/details/save.js +6 -2
  606. package/src/embed/transforms.js +3 -1
  607. package/src/form/variations.js +1 -1
  608. package/src/gallery/editor.scss +0 -56
  609. package/src/group/edit.js +1 -20
  610. package/src/home-link/edit.js +0 -6
  611. package/src/latest-comments/edit.js +93 -33
  612. package/src/latest-posts/constants.js +1 -0
  613. package/src/latest-posts/edit.js +119 -44
  614. package/src/list/test/edit.native.js +9 -9
  615. package/src/list-item/block.json +1 -1
  616. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +4 -4
  617. package/src/navigation/edit/use-generate-default-navigation-title.js +4 -4
  618. package/src/navigation/index.php +11 -69
  619. package/src/navigation-link/edit.js +25 -29
  620. package/src/navigation-link/editor.scss +27 -18
  621. package/src/navigation-submenu/index.js +7 -0
  622. package/src/navigation-submenu/index.php +21 -4
  623. package/src/page-list/edit.js +52 -50
  624. package/src/paragraph/edit.js +3 -18
  625. package/src/paragraph/editor.scss +7 -0
  626. package/src/pattern/block.json +1 -1
  627. package/src/post-content/block.json +1 -0
  628. package/src/post-content/index.php +0 -23
  629. package/src/post-date/edit.js +1 -3
  630. package/src/post-featured-image/dimension-controls.js +2 -43
  631. package/src/post-featured-image/edit.js +41 -18
  632. package/src/post-featured-image/editor.scss +2 -2
  633. package/src/post-navigation-link/variations.js +2 -2
  634. package/src/post-template/edit.js +15 -6
  635. package/src/post-terms/edit.js +1 -0
  636. package/src/post-time-to-read/block.json +1 -1
  637. package/src/query/edit/inspector-controls/sticky-control.js +1 -0
  638. package/src/query/edit/query-content.js +1 -11
  639. package/src/query-no-results/block.json +1 -1
  640. package/src/query-pagination-numbers/edit.js +1 -1
  641. package/src/query-title/edit.js +1 -0
  642. package/src/read-more/edit.js +35 -11
  643. package/src/rss/block.json +14 -0
  644. package/src/rss/edit.js +14 -1
  645. package/src/rss/editor.scss +7 -0
  646. package/src/rss/style.scss +6 -8
  647. package/src/search/edit.js +99 -74
  648. package/src/separator/edit.js +1 -6
  649. package/src/social-link/icons/discord.js +10 -0
  650. package/src/social-link/icons/index.js +1 -0
  651. package/src/social-link/index.php +4 -0
  652. package/src/social-link/socials-with-bg.scss +5 -0
  653. package/src/social-link/socials-without-bg.scss +4 -0
  654. package/src/social-link/variations.js +7 -0
  655. package/src/social-links/editor.scss +4 -1
  656. package/src/spacer/controls.js +10 -9
  657. package/src/spacer/edit.js +25 -23
  658. package/src/template-part/edit/advanced-controls.js +1 -21
  659. package/src/utils/messages.js +31 -0
  660. package/src/video/edit-common-settings.js +1 -1
@@ -2,10 +2,15 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { InspectorControls, useBlockProps } from '@wordpress/block-editor';
5
- import { Disabled, PanelBody, RangeControl, ToggleControl } from '@wordpress/components';
5
+ import { Disabled, RangeControl, ToggleControl, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
6
6
  import ServerSideRender from '@wordpress/server-side-render';
7
7
  import { __ } from '@wordpress/i18n';
8
8
 
9
+ /**
10
+ * Internal dependencies
11
+ */
12
+ import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
13
+
9
14
  /**
10
15
  * Minimum number of comments a user can show using this block.
11
16
  *
@@ -36,43 +41,85 @@ export default function LatestComments({
36
41
  spacing: undefined
37
42
  }
38
43
  };
44
+ const dropdownMenuProps = useToolsPanelDropdownMenuProps();
39
45
  return /*#__PURE__*/_jsxs("div", {
40
46
  ...useBlockProps(),
41
47
  children: [/*#__PURE__*/_jsx(InspectorControls, {
42
- children: /*#__PURE__*/_jsxs(PanelBody, {
43
- title: __('Settings'),
44
- children: [/*#__PURE__*/_jsx(ToggleControl, {
45
- __nextHasNoMarginBottom: true,
48
+ children: /*#__PURE__*/_jsxs(ToolsPanel, {
49
+ label: __('Settings'),
50
+ resetAll: () => {
51
+ setAttributes({
52
+ commentsToShow: 5,
53
+ displayAvatar: true,
54
+ displayDate: true,
55
+ displayExcerpt: true
56
+ });
57
+ },
58
+ dropdownMenuProps: dropdownMenuProps,
59
+ children: [/*#__PURE__*/_jsx(ToolsPanelItem, {
60
+ hasValue: () => !displayAvatar,
46
61
  label: __('Display avatar'),
47
- checked: displayAvatar,
48
- onChange: () => setAttributes({
49
- displayAvatar: !displayAvatar
62
+ onDeselect: () => setAttributes({
63
+ displayAvatar: true
64
+ }),
65
+ isShownByDefault: true,
66
+ children: /*#__PURE__*/_jsx(ToggleControl, {
67
+ __nextHasNoMarginBottom: true,
68
+ label: __('Display avatar'),
69
+ checked: displayAvatar,
70
+ onChange: () => setAttributes({
71
+ displayAvatar: !displayAvatar
72
+ })
50
73
  })
51
- }), /*#__PURE__*/_jsx(ToggleControl, {
52
- __nextHasNoMarginBottom: true,
74
+ }), /*#__PURE__*/_jsx(ToolsPanelItem, {
75
+ hasValue: () => !displayDate,
53
76
  label: __('Display date'),
54
- checked: displayDate,
55
- onChange: () => setAttributes({
56
- displayDate: !displayDate
77
+ onDeselect: () => setAttributes({
78
+ displayDate: true
79
+ }),
80
+ isShownByDefault: true,
81
+ children: /*#__PURE__*/_jsx(ToggleControl, {
82
+ __nextHasNoMarginBottom: true,
83
+ label: __('Display date'),
84
+ checked: displayDate,
85
+ onChange: () => setAttributes({
86
+ displayDate: !displayDate
87
+ })
57
88
  })
58
- }), /*#__PURE__*/_jsx(ToggleControl, {
59
- __nextHasNoMarginBottom: true,
89
+ }), /*#__PURE__*/_jsx(ToolsPanelItem, {
90
+ hasValue: () => !displayExcerpt,
60
91
  label: __('Display excerpt'),
61
- checked: displayExcerpt,
62
- onChange: () => setAttributes({
63
- displayExcerpt: !displayExcerpt
92
+ onDeselect: () => setAttributes({
93
+ displayExcerpt: true
94
+ }),
95
+ isShownByDefault: true,
96
+ children: /*#__PURE__*/_jsx(ToggleControl, {
97
+ __nextHasNoMarginBottom: true,
98
+ label: __('Display excerpt'),
99
+ checked: displayExcerpt,
100
+ onChange: () => setAttributes({
101
+ displayExcerpt: !displayExcerpt
102
+ })
64
103
  })
65
- }), /*#__PURE__*/_jsx(RangeControl, {
66
- __nextHasNoMarginBottom: true,
67
- __next40pxDefaultSize: true,
104
+ }), /*#__PURE__*/_jsx(ToolsPanelItem, {
105
+ hasValue: () => commentsToShow !== 5,
68
106
  label: __('Number of comments'),
69
- value: commentsToShow,
70
- onChange: value => setAttributes({
71
- commentsToShow: value
107
+ onDeselect: () => setAttributes({
108
+ commentsToShow: 5
72
109
  }),
73
- min: MIN_COMMENTS,
74
- max: MAX_COMMENTS,
75
- required: true
110
+ isShownByDefault: true,
111
+ children: /*#__PURE__*/_jsx(RangeControl, {
112
+ __nextHasNoMarginBottom: true,
113
+ __next40pxDefaultSize: true,
114
+ label: __('Number of comments'),
115
+ value: commentsToShow,
116
+ onChange: value => setAttributes({
117
+ commentsToShow: value
118
+ }),
119
+ min: MIN_COMMENTS,
120
+ max: MAX_COMMENTS,
121
+ required: true
122
+ })
76
123
  })]
77
124
  })
78
125
  }), /*#__PURE__*/_jsx(Disabled, {
@@ -1 +1 @@
1
- {"version":3,"names":["InspectorControls","useBlockProps","Disabled","PanelBody","RangeControl","ToggleControl","ServerSideRender","__","jsx","_jsx","jsxs","_jsxs","MIN_COMMENTS","MAX_COMMENTS","LatestComments","attributes","setAttributes","commentsToShow","displayAvatar","displayDate","displayExcerpt","serverSideAttributes","style","spacing","undefined","children","title","__nextHasNoMarginBottom","label","checked","onChange","__next40pxDefaultSize","value","min","max","required","block","urlQueryArgs","_locale"],"sources":["@wordpress/block-library/src/latest-comments/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport {\n\tDisabled,\n\tPanelBody,\n\tRangeControl,\n\tToggleControl,\n} from '@wordpress/components';\nimport ServerSideRender from '@wordpress/server-side-render';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Minimum number of comments a user can show using this block.\n *\n * @type {number}\n */\nconst MIN_COMMENTS = 1;\n/**\n * Maximum number of comments a user can show using this block.\n *\n * @type {number}\n */\nconst MAX_COMMENTS = 100;\n\nexport default function LatestComments( { attributes, setAttributes } ) {\n\tconst { commentsToShow, displayAvatar, displayDate, displayExcerpt } =\n\t\tattributes;\n\n\tconst serverSideAttributes = {\n\t\t...attributes,\n\t\tstyle: {\n\t\t\t...attributes?.style,\n\t\t\tspacing: undefined,\n\t\t},\n\t};\n\n\treturn (\n\t\t<div { ...useBlockProps() }>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display avatar' ) }\n\t\t\t\t\t\tchecked={ displayAvatar }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayAvatar: ! displayAvatar } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display date' ) }\n\t\t\t\t\t\tchecked={ displayDate }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayDate: ! displayDate } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display excerpt' ) }\n\t\t\t\t\t\tchecked={ displayExcerpt }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayExcerpt: ! displayExcerpt,\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\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Number of comments' ) }\n\t\t\t\t\t\tvalue={ commentsToShow }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { commentsToShow: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ MIN_COMMENTS }\n\t\t\t\t\t\tmax={ MAX_COMMENTS }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<Disabled>\n\t\t\t\t<ServerSideRender\n\t\t\t\t\tblock=\"core/latest-comments\"\n\t\t\t\t\tattributes={ serverSideAttributes }\n\t\t\t\t\t// The preview uses the site's locale to make it more true to how\n\t\t\t\t\t// the block appears on the frontend. Setting the locale\n\t\t\t\t\t// explicitly prevents any middleware from setting it to 'user'.\n\t\t\t\t\turlQueryArgs={ { _locale: 'site' } }\n\t\t\t\t/>\n\t\t\t</Disabled>\n\t\t</div>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,iBAAiB,EAAEC,aAAa,QAAQ,yBAAyB;AAC1E,SACCC,QAAQ,EACRC,SAAS,EACTC,YAAY,EACZC,aAAa,QACP,uBAAuB;AAC9B,OAAOC,gBAAgB,MAAM,+BAA+B;AAC5D,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA;AACA;AAJA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAKA,MAAMC,YAAY,GAAG,CAAC;AACtB;AACA;AACA;AACA;AACA;AACA,MAAMC,YAAY,GAAG,GAAG;AAExB,eAAe,SAASC,cAAcA,CAAE;EAAEC,UAAU;EAAEC;AAAc,CAAC,EAAG;EACvE,MAAM;IAAEC,cAAc;IAAEC,aAAa;IAAEC,WAAW;IAAEC;EAAe,CAAC,GACnEL,UAAU;EAEX,MAAMM,oBAAoB,GAAG;IAC5B,GAAGN,UAAU;IACbO,KAAK,EAAE;MACN,GAAGP,UAAU,EAAEO,KAAK;MACpBC,OAAO,EAAEC;IACV;EACD,CAAC;EAED,oBACCb,KAAA;IAAA,GAAUV,aAAa,CAAC,CAAC;IAAAwB,QAAA,gBACxBhB,IAAA,CAACT,iBAAiB;MAAAyB,QAAA,eACjBd,KAAA,CAACR,SAAS;QAACuB,KAAK,EAAGnB,EAAE,CAAE,UAAW,CAAG;QAAAkB,QAAA,gBACpChB,IAAA,CAACJ,aAAa;UACbsB,uBAAuB;UACvBC,KAAK,EAAGrB,EAAE,CAAE,gBAAiB,CAAG;UAChCsB,OAAO,EAAGX,aAAe;UACzBY,QAAQ,EAAGA,CAAA,KACVd,aAAa,CAAE;YAAEE,aAAa,EAAE,CAAEA;UAAc,CAAE;QAClD,CACD,CAAC,eACFT,IAAA,CAACJ,aAAa;UACbsB,uBAAuB;UACvBC,KAAK,EAAGrB,EAAE,CAAE,cAAe,CAAG;UAC9BsB,OAAO,EAAGV,WAAa;UACvBW,QAAQ,EAAGA,CAAA,KACVd,aAAa,CAAE;YAAEG,WAAW,EAAE,CAAEA;UAAY,CAAE;QAC9C,CACD,CAAC,eACFV,IAAA,CAACJ,aAAa;UACbsB,uBAAuB;UACvBC,KAAK,EAAGrB,EAAE,CAAE,iBAAkB,CAAG;UACjCsB,OAAO,EAAGT,cAAgB;UAC1BU,QAAQ,EAAGA,CAAA,KACVd,aAAa,CAAE;YACdI,cAAc,EAAE,CAAEA;UACnB,CAAE;QACF,CACD,CAAC,eACFX,IAAA,CAACL,YAAY;UACZuB,uBAAuB;UACvBI,qBAAqB;UACrBH,KAAK,EAAGrB,EAAE,CAAE,oBAAqB,CAAG;UACpCyB,KAAK,EAAGf,cAAgB;UACxBa,QAAQ,EAAKE,KAAK,IACjBhB,aAAa,CAAE;YAAEC,cAAc,EAAEe;UAAM,CAAE,CACzC;UACDC,GAAG,EAAGrB,YAAc;UACpBsB,GAAG,EAAGrB,YAAc;UACpBsB,QAAQ;QAAA,CACR,CAAC;MAAA,CACQ;IAAC,CACM,CAAC,eACpB1B,IAAA,CAACP,QAAQ;MAAAuB,QAAA,eACRhB,IAAA,CAACH,gBAAgB;QAChB8B,KAAK,EAAC,sBAAsB;QAC5BrB,UAAU,EAAGM;QACb;QACA;QACA;QAAA;QACAgB,YAAY,EAAG;UAAEC,OAAO,EAAE;QAAO;MAAG,CACpC;IAAC,CACO,CAAC;EAAA,CACP,CAAC;AAER","ignoreList":[]}
1
+ {"version":3,"names":["InspectorControls","useBlockProps","Disabled","RangeControl","ToggleControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","ServerSideRender","__","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","MIN_COMMENTS","MAX_COMMENTS","LatestComments","attributes","setAttributes","commentsToShow","displayAvatar","displayDate","displayExcerpt","serverSideAttributes","style","spacing","undefined","dropdownMenuProps","children","label","resetAll","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","checked","onChange","__next40pxDefaultSize","value","min","max","required","block","urlQueryArgs","_locale"],"sources":["@wordpress/block-library/src/latest-comments/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport {\n\tDisabled,\n\tRangeControl,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport ServerSideRender from '@wordpress/server-side-render';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n/**\n * Minimum number of comments a user can show using this block.\n *\n * @type {number}\n */\nconst MIN_COMMENTS = 1;\n/**\n * Maximum number of comments a user can show using this block.\n *\n * @type {number}\n */\nconst MAX_COMMENTS = 100;\n\nexport default function LatestComments( { attributes, setAttributes } ) {\n\tconst { commentsToShow, displayAvatar, displayDate, displayExcerpt } =\n\t\tattributes;\n\n\tconst serverSideAttributes = {\n\t\t...attributes,\n\t\tstyle: {\n\t\t\t...attributes?.style,\n\t\t\tspacing: undefined,\n\t\t},\n\t};\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<div { ...useBlockProps() }>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tcommentsToShow: 5,\n\t\t\t\t\t\t\tdisplayAvatar: true,\n\t\t\t\t\t\t\tdisplayDate: true,\n\t\t\t\t\t\t\tdisplayExcerpt: true,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => ! displayAvatar }\n\t\t\t\t\t\tlabel={ __( 'Display avatar' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayAvatar: true } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Display avatar' ) }\n\t\t\t\t\t\t\tchecked={ displayAvatar }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tdisplayAvatar: ! displayAvatar,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => ! displayDate }\n\t\t\t\t\t\tlabel={ __( 'Display date' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayDate: true } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Display date' ) }\n\t\t\t\t\t\t\tchecked={ displayDate }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { displayDate: ! displayDate } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => ! displayExcerpt }\n\t\t\t\t\t\tlabel={ __( 'Display excerpt' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayExcerpt: true } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Display excerpt' ) }\n\t\t\t\t\t\t\tchecked={ displayExcerpt }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tdisplayExcerpt: ! displayExcerpt,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => commentsToShow !== 5 }\n\t\t\t\t\t\tlabel={ __( 'Number of comments' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { commentsToShow: 5 } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Number of comments' ) }\n\t\t\t\t\t\t\tvalue={ commentsToShow }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { commentsToShow: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ MIN_COMMENTS }\n\t\t\t\t\t\t\tmax={ MAX_COMMENTS }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<Disabled>\n\t\t\t\t<ServerSideRender\n\t\t\t\t\tblock=\"core/latest-comments\"\n\t\t\t\t\tattributes={ serverSideAttributes }\n\t\t\t\t\t// The preview uses the site's locale to make it more true to how\n\t\t\t\t\t// the block appears on the frontend. Setting the locale\n\t\t\t\t\t// explicitly prevents any middleware from setting it to 'user'.\n\t\t\t\t\turlQueryArgs={ { _locale: 'site' } }\n\t\t\t\t/>\n\t\t\t</Disabled>\n\t\t</div>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,iBAAiB,EAAEC,aAAa,QAAQ,yBAAyB;AAC1E,SACCC,QAAQ,EACRC,YAAY,EACZC,aAAa,EACbC,wBAAwB,IAAIC,UAAU,EACtCC,4BAA4B,IAAIC,cAAc,QACxC,uBAAuB;AAC9B,OAAOC,gBAAgB,MAAM,+BAA+B;AAC5D,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASC,8BAA8B,QAAQ,gBAAgB;;AAE/D;AACA;AACA;AACA;AACA;AAJA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAKA,MAAMC,YAAY,GAAG,CAAC;AACtB;AACA;AACA;AACA;AACA;AACA,MAAMC,YAAY,GAAG,GAAG;AAExB,eAAe,SAASC,cAAcA,CAAE;EAAEC,UAAU;EAAEC;AAAc,CAAC,EAAG;EACvE,MAAM;IAAEC,cAAc;IAAEC,aAAa;IAAEC,WAAW;IAAEC;EAAe,CAAC,GACnEL,UAAU;EAEX,MAAMM,oBAAoB,GAAG;IAC5B,GAAGN,UAAU;IACbO,KAAK,EAAE;MACN,GAAGP,UAAU,EAAEO,KAAK;MACpBC,OAAO,EAAEC;IACV;EACD,CAAC;EAED,MAAMC,iBAAiB,GAAGlB,8BAA8B,CAAC,CAAC;EAE1D,oBACCI,KAAA;IAAA,GAAUd,aAAa,CAAC,CAAC;IAAA6B,QAAA,gBACxBjB,IAAA,CAACb,iBAAiB;MAAA8B,QAAA,eACjBf,KAAA,CAACT,UAAU;QACVyB,KAAK,EAAGrB,EAAE,CAAE,UAAW,CAAG;QAC1BsB,QAAQ,EAAGA,CAAA,KAAM;UAChBZ,aAAa,CAAE;YACdC,cAAc,EAAE,CAAC;YACjBC,aAAa,EAAE,IAAI;YACnBC,WAAW,EAAE,IAAI;YACjBC,cAAc,EAAE;UACjB,CAAE,CAAC;QACJ,CAAG;QACHK,iBAAiB,EAAGA,iBAAmB;QAAAC,QAAA,gBAEvCjB,IAAA,CAACL,cAAc;UACdyB,QAAQ,EAAGA,CAAA,KAAM,CAAEX,aAAe;UAClCS,KAAK,EAAGrB,EAAE,CAAE,gBAAiB,CAAG;UAChCwB,UAAU,EAAGA,CAAA,KACZd,aAAa,CAAE;YAAEE,aAAa,EAAE;UAAK,CAAE,CACvC;UACDa,gBAAgB;UAAAL,QAAA,eAEhBjB,IAAA,CAACT,aAAa;YACbgC,uBAAuB;YACvBL,KAAK,EAAGrB,EAAE,CAAE,gBAAiB,CAAG;YAChC2B,OAAO,EAAGf,aAAe;YACzBgB,QAAQ,EAAGA,CAAA,KACVlB,aAAa,CAAE;cACdE,aAAa,EAAE,CAAEA;YAClB,CAAE;UACF,CACD;QAAC,CACa,CAAC,eAEjBT,IAAA,CAACL,cAAc;UACdyB,QAAQ,EAAGA,CAAA,KAAM,CAAEV,WAAa;UAChCQ,KAAK,EAAGrB,EAAE,CAAE,cAAe,CAAG;UAC9BwB,UAAU,EAAGA,CAAA,KACZd,aAAa,CAAE;YAAEG,WAAW,EAAE;UAAK,CAAE,CACrC;UACDY,gBAAgB;UAAAL,QAAA,eAEhBjB,IAAA,CAACT,aAAa;YACbgC,uBAAuB;YACvBL,KAAK,EAAGrB,EAAE,CAAE,cAAe,CAAG;YAC9B2B,OAAO,EAAGd,WAAa;YACvBe,QAAQ,EAAGA,CAAA,KACVlB,aAAa,CAAE;cAAEG,WAAW,EAAE,CAAEA;YAAY,CAAE;UAC9C,CACD;QAAC,CACa,CAAC,eAEjBV,IAAA,CAACL,cAAc;UACdyB,QAAQ,EAAGA,CAAA,KAAM,CAAET,cAAgB;UACnCO,KAAK,EAAGrB,EAAE,CAAE,iBAAkB,CAAG;UACjCwB,UAAU,EAAGA,CAAA,KACZd,aAAa,CAAE;YAAEI,cAAc,EAAE;UAAK,CAAE,CACxC;UACDW,gBAAgB;UAAAL,QAAA,eAEhBjB,IAAA,CAACT,aAAa;YACbgC,uBAAuB;YACvBL,KAAK,EAAGrB,EAAE,CAAE,iBAAkB,CAAG;YACjC2B,OAAO,EAAGb,cAAgB;YAC1Bc,QAAQ,EAAGA,CAAA,KACVlB,aAAa,CAAE;cACdI,cAAc,EAAE,CAAEA;YACnB,CAAE;UACF,CACD;QAAC,CACa,CAAC,eAEjBX,IAAA,CAACL,cAAc;UACdyB,QAAQ,EAAGA,CAAA,KAAMZ,cAAc,KAAK,CAAG;UACvCU,KAAK,EAAGrB,EAAE,CAAE,oBAAqB,CAAG;UACpCwB,UAAU,EAAGA,CAAA,KACZd,aAAa,CAAE;YAAEC,cAAc,EAAE;UAAE,CAAE,CACrC;UACDc,gBAAgB;UAAAL,QAAA,eAEhBjB,IAAA,CAACV,YAAY;YACZiC,uBAAuB;YACvBG,qBAAqB;YACrBR,KAAK,EAAGrB,EAAE,CAAE,oBAAqB,CAAG;YACpC8B,KAAK,EAAGnB,cAAgB;YACxBiB,QAAQ,EAAKE,KAAK,IACjBpB,aAAa,CAAE;cAAEC,cAAc,EAAEmB;YAAM,CAAE,CACzC;YACDC,GAAG,EAAGzB,YAAc;YACpB0B,GAAG,EAAGzB,YAAc;YACpB0B,QAAQ;UAAA,CACR;QAAC,CACa,CAAC;MAAA,CACN;IAAC,CACK,CAAC,eACpB9B,IAAA,CAACX,QAAQ;MAAA4B,QAAA,eACRjB,IAAA,CAACJ,gBAAgB;QAChBmC,KAAK,EAAC,sBAAsB;QAC5BzB,UAAU,EAAGM;QACb;QACA;QACA;QAAA;QACAoB,YAAY,EAAG;UAAEC,OAAO,EAAE;QAAO;MAAG,CACpC;IAAC,CACO,CAAC;EAAA,CACP,CAAC;AAER","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  export const MIN_EXCERPT_LENGTH = 10;
2
2
  export const MAX_EXCERPT_LENGTH = 100;
3
3
  export const MAX_POSTS_COLUMNS = 6;
4
+ export const DEFAULT_EXCERPT_LENGTH = 55;
4
5
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["MIN_EXCERPT_LENGTH","MAX_EXCERPT_LENGTH","MAX_POSTS_COLUMNS"],"sources":["@wordpress/block-library/src/latest-posts/constants.js"],"sourcesContent":["export const MIN_EXCERPT_LENGTH = 10;\nexport const MAX_EXCERPT_LENGTH = 100;\nexport const MAX_POSTS_COLUMNS = 6;\n"],"mappings":"AAAA,OAAO,MAAMA,kBAAkB,GAAG,EAAE;AACpC,OAAO,MAAMC,kBAAkB,GAAG,GAAG;AACrC,OAAO,MAAMC,iBAAiB,GAAG,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["MIN_EXCERPT_LENGTH","MAX_EXCERPT_LENGTH","MAX_POSTS_COLUMNS","DEFAULT_EXCERPT_LENGTH"],"sources":["@wordpress/block-library/src/latest-posts/constants.js"],"sourcesContent":["export const MIN_EXCERPT_LENGTH = 10;\nexport const MAX_EXCERPT_LENGTH = 100;\nexport const MAX_POSTS_COLUMNS = 6;\nexport const DEFAULT_EXCERPT_LENGTH = 55;\n"],"mappings":"AAAA,OAAO,MAAMA,kBAAkB,GAAG,EAAE;AACpC,OAAO,MAAMC,kBAAkB,GAAG,GAAG;AACrC,OAAO,MAAMC,iBAAiB,GAAG,CAAC;AAClC,OAAO,MAAMC,sBAAsB,GAAG,EAAE","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * External dependencies
4
3
  */
@@ -7,7 +6,7 @@ import clsx from 'clsx';
7
6
  /**
8
7
  * WordPress dependencies
9
8
  */
10
- import { PanelBody, Placeholder, QueryControls, RadioControl, RangeControl, Spinner, ToggleControl, ToolbarGroup, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon } from '@wordpress/components';
9
+ import { PanelBody, Placeholder, QueryControls, RadioControl, RangeControl, Spinner, ToggleControl, ToolbarGroup, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
11
10
  import { __, _x, sprintf } from '@wordpress/i18n';
12
11
  import { dateI18n, format, getSettings } from '@wordpress/date';
13
12
  import { InspectorControls, BlockControls, __experimentalImageSizeControl as ImageSizeControl, useBlockProps, store as blockEditorStore } from '@wordpress/block-editor';
@@ -21,7 +20,8 @@ import { createInterpolateElement } from '@wordpress/element';
21
20
  /**
22
21
  * Internal dependencies
23
22
  */
24
- import { MIN_EXCERPT_LENGTH, MAX_EXCERPT_LENGTH, MAX_POSTS_COLUMNS } from './constants';
23
+ import { MIN_EXCERPT_LENGTH, MAX_EXCERPT_LENGTH, MAX_POSTS_COLUMNS, DEFAULT_EXCERPT_LENGTH } from './constants';
24
+ import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
25
25
 
26
26
  /**
27
27
  * Module Constants
@@ -50,6 +50,7 @@ export default function LatestPostsEdit({
50
50
  }) {
51
51
  var _categoriesList$reduc;
52
52
  const instanceId = useInstanceId(LatestPostsEdit);
53
+ const dropdownMenuProps = useToolsPanelDropdownMenuProps();
53
54
  const {
54
55
  postsToShow,
55
56
  order,
@@ -165,54 +166,105 @@ export default function LatestPostsEdit({
165
166
  }];
166
167
  const hasPosts = !!latestPosts?.length;
167
168
  const inspectorControls = /*#__PURE__*/_jsxs(InspectorControls, {
168
- children: [/*#__PURE__*/_jsxs(PanelBody, {
169
- title: __('Post content'),
170
- children: [/*#__PURE__*/_jsx(ToggleControl, {
171
- __nextHasNoMarginBottom: true,
169
+ children: [/*#__PURE__*/_jsxs(ToolsPanel, {
170
+ label: __('Post content'),
171
+ resetAll: () => setAttributes({
172
+ displayPostContent: false,
173
+ displayPostContentRadio: 'excerpt',
174
+ excerptLength: DEFAULT_EXCERPT_LENGTH
175
+ }),
176
+ dropdownMenuProps: dropdownMenuProps,
177
+ children: [/*#__PURE__*/_jsx(ToolsPanelItem, {
178
+ hasValue: () => !!displayPostContent,
172
179
  label: __('Post content'),
173
- checked: displayPostContent,
174
- onChange: value => setAttributes({
175
- displayPostContent: value
180
+ onDeselect: () => setAttributes({
181
+ displayPostContent: false
182
+ }),
183
+ isShownByDefault: true,
184
+ children: /*#__PURE__*/_jsx(ToggleControl, {
185
+ __nextHasNoMarginBottom: true,
186
+ label: __('Post content'),
187
+ checked: displayPostContent,
188
+ onChange: value => setAttributes({
189
+ displayPostContent: value
190
+ })
176
191
  })
177
- }), displayPostContent && /*#__PURE__*/_jsx(RadioControl, {
192
+ }), displayPostContent && /*#__PURE__*/_jsx(ToolsPanelItem, {
193
+ hasValue: () => displayPostContentRadio !== 'excerpt',
178
194
  label: __('Show'),
179
- selected: displayPostContentRadio,
180
- options: [{
181
- label: __('Excerpt'),
182
- value: 'excerpt'
183
- }, {
184
- label: __('Full post'),
185
- value: 'full_post'
186
- }],
187
- onChange: value => setAttributes({
188
- displayPostContentRadio: value
195
+ onDeselect: () => setAttributes({
196
+ displayPostContentRadio: 'excerpt'
197
+ }),
198
+ isShownByDefault: true,
199
+ children: /*#__PURE__*/_jsx(RadioControl, {
200
+ label: __('Show'),
201
+ selected: displayPostContentRadio,
202
+ options: [{
203
+ label: __('Excerpt'),
204
+ value: 'excerpt'
205
+ }, {
206
+ label: __('Full post'),
207
+ value: 'full_post'
208
+ }],
209
+ onChange: value => setAttributes({
210
+ displayPostContentRadio: value
211
+ })
189
212
  })
190
- }), displayPostContent && displayPostContentRadio === 'excerpt' && /*#__PURE__*/_jsx(RangeControl, {
191
- __nextHasNoMarginBottom: true,
192
- __next40pxDefaultSize: true,
213
+ }), displayPostContent && displayPostContentRadio === 'excerpt' && /*#__PURE__*/_jsx(ToolsPanelItem, {
214
+ hasValue: () => excerptLength !== DEFAULT_EXCERPT_LENGTH,
193
215
  label: __('Max number of words'),
194
- value: excerptLength,
195
- onChange: value => setAttributes({
196
- excerptLength: value
216
+ onDeselect: () => setAttributes({
217
+ excerptLength: DEFAULT_EXCERPT_LENGTH
197
218
  }),
198
- min: MIN_EXCERPT_LENGTH,
199
- max: MAX_EXCERPT_LENGTH
219
+ isShownByDefault: true,
220
+ children: /*#__PURE__*/_jsx(RangeControl, {
221
+ __nextHasNoMarginBottom: true,
222
+ __next40pxDefaultSize: true,
223
+ label: __('Max number of words'),
224
+ value: excerptLength,
225
+ onChange: value => setAttributes({
226
+ excerptLength: value
227
+ }),
228
+ min: MIN_EXCERPT_LENGTH,
229
+ max: MAX_EXCERPT_LENGTH
230
+ })
200
231
  })]
201
- }), /*#__PURE__*/_jsxs(PanelBody, {
202
- title: __('Post meta'),
203
- children: [/*#__PURE__*/_jsx(ToggleControl, {
204
- __nextHasNoMarginBottom: true,
232
+ }), /*#__PURE__*/_jsxs(ToolsPanel, {
233
+ label: __('Post meta'),
234
+ resetAll: () => setAttributes({
235
+ displayAuthor: false,
236
+ displayPostDate: false
237
+ }),
238
+ dropdownMenuProps: dropdownMenuProps,
239
+ children: [/*#__PURE__*/_jsx(ToolsPanelItem, {
240
+ hasValue: () => !!displayAuthor,
205
241
  label: __('Display author name'),
206
- checked: displayAuthor,
207
- onChange: value => setAttributes({
208
- displayAuthor: value
242
+ onDeselect: () => setAttributes({
243
+ displayAuthor: false
244
+ }),
245
+ isShownByDefault: true,
246
+ children: /*#__PURE__*/_jsx(ToggleControl, {
247
+ __nextHasNoMarginBottom: true,
248
+ label: __('Display author name'),
249
+ checked: displayAuthor,
250
+ onChange: value => setAttributes({
251
+ displayAuthor: value
252
+ })
209
253
  })
210
- }), /*#__PURE__*/_jsx(ToggleControl, {
211
- __nextHasNoMarginBottom: true,
254
+ }), /*#__PURE__*/_jsx(ToolsPanelItem, {
255
+ hasValue: () => !!displayPostDate,
212
256
  label: __('Display post date'),
213
- checked: displayPostDate,
214
- onChange: value => setAttributes({
215
- displayPostDate: value
257
+ onDeselect: () => setAttributes({
258
+ displayPostDate: false
259
+ }),
260
+ isShownByDefault: true,
261
+ children: /*#__PURE__*/_jsx(ToggleControl, {
262
+ __nextHasNoMarginBottom: true,
263
+ label: __('Display post date'),
264
+ checked: displayPostDate,
265
+ onChange: value => setAttributes({
266
+ displayPostDate: value
267
+ })
216
268
  })
217
269
  })]
218
270
  }), /*#__PURE__*/_jsxs(PanelBody, {
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","PanelBody","Placeholder","QueryControls","RadioControl","RangeControl","Spinner","ToggleControl","ToolbarGroup","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","__","_x","sprintf","dateI18n","format","getSettings","InspectorControls","BlockControls","__experimentalImageSizeControl","ImageSizeControl","useBlockProps","store","blockEditorStore","useSelect","useDispatch","pin","list","grid","alignNone","positionLeft","positionCenter","positionRight","coreStore","noticeStore","useInstanceId","createInterpolateElement","MIN_EXCERPT_LENGTH","MAX_EXCERPT_LENGTH","MAX_POSTS_COLUMNS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","CATEGORIES_LIST_QUERY","per_page","context","USERS_LIST_QUERY","has_published_posts","getFeaturedImageDetails","post","size","_image$media_details$","image","_embedded","url","media_details","sizes","source_url","alt","alt_text","LatestPostsEdit","attributes","setAttributes","_categoriesList$reduc","instanceId","postsToShow","order","orderBy","categories","selectedAuthor","displayFeaturedImage","displayPostContentRadio","displayPostContent","displayPostDate","displayAuthor","postLayout","columns","excerptLength","featuredImageAlign","featuredImageSizeSlug","featuredImageSizeWidth","featuredImageSizeHeight","addLinkToFeaturedImage","imageSizes","latestPosts","defaultImageWidth","defaultImageHeight","categoriesList","authorList","select","_settings$imageDimens","_settings$imageDimens2","getEntityRecords","getUsers","settings","catIds","length","map","cat","id","latestPostsQuery","Object","fromEntries","entries","author","orderby","_embed","filter","value","imageDimensions","width","height","createWarningNotice","showRedirectionPreventedNotice","event","preventDefault","type","imageSizeOptions","slug","name","label","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","includes","imageAlignmentOptions","icon","hasPosts","inspectorControls","children","title","__nextHasNoMarginBottom","checked","onChange","selected","options","__next40pxDefaultSize","min","max","newAttrs","hasOwnProperty","imageWidth","imageHeight","imageSizeHelp","onChangeImage","undefined","className","numberOfItems","onOrderChange","onOrderByChange","onNumberOfItemsChange","onCategoryChange","selectedCategories","onAuthorChange","Number","selectedAuthorId","Math","required","blockProps","Array","isArray","displayPosts","slice","layoutControls","onClick","isActive","dateFormat","formats","date","controls","titleTrimmed","rendered","trim","excerpt","currentAuthor","find","excerptElement","document","createElement","innerHTML","textContent","innerText","imageSourceUrl","featuredImageAlt","imageClasses","renderFeaturedImage","featuredImage","src","style","maxWidth","maxHeight","needsReadMore","split","raw","postExcerpt","join","a","href","link","rel","span","dangerouslySetInnerHTML","__html","date_gmt","dateTime","content"],"sources":["@wordpress/block-library/src/latest-posts/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tPlaceholder,\n\tQueryControls,\n\tRadioControl,\n\tRangeControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarGroup,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { dateI18n, format, getSettings } from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tpin,\n\tlist,\n\tgrid,\n\talignNone,\n\tpositionLeft,\n\tpositionCenter,\n\tpositionRight,\n} from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { useInstanceId } from '@wordpress/compose';\nimport { createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMIN_EXCERPT_LENGTH,\n\tMAX_EXCERPT_LENGTH,\n\tMAX_POSTS_COLUMNS,\n} from './constants';\n\n/**\n * Module Constants\n */\nconst CATEGORIES_LIST_QUERY = {\n\tper_page: -1,\n\tcontext: 'view',\n};\nconst USERS_LIST_QUERY = {\n\tper_page: -1,\n\thas_published_posts: [ 'post' ],\n\tcontext: 'view',\n};\n\nfunction getFeaturedImageDetails( post, size ) {\n\tconst image = post._embedded?.[ 'wp:featuredmedia' ]?.[ '0' ];\n\n\treturn {\n\t\turl:\n\t\t\timage?.media_details?.sizes?.[ size ]?.source_url ??\n\t\t\timage?.source_url,\n\t\talt: image?.alt_text,\n\t};\n}\n\nexport default function LatestPostsEdit( { attributes, setAttributes } ) {\n\tconst instanceId = useInstanceId( LatestPostsEdit );\n\tconst {\n\t\tpostsToShow,\n\t\torder,\n\t\torderBy,\n\t\tcategories,\n\t\tselectedAuthor,\n\t\tdisplayFeaturedImage,\n\t\tdisplayPostContentRadio,\n\t\tdisplayPostContent,\n\t\tdisplayPostDate,\n\t\tdisplayAuthor,\n\t\tpostLayout,\n\t\tcolumns,\n\t\texcerptLength,\n\t\tfeaturedImageAlign,\n\t\tfeaturedImageSizeSlug,\n\t\tfeaturedImageSizeWidth,\n\t\tfeaturedImageSizeHeight,\n\t\taddLinkToFeaturedImage,\n\t} = attributes;\n\tconst {\n\t\timageSizes,\n\t\tlatestPosts,\n\t\tdefaultImageWidth,\n\t\tdefaultImageHeight,\n\t\tcategoriesList,\n\t\tauthorList,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getUsers } = select( coreStore );\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\t\tconst catIds =\n\t\t\t\tcategories && categories.length > 0\n\t\t\t\t\t? categories.map( ( cat ) => cat.id )\n\t\t\t\t\t: [];\n\t\t\tconst latestPostsQuery = Object.fromEntries(\n\t\t\t\tObject.entries( {\n\t\t\t\t\tcategories: catIds,\n\t\t\t\t\tauthor: selectedAuthor,\n\t\t\t\t\torder,\n\t\t\t\t\torderby: orderBy,\n\t\t\t\t\tper_page: postsToShow,\n\t\t\t\t\t_embed: 'wp:featuredmedia',\n\t\t\t\t} ).filter( ( [ , value ] ) => typeof value !== 'undefined' )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tdefaultImageWidth:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.width ?? 0,\n\t\t\t\tdefaultImageHeight:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.height ?? 0,\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tlatestPosts: getEntityRecords(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'post',\n\t\t\t\t\tlatestPostsQuery\n\t\t\t\t),\n\t\t\t\tcategoriesList: getEntityRecords(\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\t'category',\n\t\t\t\t\tCATEGORIES_LIST_QUERY\n\t\t\t\t),\n\t\t\t\tauthorList: getUsers( USERS_LIST_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tfeaturedImageSizeSlug,\n\t\t\tpostsToShow,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tcategories,\n\t\t\tselectedAuthor,\n\t\t]\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\n\tconst { createWarningNotice } = useDispatch( noticeStore );\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: `block-library/core/latest-posts/redirection-prevented/${ instanceId }`,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => slug !== 'full' )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\tconst categorySuggestions =\n\t\tcategoriesList?.reduce(\n\t\t\t( accumulator, category ) => ( {\n\t\t\t\t...accumulator,\n\t\t\t\t[ category.name ]: category,\n\t\t\t} ),\n\t\t\t{}\n\t\t) ?? {};\n\tconst selectCategories = ( tokens ) => {\n\t\tconst hasNoSuggestion = tokens.some(\n\t\t\t( token ) =>\n\t\t\t\ttypeof token === 'string' && ! categorySuggestions[ token ]\n\t\t);\n\t\tif ( hasNoSuggestion ) {\n\t\t\treturn;\n\t\t}\n\t\t// Categories that are already will be objects, while new additions will be strings (the name).\n\t\t// allCategories nomalizes the array so that they are all objects.\n\t\tconst allCategories = tokens.map( ( token ) => {\n\t\t\treturn typeof token === 'string'\n\t\t\t\t? categorySuggestions[ token ]\n\t\t\t\t: token;\n\t\t} );\n\t\t// We do nothing if the category is not selected\n\t\t// from suggestions.\n\t\tif ( allCategories.includes( null ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tsetAttributes( { categories: allCategories } );\n\t};\n\n\tconst imageAlignmentOptions = [\n\t\t{\n\t\t\tvalue: 'none',\n\t\t\ticon: alignNone,\n\t\t\tlabel: __( 'None' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'left',\n\t\t\ticon: positionLeft,\n\t\t\tlabel: __( 'Left' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'center',\n\t\t\ticon: positionCenter,\n\t\t\tlabel: __( 'Center' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'right',\n\t\t\ticon: positionRight,\n\t\t\tlabel: __( 'Right' ),\n\t\t},\n\t];\n\n\tconst hasPosts = !! latestPosts?.length;\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Post content' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayPostContent: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t<RadioControl\n\t\t\t\t\t\tlabel={ __( 'Show' ) }\n\t\t\t\t\t\tselected={ displayPostContentRadio }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ label: __( 'Excerpt' ), value: 'excerpt' },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Full post' ),\n\t\t\t\t\t\t\t\tvalue: 'full_post',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayPostContentRadio: value,\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\t{ displayPostContent &&\n\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ MIN_EXCERPT_LENGTH }\n\t\t\t\t\t\t\tmax={ MAX_EXCERPT_LENGTH }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Post meta' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayAuthor: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\tchecked={ displayPostDate }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayPostDate: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Featured image' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display featured image' ) }\n\t\t\t\t\tchecked={ displayFeaturedImage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayFeaturedImage: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayFeaturedImage && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ImageSizeControl\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tconst newAttrs = {};\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'width' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeWidth =\n\t\t\t\t\t\t\t\t\t\tvalue.width;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'height' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeHeight =\n\t\t\t\t\t\t\t\t\t\tvalue.height;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetAttributes( newAttrs );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tslug={ featuredImageSizeSlug }\n\t\t\t\t\t\t\twidth={ featuredImageSizeWidth }\n\t\t\t\t\t\t\theight={ featuredImageSizeHeight }\n\t\t\t\t\t\t\timageWidth={ defaultImageWidth }\n\t\t\t\t\t\t\timageHeight={ defaultImageHeight }\n\t\t\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\t\t\timageSizeHelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source image.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChangeImage={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeSlug: value,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeWidth: undefined,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeHeight: undefined,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\tclassName=\"editor-latest-posts-image-alignment-control\"\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Image alignment' ) }\n\t\t\t\t\t\t\tvalue={ featuredImageAlign || 'none' }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageAlign:\n\t\t\t\t\t\t\t\t\t\tvalue !== 'none' ? value : undefined,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ imageAlignmentOptions.map(\n\t\t\t\t\t\t\t\t( { value, icon, label } ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Add link to featured image' ) }\n\t\t\t\t\t\t\tchecked={ addLinkToFeaturedImage }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\taddLinkToFeaturedImage: value,\n\t\t\t\t\t\t\t\t} )\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</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Sorting and filtering' ) }>\n\t\t\t\t<QueryControls\n\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\tnumberOfItems={ postsToShow }\n\t\t\t\t\tonOrderChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { order: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonOrderByChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { orderBy: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonNumberOfItemsChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { postsToShow: value } )\n\t\t\t\t\t}\n\t\t\t\t\tcategorySuggestions={ categorySuggestions }\n\t\t\t\t\tonCategoryChange={ selectCategories }\n\t\t\t\t\tselectedCategories={ categories }\n\t\t\t\t\tonAuthorChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tselectedAuthor:\n\t\t\t\t\t\t\t\t'' !== value ? Number( value ) : undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tauthorList={ authorList ?? [] }\n\t\t\t\t\tselectedAuthorId={ selectedAuthor }\n\t\t\t\t/>\n\n\t\t\t\t{ postLayout === 'grid' && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { columns: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t! hasPosts\n\t\t\t\t\t\t\t\t? MAX_POSTS_COLUMNS\n\t\t\t\t\t\t\t\t: Math.min(\n\t\t\t\t\t\t\t\t\t\tMAX_POSTS_COLUMNS,\n\t\t\t\t\t\t\t\t\t\tlatestPosts.length\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t'wp-block-latest-posts__list': true,\n\t\t\t'is-grid': postLayout === 'grid',\n\t\t\t'has-dates': displayPostDate,\n\t\t\t'has-author': displayAuthor,\n\t\t\t[ `columns-${ columns }` ]: postLayout === 'grid',\n\t\t} ),\n\t} );\n\n\tif ( ! hasPosts ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ inspectorControls }\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Latest Posts' ) }>\n\t\t\t\t\t{ ! Array.isArray( latestPosts ) ? (\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t__( 'No posts found.' )\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Removing posts from display should be instant.\n\tconst displayPosts =\n\t\tlatestPosts.length > postsToShow\n\t\t\t? latestPosts.slice( 0, postsToShow )\n\t\t\t: latestPosts;\n\n\tconst layoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: _x( 'List view', 'Latest posts block display setting' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'list' } ),\n\t\t\tisActive: postLayout === 'list',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: _x( 'Grid view', 'Latest posts block display setting' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'grid' } ),\n\t\t\tisActive: postLayout === 'grid',\n\t\t},\n\t];\n\n\tconst dateFormat = getSettings().formats.date;\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ layoutControls } />\n\t\t\t</BlockControls>\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ displayPosts.map( ( post ) => {\n\t\t\t\t\tconst titleTrimmed = post.title.rendered.trim();\n\t\t\t\t\tlet excerpt = post.excerpt.rendered;\n\t\t\t\t\tconst currentAuthor = authorList?.find(\n\t\t\t\t\t\t( author ) => author.id === post.author\n\t\t\t\t\t);\n\n\t\t\t\t\tconst excerptElement = document.createElement( 'div' );\n\t\t\t\t\texcerptElement.innerHTML = excerpt;\n\n\t\t\t\t\texcerpt =\n\t\t\t\t\t\texcerptElement.textContent ||\n\t\t\t\t\t\texcerptElement.innerText ||\n\t\t\t\t\t\t'';\n\n\t\t\t\t\tconst { url: imageSourceUrl, alt: featuredImageAlt } =\n\t\t\t\t\t\tgetFeaturedImageDetails( post, featuredImageSizeSlug );\n\t\t\t\t\tconst imageClasses = clsx( {\n\t\t\t\t\t\t'wp-block-latest-posts__featured-image': true,\n\t\t\t\t\t\t[ `align${ featuredImageAlign }` ]:\n\t\t\t\t\t\t\t!! featuredImageAlign,\n\t\t\t\t\t} );\n\t\t\t\t\tconst renderFeaturedImage =\n\t\t\t\t\t\tdisplayFeaturedImage && imageSourceUrl;\n\t\t\t\t\tconst featuredImage = renderFeaturedImage && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ imageSourceUrl }\n\t\t\t\t\t\t\talt={ featuredImageAlt }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmaxWidth: featuredImageSizeWidth,\n\t\t\t\t\t\t\t\tmaxHeight: featuredImageSizeHeight,\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 needsReadMore =\n\t\t\t\t\t\texcerptLength < excerpt.trim().split( ' ' ).length &&\n\t\t\t\t\t\tpost.excerpt.raw === '';\n\n\t\t\t\t\tconst postExcerpt = needsReadMore ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ excerpt\n\t\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t\t.split( ' ', excerptLength )\n\t\t\t\t\t\t\t\t.join( ' ' ) }\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t/* translators: 1: Hidden accessibility text: Post title */\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'… <a>Read more<span>: %1$s</span></a>'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitleTrimmed || __( '(no title)' )\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__read-more\"\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tspan: (\n\t\t\t\t\t\t\t\t\t\t<span className=\"screen-reader-text\" />\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}\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\t\texcerpt\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={ post.id }>\n\t\t\t\t\t\t\t{ renderFeaturedImage && (\n\t\t\t\t\t\t\t\t<div className={ imageClasses }>\n\t\t\t\t\t\t\t\t\t{ addLinkToFeaturedImage ? (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ featuredImage }\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tfeaturedImage\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-title\"\n\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={\n\t\t\t\t\t\t\t\t\t!! titleTrimmed\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t__html: titleTrimmed,\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ! titleTrimmed ? __( '(no title)' ) : null }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t{ displayAuthor && currentAuthor && (\n\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-author\">\n\t\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: byline. %s: author. */\n\t\t\t\t\t\t\t\t\t\t__( 'by %s' ),\n\t\t\t\t\t\t\t\t\t\tcurrentAuthor.name\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostDate && post.date_gmt && (\n\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\tdateTime={ format( 'c', post.date_gmt ) }\n\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-date\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ dateI18n( dateFormat, post.date_gmt ) }\n\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-excerpt\">\n\t\t\t\t\t\t\t\t\t\t{ postExcerpt }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'full_post' && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-full-content\"\n\t\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t\t\t\t\t__html: post.content.raw.trim(),\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","PanelBody","Placeholder","QueryControls","RadioControl","RangeControl","Spinner","ToggleControl","ToolbarGroup","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","_x","sprintf","dateI18n","format","getSettings","InspectorControls","BlockControls","__experimentalImageSizeControl","ImageSizeControl","useBlockProps","store","blockEditorStore","useSelect","useDispatch","pin","list","grid","alignNone","positionLeft","positionCenter","positionRight","coreStore","noticeStore","useInstanceId","createInterpolateElement","MIN_EXCERPT_LENGTH","MAX_EXCERPT_LENGTH","MAX_POSTS_COLUMNS","DEFAULT_EXCERPT_LENGTH","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","CATEGORIES_LIST_QUERY","per_page","context","USERS_LIST_QUERY","has_published_posts","getFeaturedImageDetails","post","size","_image$media_details$","image","_embedded","url","media_details","sizes","source_url","alt","alt_text","LatestPostsEdit","attributes","setAttributes","_categoriesList$reduc","instanceId","dropdownMenuProps","postsToShow","order","orderBy","categories","selectedAuthor","displayFeaturedImage","displayPostContentRadio","displayPostContent","displayPostDate","displayAuthor","postLayout","columns","excerptLength","featuredImageAlign","featuredImageSizeSlug","featuredImageSizeWidth","featuredImageSizeHeight","addLinkToFeaturedImage","imageSizes","latestPosts","defaultImageWidth","defaultImageHeight","categoriesList","authorList","select","_settings$imageDimens","_settings$imageDimens2","getEntityRecords","getUsers","settings","catIds","length","map","cat","id","latestPostsQuery","Object","fromEntries","entries","author","orderby","_embed","filter","value","imageDimensions","width","height","createWarningNotice","showRedirectionPreventedNotice","event","preventDefault","type","imageSizeOptions","slug","name","label","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","includes","imageAlignmentOptions","icon","hasPosts","inspectorControls","children","resetAll","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","checked","onChange","selected","options","__next40pxDefaultSize","min","max","title","newAttrs","hasOwnProperty","imageWidth","imageHeight","imageSizeHelp","onChangeImage","undefined","className","numberOfItems","onOrderChange","onOrderByChange","onNumberOfItemsChange","onCategoryChange","selectedCategories","onAuthorChange","Number","selectedAuthorId","Math","required","blockProps","Array","isArray","displayPosts","slice","layoutControls","onClick","isActive","dateFormat","formats","date","controls","titleTrimmed","rendered","trim","excerpt","currentAuthor","find","excerptElement","document","createElement","innerHTML","textContent","innerText","imageSourceUrl","featuredImageAlt","imageClasses","renderFeaturedImage","featuredImage","src","style","maxWidth","maxHeight","needsReadMore","split","raw","postExcerpt","join","a","href","link","rel","span","dangerouslySetInnerHTML","__html","date_gmt","dateTime","content"],"sources":["@wordpress/block-library/src/latest-posts/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tPlaceholder,\n\tQueryControls,\n\tRadioControl,\n\tRangeControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarGroup,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { dateI18n, format, getSettings } from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tpin,\n\tlist,\n\tgrid,\n\talignNone,\n\tpositionLeft,\n\tpositionCenter,\n\tpositionRight,\n} from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { useInstanceId } from '@wordpress/compose';\nimport { createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMIN_EXCERPT_LENGTH,\n\tMAX_EXCERPT_LENGTH,\n\tMAX_POSTS_COLUMNS,\n\tDEFAULT_EXCERPT_LENGTH,\n} from './constants';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n/**\n * Module Constants\n */\nconst CATEGORIES_LIST_QUERY = {\n\tper_page: -1,\n\tcontext: 'view',\n};\nconst USERS_LIST_QUERY = {\n\tper_page: -1,\n\thas_published_posts: [ 'post' ],\n\tcontext: 'view',\n};\n\nfunction getFeaturedImageDetails( post, size ) {\n\tconst image = post._embedded?.[ 'wp:featuredmedia' ]?.[ '0' ];\n\n\treturn {\n\t\turl:\n\t\t\timage?.media_details?.sizes?.[ size ]?.source_url ??\n\t\t\timage?.source_url,\n\t\talt: image?.alt_text,\n\t};\n}\n\nexport default function LatestPostsEdit( { attributes, setAttributes } ) {\n\tconst instanceId = useInstanceId( LatestPostsEdit );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst {\n\t\tpostsToShow,\n\t\torder,\n\t\torderBy,\n\t\tcategories,\n\t\tselectedAuthor,\n\t\tdisplayFeaturedImage,\n\t\tdisplayPostContentRadio,\n\t\tdisplayPostContent,\n\t\tdisplayPostDate,\n\t\tdisplayAuthor,\n\t\tpostLayout,\n\t\tcolumns,\n\t\texcerptLength,\n\t\tfeaturedImageAlign,\n\t\tfeaturedImageSizeSlug,\n\t\tfeaturedImageSizeWidth,\n\t\tfeaturedImageSizeHeight,\n\t\taddLinkToFeaturedImage,\n\t} = attributes;\n\tconst {\n\t\timageSizes,\n\t\tlatestPosts,\n\t\tdefaultImageWidth,\n\t\tdefaultImageHeight,\n\t\tcategoriesList,\n\t\tauthorList,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getUsers } = select( coreStore );\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\t\tconst catIds =\n\t\t\t\tcategories && categories.length > 0\n\t\t\t\t\t? categories.map( ( cat ) => cat.id )\n\t\t\t\t\t: [];\n\t\t\tconst latestPostsQuery = Object.fromEntries(\n\t\t\t\tObject.entries( {\n\t\t\t\t\tcategories: catIds,\n\t\t\t\t\tauthor: selectedAuthor,\n\t\t\t\t\torder,\n\t\t\t\t\torderby: orderBy,\n\t\t\t\t\tper_page: postsToShow,\n\t\t\t\t\t_embed: 'wp:featuredmedia',\n\t\t\t\t} ).filter( ( [ , value ] ) => typeof value !== 'undefined' )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tdefaultImageWidth:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.width ?? 0,\n\t\t\t\tdefaultImageHeight:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.height ?? 0,\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tlatestPosts: getEntityRecords(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'post',\n\t\t\t\t\tlatestPostsQuery\n\t\t\t\t),\n\t\t\t\tcategoriesList: getEntityRecords(\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\t'category',\n\t\t\t\t\tCATEGORIES_LIST_QUERY\n\t\t\t\t),\n\t\t\t\tauthorList: getUsers( USERS_LIST_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tfeaturedImageSizeSlug,\n\t\t\tpostsToShow,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tcategories,\n\t\t\tselectedAuthor,\n\t\t]\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\n\tconst { createWarningNotice } = useDispatch( noticeStore );\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: `block-library/core/latest-posts/redirection-prevented/${ instanceId }`,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => slug !== 'full' )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\tconst categorySuggestions =\n\t\tcategoriesList?.reduce(\n\t\t\t( accumulator, category ) => ( {\n\t\t\t\t...accumulator,\n\t\t\t\t[ category.name ]: category,\n\t\t\t} ),\n\t\t\t{}\n\t\t) ?? {};\n\tconst selectCategories = ( tokens ) => {\n\t\tconst hasNoSuggestion = tokens.some(\n\t\t\t( token ) =>\n\t\t\t\ttypeof token === 'string' && ! categorySuggestions[ token ]\n\t\t);\n\t\tif ( hasNoSuggestion ) {\n\t\t\treturn;\n\t\t}\n\t\t// Categories that are already will be objects, while new additions will be strings (the name).\n\t\t// allCategories nomalizes the array so that they are all objects.\n\t\tconst allCategories = tokens.map( ( token ) => {\n\t\t\treturn typeof token === 'string'\n\t\t\t\t? categorySuggestions[ token ]\n\t\t\t\t: token;\n\t\t} );\n\t\t// We do nothing if the category is not selected\n\t\t// from suggestions.\n\t\tif ( allCategories.includes( null ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tsetAttributes( { categories: allCategories } );\n\t};\n\n\tconst imageAlignmentOptions = [\n\t\t{\n\t\t\tvalue: 'none',\n\t\t\ticon: alignNone,\n\t\t\tlabel: __( 'None' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'left',\n\t\t\ticon: positionLeft,\n\t\t\tlabel: __( 'Left' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'center',\n\t\t\ticon: positionCenter,\n\t\t\tlabel: __( 'Center' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'right',\n\t\t\ticon: positionRight,\n\t\t\tlabel: __( 'Right' ),\n\t\t},\n\t];\n\n\tconst hasPosts = !! latestPosts?.length;\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\tresetAll={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tdisplayPostContent: false,\n\t\t\t\t\t\tdisplayPostContentRadio: 'excerpt',\n\t\t\t\t\t\texcerptLength: DEFAULT_EXCERPT_LENGTH,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! displayPostContent }\n\t\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayPostContent: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayPostContent: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => displayPostContentRadio !== 'excerpt' }\n\t\t\t\t\t\tlabel={ __( 'Show' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayPostContentRadio: 'excerpt',\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<RadioControl\n\t\t\t\t\t\t\tlabel={ __( 'Show' ) }\n\t\t\t\t\t\t\tselected={ displayPostContentRadio }\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{ label: __( 'Excerpt' ), value: 'excerpt' },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlabel: __( 'Full post' ),\n\t\t\t\t\t\t\t\t\tvalue: 'full_post',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tdisplayPostContentRadio: value,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t\t{ displayPostContent &&\n\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\texcerptLength !== DEFAULT_EXCERPT_LENGTH\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\texcerptLength: DEFAULT_EXCERPT_LENGTH,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmin={ MIN_EXCERPT_LENGTH }\n\t\t\t\t\t\t\t\tmax={ MAX_EXCERPT_LENGTH }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t</ToolsPanel>\n\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Post meta' ) }\n\t\t\t\tresetAll={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tdisplayAuthor: false,\n\t\t\t\t\t\tdisplayPostDate: false,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! displayAuthor }\n\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayAuthor: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayAuthor: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! displayPostDate }\n\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayPostDate: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\t\tchecked={ displayPostDate }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayPostDate: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t\t<PanelBody title={ __( 'Featured image' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display featured image' ) }\n\t\t\t\t\tchecked={ displayFeaturedImage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayFeaturedImage: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayFeaturedImage && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ImageSizeControl\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tconst newAttrs = {};\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'width' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeWidth =\n\t\t\t\t\t\t\t\t\t\tvalue.width;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'height' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeHeight =\n\t\t\t\t\t\t\t\t\t\tvalue.height;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetAttributes( newAttrs );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tslug={ featuredImageSizeSlug }\n\t\t\t\t\t\t\twidth={ featuredImageSizeWidth }\n\t\t\t\t\t\t\theight={ featuredImageSizeHeight }\n\t\t\t\t\t\t\timageWidth={ defaultImageWidth }\n\t\t\t\t\t\t\timageHeight={ defaultImageHeight }\n\t\t\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\t\t\timageSizeHelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source image.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChangeImage={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeSlug: value,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeWidth: undefined,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeHeight: undefined,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\tclassName=\"editor-latest-posts-image-alignment-control\"\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Image alignment' ) }\n\t\t\t\t\t\t\tvalue={ featuredImageAlign || 'none' }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageAlign:\n\t\t\t\t\t\t\t\t\t\tvalue !== 'none' ? value : undefined,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ imageAlignmentOptions.map(\n\t\t\t\t\t\t\t\t( { value, icon, label } ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Add link to featured image' ) }\n\t\t\t\t\t\t\tchecked={ addLinkToFeaturedImage }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\taddLinkToFeaturedImage: value,\n\t\t\t\t\t\t\t\t} )\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</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Sorting and filtering' ) }>\n\t\t\t\t<QueryControls\n\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\tnumberOfItems={ postsToShow }\n\t\t\t\t\tonOrderChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { order: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonOrderByChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { orderBy: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonNumberOfItemsChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { postsToShow: value } )\n\t\t\t\t\t}\n\t\t\t\t\tcategorySuggestions={ categorySuggestions }\n\t\t\t\t\tonCategoryChange={ selectCategories }\n\t\t\t\t\tselectedCategories={ categories }\n\t\t\t\t\tonAuthorChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tselectedAuthor:\n\t\t\t\t\t\t\t\t'' !== value ? Number( value ) : undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tauthorList={ authorList ?? [] }\n\t\t\t\t\tselectedAuthorId={ selectedAuthor }\n\t\t\t\t/>\n\n\t\t\t\t{ postLayout === 'grid' && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { columns: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t! hasPosts\n\t\t\t\t\t\t\t\t? MAX_POSTS_COLUMNS\n\t\t\t\t\t\t\t\t: Math.min(\n\t\t\t\t\t\t\t\t\t\tMAX_POSTS_COLUMNS,\n\t\t\t\t\t\t\t\t\t\tlatestPosts.length\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t'wp-block-latest-posts__list': true,\n\t\t\t'is-grid': postLayout === 'grid',\n\t\t\t'has-dates': displayPostDate,\n\t\t\t'has-author': displayAuthor,\n\t\t\t[ `columns-${ columns }` ]: postLayout === 'grid',\n\t\t} ),\n\t} );\n\n\tif ( ! hasPosts ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ inspectorControls }\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Latest Posts' ) }>\n\t\t\t\t\t{ ! Array.isArray( latestPosts ) ? (\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t__( 'No posts found.' )\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Removing posts from display should be instant.\n\tconst displayPosts =\n\t\tlatestPosts.length > postsToShow\n\t\t\t? latestPosts.slice( 0, postsToShow )\n\t\t\t: latestPosts;\n\n\tconst layoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: _x( 'List view', 'Latest posts block display setting' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'list' } ),\n\t\t\tisActive: postLayout === 'list',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: _x( 'Grid view', 'Latest posts block display setting' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'grid' } ),\n\t\t\tisActive: postLayout === 'grid',\n\t\t},\n\t];\n\n\tconst dateFormat = getSettings().formats.date;\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ layoutControls } />\n\t\t\t</BlockControls>\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ displayPosts.map( ( post ) => {\n\t\t\t\t\tconst titleTrimmed = post.title.rendered.trim();\n\t\t\t\t\tlet excerpt = post.excerpt.rendered;\n\t\t\t\t\tconst currentAuthor = authorList?.find(\n\t\t\t\t\t\t( author ) => author.id === post.author\n\t\t\t\t\t);\n\n\t\t\t\t\tconst excerptElement = document.createElement( 'div' );\n\t\t\t\t\texcerptElement.innerHTML = excerpt;\n\n\t\t\t\t\texcerpt =\n\t\t\t\t\t\texcerptElement.textContent ||\n\t\t\t\t\t\texcerptElement.innerText ||\n\t\t\t\t\t\t'';\n\n\t\t\t\t\tconst { url: imageSourceUrl, alt: featuredImageAlt } =\n\t\t\t\t\t\tgetFeaturedImageDetails( post, featuredImageSizeSlug );\n\t\t\t\t\tconst imageClasses = clsx( {\n\t\t\t\t\t\t'wp-block-latest-posts__featured-image': true,\n\t\t\t\t\t\t[ `align${ featuredImageAlign }` ]:\n\t\t\t\t\t\t\t!! featuredImageAlign,\n\t\t\t\t\t} );\n\t\t\t\t\tconst renderFeaturedImage =\n\t\t\t\t\t\tdisplayFeaturedImage && imageSourceUrl;\n\t\t\t\t\tconst featuredImage = renderFeaturedImage && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ imageSourceUrl }\n\t\t\t\t\t\t\talt={ featuredImageAlt }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmaxWidth: featuredImageSizeWidth,\n\t\t\t\t\t\t\t\tmaxHeight: featuredImageSizeHeight,\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 needsReadMore =\n\t\t\t\t\t\texcerptLength < excerpt.trim().split( ' ' ).length &&\n\t\t\t\t\t\tpost.excerpt.raw === '';\n\n\t\t\t\t\tconst postExcerpt = needsReadMore ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ excerpt\n\t\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t\t.split( ' ', excerptLength )\n\t\t\t\t\t\t\t\t.join( ' ' ) }\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t/* translators: 1: Hidden accessibility text: Post title */\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'… <a>Read more<span>: %1$s</span></a>'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitleTrimmed || __( '(no title)' )\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__read-more\"\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tspan: (\n\t\t\t\t\t\t\t\t\t\t<span className=\"screen-reader-text\" />\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}\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\t\texcerpt\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={ post.id }>\n\t\t\t\t\t\t\t{ renderFeaturedImage && (\n\t\t\t\t\t\t\t\t<div className={ imageClasses }>\n\t\t\t\t\t\t\t\t\t{ addLinkToFeaturedImage ? (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ featuredImage }\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tfeaturedImage\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-title\"\n\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={\n\t\t\t\t\t\t\t\t\t!! titleTrimmed\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t__html: titleTrimmed,\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ! titleTrimmed ? __( '(no title)' ) : null }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t{ displayAuthor && currentAuthor && (\n\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-author\">\n\t\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: byline. %s: author. */\n\t\t\t\t\t\t\t\t\t\t__( 'by %s' ),\n\t\t\t\t\t\t\t\t\t\tcurrentAuthor.name\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostDate && post.date_gmt && (\n\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\tdateTime={ format( 'c', post.date_gmt ) }\n\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-date\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ dateI18n( dateFormat, post.date_gmt ) }\n\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-excerpt\">\n\t\t\t\t\t\t\t\t\t\t{ postExcerpt }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'full_post' && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-full-content\"\n\t\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t\t\t\t\t__html: post.content.raw.trim(),\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["createBlock","create","split","toHTMLString","createListBlockFromDOMElement","getListContentSchema","phrasingContentSchema","listContentSchema","ul","ol","attributes","forEach","tag","children","li","getListContentFlat","blocks","flatMap","name","innerBlocks","content","transforms","from","type","isMultiBlock","transform","blockAttributes","childBlocks","length","map","value","html","result","anchor","selector","schema","args","prefix","ordered","to","block","_attributes"],"sources":["@wordpress/block-library/src/list/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { create, split, toHTMLString } from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport { createListBlockFromDOMElement } from './utils';\n\nfunction getListContentSchema( { phrasingContentSchema } ) {\n\tconst listContentSchema = {\n\t\t...phrasingContentSchema,\n\t\tul: {},\n\t\tol: { attributes: [ 'type', 'start', 'reversed' ] },\n\t};\n\n\t// Recursion is needed.\n\t// Possible: ul > li > ul.\n\t// Impossible: ul > ul.\n\t[ 'ul', 'ol' ].forEach( ( tag ) => {\n\t\tlistContentSchema[ tag ].children = {\n\t\t\tli: {\n\t\t\t\tchildren: listContentSchema,\n\t\t\t},\n\t\t};\n\t} );\n\n\treturn listContentSchema;\n}\n\nfunction getListContentFlat( blocks ) {\n\treturn blocks.flatMap( ( { name, attributes, innerBlocks = [] } ) => {\n\t\tif ( name === 'core/list-item' ) {\n\t\t\treturn [ attributes.content, ...getListContentFlat( innerBlocks ) ];\n\t\t}\n\t\treturn getListContentFlat( innerBlocks );\n\t} );\n}\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph', 'core/heading' ],\n\t\t\ttransform: ( blockAttributes ) => {\n\t\t\t\tlet childBlocks = [];\n\t\t\t\tif ( blockAttributes.length > 1 ) {\n\t\t\t\t\tchildBlocks = blockAttributes.map( ( { content } ) => {\n\t\t\t\t\t\treturn createBlock( 'core/list-item', { content } );\n\t\t\t\t\t} );\n\t\t\t\t} else if ( blockAttributes.length === 1 ) {\n\t\t\t\t\tconst value = create( {\n\t\t\t\t\t\thtml: blockAttributes[ 0 ].content,\n\t\t\t\t\t} );\n\t\t\t\t\tchildBlocks = split( value, '\\n' ).map( ( result ) => {\n\t\t\t\t\t\treturn createBlock( 'core/list-item', {\n\t\t\t\t\t\t\tcontent: toHTMLString( { value: result } ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/list',\n\t\t\t\t\t{\n\t\t\t\t\t\tanchor: blockAttributes.anchor,\n\t\t\t\t\t},\n\t\t\t\t\tchildBlocks\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tselector: 'ol,ul',\n\t\t\tschema: ( args ) => ( {\n\t\t\t\tol: getListContentSchema( args ).ol,\n\t\t\t\tul: getListContentSchema( args ).ul,\n\t\t\t} ),\n\t\t\ttransform: createListBlockFromDOMElement,\n\t\t},\n\t\t...[ '*', '-' ].map( ( prefix ) => ( {\n\t\t\ttype: 'prefix',\n\t\t\tprefix,\n\t\t\ttransform( content ) {\n\t\t\t\treturn createBlock( 'core/list', {}, [\n\t\t\t\t\tcreateBlock( 'core/list-item', { content } ),\n\t\t\t\t] );\n\t\t\t},\n\t\t} ) ),\n\t\t...[ '1.', '1)' ].map( ( prefix ) => ( {\n\t\t\ttype: 'prefix',\n\t\t\tprefix,\n\t\t\ttransform( content ) {\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/list',\n\t\t\t\t\t{\n\t\t\t\t\t\tordered: true,\n\t\t\t\t\t},\n\t\t\t\t\t[ createBlock( 'core/list-item', { content } ) ]\n\t\t\t\t);\n\t\t\t},\n\t\t} ) ),\n\t],\n\tto: [\n\t\t...[ 'core/paragraph', 'core/heading' ].map( ( block ) => ( {\n\t\t\ttype: 'block',\n\t\t\tblocks: [ block ],\n\t\t\ttransform: ( _attributes, childBlocks ) => {\n\t\t\t\treturn getListContentFlat( childBlocks ).map( ( content ) =>\n\t\t\t\t\tcreateBlock( block, {\n\t\t\t\t\t\tcontent,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t},\n\t\t} ) ),\n\t],\n};\n\nexport default transforms;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createBlock","create","split","toHTMLString","createListBlockFromDOMElement","getListContentSchema","phrasingContentSchema","listContentSchema","ul","ol","attributes","forEach","tag","children","li","getListContentFlat","blocks","flatMap","name","innerBlocks","content","transforms","from","type","isMultiBlock","transform","blockAttributes","childBlocks","length","map","value","html","result","anchor","selector","schema","args","prefix","ordered","to","block","_attributes"],"sources":["@wordpress/block-library/src/list/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { create, split, toHTMLString } from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport { createListBlockFromDOMElement } from './utils';\n\nfunction getListContentSchema( { phrasingContentSchema } ) {\n\tconst listContentSchema = {\n\t\t...phrasingContentSchema,\n\t\tul: {},\n\t\tol: { attributes: [ 'type', 'start', 'reversed' ] },\n\t};\n\n\t// Recursion is needed.\n\t// Possible: ul > li > ul.\n\t// Impossible: ul > ul.\n\t[ 'ul', 'ol' ].forEach( ( tag ) => {\n\t\tlistContentSchema[ tag ].children = {\n\t\t\tli: {\n\t\t\t\tchildren: listContentSchema,\n\t\t\t},\n\t\t};\n\t} );\n\n\treturn listContentSchema;\n}\n\nfunction getListContentFlat( blocks ) {\n\treturn blocks.flatMap( ( { name, attributes, innerBlocks = [] } ) => {\n\t\tif ( name === 'core/list-item' ) {\n\t\t\treturn [ attributes.content, ...getListContentFlat( innerBlocks ) ];\n\t\t}\n\t\treturn getListContentFlat( innerBlocks );\n\t} );\n}\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph', 'core/heading' ],\n\t\t\ttransform: ( blockAttributes ) => {\n\t\t\t\tlet childBlocks = [];\n\t\t\t\tif ( blockAttributes.length > 1 ) {\n\t\t\t\t\tchildBlocks = blockAttributes.map( ( { content } ) => {\n\t\t\t\t\t\treturn createBlock( 'core/list-item', { content } );\n\t\t\t\t\t} );\n\t\t\t\t} else if ( blockAttributes.length === 1 ) {\n\t\t\t\t\tconst value = create( {\n\t\t\t\t\t\thtml: blockAttributes[ 0 ].content,\n\t\t\t\t\t} );\n\t\t\t\t\tchildBlocks = split( value, '\\n' ).map( ( result ) => {\n\t\t\t\t\t\treturn createBlock( 'core/list-item', {\n\t\t\t\t\t\t\tcontent: toHTMLString( { value: result } ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/list',\n\t\t\t\t\t{\n\t\t\t\t\t\tanchor: blockAttributes.anchor,\n\t\t\t\t\t},\n\t\t\t\t\tchildBlocks\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tselector: 'ol,ul',\n\t\t\tschema: ( args ) => ( {\n\t\t\t\tol: getListContentSchema( args ).ol,\n\t\t\t\tul: getListContentSchema( args ).ul,\n\t\t\t} ),\n\t\t\ttransform: createListBlockFromDOMElement,\n\t\t},\n\t\t...[ '*', '-' ].map( ( prefix ) => ( {\n\t\t\ttype: 'prefix',\n\t\t\tprefix,\n\t\t\ttransform( content ) {\n\t\t\t\treturn createBlock( 'core/list', {}, [\n\t\t\t\t\tcreateBlock( 'core/list-item', { content } ),\n\t\t\t\t] );\n\t\t\t},\n\t\t} ) ),\n\t\t...[ '1.', '1)' ].map( ( prefix ) => ( {\n\t\t\ttype: 'prefix',\n\t\t\tprefix,\n\t\t\ttransform( content ) {\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/list',\n\t\t\t\t\t{\n\t\t\t\t\t\tordered: true,\n\t\t\t\t\t},\n\t\t\t\t\t[ createBlock( 'core/list-item', { content } ) ]\n\t\t\t\t);\n\t\t\t},\n\t\t} ) ),\n\t],\n\tto: [\n\t\t...[ 'core/paragraph', 'core/heading' ].map( ( block ) => ( {\n\t\t\ttype: 'block',\n\t\t\tblocks: [ block ],\n\t\t\ttransform: ( _attributes, childBlocks ) => {\n\t\t\t\treturn getListContentFlat( childBlocks ).map( ( content ) =>\n\t\t\t\t\tcreateBlock( block, {\n\t\t\t\t\t\tcontent,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t},\n\t\t} ) ),\n\t],\n};\n\nexport default transforms;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */