@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":["_blob","require","_blocks","_data","_notices","_i18n","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","children","a","figcaption","transforms","from","type","isMatch","node","transform","className","alignMatches","exec","anchor","id","align","idMatches","Number","anchorElement","linkDestination","href","rel","linkClass","getBlockAttributes","outerHTML","isBlobURL","url","blob","createBlock","files","some","file","indexOf","createErrorNotice","dispatch","noticesStore","__","every","blocks","map","createBlobURL","tag","source","attribute","selector","alt","caption","named","parseInt","replace","_default","exports","default"],"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":["_blob","require","_blocks","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","children","a","figcaption","transforms","from","type","isMatch","node","transform","className","alignMatches","exec","anchor","id","align","idMatches","Number","anchorElement","linkDestination","href","rel","linkClass","getBlockAttributes","outerHTML","isBlobURL","url","blob","createBlock","files","every","file","indexOf","blocks","map","createBlobURL","tag","source","attribute","selector","alt","caption","named","parseInt","replace","_default","exports","default"],"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,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useMaxWidthObserver = useMaxWidthObserver;
7
+ var _element = require("@wordpress/element");
8
+ var _compose = require("@wordpress/compose");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ /**
11
+ * WordPress dependencies
12
+ */
13
+
14
+ function useMaxWidthObserver() {
15
+ const [contentResizeListener, {
16
+ width
17
+ }] = (0, _compose.useResizeObserver)();
18
+ const observerRef = (0, _element.useRef)();
19
+ const maxWidthObserver = /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
20
+ // Some themes set max-width on blocks.
21
+ className: "wp-block",
22
+ "aria-hidden": "true",
23
+ style: {
24
+ position: 'absolute',
25
+ inset: 0,
26
+ width: '100%',
27
+ height: 0,
28
+ margin: 0
29
+ },
30
+ ref: observerRef,
31
+ children: contentResizeListener
32
+ });
33
+ return [maxWidthObserver, width];
34
+ }
35
+ //# sourceMappingURL=use-max-width-observer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_element","require","_compose","_jsxRuntime","useMaxWidthObserver","contentResizeListener","width","useResizeObserver","observerRef","useRef","maxWidthObserver","jsx","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":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAAuD,IAAAE,WAAA,GAAAF,OAAA;AAJvD;AACA;AACA;;AAIA,SAASG,mBAAmBA,CAAA,EAAG;EAC9B,MAAM,CAAEC,qBAAqB,EAAE;IAAEC;EAAM,CAAC,CAAE,GAAG,IAAAC,0BAAiB,EAAC,CAAC;EAChE,MAAMC,WAAW,GAAG,IAAAC,eAAM,EAAC,CAAC;EAE5B,MAAMC,gBAAgB,gBACrB,IAAAP,WAAA,CAAAQ,GAAA;IACC;IACAC,SAAS,EAAC,UAAU;IACpB,eAAY,MAAM;IAClBC,KAAK,EAAG;MACPC,QAAQ,EAAE,UAAU;MACpBC,KAAK,EAAE,CAAC;MACRT,KAAK,EAAE,MAAM;MACbU,MAAM,EAAE,CAAC;MACTC,MAAM,EAAE;IACT,CAAG;IACHC,GAAG,EAAGV,WAAa;IAAAW,QAAA,EAEjBd;EAAqB,CACnB,CACL;EAED,OAAO,CAAEK,gBAAgB,EAAEJ,KAAK,CAAE;AACnC","ignoreList":[]}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.evalAspectRatio = evalAspectRatio;
7
7
  exports.getImageSizeAttributes = getImageSizeAttributes;
8
8
  exports.getUpdatedLinkTargetSettings = getUpdatedLinkTargetSettings;
9
+ exports.isValidFileType = isValidFileType;
9
10
  exports.removeNewTabRel = removeNewTabRel;
10
11
  var _constants = require("./constants");
11
12
  /**
@@ -89,4 +90,14 @@ function getImageSizeAttributes(image, size) {
89
90
  }
90
91
  return {};
91
92
  }
93
+
94
+ /**
95
+ * Checks if the file has a valid file type.
96
+ *
97
+ * @param {File} file - The file to check.
98
+ * @return {boolean} - Returns true if the file has a valid file type, otherwise false.
99
+ */
100
+ function isValidFileType(file) {
101
+ return _constants.ALLOWED_MEDIA_TYPES.some(mediaType => file.type.indexOf(mediaType) === 0);
102
+ }
92
103
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","require","evalAspectRatio","value","width","height","split","map","Number","aspectRatio","Infinity","NaN","removeNewTabRel","currentRel","newRel","undefined","NEW_TAB_REL","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":";;;;;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,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;AAEO,SAASG,eAAeA,CAAEC,UAAU,EAAG;EAC7C,IAAIC,MAAM,GAAGD,UAAU;EAEvB,IAAKA,UAAU,KAAKE,SAAS,IAAID,MAAM,EAAG;IACzCE,sBAAW,CAACC,OAAO,CAAIC,MAAM,IAAM;MAClC,MAAMC,MAAM,GAAG,IAAIC,MAAM,CAAE,KAAK,GAAGF,MAAM,GAAG,KAAK,EAAE,IAAK,CAAC;MACzDJ,MAAM,GAAGA,MAAM,CAACO,OAAO,CAAEF,MAAM,EAAE,EAAG,CAAC;IACtC,CAAE,CAAC;;IAEH;IACA,IAAKL,MAAM,KAAKD,UAAU,EAAG;MAC5BC,MAAM,GAAGA,MAAM,CAACQ,IAAI,CAAC,CAAC;IACvB;IAEA,IAAK,CAAER,MAAM,EAAG;MACfA,MAAM,GAAGC,SAAS;IACnB;EACD;EAEA,OAAOD,MAAM;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASS,4BAA4BA,CAAEpB,KAAK,EAAE;EAAEqB;AAAI,CAAC,EAAG;EAC9D,MAAMC,UAAU,GAAGtB,KAAK,GAAG,QAAQ,GAAGY,SAAS;EAE/C,IAAIW,UAAU;EACd,IAAK,CAAED,UAAU,IAAI,CAAED,GAAG,EAAG;IAC5BE,UAAU,GAAGX,SAAS;EACvB,CAAC,MAAM;IACNW,UAAU,GAAGd,eAAe,CAAEY,GAAI,CAAC;EACpC;EAEA,OAAO;IACNC,UAAU;IACVD,GAAG,EAAEE;EACN,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,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;MAAE1B,KAAK,EAAEW,SAAS;MAAEV,MAAM,EAAEU,SAAS;MAAEmB,QAAQ,EAAEL;IAAK,CAAC;EACpE;EAEA,OAAO,CAAC,CAAC;AACV","ignoreList":[]}
1
+ {"version":3,"names":["_constants","require","evalAspectRatio","value","width","height","split","map","Number","aspectRatio","Infinity","NaN","removeNewTabRel","currentRel","newRel","undefined","NEW_TAB_REL","forEach","relVal","regExp","RegExp","replace","trim","getUpdatedLinkTargetSettings","rel","linkTarget","updatedRel","getImageSizeAttributes","image","size","url","media_details","sizes","source_url","sizeSlug","isValidFileType","file","ALLOWED_MEDIA_TYPES","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":";;;;;;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,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;AAEO,SAASG,eAAeA,CAAEC,UAAU,EAAG;EAC7C,IAAIC,MAAM,GAAGD,UAAU;EAEvB,IAAKA,UAAU,KAAKE,SAAS,IAAID,MAAM,EAAG;IACzCE,sBAAW,CAACC,OAAO,CAAIC,MAAM,IAAM;MAClC,MAAMC,MAAM,GAAG,IAAIC,MAAM,CAAE,KAAK,GAAGF,MAAM,GAAG,KAAK,EAAE,IAAK,CAAC;MACzDJ,MAAM,GAAGA,MAAM,CAACO,OAAO,CAAEF,MAAM,EAAE,EAAG,CAAC;IACtC,CAAE,CAAC;;IAEH;IACA,IAAKL,MAAM,KAAKD,UAAU,EAAG;MAC5BC,MAAM,GAAGA,MAAM,CAACQ,IAAI,CAAC,CAAC;IACvB;IAEA,IAAK,CAAER,MAAM,EAAG;MACfA,MAAM,GAAGC,SAAS;IACnB;EACD;EAEA,OAAOD,MAAM;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASS,4BAA4BA,CAAEpB,KAAK,EAAE;EAAEqB;AAAI,CAAC,EAAG;EAC9D,MAAMC,UAAU,GAAGtB,KAAK,GAAG,QAAQ,GAAGY,SAAS;EAE/C,IAAIW,UAAU;EACd,IAAK,CAAED,UAAU,IAAI,CAAED,GAAG,EAAG;IAC5BE,UAAU,GAAGX,SAAS;EACvB,CAAC,MAAM;IACNW,UAAU,GAAGd,eAAe,CAAEY,GAAI,CAAC;EACpC;EAEA,OAAO;IACNC,UAAU;IACVD,GAAG,EAAEE;EACN,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,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;MAAE1B,KAAK,EAAEW,SAAS;MAAEV,MAAM,EAAEU,SAAS;MAAEmB,QAAQ,EAAEL;IAAK,CAAC;EACpE;EAEA,OAAO,CAAC,CAAC;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASM,eAAeA,CAAEC,IAAI,EAAG;EACvC,OAAOC,8BAAmB,CAACC,IAAI,CAC5BC,SAAS,IAAMH,IAAI,CAACI,IAAI,CAACC,OAAO,CAAEF,SAAU,CAAC,KAAK,CACrD,CAAC;AACF","ignoreList":[]}
@@ -186,7 +186,7 @@ function LatestPostsEdit({
186
186
  })
187
187
  }), displayPostContent && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RadioControl, {
188
188
  className: "wp-block-latest-posts__post-content-radio",
189
- label: (0, _i18n.__)('Show:'),
189
+ label: (0, _i18n.__)('Show'),
190
190
  selected: displayPostContentRadio,
191
191
  options: [{
192
192
  label: (0, _i18n.__)('Excerpt'),
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_date","_blockEditor","_data","_icons","_coreData","_notices","_compose","_element","_constants","_jsxRuntime","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","useInstanceId","postsToShow","order","orderBy","categories","selectedAuthor","displayFeaturedImage","displayPostContentRadio","displayPostContent","displayPostDate","displayAuthor","postLayout","columns","excerptLength","featuredImageAlign","featuredImageSizeSlug","featuredImageSizeWidth","featuredImageSizeHeight","addLinkToFeaturedImage","imageSizes","latestPosts","defaultImageWidth","defaultImageHeight","categoriesList","authorList","useSelect","select","_settings$imageDimens","_settings$imageDimens2","getEntityRecords","getUsers","coreStore","settings","blockEditorStore","getSettings","catIds","length","map","cat","id","latestPostsQuery","Object","fromEntries","entries","author","orderby","_embed","filter","value","imageDimensions","width","height","createWarningNotice","removeNotice","useDispatch","noticeStore","noticeId","showRedirectionPreventedNotice","event","preventDefault","__","type","imageSizeOptions","slug","name","label","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","includes","imageAlignmentOptions","icon","alignNone","positionLeft","positionCenter","positionRight","hasPosts","inspectorControls","jsxs","InspectorControls","children","PanelBody","title","jsx","ToggleControl","__nextHasNoMarginBottom","checked","onChange","RadioControl","className","selected","options","RangeControl","__next40pxDefaultSize","min","MIN_EXCERPT_LENGTH","max","MAX_EXCERPT_LENGTH","Fragment","__experimentalImageSizeControl","newAttrs","hasOwnProperty","imageWidth","imageHeight","imageSizeHelp","onChangeImage","undefined","__experimentalToggleGroupControl","__experimentalToggleGroupControlOptionIcon","QueryControls","numberOfItems","onOrderChange","onOrderByChange","onNumberOfItemsChange","onCategoryChange","selectedCategories","onAuthorChange","Number","selectedAuthorId","MAX_POSTS_COLUMNS","Math","required","blockProps","useBlockProps","clsx","Placeholder","pin","Array","isArray","Spinner","displayPosts","slice","layoutControls","list","_x","onClick","isActive","grid","dateFormat","formats","date","BlockControls","ToolbarGroup","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","createInterpolateElement","sprintf","a","href","link","rel","span","dangerouslySetInnerHTML","__html","date_gmt","dateTime","format","dateI18n","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","_interopRequireDefault","require","_components","_i18n","_date","_blockEditor","_data","_icons","_coreData","_notices","_compose","_element","_constants","_jsxRuntime","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","useInstanceId","postsToShow","order","orderBy","categories","selectedAuthor","displayFeaturedImage","displayPostContentRadio","displayPostContent","displayPostDate","displayAuthor","postLayout","columns","excerptLength","featuredImageAlign","featuredImageSizeSlug","featuredImageSizeWidth","featuredImageSizeHeight","addLinkToFeaturedImage","imageSizes","latestPosts","defaultImageWidth","defaultImageHeight","categoriesList","authorList","useSelect","select","_settings$imageDimens","_settings$imageDimens2","getEntityRecords","getUsers","coreStore","settings","blockEditorStore","getSettings","catIds","length","map","cat","id","latestPostsQuery","Object","fromEntries","entries","author","orderby","_embed","filter","value","imageDimensions","width","height","createWarningNotice","removeNotice","useDispatch","noticeStore","noticeId","showRedirectionPreventedNotice","event","preventDefault","__","type","imageSizeOptions","slug","name","label","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","includes","imageAlignmentOptions","icon","alignNone","positionLeft","positionCenter","positionRight","hasPosts","inspectorControls","jsxs","InspectorControls","children","PanelBody","title","jsx","ToggleControl","__nextHasNoMarginBottom","checked","onChange","RadioControl","className","selected","options","RangeControl","__next40pxDefaultSize","min","MIN_EXCERPT_LENGTH","max","MAX_EXCERPT_LENGTH","Fragment","__experimentalImageSizeControl","newAttrs","hasOwnProperty","imageWidth","imageHeight","imageSizeHelp","onChangeImage","undefined","__experimentalToggleGroupControl","__experimentalToggleGroupControlOptionIcon","QueryControls","numberOfItems","onOrderChange","onOrderByChange","onNumberOfItemsChange","onCategoryChange","selectedCategories","onAuthorChange","Number","selectedAuthorId","MAX_POSTS_COLUMNS","Math","required","blockProps","useBlockProps","clsx","Placeholder","pin","Array","isArray","Spinner","displayPosts","slice","layoutControls","list","_x","onClick","isActive","grid","dateFormat","formats","date","BlockControls","ToolbarGroup","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","createInterpolateElement","sprintf","a","href","link","rel","span","dangerouslySetInnerHTML","__html","date_gmt","dateTime","format","dateI18n","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":[]}
@@ -28,7 +28,7 @@ const v1ToV5ImageFillStyles = (url, focalPoint) => {
28
28
  backgroundPosition: focalPoint ? `${focalPoint.x * 100}% ${focalPoint.y * 100}%` : `50% 50%`
29
29
  } : {};
30
30
  };
31
- const v6ImageFillStyles = (url, focalPoint) => {
31
+ const v6ToV7ImageFillStyles = (url, focalPoint) => {
32
32
  return url ? {
33
33
  backgroundImage: `url(${url})`,
34
34
  backgroundPosition: focalPoint ? `${Math.round(focalPoint.x * 100)}% ${Math.round(focalPoint.y * 100)}%` : `50% 50%`
@@ -186,6 +186,19 @@ const v6Attributes = {
186
186
  __experimentalRole: 'content'
187
187
  }
188
188
  };
189
+ const v7Attributes = {
190
+ ...v6Attributes,
191
+ align: {
192
+ type: 'string',
193
+ // v7 changed the default for the `align` attribute.
194
+ default: 'none'
195
+ },
196
+ // New attribute.
197
+ useFeaturedImage: {
198
+ type: 'boolean',
199
+ default: false
200
+ }
201
+ };
189
202
  const v4ToV5Supports = {
190
203
  anchor: true,
191
204
  align: ['wide', 'full'],
@@ -223,6 +236,134 @@ const v6Supports = {
223
236
  }
224
237
  }
225
238
  };
239
+ const v7Supports = {
240
+ ...v6Supports,
241
+ __experimentalBorder: {
242
+ color: true,
243
+ radius: true,
244
+ style: true,
245
+ width: true,
246
+ __experimentalDefaultControls: {
247
+ color: true,
248
+ radius: true,
249
+ style: true,
250
+ width: true
251
+ }
252
+ },
253
+ color: {
254
+ gradients: true,
255
+ heading: true,
256
+ link: true,
257
+ __experimentalDefaultControls: {
258
+ background: true,
259
+ text: true
260
+ }
261
+ },
262
+ interactivity: {
263
+ clientNavigation: true
264
+ }
265
+ };
266
+
267
+ // Version with 'none' as the default alignment.
268
+ // See: https://github.com/WordPress/gutenberg/pull/64981
269
+ const v7 = {
270
+ attributes: v7Attributes,
271
+ supports: v7Supports,
272
+ usesContext: ['postId', 'postType'],
273
+ save({
274
+ attributes
275
+ }) {
276
+ const {
277
+ isStackedOnMobile,
278
+ mediaAlt,
279
+ mediaPosition,
280
+ mediaType,
281
+ mediaUrl,
282
+ mediaWidth,
283
+ mediaId,
284
+ verticalAlignment,
285
+ imageFill,
286
+ focalPoint,
287
+ linkClass,
288
+ href,
289
+ linkTarget,
290
+ rel
291
+ } = attributes;
292
+ const mediaSizeSlug = attributes.mediaSizeSlug || _constants.DEFAULT_MEDIA_SIZE_SLUG;
293
+ const newRel = !rel ? undefined : rel;
294
+ const imageClasses = (0, _clsx.default)({
295
+ [`wp-image-${mediaId}`]: mediaId && mediaType === 'image',
296
+ [`size-${mediaSizeSlug}`]: mediaId && mediaType === 'image'
297
+ });
298
+ let image = mediaUrl ? /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
299
+ src: mediaUrl,
300
+ alt: mediaAlt,
301
+ className: imageClasses || null
302
+ }) : null;
303
+ if (href) {
304
+ image = /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
305
+ className: linkClass,
306
+ href: href,
307
+ target: linkTarget,
308
+ rel: newRel,
309
+ children: image
310
+ });
311
+ }
312
+ const mediaTypeRenders = {
313
+ image: () => image,
314
+ video: () => /*#__PURE__*/(0, _jsxRuntime.jsx)("video", {
315
+ controls: true,
316
+ src: mediaUrl
317
+ })
318
+ };
319
+ const className = (0, _clsx.default)({
320
+ 'has-media-on-the-right': 'right' === mediaPosition,
321
+ 'is-stacked-on-mobile': isStackedOnMobile,
322
+ [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment,
323
+ 'is-image-fill': imageFill
324
+ });
325
+ const backgroundStyles = imageFill ? v6ToV7ImageFillStyles(mediaUrl, focalPoint) : {};
326
+ let gridTemplateColumns;
327
+ if (mediaWidth !== DEFAULT_MEDIA_WIDTH) {
328
+ gridTemplateColumns = 'right' === mediaPosition ? `auto ${mediaWidth}%` : `${mediaWidth}% auto`;
329
+ }
330
+ const style = {
331
+ gridTemplateColumns
332
+ };
333
+ if ('right' === mediaPosition) {
334
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
335
+ ..._blockEditor.useBlockProps.save({
336
+ className,
337
+ style
338
+ }),
339
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
340
+ ..._blockEditor.useInnerBlocksProps.save({
341
+ className: 'wp-block-media-text__content'
342
+ })
343
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("figure", {
344
+ className: "wp-block-media-text__media",
345
+ style: backgroundStyles,
346
+ children: (mediaTypeRenders[mediaType] || noop)()
347
+ })]
348
+ });
349
+ }
350
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
351
+ ..._blockEditor.useBlockProps.save({
352
+ className,
353
+ style
354
+ }),
355
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("figure", {
356
+ className: "wp-block-media-text__media",
357
+ style: backgroundStyles,
358
+ children: (mediaTypeRenders[mediaType] || noop)()
359
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
360
+ ..._blockEditor.useInnerBlocksProps.save({
361
+ className: 'wp-block-media-text__content'
362
+ })
363
+ })]
364
+ });
365
+ }
366
+ };
226
367
 
227
368
  // Version with wide as the default alignment.
228
369
  // See: https://github.com/WordPress/gutenberg/pull/48404
@@ -281,7 +422,7 @@ const v6 = {
281
422
  [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment,
282
423
  'is-image-fill': imageFill
283
424
  });
284
- const backgroundStyles = imageFill ? v6ImageFillStyles(mediaUrl, focalPoint) : {};
425
+ const backgroundStyles = imageFill ? v6ToV7ImageFillStyles(mediaUrl, focalPoint) : {};
285
426
  let gridTemplateColumns;
286
427
  if (mediaWidth !== DEFAULT_MEDIA_WIDTH) {
287
428
  gridTemplateColumns = 'right' === mediaPosition ? `auto ${mediaWidth}%` : `${mediaWidth}% auto`;
@@ -815,5 +956,5 @@ const v1 = {
815
956
  });
816
957
  }
817
958
  };
818
- var _default = exports.default = [v6, v5, v4, v3, v2, v1];
959
+ var _default = exports.default = [v7, v6, v5, v4, v3, v2, v1];
819
960
  //# sourceMappingURL=deprecated.js.map