@wordpress/block-library 9.6.1 → 9.7.1-next.1f6eadc42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/archives/edit.js +1 -1
  3. package/build/archives/edit.js.map +1 -1
  4. package/build/audio/edit.js +2 -1
  5. package/build/audio/edit.js.map +1 -1
  6. package/build/block/edit.js +5 -8
  7. package/build/block/edit.js.map +1 -1
  8. package/build/button/edit.js +1 -1
  9. package/build/button/edit.js.map +1 -1
  10. package/build/buttons/index.js +1 -1
  11. package/build/categories/index.js +1 -0
  12. package/build/categories/index.js.map +1 -1
  13. package/build/comment-edit-link/index.js +13 -2
  14. package/build/comment-edit-link/index.js.map +1 -1
  15. package/build/comment-reply-link/index.js +13 -2
  16. package/build/comment-reply-link/index.js.map +1 -1
  17. package/build/comments/edit/comments-legacy.js +1 -0
  18. package/build/comments/edit/comments-legacy.js.map +1 -1
  19. package/build/cover/deprecated.js +1 -1
  20. package/build/cover/deprecated.js.map +1 -1
  21. package/build/cover/edit/block-controls.js +4 -2
  22. package/build/cover/edit/block-controls.js.map +1 -1
  23. package/build/cover/edit/index.js +6 -3
  24. package/build/cover/edit/index.js.map +1 -1
  25. package/build/cover/edit/inspector-controls.js +4 -12
  26. package/build/cover/edit/inspector-controls.js.map +1 -1
  27. package/build/details/index.js +3 -1
  28. package/build/details/index.js.map +1 -1
  29. package/build/details/transforms.js +24 -0
  30. package/build/details/transforms.js.map +1 -0
  31. package/build/embed/edit.js +5 -11
  32. package/build/embed/edit.js.map +1 -1
  33. package/build/embed/embed-placeholder.js +2 -0
  34. package/build/embed/embed-placeholder.js.map +1 -1
  35. package/build/embed/embed-preview.js +16 -4
  36. package/build/embed/embed-preview.js.map +1 -1
  37. package/build/file/edit.js +12 -1
  38. package/build/file/edit.js.map +1 -1
  39. package/build/file/transforms.js +18 -4
  40. package/build/file/transforms.js.map +1 -1
  41. package/build/form-input/deprecated.js +113 -1
  42. package/build/form-input/deprecated.js.map +1 -1
  43. package/build/form-input/edit.js +16 -12
  44. package/build/form-input/edit.js.map +1 -1
  45. package/build/form-input/save.js +9 -1
  46. package/build/form-input/save.js.map +1 -1
  47. package/build/freeform/edit.js +4 -4
  48. package/build/freeform/edit.js.map +1 -1
  49. package/build/freeform/modal.js +3 -0
  50. package/build/freeform/modal.js.map +1 -1
  51. package/build/home-link/edit.js +3 -9
  52. package/build/home-link/edit.js.map +1 -1
  53. package/build/image/edit.js +95 -45
  54. package/build/image/edit.js.map +1 -1
  55. package/build/image/image.js +39 -24
  56. package/build/image/image.js.map +1 -1
  57. package/build/image/transforms.js +0 -13
  58. package/build/image/transforms.js.map +1 -1
  59. package/build/image/use-max-width-observer.js +35 -0
  60. package/build/image/use-max-width-observer.js.map +1 -0
  61. package/build/image/utils.js +11 -0
  62. package/build/image/utils.js.map +1 -1
  63. package/build/latest-posts/edit.js +1 -1
  64. package/build/latest-posts/edit.js.map +1 -1
  65. package/build/media-text/deprecated.js +144 -3
  66. package/build/media-text/deprecated.js.map +1 -1
  67. package/build/media-text/edit.js +5 -5
  68. package/build/media-text/edit.js.map +1 -1
  69. package/build/media-text/image-fill.js +12 -0
  70. package/build/media-text/image-fill.js.map +1 -0
  71. package/build/media-text/media-container.js +21 -18
  72. package/build/media-text/media-container.js.map +1 -1
  73. package/build/media-text/media-container.native.js +0 -7
  74. package/build/media-text/media-container.native.js.map +1 -1
  75. package/build/media-text/save.js +5 -6
  76. package/build/media-text/save.js.map +1 -1
  77. package/build/missing/edit.js +3 -2
  78. package/build/missing/edit.js.map +1 -1
  79. package/build/navigation/edit/deleted-navigation-warning.js +14 -7
  80. package/build/navigation/edit/deleted-navigation-warning.js.map +1 -1
  81. package/build/navigation/edit/index.js +1 -0
  82. package/build/navigation/edit/index.js.map +1 -1
  83. package/build/navigation/edit/menu-inspector-controls.js +2 -1
  84. package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
  85. package/build/navigation/edit/navigation-menu-delete-control.js +1 -0
  86. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  87. package/build/navigation/edit/placeholder/index.js +1 -0
  88. package/build/navigation/edit/placeholder/index.js.map +1 -1
  89. package/build/navigation/edit/responsive-wrapper.js +2 -0
  90. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  91. package/build/navigation/edit/unsaved-inner-blocks.js +4 -4
  92. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  93. package/build/navigation-link/link-ui.js +2 -1
  94. package/build/navigation-link/link-ui.js.map +1 -1
  95. package/build/page-list/convert-to-links-modal.js +2 -0
  96. package/build/page-list/convert-to-links-modal.js.map +1 -1
  97. package/build/page-list/edit.js +4 -1
  98. package/build/page-list/edit.js.map +1 -1
  99. package/build/post-comments-form/form.js +1 -0
  100. package/build/post-comments-form/form.js.map +1 -1
  101. package/build/post-featured-image/dimension-controls.js +6 -8
  102. package/build/post-featured-image/dimension-controls.js.map +1 -1
  103. package/build/post-featured-image/edit.js +2 -4
  104. package/build/post-featured-image/edit.js.map +1 -1
  105. package/build/post-title/index.js +4 -1
  106. package/build/post-title/index.js.map +1 -1
  107. package/build/query/edit/enhanced-pagination-modal.js +3 -2
  108. package/build/query/edit/enhanced-pagination-modal.js.map +1 -1
  109. package/build/query/edit/inspector-controls/enhanced-pagination-control.js +3 -3
  110. package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  111. package/build/query/edit/inspector-controls/index.js +2 -10
  112. package/build/query/edit/inspector-controls/index.js.map +1 -1
  113. package/build/query/edit/query-content.js +9 -3
  114. package/build/query/edit/query-content.js.map +1 -1
  115. package/build/query/edit/query-placeholder.js +2 -0
  116. package/build/query/edit/query-placeholder.js.map +1 -1
  117. package/build/site-logo/edit.js +9 -13
  118. package/build/site-logo/edit.js.map +1 -1
  119. package/build/site-title/index.js +4 -1
  120. package/build/site-title/index.js.map +1 -1
  121. package/build/social-link/edit.js +4 -1
  122. package/build/social-link/edit.js.map +1 -1
  123. package/build/social-links/edit.js +10 -9
  124. package/build/social-links/edit.js.map +1 -1
  125. package/build/template-part/edit/advanced-controls.js.map +1 -1
  126. package/build/template-part/edit/index.js +1 -1
  127. package/build/template-part/edit/index.js.map +1 -1
  128. package/build/template-part/edit/inner-blocks.js +10 -1
  129. package/build/template-part/edit/inner-blocks.js.map +1 -1
  130. package/build/template-part/edit/placeholder.js +2 -0
  131. package/build/template-part/edit/placeholder.js.map +1 -1
  132. package/build/utils/hooks.js +10 -10
  133. package/build/utils/hooks.js.map +1 -1
  134. package/build/video/edit.js +16 -12
  135. package/build/video/edit.js.map +1 -1
  136. package/build/video/tracks-editor.js +3 -0
  137. package/build/video/tracks-editor.js.map +1 -1
  138. package/build-module/archives/edit.js +1 -1
  139. package/build-module/archives/edit.js.map +1 -1
  140. package/build-module/audio/edit.js +2 -1
  141. package/build-module/audio/edit.js.map +1 -1
  142. package/build-module/block/edit.js +6 -9
  143. package/build-module/block/edit.js.map +1 -1
  144. package/build-module/button/edit.js +1 -1
  145. package/build-module/button/edit.js.map +1 -1
  146. package/build-module/buttons/index.js +1 -1
  147. package/build-module/categories/index.js +1 -0
  148. package/build-module/categories/index.js.map +1 -1
  149. package/build-module/comment-edit-link/index.js +13 -2
  150. package/build-module/comment-edit-link/index.js.map +1 -1
  151. package/build-module/comment-reply-link/index.js +13 -2
  152. package/build-module/comment-reply-link/index.js.map +1 -1
  153. package/build-module/comments/edit/comments-legacy.js +1 -0
  154. package/build-module/comments/edit/comments-legacy.js.map +1 -1
  155. package/build-module/cover/deprecated.js +1 -1
  156. package/build-module/cover/deprecated.js.map +1 -1
  157. package/build-module/cover/edit/block-controls.js +4 -2
  158. package/build-module/cover/edit/block-controls.js.map +1 -1
  159. package/build-module/cover/edit/index.js +6 -3
  160. package/build-module/cover/edit/index.js.map +1 -1
  161. package/build-module/cover/edit/inspector-controls.js +5 -13
  162. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  163. package/build-module/details/index.js +3 -1
  164. package/build-module/details/index.js.map +1 -1
  165. package/build-module/details/transforms.js +18 -0
  166. package/build-module/details/transforms.js.map +1 -0
  167. package/build-module/embed/edit.js +6 -12
  168. package/build-module/embed/edit.js.map +1 -1
  169. package/build-module/embed/embed-placeholder.js +2 -0
  170. package/build-module/embed/embed-placeholder.js.map +1 -1
  171. package/build-module/embed/embed-preview.js +16 -4
  172. package/build-module/embed/embed-preview.js.map +1 -1
  173. package/build-module/file/edit.js +12 -1
  174. package/build-module/file/edit.js.map +1 -1
  175. package/build-module/file/transforms.js +18 -4
  176. package/build-module/file/transforms.js.map +1 -1
  177. package/build-module/form-input/deprecated.js +114 -2
  178. package/build-module/form-input/deprecated.js.map +1 -1
  179. package/build-module/form-input/edit.js +16 -12
  180. package/build-module/form-input/edit.js.map +1 -1
  181. package/build-module/form-input/save.js +9 -1
  182. package/build-module/form-input/save.js.map +1 -1
  183. package/build-module/freeform/edit.js +4 -4
  184. package/build-module/freeform/edit.js.map +1 -1
  185. package/build-module/freeform/modal.js +3 -0
  186. package/build-module/freeform/modal.js.map +1 -1
  187. package/build-module/home-link/edit.js +3 -9
  188. package/build-module/home-link/edit.js.map +1 -1
  189. package/build-module/image/edit.js +99 -48
  190. package/build-module/image/edit.js.map +1 -1
  191. package/build-module/image/image.js +40 -25
  192. package/build-module/image/image.js.map +1 -1
  193. package/build-module/image/transforms.js +0 -13
  194. package/build-module/image/transforms.js.map +1 -1
  195. package/build-module/image/use-max-width-observer.js +29 -0
  196. package/build-module/image/use-max-width-observer.js.map +1 -0
  197. package/build-module/image/utils.js +11 -1
  198. package/build-module/image/utils.js.map +1 -1
  199. package/build-module/latest-posts/edit.js +1 -1
  200. package/build-module/latest-posts/edit.js.map +1 -1
  201. package/build-module/media-text/deprecated.js +144 -3
  202. package/build-module/media-text/deprecated.js.map +1 -1
  203. package/build-module/media-text/edit.js +5 -5
  204. package/build-module/media-text/edit.js.map +1 -1
  205. package/build-module/media-text/image-fill.js +6 -0
  206. package/build-module/media-text/image-fill.js.map +1 -0
  207. package/build-module/media-text/media-container.js +21 -17
  208. package/build-module/media-text/media-container.js.map +1 -1
  209. package/build-module/media-text/media-container.native.js +0 -1
  210. package/build-module/media-text/media-container.native.js.map +1 -1
  211. package/build-module/media-text/save.js +5 -6
  212. package/build-module/media-text/save.js.map +1 -1
  213. package/build-module/missing/edit.js +3 -2
  214. package/build-module/missing/edit.js.map +1 -1
  215. package/build-module/navigation/edit/deleted-navigation-warning.js +15 -8
  216. package/build-module/navigation/edit/deleted-navigation-warning.js.map +1 -1
  217. package/build-module/navigation/edit/index.js +1 -0
  218. package/build-module/navigation/edit/index.js.map +1 -1
  219. package/build-module/navigation/edit/menu-inspector-controls.js +2 -1
  220. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
  221. package/build-module/navigation/edit/navigation-menu-delete-control.js +1 -0
  222. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  223. package/build-module/navigation/edit/placeholder/index.js +1 -0
  224. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  225. package/build-module/navigation/edit/responsive-wrapper.js +2 -0
  226. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  227. package/build-module/navigation/edit/unsaved-inner-blocks.js +4 -4
  228. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  229. package/build-module/navigation-link/link-ui.js +4 -3
  230. package/build-module/navigation-link/link-ui.js.map +1 -1
  231. package/build-module/page-list/convert-to-links-modal.js +2 -0
  232. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  233. package/build-module/page-list/edit.js +4 -1
  234. package/build-module/page-list/edit.js.map +1 -1
  235. package/build-module/post-comments-form/form.js +1 -0
  236. package/build-module/post-comments-form/form.js.map +1 -1
  237. package/build-module/post-featured-image/dimension-controls.js +6 -8
  238. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  239. package/build-module/post-featured-image/edit.js +3 -5
  240. package/build-module/post-featured-image/edit.js.map +1 -1
  241. package/build-module/post-title/index.js +4 -1
  242. package/build-module/post-title/index.js.map +1 -1
  243. package/build-module/query/edit/enhanced-pagination-modal.js +3 -2
  244. package/build-module/query/edit/enhanced-pagination-modal.js.map +1 -1
  245. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +3 -3
  246. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  247. package/build-module/query/edit/inspector-controls/index.js +2 -10
  248. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  249. package/build-module/query/edit/query-content.js +10 -4
  250. package/build-module/query/edit/query-content.js.map +1 -1
  251. package/build-module/query/edit/query-placeholder.js +2 -0
  252. package/build-module/query/edit/query-placeholder.js.map +1 -1
  253. package/build-module/site-logo/edit.js +10 -14
  254. package/build-module/site-logo/edit.js.map +1 -1
  255. package/build-module/site-title/index.js +4 -1
  256. package/build-module/site-title/index.js.map +1 -1
  257. package/build-module/social-link/edit.js +4 -1
  258. package/build-module/social-link/edit.js.map +1 -1
  259. package/build-module/social-links/edit.js +11 -10
  260. package/build-module/social-links/edit.js.map +1 -1
  261. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  262. package/build-module/template-part/edit/index.js +1 -1
  263. package/build-module/template-part/edit/index.js.map +1 -1
  264. package/build-module/template-part/edit/inner-blocks.js +10 -1
  265. package/build-module/template-part/edit/inner-blocks.js.map +1 -1
  266. package/build-module/template-part/edit/placeholder.js +2 -0
  267. package/build-module/template-part/edit/placeholder.js.map +1 -1
  268. package/build-module/utils/hooks.js +10 -10
  269. package/build-module/utils/hooks.js.map +1 -1
  270. package/build-module/video/edit.js +16 -13
  271. package/build-module/video/edit.js.map +1 -1
  272. package/build-module/video/tracks-editor.js +3 -0
  273. package/build-module/video/tracks-editor.js.map +1 -1
  274. package/build-style/button/editor-rtl.css +0 -4
  275. package/build-style/button/editor.css +0 -4
  276. package/build-style/buttons/editor-rtl.css +2 -5
  277. package/build-style/buttons/editor.css +2 -5
  278. package/build-style/buttons/style-rtl.css +2 -2
  279. package/build-style/buttons/style.css +2 -2
  280. package/build-style/comment-edit-link/style-rtl.css +94 -0
  281. package/build-style/comment-edit-link/style.css +94 -0
  282. package/build-style/comment-reply-link/style-rtl.css +94 -0
  283. package/build-style/comment-reply-link/style.css +94 -0
  284. package/build-style/comments-pagination/editor-rtl.css +2 -2
  285. package/build-style/comments-pagination/editor.css +2 -2
  286. package/build-style/common-rtl.css +2 -2
  287. package/build-style/common.css +2 -2
  288. package/build-style/cover/editor-rtl.css +0 -6
  289. package/build-style/cover/editor.css +0 -6
  290. package/build-style/editor-rtl.css +35 -99
  291. package/build-style/editor.css +35 -101
  292. package/build-style/form-input/style-rtl.css +7 -8
  293. package/build-style/form-input/style.css +7 -8
  294. package/build-style/group/editor-rtl.css +0 -1
  295. package/build-style/group/editor.css +0 -1
  296. package/build-style/image/editor-rtl.css +6 -27
  297. package/build-style/image/editor.css +6 -27
  298. package/build-style/media-text/editor-rtl.css +3 -1
  299. package/build-style/media-text/editor.css +3 -1
  300. package/build-style/media-text/style-rtl.css +20 -0
  301. package/build-style/media-text/style.css +20 -0
  302. package/build-style/navigation/editor-rtl.css +1 -2
  303. package/build-style/navigation/editor.css +1 -2
  304. package/build-style/post-featured-image/style-rtl.css +1 -1
  305. package/build-style/post-featured-image/style.css +1 -1
  306. package/build-style/post-title/style-rtl.css +21 -0
  307. package/build-style/post-title/style.css +21 -0
  308. package/build-style/query-pagination/editor-rtl.css +2 -16
  309. package/build-style/query-pagination/editor.css +2 -18
  310. package/build-style/query-pagination/style-rtl.css +0 -11
  311. package/build-style/query-pagination/style.css +0 -13
  312. package/build-style/site-title/editor-rtl.css +0 -4
  313. package/build-style/site-title/editor.css +0 -4
  314. package/build-style/site-title/style-rtl.css +21 -0
  315. package/build-style/site-title/style.css +21 -0
  316. package/build-style/social-links/editor-rtl.css +17 -0
  317. package/build-style/social-links/editor.css +17 -0
  318. package/build-style/style-rtl.css +82 -24
  319. package/build-style/style.css +82 -26
  320. package/build-style/video/editor-rtl.css +0 -29
  321. package/build-style/video/editor.css +0 -29
  322. package/package.json +42 -35
  323. package/src/archives/edit.js +1 -1
  324. package/src/audio/edit.js +1 -0
  325. package/src/block/edit.js +9 -11
  326. package/src/button/edit.js +1 -1
  327. package/src/button/editor.scss +0 -5
  328. package/src/buttons/block.json +1 -1
  329. package/src/buttons/editor.scss +2 -8
  330. package/src/buttons/style.scss +2 -2
  331. package/src/categories/block.json +1 -0
  332. package/src/categories/index.php +13 -2
  333. package/src/comment-edit-link/block.json +13 -2
  334. package/src/comment-edit-link/style.scss +4 -0
  335. package/src/comment-reply-link/block.json +13 -2
  336. package/src/comment-reply-link/style.scss +4 -0
  337. package/src/comments/edit/comments-legacy.js +1 -0
  338. package/src/comments-pagination/editor.scss +1 -1
  339. package/src/cover/deprecated.js +3 -2
  340. package/src/cover/edit/block-controls.js +2 -0
  341. package/src/cover/edit/index.js +6 -1
  342. package/src/cover/edit/inspector-controls.js +3 -15
  343. package/src/cover/editor.scss +0 -5
  344. package/src/cover/test/edit.js +30 -26
  345. package/src/details/index.js +2 -0
  346. package/src/details/transforms.js +26 -0
  347. package/src/embed/edit.js +0 -7
  348. package/src/embed/embed-placeholder.js +10 -2
  349. package/src/embed/embed-preview.js +22 -2
  350. package/src/file/edit.js +11 -0
  351. package/src/file/index.php +1 -1
  352. package/src/file/transforms.js +26 -6
  353. package/src/form-input/deprecated.js +114 -1
  354. package/src/form-input/edit.js +17 -11
  355. package/src/form-input/save.js +13 -3
  356. package/src/form-input/style.scss +9 -8
  357. package/src/freeform/edit.js +4 -4
  358. package/src/freeform/editor.scss +1 -1
  359. package/src/freeform/modal.js +7 -1
  360. package/src/gallery/editor.scss +1 -1
  361. package/src/group/editor.scss +0 -1
  362. package/src/home-link/edit.js +4 -7
  363. package/src/image/edit.js +130 -47
  364. package/src/image/editor.scss +7 -41
  365. package/src/image/image.js +100 -67
  366. package/src/image/index.php +1 -1
  367. package/src/image/transforms.js +0 -23
  368. package/src/image/use-max-width-observer.js +32 -0
  369. package/src/image/utils.js +13 -1
  370. package/src/latest-posts/edit.js +1 -1
  371. package/src/media-text/deprecated.js +159 -3
  372. package/src/media-text/edit.js +5 -5
  373. package/src/media-text/editor.scss +3 -1
  374. package/src/media-text/image-fill.js +11 -0
  375. package/src/media-text/index.php +53 -43
  376. package/src/media-text/media-container.js +25 -25
  377. package/src/media-text/media-container.native.js +0 -2
  378. package/src/media-text/save.js +9 -13
  379. package/src/media-text/style.scss +21 -0
  380. package/src/media-text/test/image-fill.js +19 -0
  381. package/src/missing/edit.js +8 -3
  382. package/src/navigation/edit/deleted-navigation-warning.js +23 -13
  383. package/src/navigation/edit/index.js +1 -0
  384. package/src/navigation/edit/menu-inspector-controls.js +3 -1
  385. package/src/navigation/edit/navigation-menu-delete-control.js +1 -0
  386. package/src/navigation/edit/placeholder/index.js +1 -0
  387. package/src/navigation/edit/responsive-wrapper.js +2 -0
  388. package/src/navigation/edit/unsaved-inner-blocks.js +4 -4
  389. package/src/navigation/editor.scss +11 -4
  390. package/src/navigation/index.php +1 -1
  391. package/src/navigation-link/link-ui.js +4 -3
  392. package/src/page-list/convert-to-links-modal.js +6 -1
  393. package/src/page-list/edit.js +6 -1
  394. package/src/page-list/index.php +3 -1
  395. package/src/post-comments-form/form.js +1 -0
  396. package/src/post-featured-image/dimension-controls.js +4 -4
  397. package/src/post-featured-image/edit.js +3 -6
  398. package/src/post-featured-image/style.scss +1 -1
  399. package/src/post-title/block.json +4 -1
  400. package/src/post-title/style.scss +24 -0
  401. package/src/query/edit/enhanced-pagination-modal.js +7 -3
  402. package/src/query/edit/inspector-controls/enhanced-pagination-control.js +3 -3
  403. package/src/query/edit/inspector-controls/index.js +2 -9
  404. package/src/query/edit/query-content.js +7 -0
  405. package/src/query/edit/query-placeholder.js +2 -0
  406. package/src/query/index.php +1 -1
  407. package/src/query-pagination/editor.scss +1 -21
  408. package/src/query-pagination/style.scss +0 -15
  409. package/src/search/index.php +1 -1
  410. package/src/site-logo/edit.js +11 -20
  411. package/src/site-title/block.json +4 -1
  412. package/src/site-title/editor.scss +0 -4
  413. package/src/site-title/style.scss +24 -0
  414. package/src/social-link/edit.js +2 -0
  415. package/src/social-links/edit.js +17 -10
  416. package/src/social-links/editor.scss +24 -5
  417. package/src/style.scss +2 -0
  418. package/src/tag-cloud/index.php +7 -2
  419. package/src/template-part/edit/advanced-controls.js +0 -1
  420. package/src/template-part/edit/index.js +12 -10
  421. package/src/template-part/edit/inner-blocks.js +20 -1
  422. package/src/template-part/edit/placeholder.js +6 -1
  423. package/src/utils/hooks.js +11 -11
  424. package/src/video/edit.js +24 -21
  425. package/src/video/editor.scss +0 -45
  426. package/src/video/tracks-editor.js +3 -0
  427. package/src/media-text/test/media-container.js +0 -24
@@ -1 +1 @@
1
- {"version":3,"names":["createBlobURL","isBlobURL","createBlock","getBlockAttributes","dispatch","store","noticesStore","__","stripFirstImage","attributes","shortcode","body","document","implementation","createHTMLDocument","innerHTML","content","nodeToRemove","querySelector","parentNode","removeChild","trim","getFirstAnchorAttributeFormHTML","html","attributeName","firstElementChild","nodeName","getAttribute","undefined","imageSchema","img","classes","schema","phrasingContentSchema","figure","require","children","a","figcaption","transforms","from","type","isMatch","node","transform","className","alignMatches","exec","anchor","id","align","idMatches","Number","anchorElement","linkDestination","href","rel","linkClass","outerHTML","url","blob","files","some","file","indexOf","createErrorNotice","every","blocks","map","tag","source","attribute","selector","alt","caption","named","parseInt","replace"],"sources":["@wordpress/block-library/src/image/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlobURL, isBlobURL } from '@wordpress/blob';\nimport { createBlock, getBlockAttributes } from '@wordpress/blocks';\nimport { dispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __ } from '@wordpress/i18n';\n\nexport function stripFirstImage( attributes, { shortcode } ) {\n\tconst { body } = document.implementation.createHTMLDocument( '' );\n\n\tbody.innerHTML = shortcode.content;\n\n\tlet nodeToRemove = body.querySelector( 'img' );\n\n\t// If an image has parents, find the topmost node to remove.\n\twhile (\n\t\tnodeToRemove &&\n\t\tnodeToRemove.parentNode &&\n\t\tnodeToRemove.parentNode !== body\n\t) {\n\t\tnodeToRemove = nodeToRemove.parentNode;\n\t}\n\n\tif ( nodeToRemove ) {\n\t\tnodeToRemove.parentNode.removeChild( nodeToRemove );\n\t}\n\n\treturn body.innerHTML.trim();\n}\n\nfunction getFirstAnchorAttributeFormHTML( html, attributeName ) {\n\tconst { body } = document.implementation.createHTMLDocument( '' );\n\n\tbody.innerHTML = html;\n\n\tconst { firstElementChild } = body;\n\n\tif ( firstElementChild && firstElementChild.nodeName === 'A' ) {\n\t\treturn firstElementChild.getAttribute( attributeName ) || undefined;\n\t}\n}\n\nconst imageSchema = {\n\timg: {\n\t\tattributes: [ 'src', 'alt', 'title' ],\n\t\tclasses: [\n\t\t\t'alignleft',\n\t\t\t'aligncenter',\n\t\t\t'alignright',\n\t\t\t'alignnone',\n\t\t\t/^wp-image-\\d+$/,\n\t\t],\n\t},\n};\n\nconst schema = ( { phrasingContentSchema } ) => ( {\n\tfigure: {\n\t\trequire: [ 'img' ],\n\t\tchildren: {\n\t\t\t...imageSchema,\n\t\t\ta: {\n\t\t\t\tattributes: [ 'href', 'rel', 'target' ],\n\t\t\t\tchildren: imageSchema,\n\t\t\t},\n\t\t\tfigcaption: {\n\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t},\n\t\t},\n\t},\n} );\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tisMatch: ( node ) =>\n\t\t\t\tnode.nodeName === 'FIGURE' && !! node.querySelector( 'img' ),\n\t\t\tschema,\n\t\t\ttransform: ( node ) => {\n\t\t\t\t// Search both figure and image classes. Alignment could be\n\t\t\t\t// set on either. ID is set on the image.\n\t\t\t\tconst className =\n\t\t\t\t\tnode.className +\n\t\t\t\t\t' ' +\n\t\t\t\t\tnode.querySelector( 'img' ).className;\n\t\t\t\tconst alignMatches =\n\t\t\t\t\t/(?:^|\\s)align(left|center|right)(?:$|\\s)/.exec(\n\t\t\t\t\t\tclassName\n\t\t\t\t\t);\n\t\t\t\tconst anchor = node.id === '' ? undefined : node.id;\n\t\t\t\tconst align = alignMatches ? alignMatches[ 1 ] : undefined;\n\t\t\t\tconst idMatches = /(?:^|\\s)wp-image-(\\d+)(?:$|\\s)/.exec(\n\t\t\t\t\tclassName\n\t\t\t\t);\n\t\t\t\tconst id = idMatches ? Number( idMatches[ 1 ] ) : undefined;\n\t\t\t\tconst anchorElement = node.querySelector( 'a' );\n\t\t\t\tconst linkDestination =\n\t\t\t\t\tanchorElement && anchorElement.href ? 'custom' : undefined;\n\t\t\t\tconst href =\n\t\t\t\t\tanchorElement && anchorElement.href\n\t\t\t\t\t\t? anchorElement.href\n\t\t\t\t\t\t: undefined;\n\t\t\t\tconst rel =\n\t\t\t\t\tanchorElement && anchorElement.rel\n\t\t\t\t\t\t? anchorElement.rel\n\t\t\t\t\t\t: undefined;\n\t\t\t\tconst linkClass =\n\t\t\t\t\tanchorElement && anchorElement.className\n\t\t\t\t\t\t? anchorElement.className\n\t\t\t\t\t\t: undefined;\n\t\t\t\tconst attributes = getBlockAttributes(\n\t\t\t\t\t'core/image',\n\t\t\t\t\tnode.outerHTML,\n\t\t\t\t\t{\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\thref,\n\t\t\t\t\t\trel,\n\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tif ( isBlobURL( attributes.url ) ) {\n\t\t\t\t\tattributes.blob = attributes.url;\n\t\t\t\t\tdelete attributes.url;\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( 'core/image', attributes );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t// Note: when dragging and dropping multiple files onto a gallery this overrides the\n\t\t\t// gallery transform in order to add new images to the gallery instead of\n\t\t\t// creating a new gallery.\n\t\t\ttype: 'files',\n\t\t\tisMatch( files ) {\n\t\t\t\t// The following check is intended to catch non-image files when dropped together with images.\n\t\t\t\tif (\n\t\t\t\t\tfiles.some(\n\t\t\t\t\t\t( file ) => file.type.indexOf( 'image/' ) === 0\n\t\t\t\t\t) &&\n\t\t\t\t\tfiles.some(\n\t\t\t\t\t\t( file ) => file.type.indexOf( 'image/' ) !== 0\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tconst { createErrorNotice } = dispatch( noticesStore );\n\t\t\t\t\tcreateErrorNotice(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'gallery-transform-invalid-file',\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn files.every(\n\t\t\t\t\t( file ) => file.type.indexOf( 'image/' ) === 0\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform( files ) {\n\t\t\t\tconst blocks = files.map( ( file ) => {\n\t\t\t\t\treturn createBlock( 'core/image', {\n\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t\treturn blocks;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'shortcode',\n\t\t\ttag: 'caption',\n\t\t\tattributes: {\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\tshortcode: stripFirstImage,\n\t\t\t\t},\n\t\t\t\thref: {\n\t\t\t\t\tshortcode: ( attributes, { shortcode } ) => {\n\t\t\t\t\t\treturn getFirstAnchorAttributeFormHTML(\n\t\t\t\t\t\t\tshortcode.content,\n\t\t\t\t\t\t\t'href'\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trel: {\n\t\t\t\t\tshortcode: ( attributes, { shortcode } ) => {\n\t\t\t\t\t\treturn getFirstAnchorAttributeFormHTML(\n\t\t\t\t\t\t\tshortcode.content,\n\t\t\t\t\t\t\t'rel'\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlinkClass: {\n\t\t\t\t\tshortcode: ( attributes, { shortcode } ) => {\n\t\t\t\t\t\treturn getFirstAnchorAttributeFormHTML(\n\t\t\t\t\t\t\tshortcode.content,\n\t\t\t\t\t\t\t'class'\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tshortcode: ( { named: { id } } ) => {\n\t\t\t\t\t\tif ( ! id ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn parseInt( id.replace( 'attachment_', '' ), 10 );\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\talign: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { align = 'alignnone' } } ) => {\n\t\t\t\t\t\treturn align.replace( 'align', '' );\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createBlobURL","isBlobURL","createBlock","getBlockAttributes","stripFirstImage","attributes","shortcode","body","document","implementation","createHTMLDocument","innerHTML","content","nodeToRemove","querySelector","parentNode","removeChild","trim","getFirstAnchorAttributeFormHTML","html","attributeName","firstElementChild","nodeName","getAttribute","undefined","imageSchema","img","classes","schema","phrasingContentSchema","figure","require","children","a","figcaption","transforms","from","type","isMatch","node","transform","className","alignMatches","exec","anchor","id","align","idMatches","Number","anchorElement","linkDestination","href","rel","linkClass","outerHTML","url","blob","files","every","file","indexOf","blocks","map","tag","source","attribute","selector","alt","caption","named","parseInt","replace"],"sources":["@wordpress/block-library/src/image/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlobURL, isBlobURL } from '@wordpress/blob';\nimport { createBlock, getBlockAttributes } from '@wordpress/blocks';\n\nexport function stripFirstImage( attributes, { shortcode } ) {\n\tconst { body } = document.implementation.createHTMLDocument( '' );\n\n\tbody.innerHTML = shortcode.content;\n\n\tlet nodeToRemove = body.querySelector( 'img' );\n\n\t// If an image has parents, find the topmost node to remove.\n\twhile (\n\t\tnodeToRemove &&\n\t\tnodeToRemove.parentNode &&\n\t\tnodeToRemove.parentNode !== body\n\t) {\n\t\tnodeToRemove = nodeToRemove.parentNode;\n\t}\n\n\tif ( nodeToRemove ) {\n\t\tnodeToRemove.parentNode.removeChild( nodeToRemove );\n\t}\n\n\treturn body.innerHTML.trim();\n}\n\nfunction getFirstAnchorAttributeFormHTML( html, attributeName ) {\n\tconst { body } = document.implementation.createHTMLDocument( '' );\n\n\tbody.innerHTML = html;\n\n\tconst { firstElementChild } = body;\n\n\tif ( firstElementChild && firstElementChild.nodeName === 'A' ) {\n\t\treturn firstElementChild.getAttribute( attributeName ) || undefined;\n\t}\n}\n\nconst imageSchema = {\n\timg: {\n\t\tattributes: [ 'src', 'alt', 'title' ],\n\t\tclasses: [\n\t\t\t'alignleft',\n\t\t\t'aligncenter',\n\t\t\t'alignright',\n\t\t\t'alignnone',\n\t\t\t/^wp-image-\\d+$/,\n\t\t],\n\t},\n};\n\nconst schema = ( { phrasingContentSchema } ) => ( {\n\tfigure: {\n\t\trequire: [ 'img' ],\n\t\tchildren: {\n\t\t\t...imageSchema,\n\t\t\ta: {\n\t\t\t\tattributes: [ 'href', 'rel', 'target' ],\n\t\t\t\tchildren: imageSchema,\n\t\t\t},\n\t\t\tfigcaption: {\n\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t},\n\t\t},\n\t},\n} );\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tisMatch: ( node ) =>\n\t\t\t\tnode.nodeName === 'FIGURE' && !! node.querySelector( 'img' ),\n\t\t\tschema,\n\t\t\ttransform: ( node ) => {\n\t\t\t\t// Search both figure and image classes. Alignment could be\n\t\t\t\t// set on either. ID is set on the image.\n\t\t\t\tconst className =\n\t\t\t\t\tnode.className +\n\t\t\t\t\t' ' +\n\t\t\t\t\tnode.querySelector( 'img' ).className;\n\t\t\t\tconst alignMatches =\n\t\t\t\t\t/(?:^|\\s)align(left|center|right)(?:$|\\s)/.exec(\n\t\t\t\t\t\tclassName\n\t\t\t\t\t);\n\t\t\t\tconst anchor = node.id === '' ? undefined : node.id;\n\t\t\t\tconst align = alignMatches ? alignMatches[ 1 ] : undefined;\n\t\t\t\tconst idMatches = /(?:^|\\s)wp-image-(\\d+)(?:$|\\s)/.exec(\n\t\t\t\t\tclassName\n\t\t\t\t);\n\t\t\t\tconst id = idMatches ? Number( idMatches[ 1 ] ) : undefined;\n\t\t\t\tconst anchorElement = node.querySelector( 'a' );\n\t\t\t\tconst linkDestination =\n\t\t\t\t\tanchorElement && anchorElement.href ? 'custom' : undefined;\n\t\t\t\tconst href =\n\t\t\t\t\tanchorElement && anchorElement.href\n\t\t\t\t\t\t? anchorElement.href\n\t\t\t\t\t\t: undefined;\n\t\t\t\tconst rel =\n\t\t\t\t\tanchorElement && anchorElement.rel\n\t\t\t\t\t\t? anchorElement.rel\n\t\t\t\t\t\t: undefined;\n\t\t\t\tconst linkClass =\n\t\t\t\t\tanchorElement && anchorElement.className\n\t\t\t\t\t\t? anchorElement.className\n\t\t\t\t\t\t: undefined;\n\t\t\t\tconst attributes = getBlockAttributes(\n\t\t\t\t\t'core/image',\n\t\t\t\t\tnode.outerHTML,\n\t\t\t\t\t{\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\thref,\n\t\t\t\t\t\trel,\n\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tif ( isBlobURL( attributes.url ) ) {\n\t\t\t\t\tattributes.blob = attributes.url;\n\t\t\t\t\tdelete attributes.url;\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( 'core/image', attributes );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t// Note: when dragging and dropping multiple files onto a gallery this overrides the\n\t\t\t// gallery transform in order to add new images to the gallery instead of\n\t\t\t// creating a new gallery.\n\t\t\ttype: 'files',\n\t\t\tisMatch( files ) {\n\t\t\t\treturn files.every(\n\t\t\t\t\t( file ) => file.type.indexOf( 'image/' ) === 0\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform( files ) {\n\t\t\t\tconst blocks = files.map( ( file ) => {\n\t\t\t\t\treturn createBlock( 'core/image', {\n\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t\treturn blocks;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'shortcode',\n\t\t\ttag: 'caption',\n\t\t\tattributes: {\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\tshortcode: stripFirstImage,\n\t\t\t\t},\n\t\t\t\thref: {\n\t\t\t\t\tshortcode: ( attributes, { shortcode } ) => {\n\t\t\t\t\t\treturn getFirstAnchorAttributeFormHTML(\n\t\t\t\t\t\t\tshortcode.content,\n\t\t\t\t\t\t\t'href'\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trel: {\n\t\t\t\t\tshortcode: ( attributes, { shortcode } ) => {\n\t\t\t\t\t\treturn getFirstAnchorAttributeFormHTML(\n\t\t\t\t\t\t\tshortcode.content,\n\t\t\t\t\t\t\t'rel'\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlinkClass: {\n\t\t\t\t\tshortcode: ( attributes, { shortcode } ) => {\n\t\t\t\t\t\treturn getFirstAnchorAttributeFormHTML(\n\t\t\t\t\t\t\tshortcode.content,\n\t\t\t\t\t\t\t'class'\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tshortcode: ( { named: { id } } ) => {\n\t\t\t\t\t\tif ( ! id ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn parseInt( id.replace( 'attachment_', '' ), 10 );\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\talign: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { align = 'alignnone' } } ) => {\n\t\t\t\t\t\treturn align.replace( 'align', '' );\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useRef } from '@wordpress/element';
5
+ import { useResizeObserver } from '@wordpress/compose';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ function useMaxWidthObserver() {
8
+ const [contentResizeListener, {
9
+ width
10
+ }] = useResizeObserver();
11
+ const observerRef = useRef();
12
+ const maxWidthObserver = /*#__PURE__*/_jsx("div", {
13
+ // Some themes set max-width on blocks.
14
+ className: "wp-block",
15
+ "aria-hidden": "true",
16
+ style: {
17
+ position: 'absolute',
18
+ inset: 0,
19
+ width: '100%',
20
+ height: 0,
21
+ margin: 0
22
+ },
23
+ ref: observerRef,
24
+ children: contentResizeListener
25
+ });
26
+ return [maxWidthObserver, width];
27
+ }
28
+ export { useMaxWidthObserver };
29
+ //# sourceMappingURL=use-max-width-observer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useRef","useResizeObserver","jsx","_jsx","useMaxWidthObserver","contentResizeListener","width","observerRef","maxWidthObserver","className","style","position","inset","height","margin","ref","children"],"sources":["@wordpress/block-library/src/image/use-max-width-observer.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { useResizeObserver } from '@wordpress/compose';\n\nfunction useMaxWidthObserver() {\n\tconst [ contentResizeListener, { width } ] = useResizeObserver();\n\tconst observerRef = useRef();\n\n\tconst maxWidthObserver = (\n\t\t<div\n\t\t\t// Some themes set max-width on blocks.\n\t\t\tclassName=\"wp-block\"\n\t\t\taria-hidden=\"true\"\n\t\t\tstyle={ {\n\t\t\t\tposition: 'absolute',\n\t\t\t\tinset: 0,\n\t\t\t\twidth: '100%',\n\t\t\t\theight: 0,\n\t\t\t\tmargin: 0,\n\t\t\t} }\n\t\t\tref={ observerRef }\n\t\t>\n\t\t\t{ contentResizeListener }\n\t\t</div>\n\t);\n\n\treturn [ maxWidthObserver, width ];\n}\n\nexport { useMaxWidthObserver };\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAM,QAAQ,oBAAoB;AAC3C,SAASC,iBAAiB,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEvD,SAASC,mBAAmBA,CAAA,EAAG;EAC9B,MAAM,CAAEC,qBAAqB,EAAE;IAAEC;EAAM,CAAC,CAAE,GAAGL,iBAAiB,CAAC,CAAC;EAChE,MAAMM,WAAW,GAAGP,MAAM,CAAC,CAAC;EAE5B,MAAMQ,gBAAgB,gBACrBL,IAAA;IACC;IACAM,SAAS,EAAC,UAAU;IACpB,eAAY,MAAM;IAClBC,KAAK,EAAG;MACPC,QAAQ,EAAE,UAAU;MACpBC,KAAK,EAAE,CAAC;MACRN,KAAK,EAAE,MAAM;MACbO,MAAM,EAAE,CAAC;MACTC,MAAM,EAAE;IACT,CAAG;IACHC,GAAG,EAAGR,WAAa;IAAAS,QAAA,EAEjBX;EAAqB,CACnB,CACL;EAED,OAAO,CAAEG,gBAAgB,EAAEF,KAAK,CAAE;AACnC;AAEA,SAASF,mBAAmB","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Internal dependencies
3
3
  */
4
- import { NEW_TAB_REL } from './constants';
4
+ import { NEW_TAB_REL, ALLOWED_MEDIA_TYPES } from './constants';
5
5
 
6
6
  /**
7
7
  * Evaluates a CSS aspect-ratio property value as a number.
@@ -80,4 +80,14 @@ export function getImageSizeAttributes(image, size) {
80
80
  }
81
81
  return {};
82
82
  }
83
+
84
+ /**
85
+ * Checks if the file has a valid file type.
86
+ *
87
+ * @param {File} file - The file to check.
88
+ * @return {boolean} - Returns true if the file has a valid file type, otherwise false.
89
+ */
90
+ export function isValidFileType(file) {
91
+ return ALLOWED_MEDIA_TYPES.some(mediaType => file.type.indexOf(mediaType) === 0);
92
+ }
83
93
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NEW_TAB_REL","evalAspectRatio","value","width","height","split","map","Number","aspectRatio","Infinity","NaN","removeNewTabRel","currentRel","newRel","undefined","forEach","relVal","regExp","RegExp","replace","trim","getUpdatedLinkTargetSettings","rel","linkTarget","updatedRel","getImageSizeAttributes","image","size","url","media_details","sizes","source_url","sizeSlug"],"sources":["@wordpress/block-library/src/image/utils.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { NEW_TAB_REL } from './constants';\n\n/**\n * Evaluates a CSS aspect-ratio property value as a number.\n *\n * Degenerate or invalid ratios behave as 'auto'. And 'auto' ratios return NaN.\n *\n * @see https://drafts.csswg.org/css-sizing-4/#aspect-ratio\n *\n * @param {string} value CSS aspect-ratio property value.\n * @return {number} Numerical aspect ratio or NaN if invalid.\n */\nexport function evalAspectRatio( value ) {\n\tconst [ width, height = 1 ] = value.split( '/' ).map( Number );\n\tconst aspectRatio = width / height;\n\treturn aspectRatio === Infinity || aspectRatio === 0 ? NaN : aspectRatio;\n}\n\nexport function removeNewTabRel( currentRel ) {\n\tlet newRel = currentRel;\n\n\tif ( currentRel !== undefined && newRel ) {\n\t\tNEW_TAB_REL.forEach( ( relVal ) => {\n\t\t\tconst regExp = new RegExp( '\\\\b' + relVal + '\\\\b', 'gi' );\n\t\t\tnewRel = newRel.replace( regExp, '' );\n\t\t} );\n\n\t\t// Only trim if NEW_TAB_REL values was replaced.\n\t\tif ( newRel !== currentRel ) {\n\t\t\tnewRel = newRel.trim();\n\t\t}\n\n\t\tif ( ! newRel ) {\n\t\t\tnewRel = undefined;\n\t\t}\n\t}\n\n\treturn newRel;\n}\n\n/**\n * Helper to get the link target settings to be stored.\n *\n * @param {boolean} value The new link target value.\n * @param {Object} attributes Block attributes.\n * @param {Object} attributes.rel Image block's rel attribute.\n *\n * @return {Object} Updated link target settings.\n */\nexport function getUpdatedLinkTargetSettings( value, { rel } ) {\n\tconst linkTarget = value ? '_blank' : undefined;\n\n\tlet updatedRel;\n\tif ( ! linkTarget && ! rel ) {\n\t\tupdatedRel = undefined;\n\t} else {\n\t\tupdatedRel = removeNewTabRel( rel );\n\t}\n\n\treturn {\n\t\tlinkTarget,\n\t\trel: updatedRel,\n\t};\n}\n\n/**\n * Determines new Image block attributes size selection.\n *\n * @param {Object} image Media file object for gallery image.\n * @param {string} size Selected size slug to apply.\n */\nexport function getImageSizeAttributes( image, size ) {\n\tconst url = image?.media_details?.sizes?.[ size ]?.source_url;\n\n\tif ( url ) {\n\t\treturn { url, width: undefined, height: undefined, sizeSlug: size };\n\t}\n\n\treturn {};\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,QAAQ,aAAa;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAAEC,KAAK,EAAG;EACxC,MAAM,CAAEC,KAAK,EAAEC,MAAM,GAAG,CAAC,CAAE,GAAGF,KAAK,CAACG,KAAK,CAAE,GAAI,CAAC,CAACC,GAAG,CAAEC,MAAO,CAAC;EAC9D,MAAMC,WAAW,GAAGL,KAAK,GAAGC,MAAM;EAClC,OAAOI,WAAW,KAAKC,QAAQ,IAAID,WAAW,KAAK,CAAC,GAAGE,GAAG,GAAGF,WAAW;AACzE;AAEA,OAAO,SAASG,eAAeA,CAAEC,UAAU,EAAG;EAC7C,IAAIC,MAAM,GAAGD,UAAU;EAEvB,IAAKA,UAAU,KAAKE,SAAS,IAAID,MAAM,EAAG;IACzCb,WAAW,CAACe,OAAO,CAAIC,MAAM,IAAM;MAClC,MAAMC,MAAM,GAAG,IAAIC,MAAM,CAAE,KAAK,GAAGF,MAAM,GAAG,KAAK,EAAE,IAAK,CAAC;MACzDH,MAAM,GAAGA,MAAM,CAACM,OAAO,CAAEF,MAAM,EAAE,EAAG,CAAC;IACtC,CAAE,CAAC;;IAEH;IACA,IAAKJ,MAAM,KAAKD,UAAU,EAAG;MAC5BC,MAAM,GAAGA,MAAM,CAACO,IAAI,CAAC,CAAC;IACvB;IAEA,IAAK,CAAEP,MAAM,EAAG;MACfA,MAAM,GAAGC,SAAS;IACnB;EACD;EAEA,OAAOD,MAAM;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASQ,4BAA4BA,CAAEnB,KAAK,EAAE;EAAEoB;AAAI,CAAC,EAAG;EAC9D,MAAMC,UAAU,GAAGrB,KAAK,GAAG,QAAQ,GAAGY,SAAS;EAE/C,IAAIU,UAAU;EACd,IAAK,CAAED,UAAU,IAAI,CAAED,GAAG,EAAG;IAC5BE,UAAU,GAAGV,SAAS;EACvB,CAAC,MAAM;IACNU,UAAU,GAAGb,eAAe,CAAEW,GAAI,CAAC;EACpC;EAEA,OAAO;IACNC,UAAU;IACVD,GAAG,EAAEE;EACN,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAAEC,KAAK,EAAEC,IAAI,EAAG;EACrD,MAAMC,GAAG,GAAGF,KAAK,EAAEG,aAAa,EAAEC,KAAK,GAAIH,IAAI,CAAE,EAAEI,UAAU;EAE7D,IAAKH,GAAG,EAAG;IACV,OAAO;MAAEA,GAAG;MAAEzB,KAAK,EAAEW,SAAS;MAAEV,MAAM,EAAEU,SAAS;MAAEkB,QAAQ,EAAEL;IAAK,CAAC;EACpE;EAEA,OAAO,CAAC,CAAC;AACV","ignoreList":[]}
1
+ {"version":3,"names":["NEW_TAB_REL","ALLOWED_MEDIA_TYPES","evalAspectRatio","value","width","height","split","map","Number","aspectRatio","Infinity","NaN","removeNewTabRel","currentRel","newRel","undefined","forEach","relVal","regExp","RegExp","replace","trim","getUpdatedLinkTargetSettings","rel","linkTarget","updatedRel","getImageSizeAttributes","image","size","url","media_details","sizes","source_url","sizeSlug","isValidFileType","file","some","mediaType","type","indexOf"],"sources":["@wordpress/block-library/src/image/utils.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { NEW_TAB_REL, ALLOWED_MEDIA_TYPES } from './constants';\n\n/**\n * Evaluates a CSS aspect-ratio property value as a number.\n *\n * Degenerate or invalid ratios behave as 'auto'. And 'auto' ratios return NaN.\n *\n * @see https://drafts.csswg.org/css-sizing-4/#aspect-ratio\n *\n * @param {string} value CSS aspect-ratio property value.\n * @return {number} Numerical aspect ratio or NaN if invalid.\n */\nexport function evalAspectRatio( value ) {\n\tconst [ width, height = 1 ] = value.split( '/' ).map( Number );\n\tconst aspectRatio = width / height;\n\treturn aspectRatio === Infinity || aspectRatio === 0 ? NaN : aspectRatio;\n}\n\nexport function removeNewTabRel( currentRel ) {\n\tlet newRel = currentRel;\n\n\tif ( currentRel !== undefined && newRel ) {\n\t\tNEW_TAB_REL.forEach( ( relVal ) => {\n\t\t\tconst regExp = new RegExp( '\\\\b' + relVal + '\\\\b', 'gi' );\n\t\t\tnewRel = newRel.replace( regExp, '' );\n\t\t} );\n\n\t\t// Only trim if NEW_TAB_REL values was replaced.\n\t\tif ( newRel !== currentRel ) {\n\t\t\tnewRel = newRel.trim();\n\t\t}\n\n\t\tif ( ! newRel ) {\n\t\t\tnewRel = undefined;\n\t\t}\n\t}\n\n\treturn newRel;\n}\n\n/**\n * Helper to get the link target settings to be stored.\n *\n * @param {boolean} value The new link target value.\n * @param {Object} attributes Block attributes.\n * @param {Object} attributes.rel Image block's rel attribute.\n *\n * @return {Object} Updated link target settings.\n */\nexport function getUpdatedLinkTargetSettings( value, { rel } ) {\n\tconst linkTarget = value ? '_blank' : undefined;\n\n\tlet updatedRel;\n\tif ( ! linkTarget && ! rel ) {\n\t\tupdatedRel = undefined;\n\t} else {\n\t\tupdatedRel = removeNewTabRel( rel );\n\t}\n\n\treturn {\n\t\tlinkTarget,\n\t\trel: updatedRel,\n\t};\n}\n\n/**\n * Determines new Image block attributes size selection.\n *\n * @param {Object} image Media file object for gallery image.\n * @param {string} size Selected size slug to apply.\n */\nexport function getImageSizeAttributes( image, size ) {\n\tconst url = image?.media_details?.sizes?.[ size ]?.source_url;\n\n\tif ( url ) {\n\t\treturn { url, width: undefined, height: undefined, sizeSlug: size };\n\t}\n\n\treturn {};\n}\n\n/**\n * Checks if the file has a valid file type.\n *\n * @param {File} file - The file to check.\n * @return {boolean} - Returns true if the file has a valid file type, otherwise false.\n */\nexport function isValidFileType( file ) {\n\treturn ALLOWED_MEDIA_TYPES.some(\n\t\t( mediaType ) => file.type.indexOf( mediaType ) === 0\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,mBAAmB,QAAQ,aAAa;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAAEC,KAAK,EAAG;EACxC,MAAM,CAAEC,KAAK,EAAEC,MAAM,GAAG,CAAC,CAAE,GAAGF,KAAK,CAACG,KAAK,CAAE,GAAI,CAAC,CAACC,GAAG,CAAEC,MAAO,CAAC;EAC9D,MAAMC,WAAW,GAAGL,KAAK,GAAGC,MAAM;EAClC,OAAOI,WAAW,KAAKC,QAAQ,IAAID,WAAW,KAAK,CAAC,GAAGE,GAAG,GAAGF,WAAW;AACzE;AAEA,OAAO,SAASG,eAAeA,CAAEC,UAAU,EAAG;EAC7C,IAAIC,MAAM,GAAGD,UAAU;EAEvB,IAAKA,UAAU,KAAKE,SAAS,IAAID,MAAM,EAAG;IACzCd,WAAW,CAACgB,OAAO,CAAIC,MAAM,IAAM;MAClC,MAAMC,MAAM,GAAG,IAAIC,MAAM,CAAE,KAAK,GAAGF,MAAM,GAAG,KAAK,EAAE,IAAK,CAAC;MACzDH,MAAM,GAAGA,MAAM,CAACM,OAAO,CAAEF,MAAM,EAAE,EAAG,CAAC;IACtC,CAAE,CAAC;;IAEH;IACA,IAAKJ,MAAM,KAAKD,UAAU,EAAG;MAC5BC,MAAM,GAAGA,MAAM,CAACO,IAAI,CAAC,CAAC;IACvB;IAEA,IAAK,CAAEP,MAAM,EAAG;MACfA,MAAM,GAAGC,SAAS;IACnB;EACD;EAEA,OAAOD,MAAM;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASQ,4BAA4BA,CAAEnB,KAAK,EAAE;EAAEoB;AAAI,CAAC,EAAG;EAC9D,MAAMC,UAAU,GAAGrB,KAAK,GAAG,QAAQ,GAAGY,SAAS;EAE/C,IAAIU,UAAU;EACd,IAAK,CAAED,UAAU,IAAI,CAAED,GAAG,EAAG;IAC5BE,UAAU,GAAGV,SAAS;EACvB,CAAC,MAAM;IACNU,UAAU,GAAGb,eAAe,CAAEW,GAAI,CAAC;EACpC;EAEA,OAAO;IACNC,UAAU;IACVD,GAAG,EAAEE;EACN,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAAEC,KAAK,EAAEC,IAAI,EAAG;EACrD,MAAMC,GAAG,GAAGF,KAAK,EAAEG,aAAa,EAAEC,KAAK,GAAIH,IAAI,CAAE,EAAEI,UAAU;EAE7D,IAAKH,GAAG,EAAG;IACV,OAAO;MAAEA,GAAG;MAAEzB,KAAK,EAAEW,SAAS;MAAEV,MAAM,EAAEU,SAAS;MAAEkB,QAAQ,EAAEL;IAAK,CAAC;EACpE;EAEA,OAAO,CAAC,CAAC;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASM,eAAeA,CAAEC,IAAI,EAAG;EACvC,OAAOlC,mBAAmB,CAACmC,IAAI,CAC5BC,SAAS,IAAMF,IAAI,CAACG,IAAI,CAACC,OAAO,CAAEF,SAAU,CAAC,KAAK,CACrD,CAAC;AACF","ignoreList":[]}
@@ -182,7 +182,7 @@ export default function LatestPostsEdit({
182
182
  })
183
183
  }), displayPostContent && /*#__PURE__*/_jsx(RadioControl, {
184
184
  className: "wp-block-latest-posts__post-content-radio",
185
- label: __('Show:'),
185
+ label: __('Show'),
186
186
  selected: displayPostContentRadio,
187
187
  options: [{
188
188
  label: __('Excerpt'),
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","PanelBody","Placeholder","QueryControls","RadioControl","RangeControl","Spinner","ToggleControl","ToolbarGroup","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","__","_x","sprintf","dateI18n","format","getSettings","InspectorControls","BlockControls","__experimentalImageSizeControl","ImageSizeControl","useBlockProps","store","blockEditorStore","useSelect","useDispatch","pin","list","grid","alignNone","positionLeft","positionCenter","positionRight","coreStore","noticeStore","useInstanceId","createInterpolateElement","MIN_EXCERPT_LENGTH","MAX_EXCERPT_LENGTH","MAX_POSTS_COLUMNS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","CATEGORIES_LIST_QUERY","per_page","context","USERS_LIST_QUERY","has_published_posts","getFeaturedImageDetails","post","size","_image$media_details$","image","_embedded","url","media_details","sizes","source_url","alt","alt_text","LatestPostsEdit","attributes","setAttributes","_categoriesList$reduc","instanceId","postsToShow","order","orderBy","categories","selectedAuthor","displayFeaturedImage","displayPostContentRadio","displayPostContent","displayPostDate","displayAuthor","postLayout","columns","excerptLength","featuredImageAlign","featuredImageSizeSlug","featuredImageSizeWidth","featuredImageSizeHeight","addLinkToFeaturedImage","imageSizes","latestPosts","defaultImageWidth","defaultImageHeight","categoriesList","authorList","select","_settings$imageDimens","_settings$imageDimens2","getEntityRecords","getUsers","settings","catIds","length","map","cat","id","latestPostsQuery","Object","fromEntries","entries","author","orderby","_embed","filter","value","imageDimensions","width","height","createWarningNotice","removeNotice","noticeId","showRedirectionPreventedNotice","event","preventDefault","type","imageSizeOptions","slug","name","label","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","includes","imageAlignmentOptions","icon","hasPosts","inspectorControls","children","title","__nextHasNoMarginBottom","checked","onChange","className","selected","options","__next40pxDefaultSize","min","max","newAttrs","hasOwnProperty","imageWidth","imageHeight","imageSizeHelp","onChangeImage","undefined","numberOfItems","onOrderChange","onOrderByChange","onNumberOfItemsChange","onCategoryChange","selectedCategories","onAuthorChange","Number","selectedAuthorId","Math","required","blockProps","Array","isArray","displayPosts","slice","layoutControls","onClick","isActive","dateFormat","formats","date","controls","titleTrimmed","rendered","trim","excerpt","currentAuthor","find","excerptElement","document","createElement","innerHTML","textContent","innerText","imageSourceUrl","featuredImageAlt","imageClasses","renderFeaturedImage","featuredImage","src","style","maxWidth","maxHeight","needsReadMore","split","raw","postExcerpt","join","a","href","link","rel","span","dangerouslySetInnerHTML","__html","date_gmt","dateTime","content"],"sources":["@wordpress/block-library/src/latest-posts/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tPlaceholder,\n\tQueryControls,\n\tRadioControl,\n\tRangeControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarGroup,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { dateI18n, format, getSettings } from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tpin,\n\tlist,\n\tgrid,\n\talignNone,\n\tpositionLeft,\n\tpositionCenter,\n\tpositionRight,\n} from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { useInstanceId } from '@wordpress/compose';\nimport { createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMIN_EXCERPT_LENGTH,\n\tMAX_EXCERPT_LENGTH,\n\tMAX_POSTS_COLUMNS,\n} from './constants';\n\n/**\n * Module Constants\n */\nconst CATEGORIES_LIST_QUERY = {\n\tper_page: -1,\n\tcontext: 'view',\n};\nconst USERS_LIST_QUERY = {\n\tper_page: -1,\n\thas_published_posts: [ 'post' ],\n\tcontext: 'view',\n};\n\nfunction getFeaturedImageDetails( post, size ) {\n\tconst image = post._embedded?.[ 'wp:featuredmedia' ]?.[ '0' ];\n\n\treturn {\n\t\turl:\n\t\t\timage?.media_details?.sizes?.[ size ]?.source_url ??\n\t\t\timage?.source_url,\n\t\talt: image?.alt_text,\n\t};\n}\n\nexport default function LatestPostsEdit( { attributes, setAttributes } ) {\n\tconst instanceId = useInstanceId( LatestPostsEdit );\n\tconst {\n\t\tpostsToShow,\n\t\torder,\n\t\torderBy,\n\t\tcategories,\n\t\tselectedAuthor,\n\t\tdisplayFeaturedImage,\n\t\tdisplayPostContentRadio,\n\t\tdisplayPostContent,\n\t\tdisplayPostDate,\n\t\tdisplayAuthor,\n\t\tpostLayout,\n\t\tcolumns,\n\t\texcerptLength,\n\t\tfeaturedImageAlign,\n\t\tfeaturedImageSizeSlug,\n\t\tfeaturedImageSizeWidth,\n\t\tfeaturedImageSizeHeight,\n\t\taddLinkToFeaturedImage,\n\t} = attributes;\n\tconst {\n\t\timageSizes,\n\t\tlatestPosts,\n\t\tdefaultImageWidth,\n\t\tdefaultImageHeight,\n\t\tcategoriesList,\n\t\tauthorList,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getUsers } = select( coreStore );\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\t\tconst catIds =\n\t\t\t\tcategories && categories.length > 0\n\t\t\t\t\t? categories.map( ( cat ) => cat.id )\n\t\t\t\t\t: [];\n\t\t\tconst latestPostsQuery = Object.fromEntries(\n\t\t\t\tObject.entries( {\n\t\t\t\t\tcategories: catIds,\n\t\t\t\t\tauthor: selectedAuthor,\n\t\t\t\t\torder,\n\t\t\t\t\torderby: orderBy,\n\t\t\t\t\tper_page: postsToShow,\n\t\t\t\t\t_embed: 'wp:featuredmedia',\n\t\t\t\t} ).filter( ( [ , value ] ) => typeof value !== 'undefined' )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tdefaultImageWidth:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.width ?? 0,\n\t\t\t\tdefaultImageHeight:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.height ?? 0,\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tlatestPosts: getEntityRecords(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'post',\n\t\t\t\t\tlatestPostsQuery\n\t\t\t\t),\n\t\t\t\tcategoriesList: getEntityRecords(\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\t'category',\n\t\t\t\t\tCATEGORIES_LIST_QUERY\n\t\t\t\t),\n\t\t\t\tauthorList: getUsers( USERS_LIST_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tfeaturedImageSizeSlug,\n\t\t\tpostsToShow,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tcategories,\n\t\t\tselectedAuthor,\n\t\t]\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\n\tconst { createWarningNotice, removeNotice } = useDispatch( noticeStore );\n\tlet noticeId;\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\t// Remove previous warning if any, to show one at a time per block.\n\t\tremoveNotice( noticeId );\n\t\tnoticeId = `block-library/core/latest-posts/redirection-prevented/${ instanceId }`;\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: noticeId,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => slug !== 'full' )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\tconst categorySuggestions =\n\t\tcategoriesList?.reduce(\n\t\t\t( accumulator, category ) => ( {\n\t\t\t\t...accumulator,\n\t\t\t\t[ category.name ]: category,\n\t\t\t} ),\n\t\t\t{}\n\t\t) ?? {};\n\tconst selectCategories = ( tokens ) => {\n\t\tconst hasNoSuggestion = tokens.some(\n\t\t\t( token ) =>\n\t\t\t\ttypeof token === 'string' && ! categorySuggestions[ token ]\n\t\t);\n\t\tif ( hasNoSuggestion ) {\n\t\t\treturn;\n\t\t}\n\t\t// Categories that are already will be objects, while new additions will be strings (the name).\n\t\t// allCategories nomalizes the array so that they are all objects.\n\t\tconst allCategories = tokens.map( ( token ) => {\n\t\t\treturn typeof token === 'string'\n\t\t\t\t? categorySuggestions[ token ]\n\t\t\t\t: token;\n\t\t} );\n\t\t// We do nothing if the category is not selected\n\t\t// from suggestions.\n\t\tif ( allCategories.includes( null ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tsetAttributes( { categories: allCategories } );\n\t};\n\n\tconst imageAlignmentOptions = [\n\t\t{\n\t\t\tvalue: 'none',\n\t\t\ticon: alignNone,\n\t\t\tlabel: __( 'None' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'left',\n\t\t\ticon: positionLeft,\n\t\t\tlabel: __( 'Left' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'center',\n\t\t\ticon: positionCenter,\n\t\t\tlabel: __( 'Center' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'right',\n\t\t\ticon: positionRight,\n\t\t\tlabel: __( 'Right' ),\n\t\t},\n\t];\n\n\tconst hasPosts = !! latestPosts?.length;\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Post content' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayPostContent: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t<RadioControl\n\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-content-radio\"\n\t\t\t\t\t\tlabel={ __( 'Show:' ) }\n\t\t\t\t\t\tselected={ displayPostContentRadio }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ label: __( 'Excerpt' ), value: 'excerpt' },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Full post' ),\n\t\t\t\t\t\t\t\tvalue: 'full_post',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayPostContentRadio: value,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ displayPostContent &&\n\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ MIN_EXCERPT_LENGTH }\n\t\t\t\t\t\t\tmax={ MAX_EXCERPT_LENGTH }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Post meta' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayAuthor: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\tchecked={ displayPostDate }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayPostDate: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Featured image' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display featured image' ) }\n\t\t\t\t\tchecked={ displayFeaturedImage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayFeaturedImage: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayFeaturedImage && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ImageSizeControl\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tconst newAttrs = {};\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'width' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeWidth =\n\t\t\t\t\t\t\t\t\t\tvalue.width;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'height' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeHeight =\n\t\t\t\t\t\t\t\t\t\tvalue.height;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetAttributes( newAttrs );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tslug={ featuredImageSizeSlug }\n\t\t\t\t\t\t\twidth={ featuredImageSizeWidth }\n\t\t\t\t\t\t\theight={ featuredImageSizeHeight }\n\t\t\t\t\t\t\timageWidth={ defaultImageWidth }\n\t\t\t\t\t\t\timageHeight={ defaultImageHeight }\n\t\t\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\t\t\timageSizeHelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source image.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChangeImage={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeSlug: value,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeWidth: undefined,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeHeight: undefined,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\tclassName=\"editor-latest-posts-image-alignment-control\"\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Image alignment' ) }\n\t\t\t\t\t\t\tvalue={ featuredImageAlign || 'none' }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageAlign:\n\t\t\t\t\t\t\t\t\t\tvalue !== 'none' ? value : undefined,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ imageAlignmentOptions.map(\n\t\t\t\t\t\t\t\t( { value, icon, label } ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Add link to featured image' ) }\n\t\t\t\t\t\t\tchecked={ addLinkToFeaturedImage }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\taddLinkToFeaturedImage: value,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Sorting and filtering' ) }>\n\t\t\t\t<QueryControls\n\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\tnumberOfItems={ postsToShow }\n\t\t\t\t\tonOrderChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { order: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonOrderByChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { orderBy: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonNumberOfItemsChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { postsToShow: value } )\n\t\t\t\t\t}\n\t\t\t\t\tcategorySuggestions={ categorySuggestions }\n\t\t\t\t\tonCategoryChange={ selectCategories }\n\t\t\t\t\tselectedCategories={ categories }\n\t\t\t\t\tonAuthorChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tselectedAuthor:\n\t\t\t\t\t\t\t\t'' !== value ? Number( value ) : undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tauthorList={ authorList ?? [] }\n\t\t\t\t\tselectedAuthorId={ selectedAuthor }\n\t\t\t\t/>\n\n\t\t\t\t{ postLayout === 'grid' && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { columns: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t! hasPosts\n\t\t\t\t\t\t\t\t? MAX_POSTS_COLUMNS\n\t\t\t\t\t\t\t\t: Math.min(\n\t\t\t\t\t\t\t\t\t\tMAX_POSTS_COLUMNS,\n\t\t\t\t\t\t\t\t\t\tlatestPosts.length\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t'wp-block-latest-posts__list': true,\n\t\t\t'is-grid': postLayout === 'grid',\n\t\t\t'has-dates': displayPostDate,\n\t\t\t'has-author': displayAuthor,\n\t\t\t[ `columns-${ columns }` ]: postLayout === 'grid',\n\t\t} ),\n\t} );\n\n\tif ( ! hasPosts ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ inspectorControls }\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Latest Posts' ) }>\n\t\t\t\t\t{ ! Array.isArray( latestPosts ) ? (\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t__( 'No posts found.' )\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Removing posts from display should be instant.\n\tconst displayPosts =\n\t\tlatestPosts.length > postsToShow\n\t\t\t? latestPosts.slice( 0, postsToShow )\n\t\t\t: latestPosts;\n\n\tconst layoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: _x( 'List view', 'Latest posts block display setting' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'list' } ),\n\t\t\tisActive: postLayout === 'list',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: _x( 'Grid view', 'Latest posts block display setting' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'grid' } ),\n\t\t\tisActive: postLayout === 'grid',\n\t\t},\n\t];\n\n\tconst dateFormat = getSettings().formats.date;\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ layoutControls } />\n\t\t\t</BlockControls>\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ displayPosts.map( ( post ) => {\n\t\t\t\t\tconst titleTrimmed = post.title.rendered.trim();\n\t\t\t\t\tlet excerpt = post.excerpt.rendered;\n\t\t\t\t\tconst currentAuthor = authorList?.find(\n\t\t\t\t\t\t( author ) => author.id === post.author\n\t\t\t\t\t);\n\n\t\t\t\t\tconst excerptElement = document.createElement( 'div' );\n\t\t\t\t\texcerptElement.innerHTML = excerpt;\n\n\t\t\t\t\texcerpt =\n\t\t\t\t\t\texcerptElement.textContent ||\n\t\t\t\t\t\texcerptElement.innerText ||\n\t\t\t\t\t\t'';\n\n\t\t\t\t\tconst { url: imageSourceUrl, alt: featuredImageAlt } =\n\t\t\t\t\t\tgetFeaturedImageDetails( post, featuredImageSizeSlug );\n\t\t\t\t\tconst imageClasses = clsx( {\n\t\t\t\t\t\t'wp-block-latest-posts__featured-image': true,\n\t\t\t\t\t\t[ `align${ featuredImageAlign }` ]:\n\t\t\t\t\t\t\t!! featuredImageAlign,\n\t\t\t\t\t} );\n\t\t\t\t\tconst renderFeaturedImage =\n\t\t\t\t\t\tdisplayFeaturedImage && imageSourceUrl;\n\t\t\t\t\tconst featuredImage = renderFeaturedImage && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ imageSourceUrl }\n\t\t\t\t\t\t\talt={ featuredImageAlt }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmaxWidth: featuredImageSizeWidth,\n\t\t\t\t\t\t\t\tmaxHeight: featuredImageSizeHeight,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\tconst needsReadMore =\n\t\t\t\t\t\texcerptLength < excerpt.trim().split( ' ' ).length &&\n\t\t\t\t\t\tpost.excerpt.raw === '';\n\n\t\t\t\t\tconst postExcerpt = needsReadMore ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ excerpt\n\t\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t\t.split( ' ', excerptLength )\n\t\t\t\t\t\t\t\t.join( ' ' ) }\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t/* translators: 1: Hidden accessibility text: Post title */\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'… <a>Read more<span>: %1$s</span></a>'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitleTrimmed || __( '(no title)' )\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__read-more\"\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tspan: (\n\t\t\t\t\t\t\t\t\t\t<span className=\"screen-reader-text\" />\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\texcerpt\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={ post.id }>\n\t\t\t\t\t\t\t{ renderFeaturedImage && (\n\t\t\t\t\t\t\t\t<div className={ imageClasses }>\n\t\t\t\t\t\t\t\t\t{ addLinkToFeaturedImage ? (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ featuredImage }\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tfeaturedImage\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-title\"\n\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={\n\t\t\t\t\t\t\t\t\t!! titleTrimmed\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t__html: titleTrimmed,\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ! titleTrimmed ? __( '(no title)' ) : null }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t{ displayAuthor && currentAuthor && (\n\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-author\">\n\t\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: byline. %s: current 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","__","_x","sprintf","dateI18n","format","getSettings","InspectorControls","BlockControls","__experimentalImageSizeControl","ImageSizeControl","useBlockProps","store","blockEditorStore","useSelect","useDispatch","pin","list","grid","alignNone","positionLeft","positionCenter","positionRight","coreStore","noticeStore","useInstanceId","createInterpolateElement","MIN_EXCERPT_LENGTH","MAX_EXCERPT_LENGTH","MAX_POSTS_COLUMNS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","CATEGORIES_LIST_QUERY","per_page","context","USERS_LIST_QUERY","has_published_posts","getFeaturedImageDetails","post","size","_image$media_details$","image","_embedded","url","media_details","sizes","source_url","alt","alt_text","LatestPostsEdit","attributes","setAttributes","_categoriesList$reduc","instanceId","postsToShow","order","orderBy","categories","selectedAuthor","displayFeaturedImage","displayPostContentRadio","displayPostContent","displayPostDate","displayAuthor","postLayout","columns","excerptLength","featuredImageAlign","featuredImageSizeSlug","featuredImageSizeWidth","featuredImageSizeHeight","addLinkToFeaturedImage","imageSizes","latestPosts","defaultImageWidth","defaultImageHeight","categoriesList","authorList","select","_settings$imageDimens","_settings$imageDimens2","getEntityRecords","getUsers","settings","catIds","length","map","cat","id","latestPostsQuery","Object","fromEntries","entries","author","orderby","_embed","filter","value","imageDimensions","width","height","createWarningNotice","removeNotice","noticeId","showRedirectionPreventedNotice","event","preventDefault","type","imageSizeOptions","slug","name","label","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","includes","imageAlignmentOptions","icon","hasPosts","inspectorControls","children","title","__nextHasNoMarginBottom","checked","onChange","className","selected","options","__next40pxDefaultSize","min","max","newAttrs","hasOwnProperty","imageWidth","imageHeight","imageSizeHelp","onChangeImage","undefined","numberOfItems","onOrderChange","onOrderByChange","onNumberOfItemsChange","onCategoryChange","selectedCategories","onAuthorChange","Number","selectedAuthorId","Math","required","blockProps","Array","isArray","displayPosts","slice","layoutControls","onClick","isActive","dateFormat","formats","date","controls","titleTrimmed","rendered","trim","excerpt","currentAuthor","find","excerptElement","document","createElement","innerHTML","textContent","innerText","imageSourceUrl","featuredImageAlt","imageClasses","renderFeaturedImage","featuredImage","src","style","maxWidth","maxHeight","needsReadMore","split","raw","postExcerpt","join","a","href","link","rel","span","dangerouslySetInnerHTML","__html","date_gmt","dateTime","content"],"sources":["@wordpress/block-library/src/latest-posts/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tPlaceholder,\n\tQueryControls,\n\tRadioControl,\n\tRangeControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarGroup,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { dateI18n, format, getSettings } from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tpin,\n\tlist,\n\tgrid,\n\talignNone,\n\tpositionLeft,\n\tpositionCenter,\n\tpositionRight,\n} from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { useInstanceId } from '@wordpress/compose';\nimport { createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMIN_EXCERPT_LENGTH,\n\tMAX_EXCERPT_LENGTH,\n\tMAX_POSTS_COLUMNS,\n} from './constants';\n\n/**\n * Module Constants\n */\nconst CATEGORIES_LIST_QUERY = {\n\tper_page: -1,\n\tcontext: 'view',\n};\nconst USERS_LIST_QUERY = {\n\tper_page: -1,\n\thas_published_posts: [ 'post' ],\n\tcontext: 'view',\n};\n\nfunction getFeaturedImageDetails( post, size ) {\n\tconst image = post._embedded?.[ 'wp:featuredmedia' ]?.[ '0' ];\n\n\treturn {\n\t\turl:\n\t\t\timage?.media_details?.sizes?.[ size ]?.source_url ??\n\t\t\timage?.source_url,\n\t\talt: image?.alt_text,\n\t};\n}\n\nexport default function LatestPostsEdit( { attributes, setAttributes } ) {\n\tconst instanceId = useInstanceId( LatestPostsEdit );\n\tconst {\n\t\tpostsToShow,\n\t\torder,\n\t\torderBy,\n\t\tcategories,\n\t\tselectedAuthor,\n\t\tdisplayFeaturedImage,\n\t\tdisplayPostContentRadio,\n\t\tdisplayPostContent,\n\t\tdisplayPostDate,\n\t\tdisplayAuthor,\n\t\tpostLayout,\n\t\tcolumns,\n\t\texcerptLength,\n\t\tfeaturedImageAlign,\n\t\tfeaturedImageSizeSlug,\n\t\tfeaturedImageSizeWidth,\n\t\tfeaturedImageSizeHeight,\n\t\taddLinkToFeaturedImage,\n\t} = attributes;\n\tconst {\n\t\timageSizes,\n\t\tlatestPosts,\n\t\tdefaultImageWidth,\n\t\tdefaultImageHeight,\n\t\tcategoriesList,\n\t\tauthorList,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getUsers } = select( coreStore );\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\t\tconst catIds =\n\t\t\t\tcategories && categories.length > 0\n\t\t\t\t\t? categories.map( ( cat ) => cat.id )\n\t\t\t\t\t: [];\n\t\t\tconst latestPostsQuery = Object.fromEntries(\n\t\t\t\tObject.entries( {\n\t\t\t\t\tcategories: catIds,\n\t\t\t\t\tauthor: selectedAuthor,\n\t\t\t\t\torder,\n\t\t\t\t\torderby: orderBy,\n\t\t\t\t\tper_page: postsToShow,\n\t\t\t\t\t_embed: 'wp:featuredmedia',\n\t\t\t\t} ).filter( ( [ , value ] ) => typeof value !== 'undefined' )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tdefaultImageWidth:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.width ?? 0,\n\t\t\t\tdefaultImageHeight:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.height ?? 0,\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tlatestPosts: getEntityRecords(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'post',\n\t\t\t\t\tlatestPostsQuery\n\t\t\t\t),\n\t\t\t\tcategoriesList: getEntityRecords(\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\t'category',\n\t\t\t\t\tCATEGORIES_LIST_QUERY\n\t\t\t\t),\n\t\t\t\tauthorList: getUsers( USERS_LIST_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tfeaturedImageSizeSlug,\n\t\t\tpostsToShow,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tcategories,\n\t\t\tselectedAuthor,\n\t\t]\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\n\tconst { createWarningNotice, removeNotice } = useDispatch( noticeStore );\n\tlet noticeId;\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\t// Remove previous warning if any, to show one at a time per block.\n\t\tremoveNotice( noticeId );\n\t\tnoticeId = `block-library/core/latest-posts/redirection-prevented/${ instanceId }`;\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: noticeId,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => slug !== 'full' )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\tconst categorySuggestions =\n\t\tcategoriesList?.reduce(\n\t\t\t( accumulator, category ) => ( {\n\t\t\t\t...accumulator,\n\t\t\t\t[ category.name ]: category,\n\t\t\t} ),\n\t\t\t{}\n\t\t) ?? {};\n\tconst selectCategories = ( tokens ) => {\n\t\tconst hasNoSuggestion = tokens.some(\n\t\t\t( token ) =>\n\t\t\t\ttypeof token === 'string' && ! categorySuggestions[ token ]\n\t\t);\n\t\tif ( hasNoSuggestion ) {\n\t\t\treturn;\n\t\t}\n\t\t// Categories that are already will be objects, while new additions will be strings (the name).\n\t\t// allCategories nomalizes the array so that they are all objects.\n\t\tconst allCategories = tokens.map( ( token ) => {\n\t\t\treturn typeof token === 'string'\n\t\t\t\t? categorySuggestions[ token ]\n\t\t\t\t: token;\n\t\t} );\n\t\t// We do nothing if the category is not selected\n\t\t// from suggestions.\n\t\tif ( allCategories.includes( null ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tsetAttributes( { categories: allCategories } );\n\t};\n\n\tconst imageAlignmentOptions = [\n\t\t{\n\t\t\tvalue: 'none',\n\t\t\ticon: alignNone,\n\t\t\tlabel: __( 'None' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'left',\n\t\t\ticon: positionLeft,\n\t\t\tlabel: __( 'Left' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'center',\n\t\t\ticon: positionCenter,\n\t\t\tlabel: __( 'Center' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'right',\n\t\t\ticon: positionRight,\n\t\t\tlabel: __( 'Right' ),\n\t\t},\n\t];\n\n\tconst hasPosts = !! latestPosts?.length;\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Post content' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayPostContent: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t<RadioControl\n\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-content-radio\"\n\t\t\t\t\t\tlabel={ __( 'Show' ) }\n\t\t\t\t\t\tselected={ displayPostContentRadio }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ label: __( 'Excerpt' ), value: 'excerpt' },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Full post' ),\n\t\t\t\t\t\t\t\tvalue: 'full_post',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayPostContentRadio: value,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ displayPostContent &&\n\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ MIN_EXCERPT_LENGTH }\n\t\t\t\t\t\t\tmax={ MAX_EXCERPT_LENGTH }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Post meta' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayAuthor: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\tchecked={ displayPostDate }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayPostDate: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Featured image' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display featured image' ) }\n\t\t\t\t\tchecked={ displayFeaturedImage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayFeaturedImage: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayFeaturedImage && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ImageSizeControl\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tconst newAttrs = {};\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'width' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeWidth =\n\t\t\t\t\t\t\t\t\t\tvalue.width;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'height' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeHeight =\n\t\t\t\t\t\t\t\t\t\tvalue.height;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetAttributes( newAttrs );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tslug={ featuredImageSizeSlug }\n\t\t\t\t\t\t\twidth={ featuredImageSizeWidth }\n\t\t\t\t\t\t\theight={ featuredImageSizeHeight }\n\t\t\t\t\t\t\timageWidth={ defaultImageWidth }\n\t\t\t\t\t\t\timageHeight={ defaultImageHeight }\n\t\t\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\t\t\timageSizeHelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source image.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChangeImage={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeSlug: value,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeWidth: undefined,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeHeight: undefined,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\tclassName=\"editor-latest-posts-image-alignment-control\"\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Image alignment' ) }\n\t\t\t\t\t\t\tvalue={ featuredImageAlign || 'none' }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageAlign:\n\t\t\t\t\t\t\t\t\t\tvalue !== 'none' ? value : undefined,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ imageAlignmentOptions.map(\n\t\t\t\t\t\t\t\t( { value, icon, label } ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Add link to featured image' ) }\n\t\t\t\t\t\t\tchecked={ addLinkToFeaturedImage }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\taddLinkToFeaturedImage: value,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Sorting and filtering' ) }>\n\t\t\t\t<QueryControls\n\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\tnumberOfItems={ postsToShow }\n\t\t\t\t\tonOrderChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { order: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonOrderByChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { orderBy: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonNumberOfItemsChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { postsToShow: value } )\n\t\t\t\t\t}\n\t\t\t\t\tcategorySuggestions={ categorySuggestions }\n\t\t\t\t\tonCategoryChange={ selectCategories }\n\t\t\t\t\tselectedCategories={ categories }\n\t\t\t\t\tonAuthorChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tselectedAuthor:\n\t\t\t\t\t\t\t\t'' !== value ? Number( value ) : undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tauthorList={ authorList ?? [] }\n\t\t\t\t\tselectedAuthorId={ selectedAuthor }\n\t\t\t\t/>\n\n\t\t\t\t{ postLayout === 'grid' && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { columns: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t! hasPosts\n\t\t\t\t\t\t\t\t? MAX_POSTS_COLUMNS\n\t\t\t\t\t\t\t\t: Math.min(\n\t\t\t\t\t\t\t\t\t\tMAX_POSTS_COLUMNS,\n\t\t\t\t\t\t\t\t\t\tlatestPosts.length\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t'wp-block-latest-posts__list': true,\n\t\t\t'is-grid': postLayout === 'grid',\n\t\t\t'has-dates': displayPostDate,\n\t\t\t'has-author': displayAuthor,\n\t\t\t[ `columns-${ columns }` ]: postLayout === 'grid',\n\t\t} ),\n\t} );\n\n\tif ( ! hasPosts ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ inspectorControls }\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Latest Posts' ) }>\n\t\t\t\t\t{ ! Array.isArray( latestPosts ) ? (\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t__( 'No posts found.' )\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Removing posts from display should be instant.\n\tconst displayPosts =\n\t\tlatestPosts.length > postsToShow\n\t\t\t? latestPosts.slice( 0, postsToShow )\n\t\t\t: latestPosts;\n\n\tconst layoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: _x( 'List view', 'Latest posts block display setting' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'list' } ),\n\t\t\tisActive: postLayout === 'list',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: _x( 'Grid view', 'Latest posts block display setting' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'grid' } ),\n\t\t\tisActive: postLayout === 'grid',\n\t\t},\n\t];\n\n\tconst dateFormat = getSettings().formats.date;\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ layoutControls } />\n\t\t\t</BlockControls>\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ displayPosts.map( ( post ) => {\n\t\t\t\t\tconst titleTrimmed = post.title.rendered.trim();\n\t\t\t\t\tlet excerpt = post.excerpt.rendered;\n\t\t\t\t\tconst currentAuthor = authorList?.find(\n\t\t\t\t\t\t( author ) => author.id === post.author\n\t\t\t\t\t);\n\n\t\t\t\t\tconst excerptElement = document.createElement( 'div' );\n\t\t\t\t\texcerptElement.innerHTML = excerpt;\n\n\t\t\t\t\texcerpt =\n\t\t\t\t\t\texcerptElement.textContent ||\n\t\t\t\t\t\texcerptElement.innerText ||\n\t\t\t\t\t\t'';\n\n\t\t\t\t\tconst { url: imageSourceUrl, alt: featuredImageAlt } =\n\t\t\t\t\t\tgetFeaturedImageDetails( post, featuredImageSizeSlug );\n\t\t\t\t\tconst imageClasses = clsx( {\n\t\t\t\t\t\t'wp-block-latest-posts__featured-image': true,\n\t\t\t\t\t\t[ `align${ featuredImageAlign }` ]:\n\t\t\t\t\t\t\t!! featuredImageAlign,\n\t\t\t\t\t} );\n\t\t\t\t\tconst renderFeaturedImage =\n\t\t\t\t\t\tdisplayFeaturedImage && imageSourceUrl;\n\t\t\t\t\tconst featuredImage = renderFeaturedImage && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ imageSourceUrl }\n\t\t\t\t\t\t\talt={ featuredImageAlt }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmaxWidth: featuredImageSizeWidth,\n\t\t\t\t\t\t\t\tmaxHeight: featuredImageSizeHeight,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\tconst needsReadMore =\n\t\t\t\t\t\texcerptLength < excerpt.trim().split( ' ' ).length &&\n\t\t\t\t\t\tpost.excerpt.raw === '';\n\n\t\t\t\t\tconst postExcerpt = needsReadMore ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ excerpt\n\t\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t\t.split( ' ', excerptLength )\n\t\t\t\t\t\t\t\t.join( ' ' ) }\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t/* translators: 1: Hidden accessibility text: Post title */\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'… <a>Read more<span>: %1$s</span></a>'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitleTrimmed || __( '(no title)' )\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__read-more\"\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tspan: (\n\t\t\t\t\t\t\t\t\t\t<span className=\"screen-reader-text\" />\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\texcerpt\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={ post.id }>\n\t\t\t\t\t\t\t{ renderFeaturedImage && (\n\t\t\t\t\t\t\t\t<div className={ imageClasses }>\n\t\t\t\t\t\t\t\t\t{ addLinkToFeaturedImage ? (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ featuredImage }\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tfeaturedImage\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-title\"\n\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={\n\t\t\t\t\t\t\t\t\t!! titleTrimmed\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t__html: titleTrimmed,\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ! titleTrimmed ? __( '(no title)' ) : null }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t{ displayAuthor && currentAuthor && (\n\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-author\">\n\t\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: byline. %s: current 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":[]}
@@ -21,7 +21,7 @@ const v1ToV5ImageFillStyles = (url, focalPoint) => {
21
21
  backgroundPosition: focalPoint ? `${focalPoint.x * 100}% ${focalPoint.y * 100}%` : `50% 50%`
22
22
  } : {};
23
23
  };
24
- const v6ImageFillStyles = (url, focalPoint) => {
24
+ const v6ToV7ImageFillStyles = (url, focalPoint) => {
25
25
  return url ? {
26
26
  backgroundImage: `url(${url})`,
27
27
  backgroundPosition: focalPoint ? `${Math.round(focalPoint.x * 100)}% ${Math.round(focalPoint.y * 100)}%` : `50% 50%`
@@ -179,6 +179,19 @@ const v6Attributes = {
179
179
  __experimentalRole: 'content'
180
180
  }
181
181
  };
182
+ const v7Attributes = {
183
+ ...v6Attributes,
184
+ align: {
185
+ type: 'string',
186
+ // v7 changed the default for the `align` attribute.
187
+ default: 'none'
188
+ },
189
+ // New attribute.
190
+ useFeaturedImage: {
191
+ type: 'boolean',
192
+ default: false
193
+ }
194
+ };
182
195
  const v4ToV5Supports = {
183
196
  anchor: true,
184
197
  align: ['wide', 'full'],
@@ -216,6 +229,134 @@ const v6Supports = {
216
229
  }
217
230
  }
218
231
  };
232
+ const v7Supports = {
233
+ ...v6Supports,
234
+ __experimentalBorder: {
235
+ color: true,
236
+ radius: true,
237
+ style: true,
238
+ width: true,
239
+ __experimentalDefaultControls: {
240
+ color: true,
241
+ radius: true,
242
+ style: true,
243
+ width: true
244
+ }
245
+ },
246
+ color: {
247
+ gradients: true,
248
+ heading: true,
249
+ link: true,
250
+ __experimentalDefaultControls: {
251
+ background: true,
252
+ text: true
253
+ }
254
+ },
255
+ interactivity: {
256
+ clientNavigation: true
257
+ }
258
+ };
259
+
260
+ // Version with 'none' as the default alignment.
261
+ // See: https://github.com/WordPress/gutenberg/pull/64981
262
+ const v7 = {
263
+ attributes: v7Attributes,
264
+ supports: v7Supports,
265
+ usesContext: ['postId', 'postType'],
266
+ save({
267
+ attributes
268
+ }) {
269
+ const {
270
+ isStackedOnMobile,
271
+ mediaAlt,
272
+ mediaPosition,
273
+ mediaType,
274
+ mediaUrl,
275
+ mediaWidth,
276
+ mediaId,
277
+ verticalAlignment,
278
+ imageFill,
279
+ focalPoint,
280
+ linkClass,
281
+ href,
282
+ linkTarget,
283
+ rel
284
+ } = attributes;
285
+ const mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;
286
+ const newRel = !rel ? undefined : rel;
287
+ const imageClasses = clsx({
288
+ [`wp-image-${mediaId}`]: mediaId && mediaType === 'image',
289
+ [`size-${mediaSizeSlug}`]: mediaId && mediaType === 'image'
290
+ });
291
+ let image = mediaUrl ? /*#__PURE__*/_jsx("img", {
292
+ src: mediaUrl,
293
+ alt: mediaAlt,
294
+ className: imageClasses || null
295
+ }) : null;
296
+ if (href) {
297
+ image = /*#__PURE__*/_jsx("a", {
298
+ className: linkClass,
299
+ href: href,
300
+ target: linkTarget,
301
+ rel: newRel,
302
+ children: image
303
+ });
304
+ }
305
+ const mediaTypeRenders = {
306
+ image: () => image,
307
+ video: () => /*#__PURE__*/_jsx("video", {
308
+ controls: true,
309
+ src: mediaUrl
310
+ })
311
+ };
312
+ const className = clsx({
313
+ 'has-media-on-the-right': 'right' === mediaPosition,
314
+ 'is-stacked-on-mobile': isStackedOnMobile,
315
+ [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment,
316
+ 'is-image-fill': imageFill
317
+ });
318
+ const backgroundStyles = imageFill ? v6ToV7ImageFillStyles(mediaUrl, focalPoint) : {};
319
+ let gridTemplateColumns;
320
+ if (mediaWidth !== DEFAULT_MEDIA_WIDTH) {
321
+ gridTemplateColumns = 'right' === mediaPosition ? `auto ${mediaWidth}%` : `${mediaWidth}% auto`;
322
+ }
323
+ const style = {
324
+ gridTemplateColumns
325
+ };
326
+ if ('right' === mediaPosition) {
327
+ return /*#__PURE__*/_jsxs("div", {
328
+ ...useBlockProps.save({
329
+ className,
330
+ style
331
+ }),
332
+ children: [/*#__PURE__*/_jsx("div", {
333
+ ...useInnerBlocksProps.save({
334
+ className: 'wp-block-media-text__content'
335
+ })
336
+ }), /*#__PURE__*/_jsx("figure", {
337
+ className: "wp-block-media-text__media",
338
+ style: backgroundStyles,
339
+ children: (mediaTypeRenders[mediaType] || noop)()
340
+ })]
341
+ });
342
+ }
343
+ return /*#__PURE__*/_jsxs("div", {
344
+ ...useBlockProps.save({
345
+ className,
346
+ style
347
+ }),
348
+ children: [/*#__PURE__*/_jsx("figure", {
349
+ className: "wp-block-media-text__media",
350
+ style: backgroundStyles,
351
+ children: (mediaTypeRenders[mediaType] || noop)()
352
+ }), /*#__PURE__*/_jsx("div", {
353
+ ...useInnerBlocksProps.save({
354
+ className: 'wp-block-media-text__content'
355
+ })
356
+ })]
357
+ });
358
+ }
359
+ };
219
360
 
220
361
  // Version with wide as the default alignment.
221
362
  // See: https://github.com/WordPress/gutenberg/pull/48404
@@ -274,7 +415,7 @@ const v6 = {
274
415
  [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment,
275
416
  'is-image-fill': imageFill
276
417
  });
277
- const backgroundStyles = imageFill ? v6ImageFillStyles(mediaUrl, focalPoint) : {};
418
+ const backgroundStyles = imageFill ? v6ToV7ImageFillStyles(mediaUrl, focalPoint) : {};
278
419
  let gridTemplateColumns;
279
420
  if (mediaWidth !== DEFAULT_MEDIA_WIDTH) {
280
421
  gridTemplateColumns = 'right' === mediaPosition ? `auto ${mediaWidth}%` : `${mediaWidth}% auto`;
@@ -808,5 +949,5 @@ const v1 = {
808
949
  });
809
950
  }
810
951
  };
811
- export default [v6, v5, v4, v3, v2, v1];
952
+ export default [v7, v6, v5, v4, v3, v2, v1];
812
953
  //# sourceMappingURL=deprecated.js.map