@wordpress/block-library 7.18.0 → 8.0.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 (851) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/audio/edit.native.js +1 -3
  3. package/build/audio/edit.native.js.map +1 -1
  4. package/build/audio/index.js +2 -1
  5. package/build/audio/index.js.map +1 -1
  6. package/build/avatar/edit.js +1 -0
  7. package/build/avatar/edit.js.map +1 -1
  8. package/build/avatar/user-control.js +1 -0
  9. package/build/avatar/user-control.js.map +1 -1
  10. package/build/block/edit.js +14 -2
  11. package/build/block/edit.js.map +1 -1
  12. package/build/block/edit.native.js +14 -6
  13. package/build/block/edit.native.js.map +1 -1
  14. package/build/block/index.js +1 -2
  15. package/build/block/index.js.map +1 -1
  16. package/build/button/deprecated.js +16 -2
  17. package/build/button/deprecated.js.map +1 -1
  18. package/build/button/edit.js +13 -7
  19. package/build/button/edit.js.map +1 -1
  20. package/build/button/edit.native.js.map +1 -1
  21. package/build/button/index.js +4 -1
  22. package/build/button/index.js.map +1 -1
  23. package/build/button/save.js +2 -0
  24. package/build/button/save.js.map +1 -1
  25. package/build/code/transforms.js +1 -1
  26. package/build/code/transforms.js.map +1 -1
  27. package/build/columns/edit.js +1 -0
  28. package/build/columns/edit.js.map +1 -1
  29. package/build/columns/edit.native.js +13 -30
  30. package/build/columns/edit.native.js.map +1 -1
  31. package/build/columns/transforms.js +5 -0
  32. package/build/columns/transforms.js.map +1 -1
  33. package/build/comment-author-avatar/edit.js +1 -0
  34. package/build/comment-author-avatar/edit.js.map +1 -1
  35. package/build/cover/edit/index.js +3 -1
  36. package/build/cover/edit/index.js.map +1 -1
  37. package/build/cover/edit/inspector-controls.js +2 -0
  38. package/build/cover/edit/inspector-controls.js.map +1 -1
  39. package/build/cover/edit.native.js +24 -16
  40. package/build/cover/edit.native.js.map +1 -1
  41. package/build/embed/embed-controls.native.js +1 -0
  42. package/build/embed/embed-controls.native.js.map +1 -1
  43. package/build/embed/embed-preview.native.js +1 -3
  44. package/build/embed/embed-preview.native.js.map +1 -1
  45. package/build/file/inspector.js +1 -0
  46. package/build/file/inspector.js.map +1 -1
  47. package/build/gallery/edit.js +25 -13
  48. package/build/gallery/edit.js.map +1 -1
  49. package/build/gallery/gallery.native.js +1 -3
  50. package/build/gallery/gallery.native.js.map +1 -1
  51. package/build/gallery/shared.js +4 -10
  52. package/build/gallery/shared.js.map +1 -1
  53. package/build/gallery/transforms.js +1 -7
  54. package/build/gallery/transforms.js.map +1 -1
  55. package/build/gallery/use-get-media.js +1 -1
  56. package/build/gallery/use-get-media.js.map +1 -1
  57. package/build/gallery/use-get-media.native.js +3 -1
  58. package/build/gallery/use-get-media.native.js.map +1 -1
  59. package/build/gallery/v1/edit.js +26 -17
  60. package/build/gallery/v1/edit.js.map +1 -1
  61. package/build/gallery/v1/gallery.native.js +1 -3
  62. package/build/gallery/v1/gallery.native.js.map +1 -1
  63. package/build/gallery/v1/shared.js +4 -1
  64. package/build/gallery/v1/shared.js.map +1 -1
  65. package/build/group/edit.js +97 -45
  66. package/build/group/edit.js.map +1 -1
  67. package/build/group/index.js +6 -1
  68. package/build/group/index.js.map +1 -1
  69. package/build/group/placeholder.js +147 -0
  70. package/build/group/placeholder.js.map +1 -0
  71. package/build/group/variations.js +3 -3
  72. package/build/group/variations.js.map +1 -1
  73. package/build/heading/deprecated.js +152 -69
  74. package/build/heading/deprecated.js.map +1 -1
  75. package/build/heading/index.js +1 -2
  76. package/build/heading/index.js.map +1 -1
  77. package/build/heading/transforms.js +1 -2
  78. package/build/heading/transforms.js.map +1 -1
  79. package/build/html/index.js +1 -1
  80. package/build/image/edit.js +8 -5
  81. package/build/image/edit.js.map +1 -1
  82. package/build/image/edit.native.js +3 -2
  83. package/build/image/edit.native.js.map +1 -1
  84. package/build/image/image.js +12 -8
  85. package/build/image/image.js.map +1 -1
  86. package/build/index.js +3 -1
  87. package/build/index.js.map +1 -1
  88. package/build/latest-comments/edit.js +3 -1
  89. package/build/latest-comments/edit.js.map +1 -1
  90. package/build/latest-comments/index.js +5 -1
  91. package/build/latest-comments/index.js.map +1 -1
  92. package/build/latest-posts/deprecated.js +13 -0
  93. package/build/latest-posts/deprecated.js.map +1 -1
  94. package/build/latest-posts/edit.js +2 -0
  95. package/build/latest-posts/edit.js.map +1 -1
  96. package/build/latest-posts/index.js +13 -0
  97. package/build/latest-posts/index.js.map +1 -1
  98. package/build/list/transforms.js +1 -9
  99. package/build/list/transforms.js.map +1 -1
  100. package/build/list/utils.js +5 -2
  101. package/build/list/utils.js.map +1 -1
  102. package/build/list-item/edit.js +2 -1
  103. package/build/list-item/edit.js.map +1 -1
  104. package/build/list-item/index.js +4 -1
  105. package/build/list-item/index.js.map +1 -1
  106. package/build/list-item/transforms.js +22 -0
  107. package/build/list-item/transforms.js.map +1 -0
  108. package/build/list-item/utils.js +77 -1
  109. package/build/list-item/utils.js.map +1 -1
  110. package/build/media-text/edit.js +4 -2
  111. package/build/media-text/edit.js.map +1 -1
  112. package/build/navigation/edit/are-blocks-dirty.js +52 -0
  113. package/build/navigation/edit/are-blocks-dirty.js.map +1 -0
  114. package/build/navigation/edit/index.js +112 -143
  115. package/build/navigation/edit/index.js.map +1 -1
  116. package/build/navigation/edit/manage-menus-button.js +36 -0
  117. package/build/navigation/edit/manage-menus-button.js.map +1 -0
  118. package/build/navigation/edit/menu-inspector-controls.js +72 -0
  119. package/build/navigation/edit/menu-inspector-controls.js.map +1 -0
  120. package/build/navigation/edit/navigation-menu-selector.js +3 -1
  121. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  122. package/build/navigation/edit/responsive-wrapper.js +2 -6
  123. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  124. package/build/navigation/edit/unsaved-inner-blocks.js +15 -25
  125. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  126. package/build/navigation/view-modal.js +6 -2
  127. package/build/navigation/view-modal.js.map +1 -1
  128. package/build/navigation-link/edit.js +52 -299
  129. package/build/navigation-link/edit.js.map +1 -1
  130. package/build/navigation-link/link-ui.js +222 -0
  131. package/build/navigation-link/link-ui.js.map +1 -0
  132. package/build/navigation-link/transforms.js +12 -0
  133. package/build/navigation-link/transforms.js.map +1 -1
  134. package/build/navigation-link/update-attributes.js +108 -0
  135. package/build/navigation-link/update-attributes.js.map +1 -0
  136. package/build/navigation-submenu/edit.js +42 -173
  137. package/build/navigation-submenu/edit.js.map +1 -1
  138. package/build/page-list/constants.js +15 -0
  139. package/build/page-list/constants.js.map +1 -0
  140. package/build/page-list/convert-to-links-modal.js +22 -86
  141. package/build/page-list/convert-to-links-modal.js.map +1 -1
  142. package/build/page-list/convert-to-navigation-links.js +76 -0
  143. package/build/page-list/convert-to-navigation-links.js.map +1 -0
  144. package/build/page-list/edit.js +142 -78
  145. package/build/page-list/edit.js.map +1 -1
  146. package/build/page-list/index.js +6 -1
  147. package/build/page-list/index.js.map +1 -1
  148. package/build/page-list-item/edit.js +87 -0
  149. package/build/page-list-item/edit.js.map +1 -0
  150. package/build/page-list-item/index.js +85 -0
  151. package/build/page-list-item/index.js.map +1 -0
  152. package/build/page-list-item/init.js +16 -0
  153. package/build/page-list-item/init.js.map +1 -0
  154. package/build/paragraph/index.js +1 -7
  155. package/build/paragraph/index.js.map +1 -1
  156. package/build/post-author/edit.js +38 -22
  157. package/build/post-author/edit.js.map +1 -1
  158. package/build/post-content/index.js +3 -0
  159. package/build/post-content/index.js.map +1 -1
  160. package/build/post-featured-image/overlay.js +1 -0
  161. package/build/post-featured-image/overlay.js.map +1 -1
  162. package/build/post-template/index.js +8 -0
  163. package/build/post-template/index.js.map +1 -1
  164. package/build/preformatted/transforms.js +3 -1
  165. package/build/preformatted/transforms.js.map +1 -1
  166. package/build/query/deprecated.js +192 -21
  167. package/build/query/deprecated.js.map +1 -1
  168. package/build/query/edit/inspector-controls/index.js +1 -0
  169. package/build/query/edit/inspector-controls/index.js.map +1 -1
  170. package/build/query/edit/query-placeholder.js +3 -19
  171. package/build/query/edit/query-placeholder.js.map +1 -1
  172. package/build/query/index.js +0 -8
  173. package/build/query/index.js.map +1 -1
  174. package/build/query/utils.js +0 -8
  175. package/build/query/utils.js.map +1 -1
  176. package/build/rss/edit.js +3 -0
  177. package/build/rss/edit.js.map +1 -1
  178. package/build/search/edit.native.js +22 -22
  179. package/build/search/edit.native.js.map +1 -1
  180. package/build/search/index.js +9 -1
  181. package/build/search/index.js.map +1 -1
  182. package/build/site-logo/edit.js +18 -10
  183. package/build/site-logo/edit.js.map +1 -1
  184. package/build/site-logo/index.js +1 -0
  185. package/build/site-logo/index.js.map +1 -1
  186. package/build/site-title/index.js +1 -0
  187. package/build/site-title/index.js.map +1 -1
  188. package/build/social-link/social-list.js +4 -12
  189. package/build/social-link/social-list.js.map +1 -1
  190. package/build/table/edit.js +3 -1
  191. package/build/table/edit.js.map +1 -1
  192. package/build/table/index.js +17 -1
  193. package/build/table/index.js.map +1 -1
  194. package/build/table/save.js +4 -2
  195. package/build/table/save.js.map +1 -1
  196. package/build/table/state.js +24 -12
  197. package/build/table/state.js.map +1 -1
  198. package/build/table/transforms.js +3 -2
  199. package/build/table/transforms.js.map +1 -1
  200. package/build/table-of-contents/edit.js +2 -2
  201. package/build/table-of-contents/edit.js.map +1 -1
  202. package/build/tag-cloud/edit.js +2 -1
  203. package/build/tag-cloud/edit.js.map +1 -1
  204. package/build/template-part/edit/selection-modal.js +5 -2
  205. package/build/template-part/edit/selection-modal.js.map +1 -1
  206. package/build/template-part/edit/utils/hooks.js +2 -6
  207. package/build/template-part/edit/utils/hooks.js.map +1 -1
  208. package/build/template-part/variations.js +5 -0
  209. package/build/template-part/variations.js.map +1 -1
  210. package/build/text-columns/edit.js +1 -0
  211. package/build/text-columns/edit.js.map +1 -1
  212. package/build/utils/transformation-categories.native.js +1 -1
  213. package/build/utils/transformation-categories.native.js.map +1 -1
  214. package/build/video/edit.js +1 -1
  215. package/build/video/edit.js.map +1 -1
  216. package/build/video/edit.native.js +1 -3
  217. package/build/video/edit.native.js.map +1 -1
  218. package/build-module/audio/edit.native.js +1 -2
  219. package/build-module/audio/edit.native.js.map +1 -1
  220. package/build-module/audio/index.js +2 -1
  221. package/build-module/audio/index.js.map +1 -1
  222. package/build-module/avatar/edit.js +1 -0
  223. package/build-module/avatar/edit.js.map +1 -1
  224. package/build-module/avatar/user-control.js +1 -0
  225. package/build-module/avatar/user-control.js.map +1 -1
  226. package/build-module/block/edit.js +14 -2
  227. package/build-module/block/edit.js.map +1 -1
  228. package/build-module/block/edit.native.js +14 -6
  229. package/build-module/block/edit.native.js.map +1 -1
  230. package/build-module/block/index.js +1 -2
  231. package/build-module/block/index.js.map +1 -1
  232. package/build-module/button/deprecated.js +16 -2
  233. package/build-module/button/deprecated.js.map +1 -1
  234. package/build-module/button/edit.js +15 -9
  235. package/build-module/button/edit.js.map +1 -1
  236. package/build-module/button/edit.native.js +2 -1
  237. package/build-module/button/edit.native.js.map +1 -1
  238. package/build-module/button/index.js +4 -1
  239. package/build-module/button/index.js.map +1 -1
  240. package/build-module/button/save.js +2 -0
  241. package/build-module/button/save.js.map +1 -1
  242. package/build-module/code/transforms.js +1 -1
  243. package/build-module/code/transforms.js.map +1 -1
  244. package/build-module/columns/edit.js +1 -0
  245. package/build-module/columns/edit.js.map +1 -1
  246. package/build-module/columns/edit.native.js +13 -29
  247. package/build-module/columns/edit.native.js.map +1 -1
  248. package/build-module/columns/transforms.js +5 -0
  249. package/build-module/columns/transforms.js.map +1 -1
  250. package/build-module/comment-author-avatar/edit.js +1 -0
  251. package/build-module/comment-author-avatar/edit.js.map +1 -1
  252. package/build-module/cover/edit/index.js +3 -1
  253. package/build-module/cover/edit/index.js.map +1 -1
  254. package/build-module/cover/edit/inspector-controls.js +2 -0
  255. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  256. package/build-module/cover/edit.native.js +22 -14
  257. package/build-module/cover/edit.native.js.map +1 -1
  258. package/build-module/embed/embed-controls.native.js +2 -1
  259. package/build-module/embed/embed-controls.native.js.map +1 -1
  260. package/build-module/embed/embed-preview.native.js +1 -2
  261. package/build-module/embed/embed-preview.native.js.map +1 -1
  262. package/build-module/file/inspector.js +1 -0
  263. package/build-module/file/inspector.js.map +1 -1
  264. package/build-module/gallery/edit.js +25 -12
  265. package/build-module/gallery/edit.js.map +1 -1
  266. package/build-module/gallery/gallery.native.js +1 -2
  267. package/build-module/gallery/gallery.native.js.map +1 -1
  268. package/build-module/gallery/shared.js +5 -11
  269. package/build-module/gallery/shared.js.map +1 -1
  270. package/build-module/gallery/transforms.js +1 -6
  271. package/build-module/gallery/transforms.js.map +1 -1
  272. package/build-module/gallery/use-get-media.js +1 -1
  273. package/build-module/gallery/use-get-media.js.map +1 -1
  274. package/build-module/gallery/use-get-media.native.js +3 -1
  275. package/build-module/gallery/use-get-media.native.js.map +1 -1
  276. package/build-module/gallery/v1/edit.js +27 -18
  277. package/build-module/gallery/v1/edit.js.map +1 -1
  278. package/build-module/gallery/v1/gallery.native.js +1 -2
  279. package/build-module/gallery/v1/gallery.native.js.map +1 -1
  280. package/build-module/gallery/v1/shared.js +5 -2
  281. package/build-module/gallery/v1/shared.js.map +1 -1
  282. package/build-module/group/edit.js +92 -45
  283. package/build-module/group/edit.js.map +1 -1
  284. package/build-module/group/index.js +6 -1
  285. package/build-module/group/index.js.map +1 -1
  286. package/build-module/group/placeholder.js +133 -0
  287. package/build-module/group/placeholder.js.map +1 -0
  288. package/build-module/group/variations.js +3 -3
  289. package/build-module/group/variations.js.map +1 -1
  290. package/build-module/heading/deprecated.js +152 -69
  291. package/build-module/heading/deprecated.js.map +1 -1
  292. package/build-module/heading/index.js +1 -2
  293. package/build-module/heading/index.js.map +1 -1
  294. package/build-module/heading/transforms.js +1 -2
  295. package/build-module/heading/transforms.js.map +1 -1
  296. package/build-module/html/index.js +1 -1
  297. package/build-module/image/edit.js +9 -6
  298. package/build-module/image/edit.js.map +1 -1
  299. package/build-module/image/edit.native.js +2 -1
  300. package/build-module/image/edit.native.js.map +1 -1
  301. package/build-module/image/image.js +13 -9
  302. package/build-module/image/image.js.map +1 -1
  303. package/build-module/index.js +2 -1
  304. package/build-module/index.js.map +1 -1
  305. package/build-module/latest-comments/edit.js +3 -1
  306. package/build-module/latest-comments/edit.js.map +1 -1
  307. package/build-module/latest-comments/index.js +5 -1
  308. package/build-module/latest-comments/index.js.map +1 -1
  309. package/build-module/latest-posts/deprecated.js +13 -0
  310. package/build-module/latest-posts/deprecated.js.map +1 -1
  311. package/build-module/latest-posts/edit.js +2 -0
  312. package/build-module/latest-posts/edit.js.map +1 -1
  313. package/build-module/latest-posts/index.js +13 -0
  314. package/build-module/latest-posts/index.js.map +1 -1
  315. package/build-module/list/transforms.js +1 -9
  316. package/build-module/list/transforms.js.map +1 -1
  317. package/build-module/list/utils.js +5 -2
  318. package/build-module/list/utils.js.map +1 -1
  319. package/build-module/list-item/edit.js +2 -1
  320. package/build-module/list-item/edit.js.map +1 -1
  321. package/build-module/list-item/index.js +3 -1
  322. package/build-module/list-item/index.js.map +1 -1
  323. package/build-module/list-item/transforms.js +13 -0
  324. package/build-module/list-item/transforms.js.map +1 -0
  325. package/build-module/list-item/utils.js +78 -1
  326. package/build-module/list-item/utils.js.map +1 -1
  327. package/build-module/media-text/edit.js +5 -3
  328. package/build-module/media-text/edit.js.map +1 -1
  329. package/build-module/navigation/edit/are-blocks-dirty.js +44 -0
  330. package/build-module/navigation/edit/are-blocks-dirty.js.map +1 -0
  331. package/build-module/navigation/edit/index.js +111 -143
  332. package/build-module/navigation/edit/index.js.map +1 -1
  333. package/build-module/navigation/edit/manage-menus-button.js +26 -0
  334. package/build-module/navigation/edit/manage-menus-button.js.map +1 -0
  335. package/build-module/navigation/edit/menu-inspector-controls.js +59 -0
  336. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -0
  337. package/build-module/navigation/edit/navigation-menu-selector.js +3 -1
  338. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  339. package/build-module/navigation/edit/responsive-wrapper.js +2 -6
  340. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  341. package/build-module/navigation/edit/unsaved-inner-blocks.js +16 -26
  342. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  343. package/build-module/navigation/view-modal.js +6 -2
  344. package/build-module/navigation/view-modal.js.map +1 -1
  345. package/build-module/navigation-link/edit.js +56 -300
  346. package/build-module/navigation-link/edit.js.map +1 -1
  347. package/build-module/navigation-link/link-ui.js +206 -0
  348. package/build-module/navigation-link/link-ui.js.map +1 -0
  349. package/build-module/navigation-link/transforms.js +12 -0
  350. package/build-module/navigation-link/transforms.js.map +1 -1
  351. package/build-module/navigation-link/update-attributes.js +97 -0
  352. package/build-module/navigation-link/update-attributes.js.map +1 -0
  353. package/build-module/navigation-submenu/edit.js +47 -175
  354. package/build-module/navigation-submenu/edit.js.map +1 -1
  355. package/build-module/page-list/constants.js +6 -0
  356. package/build-module/page-list/constants.js.map +1 -0
  357. package/build-module/page-list/convert-to-links-modal.js +20 -81
  358. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  359. package/build-module/page-list/convert-to-navigation-links.js +66 -0
  360. package/build-module/page-list/convert-to-navigation-links.js.map +1 -0
  361. package/build-module/page-list/edit.js +144 -82
  362. package/build-module/page-list/edit.js.map +1 -1
  363. package/build-module/page-list/index.js +6 -1
  364. package/build-module/page-list/index.js.map +1 -1
  365. package/build-module/page-list-item/edit.js +74 -0
  366. package/build-module/page-list-item/edit.js.map +1 -0
  367. package/build-module/page-list-item/index.js +68 -0
  368. package/build-module/page-list-item/index.js.map +1 -0
  369. package/build-module/page-list-item/init.js +6 -0
  370. package/build-module/page-list-item/init.js.map +1 -0
  371. package/build-module/paragraph/index.js +1 -7
  372. package/build-module/paragraph/index.js.map +1 -1
  373. package/build-module/post-author/edit.js +38 -23
  374. package/build-module/post-author/edit.js.map +1 -1
  375. package/build-module/post-content/index.js +3 -0
  376. package/build-module/post-content/index.js.map +1 -1
  377. package/build-module/post-featured-image/overlay.js +1 -0
  378. package/build-module/post-featured-image/overlay.js.map +1 -1
  379. package/build-module/post-template/index.js +8 -0
  380. package/build-module/post-template/index.js.map +1 -1
  381. package/build-module/preformatted/transforms.js +3 -1
  382. package/build-module/preformatted/transforms.js.map +1 -1
  383. package/build-module/query/deprecated.js +185 -21
  384. package/build-module/query/deprecated.js.map +1 -1
  385. package/build-module/query/edit/inspector-controls/index.js +1 -0
  386. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  387. package/build-module/query/edit/query-placeholder.js +3 -19
  388. package/build-module/query/edit/query-placeholder.js.map +1 -1
  389. package/build-module/query/index.js +0 -8
  390. package/build-module/query/index.js.map +1 -1
  391. package/build-module/query/utils.js +0 -8
  392. package/build-module/query/utils.js.map +1 -1
  393. package/build-module/rss/edit.js +3 -0
  394. package/build-module/rss/edit.js.map +1 -1
  395. package/build-module/search/edit.native.js +20 -20
  396. package/build-module/search/edit.native.js.map +1 -1
  397. package/build-module/search/index.js +8 -1
  398. package/build-module/search/index.js.map +1 -1
  399. package/build-module/site-logo/edit.js +18 -9
  400. package/build-module/site-logo/edit.js.map +1 -1
  401. package/build-module/site-logo/index.js +1 -0
  402. package/build-module/site-logo/index.js.map +1 -1
  403. package/build-module/site-title/index.js +1 -0
  404. package/build-module/site-title/index.js.map +1 -1
  405. package/build-module/social-link/social-list.js +2 -11
  406. package/build-module/social-link/social-list.js.map +1 -1
  407. package/build-module/table/edit.js +3 -1
  408. package/build-module/table/edit.js.map +1 -1
  409. package/build-module/table/index.js +17 -1
  410. package/build-module/table/index.js.map +1 -1
  411. package/build-module/table/save.js +4 -2
  412. package/build-module/table/save.js.map +1 -1
  413. package/build-module/table/state.js +25 -13
  414. package/build-module/table/state.js.map +1 -1
  415. package/build-module/table/transforms.js +3 -2
  416. package/build-module/table/transforms.js.map +1 -1
  417. package/build-module/table-of-contents/edit.js +2 -2
  418. package/build-module/table-of-contents/edit.js.map +1 -1
  419. package/build-module/tag-cloud/edit.js +3 -2
  420. package/build-module/tag-cloud/edit.js.map +1 -1
  421. package/build-module/template-part/edit/selection-modal.js +6 -3
  422. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  423. package/build-module/template-part/edit/utils/hooks.js +3 -7
  424. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  425. package/build-module/template-part/variations.js +5 -0
  426. package/build-module/template-part/variations.js.map +1 -1
  427. package/build-module/text-columns/edit.js +1 -0
  428. package/build-module/text-columns/edit.js.map +1 -1
  429. package/build-module/utils/transformation-categories.native.js +1 -1
  430. package/build-module/utils/transformation-categories.native.js.map +1 -1
  431. package/build-module/video/edit.js +1 -1
  432. package/build-module/video/edit.js.map +1 -1
  433. package/build-module/video/edit.native.js +1 -2
  434. package/build-module/video/edit.native.js.map +1 -1
  435. package/build-style/archives/editor-rtl.css +12 -0
  436. package/build-style/archives/editor.css +12 -0
  437. package/build-style/archives/style-rtl.css +12 -0
  438. package/build-style/archives/style.css +12 -0
  439. package/build-style/audio/editor-rtl.css +12 -0
  440. package/build-style/audio/editor.css +12 -0
  441. package/build-style/audio/style-rtl.css +12 -0
  442. package/build-style/audio/style.css +12 -0
  443. package/build-style/audio/theme-rtl.css +12 -0
  444. package/build-style/audio/theme.css +12 -0
  445. package/build-style/avatar/editor-rtl.css +12 -0
  446. package/build-style/avatar/editor.css +12 -0
  447. package/build-style/avatar/style-rtl.css +12 -0
  448. package/build-style/avatar/style.css +12 -0
  449. package/build-style/block/editor-rtl.css +22 -0
  450. package/build-style/block/editor.css +22 -0
  451. package/build-style/button/editor-rtl.css +12 -0
  452. package/build-style/button/editor.css +12 -0
  453. package/build-style/button/style-rtl.css +12 -0
  454. package/build-style/button/style.css +12 -0
  455. package/build-style/buttons/editor-rtl.css +12 -0
  456. package/build-style/buttons/editor.css +12 -0
  457. package/build-style/buttons/style-rtl.css +12 -0
  458. package/build-style/buttons/style.css +12 -0
  459. package/build-style/calendar/style-rtl.css +12 -0
  460. package/build-style/calendar/style.css +12 -0
  461. package/build-style/categories/editor-rtl.css +12 -0
  462. package/build-style/categories/editor.css +12 -0
  463. package/build-style/categories/style-rtl.css +12 -0
  464. package/build-style/categories/style.css +12 -0
  465. package/build-style/classic-rtl.css +12 -0
  466. package/build-style/classic.css +12 -0
  467. package/build-style/code/editor-rtl.css +12 -0
  468. package/build-style/code/editor.css +12 -0
  469. package/build-style/code/style-rtl.css +12 -0
  470. package/build-style/code/style.css +12 -0
  471. package/build-style/code/theme-rtl.css +12 -0
  472. package/build-style/code/theme.css +12 -0
  473. package/build-style/columns/editor-rtl.css +12 -0
  474. package/build-style/columns/editor.css +12 -0
  475. package/build-style/columns/style-rtl.css +12 -0
  476. package/build-style/columns/style.css +12 -0
  477. package/build-style/comment-author-avatar/editor-rtl.css +12 -0
  478. package/build-style/comment-author-avatar/editor.css +12 -0
  479. package/build-style/comment-content/style-rtl.css +12 -0
  480. package/build-style/comment-content/style.css +12 -0
  481. package/build-style/comment-template/style-rtl.css +12 -0
  482. package/build-style/comment-template/style.css +12 -0
  483. package/build-style/comments/editor-rtl.css +12 -0
  484. package/build-style/comments/editor.css +12 -0
  485. package/build-style/comments/style-rtl.css +12 -0
  486. package/build-style/comments/style.css +12 -0
  487. package/build-style/comments-pagination/editor-rtl.css +12 -0
  488. package/build-style/comments-pagination/editor.css +12 -0
  489. package/build-style/comments-pagination/style-rtl.css +12 -0
  490. package/build-style/comments-pagination/style.css +12 -0
  491. package/build-style/comments-pagination-numbers/editor-rtl.css +12 -0
  492. package/build-style/comments-pagination-numbers/editor.css +12 -0
  493. package/build-style/comments-title/editor-rtl.css +12 -0
  494. package/build-style/comments-title/editor.css +12 -0
  495. package/build-style/common-rtl.css +17 -1
  496. package/build-style/common.css +17 -1
  497. package/build-style/cover/editor-rtl.css +12 -0
  498. package/build-style/cover/editor.css +12 -0
  499. package/build-style/cover/style-rtl.css +14 -1
  500. package/build-style/cover/style.css +14 -1
  501. package/build-style/editor-elements-rtl.css +12 -0
  502. package/build-style/editor-elements.css +12 -0
  503. package/build-style/editor-rtl.css +115 -21
  504. package/build-style/editor.css +115 -21
  505. package/build-style/elements-rtl.css +12 -0
  506. package/build-style/elements.css +12 -0
  507. package/build-style/embed/editor-rtl.css +12 -0
  508. package/build-style/embed/editor.css +12 -0
  509. package/build-style/embed/style-rtl.css +12 -0
  510. package/build-style/embed/style.css +12 -0
  511. package/build-style/embed/theme-rtl.css +12 -0
  512. package/build-style/embed/theme.css +12 -0
  513. package/build-style/file/editor-rtl.css +12 -0
  514. package/build-style/file/editor.css +12 -0
  515. package/build-style/file/style-rtl.css +12 -0
  516. package/build-style/file/style.css +12 -0
  517. package/build-style/freeform/editor-rtl.css +12 -0
  518. package/build-style/freeform/editor.css +12 -0
  519. package/build-style/gallery/editor-rtl.css +13 -1
  520. package/build-style/gallery/editor.css +13 -1
  521. package/build-style/gallery/style-rtl.css +16 -2
  522. package/build-style/gallery/style.css +16 -2
  523. package/build-style/gallery/theme-rtl.css +12 -0
  524. package/build-style/gallery/theme.css +12 -0
  525. package/build-style/group/editor-rtl.css +56 -0
  526. package/build-style/group/editor.css +56 -0
  527. package/build-style/group/style-rtl.css +12 -0
  528. package/build-style/group/style.css +12 -0
  529. package/build-style/group/theme-rtl.css +12 -0
  530. package/build-style/group/theme.css +12 -0
  531. package/build-style/heading/style-rtl.css +12 -0
  532. package/build-style/heading/style.css +12 -0
  533. package/build-style/html/editor-rtl.css +12 -0
  534. package/build-style/html/editor.css +12 -0
  535. package/build-style/image/editor-rtl.css +12 -9
  536. package/build-style/image/editor.css +12 -9
  537. package/build-style/image/style-rtl.css +12 -0
  538. package/build-style/image/style.css +12 -0
  539. package/build-style/image/theme-rtl.css +12 -0
  540. package/build-style/image/theme.css +12 -0
  541. package/build-style/latest-comments/style-rtl.css +13 -0
  542. package/build-style/latest-comments/style.css +13 -0
  543. package/build-style/latest-posts/editor-rtl.css +12 -0
  544. package/build-style/latest-posts/editor.css +12 -0
  545. package/build-style/latest-posts/style-rtl.css +15 -0
  546. package/build-style/latest-posts/style.css +15 -0
  547. package/build-style/list/style-rtl.css +12 -0
  548. package/build-style/list/style.css +12 -0
  549. package/build-style/media-text/editor-rtl.css +12 -0
  550. package/build-style/media-text/editor.css +12 -0
  551. package/build-style/media-text/style-rtl.css +12 -0
  552. package/build-style/media-text/style.css +12 -0
  553. package/build-style/more/editor-rtl.css +12 -0
  554. package/build-style/more/editor.css +12 -0
  555. package/build-style/navigation/editor-rtl.css +35 -0
  556. package/build-style/navigation/editor.css +35 -0
  557. package/build-style/navigation/style-rtl.css +22 -0
  558. package/build-style/navigation/style.css +22 -0
  559. package/build-style/navigation-link/editor-rtl.css +20 -1
  560. package/build-style/navigation-link/editor.css +20 -1
  561. package/build-style/navigation-link/style-rtl.css +12 -0
  562. package/build-style/navigation-link/style.css +12 -0
  563. package/build-style/navigation-submenu/editor-rtl.css +12 -0
  564. package/build-style/navigation-submenu/editor.css +12 -0
  565. package/build-style/nextpage/editor-rtl.css +12 -0
  566. package/build-style/nextpage/editor.css +12 -0
  567. package/build-style/page-list/editor-rtl.css +12 -0
  568. package/build-style/page-list/editor.css +12 -0
  569. package/build-style/page-list/style-rtl.css +12 -0
  570. package/build-style/page-list/style.css +12 -0
  571. package/build-style/paragraph/editor-rtl.css +12 -0
  572. package/build-style/paragraph/editor.css +12 -0
  573. package/build-style/paragraph/style-rtl.css +12 -0
  574. package/build-style/paragraph/style.css +12 -0
  575. package/build-style/post-author/style-rtl.css +12 -0
  576. package/build-style/post-author/style.css +12 -0
  577. package/build-style/post-comments-form/editor-rtl.css +12 -0
  578. package/build-style/post-comments-form/editor.css +12 -0
  579. package/build-style/post-comments-form/style-rtl.css +12 -0
  580. package/build-style/post-comments-form/style.css +12 -0
  581. package/build-style/post-date/style-rtl.css +12 -0
  582. package/build-style/post-date/style.css +12 -0
  583. package/build-style/post-excerpt/editor-rtl.css +12 -0
  584. package/build-style/post-excerpt/editor.css +12 -0
  585. package/build-style/post-excerpt/style-rtl.css +12 -0
  586. package/build-style/post-excerpt/style.css +12 -0
  587. package/build-style/post-featured-image/editor-rtl.css +12 -0
  588. package/build-style/post-featured-image/editor.css +12 -0
  589. package/build-style/post-featured-image/style-rtl.css +12 -0
  590. package/build-style/post-featured-image/style.css +12 -0
  591. package/build-style/post-navigation-link/style-rtl.css +12 -0
  592. package/build-style/post-navigation-link/style.css +12 -0
  593. package/build-style/post-template/editor-rtl.css +12 -0
  594. package/build-style/post-template/editor.css +12 -0
  595. package/build-style/post-template/style-rtl.css +12 -0
  596. package/build-style/post-template/style.css +12 -0
  597. package/build-style/post-terms/style-rtl.css +12 -0
  598. package/build-style/post-terms/style.css +12 -0
  599. package/build-style/post-title/style-rtl.css +12 -0
  600. package/build-style/post-title/style.css +12 -0
  601. package/build-style/preformatted/style-rtl.css +12 -0
  602. package/build-style/preformatted/style.css +12 -0
  603. package/build-style/pullquote/editor-rtl.css +12 -0
  604. package/build-style/pullquote/editor.css +12 -0
  605. package/build-style/pullquote/style-rtl.css +12 -0
  606. package/build-style/pullquote/style.css +12 -0
  607. package/build-style/pullquote/theme-rtl.css +12 -0
  608. package/build-style/pullquote/theme.css +12 -0
  609. package/build-style/query/editor-rtl.css +13 -1
  610. package/build-style/query/editor.css +13 -1
  611. package/build-style/query-pagination/editor-rtl.css +12 -0
  612. package/build-style/query-pagination/editor.css +12 -0
  613. package/build-style/query-pagination/style-rtl.css +13 -1
  614. package/build-style/query-pagination/style.css +13 -1
  615. package/build-style/query-pagination-numbers/editor-rtl.css +12 -0
  616. package/build-style/query-pagination-numbers/editor.css +12 -0
  617. package/build-style/query-title/style-rtl.css +12 -0
  618. package/build-style/query-title/style.css +12 -0
  619. package/build-style/quote/style-rtl.css +12 -0
  620. package/build-style/quote/style.css +12 -0
  621. package/build-style/quote/theme-rtl.css +12 -0
  622. package/build-style/quote/theme.css +12 -0
  623. package/build-style/read-more/style-rtl.css +12 -0
  624. package/build-style/read-more/style.css +12 -0
  625. package/build-style/reset-rtl.css +12 -0
  626. package/build-style/reset.css +12 -0
  627. package/build-style/rss/editor-rtl.css +12 -0
  628. package/build-style/rss/editor.css +12 -0
  629. package/build-style/rss/style-rtl.css +12 -0
  630. package/build-style/rss/style.css +12 -0
  631. package/build-style/search/editor-rtl.css +12 -0
  632. package/build-style/search/editor.css +12 -0
  633. package/build-style/search/style-rtl.css +12 -0
  634. package/build-style/search/style.css +12 -0
  635. package/build-style/search/theme-rtl.css +12 -0
  636. package/build-style/search/theme.css +12 -0
  637. package/build-style/separator/editor-rtl.css +12 -0
  638. package/build-style/separator/editor.css +12 -0
  639. package/build-style/separator/style-rtl.css +12 -0
  640. package/build-style/separator/style.css +12 -0
  641. package/build-style/separator/theme-rtl.css +12 -0
  642. package/build-style/separator/theme.css +12 -0
  643. package/build-style/shortcode/editor-rtl.css +13 -1
  644. package/build-style/shortcode/editor.css +13 -1
  645. package/build-style/site-logo/editor-rtl.css +12 -0
  646. package/build-style/site-logo/editor.css +12 -0
  647. package/build-style/site-logo/style-rtl.css +12 -0
  648. package/build-style/site-logo/style.css +12 -0
  649. package/build-style/site-tagline/editor-rtl.css +12 -0
  650. package/build-style/site-tagline/editor.css +12 -0
  651. package/build-style/site-title/editor-rtl.css +12 -0
  652. package/build-style/site-title/editor.css +12 -0
  653. package/build-style/site-title/style-rtl.css +12 -0
  654. package/build-style/site-title/style.css +12 -0
  655. package/build-style/social-link/editor-rtl.css +12 -0
  656. package/build-style/social-link/editor.css +12 -0
  657. package/build-style/social-links/editor-rtl.css +12 -0
  658. package/build-style/social-links/editor.css +12 -0
  659. package/build-style/social-links/style-rtl.css +12 -0
  660. package/build-style/social-links/style.css +12 -0
  661. package/build-style/spacer/editor-rtl.css +12 -0
  662. package/build-style/spacer/editor.css +12 -0
  663. package/build-style/spacer/style-rtl.css +12 -0
  664. package/build-style/spacer/style.css +12 -0
  665. package/build-style/style-rtl.css +43 -6
  666. package/build-style/style.css +43 -6
  667. package/build-style/table/editor-rtl.css +13 -8
  668. package/build-style/table/editor.css +13 -8
  669. package/build-style/table/style-rtl.css +17 -0
  670. package/build-style/table/style.css +17 -0
  671. package/build-style/table/theme-rtl.css +13 -3
  672. package/build-style/table/theme.css +13 -3
  673. package/build-style/tag-cloud/style-rtl.css +12 -0
  674. package/build-style/tag-cloud/style.css +12 -0
  675. package/build-style/template-part/editor-rtl.css +27 -1
  676. package/build-style/template-part/editor.css +27 -1
  677. package/build-style/template-part/theme-rtl.css +12 -0
  678. package/build-style/template-part/theme.css +12 -0
  679. package/build-style/text-columns/editor-rtl.css +12 -0
  680. package/build-style/text-columns/editor.css +12 -0
  681. package/build-style/text-columns/style-rtl.css +12 -0
  682. package/build-style/text-columns/style.css +12 -0
  683. package/build-style/theme-rtl.css +13 -3
  684. package/build-style/theme.css +13 -3
  685. package/build-style/verse/style-rtl.css +12 -0
  686. package/build-style/verse/style.css +12 -0
  687. package/build-style/video/editor-rtl.css +12 -0
  688. package/build-style/video/editor.css +12 -0
  689. package/build-style/video/style-rtl.css +14 -1
  690. package/build-style/video/style.css +14 -1
  691. package/build-style/video/theme-rtl.css +12 -0
  692. package/build-style/video/theme.css +12 -0
  693. package/package.json +32 -30
  694. package/src/audio/edit.native.js +1 -2
  695. package/src/audio/index.js +1 -0
  696. package/src/avatar/edit.js +1 -0
  697. package/src/avatar/index.php +1 -1
  698. package/src/avatar/user-control.js +1 -0
  699. package/src/block/block.json +1 -2
  700. package/src/block/edit.js +14 -3
  701. package/src/block/edit.native.js +24 -12
  702. package/src/block/editor.scss +17 -0
  703. package/src/block/index.php +1 -2
  704. package/src/block/test/edit.native.js +28 -32
  705. package/src/button/block.json +4 -1
  706. package/src/button/deprecated.js +18 -2
  707. package/src/button/edit.js +11 -9
  708. package/src/button/edit.native.js +1 -0
  709. package/src/button/save.js +12 -2
  710. package/src/buttons/test/edit.native.js +41 -52
  711. package/src/code/transforms.js +3 -1
  712. package/src/columns/edit.js +1 -0
  713. package/src/columns/edit.native.js +18 -26
  714. package/src/columns/test/edit.native.js +32 -32
  715. package/src/columns/transforms.js +8 -0
  716. package/src/comment-author-avatar/edit.js +1 -0
  717. package/src/cover/edit/index.js +3 -1
  718. package/src/cover/edit/inspector-controls.js +2 -0
  719. package/src/cover/edit.native.js +32 -19
  720. package/src/cover/test/edit.native.js +77 -130
  721. package/src/embed/embed-controls.native.js +1 -0
  722. package/src/embed/embed-preview.native.js +1 -2
  723. package/src/embed/test/index.native.js +251 -245
  724. package/src/file/inspector.js +1 -0
  725. package/src/file/test/__snapshots__/edit.native.js.snap +2 -6
  726. package/src/gallery/edit.js +15 -5
  727. package/src/gallery/gallery.native.js +1 -2
  728. package/src/gallery/shared.js +7 -11
  729. package/src/gallery/test/index.native.js +11 -11
  730. package/src/gallery/transforms.js +1 -6
  731. package/src/gallery/use-get-media.js +1 -1
  732. package/src/gallery/use-get-media.native.js +2 -1
  733. package/src/gallery/v1/edit.js +26 -30
  734. package/src/gallery/v1/gallery.native.js +1 -2
  735. package/src/gallery/v1/shared.js +7 -2
  736. package/src/group/block.json +6 -1
  737. package/src/group/edit.js +91 -44
  738. package/src/group/editor.scss +48 -0
  739. package/src/group/placeholder.js +168 -0
  740. package/src/group/test/__snapshots__/edit.native.js.snap +1 -1
  741. package/src/group/test/edit.native.js +3 -3
  742. package/src/group/test/placeholder.js +78 -0
  743. package/src/group/variations.js +3 -3
  744. package/src/heading/block.json +1 -2
  745. package/src/heading/deprecated.js +209 -136
  746. package/src/heading/index.php +52 -0
  747. package/src/heading/test/__snapshots__/index.native.js.snap +7 -0
  748. package/src/heading/test/index.native.js +44 -0
  749. package/src/home-link/index.php +1 -1
  750. package/src/html/block.json +1 -1
  751. package/src/image/edit.js +7 -2
  752. package/src/image/edit.native.js +2 -1
  753. package/src/image/editor.scss +0 -11
  754. package/src/image/image.js +13 -8
  755. package/src/image/test/edit.native.js +24 -20
  756. package/src/index.js +2 -0
  757. package/src/latest-comments/block.json +5 -1
  758. package/src/latest-comments/edit.js +2 -0
  759. package/src/latest-comments/style.scss +3 -0
  760. package/src/latest-posts/block.json +13 -0
  761. package/src/latest-posts/edit.js +2 -0
  762. package/src/latest-posts/style.scss +3 -0
  763. package/src/list/test/edit.native.js +55 -47
  764. package/src/list/transforms.js +0 -11
  765. package/src/list/utils.js +6 -2
  766. package/src/list-item/edit.js +1 -0
  767. package/src/list-item/index.js +2 -0
  768. package/src/list-item/transforms.js +17 -0
  769. package/src/list-item/utils.js +10 -1
  770. package/src/media-text/edit.js +5 -3
  771. package/src/missing/test/edit-integration.native.js +10 -12
  772. package/src/navigation/edit/are-blocks-dirty.js +51 -0
  773. package/src/navigation/edit/index.js +269 -310
  774. package/src/navigation/edit/manage-menus-button.js +21 -0
  775. package/src/navigation/edit/menu-inspector-controls.js +78 -0
  776. package/src/navigation/edit/navigation-menu-selector.js +5 -1
  777. package/src/navigation/edit/responsive-wrapper.js +2 -10
  778. package/src/navigation/edit/test/are-blocks-dirty.js +121 -0
  779. package/src/navigation/edit/unsaved-inner-blocks.js +17 -36
  780. package/src/navigation/editor.scss +25 -0
  781. package/src/navigation/index.php +57 -10
  782. package/src/navigation/style.scss +16 -0
  783. package/src/navigation/view-modal.js +11 -1
  784. package/src/navigation-link/edit.js +66 -329
  785. package/src/navigation-link/editor.scss +8 -0
  786. package/src/navigation-link/index.php +32 -0
  787. package/src/navigation-link/link-ui.js +213 -0
  788. package/src/navigation-link/test/edit.js +23 -82
  789. package/src/navigation-link/transforms.js +14 -0
  790. package/src/navigation-link/update-attributes.js +99 -0
  791. package/src/navigation-submenu/edit.js +57 -177
  792. package/src/navigation-submenu/index.php +40 -0
  793. package/src/page-list/block.json +6 -1
  794. package/src/page-list/constants.js +8 -0
  795. package/src/page-list/convert-to-links-modal.js +19 -76
  796. package/src/page-list/convert-to-navigation-links.js +60 -0
  797. package/src/page-list/edit.js +179 -118
  798. package/src/page-list/index.php +9 -0
  799. package/src/page-list/test/convert-to-links-modal.js +28 -34
  800. package/src/page-list-item/block.json +51 -0
  801. package/src/page-list-item/edit.js +94 -0
  802. package/src/page-list-item/index.js +24 -0
  803. package/src/page-list-item/init.js +6 -0
  804. package/src/paragraph/index.js +0 -6
  805. package/src/post-author/edit.js +47 -22
  806. package/src/post-content/block.json +3 -0
  807. package/src/post-content/index.php +1 -2
  808. package/src/post-featured-image/index.php +7 -2
  809. package/src/post-featured-image/overlay.js +1 -0
  810. package/src/post-template/block.json +8 -0
  811. package/src/preformatted/transforms.js +4 -1
  812. package/src/query/block.json +0 -8
  813. package/src/query/deprecated.js +257 -86
  814. package/src/query/edit/inspector-controls/index.js +1 -0
  815. package/src/query/edit/query-placeholder.js +4 -16
  816. package/src/query/editor.scss +1 -1
  817. package/src/query-pagination/style.scss +1 -1
  818. package/src/read-more/index.php +9 -2
  819. package/src/rss/edit.js +3 -0
  820. package/src/search/edit.native.js +31 -27
  821. package/src/search/index.js +5 -1
  822. package/src/shortcode/test/edit.native.js +15 -18
  823. package/src/site-logo/edit.js +14 -6
  824. package/src/site-logo/index.js +1 -0
  825. package/src/site-title/index.js +1 -0
  826. package/src/social-link/social-list.js +2 -7
  827. package/src/social-link/test/index.native.js +16 -22
  828. package/src/social-links/test/edit.native.js +8 -7
  829. package/src/spacer/test/index.native.js +39 -36
  830. package/src/table/block.json +15 -0
  831. package/src/table/edit.js +2 -1
  832. package/src/table/editor.scss +1 -4
  833. package/src/table/index.js +1 -0
  834. package/src/table/save.js +5 -1
  835. package/src/table/state.js +22 -7
  836. package/src/table/style.scss +7 -0
  837. package/src/table/theme.scss +1 -3
  838. package/src/table/transforms.js +2 -1
  839. package/src/table-of-contents/edit.js +2 -2
  840. package/src/tag-cloud/edit.js +3 -2
  841. package/src/template-part/edit/selection-modal.js +4 -3
  842. package/src/template-part/edit/utils/hooks.js +7 -3
  843. package/src/template-part/editor.scss +20 -2
  844. package/src/template-part/index.php +6 -2
  845. package/src/template-part/variations.js +4 -0
  846. package/src/text-columns/edit.js +1 -0
  847. package/src/utils/transformation-categories.native.js +1 -0
  848. package/src/video/edit.js +1 -1
  849. package/src/video/edit.native.js +1 -2
  850. package/test/babel-plugin.js +35 -35
  851. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/image/image.js"],"names":["Image","temporaryURL","attributes","setAttributes","isSelected","insertBlocksAfter","onReplace","onSelectImage","onSelectURL","onUploadError","containerRef","context","clientId","isContentLocked","url","alt","caption","align","id","href","rel","linkClass","linkDestination","title","width","height","linkTarget","sizeSlug","imageRef","prevCaption","showCaption","setShowCaption","allowResize","getBlock","blockEditorStore","image","multiImageSelection","select","getMedia","coreStore","getMultiSelectedBlockClientIds","getBlockName","multiSelectedClientIds","length","every","_clientId","canInsertCover","imageEditing","imageSizes","maxWidth","mediaUpload","getBlockRootClientId","getSettings","canInsertBlockType","rootClientId","settings","replaceBlocks","toggleSelection","createErrorNotice","createSuccessNotice","noticesStore","isLargeViewport","isWideAligned","includes","loadedNaturalWidth","loadedNaturalHeight","setLoadedNaturalSize","isEditingImage","setIsEditingImage","externalBlob","setExternalBlob","clientWidth","isResizable","imageSizeOptions","slug","name","value","label","window","fetch","then","response","blob","catch","captionRef","node","focus","naturalWidth","naturalHeight","current","undefined","complete","onResizeStart","onResizeStop","onImageError","embedBlock","onSetHref","props","onSetTitle","updateAlt","newAlt","updateImage","newSizeSlug","newUrl","uploadExternal","filesList","onFileChange","img","type","allowedTypes","ALLOWED_MEDIA_TYPES","onError","message","updateAlignment","nextAlign","extraUpdatedAttributes","canEditImage","allowCrop","switchToCover","controls","captionIcon","source_url","link","crop","upload","overlayText","filename","defaultedAlt","borderProps","isRounded","className","hasCustomBorder","style","event","target","imageWidthWithinContainer","imageHeightWithinContainer","exceedMaxWidth","ratio","currentWidth","currentHeight","minWidth","MIN_SIZE","minHeight","maxWidthBuffer","showRightHandle","showLeftHandle","top","right","bottom","left","direction","elt","delta","parseInt","imageAttributes","RichText","isEmpty"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get, filter, isEmpty, map, pick } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tExternalLink,\n\tPanelBody,\n\tResizableBox,\n\tSpinner,\n\tTextareaControl,\n\tTextControl,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useViewportMatch, usePrevious } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\tMediaReplaceFlow,\n\tstore as blockEditorStore,\n\tBlockAlignmentControl,\n\t__experimentalImageEditor as ImageEditor,\n\t__experimentalImageEditingProvider as ImageEditingProvider,\n\t__experimentalGetElementClassName,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport {\n\tuseEffect,\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tuseCallback,\n} from '@wordpress/element';\nimport { __, sprintf, isRTL } from '@wordpress/i18n';\nimport { getFilename } from '@wordpress/url';\nimport {\n\tcreateBlock,\n\tgetDefaultBlockName,\n\tswitchToBlockType,\n} from '@wordpress/blocks';\nimport {\n\tcrop,\n\toverlayText,\n\tupload,\n\tcaption as captionIcon,\n} from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport useClientWidth from './use-client-width';\nimport { isExternalImage } from './edit';\n\n/**\n * Module constants\n */\nimport { MIN_SIZE, ALLOWED_MEDIA_TYPES } from './constants';\n\nexport default function Image( {\n\ttemporaryURL,\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tinsertBlocksAfter,\n\tonReplace,\n\tonSelectImage,\n\tonSelectURL,\n\tonUploadError,\n\tcontainerRef,\n\tcontext,\n\tclientId,\n\tisContentLocked,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\tcaption,\n\t\talign,\n\t\tid,\n\t\thref,\n\t\trel,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\ttitle,\n\t\twidth,\n\t\theight,\n\t\tlinkTarget,\n\t\tsizeSlug,\n\t} = attributes;\n\tconst imageRef = useRef();\n\tconst prevCaption = usePrevious( caption );\n\tconst [ showCaption, setShowCaption ] = useState( !! caption );\n\tconst { allowResize = true } = context;\n\tconst { getBlock } = useSelect( blockEditorStore );\n\n\tconst { image, multiImageSelection } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia } = select( coreStore );\n\t\t\tconst { getMultiSelectedBlockClientIds, getBlockName } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst multiSelectedClientIds = getMultiSelectedBlockClientIds();\n\t\t\treturn {\n\t\t\t\timage:\n\t\t\t\t\tid && isSelected\n\t\t\t\t\t\t? getMedia( id, { context: 'view' } )\n\t\t\t\t\t\t: null,\n\t\t\t\tmultiImageSelection:\n\t\t\t\t\tmultiSelectedClientIds.length &&\n\t\t\t\t\tmultiSelectedClientIds.every(\n\t\t\t\t\t\t( _clientId ) =>\n\t\t\t\t\t\t\tgetBlockName( _clientId ) === 'core/image'\n\t\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ id, isSelected, clientId ]\n\t);\n\tconst { canInsertCover, imageEditing, imageSizes, maxWidth, mediaUpload } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetBlockRootClientId,\n\t\t\t\t\tgetSettings,\n\t\t\t\t\tcanInsertBlockType,\n\t\t\t\t} = select( blockEditorStore );\n\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\t\tconst settings = pick( getSettings(), [\n\t\t\t\t\t'imageEditing',\n\t\t\t\t\t'imageSizes',\n\t\t\t\t\t'maxWidth',\n\t\t\t\t\t'mediaUpload',\n\t\t\t\t] );\n\n\t\t\t\treturn {\n\t\t\t\t\t...settings,\n\t\t\t\t\tcanInsertCover: canInsertBlockType(\n\t\t\t\t\t\t'core/cover',\n\t\t\t\t\t\trootClientId\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientId ]\n\t\t);\n\tconst { replaceBlocks, toggleSelection } = useDispatch( blockEditorStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = [ 'wide', 'full' ].includes( align );\n\tconst [\n\t\t{ loadedNaturalWidth, loadedNaturalHeight },\n\t\tsetLoadedNaturalSize,\n\t] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst [ externalBlob, setExternalBlob ] = useState();\n\tconst clientWidth = useClientWidth( containerRef, [ align ] );\n\tconst isResizable =\n\t\tallowResize &&\n\t\t! isContentLocked &&\n\t\t! ( isWideAligned && isLargeViewport );\n\tconst imageSizeOptions = map(\n\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\tget( image, [ 'media_details', 'sizes', slug, 'source_url' ] )\n\t\t),\n\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t);\n\n\t// If an image is externally hosted, try to fetch the image data. This may\n\t// fail if the image host doesn't allow CORS with the domain. If it works,\n\t// we can enable a button in the toolbar to upload the image.\n\tuseEffect( () => {\n\t\tif ( ! isExternalImage( id, url ) || ! isSelected || externalBlob ) {\n\t\t\treturn;\n\t\t}\n\n\t\twindow\n\t\t\t.fetch( url )\n\t\t\t.then( ( response ) => response.blob() )\n\t\t\t.then( ( blob ) => setExternalBlob( blob ) )\n\t\t\t// Do nothing, cannot upload.\n\t\t\t.catch( () => {} );\n\t}, [ id, url, isSelected, externalBlob ] );\n\n\t// We need to show the caption when changes come from\n\t// history navigation(undo/redo).\n\tuseEffect( () => {\n\t\tif ( caption && ! prevCaption ) {\n\t\t\tsetShowCaption( true );\n\t\t}\n\t}, [ caption, prevCaption ] );\n\n\t// Focus the caption when we click to add one.\n\tconst captionRef = useCallback(\n\t\t( node ) => {\n\t\t\tif ( node && ! caption ) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t},\n\t\t[ caption ]\n\t);\n\n\t// Get naturalWidth and naturalHeight from image ref, and fall back to loaded natural\n\t// width and height. This resolves an issue in Safari where the loaded natural\n\t// width and height is otherwise lost when switching between alignments.\n\t// See: https://github.com/WordPress/gutenberg/pull/37210.\n\tconst { naturalWidth, naturalHeight } = useMemo( () => {\n\t\treturn {\n\t\t\tnaturalWidth:\n\t\t\t\timageRef.current?.naturalWidth ||\n\t\t\t\tloadedNaturalWidth ||\n\t\t\t\tundefined,\n\t\t\tnaturalHeight:\n\t\t\t\timageRef.current?.naturalHeight ||\n\t\t\t\tloadedNaturalHeight ||\n\t\t\t\tundefined,\n\t\t};\n\t}, [\n\t\tloadedNaturalWidth,\n\t\tloadedNaturalHeight,\n\t\timageRef.current?.complete,\n\t] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tfunction onImageError() {\n\t\t// Check if there's an embed block that handles this URL, e.g., instagram URL.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/11472\n\t\tconst embedBlock = createUpgradedEmbedBlock( { attributes: { url } } );\n\n\t\tif ( undefined !== embedBlock ) {\n\t\t\tonReplace( embedBlock );\n\t\t}\n\t}\n\n\tfunction onSetHref( props ) {\n\t\tsetAttributes( props );\n\t}\n\n\tfunction onSetTitle( value ) {\n\t\t// This is the HTML title attribute, separate from the media object\n\t\t// title.\n\t\tsetAttributes( { title: value } );\n\t}\n\n\tfunction updateAlt( newAlt ) {\n\t\tsetAttributes( { alt: newAlt } );\n\t}\n\n\tfunction updateImage( newSizeSlug ) {\n\t\tconst newUrl = get( image, [\n\t\t\t'media_details',\n\t\t\t'sizes',\n\t\t\tnewSizeSlug,\n\t\t\t'source_url',\n\t\t] );\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\turl: newUrl,\n\t\t\twidth: undefined,\n\t\t\theight: undefined,\n\t\t\tsizeSlug: newSizeSlug,\n\t\t} );\n\t}\n\n\tfunction uploadExternal() {\n\t\tmediaUpload( {\n\t\t\tfilesList: [ externalBlob ],\n\t\t\tonFileChange( [ img ] ) {\n\t\t\t\tonSelectImage( img );\n\n\t\t\t\tif ( isBlobURL( img.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsetExternalBlob();\n\t\t\t\tcreateSuccessNotice( __( 'Image uploaded.' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t},\n\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\tonError( message ) {\n\t\t\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\t\t},\n\t\t} );\n\t}\n\n\tfunction updateAlignment( nextAlign ) {\n\t\tconst extraUpdatedAttributes = [ 'wide', 'full' ].includes( nextAlign )\n\t\t\t? { width: undefined, height: undefined }\n\t\t\t: {};\n\t\tsetAttributes( {\n\t\t\t...extraUpdatedAttributes,\n\t\t\talign: nextAlign,\n\t\t} );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t\tif ( ! caption ) {\n\t\t\t\tsetShowCaption( false );\n\t\t\t}\n\t\t}\n\t}, [ isSelected, caption ] );\n\n\tconst canEditImage = id && naturalWidth && naturalHeight && imageEditing;\n\tconst allowCrop = ! multiImageSelection && canEditImage && ! isEditingImage;\n\n\tfunction switchToCover() {\n\t\treplaceBlocks(\n\t\t\tclientId,\n\t\t\tswitchToBlockType( getBlock( clientId ), 'core/cover' )\n\t\t);\n\t}\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ ! isContentLocked && (\n\t\t\t\t\t<BlockAlignmentControl\n\t\t\t\t\t\tvalue={ align }\n\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isContentLocked && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetShowCaption( ! showCaption );\n\t\t\t\t\t\t\tif ( showCaption && caption ) {\n\t\t\t\t\t\t\t\tsetAttributes( { caption: undefined } );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={ captionIcon }\n\t\t\t\t\t\tisPressed={ showCaption }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tshowCaption\n\t\t\t\t\t\t\t\t? __( 'Remove caption' )\n\t\t\t\t\t\t\t\t: __( 'Add caption' )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! multiImageSelection && ! isEditingImage && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaUrl={ ( image && image.source_url ) || url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ allowCrop && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ externalBlob && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ uploadExternal }\n\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\tlabel={ __( 'Upload external image' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! multiImageSelection && canInsertCover && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ticon={ overlayText }\n\t\t\t\t\t\tlabel={ __( 'Add text over image' ) }\n\t\t\t\t\t\tonClick={ switchToCover }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ ! multiImageSelection && ! isEditingImage && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ ! multiImageSelection && (\n\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\tonChange={ updateAlt }\n\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\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<ImageSizeControl\n\t\t\t\t\t\tonChangeImage={ updateImage }\n\t\t\t\t\t\tonChange={ ( value ) => setAttributes( value ) }\n\t\t\t\t\t\tslug={ sizeSlug }\n\t\t\t\t\t\twidth={ width }\n\t\t\t\t\t\theight={ height }\n\t\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\t\tisResizable={ isResizable }\n\t\t\t\t\t\timageWidth={ naturalWidth }\n\t\t\t\t\t\timageHeight={ naturalHeight }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\tonChange={ onSetTitle }\n\t\t\t\t\thelp={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Describe the role of this image on the page.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/TR/html52/dom.html#the-title-attribute\">\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'(Note: many devices and browsers do not display this text.)'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst filename = getFilename( url );\n\tlet defaultedAlt;\n\n\tif ( alt ) {\n\t\tdefaultedAlt = alt;\n\t} else if ( filename ) {\n\t\tdefaultedAlt = sprintf(\n\t\t\t/* translators: %s: file name */\n\t\t\t__( 'This image has an empty alt attribute; its file name is %s' ),\n\t\t\tfilename\n\t\t);\n\t} else {\n\t\tdefaultedAlt = __( 'This image has an empty alt attribute' );\n\t}\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst isRounded = attributes.className?.includes( 'is-style-rounded' );\n\tconst hasCustomBorder =\n\t\t!! borderProps.className || ! isEmpty( borderProps.style );\n\n\tlet img = (\n\t\t// Disable reason: Image itself is not meant to be interactive, but\n\t\t// should direct focus to block.\n\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t<>\n\t\t\t<img\n\t\t\t\tsrc={ temporaryURL || url }\n\t\t\t\talt={ defaultedAlt }\n\t\t\t\tonError={ () => onImageError() }\n\t\t\t\tonLoad={ ( event ) => {\n\t\t\t\t\tsetLoadedNaturalSize( {\n\t\t\t\t\t\tloadedNaturalWidth: event.target?.naturalWidth,\n\t\t\t\t\t\tloadedNaturalHeight: event.target?.naturalHeight,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tref={ imageRef }\n\t\t\t\tclassName={ borderProps.className }\n\t\t\t\tstyle={ borderProps.style }\n\t\t\t/>\n\t\t\t{ temporaryURL && <Spinner /> }\n\t\t</>\n\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t);\n\n\tlet imageWidthWithinContainer;\n\tlet imageHeightWithinContainer;\n\n\tif ( clientWidth && naturalWidth && naturalHeight ) {\n\t\tconst exceedMaxWidth = naturalWidth > clientWidth;\n\t\tconst ratio = naturalHeight / naturalWidth;\n\t\timageWidthWithinContainer = exceedMaxWidth ? clientWidth : naturalWidth;\n\t\timageHeightWithinContainer = exceedMaxWidth\n\t\t\t? clientWidth * ratio\n\t\t\t: naturalHeight;\n\t}\n\n\tif ( canEditImage && isEditingImage ) {\n\t\timg = (\n\t\t\t<ImageEditor\n\t\t\t\tborderProps={ isRounded ? undefined : borderProps }\n\t\t\t\turl={ url }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t\tclientWidth={ clientWidth }\n\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t/>\n\t\t);\n\t} else if ( ! isResizable || ! imageWidthWithinContainer ) {\n\t\timg = <div style={ { width, height } }>{ img }</div>;\n\t} else {\n\t\tconst currentWidth = width || imageWidthWithinContainer;\n\t\tconst currentHeight = height || imageHeightWithinContainer;\n\n\t\tconst ratio = naturalWidth / naturalHeight;\n\t\tconst minWidth =\n\t\t\tnaturalWidth < naturalHeight ? MIN_SIZE : MIN_SIZE * ratio;\n\t\tconst minHeight =\n\t\t\tnaturalHeight < naturalWidth ? MIN_SIZE : MIN_SIZE / ratio;\n\n\t\t// With the current implementation of ResizableBox, an image needs an\n\t\t// explicit pixel value for the max-width. In absence of being able to\n\t\t// set the content-width, this max-width is currently dictated by the\n\t\t// vanilla editor style. The following variable adds a buffer to this\n\t\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t\t// in most cases, allow you to scale the image beyond the width of the\n\t\t// main column, though not infinitely.\n\t\t// @todo It would be good to revisit this once a content-width variable\n\t\t// becomes available.\n\t\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\t\tlet showRightHandle = false;\n\t\tlet showLeftHandle = false;\n\n\t\t/* eslint-disable no-lonely-if */\n\t\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\t\tif ( align === 'center' ) {\n\t\t\t// When the image is centered, show both handles.\n\t\t\tshowRightHandle = true;\n\t\t\tshowLeftHandle = true;\n\t\t} else if ( isRTL() ) {\n\t\t\t// In RTL mode the image is on the right by default.\n\t\t\t// Show the right handle and hide the left handle only when it is\n\t\t\t// aligned left. Otherwise always show the left handle.\n\t\t\tif ( align === 'left' ) {\n\t\t\t\tshowRightHandle = true;\n\t\t\t} else {\n\t\t\t\tshowLeftHandle = true;\n\t\t\t}\n\t\t} else {\n\t\t\t// Show the left handle and hide the right handle only when the\n\t\t\t// image is aligned right. Otherwise always show the right handle.\n\t\t\tif ( align === 'right' ) {\n\t\t\t\tshowLeftHandle = true;\n\t\t\t} else {\n\t\t\t\tshowRightHandle = true;\n\t\t\t}\n\t\t}\n\t\t/* eslint-enable no-lonely-if */\n\n\t\timg = (\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: width ?? 'auto',\n\t\t\t\t\theight: height && ! hasCustomBorder ? height : 'auto',\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( currentWidth + delta.width, 10 ),\n\t\t\t\t\t\theight: parseInt( currentHeight + delta.height, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ img }\n\t\t\t</ResizableBox>\n\t\t);\n\t}\n\n\treturn (\n\t\t<ImageEditingProvider\n\t\t\tid={ id }\n\t\t\turl={ url }\n\t\t\tnaturalWidth={ naturalWidth }\n\t\t\tnaturalHeight={ naturalHeight }\n\t\t\tclientWidth={ clientWidth }\n\t\t\tonSaveImage={ ( imageAttributes ) =>\n\t\t\t\tsetAttributes( imageAttributes )\n\t\t\t}\n\t\t\tisEditing={ isEditingImage }\n\t\t\tonFinishEditing={ () => setIsEditingImage( false ) }\n\t\t>\n\t\t\t{ /* Hide controls during upload to avoid component remount,\n\t\t\t\twhich causes duplicated image upload. */ }\n\t\t\t{ ! temporaryURL && controls }\n\t\t\t{ img }\n\t\t\t{ showCaption &&\n\t\t\t\t( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tref={ captionRef }\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\taria-label={ __( 'Image caption text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\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</ImageEditingProvider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/image/image.js"],"names":["Image","temporaryURL","attributes","setAttributes","isSelected","insertBlocksAfter","onReplace","onSelectImage","onSelectURL","onUploadError","containerRef","context","clientId","isContentLocked","url","alt","caption","align","id","href","rel","linkClass","linkDestination","title","width","height","linkTarget","sizeSlug","imageRef","prevCaption","showCaption","setShowCaption","allowResize","getBlock","blockEditorStore","image","multiImageSelection","select","getMedia","coreStore","getMultiSelectedBlockClientIds","getBlockName","multiSelectedClientIds","length","every","_clientId","canInsertCover","imageEditing","imageSizes","maxWidth","mediaUpload","getBlockRootClientId","getSettings","canInsertBlockType","rootClientId","settings","Object","fromEntries","entries","filter","key","includes","replaceBlocks","toggleSelection","createErrorNotice","createSuccessNotice","noticesStore","isLargeViewport","isWideAligned","loadedNaturalWidth","loadedNaturalHeight","setLoadedNaturalSize","isEditingImage","setIsEditingImage","externalBlob","setExternalBlob","clientWidth","isResizable","imageSizeOptions","slug","name","value","label","window","fetch","then","response","blob","catch","captionRef","node","focus","naturalWidth","naturalHeight","current","undefined","complete","onResizeStart","onResizeStop","onImageError","embedBlock","onSetHref","props","onSetTitle","updateAlt","newAlt","updateImage","newSizeSlug","newUrl","uploadExternal","filesList","onFileChange","img","type","allowedTypes","ALLOWED_MEDIA_TYPES","onError","message","updateAlignment","nextAlign","extraUpdatedAttributes","canEditImage","allowCrop","switchToCover","controls","captionIcon","source_url","link","crop","upload","overlayText","filename","defaultedAlt","borderProps","isRounded","className","hasCustomBorder","style","event","target","imageWidthWithinContainer","imageHeightWithinContainer","exceedMaxWidth","ratio","currentWidth","currentHeight","minWidth","MIN_SIZE","minHeight","maxWidthBuffer","showRightHandle","showLeftHandle","top","right","bottom","left","direction","elt","delta","parseInt","imageAttributes","RichText","isEmpty"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get, isEmpty, map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tExternalLink,\n\tPanelBody,\n\tResizableBox,\n\tSpinner,\n\tTextareaControl,\n\tTextControl,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useViewportMatch, usePrevious } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\tMediaReplaceFlow,\n\tstore as blockEditorStore,\n\tBlockAlignmentControl,\n\t__experimentalImageEditor as ImageEditor,\n\t__experimentalImageEditingProvider as ImageEditingProvider,\n\t__experimentalGetElementClassName,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport {\n\tuseEffect,\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tuseCallback,\n} from '@wordpress/element';\nimport { __, sprintf, isRTL } from '@wordpress/i18n';\nimport { getFilename } from '@wordpress/url';\nimport {\n\tcreateBlock,\n\tgetDefaultBlockName,\n\tswitchToBlockType,\n} from '@wordpress/blocks';\nimport {\n\tcrop,\n\toverlayText,\n\tupload,\n\tcaption as captionIcon,\n} from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport useClientWidth from './use-client-width';\nimport { isExternalImage } from './edit';\n\n/**\n * Module constants\n */\nimport { MIN_SIZE, ALLOWED_MEDIA_TYPES } from './constants';\n\nexport default function Image( {\n\ttemporaryURL,\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tinsertBlocksAfter,\n\tonReplace,\n\tonSelectImage,\n\tonSelectURL,\n\tonUploadError,\n\tcontainerRef,\n\tcontext,\n\tclientId,\n\tisContentLocked,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\tcaption,\n\t\talign,\n\t\tid,\n\t\thref,\n\t\trel,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\ttitle,\n\t\twidth,\n\t\theight,\n\t\tlinkTarget,\n\t\tsizeSlug,\n\t} = attributes;\n\tconst imageRef = useRef();\n\tconst prevCaption = usePrevious( caption );\n\tconst [ showCaption, setShowCaption ] = useState( !! caption );\n\tconst { allowResize = true } = context;\n\tconst { getBlock } = useSelect( blockEditorStore );\n\n\tconst { image, multiImageSelection } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia } = select( coreStore );\n\t\t\tconst { getMultiSelectedBlockClientIds, getBlockName } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst multiSelectedClientIds = getMultiSelectedBlockClientIds();\n\t\t\treturn {\n\t\t\t\timage:\n\t\t\t\t\tid && isSelected\n\t\t\t\t\t\t? getMedia( id, { context: 'view' } )\n\t\t\t\t\t\t: null,\n\t\t\t\tmultiImageSelection:\n\t\t\t\t\tmultiSelectedClientIds.length &&\n\t\t\t\t\tmultiSelectedClientIds.every(\n\t\t\t\t\t\t( _clientId ) =>\n\t\t\t\t\t\t\tgetBlockName( _clientId ) === 'core/image'\n\t\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ id, isSelected, clientId ]\n\t);\n\tconst { canInsertCover, imageEditing, imageSizes, maxWidth, mediaUpload } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetBlockRootClientId,\n\t\t\t\t\tgetSettings,\n\t\t\t\t\tcanInsertBlockType,\n\t\t\t\t} = select( blockEditorStore );\n\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\t\tconst settings = Object.fromEntries(\n\t\t\t\t\tObject.entries( getSettings() ).filter( ( [ key ] ) =>\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t'imageEditing',\n\t\t\t\t\t\t\t'imageSizes',\n\t\t\t\t\t\t\t'maxWidth',\n\t\t\t\t\t\t\t'mediaUpload',\n\t\t\t\t\t\t].includes( key )\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\treturn {\n\t\t\t\t\t...settings,\n\t\t\t\t\tcanInsertCover: canInsertBlockType(\n\t\t\t\t\t\t'core/cover',\n\t\t\t\t\t\trootClientId\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientId ]\n\t\t);\n\tconst { replaceBlocks, toggleSelection } = useDispatch( blockEditorStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = [ 'wide', 'full' ].includes( align );\n\tconst [\n\t\t{ loadedNaturalWidth, loadedNaturalHeight },\n\t\tsetLoadedNaturalSize,\n\t] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst [ externalBlob, setExternalBlob ] = useState();\n\tconst clientWidth = useClientWidth( containerRef, [ align ] );\n\tconst isResizable =\n\t\tallowResize &&\n\t\t! isContentLocked &&\n\t\t! ( isWideAligned && isLargeViewport );\n\tconst imageSizeOptions = map(\n\t\timageSizes.filter( ( { slug } ) =>\n\t\t\tget( image, [ 'media_details', 'sizes', slug, 'source_url' ] )\n\t\t),\n\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t);\n\n\t// If an image is externally hosted, try to fetch the image data. This may\n\t// fail if the image host doesn't allow CORS with the domain. If it works,\n\t// we can enable a button in the toolbar to upload the image.\n\tuseEffect( () => {\n\t\tif ( ! isExternalImage( id, url ) || ! isSelected || externalBlob ) {\n\t\t\treturn;\n\t\t}\n\n\t\twindow\n\t\t\t.fetch( url )\n\t\t\t.then( ( response ) => response.blob() )\n\t\t\t.then( ( blob ) => setExternalBlob( blob ) )\n\t\t\t// Do nothing, cannot upload.\n\t\t\t.catch( () => {} );\n\t}, [ id, url, isSelected, externalBlob ] );\n\n\t// We need to show the caption when changes come from\n\t// history navigation(undo/redo).\n\tuseEffect( () => {\n\t\tif ( caption && ! prevCaption ) {\n\t\t\tsetShowCaption( true );\n\t\t}\n\t}, [ caption, prevCaption ] );\n\n\t// Focus the caption when we click to add one.\n\tconst captionRef = useCallback(\n\t\t( node ) => {\n\t\t\tif ( node && ! caption ) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t},\n\t\t[ caption ]\n\t);\n\n\t// Get naturalWidth and naturalHeight from image ref, and fall back to loaded natural\n\t// width and height. This resolves an issue in Safari where the loaded natural\n\t// width and height is otherwise lost when switching between alignments.\n\t// See: https://github.com/WordPress/gutenberg/pull/37210.\n\tconst { naturalWidth, naturalHeight } = useMemo( () => {\n\t\treturn {\n\t\t\tnaturalWidth:\n\t\t\t\timageRef.current?.naturalWidth ||\n\t\t\t\tloadedNaturalWidth ||\n\t\t\t\tundefined,\n\t\t\tnaturalHeight:\n\t\t\t\timageRef.current?.naturalHeight ||\n\t\t\t\tloadedNaturalHeight ||\n\t\t\t\tundefined,\n\t\t};\n\t}, [\n\t\tloadedNaturalWidth,\n\t\tloadedNaturalHeight,\n\t\timageRef.current?.complete,\n\t] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tfunction onImageError() {\n\t\t// Check if there's an embed block that handles this URL, e.g., instagram URL.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/11472\n\t\tconst embedBlock = createUpgradedEmbedBlock( { attributes: { url } } );\n\n\t\tif ( undefined !== embedBlock ) {\n\t\t\tonReplace( embedBlock );\n\t\t}\n\t}\n\n\tfunction onSetHref( props ) {\n\t\tsetAttributes( props );\n\t}\n\n\tfunction onSetTitle( value ) {\n\t\t// This is the HTML title attribute, separate from the media object\n\t\t// title.\n\t\tsetAttributes( { title: value } );\n\t}\n\n\tfunction updateAlt( newAlt ) {\n\t\tsetAttributes( { alt: newAlt } );\n\t}\n\n\tfunction updateImage( newSizeSlug ) {\n\t\tconst newUrl = get( image, [\n\t\t\t'media_details',\n\t\t\t'sizes',\n\t\t\tnewSizeSlug,\n\t\t\t'source_url',\n\t\t] );\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\turl: newUrl,\n\t\t\twidth: undefined,\n\t\t\theight: undefined,\n\t\t\tsizeSlug: newSizeSlug,\n\t\t} );\n\t}\n\n\tfunction uploadExternal() {\n\t\tmediaUpload( {\n\t\t\tfilesList: [ externalBlob ],\n\t\t\tonFileChange( [ img ] ) {\n\t\t\t\tonSelectImage( img );\n\n\t\t\t\tif ( isBlobURL( img.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsetExternalBlob();\n\t\t\t\tcreateSuccessNotice( __( 'Image uploaded.' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t},\n\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\tonError( message ) {\n\t\t\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\t\t},\n\t\t} );\n\t}\n\n\tfunction updateAlignment( nextAlign ) {\n\t\tconst extraUpdatedAttributes = [ 'wide', 'full' ].includes( nextAlign )\n\t\t\t? { width: undefined, height: undefined }\n\t\t\t: {};\n\t\tsetAttributes( {\n\t\t\t...extraUpdatedAttributes,\n\t\t\talign: nextAlign,\n\t\t} );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t\tif ( ! caption ) {\n\t\t\t\tsetShowCaption( false );\n\t\t\t}\n\t\t}\n\t}, [ isSelected, caption ] );\n\n\tconst canEditImage = id && naturalWidth && naturalHeight && imageEditing;\n\tconst allowCrop = ! multiImageSelection && canEditImage && ! isEditingImage;\n\n\tfunction switchToCover() {\n\t\treplaceBlocks(\n\t\t\tclientId,\n\t\t\tswitchToBlockType( getBlock( clientId ), 'core/cover' )\n\t\t);\n\t}\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ ! isContentLocked && (\n\t\t\t\t\t<BlockAlignmentControl\n\t\t\t\t\t\tvalue={ align }\n\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isContentLocked && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetShowCaption( ! showCaption );\n\t\t\t\t\t\t\tif ( showCaption && caption ) {\n\t\t\t\t\t\t\t\tsetAttributes( { caption: undefined } );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={ captionIcon }\n\t\t\t\t\t\tisPressed={ showCaption }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tshowCaption\n\t\t\t\t\t\t\t\t? __( 'Remove caption' )\n\t\t\t\t\t\t\t\t: __( 'Add caption' )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! multiImageSelection && ! isEditingImage && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaUrl={ ( image && image.source_url ) || url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ allowCrop && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ externalBlob && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ uploadExternal }\n\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\tlabel={ __( 'Upload external image' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! multiImageSelection && canInsertCover && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ticon={ overlayText }\n\t\t\t\t\t\tlabel={ __( 'Add text over image' ) }\n\t\t\t\t\t\tonClick={ switchToCover }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ ! multiImageSelection && ! isEditingImage && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ ! multiImageSelection && (\n\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\tonChange={ updateAlt }\n\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\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<ImageSizeControl\n\t\t\t\t\t\tonChangeImage={ updateImage }\n\t\t\t\t\t\tonChange={ ( value ) => setAttributes( value ) }\n\t\t\t\t\t\tslug={ sizeSlug }\n\t\t\t\t\t\twidth={ width }\n\t\t\t\t\t\theight={ height }\n\t\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\t\tisResizable={ isResizable }\n\t\t\t\t\t\timageWidth={ naturalWidth }\n\t\t\t\t\t\timageHeight={ naturalHeight }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\tonChange={ onSetTitle }\n\t\t\t\t\thelp={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Describe the role of this image on the page.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/TR/html52/dom.html#the-title-attribute\">\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'(Note: many devices and browsers do not display this text.)'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst filename = getFilename( url );\n\tlet defaultedAlt;\n\n\tif ( alt ) {\n\t\tdefaultedAlt = alt;\n\t} else if ( filename ) {\n\t\tdefaultedAlt = sprintf(\n\t\t\t/* translators: %s: file name */\n\t\t\t__( 'This image has an empty alt attribute; its file name is %s' ),\n\t\t\tfilename\n\t\t);\n\t} else {\n\t\tdefaultedAlt = __( 'This image has an empty alt attribute' );\n\t}\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst isRounded = attributes.className?.includes( 'is-style-rounded' );\n\tconst hasCustomBorder =\n\t\t!! borderProps.className || ! isEmpty( borderProps.style );\n\n\tlet img = (\n\t\t// Disable reason: Image itself is not meant to be interactive, but\n\t\t// should direct focus to block.\n\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t<>\n\t\t\t<img\n\t\t\t\tsrc={ temporaryURL || url }\n\t\t\t\talt={ defaultedAlt }\n\t\t\t\tonError={ () => onImageError() }\n\t\t\t\tonLoad={ ( event ) => {\n\t\t\t\t\tsetLoadedNaturalSize( {\n\t\t\t\t\t\tloadedNaturalWidth: event.target?.naturalWidth,\n\t\t\t\t\t\tloadedNaturalHeight: event.target?.naturalHeight,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tref={ imageRef }\n\t\t\t\tclassName={ borderProps.className }\n\t\t\t\tstyle={ borderProps.style }\n\t\t\t/>\n\t\t\t{ temporaryURL && <Spinner /> }\n\t\t</>\n\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t);\n\n\tlet imageWidthWithinContainer;\n\tlet imageHeightWithinContainer;\n\n\tif ( clientWidth && naturalWidth && naturalHeight ) {\n\t\tconst exceedMaxWidth = naturalWidth > clientWidth;\n\t\tconst ratio = naturalHeight / naturalWidth;\n\t\timageWidthWithinContainer = exceedMaxWidth ? clientWidth : naturalWidth;\n\t\timageHeightWithinContainer = exceedMaxWidth\n\t\t\t? clientWidth * ratio\n\t\t\t: naturalHeight;\n\t}\n\n\tif ( canEditImage && isEditingImage ) {\n\t\timg = (\n\t\t\t<ImageEditor\n\t\t\t\tborderProps={ isRounded ? undefined : borderProps }\n\t\t\t\turl={ url }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t\tclientWidth={ clientWidth }\n\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t/>\n\t\t);\n\t} else if ( ! isResizable || ! imageWidthWithinContainer ) {\n\t\timg = <div style={ { width, height } }>{ img }</div>;\n\t} else {\n\t\tconst currentWidth = width || imageWidthWithinContainer;\n\t\tconst currentHeight = height || imageHeightWithinContainer;\n\n\t\tconst ratio = naturalWidth / naturalHeight;\n\t\tconst minWidth =\n\t\t\tnaturalWidth < naturalHeight ? MIN_SIZE : MIN_SIZE * ratio;\n\t\tconst minHeight =\n\t\t\tnaturalHeight < naturalWidth ? MIN_SIZE : MIN_SIZE / ratio;\n\n\t\t// With the current implementation of ResizableBox, an image needs an\n\t\t// explicit pixel value for the max-width. In absence of being able to\n\t\t// set the content-width, this max-width is currently dictated by the\n\t\t// vanilla editor style. The following variable adds a buffer to this\n\t\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t\t// in most cases, allow you to scale the image beyond the width of the\n\t\t// main column, though not infinitely.\n\t\t// @todo It would be good to revisit this once a content-width variable\n\t\t// becomes available.\n\t\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\t\tlet showRightHandle = false;\n\t\tlet showLeftHandle = false;\n\n\t\t/* eslint-disable no-lonely-if */\n\t\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\t\tif ( align === 'center' ) {\n\t\t\t// When the image is centered, show both handles.\n\t\t\tshowRightHandle = true;\n\t\t\tshowLeftHandle = true;\n\t\t} else if ( isRTL() ) {\n\t\t\t// In RTL mode the image is on the right by default.\n\t\t\t// Show the right handle and hide the left handle only when it is\n\t\t\t// aligned left. Otherwise always show the left handle.\n\t\t\tif ( align === 'left' ) {\n\t\t\t\tshowRightHandle = true;\n\t\t\t} else {\n\t\t\t\tshowLeftHandle = true;\n\t\t\t}\n\t\t} else {\n\t\t\t// Show the left handle and hide the right handle only when the\n\t\t\t// image is aligned right. Otherwise always show the right handle.\n\t\t\tif ( align === 'right' ) {\n\t\t\t\tshowLeftHandle = true;\n\t\t\t} else {\n\t\t\t\tshowRightHandle = true;\n\t\t\t}\n\t\t}\n\t\t/* eslint-enable no-lonely-if */\n\n\t\timg = (\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: width ?? 'auto',\n\t\t\t\t\theight: height && ! hasCustomBorder ? height : 'auto',\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( currentWidth + delta.width, 10 ),\n\t\t\t\t\t\theight: parseInt( currentHeight + delta.height, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tresizeRatio={ align === 'center' ? 2 : 1 }\n\t\t\t>\n\t\t\t\t{ img }\n\t\t\t</ResizableBox>\n\t\t);\n\t}\n\n\treturn (\n\t\t<ImageEditingProvider\n\t\t\tid={ id }\n\t\t\turl={ url }\n\t\t\tnaturalWidth={ naturalWidth }\n\t\t\tnaturalHeight={ naturalHeight }\n\t\t\tclientWidth={ clientWidth }\n\t\t\tonSaveImage={ ( imageAttributes ) =>\n\t\t\t\tsetAttributes( imageAttributes )\n\t\t\t}\n\t\t\tisEditing={ isEditingImage }\n\t\t\tonFinishEditing={ () => setIsEditingImage( false ) }\n\t\t>\n\t\t\t{ /* Hide controls during upload to avoid component remount,\n\t\t\t\twhich causes duplicated image upload. */ }\n\t\t\t{ ! temporaryURL && controls }\n\t\t\t{ img }\n\t\t\t{ showCaption &&\n\t\t\t\t( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tref={ captionRef }\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\taria-label={ __( 'Image caption text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\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</ImageEditingProvider>\n\t);\n}\n"]}
package/build/index.js CHANGED
@@ -103,6 +103,8 @@ var pattern = _interopRequireWildcard(require("./pattern"));
103
103
 
104
104
  var pageList = _interopRequireWildcard(require("./page-list"));
105
105
 
106
+ var pageListItem = _interopRequireWildcard(require("./page-list-item"));
107
+
106
108
  var paragraph = _interopRequireWildcard(require("./paragraph"));
107
109
 
108
110
  var postAuthor = _interopRequireWildcard(require("./post-author"));
@@ -225,7 +227,7 @@ const getAllBlocks = () => [// Common blocks are grouped at the top to prioritiz
225
227
  // in various contexts — like the inserter and auto-complete components.
226
228
  paragraph, image, heading, gallery, list, listItem, quote, // Register all remaining core blocks.
227
229
  archives, audio, button, buttons, calendar, categories, ...(window.wp && window.wp.oldEditor ? [classic] : []), // Only add the classic block in WP Context.
228
- code, column, columns, commentAuthorAvatar, cover, embed, file, group, html, latestComments, latestPosts, mediaText, missing, more, nextpage, pageList, pattern, preformatted, pullquote, reusableBlock, rss, search, separator, shortcode, socialLink, socialLinks, spacer, table, tagCloud, textColumns, verse, video, // theme blocks
230
+ code, column, columns, commentAuthorAvatar, cover, embed, file, group, html, latestComments, latestPosts, mediaText, missing, more, nextpage, pageList, pageListItem, pattern, preformatted, pullquote, reusableBlock, rss, search, separator, shortcode, socialLink, socialLinks, spacer, table, tagCloud, textColumns, verse, video, // theme blocks
229
231
  navigation, navigationLink, navigationSubmenu, siteLogo, siteTitle, siteTagline, query, templatePart, avatar, postTitle, postExcerpt, postFeaturedImage, postContent, postAuthor, postAuthorName, postComment, postCommentsCount, postCommentsLink, postDate, postTerms, postNavigationLink, postTemplate, queryPagination, queryPaginationNext, queryPaginationNumbers, queryPaginationPrevious, queryNoResults, readMore, comments, commentAuthorName, commentContent, commentDate, commentEditLink, commentReplyLink, commentTemplate, commentsTitle, commentsPagination, commentsPaginationNext, commentsPaginationNumbers, commentsPaginationPrevious, postCommentsForm, tableOfContents, homeLink, logInOut, termDescription, queryTitle, postAuthorBiography].filter(Boolean);
230
232
  /**
231
233
  * Function to get all the core blocks in an array.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/index.js"],"names":["getAllBlocks","paragraph","image","heading","gallery","list","listItem","quote","archives","audio","button","buttons","calendar","categories","window","wp","oldEditor","classic","code","column","columns","commentAuthorAvatar","cover","embed","file","group","html","latestComments","latestPosts","mediaText","missing","more","nextpage","pageList","pattern","preformatted","pullquote","reusableBlock","rss","search","separator","shortcode","socialLink","socialLinks","spacer","table","tagCloud","textColumns","verse","video","navigation","navigationLink","navigationSubmenu","siteLogo","siteTitle","siteTagline","query","templatePart","avatar","postTitle","postExcerpt","postFeaturedImage","postContent","postAuthor","postAuthorName","postComment","postCommentsCount","postCommentsLink","postDate","postTerms","postNavigationLink","postTemplate","queryPagination","queryPaginationNext","queryPaginationNumbers","queryPaginationPrevious","queryNoResults","readMore","comments","commentAuthorName","commentContent","commentDate","commentEditLink","commentReplyLink","commentTemplate","commentsTitle","commentsPagination","commentsPaginationNext","commentsPaginationNumbers","commentsPaginationPrevious","postCommentsForm","tableOfContents","homeLink","logInOut","termDescription","queryTitle","postAuthorBiography","filter","Boolean","__experimentalGetCoreBlocks","metadata","registerCoreBlocks","blocks","forEach","init","name","__experimentalRegisterExperimentalCoreBlocks","process","env","IS_GUTENBERG_PLUGIN","enableFSEBlocks","enabledExperiments","__experimental","includes","undefined"],"mappings":";;;;;;;;;AAGA;;AAmBA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;;;AApHA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAiGA;AACA;AACA;AACA,MAAMA,YAAY,GAAG,MACpB,CACC;AACA;AACAC,SAHD,EAICC,KAJD,EAKCC,OALD,EAMCC,OAND,EAOCC,IAPD,EAQCC,QARD,EASCC,KATD,EAWC;AACAC,QAZD,EAaCC,KAbD,EAcCC,MAdD,EAeCC,OAfD,EAgBCC,QAhBD,EAiBCC,UAjBD,EAkBC,IAAKC,MAAM,CAACC,EAAP,IAAaD,MAAM,CAACC,EAAP,CAAUC,SAAvB,GAAmC,CAAEC,OAAF,CAAnC,GAAiD,EAAtD,CAlBD,EAkB6D;AAC5DC,IAnBD,EAoBCC,MApBD,EAqBCC,OArBD,EAsBCC,mBAtBD,EAuBCC,KAvBD,EAwBCC,KAxBD,EAyBCC,IAzBD,EA0BCC,KA1BD,EA2BCC,IA3BD,EA4BCC,cA5BD,EA6BCC,WA7BD,EA8BCC,SA9BD,EA+BCC,OA/BD,EAgCCC,IAhCD,EAiCCC,QAjCD,EAkCCC,QAlCD,EAmCCC,OAnCD,E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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tsetDefaultBlockName,\n\tsetFreeformContentHandlerName,\n\tsetUnregisteredTypeHandlerName,\n\tsetGroupingBlockName,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\n// When IS_GUTENBERG_PLUGIN is set to false, imports of experimental blocks\n// are transformed by packages/block-library/src/index.js as follows:\n// import * as experimentalBlock from './experimental-block'\n// becomes\n// const experimentalBlock = null;\n// This enables webpack to eliminate the experimental blocks code from the\n// production build to make the final bundle smaller.\n//\n// See https://github.com/WordPress/gutenberg/pull/40655 for more context.\nimport * as archives from './archives';\nimport * as avatar from './avatar';\nimport * as audio from './audio';\nimport * as button from './button';\nimport * as buttons from './buttons';\nimport * as calendar from './calendar';\nimport * as categories from './categories';\nimport * as classic from './freeform';\nimport * as code from './code';\nimport * as column from './column';\nimport * as columns from './columns';\nimport * as comments from './comments';\nimport * as commentAuthorAvatar from './comment-author-avatar';\nimport * as commentAuthorName from './comment-author-name';\nimport * as commentContent from './comment-content';\nimport * as commentDate from './comment-date';\nimport * as commentEditLink from './comment-edit-link';\nimport * as commentReplyLink from './comment-reply-link';\nimport * as commentTemplate from './comment-template';\nimport * as commentsPaginationPrevious from './comments-pagination-previous';\nimport * as commentsPagination from './comments-pagination';\nimport * as commentsPaginationNext from './comments-pagination-next';\nimport * as commentsPaginationNumbers from './comments-pagination-numbers';\nimport * as commentsTitle from './comments-title';\nimport * as cover from './cover';\nimport * as embed from './embed';\nimport * as file from './file';\nimport * as gallery from './gallery';\nimport * as group from './group';\nimport * as heading from './heading';\nimport * as homeLink from './home-link';\nimport * as html from './html';\nimport * as image from './image';\nimport * as latestComments from './latest-comments';\nimport * as latestPosts from './latest-posts';\nimport * as list from './list';\nimport * as listItem from './list-item';\nimport * as logInOut from './loginout';\nimport * as mediaText from './media-text';\nimport * as missing from './missing';\nimport * as more from './more';\nimport * as navigation from './navigation';\nimport * as navigationLink from './navigation-link';\nimport * as navigationSubmenu from './navigation-submenu';\nimport * as nextpage from './nextpage';\nimport * as pattern from './pattern';\nimport * as pageList from './page-list';\nimport * as paragraph from './paragraph';\nimport * as postAuthor from './post-author';\nimport * as postAuthorName from './post-author-name';\nimport * as postAuthorBiography from './post-author-biography';\nimport * as postComment from './post-comment';\nimport * as postCommentsCount from './post-comments-count';\nimport * as postCommentsForm from './post-comments-form';\nimport * as postCommentsLink from './post-comments-link';\nimport * as postContent from './post-content';\nimport * as postDate from './post-date';\nimport * as postExcerpt from './post-excerpt';\nimport * as postFeaturedImage from './post-featured-image';\nimport * as postNavigationLink from './post-navigation-link';\nimport * as postTemplate from './post-template';\nimport * as postTerms from './post-terms';\nimport * as postTitle from './post-title';\nimport * as preformatted from './preformatted';\nimport * as pullquote from './pullquote';\nimport * as query from './query';\nimport * as queryNoResults from './query-no-results';\nimport * as queryPagination from './query-pagination';\nimport * as queryPaginationNext from './query-pagination-next';\nimport * as queryPaginationNumbers from './query-pagination-numbers';\nimport * as queryPaginationPrevious from './query-pagination-previous';\nimport * as queryTitle from './query-title';\nimport * as quote from './quote';\nimport * as reusableBlock from './block';\nimport * as readMore from './read-more';\nimport * as rss from './rss';\nimport * as search from './search';\nimport * as separator from './separator';\nimport * as shortcode from './shortcode';\nimport * as siteLogo from './site-logo';\nimport * as siteTagline from './site-tagline';\nimport * as siteTitle from './site-title';\nimport * as socialLink from './social-link';\nimport * as socialLinks from './social-links';\nimport * as spacer from './spacer';\nimport * as table from './table';\nimport * as tableOfContents from './table-of-contents';\nimport * as tagCloud from './tag-cloud';\nimport * as templatePart from './template-part';\nimport * as termDescription from './term-description';\nimport * as textColumns from './text-columns';\nimport * as verse from './verse';\nimport * as video from './video';\n\nimport isBlockMetadataExperimental from './utils/is-block-metadata-experimental';\n\n/**\n * Function to get all the block-library blocks in an array\n */\nconst getAllBlocks = () =>\n\t[\n\t\t// Common blocks are grouped at the top to prioritize their display\n\t\t// in various contexts — like the inserter and auto-complete components.\n\t\tparagraph,\n\t\timage,\n\t\theading,\n\t\tgallery,\n\t\tlist,\n\t\tlistItem,\n\t\tquote,\n\n\t\t// Register all remaining core blocks.\n\t\tarchives,\n\t\taudio,\n\t\tbutton,\n\t\tbuttons,\n\t\tcalendar,\n\t\tcategories,\n\t\t...( window.wp && window.wp.oldEditor ? [ classic ] : [] ), // Only add the classic block in WP Context.\n\t\tcode,\n\t\tcolumn,\n\t\tcolumns,\n\t\tcommentAuthorAvatar,\n\t\tcover,\n\t\tembed,\n\t\tfile,\n\t\tgroup,\n\t\thtml,\n\t\tlatestComments,\n\t\tlatestPosts,\n\t\tmediaText,\n\t\tmissing,\n\t\tmore,\n\t\tnextpage,\n\t\tpageList,\n\t\tpattern,\n\t\tpreformatted,\n\t\tpullquote,\n\t\treusableBlock,\n\t\trss,\n\t\tsearch,\n\t\tseparator,\n\t\tshortcode,\n\t\tsocialLink,\n\t\tsocialLinks,\n\t\tspacer,\n\t\ttable,\n\t\ttagCloud,\n\t\ttextColumns,\n\t\tverse,\n\t\tvideo,\n\n\t\t// theme blocks\n\t\tnavigation,\n\t\tnavigationLink,\n\t\tnavigationSubmenu,\n\t\tsiteLogo,\n\t\tsiteTitle,\n\t\tsiteTagline,\n\t\tquery,\n\t\ttemplatePart,\n\t\tavatar,\n\t\tpostTitle,\n\t\tpostExcerpt,\n\t\tpostFeaturedImage,\n\t\tpostContent,\n\t\tpostAuthor,\n\t\tpostAuthorName,\n\t\tpostComment,\n\t\tpostCommentsCount,\n\t\tpostCommentsLink,\n\t\tpostDate,\n\t\tpostTerms,\n\t\tpostNavigationLink,\n\t\tpostTemplate,\n\t\tqueryPagination,\n\t\tqueryPaginationNext,\n\t\tqueryPaginationNumbers,\n\t\tqueryPaginationPrevious,\n\t\tqueryNoResults,\n\t\treadMore,\n\t\tcomments,\n\t\tcommentAuthorName,\n\t\tcommentContent,\n\t\tcommentDate,\n\t\tcommentEditLink,\n\t\tcommentReplyLink,\n\t\tcommentTemplate,\n\t\tcommentsTitle,\n\t\tcommentsPagination,\n\t\tcommentsPaginationNext,\n\t\tcommentsPaginationNumbers,\n\t\tcommentsPaginationPrevious,\n\t\tpostCommentsForm,\n\t\ttableOfContents,\n\t\thomeLink,\n\t\tlogInOut,\n\t\ttermDescription,\n\t\tqueryTitle,\n\t\tpostAuthorBiography,\n\t].filter( Boolean );\n\n/**\n * Function to get all the core blocks in an array.\n *\n * @example\n * ```js\n * import { __experimentalGetCoreBlocks } from '@wordpress/block-library';\n *\n * const coreBlocks = __experimentalGetCoreBlocks();\n * ```\n */\nexport const __experimentalGetCoreBlocks = () =>\n\tgetAllBlocks().filter(\n\t\t( { metadata } ) => ! isBlockMetadataExperimental( metadata )\n\t);\n\n/**\n * Function to register core blocks provided by the block editor.\n *\n * @param {Array} blocks An optional array of the core blocks being registered.\n *\n * @example\n * ```js\n * import { registerCoreBlocks } from '@wordpress/block-library';\n *\n * registerCoreBlocks();\n * ```\n */\nexport const registerCoreBlocks = (\n\tblocks = __experimentalGetCoreBlocks()\n) => {\n\tblocks.forEach( ( { init } ) => init() );\n\n\tsetDefaultBlockName( paragraph.name );\n\tif ( window.wp && window.wp.oldEditor ) {\n\t\tsetFreeformContentHandlerName( classic.name );\n\t}\n\tsetUnregisteredTypeHandlerName( missing.name );\n\tsetGroupingBlockName( group.name );\n};\n\n/**\n * Function to register experimental core blocks depending on editor settings.\n *\n * @param {boolean} enableFSEBlocks Whether to enable the full site editing blocks.\n * @example\n * ```js\n * import { __experimentalRegisterExperimentalCoreBlocks } from '@wordpress/block-library';\n *\n * __experimentalRegisterExperimentalCoreBlocks( settings );\n * ```\n */\nexport const __experimentalRegisterExperimentalCoreBlocks = process.env\n\t.IS_GUTENBERG_PLUGIN\n\t? ( { enableFSEBlocks } = {} ) => {\n\t\t\tconst enabledExperiments = [ enableFSEBlocks ? 'fse' : null ];\n\t\t\tgetAllBlocks()\n\t\t\t\t.filter( ( { metadata } ) =>\n\t\t\t\t\tisBlockMetadataExperimental( metadata )\n\t\t\t\t)\n\t\t\t\t.filter(\n\t\t\t\t\t( { metadata: { __experimental } } ) =>\n\t\t\t\t\t\t__experimental === true ||\n\t\t\t\t\t\tenabledExperiments.includes( __experimental )\n\t\t\t\t)\n\t\t\t\t.forEach( ( { init } ) => init() );\n\t }\n\t: undefined;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/index.js"],"names":["getAllBlocks","paragraph","image","heading","gallery","list","listItem","quote","archives","audio","button","buttons","calendar","categories","window","wp","oldEditor","classic","code","column","columns","commentAuthorAvatar","cover","embed","file","group","html","latestComments","latestPosts","mediaText","missing","more","nextpage","pageList","pageListItem","pattern","preformatted","pullquote","reusableBlock","rss","search","separator","shortcode","socialLink","socialLinks","spacer","table","tagCloud","textColumns","verse","video","navigation","navigationLink","navigationSubmenu","siteLogo","siteTitle","siteTagline","query","templatePart","avatar","postTitle","postExcerpt","postFeaturedImage","postContent","postAuthor","postAuthorName","postComment","postCommentsCount","postCommentsLink","postDate","postTerms","postNavigationLink","postTemplate","queryPagination","queryPaginationNext","queryPaginationNumbers","queryPaginationPrevious","queryNoResults","readMore","comments","commentAuthorName","commentContent","commentDate","commentEditLink","commentReplyLink","commentTemplate","commentsTitle","commentsPagination","commentsPaginationNext","commentsPaginationNumbers","commentsPaginationPrevious","postCommentsForm","tableOfContents","homeLink","logInOut","termDescription","queryTitle","postAuthorBiography","filter","Boolean","__experimentalGetCoreBlocks","metadata","registerCoreBlocks","blocks","forEach","init","name","__experimentalRegisterExperimentalCoreBlocks","process","env","IS_GUTENBERG_PLUGIN","enableFSEBlocks","enabledExperiments","__experimental","includes","undefined"],"mappings":";;;;;;;;;AAGA;;AAmBA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;;;AArHA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAkGA;AACA;AACA;AACA,MAAMA,YAAY,GAAG,MACpB,CACC;AACA;AACAC,SAHD,EAICC,KAJD,EAKCC,OALD,EAMCC,OAND,EAOCC,IAPD,EAQCC,QARD,EASCC,KATD,EAWC;AACAC,QAZD,EAaCC,KAbD,EAcCC,MAdD,EAeCC,OAfD,EAgBCC,QAhBD,EAiBCC,UAjBD,EAkBC,IAAKC,MAAM,CAACC,EAAP,IAAaD,MAAM,CAACC,EAAP,CAAUC,SAAvB,GAAmC,CAAEC,OAAF,CAAnC,GAAiD,EAAtD,CAlBD,EAkB6D;AAC5DC,IAnBD,EAoBCC,MApBD,EAqBCC,OArBD,EAsBCC,mBAtBD,EAuBCC,KAvBD,EAwBCC,KAxBD,EAyBCC,IAzBD,EA0BCC,KA1BD,EA2BCC,IA3BD,EA4BCC,cA5BD,EA6BCC,WA7BD,EA8BCC,SA9BD,EA+BCC,OA/BD,EAgCCC,IAhCD,EAiCCC,QAjCD,EAkCCC,QAlCD,EAmCCC,Y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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tsetDefaultBlockName,\n\tsetFreeformContentHandlerName,\n\tsetUnregisteredTypeHandlerName,\n\tsetGroupingBlockName,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\n// When IS_GUTENBERG_PLUGIN is set to false, imports of experimental blocks\n// are transformed by packages/block-library/src/index.js as follows:\n// import * as experimentalBlock from './experimental-block'\n// becomes\n// const experimentalBlock = null;\n// This enables webpack to eliminate the experimental blocks code from the\n// production build to make the final bundle smaller.\n//\n// See https://github.com/WordPress/gutenberg/pull/40655 for more context.\nimport * as archives from './archives';\nimport * as avatar from './avatar';\nimport * as audio from './audio';\nimport * as button from './button';\nimport * as buttons from './buttons';\nimport * as calendar from './calendar';\nimport * as categories from './categories';\nimport * as classic from './freeform';\nimport * as code from './code';\nimport * as column from './column';\nimport * as columns from './columns';\nimport * as comments from './comments';\nimport * as commentAuthorAvatar from './comment-author-avatar';\nimport * as commentAuthorName from './comment-author-name';\nimport * as commentContent from './comment-content';\nimport * as commentDate from './comment-date';\nimport * as commentEditLink from './comment-edit-link';\nimport * as commentReplyLink from './comment-reply-link';\nimport * as commentTemplate from './comment-template';\nimport * as commentsPaginationPrevious from './comments-pagination-previous';\nimport * as commentsPagination from './comments-pagination';\nimport * as commentsPaginationNext from './comments-pagination-next';\nimport * as commentsPaginationNumbers from './comments-pagination-numbers';\nimport * as commentsTitle from './comments-title';\nimport * as cover from './cover';\nimport * as embed from './embed';\nimport * as file from './file';\nimport * as gallery from './gallery';\nimport * as group from './group';\nimport * as heading from './heading';\nimport * as homeLink from './home-link';\nimport * as html from './html';\nimport * as image from './image';\nimport * as latestComments from './latest-comments';\nimport * as latestPosts from './latest-posts';\nimport * as list from './list';\nimport * as listItem from './list-item';\nimport * as logInOut from './loginout';\nimport * as mediaText from './media-text';\nimport * as missing from './missing';\nimport * as more from './more';\nimport * as navigation from './navigation';\nimport * as navigationLink from './navigation-link';\nimport * as navigationSubmenu from './navigation-submenu';\nimport * as nextpage from './nextpage';\nimport * as pattern from './pattern';\nimport * as pageList from './page-list';\nimport * as pageListItem from './page-list-item';\nimport * as paragraph from './paragraph';\nimport * as postAuthor from './post-author';\nimport * as postAuthorName from './post-author-name';\nimport * as postAuthorBiography from './post-author-biography';\nimport * as postComment from './post-comment';\nimport * as postCommentsCount from './post-comments-count';\nimport * as postCommentsForm from './post-comments-form';\nimport * as postCommentsLink from './post-comments-link';\nimport * as postContent from './post-content';\nimport * as postDate from './post-date';\nimport * as postExcerpt from './post-excerpt';\nimport * as postFeaturedImage from './post-featured-image';\nimport * as postNavigationLink from './post-navigation-link';\nimport * as postTemplate from './post-template';\nimport * as postTerms from './post-terms';\nimport * as postTitle from './post-title';\nimport * as preformatted from './preformatted';\nimport * as pullquote from './pullquote';\nimport * as query from './query';\nimport * as queryNoResults from './query-no-results';\nimport * as queryPagination from './query-pagination';\nimport * as queryPaginationNext from './query-pagination-next';\nimport * as queryPaginationNumbers from './query-pagination-numbers';\nimport * as queryPaginationPrevious from './query-pagination-previous';\nimport * as queryTitle from './query-title';\nimport * as quote from './quote';\nimport * as reusableBlock from './block';\nimport * as readMore from './read-more';\nimport * as rss from './rss';\nimport * as search from './search';\nimport * as separator from './separator';\nimport * as shortcode from './shortcode';\nimport * as siteLogo from './site-logo';\nimport * as siteTagline from './site-tagline';\nimport * as siteTitle from './site-title';\nimport * as socialLink from './social-link';\nimport * as socialLinks from './social-links';\nimport * as spacer from './spacer';\nimport * as table from './table';\nimport * as tableOfContents from './table-of-contents';\nimport * as tagCloud from './tag-cloud';\nimport * as templatePart from './template-part';\nimport * as termDescription from './term-description';\nimport * as textColumns from './text-columns';\nimport * as verse from './verse';\nimport * as video from './video';\n\nimport isBlockMetadataExperimental from './utils/is-block-metadata-experimental';\n\n/**\n * Function to get all the block-library blocks in an array\n */\nconst getAllBlocks = () =>\n\t[\n\t\t// Common blocks are grouped at the top to prioritize their display\n\t\t// in various contexts — like the inserter and auto-complete components.\n\t\tparagraph,\n\t\timage,\n\t\theading,\n\t\tgallery,\n\t\tlist,\n\t\tlistItem,\n\t\tquote,\n\n\t\t// Register all remaining core blocks.\n\t\tarchives,\n\t\taudio,\n\t\tbutton,\n\t\tbuttons,\n\t\tcalendar,\n\t\tcategories,\n\t\t...( window.wp && window.wp.oldEditor ? [ classic ] : [] ), // Only add the classic block in WP Context.\n\t\tcode,\n\t\tcolumn,\n\t\tcolumns,\n\t\tcommentAuthorAvatar,\n\t\tcover,\n\t\tembed,\n\t\tfile,\n\t\tgroup,\n\t\thtml,\n\t\tlatestComments,\n\t\tlatestPosts,\n\t\tmediaText,\n\t\tmissing,\n\t\tmore,\n\t\tnextpage,\n\t\tpageList,\n\t\tpageListItem,\n\t\tpattern,\n\t\tpreformatted,\n\t\tpullquote,\n\t\treusableBlock,\n\t\trss,\n\t\tsearch,\n\t\tseparator,\n\t\tshortcode,\n\t\tsocialLink,\n\t\tsocialLinks,\n\t\tspacer,\n\t\ttable,\n\t\ttagCloud,\n\t\ttextColumns,\n\t\tverse,\n\t\tvideo,\n\n\t\t// theme blocks\n\t\tnavigation,\n\t\tnavigationLink,\n\t\tnavigationSubmenu,\n\t\tsiteLogo,\n\t\tsiteTitle,\n\t\tsiteTagline,\n\t\tquery,\n\t\ttemplatePart,\n\t\tavatar,\n\t\tpostTitle,\n\t\tpostExcerpt,\n\t\tpostFeaturedImage,\n\t\tpostContent,\n\t\tpostAuthor,\n\t\tpostAuthorName,\n\t\tpostComment,\n\t\tpostCommentsCount,\n\t\tpostCommentsLink,\n\t\tpostDate,\n\t\tpostTerms,\n\t\tpostNavigationLink,\n\t\tpostTemplate,\n\t\tqueryPagination,\n\t\tqueryPaginationNext,\n\t\tqueryPaginationNumbers,\n\t\tqueryPaginationPrevious,\n\t\tqueryNoResults,\n\t\treadMore,\n\t\tcomments,\n\t\tcommentAuthorName,\n\t\tcommentContent,\n\t\tcommentDate,\n\t\tcommentEditLink,\n\t\tcommentReplyLink,\n\t\tcommentTemplate,\n\t\tcommentsTitle,\n\t\tcommentsPagination,\n\t\tcommentsPaginationNext,\n\t\tcommentsPaginationNumbers,\n\t\tcommentsPaginationPrevious,\n\t\tpostCommentsForm,\n\t\ttableOfContents,\n\t\thomeLink,\n\t\tlogInOut,\n\t\ttermDescription,\n\t\tqueryTitle,\n\t\tpostAuthorBiography,\n\t].filter( Boolean );\n\n/**\n * Function to get all the core blocks in an array.\n *\n * @example\n * ```js\n * import { __experimentalGetCoreBlocks } from '@wordpress/block-library';\n *\n * const coreBlocks = __experimentalGetCoreBlocks();\n * ```\n */\nexport const __experimentalGetCoreBlocks = () =>\n\tgetAllBlocks().filter(\n\t\t( { metadata } ) => ! isBlockMetadataExperimental( metadata )\n\t);\n\n/**\n * Function to register core blocks provided by the block editor.\n *\n * @param {Array} blocks An optional array of the core blocks being registered.\n *\n * @example\n * ```js\n * import { registerCoreBlocks } from '@wordpress/block-library';\n *\n * registerCoreBlocks();\n * ```\n */\nexport const registerCoreBlocks = (\n\tblocks = __experimentalGetCoreBlocks()\n) => {\n\tblocks.forEach( ( { init } ) => init() );\n\n\tsetDefaultBlockName( paragraph.name );\n\tif ( window.wp && window.wp.oldEditor ) {\n\t\tsetFreeformContentHandlerName( classic.name );\n\t}\n\tsetUnregisteredTypeHandlerName( missing.name );\n\tsetGroupingBlockName( group.name );\n};\n\n/**\n * Function to register experimental core blocks depending on editor settings.\n *\n * @param {boolean} enableFSEBlocks Whether to enable the full site editing blocks.\n * @example\n * ```js\n * import { __experimentalRegisterExperimentalCoreBlocks } from '@wordpress/block-library';\n *\n * __experimentalRegisterExperimentalCoreBlocks( settings );\n * ```\n */\nexport const __experimentalRegisterExperimentalCoreBlocks = process.env\n\t.IS_GUTENBERG_PLUGIN\n\t? ( { enableFSEBlocks } = {} ) => {\n\t\t\tconst enabledExperiments = [ enableFSEBlocks ? 'fse' : null ];\n\t\t\tgetAllBlocks()\n\t\t\t\t.filter( ( { metadata } ) =>\n\t\t\t\t\tisBlockMetadataExperimental( metadata )\n\t\t\t\t)\n\t\t\t\t.filter(\n\t\t\t\t\t( { metadata: { __experimental } } ) =>\n\t\t\t\t\t\t__experimental === true ||\n\t\t\t\t\t\tenabledExperiments.includes( __experimental )\n\t\t\t\t)\n\t\t\t\t.forEach( ( { init } ) => init() );\n\t }\n\t: undefined;\n"]}
@@ -67,6 +67,7 @@ function LatestComments(_ref) {
67
67
  displayExcerpt: !displayExcerpt
68
68
  })
69
69
  }), (0, _element.createElement)(_components.RangeControl, {
70
+ __nextHasNoMarginBottom: true,
70
71
  label: (0, _i18n.__)('Number of comments'),
71
72
  value: commentsToShow,
72
73
  onChange: value => setAttributes({
@@ -77,7 +78,8 @@ function LatestComments(_ref) {
77
78
  required: true
78
79
  }))), (0, _element.createElement)(_components.Disabled, null, (0, _element.createElement)(_serverSideRender.default, {
79
80
  block: "core/latest-comments",
80
- attributes: attributes // The preview uses the site's locale to make it more true to how
81
+ attributes: attributes,
82
+ skipBlockSupportAttributes: true // The preview uses the site's locale to make it more true to how
81
83
  // the block appears on the frontend. Setting the locale
82
84
  // explicitly prevents any middleware from setting it to 'user'.
83
85
  ,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/latest-comments/edit.js"],"names":["MIN_COMMENTS","MAX_COMMENTS","LatestComments","attributes","setAttributes","commentsToShow","displayAvatar","displayDate","displayExcerpt","value","_locale"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AAMA;;AACA;;AAXA;AACA;AACA;;AAWA;AACA;AACA;AACA;AACA;AACA,MAAMA,YAAY,GAAG,CAArB;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,YAAY,GAAG,GAArB;;AAEe,SAASC,cAAT,OAAyD;AAAA,MAAhC;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAgC;AACvE,QAAM;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA,aAAlB;AAAiCC,IAAAA,WAAjC;AAA8CC,IAAAA;AAA9C,MACLL,UADD;AAGA,SACC,mCAAU,iCAAV,EACC,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,UAAJ;AAAnB,KACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,gBAAJ,CADT;AAEC,IAAA,OAAO,EAAGG,aAFX;AAGC,IAAA,QAAQ,EAAG,MACVF,aAAa,CAAE;AAAEE,MAAAA,aAAa,EAAE,CAAEA;AAAnB,KAAF;AAJf,IADD,EAQC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,cAAJ,CADT;AAEC,IAAA,OAAO,EAAGC,WAFX;AAGC,IAAA,QAAQ,EAAG,MACVH,aAAa,CAAE;AAAEG,MAAAA,WAAW,EAAE,CAAEA;AAAjB,KAAF;AAJf,IARD,EAeC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,iBAAJ,CADT;AAEC,IAAA,OAAO,EAAGC,cAFX;AAGC,IAAA,QAAQ,EAAG,MACVJ,aAAa,CAAE;AACdI,MAAAA,cAAc,EAAE,CAAEA;AADJ,KAAF;AAJf,IAfD,EAwBC,4BAAC,wBAAD;AACC,IAAA,KAAK,EAAG,cAAI,oBAAJ,CADT;AAEC,IAAA,KAAK,EAAGH,cAFT;AAGC,IAAA,QAAQ,EAAKI,KAAF,IACVL,aAAa,CAAE;AAAEC,MAAAA,cAAc,EAAEI;AAAlB,KAAF,CAJf;AAMC,IAAA,GAAG,EAAGT,YANP;AAOC,IAAA,GAAG,EAAGC,YAPP;AAQC,IAAA,QAAQ;AART,IAxBD,CADD,CADD,EAsCC,4BAAC,oBAAD,QACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAC,sBADP;AAEC,IAAA,UAAU,EAAGE,UAFd,CAGC;AACA;AACA;AALD;AAMC,IAAA,YAAY,EAAG;AAAEO,MAAAA,OAAO,EAAE;AAAX;AANhB,IADD,CAtCD,CADD;AAmDA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport {\n\tDisabled,\n\tPanelBody,\n\tRangeControl,\n\tToggleControl,\n} from '@wordpress/components';\nimport ServerSideRender from '@wordpress/server-side-render';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Minimum number of comments a user can show using this block.\n *\n * @type {number}\n */\nconst MIN_COMMENTS = 1;\n/**\n * Maximum number of comments a user can show using this block.\n *\n * @type {number}\n */\nconst MAX_COMMENTS = 100;\n\nexport default function LatestComments( { attributes, setAttributes } ) {\n\tconst { commentsToShow, displayAvatar, displayDate, displayExcerpt } =\n\t\tattributes;\n\n\treturn (\n\t\t<div { ...useBlockProps() }>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display avatar' ) }\n\t\t\t\t\t\tchecked={ displayAvatar }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayAvatar: ! displayAvatar } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display date' ) }\n\t\t\t\t\t\tchecked={ displayDate }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayDate: ! displayDate } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display excerpt' ) }\n\t\t\t\t\t\tchecked={ displayExcerpt }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayExcerpt: ! displayExcerpt,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Number of comments' ) }\n\t\t\t\t\t\tvalue={ commentsToShow }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { commentsToShow: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ MIN_COMMENTS }\n\t\t\t\t\t\tmax={ MAX_COMMENTS }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<Disabled>\n\t\t\t\t<ServerSideRender\n\t\t\t\t\tblock=\"core/latest-comments\"\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t// The preview uses the site's locale to make it more true to how\n\t\t\t\t\t// the block appears on the frontend. Setting the locale\n\t\t\t\t\t// explicitly prevents any middleware from setting it to 'user'.\n\t\t\t\t\turlQueryArgs={ { _locale: 'site' } }\n\t\t\t\t/>\n\t\t\t</Disabled>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/latest-comments/edit.js"],"names":["MIN_COMMENTS","MAX_COMMENTS","LatestComments","attributes","setAttributes","commentsToShow","displayAvatar","displayDate","displayExcerpt","value","_locale"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AAMA;;AACA;;AAXA;AACA;AACA;;AAWA;AACA;AACA;AACA;AACA;AACA,MAAMA,YAAY,GAAG,CAArB;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,YAAY,GAAG,GAArB;;AAEe,SAASC,cAAT,OAAyD;AAAA,MAAhC;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAgC;AACvE,QAAM;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA,aAAlB;AAAiCC,IAAAA,WAAjC;AAA8CC,IAAAA;AAA9C,MACLL,UADD;AAGA,SACC,mCAAU,iCAAV,EACC,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,UAAJ;AAAnB,KACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,gBAAJ,CADT;AAEC,IAAA,OAAO,EAAGG,aAFX;AAGC,IAAA,QAAQ,EAAG,MACVF,aAAa,CAAE;AAAEE,MAAAA,aAAa,EAAE,CAAEA;AAAnB,KAAF;AAJf,IADD,EAQC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,cAAJ,CADT;AAEC,IAAA,OAAO,EAAGC,WAFX;AAGC,IAAA,QAAQ,EAAG,MACVH,aAAa,CAAE;AAAEG,MAAAA,WAAW,EAAE,CAAEA;AAAjB,KAAF;AAJf,IARD,EAeC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,iBAAJ,CADT;AAEC,IAAA,OAAO,EAAGC,cAFX;AAGC,IAAA,QAAQ,EAAG,MACVJ,aAAa,CAAE;AACdI,MAAAA,cAAc,EAAE,CAAEA;AADJ,KAAF;AAJf,IAfD,EAwBC,4BAAC,wBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,oBAAJ,CAFT;AAGC,IAAA,KAAK,EAAGH,cAHT;AAIC,IAAA,QAAQ,EAAKI,KAAF,IACVL,aAAa,CAAE;AAAEC,MAAAA,cAAc,EAAEI;AAAlB,KAAF,CALf;AAOC,IAAA,GAAG,EAAGT,YAPP;AAQC,IAAA,GAAG,EAAGC,YARP;AASC,IAAA,QAAQ;AATT,IAxBD,CADD,CADD,EAuCC,4BAAC,oBAAD,QACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAC,sBADP;AAEC,IAAA,UAAU,EAAGE,UAFd;AAGC,IAAA,0BAA0B,MAH3B,CAIC;AACA;AACA;AAND;AAOC,IAAA,YAAY,EAAG;AAAEO,MAAAA,OAAO,EAAE;AAAX;AAPhB,IADD,CAvCD,CADD;AAqDA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport {\n\tDisabled,\n\tPanelBody,\n\tRangeControl,\n\tToggleControl,\n} from '@wordpress/components';\nimport ServerSideRender from '@wordpress/server-side-render';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Minimum number of comments a user can show using this block.\n *\n * @type {number}\n */\nconst MIN_COMMENTS = 1;\n/**\n * Maximum number of comments a user can show using this block.\n *\n * @type {number}\n */\nconst MAX_COMMENTS = 100;\n\nexport default function LatestComments( { attributes, setAttributes } ) {\n\tconst { commentsToShow, displayAvatar, displayDate, displayExcerpt } =\n\t\tattributes;\n\n\treturn (\n\t\t<div { ...useBlockProps() }>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display avatar' ) }\n\t\t\t\t\t\tchecked={ displayAvatar }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayAvatar: ! displayAvatar } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display date' ) }\n\t\t\t\t\t\tchecked={ displayDate }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayDate: ! displayDate } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display excerpt' ) }\n\t\t\t\t\t\tchecked={ displayExcerpt }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayExcerpt: ! displayExcerpt,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Number of comments' ) }\n\t\t\t\t\t\tvalue={ commentsToShow }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { commentsToShow: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ MIN_COMMENTS }\n\t\t\t\t\t\tmax={ MAX_COMMENTS }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<Disabled>\n\t\t\t\t<ServerSideRender\n\t\t\t\t\tblock=\"core/latest-comments\"\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tskipBlockSupportAttributes\n\t\t\t\t\t// The preview uses the site's locale to make it more true to how\n\t\t\t\t\t// the block appears on the frontend. Setting the locale\n\t\t\t\t\t// explicitly prevents any middleware from setting it to 'user'.\n\t\t\t\t\turlQueryArgs={ { _locale: 'site' } }\n\t\t\t\t/>\n\t\t\t</Disabled>\n\t\t</div>\n\t);\n}\n"]}
@@ -51,7 +51,11 @@ const metadata = {
51
51
  },
52
52
  supports: {
53
53
  align: true,
54
- html: false
54
+ html: false,
55
+ spacing: {
56
+ margin: true,
57
+ padding: true
58
+ }
55
59
  },
56
60
  editorStyle: "wp-block-latest-comments-editor",
57
61
  style: "wp-block-latest-comments"
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/latest-comments/index.js"],"names":["name","metadata","settings","icon","example","edit","init"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAEA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,cADuB;AAEvBC,EAAAA,OAAO,EAAE,EAFc;AAGvBC,EAAAA,IAAI,EAAJA;AAHuB,CAAjB;;;AAMA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEN,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { comment as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/latest-comments/index.js"],"names":["name","metadata","settings","icon","example","edit","init"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAEA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,cADuB;AAEvBC,EAAAA,OAAO,EAAE,EAFc;AAGvBC,EAAAA,IAAI,EAAJA;AAHuB,CAAjB;;;AAMA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEN,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { comment as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
@@ -95,6 +95,19 @@ const metadata = {
95
95
  supports: {
96
96
  align: true,
97
97
  html: false,
98
+ color: {
99
+ gradients: true,
100
+ link: true,
101
+ __experimentalDefaultControls: {
102
+ background: true,
103
+ text: true,
104
+ link: true
105
+ }
106
+ },
107
+ spacing: {
108
+ margin: true,
109
+ padding: true
110
+ },
98
111
  typography: {
99
112
  fontSize: true,
100
113
  lineHeight: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/latest-posts/deprecated.js"],"names":["attributes","metadata","categories","type","supports","align","html","migrate","oldAttributes","id","Number","isEligible","save"],"mappings":";;;;;;;AAAA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAM;AAAEA,EAAAA;AAAF,IAAiBC,QAAvB;eAEe,CACd;AACCD,EAAAA,UAAU,EAAE,EACX,GAAGA,UADQ;AAEXE,IAAAA,UAAU,EAAE;AACXC,MAAAA,IAAI,EAAE;AADK;AAFD,GADb;AAOCC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,KAAK,EAAE,IADE;AAETC,IAAAA,IAAI,EAAE;AAFG,GAPX;AAWCC,EAAAA,OAAO,EAAIC,aAAF,IAAqB;AAC7B;AACA,WAAO,EACN,GAAGA,aADG;AAENN,MAAAA,UAAU,EAAE,CAAE;AAAEO,QAAAA,EAAE,EAAEC,MAAM,CAAEF,aAAa,CAACN,UAAhB;AAAZ,OAAF;AAFN,KAAP;AAIA,GAjBF;AAkBCS,EAAAA,UAAU,EAAE;AAAA,QAAE;AAAET,MAAAA;AAAF,KAAF;AAAA,WACXA,UAAU,IAAI,aAAa,OAAOA,UADvB;AAAA,GAlBb;AAoBCU,EAAAA,IAAI,EAAE,MAAM;AApBb,CADc,C","sourcesContent":["/**\n * Internal dependencies\n */\nimport metadata from './block.json';\n\nconst { attributes } = metadata;\n\nexport default [\n\t{\n\t\tattributes: {\n\t\t\t...attributes,\n\t\t\tcategories: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tsupports: {\n\t\t\talign: true,\n\t\t\thtml: false,\n\t\t},\n\t\tmigrate: ( oldAttributes ) => {\n\t\t\t// This needs the full category object, not just the ID.\n\t\t\treturn {\n\t\t\t\t...oldAttributes,\n\t\t\t\tcategories: [ { id: Number( oldAttributes.categories ) } ],\n\t\t\t};\n\t\t},\n\t\tisEligible: ( { categories } ) =>\n\t\t\tcategories && 'string' === typeof categories,\n\t\tsave: () => null,\n\t},\n];\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/latest-posts/deprecated.js"],"names":["attributes","metadata","categories","type","supports","align","html","migrate","oldAttributes","id","Number","isEligible","save"],"mappings":";;;;;;;AAAA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAM;AAAEA,EAAAA;AAAF,IAAiBC,QAAvB;eAEe,CACd;AACCD,EAAAA,UAAU,EAAE,EACX,GAAGA,UADQ;AAEXE,IAAAA,UAAU,EAAE;AACXC,MAAAA,IAAI,EAAE;AADK;AAFD,GADb;AAOCC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,KAAK,EAAE,IADE;AAETC,IAAAA,IAAI,EAAE;AAFG,GAPX;AAWCC,EAAAA,OAAO,EAAIC,aAAF,IAAqB;AAC7B;AACA,WAAO,EACN,GAAGA,aADG;AAENN,MAAAA,UAAU,EAAE,CAAE;AAAEO,QAAAA,EAAE,EAAEC,MAAM,CAAEF,aAAa,CAACN,UAAhB;AAAZ,OAAF;AAFN,KAAP;AAIA,GAjBF;AAkBCS,EAAAA,UAAU,EAAE;AAAA,QAAE;AAAET,MAAAA;AAAF,KAAF;AAAA,WACXA,UAAU,IAAI,aAAa,OAAOA,UADvB;AAAA,GAlBb;AAoBCU,EAAAA,IAAI,EAAE,MAAM;AApBb,CADc,C","sourcesContent":["/**\n * Internal dependencies\n */\nimport metadata from './block.json';\n\nconst { attributes } = metadata;\n\nexport default [\n\t{\n\t\tattributes: {\n\t\t\t...attributes,\n\t\t\tcategories: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tsupports: {\n\t\t\talign: true,\n\t\t\thtml: false,\n\t\t},\n\t\tmigrate: ( oldAttributes ) => {\n\t\t\t// This needs the full category object, not just the ID.\n\t\t\treturn {\n\t\t\t\t...oldAttributes,\n\t\t\t\tcategories: [ { id: Number( oldAttributes.categories ) } ],\n\t\t\t};\n\t\t},\n\t\tisEligible: ( { categories } ) =>\n\t\t\tcategories && 'string' === typeof categories,\n\t\tsave: () => null,\n\t},\n];\n"]}
@@ -210,6 +210,7 @@ function LatestPostsEdit(_ref) {
210
210
  displayPostContentRadio: value
211
211
  })
212
212
  }), displayPostContent && displayPostContentRadio === 'excerpt' && (0, _element.createElement)(_components.RangeControl, {
213
+ __nextHasNoMarginBottom: true,
213
214
  label: (0, _i18n.__)('Max number of words in excerpt'),
214
215
  value: excerptLength,
215
216
  onChange: value => setAttributes({
@@ -303,6 +304,7 @@ function LatestPostsEdit(_ref) {
303
304
  authorList: authorList !== null && authorList !== void 0 ? authorList : [],
304
305
  selectedAuthorId: selectedAuthor
305
306
  }), postLayout === 'grid' && (0, _element.createElement)(_components.RangeControl, {
307
+ __nextHasNoMarginBottom: true,
306
308
  label: (0, _i18n.__)('Columns'),
307
309
  value: columns,
308
310
  onChange: value => setAttributes({
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/latest-posts/edit.js"],"names":["CATEGORIES_LIST_QUERY","per_page","context","USERS_LIST_QUERY","has_published_posts","getFeaturedImageDetails","post","size","image","url","media_details","sizes","source_url","alt","alt_text","LatestPostsEdit","attributes","setAttributes","instanceId","postsToShow","order","orderBy","categories","selectedAuthor","displayFeaturedImage","displayPostContentRadio","displayPostContent","displayPostDate","displayAuthor","postLayout","columns","excerptLength","featuredImageAlign","featuredImageSizeSlug","featuredImageSizeWidth","featuredImageSizeHeight","addLinkToFeaturedImage","imageSizes","latestPosts","defaultImageWidth","defaultImageHeight","categoriesList","authorList","select","getEntityRecords","getUsers","coreStore","settings","blockEditorStore","getSettings","catIds","length","map","cat","id","latestPostsQuery","author","orderby","_embed","value","imageDimensions","createWarningNotice","removeNotice","noticeStore","noticeId","showRedirectionPreventedNotice","event","preventDefault","type","imageSizeOptions","filter","slug","name","label","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","includes","hasPosts","inspectorControls","MIN_EXCERPT_LENGTH","MAX_EXCERPT_LENGTH","newAttrs","hasOwnProperty","width","height","undefined","Number","MAX_POSTS_COLUMNS","Math","min","blockProps","className","pin","Array","isArray","displayPosts","slice","layoutControls","icon","list","title","onClick","isActive","grid","dateFormat","formats","date","i","titleTrimmed","rendered","trim","excerpt","currentAuthor","find","excerptElement","document","createElement","innerHTML","textContent","innerText","imageSourceUrl","featuredImageAlt","imageClasses","renderFeaturedImage","featuredImage","maxWidth","maxHeight","needsReadMore","split","raw","postExcerpt","join","link","__html","date_gmt","content"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get, pickBy } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBaseControl,\n\tPanelBody,\n\tPlaceholder,\n\tQueryControls,\n\tRadioControl,\n\tRangeControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { dateI18n, format, getSettings } from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tBlockAlignmentToolbar,\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 { pin, list, grid } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { useInstanceId } from '@wordpress/compose';\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 = get( 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 = pickBy(\n\t\t\t\t{\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},\n\t\t\t\t( value ) => typeof value !== 'undefined'\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tdefaultImageWidth: get(\n\t\t\t\t\tsettings.imageDimensions,\n\t\t\t\t\t[ featuredImageSizeSlug, 'width' ],\n\t\t\t\t\t0\n\t\t\t\t),\n\t\t\t\tdefaultImageHeight: get(\n\t\t\t\t\tsettings.imageDimensions,\n\t\t\t\t\t[ featuredImageSizeSlug, 'height' ],\n\t\t\t\t\t0\n\t\t\t\t),\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 hasPosts = !! latestPosts?.length;\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Post content settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayPostContent: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t<RadioControl\n\t\t\t\t\t\tlabel={ __( 'Show:' ) }\n\t\t\t\t\t\tselected={ displayPostContentRadio }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ label: __( 'Excerpt' ), value: 'excerpt' },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Full post' ),\n\t\t\t\t\t\t\t\tvalue: 'full_post',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayPostContentRadio: value,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ displayPostContent &&\n\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words in excerpt' ) }\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 settings' ) }>\n\t\t\t\t<ToggleControl\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\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 settings' ) }>\n\t\t\t\t<ToggleControl\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\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<BaseControl className=\"editor-latest-posts-image-alignment-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Image alignment' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<BlockAlignmentToolbar\n\t\t\t\t\t\t\t\tvalue={ featuredImageAlign }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfeaturedImageAlign: value,\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\tcontrols={ [ 'left', 'center', 'right' ] }\n\t\t\t\t\t\t\t\tisCollapsed={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t\t<ToggleControl\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\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: classnames( {\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: __( 'List view' ),\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: __( 'Grid view' ),\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<div>\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, i ) => {\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 = classnames( {\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{ /* translators: excerpt truncation character, default … */ }\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\thref={ post.link }\n\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\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{ __( 'Read more' ) }\n\t\t\t\t\t\t\t</a>\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={ i }>\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\tclassName=\"wp-block-latest-posts__post-title\"\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\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</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/latest-posts/edit.js"],"names":["CATEGORIES_LIST_QUERY","per_page","context","USERS_LIST_QUERY","has_published_posts","getFeaturedImageDetails","post","size","image","url","media_details","sizes","source_url","alt","alt_text","LatestPostsEdit","attributes","setAttributes","instanceId","postsToShow","order","orderBy","categories","selectedAuthor","displayFeaturedImage","displayPostContentRadio","displayPostContent","displayPostDate","displayAuthor","postLayout","columns","excerptLength","featuredImageAlign","featuredImageSizeSlug","featuredImageSizeWidth","featuredImageSizeHeight","addLinkToFeaturedImage","imageSizes","latestPosts","defaultImageWidth","defaultImageHeight","categoriesList","authorList","select","getEntityRecords","getUsers","coreStore","settings","blockEditorStore","getSettings","catIds","length","map","cat","id","latestPostsQuery","author","orderby","_embed","value","imageDimensions","createWarningNotice","removeNotice","noticeStore","noticeId","showRedirectionPreventedNotice","event","preventDefault","type","imageSizeOptions","filter","slug","name","label","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","includes","hasPosts","inspectorControls","MIN_EXCERPT_LENGTH","MAX_EXCERPT_LENGTH","newAttrs","hasOwnProperty","width","height","undefined","Number","MAX_POSTS_COLUMNS","Math","min","blockProps","className","pin","Array","isArray","displayPosts","slice","layoutControls","icon","list","title","onClick","isActive","grid","dateFormat","formats","date","i","titleTrimmed","rendered","trim","excerpt","currentAuthor","find","excerptElement","document","createElement","innerHTML","textContent","innerText","imageSourceUrl","featuredImageAlt","imageClasses","renderFeaturedImage","featuredImage","maxWidth","maxHeight","needsReadMore","split","raw","postExcerpt","join","link","__html","date_gmt","content"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AAKA;;AAWA;;AACA;;AACA;;AAQA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AAvCA;AACA;AACA;;AAIA;AACA;AACA;;AA4BA;AACA;AACA;;AAOA;AACA;AACA;AACA,MAAMA,qBAAqB,GAAG;AAC7BC,EAAAA,QAAQ,EAAE,CAAC,CADkB;AAE7BC,EAAAA,OAAO,EAAE;AAFoB,CAA9B;AAIA,MAAMC,gBAAgB,GAAG;AACxBF,EAAAA,QAAQ,EAAE,CAAC,CADa;AAExBG,EAAAA,mBAAmB,EAAE,CAAE,MAAF,CAFG;AAGxBF,EAAAA,OAAO,EAAE;AAHe,CAAzB;;AAMA,SAASG,uBAAT,CAAkCC,IAAlC,EAAwCC,IAAxC,EAA+C;AAAA;;AAC9C,QAAMC,KAAK,GAAG,iBAAKF,IAAL,EAAW,CAAE,WAAF,EAAe,kBAAf,EAAmC,GAAnC,CAAX,CAAd;AAEA,SAAO;AACNG,IAAAA,GAAG,2BACFD,KADE,aACFA,KADE,+CACFA,KAAK,CAAEE,aADL,mFACF,qBAAsBC,KADpB,qFACF,uBAA+BJ,IAA/B,CADE,2DACF,uBAAuCK,UADrC,yEAEFJ,KAFE,aAEFA,KAFE,uBAEFA,KAAK,CAAEI,UAHF;AAINC,IAAAA,GAAG,EAAEL,KAAF,aAAEA,KAAF,uBAAEA,KAAK,CAAEM;AAJN,GAAP;AAMA;;AAEc,SAASC,eAAT,OAA0D;AAAA;;AAAA,MAAhC;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAgC;AACxE,QAAMC,UAAU,GAAG,4BAAeH,eAAf,CAAnB;AACA,QAAM;AACLI,IAAAA,WADK;AAELC,IAAAA,KAFK;AAGLC,IAAAA,OAHK;AAILC,IAAAA,UAJK;AAKLC,IAAAA,cALK;AAMLC,IAAAA,oBANK;AAOLC,IAAAA,uBAPK;AAQLC,IAAAA,kBARK;AASLC,IAAAA,eATK;AAULC,IAAAA,aAVK;AAWLC,IAAAA,UAXK;AAYLC,IAAAA,OAZK;AAaLC,IAAAA,aAbK;AAcLC,IAAAA,kBAdK;AAeLC,IAAAA,qBAfK;AAgBLC,IAAAA,sBAhBK;AAiBLC,IAAAA,uBAjBK;AAkBLC,IAAAA;AAlBK,MAmBFpB,UAnBJ;AAoBA,QAAM;AACLqB,IAAAA,UADK;AAELC,IAAAA,WAFK;AAGLC,IAAAA,iBAHK;AAILC,IAAAA,kBAJK;AAKLC,IAAAA,cALK;AAMLC,IAAAA;AANK,MAOF,qBACDC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA,gBAAF;AAAoBC,MAAAA;AAApB,QAAiCF,MAAM,CAAEG,eAAF,CAA7C;AACA,UAAMC,QAAQ,GAAGJ,MAAM,CAAEK,kBAAF,CAAN,CAA2BC,WAA3B,EAAjB;AACA,UAAMC,MAAM,GACX5B,UAAU,IAAIA,UAAU,CAAC6B,MAAX,GAAoB,CAAlC,GACG7B,UAAU,CAAC8B,GAAX,CAAkBC,GAAF,IAAWA,GAAG,CAACC,EAA/B,CADH,GAEG,EAHJ;AAIA,UAAMC,gBAAgB,GAAG,oBACxB;AACCjC,MAAAA,UAAU,EAAE4B,MADb;AAECM,MAAAA,MAAM,EAAEjC,cAFT;AAGCH,MAAAA,KAHD;AAICqC,MAAAA,OAAO,EAAEpC,OAJV;AAKCpB,MAAAA,QAAQ,EAAEkB,WALX;AAMCuC,MAAAA,MAAM,EAAE;AANT,KADwB,EAStBC,KAAF,IAAa,OAAOA,KAAP,KAAiB,WATN,CAAzB;AAYA,WAAO;AACNpB,MAAAA,iBAAiB,EAAE,iBAClBQ,QAAQ,CAACa,eADS,EAElB,CAAE3B,qBAAF,EAAyB,OAAzB,CAFkB,EAGlB,CAHkB,CADb;AAMNO,MAAAA,kBAAkB,EAAE,iBACnBO,QAAQ,CAACa,eADU,EAEnB,CAAE3B,qBAAF,EAAyB,QAAzB,CAFmB,EAGnB,CAHmB,CANd;AAWNI,MAAAA,UAAU,EAAEU,QAAQ,CAACV,UAXf;AAYNC,MAAAA,WAAW,EAAEM,gBAAgB,CAC5B,UAD4B,EAE5B,MAF4B,EAG5BW,gBAH4B,CAZvB;AAiBNd,MAAAA,cAAc,EAAEG,gBAAgB,CAC/B,UAD+B,EAE/B,UAF+B,EAG/B5C,qBAH+B,CAjB1B;AAsBN0C,MAAAA,UAAU,EAAEG,QAAQ,CAAE1C,gBAAF;AAtBd,KAAP;AAwBA,GA5CE,EA6CH,CACC8B,qBADD,EAECd,WAFD,EAGCC,KAHD,EAICC,OAJD,EAKCC,UALD,EAMCC,cAND,CA7CG,CAPJ,CAtBwE,CAoFxE;;AACA,QAAM;AAAEsC,IAAAA,mBAAF;AAAuBC,IAAAA;AAAvB,MAAwC,uBAAaC,cAAb,CAA9C;AACA,MAAIC,QAAJ;;AACA,QAAMC,8BAA8B,GAAKC,KAAF,IAAa;AACnDA,IAAAA,KAAK,CAACC,cAAN,GADmD,CAEnD;;AACAL,IAAAA,YAAY,CAAEE,QAAF,CAAZ;AACAA,IAAAA,QAAQ,GAAI,yDAAyD9C,UAAY,EAAjF;AACA2C,IAAAA,mBAAmB,CAAE,cAAI,mCAAJ,CAAF,EAA6C;AAC/DP,MAAAA,EAAE,EAAEU,QAD2D;AAE/DI,MAAAA,IAAI,EAAE;AAFyD,KAA7C,CAAnB;AAIA,GATD;;AAWA,QAAMC,gBAAgB,GAAGhC,UAAU,CACjCiC,MADuB,CACf;AAAA,QAAE;AAAEC,MAAAA;AAAF,KAAF;AAAA,WAAgBA,IAAI,KAAK,MAAzB;AAAA,GADe,EAEvBnB,GAFuB,CAElB;AAAA,QAAE;AAAEoB,MAAAA,IAAF;AAAQD,MAAAA;AAAR,KAAF;AAAA,WAAwB;AAC7BZ,MAAAA,KAAK,EAAEY,IADsB;AAE7BE,MAAAA,KAAK,EAAED;AAFsB,KAAxB;AAAA,GAFkB,CAAzB;AAMA,QAAME,mBAAmB,4BACxBjC,cADwB,aACxBA,cADwB,uBACxBA,cAAc,CAAEkC,MAAhB,CACC,CAAEC,WAAF,EAAeC,QAAf,MAA+B,EAC9B,GAAGD,WAD2B;AAE9B,KAAEC,QAAQ,CAACL,IAAX,GAAmBK;AAFW,GAA/B,CADD,EAKC,EALD,CADwB,yEAOnB,EAPN;;AAQA,QAAMC,gBAAgB,GAAKC,MAAF,IAAc;AACtC,UAAMC,eAAe,GAAGD,MAAM,CAACE,IAAP,CACrBC,KAAF,IACC,OAAOA,KAAP,KAAiB,QAAjB,IAA6B,CAAER,mBAAmB,CAAEQ,KAAF,CAF5B,CAAxB;;AAIA,QAAKF,eAAL,EAAuB;AACtB;AACA,KAPqC,CAQtC;AACA;;;AACA,UAAMG,aAAa,GAAGJ,MAAM,CAAC3B,GAAP,CAAc8B,KAAF,IAAa;AAC9C,aAAO,OAAOA,KAAP,KAAiB,QAAjB,GACJR,mBAAmB,CAAEQ,KAAF,CADf,GAEJA,KAFH;AAGA,KAJqB,CAAtB,CAVsC,CAetC;AACA;;AACA,QAAKC,aAAa,CAACC,QAAd,CAAwB,IAAxB,CAAL,EAAsC;AACrC,aAAO,KAAP;AACA;;AACDnE,IAAAA,aAAa,CAAE;AAAEK,MAAAA,UAAU,EAAE6D;AAAd,KAAF,CAAb;AACA,GArBD;;AAuBA,QAAME,QAAQ,GAAG,CAAC,EAAE/C,WAAF,aAAEA,WAAF,eAAEA,WAAW,CAAEa,MAAf,CAAlB;AACA,QAAMmC,iBAAiB,GACtB,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,uBAAJ;AAAnB,KACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,cAAJ,CADT;AAEC,IAAA,OAAO,EAAG5D,kBAFX;AAGC,IAAA,QAAQ,EAAKiC,KAAF,IACV1C,aAAa,CAAE;AAAES,MAAAA,kBAAkB,EAAEiC;AAAtB,KAAF;AAJf,IADD,EAQGjC,kBAAkB,IACnB,4BAAC,wBAAD;AACC,IAAA,KAAK,EAAG,cAAI,OAAJ,CADT;AAEC,IAAA,QAAQ,EAAGD,uBAFZ;AAGC,IAAA,OAAO,EAAG,CACT;AAAEgD,MAAAA,KAAK,EAAE,cAAI,SAAJ,CAAT;AAA0Bd,MAAAA,KAAK,EAAE;AAAjC,KADS,EAET;AACCc,MAAAA,KAAK,EAAE,cAAI,WAAJ,CADR;AAECd,MAAAA,KAAK,EAAE;AAFR,KAFS,CAHX;AAUC,IAAA,QAAQ,EAAKA,KAAF,IACV1C,aAAa,CAAE;AACdQ,MAAAA,uBAAuB,EAAEkC;AADX,KAAF;AAXf,IATF,EA0BGjC,kBAAkB,IACnBD,uBAAuB,KAAK,SAD3B,IAEA,4BAAC,wBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,gCAAJ,CAFT;AAGC,IAAA,KAAK,EAAGM,aAHT;AAIC,IAAA,QAAQ,EAAK4B,KAAF,IACV1C,aAAa,CAAE;AAAEc,MAAAA,aAAa,EAAE4B;AAAjB,KAAF,CALf;AAOC,IAAA,GAAG,EAAG4B,6BAPP;AAQC,IAAA,GAAG,EAAGC;AARP,IA5BH,CADD,EA0CC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,oBAAJ;AAAnB,KACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,qBAAJ,CADT;AAEC,IAAA,OAAO,EAAG5D,aAFX;AAGC,IAAA,QAAQ,EAAK+B,KAAF,IACV1C,aAAa,CAAE;AAAEW,MAAAA,aAAa,EAAE+B;AAAjB,KAAF;AAJf,IADD,EAQC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,mBAAJ,CADT;AAEC,IAAA,OAAO,EAAGhC,eAFX;AAGC,IAAA,QAAQ,EAAKgC,KAAF,IACV1C,aAAa,CAAE;AAAEU,MAAAA,eAAe,EAAEgC;AAAnB,KAAF;AAJf,IARD,CA1CD,EA2DC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,yBAAJ;AAAnB,KACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,wBAAJ,CADT;AAEC,IAAA,OAAO,EAAGnC,oBAFX;AAGC,IAAA,QAAQ,EAAKmC,KAAF,IACV1C,aAAa,CAAE;AAAEO,MAAAA,oBAAoB,EAAEmC;AAAxB,KAAF;AAJf,IADD,EAQGnC,oBAAoB,IACrB,qDACC,4BAAC,2CAAD;AACC,IAAA,QAAQ,EAAKmC,KAAF,IAAa;AACvB,YAAM8B,QAAQ,GAAG,EAAjB;;AACA,UAAK9B,KAAK,CAAC+B,cAAN,CAAsB,OAAtB,CAAL,EAAuC;AACtCD,QAAAA,QAAQ,CAACvD,sBAAT,GACCyB,KAAK,CAACgC,KADP;AAEA;;AACD,UAAKhC,KAAK,CAAC+B,cAAN,CAAsB,QAAtB,CAAL,EAAwC;AACvCD,QAAAA,QAAQ,CAACtD,uBAAT,GACCwB,KAAK,CAACiC,MADP;AAEA;;AACD3E,MAAAA,aAAa,CAAEwE,QAAF,CAAb;AACA,KAZF;AAaC,IAAA,IAAI,EAAGxD,qBAbR;AAcC,IAAA,KAAK,EAAGC,sBAdT;AAeC,IAAA,MAAM,EAAGC,uBAfV;AAgBC,IAAA,UAAU,EAAGI,iBAhBd;AAiBC,IAAA,WAAW,EAAGC,kBAjBf;AAkBC,IAAA,gBAAgB,EAAG6B,gBAlBpB;AAmBC,IAAA,aAAa,EAAKV,KAAF,IACf1C,aAAa,CAAE;AACdgB,MAAAA,qBAAqB,EAAE0B,KADT;AAEdzB,MAAAA,sBAAsB,EAAE2D,SAFV;AAGd1D,MAAAA,uBAAuB,EAAE0D;AAHX,KAAF;AApBf,IADD,EA4BC,4BAAC,uBAAD;AAAa,IAAA,SAAS,EAAC;AAAvB,KACC,4BAAC,uBAAD,CAAa,WAAb,QACG,cAAI,iBAAJ,CADH,CADD,EAIC,4BAAC,kCAAD;AACC,IAAA,KAAK,EAAG7D,kBADT;AAEC,IAAA,QAAQ,EAAK2B,KAAF,IACV1C,aAAa,CAAE;AACde,MAAAA,kBAAkB,EAAE2B;AADN,KAAF,CAHf;AAOC,IAAA,QAAQ,EAAG,CAAE,MAAF,EAAU,QAAV,EAAoB,OAApB,CAPZ;AAQC,IAAA,WAAW,EAAG;AARf,IAJD,CA5BD,EA2CC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,4BAAJ,CADT;AAEC,IAAA,OAAO,EAAGvB,sBAFX;AAGC,IAAA,QAAQ,EAAKuB,KAAF,IACV1C,aAAa,CAAE;AACdmB,MAAAA,sBAAsB,EAAEuB;AADV,KAAF;AAJf,IA3CD,CATF,CA3DD,EA4HC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,uBAAJ;AAAnB,KACC,4BAAC,yBAAD;AACQvC,IAAAA,KADR;AACeC,IAAAA,OADf;AAEC,IAAA,aAAa,EAAGF,WAFjB;AAGC,IAAA,aAAa,EAAKwC,KAAF,IACf1C,aAAa,CAAE;AAAEG,MAAAA,KAAK,EAAEuC;AAAT,KAAF,CAJf;AAMC,IAAA,eAAe,EAAKA,KAAF,IACjB1C,aAAa,CAAE;AAAEI,MAAAA,OAAO,EAAEsC;AAAX,KAAF,CAPf;AASC,IAAA,qBAAqB,EAAKA,KAAF,IACvB1C,aAAa,CAAE;AAAEE,MAAAA,WAAW,EAAEwC;AAAf,KAAF,CAVf;AAYC,IAAA,mBAAmB,EAAGe,mBAZvB;AAaC,IAAA,gBAAgB,EAAGI,gBAbpB;AAcC,IAAA,kBAAkB,EAAGxD,UAdtB;AAeC,IAAA,cAAc,EAAKqC,KAAF,IAChB1C,aAAa,CAAE;AACdM,MAAAA,cAAc,EACb,OAAOoC,KAAP,GAAemC,MAAM,CAAEnC,KAAF,CAArB,GAAiCkC;AAFpB,KAAF,CAhBf;AAqBC,IAAA,UAAU,EAAGnD,UAAH,aAAGA,UAAH,cAAGA,UAAH,GAAiB,EArB5B;AAsBC,IAAA,gBAAgB,EAAGnB;AAtBpB,IADD,EA0BGM,UAAU,KAAK,MAAf,IACD,4BAAC,wBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,SAAJ,CAFT;AAGC,IAAA,KAAK,EAAGC,OAHT;AAIC,IAAA,QAAQ,EAAK6B,KAAF,IACV1C,aAAa,CAAE;AAAEa,MAAAA,OAAO,EAAE6B;AAAX,KAAF,CALf;AAOC,IAAA,GAAG,EAAG,CAPP;AAQC,IAAA,GAAG,EACF,CAAE0B,QAAF,GACGU,4BADH,GAEGC,IAAI,CAACC,GAAL,CACAF,4BADA,EAEAzD,WAAW,CAACa,MAFZ,CAXL;AAgBC,IAAA,QAAQ;AAhBT,IA3BF,CA5HD,CADD;AA+KA,QAAM+C,UAAU,GAAG,gCAAe;AACjCC,IAAAA,SAAS,EAAE,yBAAY;AACtB,qCAA+B,IADT;AAEtB,iBAAWtE,UAAU,KAAK,MAFJ;AAGtB,mBAAaF,eAHS;AAItB,oBAAcC,aAJQ;AAKtB,OAAG,WAAWE,OAAS,EAAvB,GAA4BD,UAAU,KAAK;AALrB,KAAZ;AADsB,GAAf,CAAnB;;AAUA,MAAK,CAAEwD,QAAP,EAAkB;AACjB,WACC,mCAAUa,UAAV,EACGZ,iBADH,EAEC,4BAAC,uBAAD;AAAa,MAAA,IAAI,EAAGc,UAApB;AAA0B,MAAA,KAAK,EAAG,cAAI,cAAJ;AAAlC,OACG,CAAEC,KAAK,CAACC,OAAN,CAAehE,WAAf,CAAF,GACD,4BAAC,mBAAD,OADC,GAGD,cAAI,iBAAJ,CAJF,CAFD,CADD;AAYA,GA9UuE,CAgVxE;;;AACA,QAAMiE,YAAY,GACjBjE,WAAW,CAACa,MAAZ,GAAqBhC,WAArB,GACGmB,WAAW,CAACkE,KAAZ,CAAmB,CAAnB,EAAsBrF,WAAtB,CADH,GAEGmB,WAHJ;AAKA,QAAMmE,cAAc,GAAG,CACtB;AACCC,IAAAA,IAAI,EAAEC,WADP;AAECC,IAAAA,KAAK,EAAE,cAAI,WAAJ,CAFR;AAGCC,IAAAA,OAAO,EAAE,MAAM5F,aAAa,CAAE;AAAEY,MAAAA,UAAU,EAAE;AAAd,KAAF,CAH7B;AAICiF,IAAAA,QAAQ,EAAEjF,UAAU,KAAK;AAJ1B,GADsB,EAOtB;AACC6E,IAAAA,IAAI,EAAEK,WADP;AAECH,IAAAA,KAAK,EAAE,cAAI,WAAJ,CAFR;AAGCC,IAAAA,OAAO,EAAE,MAAM5F,aAAa,CAAE;AAAEY,MAAAA,UAAU,EAAE;AAAd,KAAF,CAH7B;AAICiF,IAAAA,QAAQ,EAAEjF,UAAU,KAAK;AAJ1B,GAPsB,CAAvB;AAeA,QAAMmF,UAAU,GAAG,yBAAcC,OAAd,CAAsBC,IAAzC;AAEA,SACC,yCACG5B,iBADH,EAEC,4BAAC,0BAAD,QACC,4BAAC,wBAAD;AAAc,IAAA,QAAQ,EAAGmB;AAAzB,IADD,CAFD,EAKC,kCAASP,UAAT,EACGK,YAAY,CAACnD,GAAb,CAAkB,CAAE9C,IAAF,EAAQ6G,CAAR,KAAe;AAClC,UAAMC,YAAY,GAAG9G,IAAI,CAACsG,KAAL,CAAWS,QAAX,CAAoBC,IAApB,EAArB;AACA,QAAIC,OAAO,GAAGjH,IAAI,CAACiH,OAAL,CAAaF,QAA3B;AACA,UAAMG,aAAa,GAAG9E,UAAH,aAAGA,UAAH,uBAAGA,UAAU,CAAE+E,IAAZ,CACnBjE,MAAF,IAAcA,MAAM,CAACF,EAAP,KAAchD,IAAI,CAACkD,MADZ,CAAtB;AAIA,UAAMkE,cAAc,GAAGC,QAAQ,CAACC,aAAT,CAAwB,KAAxB,CAAvB;AACAF,IAAAA,cAAc,CAACG,SAAf,GAA2BN,OAA3B;AAEAA,IAAAA,OAAO,GACNG,cAAc,CAACI,WAAf,IACAJ,cAAc,CAACK,SADf,IAEA,EAHD;AAKA,UAAM;AAAEtH,MAAAA,GAAG,EAAEuH,cAAP;AAAuBnH,MAAAA,GAAG,EAAEoH;AAA5B,QACL5H,uBAAuB,CAAEC,IAAF,EAAQ2B,qBAAR,CADxB;AAEA,UAAMiG,YAAY,GAAG,yBAAY;AAChC,+CAAyC,IADT;AAEhC,OAAG,QAAQlG,kBAAoB,EAA/B,GACC,CAAC,CAAEA;AAH4B,KAAZ,CAArB;AAKA,UAAMmG,mBAAmB,GACxB3G,oBAAoB,IAAIwG,cADzB;AAEA,UAAMI,aAAa,GAAGD,mBAAmB,IACxC;AACC,MAAA,GAAG,EAAGH,cADP;AAEC,MAAA,GAAG,EAAGC,gBAFP;AAGC,MAAA,KAAK,EAAG;AACPI,QAAAA,QAAQ,EAAEnG,sBADH;AAEPoG,QAAAA,SAAS,EAAEnG;AAFJ;AAHT,MADD;AAWA,UAAMoG,aAAa,GAClBxG,aAAa,GAAGwF,OAAO,CAACD,IAAR,GAAekB,KAAf,CAAsB,GAAtB,EAA4BrF,MAA5C,IACA7C,IAAI,CAACiH,OAAL,CAAakB,GAAb,KAAqB,EAFtB;AAIA,UAAMC,WAAW,GAAGH,aAAa,GAChC,qDACGhB,OAAO,CACPD,IADA,GAEAkB,KAFA,CAEO,GAFP,EAEYzG,aAFZ,EAGA4G,IAHA,CAGM,GAHN,CADH,EAMG,cAAI,KAAJ,CANH,EAOC;AACC,MAAA,IAAI,EAAGrI,IAAI,CAACsI,IADb;AAEC,MAAA,GAAG,EAAC,qBAFL;AAGC,MAAA,OAAO,EAAG3E;AAHX,OAKG,cAAI,WAAJ,CALH,CAPD,CADgC,GAiBhCsD,OAjBD;AAoBA,WACC;AAAI,MAAA,GAAG,EAAGJ;AAAV,OACGgB,mBAAmB,IACpB;AAAK,MAAA,SAAS,EAAGD;AAAjB,OACG9F,sBAAsB,GACvB;AACC,MAAA,SAAS,EAAC,mCADX;AAEC,MAAA,IAAI,EAAG9B,IAAI,CAACsI,IAFb;AAGC,MAAA,GAAG,EAAC,qBAHL;AAIC,MAAA,OAAO,EACN3E;AALF,OAQGmE,aARH,CADuB,GAYvBA,aAbF,CAFF,EAmBC;AACC,MAAA,IAAI,EAAG9H,IAAI,CAACsI,IADb;AAEC,MAAA,GAAG,EAAC,qBAFL;AAGC,MAAA,uBAAuB,EACtB,CAAC,CAAExB,YAAH,GACG;AACAyB,QAAAA,MAAM,EAAEzB;AADR,OADH,GAIGvB,SARL;AAUC,MAAA,OAAO,EAAG5B;AAVX,OAYG,CAAEmD,YAAF,GAAiB,cAAI,YAAJ,CAAjB,GAAsC,IAZzC,CAnBD,EAiCGxF,aAAa,IAAI4F,aAAjB,IACD;AAAK,MAAA,SAAS,EAAC;AAAf,OACG;AACD;AACA,kBAAI,OAAJ,CAFC,EAGDA,aAAa,CAAChD,IAHb,CADH,CAlCF,EA0CG7C,eAAe,IAAIrB,IAAI,CAACwI,QAAxB,IACD;AACC,MAAA,QAAQ,EAAG,kBAAQ,GAAR,EAAaxI,IAAI,CAACwI,QAAlB,CADZ;AAEC,MAAA,SAAS,EAAC;AAFX,OAIG,oBAAU9B,UAAV,EAAsB1G,IAAI,CAACwI,QAA3B,CAJH,CA3CF,EAkDGpH,kBAAkB,IACnBD,uBAAuB,KAAK,SAD3B,IAEA;AAAK,MAAA,SAAS,EAAC;AAAf,OACGiH,WADH,CApDH,EAwDGhH,kBAAkB,IACnBD,uBAAuB,KAAK,WAD3B,IAEA;AACC,MAAA,SAAS,EAAC,0CADX;AAEC,MAAA,uBAAuB,EAAG;AACzBoH,QAAAA,MAAM,EAAEvI,IAAI,CAACyI,OAAL,CAAaN,GAAb,CAAiBnB,IAAjB;AADiB;AAF3B,MA1DH,CADD;AAoEA,GA/HC,CADH,CALD,CADD;AA0IA","sourcesContent":["/**\n * External dependencies\n */\nimport { get, pickBy } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBaseControl,\n\tPanelBody,\n\tPlaceholder,\n\tQueryControls,\n\tRadioControl,\n\tRangeControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { dateI18n, format, getSettings } from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tBlockAlignmentToolbar,\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 { pin, list, grid } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { useInstanceId } from '@wordpress/compose';\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 = get( 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 = pickBy(\n\t\t\t\t{\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},\n\t\t\t\t( value ) => typeof value !== 'undefined'\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tdefaultImageWidth: get(\n\t\t\t\t\tsettings.imageDimensions,\n\t\t\t\t\t[ featuredImageSizeSlug, 'width' ],\n\t\t\t\t\t0\n\t\t\t\t),\n\t\t\t\tdefaultImageHeight: get(\n\t\t\t\t\tsettings.imageDimensions,\n\t\t\t\t\t[ featuredImageSizeSlug, 'height' ],\n\t\t\t\t\t0\n\t\t\t\t),\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 hasPosts = !! latestPosts?.length;\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Post content settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayPostContent: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t<RadioControl\n\t\t\t\t\t\tlabel={ __( 'Show:' ) }\n\t\t\t\t\t\tselected={ displayPostContentRadio }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ label: __( 'Excerpt' ), value: 'excerpt' },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Full post' ),\n\t\t\t\t\t\t\t\tvalue: 'full_post',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayPostContentRadio: value,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ displayPostContent &&\n\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words in excerpt' ) }\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 settings' ) }>\n\t\t\t\t<ToggleControl\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\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 settings' ) }>\n\t\t\t\t<ToggleControl\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\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<BaseControl className=\"editor-latest-posts-image-alignment-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Image alignment' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<BlockAlignmentToolbar\n\t\t\t\t\t\t\t\tvalue={ featuredImageAlign }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfeaturedImageAlign: value,\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\tcontrols={ [ 'left', 'center', 'right' ] }\n\t\t\t\t\t\t\t\tisCollapsed={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t\t<ToggleControl\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\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: classnames( {\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: __( 'List view' ),\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: __( 'Grid view' ),\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<div>\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, i ) => {\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 = classnames( {\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{ /* translators: excerpt truncation character, default … */ }\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\thref={ post.link }\n\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\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{ __( 'Read more' ) }\n\t\t\t\t\t\t\t</a>\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={ i }>\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\tclassName=\"wp-block-latest-posts__post-title\"\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\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</div>\n\t);\n}\n"]}
@@ -109,6 +109,19 @@ const metadata = {
109
109
  supports: {
110
110
  align: true,
111
111
  html: false,
112
+ color: {
113
+ gradients: true,
114
+ link: true,
115
+ __experimentalDefaultControls: {
116
+ background: true,
117
+ text: true,
118
+ link: true
119
+ }
120
+ },
121
+ spacing: {
122
+ margin: true,
123
+ padding: true
124
+ },
112
125
  typography: {
113
126
  fontSize: true,
114
127
  lineHeight: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/latest-posts/index.js"],"names":["name","metadata","settings","icon","example","edit","deprecated","init"],"mappings":";;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,eADuB;AAEvBC,EAAAA,OAAO,EAAE,EAFc;AAGvBC,EAAAA,IAAI,EAAJA,aAHuB;AAIvBC,EAAAA,UAAU,EAAVA;AAJuB,CAAjB;;;AAOA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEP,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postList as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\tedit,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/latest-posts/index.js"],"names":["name","metadata","settings","icon","example","edit","deprecated","init"],"mappings":";;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,eADuB;AAEvBC,EAAAA,OAAO,EAAE,EAFc;AAGvBC,EAAAA,IAAI,EAAJA,aAHuB;AAIvBC,EAAAA,UAAU,EAAVA;AAJuB,CAAjB;;;AAOA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEP,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postList as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\tedit,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}