@wordpress/block-library 9.22.0 → 9.24.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 (483) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/calendar/index.js +1 -0
  3. package/build/calendar/index.js.map +1 -1
  4. package/build/code/index.js +2 -1
  5. package/build/code/index.js.map +1 -1
  6. package/build/comments/edit/comments-inspector-controls.js +13 -13
  7. package/build/comments/edit/comments-inspector-controls.js.map +1 -1
  8. package/build/comments/edit/index.js +4 -2
  9. package/build/comments/edit/index.js.map +1 -1
  10. package/build/cover/edit/inspector-controls.js +9 -12
  11. package/build/cover/edit/inspector-controls.js.map +1 -1
  12. package/build/details/index.js +2 -1
  13. package/build/details/index.js.map +1 -1
  14. package/build/group/edit.js +17 -13
  15. package/build/group/edit.js.map +1 -1
  16. package/build/html/index.js +2 -1
  17. package/build/html/index.js.map +1 -1
  18. package/build/image/constants.js +2 -1
  19. package/build/image/constants.js.map +1 -1
  20. package/build/image/edit.js +1 -7
  21. package/build/image/edit.js.map +1 -1
  22. package/build/image/image.js +1 -4
  23. package/build/image/image.js.map +1 -1
  24. package/build/latest-posts/edit.js +100 -54
  25. package/build/latest-posts/edit.js.map +1 -1
  26. package/build/more/index.js +2 -1
  27. package/build/more/index.js.map +1 -1
  28. package/build/post-excerpt/edit.js +3 -1
  29. package/build/post-excerpt/edit.js.map +1 -1
  30. package/build/post-excerpt/index.js +2 -1
  31. package/build/post-excerpt/index.js.map +1 -1
  32. package/build/post-navigation-link/edit.js +3 -1
  33. package/build/post-navigation-link/edit.js.map +1 -1
  34. package/build/post-navigation-link/index.js +2 -1
  35. package/build/post-navigation-link/index.js.map +1 -1
  36. package/build/post-navigation-link/variations.js +13 -13
  37. package/build/post-navigation-link/variations.js.map +1 -1
  38. package/build/post-template/edit.js +5 -3
  39. package/build/post-template/edit.js.map +1 -1
  40. package/build/post-terms/edit.js +3 -1
  41. package/build/post-terms/edit.js.map +1 -1
  42. package/build/post-terms/index.js +4 -2
  43. package/build/post-terms/index.js.map +1 -1
  44. package/build/preformatted/transforms.js +5 -1
  45. package/build/preformatted/transforms.js.map +1 -1
  46. package/build/query/edit/query-content.js +11 -12
  47. package/build/query/edit/query-content.js.map +1 -1
  48. package/build/read-more/index.js +2 -1
  49. package/build/read-more/index.js.map +1 -1
  50. package/build/rss/index.js +2 -1
  51. package/build/rss/index.js.map +1 -1
  52. package/build/search/edit.js +76 -86
  53. package/build/search/edit.js.map +1 -1
  54. package/build/separator/edit.js +13 -12
  55. package/build/separator/edit.js.map +1 -1
  56. package/build/table/edit.js +3 -2
  57. package/build/table/edit.js.map +1 -1
  58. package/build/table/index.js +8 -4
  59. package/build/table/index.js.map +1 -1
  60. package/build/template-part/edit/advanced-controls.js +14 -12
  61. package/build/template-part/edit/advanced-controls.js.map +1 -1
  62. package/build/template-part/edit/index.js +2 -1
  63. package/build/template-part/edit/index.js.map +1 -1
  64. package/build-module/calendar/index.js +1 -0
  65. package/build-module/calendar/index.js.map +1 -1
  66. package/build-module/code/index.js +2 -1
  67. package/build-module/code/index.js.map +1 -1
  68. package/build-module/comments/edit/comments-inspector-controls.js +14 -14
  69. package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
  70. package/build-module/comments/edit/index.js +4 -2
  71. package/build-module/comments/edit/index.js.map +1 -1
  72. package/build-module/cover/edit/inspector-controls.js +10 -13
  73. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  74. package/build-module/details/index.js +2 -1
  75. package/build-module/details/index.js.map +1 -1
  76. package/build-module/group/edit.js +16 -14
  77. package/build-module/group/edit.js.map +1 -1
  78. package/build-module/html/index.js +2 -1
  79. package/build-module/html/index.js.map +1 -1
  80. package/build-module/image/constants.js +1 -0
  81. package/build-module/image/constants.js.map +1 -1
  82. package/build-module/image/edit.js +2 -8
  83. package/build-module/image/edit.js.map +1 -1
  84. package/build-module/image/image.js +2 -5
  85. package/build-module/image/image.js.map +1 -1
  86. package/build-module/latest-posts/edit.js +100 -54
  87. package/build-module/latest-posts/edit.js.map +1 -1
  88. package/build-module/more/index.js +2 -1
  89. package/build-module/more/index.js.map +1 -1
  90. package/build-module/post-excerpt/edit.js +4 -2
  91. package/build-module/post-excerpt/edit.js.map +1 -1
  92. package/build-module/post-excerpt/index.js +2 -1
  93. package/build-module/post-excerpt/index.js.map +1 -1
  94. package/build-module/post-navigation-link/edit.js +4 -2
  95. package/build-module/post-navigation-link/edit.js.map +1 -1
  96. package/build-module/post-navigation-link/index.js +2 -1
  97. package/build-module/post-navigation-link/index.js.map +1 -1
  98. package/build-module/post-navigation-link/variations.js +13 -13
  99. package/build-module/post-navigation-link/variations.js.map +1 -1
  100. package/build-module/post-template/edit.js +5 -3
  101. package/build-module/post-template/edit.js.map +1 -1
  102. package/build-module/post-terms/edit.js +4 -2
  103. package/build-module/post-terms/edit.js.map +1 -1
  104. package/build-module/post-terms/index.js +4 -2
  105. package/build-module/post-terms/index.js.map +1 -1
  106. package/build-module/preformatted/transforms.js +5 -1
  107. package/build-module/preformatted/transforms.js.map +1 -1
  108. package/build-module/query/edit/query-content.js +12 -13
  109. package/build-module/query/edit/query-content.js.map +1 -1
  110. package/build-module/read-more/index.js +2 -1
  111. package/build-module/read-more/index.js.map +1 -1
  112. package/build-module/rss/index.js +2 -1
  113. package/build-module/rss/index.js.map +1 -1
  114. package/build-module/search/edit.js +78 -88
  115. package/build-module/search/edit.js.map +1 -1
  116. package/build-module/separator/edit.js +15 -14
  117. package/build-module/separator/edit.js.map +1 -1
  118. package/build-module/table/edit.js +4 -3
  119. package/build-module/table/edit.js.map +1 -1
  120. package/build-module/table/index.js +8 -4
  121. package/build-module/table/index.js.map +1 -1
  122. package/build-module/template-part/edit/advanced-controls.js +14 -12
  123. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  124. package/build-module/template-part/edit/index.js +2 -1
  125. package/build-module/template-part/edit/index.js.map +1 -1
  126. package/build-style/archives/editor-rtl.css +47 -11
  127. package/build-style/archives/editor.css +47 -11
  128. package/build-style/archives/style-rtl.css +47 -11
  129. package/build-style/archives/style.css +47 -11
  130. package/build-style/audio/editor-rtl.css +47 -11
  131. package/build-style/audio/editor.css +47 -11
  132. package/build-style/audio/style-rtl.css +47 -11
  133. package/build-style/audio/style.css +47 -11
  134. package/build-style/audio/theme-rtl.css +47 -11
  135. package/build-style/audio/theme.css +47 -11
  136. package/build-style/avatar/editor-rtl.css +47 -11
  137. package/build-style/avatar/editor.css +47 -11
  138. package/build-style/avatar/style-rtl.css +47 -11
  139. package/build-style/avatar/style.css +47 -11
  140. package/build-style/button/editor-rtl.css +47 -11
  141. package/build-style/button/editor.css +47 -11
  142. package/build-style/button/style-rtl.css +47 -12
  143. package/build-style/button/style.css +47 -12
  144. package/build-style/buttons/editor-rtl.css +47 -11
  145. package/build-style/buttons/editor.css +47 -11
  146. package/build-style/buttons/style-rtl.css +50 -11
  147. package/build-style/buttons/style.css +50 -11
  148. package/build-style/calendar/style-rtl.css +47 -11
  149. package/build-style/calendar/style.css +47 -11
  150. package/build-style/categories/editor-rtl.css +47 -11
  151. package/build-style/categories/editor.css +47 -11
  152. package/build-style/categories/style-rtl.css +47 -11
  153. package/build-style/categories/style.css +47 -11
  154. package/build-style/classic-rtl.css +47 -11
  155. package/build-style/classic.css +47 -11
  156. package/build-style/code/editor-rtl.css +47 -11
  157. package/build-style/code/editor.css +47 -11
  158. package/build-style/code/style-rtl.css +47 -11
  159. package/build-style/code/style.css +47 -11
  160. package/build-style/code/theme-rtl.css +47 -11
  161. package/build-style/code/theme.css +47 -11
  162. package/build-style/columns/editor-rtl.css +47 -11
  163. package/build-style/columns/editor.css +47 -11
  164. package/build-style/columns/style-rtl.css +47 -11
  165. package/build-style/columns/style.css +47 -11
  166. package/build-style/comment-author-avatar/editor-rtl.css +47 -11
  167. package/build-style/comment-author-avatar/editor.css +47 -11
  168. package/build-style/comment-author-name/style-rtl.css +47 -11
  169. package/build-style/comment-author-name/style.css +47 -11
  170. package/build-style/comment-content/style-rtl.css +47 -11
  171. package/build-style/comment-content/style.css +47 -11
  172. package/build-style/comment-date/style-rtl.css +47 -11
  173. package/build-style/comment-date/style.css +47 -11
  174. package/build-style/comment-edit-link/style-rtl.css +47 -11
  175. package/build-style/comment-edit-link/style.css +47 -11
  176. package/build-style/comment-reply-link/style-rtl.css +47 -11
  177. package/build-style/comment-reply-link/style.css +47 -11
  178. package/build-style/comment-template/style-rtl.css +47 -11
  179. package/build-style/comment-template/style.css +47 -11
  180. package/build-style/comments/editor-rtl.css +47 -11
  181. package/build-style/comments/editor.css +47 -11
  182. package/build-style/comments/style-rtl.css +47 -11
  183. package/build-style/comments/style.css +47 -11
  184. package/build-style/comments-pagination/editor-rtl.css +47 -11
  185. package/build-style/comments-pagination/editor.css +47 -11
  186. package/build-style/comments-pagination/style-rtl.css +47 -11
  187. package/build-style/comments-pagination/style.css +47 -11
  188. package/build-style/comments-pagination-numbers/editor-rtl.css +47 -11
  189. package/build-style/comments-pagination-numbers/editor.css +47 -11
  190. package/build-style/comments-title/editor-rtl.css +47 -11
  191. package/build-style/comments-title/editor.css +47 -11
  192. package/build-style/common-rtl.css +130 -9
  193. package/build-style/common.css +130 -9
  194. package/build-style/cover/editor-rtl.css +47 -11
  195. package/build-style/cover/editor.css +47 -11
  196. package/build-style/cover/style-rtl.css +47 -11
  197. package/build-style/cover/style.css +47 -11
  198. package/build-style/details/editor-rtl.css +47 -11
  199. package/build-style/details/editor.css +47 -11
  200. package/build-style/details/style-rtl.css +47 -11
  201. package/build-style/details/style.css +47 -11
  202. package/build-style/editor-elements-rtl.css +47 -11
  203. package/build-style/editor-elements.css +47 -11
  204. package/build-style/editor-rtl.css +48 -11
  205. package/build-style/editor.css +48 -11
  206. package/build-style/elements-rtl.css +47 -11
  207. package/build-style/elements.css +47 -11
  208. package/build-style/embed/editor-rtl.css +47 -11
  209. package/build-style/embed/editor.css +47 -11
  210. package/build-style/embed/style-rtl.css +47 -11
  211. package/build-style/embed/style.css +47 -11
  212. package/build-style/embed/theme-rtl.css +47 -11
  213. package/build-style/embed/theme.css +47 -11
  214. package/build-style/file/editor-rtl.css +47 -11
  215. package/build-style/file/editor.css +47 -11
  216. package/build-style/file/style-rtl.css +47 -11
  217. package/build-style/file/style.css +47 -11
  218. package/build-style/footnotes/style-rtl.css +47 -11
  219. package/build-style/footnotes/style.css +47 -11
  220. package/build-style/form-input/editor-rtl.css +47 -11
  221. package/build-style/form-input/editor.css +47 -11
  222. package/build-style/form-input/style-rtl.css +47 -11
  223. package/build-style/form-input/style.css +47 -11
  224. package/build-style/form-submission-notification/editor-rtl.css +47 -11
  225. package/build-style/form-submission-notification/editor.css +47 -11
  226. package/build-style/form-submit-button/style-rtl.css +47 -11
  227. package/build-style/form-submit-button/style.css +47 -11
  228. package/build-style/freeform/editor-rtl.css +47 -11
  229. package/build-style/freeform/editor.css +47 -11
  230. package/build-style/gallery/editor-rtl.css +47 -11
  231. package/build-style/gallery/editor.css +47 -11
  232. package/build-style/gallery/style-rtl.css +47 -11
  233. package/build-style/gallery/style.css +47 -11
  234. package/build-style/gallery/theme-rtl.css +47 -11
  235. package/build-style/gallery/theme.css +47 -11
  236. package/build-style/group/editor-rtl.css +47 -11
  237. package/build-style/group/editor.css +47 -11
  238. package/build-style/group/style-rtl.css +47 -11
  239. package/build-style/group/style.css +47 -11
  240. package/build-style/group/theme-rtl.css +47 -11
  241. package/build-style/group/theme.css +47 -11
  242. package/build-style/heading/style-rtl.css +47 -11
  243. package/build-style/heading/style.css +47 -11
  244. package/build-style/html/editor-rtl.css +48 -11
  245. package/build-style/html/editor.css +48 -11
  246. package/build-style/image/editor-rtl.css +47 -11
  247. package/build-style/image/editor.css +47 -11
  248. package/build-style/image/style-rtl.css +47 -11
  249. package/build-style/image/style.css +47 -11
  250. package/build-style/image/theme-rtl.css +47 -11
  251. package/build-style/image/theme.css +47 -11
  252. package/build-style/latest-comments/style-rtl.css +47 -11
  253. package/build-style/latest-comments/style.css +47 -11
  254. package/build-style/latest-posts/editor-rtl.css +47 -11
  255. package/build-style/latest-posts/editor.css +47 -11
  256. package/build-style/latest-posts/style-rtl.css +47 -11
  257. package/build-style/latest-posts/style.css +47 -11
  258. package/build-style/list/style-rtl.css +47 -11
  259. package/build-style/list/style.css +47 -11
  260. package/build-style/loginout/style-rtl.css +47 -11
  261. package/build-style/loginout/style.css +47 -11
  262. package/build-style/media-text/editor-rtl.css +47 -11
  263. package/build-style/media-text/editor.css +47 -11
  264. package/build-style/media-text/style-rtl.css +47 -11
  265. package/build-style/media-text/style.css +47 -11
  266. package/build-style/more/editor-rtl.css +47 -11
  267. package/build-style/more/editor.css +47 -11
  268. package/build-style/navigation/editor-rtl.css +47 -11
  269. package/build-style/navigation/editor.css +47 -11
  270. package/build-style/navigation/style-rtl.css +47 -11
  271. package/build-style/navigation/style.css +47 -11
  272. package/build-style/navigation-link/editor-rtl.css +47 -11
  273. package/build-style/navigation-link/editor.css +47 -11
  274. package/build-style/navigation-link/style-rtl.css +47 -11
  275. package/build-style/navigation-link/style.css +47 -11
  276. package/build-style/navigation-submenu/editor-rtl.css +47 -11
  277. package/build-style/navigation-submenu/editor.css +47 -11
  278. package/build-style/nextpage/editor-rtl.css +47 -11
  279. package/build-style/nextpage/editor.css +47 -11
  280. package/build-style/page-list/editor-rtl.css +47 -11
  281. package/build-style/page-list/editor.css +47 -11
  282. package/build-style/page-list/style-rtl.css +47 -11
  283. package/build-style/page-list/style.css +47 -11
  284. package/build-style/paragraph/editor-rtl.css +47 -11
  285. package/build-style/paragraph/editor.css +47 -11
  286. package/build-style/paragraph/style-rtl.css +47 -11
  287. package/build-style/paragraph/style.css +47 -11
  288. package/build-style/post-author/editor-rtl.css +47 -11
  289. package/build-style/post-author/editor.css +47 -11
  290. package/build-style/post-author/style-rtl.css +47 -11
  291. package/build-style/post-author/style.css +47 -11
  292. package/build-style/post-author-biography/style-rtl.css +47 -11
  293. package/build-style/post-author-biography/style.css +47 -11
  294. package/build-style/post-author-name/style-rtl.css +47 -11
  295. package/build-style/post-author-name/style.css +47 -11
  296. package/build-style/post-comments-count/style-rtl.css +47 -11
  297. package/build-style/post-comments-count/style.css +47 -11
  298. package/build-style/post-comments-form/editor-rtl.css +47 -11
  299. package/build-style/post-comments-form/editor.css +47 -11
  300. package/build-style/post-comments-form/style-rtl.css +47 -14
  301. package/build-style/post-comments-form/style.css +47 -14
  302. package/build-style/post-comments-link/style-rtl.css +47 -11
  303. package/build-style/post-comments-link/style.css +47 -11
  304. package/build-style/post-content/style-rtl.css +47 -11
  305. package/build-style/post-content/style.css +47 -11
  306. package/build-style/post-date/style-rtl.css +47 -11
  307. package/build-style/post-date/style.css +47 -11
  308. package/build-style/post-excerpt/editor-rtl.css +47 -11
  309. package/build-style/post-excerpt/editor.css +47 -11
  310. package/build-style/post-excerpt/style-rtl.css +47 -11
  311. package/build-style/post-excerpt/style.css +47 -11
  312. package/build-style/post-featured-image/editor-rtl.css +47 -11
  313. package/build-style/post-featured-image/editor.css +47 -11
  314. package/build-style/post-featured-image/style-rtl.css +47 -11
  315. package/build-style/post-featured-image/style.css +47 -11
  316. package/build-style/post-navigation-link/style-rtl.css +47 -11
  317. package/build-style/post-navigation-link/style.css +47 -11
  318. package/build-style/post-template/style-rtl.css +47 -11
  319. package/build-style/post-template/style.css +47 -11
  320. package/build-style/post-terms/style-rtl.css +47 -11
  321. package/build-style/post-terms/style.css +47 -11
  322. package/build-style/post-time-to-read/style-rtl.css +47 -11
  323. package/build-style/post-time-to-read/style.css +47 -11
  324. package/build-style/post-title/style-rtl.css +47 -11
  325. package/build-style/post-title/style.css +47 -11
  326. package/build-style/preformatted/style-rtl.css +47 -11
  327. package/build-style/preformatted/style.css +47 -11
  328. package/build-style/pullquote/editor-rtl.css +47 -11
  329. package/build-style/pullquote/editor.css +47 -11
  330. package/build-style/pullquote/style-rtl.css +47 -11
  331. package/build-style/pullquote/style.css +47 -11
  332. package/build-style/pullquote/theme-rtl.css +47 -11
  333. package/build-style/pullquote/theme.css +47 -11
  334. package/build-style/query/editor-rtl.css +47 -11
  335. package/build-style/query/editor.css +47 -11
  336. package/build-style/query-pagination/editor-rtl.css +47 -11
  337. package/build-style/query-pagination/editor.css +47 -11
  338. package/build-style/query-pagination/style-rtl.css +47 -11
  339. package/build-style/query-pagination/style.css +47 -11
  340. package/build-style/query-pagination-numbers/editor-rtl.css +47 -11
  341. package/build-style/query-pagination-numbers/editor.css +47 -11
  342. package/build-style/query-title/style-rtl.css +47 -11
  343. package/build-style/query-title/style.css +47 -11
  344. package/build-style/query-total/style-rtl.css +47 -11
  345. package/build-style/query-total/style.css +47 -11
  346. package/build-style/quote/style-rtl.css +47 -11
  347. package/build-style/quote/style.css +47 -11
  348. package/build-style/quote/theme-rtl.css +47 -11
  349. package/build-style/quote/theme.css +47 -11
  350. package/build-style/read-more/style-rtl.css +47 -11
  351. package/build-style/read-more/style.css +47 -11
  352. package/build-style/reset-rtl.css +47 -11
  353. package/build-style/reset.css +47 -11
  354. package/build-style/rss/editor-rtl.css +47 -11
  355. package/build-style/rss/editor.css +47 -11
  356. package/build-style/rss/style-rtl.css +47 -11
  357. package/build-style/rss/style.css +47 -11
  358. package/build-style/search/editor-rtl.css +47 -11
  359. package/build-style/search/editor.css +47 -11
  360. package/build-style/search/style-rtl.css +47 -11
  361. package/build-style/search/style.css +47 -11
  362. package/build-style/search/theme-rtl.css +47 -11
  363. package/build-style/search/theme.css +47 -11
  364. package/build-style/separator/editor-rtl.css +47 -11
  365. package/build-style/separator/editor.css +47 -11
  366. package/build-style/separator/style-rtl.css +47 -11
  367. package/build-style/separator/style.css +47 -11
  368. package/build-style/separator/theme-rtl.css +47 -11
  369. package/build-style/separator/theme.css +47 -11
  370. package/build-style/shortcode/editor-rtl.css +47 -11
  371. package/build-style/shortcode/editor.css +47 -11
  372. package/build-style/site-logo/editor-rtl.css +47 -11
  373. package/build-style/site-logo/editor.css +47 -11
  374. package/build-style/site-logo/style-rtl.css +47 -11
  375. package/build-style/site-logo/style.css +47 -11
  376. package/build-style/site-tagline/editor-rtl.css +47 -11
  377. package/build-style/site-tagline/editor.css +47 -11
  378. package/build-style/site-tagline/style-rtl.css +47 -11
  379. package/build-style/site-tagline/style.css +47 -11
  380. package/build-style/site-title/editor-rtl.css +47 -11
  381. package/build-style/site-title/editor.css +47 -11
  382. package/build-style/site-title/style-rtl.css +47 -11
  383. package/build-style/site-title/style.css +47 -11
  384. package/build-style/social-link/editor-rtl.css +47 -11
  385. package/build-style/social-link/editor.css +47 -11
  386. package/build-style/social-links/editor-rtl.css +47 -11
  387. package/build-style/social-links/editor.css +47 -11
  388. package/build-style/social-links/style-rtl.css +47 -11
  389. package/build-style/social-links/style.css +47 -11
  390. package/build-style/spacer/editor-rtl.css +47 -11
  391. package/build-style/spacer/editor.css +47 -11
  392. package/build-style/spacer/style-rtl.css +47 -11
  393. package/build-style/spacer/style.css +47 -11
  394. package/build-style/style-rtl.css +50 -15
  395. package/build-style/style.css +50 -15
  396. package/build-style/table/editor-rtl.css +47 -11
  397. package/build-style/table/editor.css +47 -11
  398. package/build-style/table/style-rtl.css +47 -11
  399. package/build-style/table/style.css +47 -11
  400. package/build-style/table/theme-rtl.css +47 -11
  401. package/build-style/table/theme.css +47 -11
  402. package/build-style/table-of-contents/style-rtl.css +47 -11
  403. package/build-style/table-of-contents/style.css +47 -11
  404. package/build-style/tag-cloud/editor-rtl.css +47 -11
  405. package/build-style/tag-cloud/editor.css +47 -11
  406. package/build-style/tag-cloud/style-rtl.css +47 -11
  407. package/build-style/tag-cloud/style.css +47 -11
  408. package/build-style/template-part/editor-rtl.css +47 -11
  409. package/build-style/template-part/editor.css +47 -11
  410. package/build-style/template-part/theme-rtl.css +47 -11
  411. package/build-style/template-part/theme.css +47 -11
  412. package/build-style/term-description/style-rtl.css +47 -11
  413. package/build-style/term-description/style.css +47 -11
  414. package/build-style/text-columns/editor-rtl.css +47 -11
  415. package/build-style/text-columns/editor.css +47 -11
  416. package/build-style/text-columns/style-rtl.css +47 -11
  417. package/build-style/text-columns/style.css +47 -11
  418. package/build-style/theme-rtl.css +47 -11
  419. package/build-style/theme.css +47 -11
  420. package/build-style/verse/style-rtl.css +47 -11
  421. package/build-style/verse/style.css +47 -11
  422. package/build-style/video/editor-rtl.css +47 -11
  423. package/build-style/video/editor.css +47 -11
  424. package/build-style/video/style-rtl.css +47 -11
  425. package/build-style/video/style.css +47 -11
  426. package/build-style/video/theme-rtl.css +47 -11
  427. package/build-style/video/theme.css +47 -11
  428. package/package.json +35 -35
  429. package/src/button/style.scss +0 -1
  430. package/src/buttons/style.scss +5 -0
  431. package/src/calendar/block.json +1 -0
  432. package/src/code/block.json +2 -1
  433. package/src/comments/edit/comments-inspector-controls.js +14 -12
  434. package/src/comments/edit/index.js +2 -1
  435. package/src/cover/edit/inspector-controls.js +9 -12
  436. package/src/details/block.json +2 -1
  437. package/src/group/edit.js +11 -10
  438. package/src/html/block.json +2 -1
  439. package/src/html/editor.scss +1 -0
  440. package/src/image/constants.js +1 -0
  441. package/src/image/edit.js +2 -5
  442. package/src/image/image.js +7 -5
  443. package/src/latest-posts/edit.js +113 -81
  444. package/src/loginout/index.php +5 -1
  445. package/src/more/block.json +2 -1
  446. package/src/navigation/index.php +0 -1
  447. package/src/navigation-link/index.php +1 -1
  448. package/src/navigation-submenu/index.php +1 -1
  449. package/src/post-author/index.php +1 -1
  450. package/src/post-author-name/index.php +1 -1
  451. package/src/post-comments-form/style.scss +0 -5
  452. package/src/post-excerpt/block.json +2 -1
  453. package/src/post-excerpt/edit.js +13 -8
  454. package/src/post-navigation-link/block.json +2 -1
  455. package/src/post-navigation-link/edit.js +13 -8
  456. package/src/post-navigation-link/variations.js +13 -13
  457. package/src/post-template/edit.js +4 -3
  458. package/src/post-terms/block.json +4 -2
  459. package/src/post-terms/edit.js +13 -8
  460. package/src/preformatted/test/__snapshots__/transforms.native.js.snap +6 -0
  461. package/src/preformatted/test/transforms.native.js +6 -1
  462. package/src/preformatted/transforms.js +7 -1
  463. package/src/query/edit/query-content.js +10 -11
  464. package/src/read-more/block.json +2 -1
  465. package/src/rss/block.json +2 -1
  466. package/src/search/edit.js +84 -99
  467. package/src/separator/edit.js +16 -12
  468. package/src/table/block.json +8 -4
  469. package/src/table/edit.js +6 -2
  470. package/src/template-part/edit/advanced-controls.js +9 -8
  471. package/src/template-part/edit/index.js +1 -0
  472. package/src/verse/test/__snapshots__/transforms.native.js.snap +6 -0
  473. package/src/verse/test/transforms.native.js +5 -1
  474. package/build/search/icons.js +0 -121
  475. package/build/search/icons.js.map +0 -1
  476. package/build/utils/messages.js +0 -22
  477. package/build/utils/messages.js.map +0 -1
  478. package/build-module/search/icons.js +0 -114
  479. package/build-module/search/icons.js.map +0 -1
  480. package/build-module/utils/messages.js +0 -15
  481. package/build-module/utils/messages.js.map +0 -1
  482. package/src/search/icons.js +0 -89
  483. package/src/utils/messages.js +0 -31
@@ -29,6 +29,7 @@ import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
29
29
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
30
30
  const CATEGORIES_LIST_QUERY = {
31
31
  per_page: -1,
32
+ _fields: 'id,name',
32
33
  context: 'view'
33
34
  };
34
35
  const USERS_LIST_QUERY = {
@@ -36,6 +37,23 @@ const USERS_LIST_QUERY = {
36
37
  has_published_posts: ['post'],
37
38
  context: 'view'
38
39
  };
40
+ const imageAlignmentOptions = [{
41
+ value: 'none',
42
+ icon: alignNone,
43
+ label: __('None')
44
+ }, {
45
+ value: 'left',
46
+ icon: positionLeft,
47
+ label: __('Left')
48
+ }, {
49
+ value: 'center',
50
+ icon: positionCenter,
51
+ label: __('Center')
52
+ }, {
53
+ value: 'right',
54
+ icon: positionRight,
55
+ label: __('Right')
56
+ }];
39
57
  function getFeaturedImageDetails(post, size) {
40
58
  var _image$media_details$;
41
59
  const image = post._embedded?.['wp:featuredmedia']?.['0'];
@@ -44,13 +62,15 @@ function getFeaturedImageDetails(post, size) {
44
62
  alt: image?.alt_text
45
63
  };
46
64
  }
47
- export default function LatestPostsEdit({
65
+ function getCurrentAuthor(post) {
66
+ return post._embedded?.author?.[0];
67
+ }
68
+ function Controls({
48
69
  attributes,
49
- setAttributes
70
+ setAttributes,
71
+ postCount
50
72
  }) {
51
73
  var _categoriesList$reduc;
52
- const instanceId = useInstanceId(LatestPostsEdit);
53
- const dropdownMenuProps = useToolsPanelDropdownMenuProps();
54
74
  const {
55
75
  postsToShow,
56
76
  order,
@@ -73,7 +93,6 @@ export default function LatestPostsEdit({
73
93
  } = attributes;
74
94
  const {
75
95
  imageSizes,
76
- latestPosts,
77
96
  defaultImageWidth,
78
97
  defaultImageHeight,
79
98
  categoriesList,
@@ -85,37 +104,15 @@ export default function LatestPostsEdit({
85
104
  getUsers
86
105
  } = select(coreStore);
87
106
  const settings = select(blockEditorStore).getSettings();
88
- const catIds = categories && categories.length > 0 ? categories.map(cat => cat.id) : [];
89
- const latestPostsQuery = Object.fromEntries(Object.entries({
90
- categories: catIds,
91
- author: selectedAuthor,
92
- order,
93
- orderby: orderBy,
94
- per_page: postsToShow,
95
- _embed: 'wp:featuredmedia',
96
- ignore_sticky: true
97
- }).filter(([, value]) => typeof value !== 'undefined'));
98
107
  return {
99
108
  defaultImageWidth: (_settings$imageDimens = settings.imageDimensions?.[featuredImageSizeSlug]?.width) !== null && _settings$imageDimens !== void 0 ? _settings$imageDimens : 0,
100
109
  defaultImageHeight: (_settings$imageDimens2 = settings.imageDimensions?.[featuredImageSizeSlug]?.height) !== null && _settings$imageDimens2 !== void 0 ? _settings$imageDimens2 : 0,
101
110
  imageSizes: settings.imageSizes,
102
- latestPosts: getEntityRecords('postType', 'post', latestPostsQuery),
103
111
  categoriesList: getEntityRecords('taxonomy', 'category', CATEGORIES_LIST_QUERY),
104
112
  authorList: getUsers(USERS_LIST_QUERY)
105
113
  };
106
- }, [featuredImageSizeSlug, postsToShow, order, orderBy, categories, selectedAuthor]);
107
-
108
- // If a user clicks to a link prevent redirection and show a warning.
109
- const {
110
- createWarningNotice
111
- } = useDispatch(noticeStore);
112
- const showRedirectionPreventedNotice = event => {
113
- event.preventDefault();
114
- createWarningNotice(__('Links are disabled in the editor.'), {
115
- id: `block-library/core/latest-posts/redirection-prevented/${instanceId}`,
116
- type: 'snackbar'
117
- });
118
- };
114
+ }, [featuredImageSizeSlug]);
115
+ const dropdownMenuProps = useToolsPanelDropdownMenuProps();
119
116
  const imageSizeOptions = imageSizes.filter(({
120
117
  slug
121
118
  }) => slug !== 'full').map(({
@@ -148,25 +145,7 @@ export default function LatestPostsEdit({
148
145
  categories: allCategories
149
146
  });
150
147
  };
151
- const imageAlignmentOptions = [{
152
- value: 'none',
153
- icon: alignNone,
154
- label: __('None')
155
- }, {
156
- value: 'left',
157
- icon: positionLeft,
158
- label: __('Left')
159
- }, {
160
- value: 'center',
161
- icon: positionCenter,
162
- label: __('Center')
163
- }, {
164
- value: 'right',
165
- icon: positionRight,
166
- label: __('Right')
167
- }];
168
- const hasPosts = !!latestPosts?.length;
169
- const inspectorControls = /*#__PURE__*/_jsxs(InspectorControls, {
148
+ return /*#__PURE__*/_jsxs(_Fragment, {
170
149
  children: [/*#__PURE__*/_jsxs(ToolsPanel, {
171
150
  label: __('Post content'),
172
151
  resetAll: () => setAttributes({
@@ -177,14 +156,14 @@ export default function LatestPostsEdit({
177
156
  dropdownMenuProps: dropdownMenuProps,
178
157
  children: [/*#__PURE__*/_jsx(ToolsPanelItem, {
179
158
  hasValue: () => !!displayPostContent,
180
- label: __('Post content'),
159
+ label: __('Display post content'),
181
160
  onDeselect: () => setAttributes({
182
161
  displayPostContent: false
183
162
  }),
184
163
  isShownByDefault: true,
185
164
  children: /*#__PURE__*/_jsx(ToggleControl, {
186
165
  __nextHasNoMarginBottom: true,
187
- label: __('Post content'),
166
+ label: __('Display post content'),
188
167
  checked: displayPostContent,
189
168
  onChange: value => setAttributes({
190
169
  displayPostContent: value
@@ -192,13 +171,13 @@ export default function LatestPostsEdit({
192
171
  })
193
172
  }), displayPostContent && /*#__PURE__*/_jsx(ToolsPanelItem, {
194
173
  hasValue: () => displayPostContentRadio !== 'excerpt',
195
- label: __('Show'),
174
+ label: __('Content length'),
196
175
  onDeselect: () => setAttributes({
197
176
  displayPostContentRadio: 'excerpt'
198
177
  }),
199
178
  isShownByDefault: true,
200
179
  children: /*#__PURE__*/_jsx(RadioControl, {
201
- label: __('Show'),
180
+ label: __('Content length'),
202
181
  selected: displayPostContentRadio,
203
182
  options: [{
204
183
  label: __('Excerpt'),
@@ -362,11 +341,78 @@ export default function LatestPostsEdit({
362
341
  columns: value
363
342
  }),
364
343
  min: 2,
365
- max: !hasPosts ? MAX_POSTS_COLUMNS : Math.min(MAX_POSTS_COLUMNS, latestPosts.length),
344
+ max: !postCount ? MAX_POSTS_COLUMNS : Math.min(MAX_POSTS_COLUMNS, postCount),
366
345
  required: true
367
346
  })]
368
347
  })]
369
348
  });
349
+ }
350
+ export default function LatestPostsEdit({
351
+ attributes,
352
+ setAttributes
353
+ }) {
354
+ var _latestPosts$length;
355
+ const instanceId = useInstanceId(LatestPostsEdit);
356
+ const {
357
+ postsToShow,
358
+ order,
359
+ orderBy,
360
+ categories,
361
+ selectedAuthor,
362
+ displayFeaturedImage,
363
+ displayPostContentRadio,
364
+ displayPostContent,
365
+ displayPostDate,
366
+ displayAuthor,
367
+ postLayout,
368
+ columns,
369
+ excerptLength,
370
+ featuredImageAlign,
371
+ featuredImageSizeSlug,
372
+ featuredImageSizeWidth,
373
+ featuredImageSizeHeight,
374
+ addLinkToFeaturedImage
375
+ } = attributes;
376
+ const {
377
+ latestPosts
378
+ } = useSelect(select => {
379
+ const {
380
+ getEntityRecords
381
+ } = select(coreStore);
382
+ const catIds = categories && categories.length > 0 ? categories.map(cat => cat.id) : [];
383
+ const latestPostsQuery = Object.fromEntries(Object.entries({
384
+ categories: catIds,
385
+ author: selectedAuthor,
386
+ order,
387
+ orderby: orderBy,
388
+ per_page: postsToShow,
389
+ _embed: 'author,wp:featuredmedia',
390
+ ignore_sticky: true
391
+ }).filter(([, value]) => typeof value !== 'undefined'));
392
+ return {
393
+ latestPosts: getEntityRecords('postType', 'post', latestPostsQuery)
394
+ };
395
+ }, [postsToShow, order, orderBy, categories, selectedAuthor]);
396
+
397
+ // If a user clicks to a link prevent redirection and show a warning.
398
+ const {
399
+ createWarningNotice
400
+ } = useDispatch(noticeStore);
401
+ const showRedirectionPreventedNotice = event => {
402
+ event.preventDefault();
403
+ createWarningNotice(__('Links are disabled in the editor.'), {
404
+ id: `block-library/core/latest-posts/redirection-prevented/${instanceId}`,
405
+ type: 'snackbar'
406
+ });
407
+ };
408
+ const hasPosts = !!latestPosts?.length;
409
+ const inspectorControls = /*#__PURE__*/_jsx(InspectorControls, {
410
+ children: /*#__PURE__*/_jsx(Controls, {
411
+ attributes: attributes,
412
+ setAttributes: setAttributes,
413
+ postCount: (_latestPosts$length = latestPosts?.length) !== null && _latestPosts$length !== void 0 ? _latestPosts$length : 0
414
+ })
415
+ });
370
416
  const blockProps = useBlockProps({
371
417
  className: clsx({
372
418
  'wp-block-latest-posts__list': true,
@@ -415,7 +461,7 @@ export default function LatestPostsEdit({
415
461
  children: displayPosts.map(post => {
416
462
  const titleTrimmed = post.title.rendered.trim();
417
463
  let excerpt = post.excerpt.rendered;
418
- const currentAuthor = authorList?.find(author => author.id === post.author);
464
+ const currentAuthor = getCurrentAuthor(post);
419
465
  const excerptElement = document.createElement('div');
420
466
  excerptElement.innerHTML = excerpt;
421
467
  excerpt = excerptElement.textContent || excerptElement.innerText || '';
@@ -1 +1 @@
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","ignore_sticky","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\tignore_sticky: true,\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
+ {"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","_fields","context","USERS_LIST_QUERY","has_published_posts","imageAlignmentOptions","value","icon","label","getFeaturedImageDetails","post","size","_image$media_details$","image","_embedded","url","media_details","sizes","source_url","alt","alt_text","getCurrentAuthor","author","Controls","attributes","setAttributes","postCount","_categoriesList$reduc","postsToShow","order","orderBy","categories","selectedAuthor","displayFeaturedImage","displayPostContentRadio","displayPostContent","displayPostDate","displayAuthor","postLayout","columns","excerptLength","featuredImageAlign","featuredImageSizeSlug","featuredImageSizeWidth","featuredImageSizeHeight","addLinkToFeaturedImage","imageSizes","defaultImageWidth","defaultImageHeight","categoriesList","authorList","select","_settings$imageDimens","_settings$imageDimens2","getEntityRecords","getUsers","settings","imageDimensions","width","height","dropdownMenuProps","imageSizeOptions","filter","slug","map","name","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","includes","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","LatestPostsEdit","_latestPosts$length","instanceId","latestPosts","catIds","length","cat","id","latestPostsQuery","Object","fromEntries","entries","orderby","_embed","ignore_sticky","createWarningNotice","showRedirectionPreventedNotice","event","preventDefault","type","hasPosts","inspectorControls","blockProps","Array","isArray","displayPosts","slice","layoutControls","onClick","isActive","dateFormat","formats","date","controls","titleTrimmed","rendered","trim","excerpt","currentAuthor","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\t_fields: 'id,name',\n\tcontext: 'view',\n};\nconst USERS_LIST_QUERY = {\n\tper_page: -1,\n\thas_published_posts: [ 'post' ],\n\tcontext: 'view',\n};\nconst imageAlignmentOptions = [\n\t{\n\t\tvalue: 'none',\n\t\ticon: alignNone,\n\t\tlabel: __( 'None' ),\n\t},\n\t{\n\t\tvalue: 'left',\n\t\ticon: positionLeft,\n\t\tlabel: __( 'Left' ),\n\t},\n\t{\n\t\tvalue: 'center',\n\t\ticon: positionCenter,\n\t\tlabel: __( 'Center' ),\n\t},\n\t{\n\t\tvalue: 'right',\n\t\ticon: positionRight,\n\t\tlabel: __( 'Right' ),\n\t},\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\nfunction getCurrentAuthor( post ) {\n\treturn post._embedded?.author?.[ 0 ];\n}\n\nfunction Controls( { attributes, setAttributes, postCount } ) {\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\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\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\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[ featuredImageSizeSlug ]\n\t);\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\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\treturn (\n\t\t<>\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={ __( 'Display 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={ __( 'Display 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={ __( 'Content length' ) }\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={ __( 'Content length' ) }\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\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\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! postCount\n\t\t\t\t\t\t\t\t? MAX_POSTS_COLUMNS\n\t\t\t\t\t\t\t\t: Math.min( MAX_POSTS_COLUMNS, postCount )\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</>\n\t);\n}\n\nexport default function LatestPostsEdit( { attributes, setAttributes } ) {\n\tconst instanceId = useInstanceId( LatestPostsEdit );\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 { latestPosts } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\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: 'author,wp:featuredmedia',\n\t\t\t\t\tignore_sticky: true,\n\t\t\t\t} ).filter( ( [ , value ] ) => typeof value !== 'undefined' )\n\t\t\t);\n\n\t\t\treturn {\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};\n\t\t},\n\t\t[ postsToShow, order, orderBy, categories, selectedAuthor ]\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 hasPosts = !! latestPosts?.length;\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<Controls\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tpostCount={ latestPosts?.length ?? 0 }\n\t\t\t/>\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 = getCurrentAuthor( post );\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":[]}
@@ -20,7 +20,8 @@ const metadata = {
20
20
  attributes: {
21
21
  customText: {
22
22
  type: "string",
23
- "default": ""
23
+ "default": "",
24
+ role: "content"
24
25
  },
25
26
  noTeaser: {
26
27
  type: "boolean",
@@ -1 +1 @@
1
- {"version":3,"names":["more","icon","initBlock","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","customText","type","noTeaser","supports","customClassName","className","html","multiple","interactivity","clientNavigation","editorStyle","save","transforms","settings","example","__experimentalLabel","context","customName","init"],"sources":["@wordpress/block-library/src/more/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { more as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst customName = attributes?.metadata?.name;\n\n\t\tif ( context === 'list-view' && customName ) {\n\t\t\treturn customName;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\treturn attributes.customText;\n\t\t}\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAI,IAAIC,IAAI,QAAQ,kBAAkB;;AAE/C;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,UAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,QAAA;MAAAD,IAAA;MAAA;IAAA;EAAA;EAAAE,QAAA;IAAAC,eAAA;IAAAC,SAAA;IAAAC,IAAA;IAAAC,QAAA;IAAAC,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,WAAA;AAAA;AAE1B,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAEnB;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMoB,QAAQ,GAAG;EACvB1B,IAAI;EACJ2B,OAAO,EAAE,CAAC,CAAC;EACXC,mBAAmBA,CAAEhB,UAAU,EAAE;IAAEiB;EAAQ,CAAC,EAAG;IAC9C,MAAMC,UAAU,GAAGlB,UAAU,EAAET,QAAQ,EAAEG,IAAI;IAE7C,IAAKuB,OAAO,KAAK,WAAW,IAAIC,UAAU,EAAG;MAC5C,OAAOA,UAAU;IAClB;IAEA,IAAKD,OAAO,KAAK,eAAe,EAAG;MAClC,OAAOjB,UAAU,CAACC,UAAU;IAC7B;EACD,CAAC;EACDY,UAAU;EACVvB,IAAI;EACJsB;AACD,CAAC;AAED,OAAO,MAAMO,IAAI,GAAGA,CAAA,KAAM9B,SAAS,CAAE;EAAEK,IAAI;EAAEH,QAAQ;EAAEuB;AAAS,CAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["more","icon","initBlock","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","customText","type","role","noTeaser","supports","customClassName","className","html","multiple","interactivity","clientNavigation","editorStyle","save","transforms","settings","example","__experimentalLabel","context","customName","init"],"sources":["@wordpress/block-library/src/more/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { more as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst customName = attributes?.metadata?.name;\n\n\t\tif ( context === 'list-view' && customName ) {\n\t\t\treturn customName;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\treturn attributes.customText;\n\t\t}\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAI,IAAIC,IAAI,QAAQ,kBAAkB;;AAE/C;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,UAAA;MAAAC,IAAA;MAAA;MAAAC,IAAA;IAAA;IAAAC,QAAA;MAAAF,IAAA;MAAA;IAAA;EAAA;EAAAG,QAAA;IAAAC,eAAA;IAAAC,SAAA;IAAAC,IAAA;IAAAC,QAAA;IAAAC,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,WAAA;AAAA;AAE1B,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAEpB;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMqB,QAAQ,GAAG;EACvB3B,IAAI;EACJ4B,OAAO,EAAE,CAAC,CAAC;EACXC,mBAAmBA,CAAEjB,UAAU,EAAE;IAAEkB;EAAQ,CAAC,EAAG;IAC9C,MAAMC,UAAU,GAAGnB,UAAU,EAAET,QAAQ,EAAEG,IAAI;IAE7C,IAAKwB,OAAO,KAAK,WAAW,IAAIC,UAAU,EAAG;MAC5C,OAAOA,UAAU;IAClB;IAEA,IAAKD,OAAO,KAAK,eAAe,EAAG;MAClC,OAAOlB,UAAU,CAACC,UAAU;IAC7B;EACD,CAAC;EACDa,UAAU;EACVxB,IAAI;EACJuB;AACD,CAAC;AAED,OAAO,MAAMO,IAAI,GAAGA,CAAA,KAAM/B,SAAS,CAAE;EAAEK,IAAI;EAAEH,QAAQ;EAAEwB;AAAS,CAAE,CAAC","ignoreList":[]}
@@ -8,7 +8,7 @@ import clsx from 'clsx';
8
8
  */
9
9
  import { useEntityProp, store as coreStore } from '@wordpress/core-data';
10
10
  import { useMemo } from '@wordpress/element';
11
- import { AlignmentToolbar, BlockControls, InspectorControls, RichText, Warning, useBlockProps } from '@wordpress/block-editor';
11
+ import { AlignmentToolbar, BlockControls, InspectorControls, RichText, Warning, useBlockProps, useBlockEditingMode } from '@wordpress/block-editor';
12
12
  import { ToggleControl, RangeControl, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
13
13
  import { __, _x } from '@wordpress/i18n';
14
14
  import { useSelect } from '@wordpress/data';
@@ -34,6 +34,8 @@ export default function PostExcerptEditor({
34
34
  queryId
35
35
  }
36
36
  }) {
37
+ const blockEditingMode = useBlockEditingMode();
38
+ const showControls = blockEditingMode === 'default';
37
39
  const isDescendentOfQueryLoop = Number.isFinite(queryId);
38
40
  const userCanEdit = useCanEditEntity('postType', postType, postId);
39
41
  const [rawExcerpt, setExcerpt, {
@@ -166,7 +168,7 @@ export default function PostExcerptEditor({
166
168
  children: !isTrimmed ? rawOrRenderedExcerpt || __('No excerpt found') : trimmedExcerpt + ELLIPSIS
167
169
  });
168
170
  return /*#__PURE__*/_jsxs(_Fragment, {
169
- children: [/*#__PURE__*/_jsx(BlockControls, {
171
+ children: [showControls && /*#__PURE__*/_jsx(BlockControls, {
170
172
  children: /*#__PURE__*/_jsx(AlignmentToolbar, {
171
173
  value: textAlign,
172
174
  onChange: newAlign => setAttributes({
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useEntityProp","store","coreStore","useMemo","AlignmentToolbar","BlockControls","InspectorControls","RichText","Warning","useBlockProps","ToggleControl","RangeControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","_x","useSelect","useCanEditEntity","useToolsPanelDropdownMenuProps","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ELLIPSIS","PostExcerptEditor","attributes","textAlign","moreText","showMoreOnNewLine","excerptLength","setAttributes","isSelected","context","postId","postType","queryId","isDescendentOfQueryLoop","Number","isFinite","userCanEdit","rawExcerpt","setExcerpt","rendered","renderedExcerpt","protected","isProtected","dropdownMenuProps","postTypeSupportsExcerpts","select","getPostType","supports","excerpt","isEditable","blockProps","className","wordCountType","strippedRenderedExcerpt","document","window","DOMParser","parseFromString","body","textContent","innerText","children","value","onChange","newAlign","readMoreLink","identifier","tagName","placeholder","newMoreText","withoutInteractiveFormatting","excerptClassName","rawOrRenderedExcerpt","trim","trimmedExcerpt","split","join","excerptWithSpaces","numberOfSpaces","length","replaceAll","isTrimmed","excerptContent","label","resetAll","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","checked","newShowMoreOnNewLine","__next40pxDefaultSize","min","max"],"sources":["@wordpress/block-library/src/post-excerpt/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\nimport {\n\tAlignmentToolbar,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tWarning,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\tRangeControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseCanEditEntity,\n\tuseToolsPanelDropdownMenuProps,\n} from '../utils/hooks';\n\nconst ELLIPSIS = '…';\n\nexport default function PostExcerptEditor( {\n\tattributes: { textAlign, moreText, showMoreOnNewLine, excerptLength },\n\tsetAttributes,\n\tisSelected,\n\tcontext: { postId, postType, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst userCanEdit = useCanEditEntity( 'postType', postType, postId );\n\tconst [\n\t\trawExcerpt,\n\t\tsetExcerpt,\n\t\t{ rendered: renderedExcerpt, protected: isProtected } = {},\n\t] = useEntityProp( 'postType', postType, 'excerpt', postId );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t/**\n\t * Check if the post type supports excerpts.\n\t * Add an exception and return early for the \"page\" post type,\n\t * which is registered without support for the excerpt UI,\n\t * but supports saving the excerpt to the database.\n\t * See: https://core.trac.wordpress.org/browser/branches/6.1/src/wp-includes/post.php#L65\n\t * Without this exception, users that have excerpts saved to the database will\n\t * not be able to edit the excerpts.\n\t */\n\tconst postTypeSupportsExcerpts = useSelect(\n\t\t( select ) => {\n\t\t\tif ( postType === 'page' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn !! select( coreStore ).getPostType( postType )?.supports\n\t\t\t\t?.excerpt;\n\t\t},\n\t\t[ postType ]\n\t);\n\n\t/**\n\t * The excerpt is editable if:\n\t * - The user can edit the post\n\t * - It is not a descendent of a Query Loop block\n\t * - The post type supports excerpts\n\t */\n\tconst isEditable =\n\t\tuserCanEdit && ! isDescendentOfQueryLoop && postTypeSupportsExcerpts;\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\t/**\n\t * translators: If your word count is based on single characters (e.g. East Asian characters),\n\t * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.\n\t * Do not translate into your own language.\n\t */\n\tconst wordCountType = _x( 'words', 'Word count type. Do not translate!' );\n\n\t/**\n\t * When excerpt is editable, strip the html tags from\n\t * rendered excerpt. This will be used if the entity's\n\t * excerpt has been produced from the content.\n\t */\n\tconst strippedRenderedExcerpt = useMemo( () => {\n\t\tif ( ! renderedExcerpt ) {\n\t\t\treturn '';\n\t\t}\n\t\tconst document = new window.DOMParser().parseFromString(\n\t\t\trenderedExcerpt,\n\t\t\t'text/html'\n\t\t);\n\t\treturn document.body.textContent || document.body.innerText || '';\n\t}, [ renderedExcerpt ] );\n\n\tif ( ! postType || ! postId ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<AlignmentToolbar\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<p>{ __( 'This block will display the excerpt.' ) }</p>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\tif ( isProtected && ! userCanEdit ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'The content is currently protected and does not have the available excerpt.'\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\tconst readMoreLink = (\n\t\t<RichText\n\t\t\tidentifier=\"moreText\"\n\t\t\tclassName=\"wp-block-post-excerpt__more-link\"\n\t\t\ttagName=\"a\"\n\t\t\taria-label={ __( '“Read more” link text' ) }\n\t\t\tplaceholder={ __( 'Add \"read more\" link text' ) }\n\t\t\tvalue={ moreText }\n\t\t\tonChange={ ( newMoreText ) =>\n\t\t\t\tsetAttributes( { moreText: newMoreText } )\n\t\t\t}\n\t\t\twithoutInteractiveFormatting\n\t\t/>\n\t);\n\tconst excerptClassName = clsx( 'wp-block-post-excerpt__excerpt', {\n\t\t'is-inline': ! showMoreOnNewLine,\n\t} );\n\n\t/**\n\t * The excerpt length setting needs to be applied to both\n\t * the raw and the rendered excerpt depending on which is being used.\n\t */\n\tconst rawOrRenderedExcerpt = (\n\t\trawExcerpt || strippedRenderedExcerpt\n\t).trim();\n\n\tlet trimmedExcerpt = '';\n\tif ( wordCountType === 'words' ) {\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( ' ', excerptLength )\n\t\t\t.join( ' ' );\n\t} else if ( wordCountType === 'characters_excluding_spaces' ) {\n\t\t/*\n\t\t * 1. Split the excerpt at the character limit,\n\t\t * then join the substrings back into one string.\n\t\t * 2. Count the number of spaces in the excerpt\n\t\t * by comparing the lengths of the string with and without spaces.\n\t\t * 3. Add the number to the length of the visible excerpt,\n\t\t * so that the spaces are excluded from the word count.\n\t\t */\n\t\tconst excerptWithSpaces = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength )\n\t\t\t.join( '' );\n\n\t\tconst numberOfSpaces =\n\t\t\texcerptWithSpaces.length -\n\t\t\texcerptWithSpaces.replaceAll( ' ', '' ).length;\n\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength + numberOfSpaces )\n\t\t\t.join( '' );\n\t} else if ( wordCountType === 'characters_including_spaces' ) {\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength )\n\t\t\t.join( '' );\n\t}\n\n\tconst isTrimmed = trimmedExcerpt !== rawOrRenderedExcerpt;\n\n\tconst excerptContent = isEditable ? (\n\t\t<RichText\n\t\t\tclassName={ excerptClassName }\n\t\t\taria-label={ __( 'Excerpt text' ) }\n\t\t\tvalue={\n\t\t\t\tisSelected\n\t\t\t\t\t? rawOrRenderedExcerpt\n\t\t\t\t\t: ( ! isTrimmed\n\t\t\t\t\t\t\t? rawOrRenderedExcerpt\n\t\t\t\t\t\t\t: trimmedExcerpt + ELLIPSIS ) ||\n\t\t\t\t\t __( 'No excerpt found' )\n\t\t\t}\n\t\t\tonChange={ setExcerpt }\n\t\t\ttagName=\"p\"\n\t\t/>\n\t) : (\n\t\t<p className={ excerptClassName }>\n\t\t\t{ ! isTrimmed\n\t\t\t\t? rawOrRenderedExcerpt || __( 'No excerpt found' )\n\t\t\t\t: trimmedExcerpt + ELLIPSIS }\n\t\t</p>\n\t);\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<AlignmentToolbar\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</BlockControls>\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\tshowMoreOnNewLine: true,\n\t\t\t\t\t\t\texcerptLength: 55,\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={ () => showMoreOnNewLine !== true }\n\t\t\t\t\t\tlabel={ __( 'Show link on new line' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showMoreOnNewLine: 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={ __( 'Show link on new line' ) }\n\t\t\t\t\t\t\tchecked={ showMoreOnNewLine }\n\t\t\t\t\t\t\tonChange={ ( newShowMoreOnNewLine ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowMoreOnNewLine: newShowMoreOnNewLine,\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\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => excerptLength !== 55 }\n\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { excerptLength: 55 } )\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__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\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=\"10\"\n\t\t\t\t\t\t\tmax=\"100\"\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<div { ...blockProps }>\n\t\t\t\t{ excerptContent }\n\t\t\t\t{ ! showMoreOnNewLine && ' ' }\n\t\t\t\t{ showMoreOnNewLine ? (\n\t\t\t\t\t<p className=\"wp-block-post-excerpt__more-text\">\n\t\t\t\t\t\t{ readMoreLink }\n\t\t\t\t\t</p>\n\t\t\t\t) : (\n\t\t\t\t\treadMoreLink\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useEntityProp","store","coreStore","useMemo","AlignmentToolbar","BlockControls","InspectorControls","RichText","Warning","useBlockProps","useBlockEditingMode","ToggleControl","RangeControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","_x","useSelect","useCanEditEntity","useToolsPanelDropdownMenuProps","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ELLIPSIS","PostExcerptEditor","attributes","textAlign","moreText","showMoreOnNewLine","excerptLength","setAttributes","isSelected","context","postId","postType","queryId","blockEditingMode","showControls","isDescendentOfQueryLoop","Number","isFinite","userCanEdit","rawExcerpt","setExcerpt","rendered","renderedExcerpt","protected","isProtected","dropdownMenuProps","postTypeSupportsExcerpts","select","getPostType","supports","excerpt","isEditable","blockProps","className","wordCountType","strippedRenderedExcerpt","document","window","DOMParser","parseFromString","body","textContent","innerText","children","value","onChange","newAlign","readMoreLink","identifier","tagName","placeholder","newMoreText","withoutInteractiveFormatting","excerptClassName","rawOrRenderedExcerpt","trim","trimmedExcerpt","split","join","excerptWithSpaces","numberOfSpaces","length","replaceAll","isTrimmed","excerptContent","label","resetAll","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","checked","newShowMoreOnNewLine","__next40pxDefaultSize","min","max"],"sources":["@wordpress/block-library/src/post-excerpt/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\nimport {\n\tAlignmentToolbar,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tWarning,\n\tuseBlockProps,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\tRangeControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseCanEditEntity,\n\tuseToolsPanelDropdownMenuProps,\n} from '../utils/hooks';\n\nconst ELLIPSIS = '…';\n\nexport default function PostExcerptEditor( {\n\tattributes: { textAlign, moreText, showMoreOnNewLine, excerptLength },\n\tsetAttributes,\n\tisSelected,\n\tcontext: { postId, postType, queryId },\n} ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst showControls = blockEditingMode === 'default';\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst userCanEdit = useCanEditEntity( 'postType', postType, postId );\n\tconst [\n\t\trawExcerpt,\n\t\tsetExcerpt,\n\t\t{ rendered: renderedExcerpt, protected: isProtected } = {},\n\t] = useEntityProp( 'postType', postType, 'excerpt', postId );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t/**\n\t * Check if the post type supports excerpts.\n\t * Add an exception and return early for the \"page\" post type,\n\t * which is registered without support for the excerpt UI,\n\t * but supports saving the excerpt to the database.\n\t * See: https://core.trac.wordpress.org/browser/branches/6.1/src/wp-includes/post.php#L65\n\t * Without this exception, users that have excerpts saved to the database will\n\t * not be able to edit the excerpts.\n\t */\n\tconst postTypeSupportsExcerpts = useSelect(\n\t\t( select ) => {\n\t\t\tif ( postType === 'page' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn !! select( coreStore ).getPostType( postType )?.supports\n\t\t\t\t?.excerpt;\n\t\t},\n\t\t[ postType ]\n\t);\n\n\t/**\n\t * The excerpt is editable if:\n\t * - The user can edit the post\n\t * - It is not a descendent of a Query Loop block\n\t * - The post type supports excerpts\n\t */\n\tconst isEditable =\n\t\tuserCanEdit && ! isDescendentOfQueryLoop && postTypeSupportsExcerpts;\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\t/**\n\t * translators: If your word count is based on single characters (e.g. East Asian characters),\n\t * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.\n\t * Do not translate into your own language.\n\t */\n\tconst wordCountType = _x( 'words', 'Word count type. Do not translate!' );\n\n\t/**\n\t * When excerpt is editable, strip the html tags from\n\t * rendered excerpt. This will be used if the entity's\n\t * excerpt has been produced from the content.\n\t */\n\tconst strippedRenderedExcerpt = useMemo( () => {\n\t\tif ( ! renderedExcerpt ) {\n\t\t\treturn '';\n\t\t}\n\t\tconst document = new window.DOMParser().parseFromString(\n\t\t\trenderedExcerpt,\n\t\t\t'text/html'\n\t\t);\n\t\treturn document.body.textContent || document.body.innerText || '';\n\t}, [ renderedExcerpt ] );\n\n\tif ( ! postType || ! postId ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<AlignmentToolbar\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<p>{ __( 'This block will display the excerpt.' ) }</p>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\tif ( isProtected && ! userCanEdit ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'The content is currently protected and does not have the available excerpt.'\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\tconst readMoreLink = (\n\t\t<RichText\n\t\t\tidentifier=\"moreText\"\n\t\t\tclassName=\"wp-block-post-excerpt__more-link\"\n\t\t\ttagName=\"a\"\n\t\t\taria-label={ __( '“Read more” link text' ) }\n\t\t\tplaceholder={ __( 'Add \"read more\" link text' ) }\n\t\t\tvalue={ moreText }\n\t\t\tonChange={ ( newMoreText ) =>\n\t\t\t\tsetAttributes( { moreText: newMoreText } )\n\t\t\t}\n\t\t\twithoutInteractiveFormatting\n\t\t/>\n\t);\n\tconst excerptClassName = clsx( 'wp-block-post-excerpt__excerpt', {\n\t\t'is-inline': ! showMoreOnNewLine,\n\t} );\n\n\t/**\n\t * The excerpt length setting needs to be applied to both\n\t * the raw and the rendered excerpt depending on which is being used.\n\t */\n\tconst rawOrRenderedExcerpt = (\n\t\trawExcerpt || strippedRenderedExcerpt\n\t).trim();\n\n\tlet trimmedExcerpt = '';\n\tif ( wordCountType === 'words' ) {\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( ' ', excerptLength )\n\t\t\t.join( ' ' );\n\t} else if ( wordCountType === 'characters_excluding_spaces' ) {\n\t\t/*\n\t\t * 1. Split the excerpt at the character limit,\n\t\t * then join the substrings back into one string.\n\t\t * 2. Count the number of spaces in the excerpt\n\t\t * by comparing the lengths of the string with and without spaces.\n\t\t * 3. Add the number to the length of the visible excerpt,\n\t\t * so that the spaces are excluded from the word count.\n\t\t */\n\t\tconst excerptWithSpaces = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength )\n\t\t\t.join( '' );\n\n\t\tconst numberOfSpaces =\n\t\t\texcerptWithSpaces.length -\n\t\t\texcerptWithSpaces.replaceAll( ' ', '' ).length;\n\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength + numberOfSpaces )\n\t\t\t.join( '' );\n\t} else if ( wordCountType === 'characters_including_spaces' ) {\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength )\n\t\t\t.join( '' );\n\t}\n\n\tconst isTrimmed = trimmedExcerpt !== rawOrRenderedExcerpt;\n\n\tconst excerptContent = isEditable ? (\n\t\t<RichText\n\t\t\tclassName={ excerptClassName }\n\t\t\taria-label={ __( 'Excerpt text' ) }\n\t\t\tvalue={\n\t\t\t\tisSelected\n\t\t\t\t\t? rawOrRenderedExcerpt\n\t\t\t\t\t: ( ! isTrimmed\n\t\t\t\t\t\t\t? rawOrRenderedExcerpt\n\t\t\t\t\t\t\t: trimmedExcerpt + ELLIPSIS ) ||\n\t\t\t\t\t __( 'No excerpt found' )\n\t\t\t}\n\t\t\tonChange={ setExcerpt }\n\t\t\ttagName=\"p\"\n\t\t/>\n\t) : (\n\t\t<p className={ excerptClassName }>\n\t\t\t{ ! isTrimmed\n\t\t\t\t? rawOrRenderedExcerpt || __( 'No excerpt found' )\n\t\t\t\t: trimmedExcerpt + ELLIPSIS }\n\t\t</p>\n\t);\n\treturn (\n\t\t<>\n\t\t\t{ showControls && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<AlignmentToolbar\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\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\tshowMoreOnNewLine: true,\n\t\t\t\t\t\t\texcerptLength: 55,\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={ () => showMoreOnNewLine !== true }\n\t\t\t\t\t\tlabel={ __( 'Show link on new line' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showMoreOnNewLine: 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={ __( 'Show link on new line' ) }\n\t\t\t\t\t\t\tchecked={ showMoreOnNewLine }\n\t\t\t\t\t\t\tonChange={ ( newShowMoreOnNewLine ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowMoreOnNewLine: newShowMoreOnNewLine,\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\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => excerptLength !== 55 }\n\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { excerptLength: 55 } )\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__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\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=\"10\"\n\t\t\t\t\t\t\tmax=\"100\"\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<div { ...blockProps }>\n\t\t\t\t{ excerptContent }\n\t\t\t\t{ ! showMoreOnNewLine && ' ' }\n\t\t\t\t{ showMoreOnNewLine ? (\n\t\t\t\t\t<p className=\"wp-block-post-excerpt__more-text\">\n\t\t\t\t\t\t{ readMoreLink }\n\t\t\t\t\t</p>\n\t\t\t\t) : (\n\t\t\t\t\treadMoreLink\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -20,7 +20,8 @@ const metadata = {
20
20
  type: "string"
21
21
  },
22
22
  moreText: {
23
- type: "string"
23
+ type: "string",
24
+ role: "content"
24
25
  },
25
26
  showMoreOnNewLine: {
26
27
  type: "boolean",
@@ -1 +1 @@
1
- {"version":3,"names":["postExcerpt","icon","initBlock","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","textAlign","type","moreText","showMoreOnNewLine","excerptLength","usesContext","example","viewportWidth","supports","html","color","gradients","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","interactivity","clientNavigation","__experimentalBorder","radius","width","style","editorStyle","edit","transforms","settings","init"],"sources":["@wordpress/block-library/src/post-excerpt/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postExcerpt as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport transforms from './transforms';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\ttransforms,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,IAAI,QAAQ,kBAAkB;;AAEtD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,SAAA;MAAAC,IAAA;IAAA;IAAAC,QAAA;MAAAD,IAAA;IAAA;IAAAE,iBAAA;MAAAF,IAAA;MAAA;IAAA;IAAAG,aAAA;MAAAH,IAAA;MAAA;IAAA;EAAA;EAAAI,WAAA;EAAAC,OAAA;IAAAC,aAAA;EAAA;EAAAC,QAAA;IAAAC,IAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;QAAAH,IAAA;MAAA;IAAA;IAAAI,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAd,6BAAA;QAAAO,QAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAC,gBAAA;IAAA;IAAAC,oBAAA;MAAAC,MAAA;MAAArB,KAAA;MAAAsB,KAAA;MAAAC,KAAA;MAAApB,6BAAA;QAAAkB,MAAA;QAAArB,KAAA;QAAAsB,KAAA;QAAAC,KAAA;MAAA;IAAA;EAAA;EAAAC,WAAA;EAAAD,KAAA;AAAA;AAE5C,OAAOE,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAE1C;AAAK,CAAC,GAAGH,QAAQ;AACzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAM2C,QAAQ,GAAG;EACvBhD,IAAI;EACJ+C,UAAU;EACVD;AACD,CAAC;AAED,OAAO,MAAMG,IAAI,GAAGA,CAAA,KAAMhD,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAE8C;AAAS,CAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["postExcerpt","icon","initBlock","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","textAlign","type","moreText","role","showMoreOnNewLine","excerptLength","usesContext","example","viewportWidth","supports","html","color","gradients","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","interactivity","clientNavigation","__experimentalBorder","radius","width","style","editorStyle","edit","transforms","settings","init"],"sources":["@wordpress/block-library/src/post-excerpt/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postExcerpt as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport transforms from './transforms';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\ttransforms,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,IAAI,QAAQ,kBAAkB;;AAEtD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,SAAA;MAAAC,IAAA;IAAA;IAAAC,QAAA;MAAAD,IAAA;MAAAE,IAAA;IAAA;IAAAC,iBAAA;MAAAH,IAAA;MAAA;IAAA;IAAAI,aAAA;MAAAJ,IAAA;MAAA;IAAA;EAAA;EAAAK,WAAA;EAAAC,OAAA;IAAAC,aAAA;EAAA;EAAAC,QAAA;IAAAC,IAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;QAAAH,IAAA;MAAA;IAAA;IAAAI,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAd,6BAAA;QAAAO,QAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAC,gBAAA;IAAA;IAAAC,oBAAA;MAAAC,MAAA;MAAArB,KAAA;MAAAsB,KAAA;MAAAC,KAAA;MAAApB,6BAAA;QAAAkB,MAAA;QAAArB,KAAA;QAAAsB,KAAA;QAAAC,KAAA;MAAA;IAAA;EAAA;EAAAC,WAAA;EAAAD,KAAA;AAAA;AAE5C,OAAOE,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAE3C;AAAK,CAAC,GAAGH,QAAQ;AACzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAM4C,QAAQ,GAAG;EACvBjD,IAAI;EACJgD,UAAU;EACVD;AACD,CAAC;AAED,OAAO,MAAMG,IAAI,GAAGA,CAAA,KAAMjD,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAE+C;AAAS,CAAE,CAAC","ignoreList":[]}