@wordpress/block-library 7.5.0 → 7.6.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 (527) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +3 -2
  3. package/babel-plugin.js +154 -0
  4. package/build/audio/edit.js +1 -1
  5. package/build/audio/edit.js.map +1 -1
  6. package/build/block/edit.js +10 -9
  7. package/build/block/edit.js.map +1 -1
  8. package/build/button/index.js +1 -0
  9. package/build/button/index.js.map +1 -1
  10. package/build/categories/edit.js +1 -1
  11. package/build/categories/edit.js.map +1 -1
  12. package/build/categories/index.js +1 -1
  13. package/build/comment-author-avatar/index.js +1 -0
  14. package/build/comment-author-avatar/index.js.map +1 -1
  15. package/build/comments-title/deprecated.js +110 -0
  16. package/build/comments-title/deprecated.js.map +1 -0
  17. package/build/comments-title/edit.js +35 -37
  18. package/build/comments-title/edit.js.map +1 -1
  19. package/build/comments-title/index.js +5 -8
  20. package/build/comments-title/index.js.map +1 -1
  21. package/build/cover/controls.native.js +2 -3
  22. package/build/cover/controls.native.js.map +1 -1
  23. package/build/cover/edit/block-controls.js +115 -0
  24. package/build/cover/edit/block-controls.js.map +1 -0
  25. package/build/cover/edit/cover-placeholder.js +49 -0
  26. package/build/cover/edit/cover-placeholder.js.map +1 -0
  27. package/build/cover/edit/index.js +333 -0
  28. package/build/cover/edit/index.js.map +1 -0
  29. package/build/cover/edit/inspector-controls.js +224 -0
  30. package/build/cover/edit/inspector-controls.js.map +1 -0
  31. package/build/cover/edit/resizable-cover.js +67 -0
  32. package/build/cover/edit/resizable-cover.js.map +1 -0
  33. package/build/cover/{use-cover-is-dark.js → edit/use-cover-is-dark.js} +0 -0
  34. package/build/cover/edit/use-cover-is-dark.js.map +1 -0
  35. package/build/cover/edit.native.js +0 -1
  36. package/build/cover/edit.native.js.map +1 -1
  37. package/build/cover/focal-point-settings-button.native.js.map +1 -1
  38. package/build/cover/shared.js +9 -0
  39. package/build/cover/shared.js.map +1 -1
  40. package/build/embed/embed-preview.js +1 -1
  41. package/build/embed/embed-preview.js.map +1 -1
  42. package/build/file/edit.native.js +0 -1
  43. package/build/file/edit.native.js.map +1 -1
  44. package/build/gallery/edit.js +2 -1
  45. package/build/gallery/edit.js.map +1 -1
  46. package/build/gallery/gallery.js +1 -1
  47. package/build/gallery/gallery.js.map +1 -1
  48. package/build/gallery/shared.js +2 -2
  49. package/build/gallery/shared.js.map +1 -1
  50. package/build/gallery/use-get-media.js +2 -1
  51. package/build/gallery/use-get-media.js.map +1 -1
  52. package/build/gallery/use-short-code-transform.js +19 -18
  53. package/build/gallery/use-short-code-transform.js.map +1 -1
  54. package/build/gallery/v1/gallery.js +1 -1
  55. package/build/gallery/v1/gallery.js.map +1 -1
  56. package/build/heading/edit.js +6 -2
  57. package/build/heading/edit.js.map +1 -1
  58. package/build/heading/index.js +1 -0
  59. package/build/heading/index.js.map +1 -1
  60. package/build/heading/transforms.js +1 -0
  61. package/build/heading/transforms.js.map +1 -1
  62. package/build/image/edit.js +5 -2
  63. package/build/image/edit.js.map +1 -1
  64. package/build/image/edit.native.js +0 -1
  65. package/build/image/edit.native.js.map +1 -1
  66. package/build/image/image.js +1 -1
  67. package/build/image/image.js.map +1 -1
  68. package/build/index.js +46 -10
  69. package/build/index.js.map +1 -1
  70. package/build/is-block-metadata-experimental.js +18 -0
  71. package/build/is-block-metadata-experimental.js.map +1 -0
  72. package/build/latest-posts/edit.js +30 -4
  73. package/build/latest-posts/edit.js.map +1 -1
  74. package/build/list/transforms.js +6 -0
  75. package/build/list/transforms.js.map +1 -1
  76. package/build/list/v2/edit.js +2 -1
  77. package/build/list/v2/edit.js.map +1 -1
  78. package/build/list/v2/migrate.js +1 -0
  79. package/build/list/v2/migrate.js.map +1 -1
  80. package/build/list/v2/transforms.js +46 -9
  81. package/build/list/v2/transforms.js.map +1 -1
  82. package/build/list-item/edit.js +7 -9
  83. package/build/list-item/edit.js.map +1 -1
  84. package/build/list-item/hooks/index.js +24 -0
  85. package/build/list-item/hooks/index.js.map +1 -1
  86. package/build/list-item/hooks/use-backspace.js +59 -0
  87. package/build/list-item/hooks/use-backspace.js.map +1 -0
  88. package/build/list-item/hooks/use-enter.js +6 -9
  89. package/build/list-item/hooks/use-enter.js.map +1 -1
  90. package/build/list-item/hooks/use-indent-list-item.js +33 -39
  91. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  92. package/build/list-item/hooks/use-space.js +54 -0
  93. package/build/list-item/hooks/use-space.js.map +1 -0
  94. package/build/list-item/hooks/use-split.js +30 -0
  95. package/build/list-item/hooks/use-split.js.map +1 -0
  96. package/build/list-item/index.js +1 -0
  97. package/build/list-item/index.js.map +1 -1
  98. package/build/list-item/utils.js +1 -1
  99. package/build/list-item/utils.js.map +1 -1
  100. package/build/media-text/edit.native.js +2 -1
  101. package/build/media-text/edit.native.js.map +1 -1
  102. package/build/media-text/media-container.native.js +2 -4
  103. package/build/media-text/media-container.native.js.map +1 -1
  104. package/build/media-text/transforms.js +137 -8
  105. package/build/media-text/transforms.js.map +1 -1
  106. package/build/navigation/edit/index.js +86 -81
  107. package/build/navigation/edit/index.js.map +1 -1
  108. package/build/navigation/edit/inner-blocks.js +1 -5
  109. package/build/navigation/edit/inner-blocks.js.map +1 -1
  110. package/build/navigation/use-navigation-entities.js +3 -3
  111. package/build/navigation/use-navigation-entities.js.map +1 -1
  112. package/build/navigation-link/fallback-variations.js +1 -1
  113. package/build/navigation-link/fallback-variations.js.map +1 -1
  114. package/build/navigation-link/hooks.js +1 -1
  115. package/build/navigation-link/hooks.js.map +1 -1
  116. package/build/page-list/convert-to-links-modal.js +1 -1
  117. package/build/page-list/convert-to-links-modal.js.map +1 -1
  118. package/build/page-list/edit.js +1 -1
  119. package/build/page-list/edit.js.map +1 -1
  120. package/build/post-author/edit.js +1 -1
  121. package/build/post-author/edit.js.map +1 -1
  122. package/build/post-author-name/index.js +1 -0
  123. package/build/post-author-name/index.js.map +1 -1
  124. package/build/post-comment/index.js +1 -0
  125. package/build/post-comment/index.js.map +1 -1
  126. package/build/post-comments/edit.js +34 -16
  127. package/build/post-comments/edit.js.map +1 -1
  128. package/build/post-comments-count/index.js +1 -0
  129. package/build/post-comments-count/index.js.map +1 -1
  130. package/build/post-comments-form/form.js +1 -1
  131. package/build/post-comments-form/form.js.map +1 -1
  132. package/build/post-comments-link/index.js +1 -0
  133. package/build/post-comments-link/index.js.map +1 -1
  134. package/build/post-featured-image/edit.js +1 -1
  135. package/build/post-featured-image/edit.js.map +1 -1
  136. package/build/post-template/edit.js +7 -2
  137. package/build/post-template/edit.js.map +1 -1
  138. package/build/post-terms/edit.js +11 -2
  139. package/build/post-terms/edit.js.map +1 -1
  140. package/build/post-terms/hooks.js +33 -0
  141. package/build/post-terms/hooks.js.map +1 -0
  142. package/build/post-terms/index.js +12 -5
  143. package/build/post-terms/index.js.map +1 -1
  144. package/build/post-title/index.js +1 -1
  145. package/build/post-title/index.js.map +1 -1
  146. package/build/pullquote/edit.js +1 -1
  147. package/build/pullquote/edit.js.map +1 -1
  148. package/build/pullquote/edit.native.js +1 -1
  149. package/build/pullquote/edit.native.js.map +1 -1
  150. package/build/query/edit/inspector-controls/index.js +26 -17
  151. package/build/query/edit/inspector-controls/index.js.map +1 -1
  152. package/build/query/edit/inspector-controls/parent-control.js +148 -0
  153. package/build/query/edit/inspector-controls/parent-control.js.map +1 -0
  154. package/build/query/edit/inspector-controls/sticky-control.js +41 -0
  155. package/build/query/edit/inspector-controls/sticky-control.js.map +1 -0
  156. package/build/query/index.js +2 -1
  157. package/build/query/index.js.map +1 -1
  158. package/build/query/utils.js +28 -2
  159. package/build/query/utils.js.map +1 -1
  160. package/build/query-title/index.js +1 -1
  161. package/build/query-title/index.js.map +1 -1
  162. package/build/query-title/variations.js +1 -1
  163. package/build/query-title/variations.js.map +1 -1
  164. package/build/quote/edit.js +3 -2
  165. package/build/quote/edit.js.map +1 -1
  166. package/build/quote/v2/edit.js +1 -1
  167. package/build/quote/v2/edit.js.map +1 -1
  168. package/build/search/edit.js +1 -0
  169. package/build/search/edit.js.map +1 -1
  170. package/build/site-logo/edit.js +1 -1
  171. package/build/site-logo/edit.js.map +1 -1
  172. package/build/table/edit.js +15 -2
  173. package/build/table/edit.js.map +1 -1
  174. package/build/table-of-contents/edit.js +138 -66
  175. package/build/table-of-contents/edit.js.map +1 -1
  176. package/build/table-of-contents/index.js +13 -3
  177. package/build/table-of-contents/index.js.map +1 -1
  178. package/build/table-of-contents/list.js +16 -9
  179. package/build/table-of-contents/list.js.map +1 -1
  180. package/build/table-of-contents/save.js +40 -0
  181. package/build/table-of-contents/save.js.map +1 -0
  182. package/build/table-of-contents/utils.js +11 -77
  183. package/build/table-of-contents/utils.js.map +1 -1
  184. package/build/template-part/edit/index.js +7 -3
  185. package/build/template-part/edit/index.js.map +1 -1
  186. package/build/template-part/edit/inner-blocks.js +3 -8
  187. package/build/template-part/edit/inner-blocks.js.map +1 -1
  188. package/build/video/edit.js +1 -1
  189. package/build/video/edit.js.map +1 -1
  190. package/build-module/audio/edit.js +2 -2
  191. package/build-module/audio/edit.js.map +1 -1
  192. package/build-module/block/edit.js +11 -10
  193. package/build-module/block/edit.js.map +1 -1
  194. package/build-module/button/index.js +1 -0
  195. package/build-module/button/index.js.map +1 -1
  196. package/build-module/categories/edit.js +1 -1
  197. package/build-module/categories/edit.js.map +1 -1
  198. package/build-module/categories/index.js +1 -1
  199. package/build-module/comment-author-avatar/index.js +1 -0
  200. package/build-module/comment-author-avatar/index.js.map +1 -1
  201. package/build-module/comments-title/deprecated.js +102 -0
  202. package/build-module/comments-title/deprecated.js.map +1 -0
  203. package/build-module/comments-title/edit.js +38 -40
  204. package/build-module/comments-title/edit.js.map +1 -1
  205. package/build-module/comments-title/index.js +4 -8
  206. package/build-module/comments-title/index.js.map +1 -1
  207. package/build-module/cover/controls.native.js +2 -3
  208. package/build-module/cover/controls.native.js.map +1 -1
  209. package/build-module/cover/edit/block-controls.js +104 -0
  210. package/build-module/cover/edit/block-controls.js.map +1 -0
  211. package/build-module/cover/edit/cover-placeholder.js +38 -0
  212. package/build-module/cover/edit/cover-placeholder.js.map +1 -0
  213. package/build-module/cover/edit/index.js +307 -0
  214. package/build-module/cover/edit/index.js.map +1 -0
  215. package/build-module/cover/edit/inspector-controls.js +215 -0
  216. package/build-module/cover/edit/inspector-controls.js.map +1 -0
  217. package/build-module/cover/edit/resizable-cover.js +55 -0
  218. package/build-module/cover/edit/resizable-cover.js.map +1 -0
  219. package/build-module/cover/{use-cover-is-dark.js → edit/use-cover-is-dark.js} +0 -0
  220. package/build-module/cover/edit/use-cover-is-dark.js.map +1 -0
  221. package/build-module/cover/edit.native.js +0 -1
  222. package/build-module/cover/edit.native.js.map +1 -1
  223. package/build-module/cover/focal-point-settings-button.native.js.map +1 -1
  224. package/build-module/cover/shared.js +7 -0
  225. package/build-module/cover/shared.js.map +1 -1
  226. package/build-module/embed/embed-preview.js +2 -2
  227. package/build-module/embed/embed-preview.js.map +1 -1
  228. package/build-module/file/edit.native.js +0 -1
  229. package/build-module/file/edit.native.js.map +1 -1
  230. package/build-module/gallery/edit.js +2 -1
  231. package/build-module/gallery/edit.js.map +1 -1
  232. package/build-module/gallery/gallery.js +2 -2
  233. package/build-module/gallery/gallery.js.map +1 -1
  234. package/build-module/gallery/shared.js +2 -2
  235. package/build-module/gallery/shared.js.map +1 -1
  236. package/build-module/gallery/use-get-media.js +2 -1
  237. package/build-module/gallery/use-get-media.js.map +1 -1
  238. package/build-module/gallery/use-short-code-transform.js +19 -18
  239. package/build-module/gallery/use-short-code-transform.js.map +1 -1
  240. package/build-module/gallery/v1/gallery.js +2 -2
  241. package/build-module/gallery/v1/gallery.js.map +1 -1
  242. package/build-module/heading/edit.js +6 -2
  243. package/build-module/heading/edit.js.map +1 -1
  244. package/build-module/heading/index.js +1 -0
  245. package/build-module/heading/index.js.map +1 -1
  246. package/build-module/heading/transforms.js +1 -0
  247. package/build-module/heading/transforms.js.map +1 -1
  248. package/build-module/image/edit.js +6 -3
  249. package/build-module/image/edit.js.map +1 -1
  250. package/build-module/image/edit.native.js +0 -1
  251. package/build-module/image/edit.native.js.map +1 -1
  252. package/build-module/image/image.js +2 -2
  253. package/build-module/image/image.js.map +1 -1
  254. package/build-module/index.js +42 -10
  255. package/build-module/index.js.map +1 -1
  256. package/build-module/is-block-metadata-experimental.js +16 -0
  257. package/build-module/is-block-metadata-experimental.js.map +1 -0
  258. package/build-module/latest-posts/edit.js +29 -5
  259. package/build-module/latest-posts/edit.js.map +1 -1
  260. package/build-module/list/transforms.js +6 -0
  261. package/build-module/list/transforms.js.map +1 -1
  262. package/build-module/list/v2/edit.js +2 -1
  263. package/build-module/list/v2/edit.js.map +1 -1
  264. package/build-module/list/v2/migrate.js +1 -3
  265. package/build-module/list/v2/migrate.js.map +1 -1
  266. package/build-module/list/v2/transforms.js +46 -9
  267. package/build-module/list/v2/transforms.js.map +1 -1
  268. package/build-module/list-item/edit.js +8 -9
  269. package/build-module/list-item/edit.js.map +1 -1
  270. package/build-module/list-item/hooks/index.js +3 -0
  271. package/build-module/list-item/hooks/index.js.map +1 -1
  272. package/build-module/list-item/hooks/use-backspace.js +44 -0
  273. package/build-module/list-item/hooks/use-backspace.js.map +1 -0
  274. package/build-module/list-item/hooks/use-enter.js +6 -9
  275. package/build-module/list-item/hooks/use-enter.js.map +1 -1
  276. package/build-module/list-item/hooks/use-indent-list-item.js +33 -38
  277. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  278. package/build-module/list-item/hooks/use-space.js +40 -0
  279. package/build-module/list-item/hooks/use-space.js.map +1 -0
  280. package/build-module/list-item/hooks/use-split.js +19 -0
  281. package/build-module/list-item/hooks/use-split.js.map +1 -0
  282. package/build-module/list-item/index.js +1 -0
  283. package/build-module/list-item/index.js.map +1 -1
  284. package/build-module/list-item/utils.js +1 -1
  285. package/build-module/list-item/utils.js.map +1 -1
  286. package/build-module/media-text/edit.native.js +2 -1
  287. package/build-module/media-text/edit.native.js.map +1 -1
  288. package/build-module/media-text/media-container.native.js +2 -4
  289. package/build-module/media-text/media-container.native.js.map +1 -1
  290. package/build-module/media-text/transforms.js +137 -8
  291. package/build-module/media-text/transforms.js.map +1 -1
  292. package/build-module/navigation/edit/index.js +87 -82
  293. package/build-module/navigation/edit/index.js.map +1 -1
  294. package/build-module/navigation/edit/inner-blocks.js +2 -6
  295. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  296. package/build-module/navigation/use-navigation-entities.js +1 -1
  297. package/build-module/navigation/use-navigation-entities.js.map +1 -1
  298. package/build-module/navigation-link/fallback-variations.js +1 -1
  299. package/build-module/navigation-link/fallback-variations.js.map +1 -1
  300. package/build-module/navigation-link/hooks.js +2 -2
  301. package/build-module/navigation-link/hooks.js.map +1 -1
  302. package/build-module/page-list/convert-to-links-modal.js +1 -1
  303. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  304. package/build-module/page-list/edit.js +1 -1
  305. package/build-module/page-list/edit.js.map +1 -1
  306. package/build-module/post-author/edit.js +1 -1
  307. package/build-module/post-author/edit.js.map +1 -1
  308. package/build-module/post-author-name/index.js +1 -0
  309. package/build-module/post-author-name/index.js.map +1 -1
  310. package/build-module/post-comment/index.js +1 -0
  311. package/build-module/post-comment/index.js.map +1 -1
  312. package/build-module/post-comments/edit.js +35 -16
  313. package/build-module/post-comments/edit.js.map +1 -1
  314. package/build-module/post-comments-count/index.js +1 -0
  315. package/build-module/post-comments-count/index.js.map +1 -1
  316. package/build-module/post-comments-form/form.js +1 -1
  317. package/build-module/post-comments-form/form.js.map +1 -1
  318. package/build-module/post-comments-link/index.js +1 -0
  319. package/build-module/post-comments-link/index.js.map +1 -1
  320. package/build-module/post-featured-image/edit.js +1 -1
  321. package/build-module/post-featured-image/edit.js.map +1 -1
  322. package/build-module/post-template/edit.js +7 -2
  323. package/build-module/post-template/edit.js.map +1 -1
  324. package/build-module/post-terms/edit.js +10 -3
  325. package/build-module/post-terms/edit.js.map +1 -1
  326. package/build-module/post-terms/hooks.js +25 -0
  327. package/build-module/post-terms/hooks.js.map +1 -0
  328. package/build-module/post-terms/index.js +10 -8
  329. package/build-module/post-terms/index.js.map +1 -1
  330. package/build-module/post-title/index.js +1 -1
  331. package/build-module/post-title/index.js.map +1 -1
  332. package/build-module/pullquote/edit.js +2 -2
  333. package/build-module/pullquote/edit.js.map +1 -1
  334. package/build-module/pullquote/edit.native.js +2 -2
  335. package/build-module/pullquote/edit.native.js.map +1 -1
  336. package/build-module/query/edit/inspector-controls/index.js +24 -17
  337. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  338. package/build-module/query/edit/inspector-controls/parent-control.js +135 -0
  339. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -0
  340. package/build-module/query/edit/inspector-controls/sticky-control.js +31 -0
  341. package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -0
  342. package/build-module/query/index.js +2 -1
  343. package/build-module/query/index.js.map +1 -1
  344. package/build-module/query/utils.js +21 -0
  345. package/build-module/query/utils.js.map +1 -1
  346. package/build-module/query-title/index.js +1 -1
  347. package/build-module/query-title/index.js.map +1 -1
  348. package/build-module/query-title/variations.js +2 -2
  349. package/build-module/query-title/variations.js.map +1 -1
  350. package/build-module/quote/edit.js +4 -3
  351. package/build-module/quote/edit.js.map +1 -1
  352. package/build-module/quote/v2/edit.js +2 -2
  353. package/build-module/quote/v2/edit.js.map +1 -1
  354. package/build-module/search/edit.js +1 -0
  355. package/build-module/search/edit.js.map +1 -1
  356. package/build-module/site-logo/edit.js +1 -1
  357. package/build-module/site-logo/edit.js.map +1 -1
  358. package/build-module/table/edit.js +17 -4
  359. package/build-module/table/edit.js.map +1 -1
  360. package/build-module/table-of-contents/edit.js +136 -68
  361. package/build-module/table-of-contents/edit.js.map +1 -1
  362. package/build-module/table-of-contents/index.js +12 -3
  363. package/build-module/table-of-contents/index.js.map +1 -1
  364. package/build-module/table-of-contents/list.js +18 -10
  365. package/build-module/table-of-contents/list.js.map +1 -1
  366. package/build-module/table-of-contents/save.js +28 -0
  367. package/build-module/table-of-contents/save.js.map +1 -0
  368. package/build-module/table-of-contents/utils.js +11 -73
  369. package/build-module/table-of-contents/utils.js.map +1 -1
  370. package/build-module/template-part/edit/index.js +8 -4
  371. package/build-module/template-part/edit/index.js.map +1 -1
  372. package/build-module/template-part/edit/inner-blocks.js +4 -9
  373. package/build-module/template-part/edit/inner-blocks.js.map +1 -1
  374. package/build-module/video/edit.js +2 -2
  375. package/build-module/video/edit.js.map +1 -1
  376. package/build-style/editor-rtl.css +4 -6
  377. package/build-style/editor.css +4 -6
  378. package/build-style/image/editor-rtl.css +1 -1
  379. package/build-style/image/editor.css +1 -1
  380. package/build-style/post-comments/style-rtl.css +22 -0
  381. package/build-style/post-comments/style.css +22 -0
  382. package/build-style/post-comments-form/style-rtl.css +1 -3
  383. package/build-style/post-comments-form/style.css +1 -3
  384. package/build-style/separator/editor-rtl.css +1 -0
  385. package/build-style/separator/editor.css +1 -0
  386. package/build-style/style-rtl.css +23 -3
  387. package/build-style/style.css +23 -3
  388. package/build-style/video/editor-rtl.css +2 -5
  389. package/build-style/video/editor.css +2 -5
  390. package/build-types/table-of-contents/list.d.ts +12 -0
  391. package/build-types/table-of-contents/list.d.ts.map +1 -0
  392. package/build-types/table-of-contents/utils.d.ts +24 -0
  393. package/build-types/table-of-contents/utils.d.ts.map +1 -0
  394. package/package.json +30 -29
  395. package/src/audio/edit.js +4 -2
  396. package/src/avatar/block.json +0 -1
  397. package/src/avatar/index.php +2 -2
  398. package/src/block/edit.js +39 -42
  399. package/src/block/test/edit.native.js +1 -1
  400. package/src/button/block.json +1 -0
  401. package/src/categories/block.json +1 -1
  402. package/src/categories/edit.js +1 -1
  403. package/src/comment-author-avatar/block.json +1 -0
  404. package/src/comments-title/block.json +0 -6
  405. package/src/comments-title/deprecated.js +34 -0
  406. package/src/comments-title/edit.js +44 -100
  407. package/src/comments-title/index.js +3 -1
  408. package/src/comments-title/index.php +41 -23
  409. package/src/cover/controls.native.js +1 -2
  410. package/src/cover/edit/block-controls.js +119 -0
  411. package/src/cover/edit/cover-placeholder.js +39 -0
  412. package/src/cover/edit/index.js +381 -0
  413. package/src/cover/edit/inspector-controls.js +286 -0
  414. package/src/cover/edit/resizable-cover.js +55 -0
  415. package/src/cover/{use-cover-is-dark.js → edit/use-cover-is-dark.js} +0 -0
  416. package/src/cover/edit.native.js +0 -1
  417. package/src/cover/editor.scss +1 -1
  418. package/src/cover/focal-point-settings-button.native.js +1 -1
  419. package/src/cover/index.php +20 -37
  420. package/src/cover/shared.js +4 -0
  421. package/src/cover/test/block-controls.js +62 -0
  422. package/src/embed/embed-preview.js +4 -2
  423. package/src/file/edit.native.js +0 -1
  424. package/src/gallery/edit.js +2 -1
  425. package/src/gallery/gallery.js +2 -2
  426. package/src/gallery/shared.js +3 -2
  427. package/src/gallery/use-get-media.js +2 -1
  428. package/src/gallery/use-short-code-transform.js +19 -16
  429. package/src/gallery/v1/gallery.js +2 -2
  430. package/src/heading/block.json +1 -0
  431. package/src/heading/edit.js +5 -2
  432. package/src/image/edit.js +9 -1
  433. package/src/image/edit.native.js +0 -1
  434. package/src/image/editor.scss +1 -1
  435. package/src/image/image.js +8 -2
  436. package/src/image/test/edit.native.js +7 -7
  437. package/src/index.js +50 -27
  438. package/src/is-block-metadata-experimental.js +19 -0
  439. package/src/latest-posts/edit.js +27 -2
  440. package/src/latest-posts/index.php +12 -6
  441. package/src/list/transforms.js +7 -0
  442. package/src/list/v2/edit.js +1 -0
  443. package/src/list/v2/migrate.js +1 -1
  444. package/src/list/v2/transforms.js +35 -0
  445. package/src/list-item/block.json +2 -1
  446. package/src/list-item/edit.js +17 -10
  447. package/src/list-item/hooks/index.js +3 -0
  448. package/src/list-item/hooks/use-backspace.js +52 -0
  449. package/src/list-item/hooks/use-enter.js +9 -16
  450. package/src/list-item/hooks/use-indent-list-item.js +50 -63
  451. package/src/list-item/hooks/use-space.js +48 -0
  452. package/src/list-item/hooks/use-split.js +24 -0
  453. package/src/list-item/utils.js +1 -1
  454. package/src/media-text/edit.native.js +3 -1
  455. package/src/media-text/media-container.native.js +2 -4
  456. package/src/media-text/transforms.js +154 -0
  457. package/src/navigation/edit/index.js +175 -169
  458. package/src/navigation/edit/inner-blocks.js +1 -8
  459. package/src/navigation/index.php +40 -0
  460. package/src/navigation/use-navigation-entities.js +1 -1
  461. package/src/navigation-link/fallback-variations.js +1 -1
  462. package/src/navigation-link/hooks.js +2 -2
  463. package/src/navigation-link/test/__snapshots__/hooks.js.snap +4 -4
  464. package/src/page-list/convert-to-links-modal.js +1 -1
  465. package/src/page-list/edit.js +1 -4
  466. package/src/post-author/edit.js +24 -22
  467. package/src/post-author-name/block.json +1 -0
  468. package/src/post-comment/block.json +1 -0
  469. package/src/post-comments/edit.js +54 -22
  470. package/src/post-comments/style.scss +26 -0
  471. package/src/post-comments-count/block.json +1 -0
  472. package/src/post-comments-form/form.js +1 -4
  473. package/src/post-comments-form/style.scss +1 -4
  474. package/src/post-comments-link/block.json +1 -0
  475. package/src/post-featured-image/edit.js +1 -1
  476. package/src/post-template/edit.js +5 -0
  477. package/src/post-template/index.php +30 -0
  478. package/src/post-terms/edit.js +19 -0
  479. package/src/post-terms/hooks.js +27 -0
  480. package/src/post-terms/index.js +14 -7
  481. package/src/post-terms/index.php +40 -2
  482. package/src/post-title/index.js +1 -1
  483. package/src/pullquote/edit.js +2 -2
  484. package/src/pullquote/edit.native.js +2 -2
  485. package/src/query/block.json +2 -1
  486. package/src/query/edit/inspector-controls/index.js +25 -11
  487. package/src/query/edit/inspector-controls/parent-control.js +133 -0
  488. package/src/query/edit/inspector-controls/sticky-control.js +25 -0
  489. package/src/query/utils.js +22 -0
  490. package/src/query-title/index.js +1 -1
  491. package/src/query-title/variations.js +2 -2
  492. package/src/quote/edit.js +5 -2
  493. package/src/quote/v2/edit.js +4 -2
  494. package/src/search/edit.js +1 -0
  495. package/src/search/index.php +1 -1
  496. package/src/separator/editor.scss +1 -0
  497. package/src/site-logo/edit.js +1 -1
  498. package/src/table/edit.js +19 -4
  499. package/src/table-of-contents/block.json +9 -2
  500. package/src/table-of-contents/edit.js +155 -75
  501. package/src/table-of-contents/index.js +2 -0
  502. package/src/table-of-contents/list.tsx +46 -0
  503. package/src/table-of-contents/save.js +25 -0
  504. package/src/table-of-contents/utils.ts +71 -0
  505. package/src/tag-cloud/block.json +1 -1
  506. package/src/template-part/edit/index.js +25 -15
  507. package/src/template-part/edit/inner-blocks.js +2 -10
  508. package/src/video/edit.js +4 -2
  509. package/src/video/editor.scss +3 -6
  510. package/test/babel-plugin.js +67 -0
  511. package/tsconfig.json +11 -0
  512. package/tsconfig.tsbuildinfo +1 -0
  513. package/build/cover/edit.js +0 -598
  514. package/build/cover/edit.js.map +0 -1
  515. package/build/cover/use-cover-is-dark.js.map +0 -1
  516. package/build/post-terms/variations.js +0 -37
  517. package/build/post-terms/variations.js.map +0 -1
  518. package/build-module/cover/edit.js +0 -575
  519. package/build-module/cover/edit.js.map +0 -1
  520. package/build-module/cover/use-cover-is-dark.js.map +0 -1
  521. package/build-module/post-terms/variations.js +0 -27
  522. package/build-module/post-terms/variations.js.map +0 -1
  523. package/src/cover/edit.js +0 -757
  524. package/src/post-terms/variations.js +0 -28
  525. package/src/table-of-contents/index.php +0 -346
  526. package/src/table-of-contents/list.js +0 -28
  527. package/src/table-of-contents/utils.js +0 -126
@@ -5,6 +5,15 @@ import { registerBlockType, setDefaultBlockName, setFreeformContentHandlerName,
5
5
  /**
6
6
  * Internal dependencies
7
7
  */
8
+ // When IS_GUTENBERG_PLUGIN is set to false, imports of experimental blocks
9
+ // are transformed by packages/block-library/src/index.js as follows:
10
+ // import * as experimentalBlock from './experimental-block'
11
+ // becomes
12
+ // const experimentalBlock = null;
13
+ // This enables webpack to eliminate the experimental blocks code from the
14
+ // production build to make the final bundle smaller.
15
+ //
16
+ // See https://github.com/WordPress/gutenberg/pull/40655 for more context.
8
17
 
9
18
  import * as archives from './archives';
10
19
  import * as avatar from './avatar';
@@ -93,12 +102,14 @@ import * as socialLink from './social-link';
93
102
  import * as socialLinks from './social-links';
94
103
  import * as spacer from './spacer';
95
104
  import * as table from './table';
105
+ import * as tableOfContents from './table-of-contents';
96
106
  import * as tagCloud from './tag-cloud';
97
107
  import * as templatePart from './template-part';
98
108
  import * as termDescription from './term-description';
99
109
  import * as textColumns from './text-columns';
100
110
  import * as verse from './verse';
101
111
  import * as video from './video';
112
+ import isBlockMetadataExperimental from './is-block-metadata-experimental';
102
113
  /**
103
114
  * Function to register an individual block.
104
115
  *
@@ -121,6 +132,17 @@ const registerBlock = block => {
121
132
  ...metadata
122
133
  }, settings);
123
134
  };
135
+ /**
136
+ * Function to get all the block-library blocks in an array
137
+ */
138
+
139
+
140
+ const getAllBlocks = () => [// Common blocks are grouped at the top to prioritize their display
141
+ // in various contexts — like the inserter and auto-complete components.
142
+ paragraph, image, heading, gallery, list, listItem, quote, // Register all remaining core blocks.
143
+ archives, audio, button, buttons, calendar, categories, window.wp && window.wp.oldEditor ? classic : null, // Only add the classic block in WP Context.
144
+ 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
145
+ 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, postComments, postCommentsForm, tableOfContents, homeLink, logInOut, termDescription, queryTitle, postAuthorBiography];
124
146
  /**
125
147
  * Function to get all the core blocks in an array.
126
148
  *
@@ -133,13 +155,12 @@ const registerBlock = block => {
133
155
  */
134
156
 
135
157
 
136
- export const __experimentalGetCoreBlocks = () => [// Common blocks are grouped at the top to prioritize their display
137
- // in various contexts — like the inserter and auto-complete components.
138
- paragraph, image, heading, gallery, list, quote, // Register all remaining core blocks.
139
- archives, audio, button, buttons, calendar, categories, window.wp && window.wp.oldEditor ? classic : null, // Only add the classic block in WP Context.
140
- code, column, columns, cover, embed, file, group, html, latestComments, latestPosts, mediaText, missing, more, nextpage, pageList, pattern, preformatted, pullquote, reusableBlock, rss, search, separator, shortcode, socialLink, socialLinks, spacer, table, // tableOfContents,
141
- tagCloud, textColumns, verse, video, // theme blocks
142
- navigation, navigationLink, navigationSubmenu, siteLogo, siteTitle, siteTagline, query, templatePart, avatar, postTitle, postExcerpt, postFeaturedImage, postContent, postAuthor, postDate, postTerms, postNavigationLink, postTemplate, queryPagination, queryPaginationNext, queryPaginationNumbers, queryPaginationPrevious, queryNoResults, readMore, comments, commentAuthorName, commentContent, commentDate, commentEditLink, commentReplyLink, commentTemplate, commentsTitle, commentsPagination, commentsPaginationNext, commentsPaginationNumbers, commentsPaginationPrevious, postComments, postCommentsForm, homeLink, logInOut, termDescription, queryTitle, postAuthorBiography];
158
+ export const __experimentalGetCoreBlocks = () => getAllBlocks().filter(_ref => {
159
+ let {
160
+ metadata
161
+ } = _ref;
162
+ return !isBlockMetadataExperimental(metadata);
163
+ });
143
164
  /**
144
165
  * Function to register core blocks provided by the block editor.
145
166
  *
@@ -181,8 +202,19 @@ export const __experimentalRegisterExperimentalCoreBlocks = process.env.IS_GUTEN
181
202
  let {
182
203
  enableFSEBlocks
183
204
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
184
- [// Experimental blocks.
185
- postAuthorName, ...(window.__experimentalEnableListBlockV2 ? [listItem] : []), // Full Site Editing blocks.
186
- ...(enableFSEBlocks ? [commentAuthorAvatar, postComment, postCommentsCount, postCommentsLink] : [])].forEach(registerBlock);
205
+ const enabledExperiments = [window.__experimentalEnableListBlockV2 ? 'list-v2' : null, enableFSEBlocks ? 'fse' : null];
206
+ getAllBlocks().filter(_ref2 => {
207
+ let {
208
+ metadata
209
+ } = _ref2;
210
+ return isBlockMetadataExperimental(metadata);
211
+ }).filter(_ref3 => {
212
+ let {
213
+ metadata: {
214
+ __experimental
215
+ }
216
+ } = _ref3;
217
+ return __experimental === true || enabledExperiments.includes(__experimental);
218
+ }).forEach(registerBlock);
187
219
  } : undefined;
188
220
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/index.js"],"names":["registerBlockType","setDefaultBlockName","setFreeformContentHandlerName","setUnregisteredTypeHandlerName","setGroupingBlockName","archives","avatar","audio","button","buttons","calendar","categories","classic","code","column","columns","comments","commentAuthorAvatar","commentAuthorName","commentContent","commentDate","commentEditLink","commentReplyLink","commentTemplate","commentsPaginationPrevious","commentsPagination","commentsPaginationNext","commentsPaginationNumbers","commentsTitle","cover","embed","file","gallery","group","heading","homeLink","html","image","latestComments","latestPosts","list","listItem","logInOut","mediaText","missing","more","navigation","navigationLink","navigationSubmenu","nextpage","pattern","pageList","paragraph","postAuthor","postAuthorName","postAuthorBiography","postComment","postComments","postCommentsCount","postCommentsForm","postCommentsLink","postContent","postDate","postExcerpt","postFeaturedImage","postNavigationLink","postTemplate","postTerms","postTitle","preformatted","pullquote","query","queryNoResults","queryPagination","queryPaginationNext","queryPaginationNumbers","queryPaginationPrevious","queryTitle","quote","reusableBlock","readMore","rss","search","separator","shortcode","siteLogo","siteTagline","siteTitle","socialLink","socialLinks","spacer","table","tagCloud","templatePart","termDescription","textColumns","verse","video","registerBlock","block","metadata","settings","name","__experimentalGetCoreBlocks","window","wp","oldEditor","registerCoreBlocks","blocks","forEach","__experimentalRegisterExperimentalCoreBlocks","process","env","IS_GUTENBERG_PLUGIN","enableFSEBlocks","__experimentalEnableListBlockV2","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tregisterBlockType,\n\tsetDefaultBlockName,\n\tsetFreeformContentHandlerName,\n\tsetUnregisteredTypeHandlerName,\n\tsetGroupingBlockName,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\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 postComments from './post-comments';\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 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\n/**\n * Function to register an individual block.\n *\n * @param {Object} block The block to be registered.\n *\n */\nconst registerBlock = ( block ) => {\n\tif ( ! block ) {\n\t\treturn;\n\t}\n\tconst { metadata, settings, name } = block;\n\tregisterBlockType( { name, ...metadata }, settings );\n};\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\t// Common blocks are grouped at the top to prioritize their display\n\t// in various contexts — like the inserter and auto-complete components.\n\tparagraph,\n\timage,\n\theading,\n\tgallery,\n\tlist,\n\tquote,\n\n\t// Register all remaining core blocks.\n\tarchives,\n\taudio,\n\tbutton,\n\tbuttons,\n\tcalendar,\n\tcategories,\n\twindow.wp && window.wp.oldEditor ? classic : null, // Only add the classic block in WP Context.\n\tcode,\n\tcolumn,\n\tcolumns,\n\tcover,\n\tembed,\n\tfile,\n\tgroup,\n\thtml,\n\tlatestComments,\n\tlatestPosts,\n\tmediaText,\n\tmissing,\n\tmore,\n\tnextpage,\n\tpageList,\n\tpattern,\n\tpreformatted,\n\tpullquote,\n\treusableBlock,\n\trss,\n\tsearch,\n\tseparator,\n\tshortcode,\n\tsocialLink,\n\tsocialLinks,\n\tspacer,\n\ttable,\n\t// tableOfContents,\n\ttagCloud,\n\ttextColumns,\n\tverse,\n\tvideo,\n\n\t// theme blocks\n\tnavigation,\n\tnavigationLink,\n\tnavigationSubmenu,\n\tsiteLogo,\n\tsiteTitle,\n\tsiteTagline,\n\tquery,\n\ttemplatePart,\n\tavatar,\n\tpostTitle,\n\tpostExcerpt,\n\tpostFeaturedImage,\n\tpostContent,\n\tpostAuthor,\n\tpostDate,\n\tpostTerms,\n\tpostNavigationLink,\n\tpostTemplate,\n\tqueryPagination,\n\tqueryPaginationNext,\n\tqueryPaginationNumbers,\n\tqueryPaginationPrevious,\n\tqueryNoResults,\n\treadMore,\n\tcomments,\n\tcommentAuthorName,\n\tcommentContent,\n\tcommentDate,\n\tcommentEditLink,\n\tcommentReplyLink,\n\tcommentTemplate,\n\tcommentsTitle,\n\tcommentsPagination,\n\tcommentsPaginationNext,\n\tcommentsPaginationNumbers,\n\tcommentsPaginationPrevious,\n\tpostComments,\n\tpostCommentsForm,\n\thomeLink,\n\tlogInOut,\n\ttermDescription,\n\tqueryTitle,\n\tpostAuthorBiography,\n];\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( registerBlock );\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\t[\n\t\t\t\t// Experimental blocks.\n\t\t\t\tpostAuthorName,\n\t\t\t\t...( window.__experimentalEnableListBlockV2\n\t\t\t\t\t? [ listItem ]\n\t\t\t\t\t: [] ),\n\n\t\t\t\t// Full Site Editing blocks.\n\t\t\t\t...( enableFSEBlocks\n\t\t\t\t\t? [\n\t\t\t\t\t\t\tcommentAuthorAvatar,\n\t\t\t\t\t\t\tpostComment,\n\t\t\t\t\t\t\tpostCommentsCount,\n\t\t\t\t\t\t\tpostCommentsLink,\n\t\t\t\t\t ]\n\t\t\t\t\t: [] ),\n\t\t\t].forEach( registerBlock );\n\t }\n\t: undefined;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/index.js"],"names":["registerBlockType","setDefaultBlockName","setFreeformContentHandlerName","setUnregisteredTypeHandlerName","setGroupingBlockName","archives","avatar","audio","button","buttons","calendar","categories","classic","code","column","columns","comments","commentAuthorAvatar","commentAuthorName","commentContent","commentDate","commentEditLink","commentReplyLink","commentTemplate","commentsPaginationPrevious","commentsPagination","commentsPaginationNext","commentsPaginationNumbers","commentsTitle","cover","embed","file","gallery","group","heading","homeLink","html","image","latestComments","latestPosts","list","listItem","logInOut","mediaText","missing","more","navigation","navigationLink","navigationSubmenu","nextpage","pattern","pageList","paragraph","postAuthor","postAuthorName","postAuthorBiography","postComment","postComments","postCommentsCount","postCommentsForm","postCommentsLink","postContent","postDate","postExcerpt","postFeaturedImage","postNavigationLink","postTemplate","postTerms","postTitle","preformatted","pullquote","query","queryNoResults","queryPagination","queryPaginationNext","queryPaginationNumbers","queryPaginationPrevious","queryTitle","quote","reusableBlock","readMore","rss","search","separator","shortcode","siteLogo","siteTagline","siteTitle","socialLink","socialLinks","spacer","table","tableOfContents","tagCloud","templatePart","termDescription","textColumns","verse","video","isBlockMetadataExperimental","registerBlock","block","metadata","settings","name","getAllBlocks","window","wp","oldEditor","__experimentalGetCoreBlocks","filter","registerCoreBlocks","blocks","forEach","__experimentalRegisterExperimentalCoreBlocks","process","env","IS_GUTENBERG_PLUGIN","enableFSEBlocks","enabledExperiments","__experimentalEnableListBlockV2","__experimental","includes","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tregisterBlockType,\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 postComments from './post-comments';\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 './is-block-metadata-experimental';\n\n/**\n * Function to register an individual block.\n *\n * @param {Object} block The block to be registered.\n *\n */\nconst registerBlock = ( block ) => {\n\tif ( ! block ) {\n\t\treturn;\n\t}\n\tconst { metadata, settings, name } = block;\n\tregisterBlockType( { name, ...metadata }, settings );\n};\n\n/**\n * Function to get all the block-library blocks in an array\n */\nconst getAllBlocks = () => [\n\t// Common blocks are grouped at the top to prioritize their display\n\t// in various contexts — like the inserter and auto-complete components.\n\tparagraph,\n\timage,\n\theading,\n\tgallery,\n\tlist,\n\tlistItem,\n\tquote,\n\n\t// Register all remaining core blocks.\n\tarchives,\n\taudio,\n\tbutton,\n\tbuttons,\n\tcalendar,\n\tcategories,\n\twindow.wp && window.wp.oldEditor ? classic : null, // Only add the classic block in WP Context.\n\tcode,\n\tcolumn,\n\tcolumns,\n\tcommentAuthorAvatar,\n\tcover,\n\tembed,\n\tfile,\n\tgroup,\n\thtml,\n\tlatestComments,\n\tlatestPosts,\n\tmediaText,\n\tmissing,\n\tmore,\n\tnextpage,\n\tpageList,\n\tpattern,\n\tpreformatted,\n\tpullquote,\n\treusableBlock,\n\trss,\n\tsearch,\n\tseparator,\n\tshortcode,\n\tsocialLink,\n\tsocialLinks,\n\tspacer,\n\ttable,\n\ttagCloud,\n\ttextColumns,\n\tverse,\n\tvideo,\n\n\t// theme blocks\n\tnavigation,\n\tnavigationLink,\n\tnavigationSubmenu,\n\tsiteLogo,\n\tsiteTitle,\n\tsiteTagline,\n\tquery,\n\ttemplatePart,\n\tavatar,\n\tpostTitle,\n\tpostExcerpt,\n\tpostFeaturedImage,\n\tpostContent,\n\tpostAuthor,\n\tpostAuthorName,\n\tpostComment,\n\tpostCommentsCount,\n\tpostCommentsLink,\n\tpostDate,\n\tpostTerms,\n\tpostNavigationLink,\n\tpostTemplate,\n\tqueryPagination,\n\tqueryPaginationNext,\n\tqueryPaginationNumbers,\n\tqueryPaginationPrevious,\n\tqueryNoResults,\n\treadMore,\n\tcomments,\n\tcommentAuthorName,\n\tcommentContent,\n\tcommentDate,\n\tcommentEditLink,\n\tcommentReplyLink,\n\tcommentTemplate,\n\tcommentsTitle,\n\tcommentsPagination,\n\tcommentsPaginationNext,\n\tcommentsPaginationNumbers,\n\tcommentsPaginationPrevious,\n\tpostComments,\n\tpostCommentsForm,\n\ttableOfContents,\n\thomeLink,\n\tlogInOut,\n\ttermDescription,\n\tqueryTitle,\n\tpostAuthorBiography,\n];\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( registerBlock );\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 = [\n\t\t\t\twindow.__experimentalEnableListBlockV2 ? 'list-v2' : null,\n\t\t\t\tenableFSEBlocks ? 'fse' : null,\n\t\t\t];\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( registerBlock );\n\t }\n\t: undefined;\n"]}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Checks if the block is experimental based on the metadata loaded
3
+ * from block.json.
4
+ *
5
+ * This function is in a separate file and uses the older JS syntax so
6
+ * that it can be imported in both:
7
+ * – block-library/src/index.js
8
+ * – block-library/src/babel-plugin.js
9
+ *
10
+ * @param {Object} metadata Parsed block.json metadata.
11
+ * @return {boolean} Is the block experimental?
12
+ */
13
+ module.exports = function isBlockMetadataExperimental(metadata) {
14
+ return metadata && '__experimental' in metadata && metadata.__experimental !== false;
15
+ };
16
+ //# sourceMappingURL=is-block-metadata-experimental.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/is-block-metadata-experimental.js"],"names":["module","exports","isBlockMetadataExperimental","metadata","__experimental"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAA,MAAM,CAACC,OAAP,GAAiB,SAASC,2BAAT,CAAsCC,QAAtC,EAAiD;AACjE,SACCA,QAAQ,IACR,oBAAoBA,QADpB,IAEAA,QAAQ,CAACC,cAAT,KAA4B,KAH7B;AAKA,CAND","sourcesContent":["/**\n * Checks if the block is experimental based on the metadata loaded\n * from block.json.\n *\n * This function is in a separate file and uses the older JS syntax so\n * that it can be imported in both:\n * – block-library/src/index.js\n * – block-library/src/babel-plugin.js\n *\n * @param {Object} metadata Parsed block.json metadata.\n * @return {boolean} Is the block experimental?\n */\nmodule.exports = function isBlockMetadataExperimental( metadata ) {\n\treturn (\n\t\tmetadata &&\n\t\t'__experimental' in metadata &&\n\t\tmetadata.__experimental !== false\n\t);\n};\n"]}
@@ -13,9 +13,11 @@ import { BaseControl, PanelBody, Placeholder, QueryControls, RadioControl, Range
13
13
  import { __, sprintf } from '@wordpress/i18n';
14
14
  import { dateI18n, format, __experimentalGetSettings } from '@wordpress/date';
15
15
  import { InspectorControls, BlockAlignmentToolbar, BlockControls, __experimentalImageSizeControl as ImageSizeControl, useBlockProps, store as blockEditorStore } from '@wordpress/block-editor';
16
- import { useSelect } from '@wordpress/data';
16
+ import { useSelect, useDispatch } from '@wordpress/data';
17
17
  import { pin, list, grid } from '@wordpress/icons';
18
18
  import { store as coreStore } from '@wordpress/core-data';
19
+ import { store as noticeStore } from '@wordpress/notices';
20
+ import { useInstanceId } from '@wordpress/compose';
19
21
  /**
20
22
  * Internal dependencies
21
23
  */
@@ -52,6 +54,7 @@ export default function LatestPostsEdit(_ref) {
52
54
  attributes,
53
55
  setAttributes
54
56
  } = _ref;
57
+ const instanceId = useInstanceId(LatestPostsEdit);
55
58
  const {
56
59
  postsToShow,
57
60
  order,
@@ -102,7 +105,25 @@ export default function LatestPostsEdit(_ref) {
102
105
  categoriesList: getEntityRecords('taxonomy', 'category', CATEGORIES_LIST_QUERY),
103
106
  authorList: getUsers(USERS_LIST_QUERY)
104
107
  };
105
- }, [featuredImageSizeSlug, postsToShow, order, orderBy, categories, selectedAuthor]);
108
+ }, [featuredImageSizeSlug, postsToShow, order, orderBy, categories, selectedAuthor]); // If a user clicks to a link prevent redirection and show a warning.
109
+
110
+ const {
111
+ createWarningNotice,
112
+ removeNotice
113
+ } = useDispatch(noticeStore);
114
+ let noticeId;
115
+
116
+ const showRedirectionPreventedNotice = event => {
117
+ event.preventDefault(); // Remove previous warning if any, to show one at a time per block.
118
+
119
+ removeNotice(noticeId);
120
+ noticeId = `block-library/core/latest-posts/redirection-prevented/${instanceId}`;
121
+ createWarningNotice(__('Links are disabled in the editor.'), {
122
+ id: noticeId,
123
+ type: 'snackbar'
124
+ });
125
+ };
126
+
106
127
  const imageSizeOptions = imageSizes.filter(_ref2 => {
107
128
  let {
108
129
  slug
@@ -336,7 +357,8 @@ export default function LatestPostsEdit(_ref) {
336
357
  const needsReadMore = excerptLength < excerpt.trim().split(' ').length && post.excerpt.raw === '';
337
358
  const postExcerpt = needsReadMore ? createElement(Fragment, null, excerpt.trim().split(' ', excerptLength).join(' '), __(' … '), createElement("a", {
338
359
  href: post.link,
339
- rel: "noopener noreferrer"
360
+ rel: "noopener noreferrer",
361
+ onClick: showRedirectionPreventedNotice
340
362
  }, __('Read more'))) : excerpt;
341
363
  return createElement("li", {
342
364
  key: i
@@ -345,13 +367,15 @@ export default function LatestPostsEdit(_ref) {
345
367
  }, addLinkToFeaturedImage ? createElement("a", {
346
368
  className: "wp-block-latest-posts__post-title",
347
369
  href: post.link,
348
- rel: "noreferrer noopener"
370
+ rel: "noreferrer noopener",
371
+ onClick: showRedirectionPreventedNotice
349
372
  }, featuredImage) : featuredImage), createElement("a", {
350
373
  href: post.link,
351
374
  rel: "noreferrer noopener",
352
375
  dangerouslySetInnerHTML: !!titleTrimmed ? {
353
376
  __html: titleTrimmed
354
- } : undefined
377
+ } : undefined,
378
+ onClick: showRedirectionPreventedNotice
355
379
  }, !titleTrimmed ? __('(no title)') : null), displayAuthor && currentAuthor && createElement("div", {
356
380
  className: "wp-block-latest-posts__post-author"
357
381
  }, sprintf(
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/latest-posts/edit.js"],"names":["get","includes","invoke","isUndefined","pickBy","classnames","BaseControl","PanelBody","Placeholder","QueryControls","RadioControl","RangeControl","Spinner","ToggleControl","ToolbarGroup","__","sprintf","dateI18n","format","__experimentalGetSettings","InspectorControls","BlockAlignmentToolbar","BlockControls","__experimentalImageSizeControl","ImageSizeControl","useBlockProps","store","blockEditorStore","useSelect","pin","list","grid","coreStore","MIN_EXCERPT_LENGTH","MAX_EXCERPT_LENGTH","MAX_POSTS_COLUMNS","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","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","settings","getSettings","catIds","length","map","cat","id","latestPostsQuery","author","orderby","_embed","value","imageDimensions","imageSizeOptions","filter","slug","name","label","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","hasPosts","inspectorControls","newAttrs","hasOwnProperty","width","height","undefined","Number","Math","min","blockProps","className","Array","isArray","displayPosts","slice","layoutControls","icon","title","onClick","isActive","dateFormat","formats","date","i","titleTrimmed","excerpt","rendered","currentAuthor","find","excerptElement","document","createElement","innerHTML","textContent","innerText","imageSourceUrl","featuredImageAlt","imageClasses","renderFeaturedImage","featuredImage","maxWidth","maxHeight","needsReadMore","trim","split","raw","postExcerpt","join","link","__html","date_gmt","content"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,GAAT,EAAcC,QAAd,EAAwBC,MAAxB,EAAgCC,WAAhC,EAA6CC,MAA7C,QAA2D,QAA3D;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,WADD,EAECC,SAFD,EAGCC,WAHD,EAICC,aAJD,EAKCC,YALD,EAMCC,YAND,EAOCC,OAPD,EAQCC,aARD,EASCC,YATD,QAUO,uBAVP;AAWA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,QAAT,EAAmBC,MAAnB,EAA2BC,yBAA3B,QAA4D,iBAA5D;AACA,SACCC,iBADD,EAECC,qBAFD,EAGCC,aAHD,EAICC,8BAA8B,IAAIC,gBAJnC,EAKCC,aALD,EAMCC,KAAK,IAAIC,gBANV,QAOO,yBAPP;AAQA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,GAAT,EAAcC,IAAd,EAAoBC,IAApB,QAAgC,kBAAhC;AACA,SAASL,KAAK,IAAIM,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,SACCC,kBADD,EAECC,kBAFD,EAGCC,iBAHD,QAIO,aAJP;AAMA;AACA;AACA;;AACA,MAAMC,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,GAAG5C,GAAG,CAAE0C,IAAF,EAAQ,CAAE,WAAF,EAAe,kBAAf,EAAmC,GAAnC,CAAR,CAAjB;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;;AAED,eAAe,SAASC,eAAT,OAA0D;AAAA;;AAAA,MAAhC;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAgC;AACxE,QAAM;AACLC,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,MAmBFnB,UAnBJ;AAoBA,QAAM;AACLoB,IAAAA,UADK;AAELC,IAAAA,WAFK;AAGLC,IAAAA,iBAHK;AAILC,IAAAA,kBAJK;AAKLC,IAAAA,cALK;AAMLC,IAAAA;AANK,MAOFjD,SAAS,CACVkD,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA,gBAAF;AAAoBC,MAAAA;AAApB,QAAiCF,MAAM,CAAE9C,SAAF,CAA7C;AACA,UAAMiD,QAAQ,GAAGH,MAAM,CAAEnD,gBAAF,CAAN,CAA2BuD,WAA3B,EAAjB;AACA,UAAMC,MAAM,GACX1B,UAAU,IAAIA,UAAU,CAAC2B,MAAX,GAAoB,CAAlC,GACG3B,UAAU,CAAC4B,GAAX,CAAkBC,GAAF,IAAWA,GAAG,CAACC,EAA/B,CADH,GAEG,EAHJ;AAIA,UAAMC,gBAAgB,GAAGpF,MAAM,CAC9B;AACCqD,MAAAA,UAAU,EAAE0B,MADb;AAECM,MAAAA,MAAM,EAAE/B,cAFT;AAGCH,MAAAA,KAHD;AAICmC,MAAAA,OAAO,EAAElC,OAJV;AAKCnB,MAAAA,QAAQ,EAAEiB,WALX;AAMCqC,MAAAA,MAAM,EAAE;AANT,KAD8B,EAS5BC,KAAF,IAAa,CAAEzF,WAAW,CAAEyF,KAAF,CATI,CAA/B;AAYA,WAAO;AACNlB,MAAAA,iBAAiB,EAAE1E,GAAG,CACrBiF,QAAQ,CAACY,eADY,EAErB,CAAEzB,qBAAF,EAAyB,OAAzB,CAFqB,EAGrB,CAHqB,CADhB;AAMNO,MAAAA,kBAAkB,EAAE3E,GAAG,CACtBiF,QAAQ,CAACY,eADa,EAEtB,CAAEzB,qBAAF,EAAyB,QAAzB,CAFsB,EAGtB,CAHsB,CANjB;AAWNI,MAAAA,UAAU,EAAES,QAAQ,CAACT,UAXf;AAYNC,MAAAA,WAAW,EAAEM,gBAAgB,CAC5B,UAD4B,EAE5B,MAF4B,EAG5BS,gBAH4B,CAZvB;AAiBNZ,MAAAA,cAAc,EAAEG,gBAAgB,CAC/B,UAD+B,EAE/B,UAF+B,EAG/B3C,qBAH+B,CAjB1B;AAsBNyC,MAAAA,UAAU,EAAEG,QAAQ,CAAEzC,gBAAF;AAtBd,KAAP;AAwBA,GA5CW,EA6CZ,CACC6B,qBADD,EAECd,WAFD,EAGCC,KAHD,EAICC,OAJD,EAKCC,UALD,EAMCC,cAND,CA7CY,CAPb;AA8DA,QAAMoC,gBAAgB,GAAGtB,UAAU,CACjCuB,MADuB,CACf;AAAA,QAAE;AAAEC,MAAAA;AAAF,KAAF;AAAA,WAAgBA,IAAI,KAAK,MAAzB;AAAA,GADe,EAEvBX,GAFuB,CAElB;AAAA,QAAE;AAAEY,MAAAA,IAAF;AAAQD,MAAAA;AAAR,KAAF;AAAA,WAAwB;AAC7BJ,MAAAA,KAAK,EAAEI,IADsB;AAE7BE,MAAAA,KAAK,EAAED;AAFsB,KAAxB;AAAA,GAFkB,CAAzB;AAMA,QAAME,mBAAmB,4BACxBvB,cADwB,aACxBA,cADwB,uBACxBA,cAAc,CAAEwB,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,CAACnB,GAAP,CAAcsB,KAAF,IAAa;AAC9C,aAAO,OAAOA,KAAP,KAAiB,QAAjB,GACJR,mBAAmB,CAAEQ,KAAF,CADf,GAEJA,KAFH;AAGA,KAJqB,CAAtB,CAVsC,CAetC;AACA;;AACA,QAAK1G,QAAQ,CAAE2G,aAAF,EAAiB,IAAjB,CAAb,EAAuC;AACtC,aAAO,KAAP;AACA;;AACDvD,IAAAA,aAAa,CAAE;AAAEI,MAAAA,UAAU,EAAEmD;AAAd,KAAF,CAAb;AACA,GArBD;;AAuBA,QAAMC,QAAQ,GAAG,CAAC,EAAEpC,WAAF,aAAEA,WAAF,eAAEA,WAAW,CAAEW,MAAf,CAAlB;AACA,QAAM0B,iBAAiB,GACtB,cAAC,iBAAD,QACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAG/F,EAAE,CAAE,uBAAF;AAArB,KACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,cAAF,CADX;AAEC,IAAA,OAAO,EAAG8C,kBAFX;AAGC,IAAA,QAAQ,EAAK+B,KAAF,IACVvC,aAAa,CAAE;AAAEQ,MAAAA,kBAAkB,EAAE+B;AAAtB,KAAF;AAJf,IADD,EAQG/B,kBAAkB,IACnB,cAAC,YAAD;AACC,IAAA,KAAK,EAAG9C,EAAE,CAAE,OAAF,CADX;AAEC,IAAA,QAAQ,EAAG6C,uBAFZ;AAGC,IAAA,OAAO,EAAG,CACT;AAAEsC,MAAAA,KAAK,EAAEnF,EAAE,CAAE,SAAF,CAAX;AAA0B6E,MAAAA,KAAK,EAAE;AAAjC,KADS,EAET;AACCM,MAAAA,KAAK,EAAEnF,EAAE,CAAE,WAAF,CADV;AAEC6E,MAAAA,KAAK,EAAE;AAFR,KAFS,CAHX;AAUC,IAAA,QAAQ,EAAKA,KAAF,IACVvC,aAAa,CAAE;AACdO,MAAAA,uBAAuB,EAAEgC;AADX,KAAF;AAXf,IATF,EA0BG/B,kBAAkB,IACnBD,uBAAuB,KAAK,SAD3B,IAEA,cAAC,YAAD;AACC,IAAA,KAAK,EAAG7C,EAAE,CAAE,gCAAF,CADX;AAEC,IAAA,KAAK,EAAGmD,aAFT;AAGC,IAAA,QAAQ,EAAK0B,KAAF,IACVvC,aAAa,CAAE;AAAEa,MAAAA,aAAa,EAAE0B;AAAjB,KAAF,CAJf;AAMC,IAAA,GAAG,EAAG3D,kBANP;AAOC,IAAA,GAAG,EAAGC;AAPP,IA5BH,CADD,EAyCC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGnB,EAAE,CAAE,oBAAF;AAArB,KACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,qBAAF,CADX;AAEC,IAAA,OAAO,EAAGgD,aAFX;AAGC,IAAA,QAAQ,EAAK6B,KAAF,IACVvC,aAAa,CAAE;AAAEU,MAAAA,aAAa,EAAE6B;AAAjB,KAAF;AAJf,IADD,EAQC,cAAC,aAAD;AACC,IAAA,KAAK,EAAG7E,EAAE,CAAE,mBAAF,CADX;AAEC,IAAA,OAAO,EAAG+C,eAFX;AAGC,IAAA,QAAQ,EAAK8B,KAAF,IACVvC,aAAa,CAAE;AAAES,MAAAA,eAAe,EAAE8B;AAAnB,KAAF;AAJf,IARD,CAzCD,EA0DC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAG7E,EAAE,CAAE,yBAAF;AAArB,KACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,wBAAF,CADX;AAEC,IAAA,OAAO,EAAG4C,oBAFX;AAGC,IAAA,QAAQ,EAAKiC,KAAF,IACVvC,aAAa,CAAE;AAAEM,MAAAA,oBAAoB,EAAEiC;AAAxB,KAAF;AAJf,IADD,EAQGjC,oBAAoB,IACrB,8BACC,cAAC,gBAAD;AACC,IAAA,QAAQ,EAAKiC,KAAF,IAAa;AACvB,YAAMmB,QAAQ,GAAG,EAAjB;;AACA,UAAKnB,KAAK,CAACoB,cAAN,CAAsB,OAAtB,CAAL,EAAuC;AACtCD,QAAAA,QAAQ,CAAC1C,sBAAT,GACCuB,KAAK,CAACqB,KADP;AAEA;;AACD,UAAKrB,KAAK,CAACoB,cAAN,CAAsB,QAAtB,CAAL,EAAwC;AACvCD,QAAAA,QAAQ,CAACzC,uBAAT,GACCsB,KAAK,CAACsB,MADP;AAEA;;AACD7D,MAAAA,aAAa,CAAE0D,QAAF,CAAb;AACA,KAZF;AAaC,IAAA,IAAI,EAAG3C,qBAbR;AAcC,IAAA,KAAK,EAAGC,sBAdT;AAeC,IAAA,MAAM,EAAGC,uBAfV;AAgBC,IAAA,UAAU,EAAGI,iBAhBd;AAiBC,IAAA,WAAW,EAAGC,kBAjBf;AAkBC,IAAA,gBAAgB,EAAGmB,gBAlBpB;AAmBC,IAAA,aAAa,EAAKF,KAAF,IACfvC,aAAa,CAAE;AACde,MAAAA,qBAAqB,EAAEwB,KADT;AAEdvB,MAAAA,sBAAsB,EAAE8C,SAFV;AAGd7C,MAAAA,uBAAuB,EAAE6C;AAHX,KAAF;AApBf,IADD,EA4BC,cAAC,WAAD;AAAa,IAAA,SAAS,EAAC;AAAvB,KACC,cAAC,WAAD,CAAa,WAAb,QACGpG,EAAE,CAAE,iBAAF,CADL,CADD,EAIC,cAAC,qBAAD;AACC,IAAA,KAAK,EAAGoD,kBADT;AAEC,IAAA,QAAQ,EAAKyB,KAAF,IACVvC,aAAa,CAAE;AACdc,MAAAA,kBAAkB,EAAEyB;AADN,KAAF,CAHf;AAOC,IAAA,QAAQ,EAAG,CAAE,MAAF,EAAU,QAAV,EAAoB,OAApB,CAPZ;AAQC,IAAA,WAAW,EAAG;AARf,IAJD,CA5BD,EA2CC,cAAC,aAAD;AACC,IAAA,KAAK,EAAG7E,EAAE,CAAE,4BAAF,CADX;AAEC,IAAA,OAAO,EAAGwD,sBAFX;AAGC,IAAA,QAAQ,EAAKqB,KAAF,IACVvC,aAAa,CAAE;AACdkB,MAAAA,sBAAsB,EAAEqB;AADV,KAAF;AAJf,IA3CD,CATF,CA1DD,EA2HC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAG7E,EAAE,CAAE,uBAAF;AAArB,KACC,cAAC,aAAD;AACQwC,IAAAA,KADR;AACeC,IAAAA,OADf;AAEC,IAAA,aAAa,EAAGF,WAFjB;AAGC,IAAA,aAAa,EAAKsC,KAAF,IACfvC,aAAa,CAAE;AAAEE,MAAAA,KAAK,EAAEqC;AAAT,KAAF,CAJf;AAMC,IAAA,eAAe,EAAKA,KAAF,IACjBvC,aAAa,CAAE;AAAEG,MAAAA,OAAO,EAAEoC;AAAX,KAAF,CAPf;AASC,IAAA,qBAAqB,EAAKA,KAAF,IACvBvC,aAAa,CAAE;AAAEC,MAAAA,WAAW,EAAEsC;AAAf,KAAF,CAVf;AAYC,IAAA,mBAAmB,EAAGO,mBAZvB;AAaC,IAAA,gBAAgB,EAAGI,gBAbpB;AAcC,IAAA,kBAAkB,EAAG9C,UAdtB;AAeC,IAAA,cAAc,EAAKmC,KAAF,IAChBvC,aAAa,CAAE;AACdK,MAAAA,cAAc,EACb,OAAOkC,KAAP,GAAewB,MAAM,CAAExB,KAAF,CAArB,GAAiCuB;AAFpB,KAAF,CAhBf;AAqBC,IAAA,UAAU,EAAGtC,UAAH,aAAGA,UAAH,cAAGA,UAAH,GAAiB,EArB5B;AAsBC,IAAA,gBAAgB,EAAGnB;AAtBpB,IADD,EA0BGM,UAAU,KAAK,MAAf,IACD,cAAC,YAAD;AACC,IAAA,KAAK,EAAGjD,EAAE,CAAE,SAAF,CADX;AAEC,IAAA,KAAK,EAAGkD,OAFT;AAGC,IAAA,QAAQ,EAAK2B,KAAF,IACVvC,aAAa,CAAE;AAAEY,MAAAA,OAAO,EAAE2B;AAAX,KAAF,CAJf;AAMC,IAAA,GAAG,EAAG,CANP;AAOC,IAAA,GAAG,EACF,CAAEiB,QAAF,GACG1E,iBADH,GAEGkF,IAAI,CAACC,GAAL,CACAnF,iBADA,EAEAsC,WAAW,CAACW,MAFZ,CAVL;AAeC,IAAA,QAAQ;AAfT,IA3BF,CA3HD,CADD;AA6KA,QAAMmC,UAAU,GAAG9F,aAAa,CAAE;AACjC+F,IAAAA,SAAS,EAAEnH,UAAU,CAAE;AACtB,qCAA+B,IADT;AAEtB,iBAAW2D,UAAU,KAAK,MAFJ;AAGtB,mBAAaF,eAHS;AAItB,oBAAcC,aAJQ;AAKtB,OAAG,WAAWE,OAAS,EAAvB,GAA4BD,UAAU,KAAK;AALrB,KAAF;AADY,GAAF,CAAhC;;AAUA,MAAK,CAAE6C,QAAP,EAAkB;AACjB,WACC,qBAAUU,UAAV,EACGT,iBADH,EAEC,cAAC,WAAD;AAAa,MAAA,IAAI,EAAGjF,GAApB;AAA0B,MAAA,KAAK,EAAGd,EAAE,CAAE,cAAF;AAApC,OACG,CAAE0G,KAAK,CAACC,OAAN,CAAejD,WAAf,CAAF,GACD,cAAC,OAAD,OADC,GAGD1D,EAAE,CAAE,iBAAF,CAJJ,CAFD,CADD;AAYA,GA7TuE,CA+TxE;;;AACA,QAAM4G,YAAY,GACjBlD,WAAW,CAACW,MAAZ,GAAqB9B,WAArB,GACGmB,WAAW,CAACmD,KAAZ,CAAmB,CAAnB,EAAsBtE,WAAtB,CADH,GAEGmB,WAHJ;AAKA,QAAMoD,cAAc,GAAG,CACtB;AACCC,IAAAA,IAAI,EAAEhG,IADP;AAECiG,IAAAA,KAAK,EAAEhH,EAAE,CAAE,WAAF,CAFV;AAGCiH,IAAAA,OAAO,EAAE,MAAM3E,aAAa,CAAE;AAAEW,MAAAA,UAAU,EAAE;AAAd,KAAF,CAH7B;AAICiE,IAAAA,QAAQ,EAAEjE,UAAU,KAAK;AAJ1B,GADsB,EAOtB;AACC8D,IAAAA,IAAI,EAAE/F,IADP;AAECgG,IAAAA,KAAK,EAAEhH,EAAE,CAAE,WAAF,CAFV;AAGCiH,IAAAA,OAAO,EAAE,MAAM3E,aAAa,CAAE;AAAEW,MAAAA,UAAU,EAAE;AAAd,KAAF,CAH7B;AAICiE,IAAAA,QAAQ,EAAEjE,UAAU,KAAK;AAJ1B,GAPsB,CAAvB;;AAeA,QAAMkE,UAAU,GAAG/G,yBAAyB,GAAGgH,OAA5B,CAAoCC,IAAvD;;AAEA,SACC,2BACGtB,iBADH,EAEC,cAAC,aAAD,QACC,cAAC,YAAD;AAAc,IAAA,QAAQ,EAAGe;AAAzB,IADD,CAFD,EAKC,oBAASN,UAAT,EACGI,YAAY,CAACtC,GAAb,CAAkB,CAAE3C,IAAF,EAAQ2F,CAAR,KAAe;AAClC,UAAMC,YAAY,GAAGpI,MAAM,CAAEwC,IAAF,EAAQ,CAClC,OADkC,EAElC,UAFkC,EAGlC,MAHkC,CAAR,CAA3B;AAKA,QAAI6F,OAAO,GAAG7F,IAAI,CAAC6F,OAAL,CAAaC,QAA3B;AACA,UAAMC,aAAa,GAAG5D,UAAH,aAAGA,UAAH,uBAAGA,UAAU,CAAE6D,IAAZ,CACnBjD,MAAF,IAAcA,MAAM,CAACF,EAAP,KAAc7C,IAAI,CAAC+C,MADZ,CAAtB;AAIA,UAAMkD,cAAc,GAAGC,QAAQ,CAACC,aAAT,CAAwB,KAAxB,CAAvB;AACAF,IAAAA,cAAc,CAACG,SAAf,GAA2BP,OAA3B;AAEAA,IAAAA,OAAO,GACNI,cAAc,CAACI,WAAf,IACAJ,cAAc,CAACK,SADf,IAEA,EAHD;AAKA,UAAM;AACLnG,MAAAA,GAAG,EAAEoG,cADA;AAELhG,MAAAA,GAAG,EAAEiG;AAFA,QAGFzG,uBAAuB,CAAEC,IAAF,EAAQ0B,qBAAR,CAH3B;AAIA,UAAM+E,YAAY,GAAG9I,UAAU,CAAE;AAChC,+CAAyC,IADT;AAEhC,OAAG,QAAQ8D,kBAAoB,EAA/B,GAAoC,CAAC,CAAEA;AAFP,KAAF,CAA/B;AAIA,UAAMiF,mBAAmB,GACxBzF,oBAAoB,IAAIsF,cADzB;AAEA,UAAMI,aAAa,GAAGD,mBAAmB,IACxC;AACC,MAAA,GAAG,EAAGH,cADP;AAEC,MAAA,GAAG,EAAGC,gBAFP;AAGC,MAAA,KAAK,EAAG;AACPI,QAAAA,QAAQ,EAAEjF,sBADH;AAEPkF,QAAAA,SAAS,EAAEjF;AAFJ;AAHT,MADD;AAWA,UAAMkF,aAAa,GAClBtF,aAAa,GAAGqE,OAAO,CAACkB,IAAR,GAAeC,KAAf,CAAsB,GAAtB,EAA4BtE,MAA5C,IACA1C,IAAI,CAAC6F,OAAL,CAAaoB,GAAb,KAAqB,EAFtB;AAIA,UAAMC,WAAW,GAAGJ,aAAa,GAChC,8BACGjB,OAAO,CACPkB,IADA,GAEAC,KAFA,CAEO,GAFP,EAEYxF,aAFZ,EAGA2F,IAHA,CAGM,GAHN,CADH,EAMG9I,EAAE,CAAE,KAAF,CANL,EAOC;AAAG,MAAA,IAAI,EAAG2B,IAAI,CAACoH,IAAf;AAAsB,MAAA,GAAG,EAAC;AAA1B,OACG/I,EAAE,CAAE,WAAF,CADL,CAPD,CADgC,GAahCwH,OAbD;AAgBA,WACC;AAAI,MAAA,GAAG,EAAGF;AAAV,OACGe,mBAAmB,IACpB;AAAK,MAAA,SAAS,EAAGD;AAAjB,OACG5E,sBAAsB,GACvB;AACC,MAAA,SAAS,EAAC,mCADX;AAEC,MAAA,IAAI,EAAG7B,IAAI,CAACoH,IAFb;AAGC,MAAA,GAAG,EAAC;AAHL,OAKGT,aALH,CADuB,GASvBA,aAVF,CAFF,EAgBC;AACC,MAAA,IAAI,EAAG3G,IAAI,CAACoH,IADb;AAEC,MAAA,GAAG,EAAC,qBAFL;AAGC,MAAA,uBAAuB,EACtB,CAAC,CAAExB,YAAH,GACG;AACAyB,QAAAA,MAAM,EAAEzB;AADR,OADH,GAIGnB;AARL,OAWG,CAAEmB,YAAF,GAAiBvH,EAAE,CAAE,YAAF,CAAnB,GAAsC,IAXzC,CAhBD,EA6BGgD,aAAa,IAAI0E,aAAjB,IACD;AAAK,MAAA,SAAS,EAAC;AAAf,OACGzH,OAAO;AACR;AACAD,IAAAA,EAAE,CAAE,OAAF,CAFM,EAGR0H,aAAa,CAACxC,IAHN,CADV,CA9BF,EAsCGnC,eAAe,IAAIpB,IAAI,CAACsH,QAAxB,IACD;AACC,MAAA,QAAQ,EAAG9I,MAAM,CAAE,GAAF,EAAOwB,IAAI,CAACsH,QAAZ,CADlB;AAEC,MAAA,SAAS,EAAC;AAFX,OAIG/I,QAAQ,CAAEiH,UAAF,EAAcxF,IAAI,CAACsH,QAAnB,CAJX,CAvCF,EA8CGnG,kBAAkB,IACnBD,uBAAuB,KAAK,SAD3B,IAEA;AAAK,MAAA,SAAS,EAAC;AAAf,OACGgG,WADH,CAhDH,EAoDG/F,kBAAkB,IACnBD,uBAAuB,KAAK,WAD3B,IAEA;AACC,MAAA,SAAS,EAAC,0CADX;AAEC,MAAA,uBAAuB,EAAG;AACzBmG,QAAAA,MAAM,EAAErH,IAAI,CAACuH,OAAL,CAAaN,GAAb,CAAiBF,IAAjB;AADiB;AAF3B,MAtDH,CADD;AAgEA,GA5HC,CADH,CALD,CADD;AAuIA","sourcesContent":["/**\n * External dependencies\n */\nimport { get, includes, invoke, isUndefined, 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, __experimentalGetSettings } 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 } from '@wordpress/data';\nimport { pin, list, grid } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\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 {\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 ) => ! isUndefined( value )\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\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 ( includes( allCategories, 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 = __experimentalGetSettings().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 = invoke( post, [\n\t\t\t\t\t\t'title',\n\t\t\t\t\t\t'rendered',\n\t\t\t\t\t\t'trim',\n\t\t\t\t\t] );\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 {\n\t\t\t\t\t\turl: imageSourceUrl,\n\t\t\t\t\t\talt: featuredImageAlt,\n\t\t\t\t\t} = getFeaturedImageDetails( 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 }` ]: !! 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 href={ post.link } rel=\"noopener noreferrer\">\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>\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>\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":["get","includes","invoke","isUndefined","pickBy","classnames","BaseControl","PanelBody","Placeholder","QueryControls","RadioControl","RangeControl","Spinner","ToggleControl","ToolbarGroup","__","sprintf","dateI18n","format","__experimentalGetSettings","InspectorControls","BlockAlignmentToolbar","BlockControls","__experimentalImageSizeControl","ImageSizeControl","useBlockProps","store","blockEditorStore","useSelect","useDispatch","pin","list","grid","coreStore","noticeStore","useInstanceId","MIN_EXCERPT_LENGTH","MAX_EXCERPT_LENGTH","MAX_POSTS_COLUMNS","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","settings","getSettings","catIds","length","map","cat","id","latestPostsQuery","author","orderby","_embed","value","imageDimensions","createWarningNotice","removeNotice","noticeId","showRedirectionPreventedNotice","event","preventDefault","type","imageSizeOptions","filter","slug","name","label","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","hasPosts","inspectorControls","newAttrs","hasOwnProperty","width","height","undefined","Number","Math","min","blockProps","className","Array","isArray","displayPosts","slice","layoutControls","icon","title","onClick","isActive","dateFormat","formats","date","i","titleTrimmed","excerpt","rendered","currentAuthor","find","excerptElement","document","createElement","innerHTML","textContent","innerText","imageSourceUrl","featuredImageAlt","imageClasses","renderFeaturedImage","featuredImage","maxWidth","maxHeight","needsReadMore","trim","split","raw","postExcerpt","join","link","__html","date_gmt","content"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get, includes, invoke, isUndefined, 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, __experimentalGetSettings } 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 ) => ! isUndefined( value )\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 ( includes( allCategories, 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 = __experimentalGetSettings().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 = invoke( post, [\n\t\t\t\t\t\t'title',\n\t\t\t\t\t\t'rendered',\n\t\t\t\t\t\t'trim',\n\t\t\t\t\t] );\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 {\n\t\t\t\t\t\turl: imageSourceUrl,\n\t\t\t\t\t\talt: featuredImageAlt,\n\t\t\t\t\t} = getFeaturedImageDetails( 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 }` ]: !! 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"]}
@@ -209,6 +209,12 @@ const transforms = {
209
209
  anchor
210
210
  });
211
211
  }
212
+ }, {
213
+ type: 'block',
214
+ blocks: ['core/table-of-contents'],
215
+ transform: () => {
216
+ return createBlock('core/table-of-contents');
217
+ }
212
218
  }]
213
219
  };
214
220
  export default transforms;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/list/transforms.js"],"names":["createBlock","getBlockAttributes","__UNSTABLE_LINE_SEPARATOR","create","join","replace","split","toHTMLString","getListContentSchema","phrasingContentSchema","listContentSchema","ul","ol","attributes","forEach","tag","children","li","transforms","from","type","isMultiBlock","blocks","transform","blockAttributes","values","value","map","content","html","length","multilineTag","anchor","selector","schema","args","node","ordered","nodeName","id","undefined","getAttribute","reversed","start","parseInt","isNaN","outerHTML","prefix","to","multilineWrapperTags","piece"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, getBlockAttributes } from '@wordpress/blocks';\nimport {\n\t__UNSTABLE_LINE_SEPARATOR,\n\tcreate,\n\tjoin,\n\treplace,\n\tsplit,\n\ttoHTMLString,\n} from '@wordpress/rich-text';\n\nfunction getListContentSchema( { phrasingContentSchema } ) {\n\tconst listContentSchema = {\n\t\t...phrasingContentSchema,\n\t\tul: {},\n\t\tol: { attributes: [ 'type', 'start', 'reversed' ] },\n\t};\n\n\t// Recursion is needed.\n\t// Possible: ul > li > ul.\n\t// Impossible: ul > ul.\n\t[ 'ul', 'ol' ].forEach( ( tag ) => {\n\t\tlistContentSchema[ tag ].children = {\n\t\t\tli: {\n\t\t\t\tchildren: listContentSchema,\n\t\t\t},\n\t\t};\n\t} );\n\n\treturn listContentSchema;\n}\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph', 'core/heading' ],\n\t\t\ttransform: ( blockAttributes ) => {\n\t\t\t\treturn createBlock( 'core/list', {\n\t\t\t\t\tvalues: toHTMLString( {\n\t\t\t\t\t\tvalue: join(\n\t\t\t\t\t\t\tblockAttributes.map( ( { content } ) => {\n\t\t\t\t\t\t\t\tconst value = create( { html: content } );\n\n\t\t\t\t\t\t\t\tif ( blockAttributes.length > 1 ) {\n\t\t\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// When converting only one block, transform\n\t\t\t\t\t\t\t\t// every line to a list item.\n\t\t\t\t\t\t\t\treturn replace(\n\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t\t/\\n/g,\n\t\t\t\t\t\t\t\t\t__UNSTABLE_LINE_SEPARATOR\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t__UNSTABLE_LINE_SEPARATOR\n\t\t\t\t\t\t),\n\t\t\t\t\t\tmultilineTag: 'li',\n\t\t\t\t\t} ),\n\t\t\t\t\tanchor: blockAttributes.anchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/quote', 'core/pullquote' ],\n\t\t\ttransform: ( { value, anchor } ) => {\n\t\t\t\treturn createBlock( 'core/list', {\n\t\t\t\t\tvalues: toHTMLString( {\n\t\t\t\t\t\tvalue: create( { html: value, multilineTag: 'p' } ),\n\t\t\t\t\t\tmultilineTag: 'li',\n\t\t\t\t\t} ),\n\t\t\t\t\tanchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tselector: 'ol,ul',\n\t\t\tschema: ( args ) => ( {\n\t\t\t\tol: getListContentSchema( args ).ol,\n\t\t\t\tul: getListContentSchema( args ).ul,\n\t\t\t} ),\n\t\t\ttransform( node ) {\n\t\t\t\tconst attributes = {\n\t\t\t\t\tordered: node.nodeName === 'OL',\n\t\t\t\t\tanchor: node.id === '' ? undefined : node.id,\n\t\t\t\t};\n\n\t\t\t\tif ( attributes.ordered ) {\n\t\t\t\t\tconst type = node.getAttribute( 'type' );\n\n\t\t\t\t\tif ( type ) {\n\t\t\t\t\t\tattributes.type = type;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( node.getAttribute( 'reversed' ) !== null ) {\n\t\t\t\t\t\tattributes.reversed = true;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst start = parseInt( node.getAttribute( 'start' ), 10 );\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t! isNaN( start ) &&\n\t\t\t\t\t\t// start=1 only makes sense if the list is reversed.\n\t\t\t\t\t\t( start !== 1 || attributes.reversed )\n\t\t\t\t\t) {\n\t\t\t\t\t\tattributes.start = start;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( 'core/list', {\n\t\t\t\t\t...getBlockAttributes( 'core/list', node.outerHTML ),\n\t\t\t\t\t...attributes,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t...[ '*', '-' ].map( ( prefix ) => ( {\n\t\t\ttype: 'prefix',\n\t\t\tprefix,\n\t\t\ttransform( content ) {\n\t\t\t\treturn createBlock( 'core/list', {\n\t\t\t\t\tvalues: `<li>${ content }</li>`,\n\t\t\t\t} );\n\t\t\t},\n\t\t} ) ),\n\t\t...[ '1.', '1)' ].map( ( prefix ) => ( {\n\t\t\ttype: 'prefix',\n\t\t\tprefix,\n\t\t\ttransform( content ) {\n\t\t\t\treturn createBlock( 'core/list', {\n\t\t\t\t\tordered: true,\n\t\t\t\t\tvalues: `<li>${ content }</li>`,\n\t\t\t\t} );\n\t\t\t},\n\t\t} ) ),\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( { values } ) =>\n\t\t\t\tsplit(\n\t\t\t\t\tcreate( {\n\t\t\t\t\t\thtml: values,\n\t\t\t\t\t\tmultilineTag: 'li',\n\t\t\t\t\t\tmultilineWrapperTags: [ 'ul', 'ol' ],\n\t\t\t\t\t} ),\n\t\t\t\t\t__UNSTABLE_LINE_SEPARATOR\n\t\t\t\t).map( ( piece ) =>\n\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\tcontent: toHTMLString( { value: piece } ),\n\t\t\t\t\t} )\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/heading' ],\n\t\t\ttransform: ( { values } ) =>\n\t\t\t\tsplit(\n\t\t\t\t\tcreate( {\n\t\t\t\t\t\thtml: values,\n\t\t\t\t\t\tmultilineTag: 'li',\n\t\t\t\t\t\tmultilineWrapperTags: [ 'ul', 'ol' ],\n\t\t\t\t\t} ),\n\t\t\t\t\t__UNSTABLE_LINE_SEPARATOR\n\t\t\t\t).map( ( piece ) =>\n\t\t\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\t\t\tcontent: toHTMLString( { value: piece } ),\n\t\t\t\t\t} )\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/quote' ],\n\t\t\ttransform: ( { values, anchor } ) => {\n\t\t\t\treturn createBlock( 'core/quote', {\n\t\t\t\t\tvalue: toHTMLString( {\n\t\t\t\t\t\tvalue: create( {\n\t\t\t\t\t\t\thtml: values,\n\t\t\t\t\t\t\tmultilineTag: 'li',\n\t\t\t\t\t\t\tmultilineWrapperTags: [ 'ul', 'ol' ],\n\t\t\t\t\t\t} ),\n\t\t\t\t\t\tmultilineTag: 'p',\n\t\t\t\t\t} ),\n\t\t\t\t\tanchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/pullquote' ],\n\t\t\ttransform: ( { values, anchor } ) => {\n\t\t\t\treturn createBlock( 'core/pullquote', {\n\t\t\t\t\tvalue: toHTMLString( {\n\t\t\t\t\t\tvalue: create( {\n\t\t\t\t\t\t\thtml: values,\n\t\t\t\t\t\t\tmultilineTag: 'li',\n\t\t\t\t\t\t\tmultilineWrapperTags: [ 'ul', 'ol' ],\n\t\t\t\t\t\t} ),\n\t\t\t\t\t\tmultilineTag: 'p',\n\t\t\t\t\t} ),\n\t\t\t\t\tanchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/list/transforms.js"],"names":["createBlock","getBlockAttributes","__UNSTABLE_LINE_SEPARATOR","create","join","replace","split","toHTMLString","getListContentSchema","phrasingContentSchema","listContentSchema","ul","ol","attributes","forEach","tag","children","li","transforms","from","type","isMultiBlock","blocks","transform","blockAttributes","values","value","map","content","html","length","multilineTag","anchor","selector","schema","args","node","ordered","nodeName","id","undefined","getAttribute","reversed","start","parseInt","isNaN","outerHTML","prefix","to","multilineWrapperTags","piece"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, getBlockAttributes } from '@wordpress/blocks';\nimport {\n\t__UNSTABLE_LINE_SEPARATOR,\n\tcreate,\n\tjoin,\n\treplace,\n\tsplit,\n\ttoHTMLString,\n} from '@wordpress/rich-text';\n\nfunction getListContentSchema( { phrasingContentSchema } ) {\n\tconst listContentSchema = {\n\t\t...phrasingContentSchema,\n\t\tul: {},\n\t\tol: { attributes: [ 'type', 'start', 'reversed' ] },\n\t};\n\n\t// Recursion is needed.\n\t// Possible: ul > li > ul.\n\t// Impossible: ul > ul.\n\t[ 'ul', 'ol' ].forEach( ( tag ) => {\n\t\tlistContentSchema[ tag ].children = {\n\t\t\tli: {\n\t\t\t\tchildren: listContentSchema,\n\t\t\t},\n\t\t};\n\t} );\n\n\treturn listContentSchema;\n}\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph', 'core/heading' ],\n\t\t\ttransform: ( blockAttributes ) => {\n\t\t\t\treturn createBlock( 'core/list', {\n\t\t\t\t\tvalues: toHTMLString( {\n\t\t\t\t\t\tvalue: join(\n\t\t\t\t\t\t\tblockAttributes.map( ( { content } ) => {\n\t\t\t\t\t\t\t\tconst value = create( { html: content } );\n\n\t\t\t\t\t\t\t\tif ( blockAttributes.length > 1 ) {\n\t\t\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// When converting only one block, transform\n\t\t\t\t\t\t\t\t// every line to a list item.\n\t\t\t\t\t\t\t\treturn replace(\n\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t\t/\\n/g,\n\t\t\t\t\t\t\t\t\t__UNSTABLE_LINE_SEPARATOR\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t__UNSTABLE_LINE_SEPARATOR\n\t\t\t\t\t\t),\n\t\t\t\t\t\tmultilineTag: 'li',\n\t\t\t\t\t} ),\n\t\t\t\t\tanchor: blockAttributes.anchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/quote', 'core/pullquote' ],\n\t\t\ttransform: ( { value, anchor } ) => {\n\t\t\t\treturn createBlock( 'core/list', {\n\t\t\t\t\tvalues: toHTMLString( {\n\t\t\t\t\t\tvalue: create( { html: value, multilineTag: 'p' } ),\n\t\t\t\t\t\tmultilineTag: 'li',\n\t\t\t\t\t} ),\n\t\t\t\t\tanchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tselector: 'ol,ul',\n\t\t\tschema: ( args ) => ( {\n\t\t\t\tol: getListContentSchema( args ).ol,\n\t\t\t\tul: getListContentSchema( args ).ul,\n\t\t\t} ),\n\t\t\ttransform( node ) {\n\t\t\t\tconst attributes = {\n\t\t\t\t\tordered: node.nodeName === 'OL',\n\t\t\t\t\tanchor: node.id === '' ? undefined : node.id,\n\t\t\t\t};\n\n\t\t\t\tif ( attributes.ordered ) {\n\t\t\t\t\tconst type = node.getAttribute( 'type' );\n\n\t\t\t\t\tif ( type ) {\n\t\t\t\t\t\tattributes.type = type;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( node.getAttribute( 'reversed' ) !== null ) {\n\t\t\t\t\t\tattributes.reversed = true;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst start = parseInt( node.getAttribute( 'start' ), 10 );\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t! isNaN( start ) &&\n\t\t\t\t\t\t// start=1 only makes sense if the list is reversed.\n\t\t\t\t\t\t( start !== 1 || attributes.reversed )\n\t\t\t\t\t) {\n\t\t\t\t\t\tattributes.start = start;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( 'core/list', {\n\t\t\t\t\t...getBlockAttributes( 'core/list', node.outerHTML ),\n\t\t\t\t\t...attributes,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t...[ '*', '-' ].map( ( prefix ) => ( {\n\t\t\ttype: 'prefix',\n\t\t\tprefix,\n\t\t\ttransform( content ) {\n\t\t\t\treturn createBlock( 'core/list', {\n\t\t\t\t\tvalues: `<li>${ content }</li>`,\n\t\t\t\t} );\n\t\t\t},\n\t\t} ) ),\n\t\t...[ '1.', '1)' ].map( ( prefix ) => ( {\n\t\t\ttype: 'prefix',\n\t\t\tprefix,\n\t\t\ttransform( content ) {\n\t\t\t\treturn createBlock( 'core/list', {\n\t\t\t\t\tordered: true,\n\t\t\t\t\tvalues: `<li>${ content }</li>`,\n\t\t\t\t} );\n\t\t\t},\n\t\t} ) ),\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( { values } ) =>\n\t\t\t\tsplit(\n\t\t\t\t\tcreate( {\n\t\t\t\t\t\thtml: values,\n\t\t\t\t\t\tmultilineTag: 'li',\n\t\t\t\t\t\tmultilineWrapperTags: [ 'ul', 'ol' ],\n\t\t\t\t\t} ),\n\t\t\t\t\t__UNSTABLE_LINE_SEPARATOR\n\t\t\t\t).map( ( piece ) =>\n\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\tcontent: toHTMLString( { value: piece } ),\n\t\t\t\t\t} )\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/heading' ],\n\t\t\ttransform: ( { values } ) =>\n\t\t\t\tsplit(\n\t\t\t\t\tcreate( {\n\t\t\t\t\t\thtml: values,\n\t\t\t\t\t\tmultilineTag: 'li',\n\t\t\t\t\t\tmultilineWrapperTags: [ 'ul', 'ol' ],\n\t\t\t\t\t} ),\n\t\t\t\t\t__UNSTABLE_LINE_SEPARATOR\n\t\t\t\t).map( ( piece ) =>\n\t\t\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\t\t\tcontent: toHTMLString( { value: piece } ),\n\t\t\t\t\t} )\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/quote' ],\n\t\t\ttransform: ( { values, anchor } ) => {\n\t\t\t\treturn createBlock( 'core/quote', {\n\t\t\t\t\tvalue: toHTMLString( {\n\t\t\t\t\t\tvalue: create( {\n\t\t\t\t\t\t\thtml: values,\n\t\t\t\t\t\t\tmultilineTag: 'li',\n\t\t\t\t\t\t\tmultilineWrapperTags: [ 'ul', 'ol' ],\n\t\t\t\t\t\t} ),\n\t\t\t\t\t\tmultilineTag: 'p',\n\t\t\t\t\t} ),\n\t\t\t\t\tanchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/pullquote' ],\n\t\t\ttransform: ( { values, anchor } ) => {\n\t\t\t\treturn createBlock( 'core/pullquote', {\n\t\t\t\t\tvalue: toHTMLString( {\n\t\t\t\t\t\tvalue: create( {\n\t\t\t\t\t\t\thtml: values,\n\t\t\t\t\t\t\tmultilineTag: 'li',\n\t\t\t\t\t\t\tmultilineWrapperTags: [ 'ul', 'ol' ],\n\t\t\t\t\t\t} ),\n\t\t\t\t\t\tmultilineTag: 'p',\n\t\t\t\t\t} ),\n\t\t\t\t\tanchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/table-of-contents' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/table-of-contents' );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
@@ -119,7 +119,8 @@ function Edit(_ref2) {
119
119
  const blockProps = useBlockProps();
120
120
  const innerBlocksProps = useInnerBlocksProps(blockProps, {
121
121
  allowedBlocks: ['core/list-item'],
122
- template: TEMPLATE
122
+ template: TEMPLATE,
123
+ templateInsertUpdatesSelection: true
123
124
  });
124
125
  useMigrateOnLoad(attributes, clientId);
125
126
  const {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/list/v2/edit.js"],"names":["last","BlockControls","useBlockProps","useInnerBlocksProps","store","blockEditorStore","ToolbarButton","useDispatch","useSelect","useRegistry","isRTL","__","formatListBullets","formatListBulletsRTL","formatListNumbered","formatListNumberedRTL","formatOutdent","formatOutdentRTL","createBlock","useCallback","useEffect","deprecated","OrderedListSettings","migrateToListV2","TEMPLATE","useMigrateOnLoad","attributes","clientId","registry","updateBlockAttributes","replaceInnerBlocks","values","newAttributes","newInnerBlocks","since","version","alternative","batch","useOutdentList","canOutdent","innerSelect","getBlockRootClientId","getBlock","parentId","name","replaceBlocks","selectionChange","getBlockAttributes","parentBlockId","parentBlockAttributes","newParentBlock","innerBlocks","IndentUI","outdentList","Edit","setAttributes","blockProps","innerBlocksProps","allowedBlocks","template","ordered","reversed","start","TagName","controls"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { last } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { ToolbarButton } from '@wordpress/components';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport {\n\tformatListBullets,\n\tformatListBulletsRTL,\n\tformatListNumbered,\n\tformatListNumberedRTL,\n\tformatOutdent,\n\tformatOutdentRTL,\n} from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\nimport { useCallback, useEffect } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport OrderedListSettings from '../ordered-list-settings';\nimport { migrateToListV2 } from './migrate';\n\nconst TEMPLATE = [ [ 'core/list-item' ] ];\n\n/**\n * At the moment, deprecations don't handle create blocks from attributes\n * (like when using CPT templates). For this reason, this hook is necessary\n * to avoid breaking templates using the old list block format.\n *\n * @param {Object} attributes Block attributes.\n * @param {string} clientId Block client ID.\n */\nfunction useMigrateOnLoad( attributes, clientId ) {\n\tconst registry = useRegistry();\n\tconst { updateBlockAttributes, replaceInnerBlocks } = useDispatch(\n\t\tblockEditorStore\n\t);\n\n\tuseEffect( () => {\n\t\t// As soon as the block is loaded, migrate it to the new version.\n\n\t\tif ( ! attributes.values ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst [ newAttributes, newInnerBlocks ] = migrateToListV2( attributes );\n\n\t\tdeprecated( 'Value attribute on the list block', {\n\t\t\tsince: '6.0',\n\t\t\tversion: '6.5',\n\t\t\talternative: 'inner blocks',\n\t\t} );\n\n\t\tregistry.batch( () => {\n\t\t\tupdateBlockAttributes( clientId, newAttributes );\n\t\t\treplaceInnerBlocks( clientId, newInnerBlocks );\n\t\t} );\n\t}, [ attributes.values ] );\n}\n\nfunction useOutdentList( clientId ) {\n\tconst { canOutdent } = useSelect(\n\t\t( innerSelect ) => {\n\t\t\tconst { getBlockRootClientId, getBlock } = innerSelect(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\tconst parentId = getBlockRootClientId( clientId );\n\t\t\treturn {\n\t\t\t\tcanOutdent:\n\t\t\t\t\t!! parentId &&\n\t\t\t\t\tgetBlock( parentId ).name === 'core/list-item',\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst { getBlockRootClientId, getBlockAttributes, getBlock } = useSelect(\n\t\tblockEditorStore\n\t);\n\n\treturn [\n\t\tcanOutdent,\n\t\tuseCallback( () => {\n\t\t\tconst parentBlockId = getBlockRootClientId( clientId );\n\t\t\tconst parentBlockAttributes = getBlockAttributes( parentBlockId );\n\t\t\t// Create a new parent block without the inner blocks.\n\t\t\tconst newParentBlock = createBlock(\n\t\t\t\t'core/list-item',\n\t\t\t\tparentBlockAttributes\n\t\t\t);\n\t\t\tconst { innerBlocks } = getBlock( clientId );\n\t\t\t// Replace the parent block with a new parent block without inner blocks,\n\t\t\t// and make the inner blocks siblings of the parent.\n\t\t\treplaceBlocks(\n\t\t\t\t[ parentBlockId ],\n\t\t\t\t[ newParentBlock, ...innerBlocks ]\n\t\t\t);\n\t\t\t// Select the last child of the list being outdent.\n\t\t\tselectionChange( last( innerBlocks ).clientId );\n\t\t}, [ clientId ] ),\n\t];\n}\n\nfunction IndentUI( { clientId } ) {\n\tconst [ canOutdent, outdentList ] = useOutdentList( clientId );\n\treturn (\n\t\t<>\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ isRTL() ? formatOutdentRTL : formatOutdent }\n\t\t\t\ttitle={ __( 'Outdent' ) }\n\t\t\t\tdescribedBy={ __( 'Outdent list item' ) }\n\t\t\t\tdisabled={ ! canOutdent }\n\t\t\t\tonClick={ outdentList }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nfunction Edit( { attributes, setAttributes, clientId } ) {\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: [ 'core/list-item' ],\n\t\ttemplate: TEMPLATE,\n\t} );\n\tuseMigrateOnLoad( attributes, clientId );\n\tconst { ordered, reversed, start } = attributes;\n\tconst TagName = ordered ? 'ol' : 'ul';\n\n\tconst controls = (\n\t\t<BlockControls group=\"block\">\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ isRTL() ? formatListBulletsRTL : formatListBullets }\n\t\t\t\ttitle={ __( 'Unordered' ) }\n\t\t\t\tdescribedBy={ __( 'Convert to unordered list' ) }\n\t\t\t\tisActive={ ordered === false }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetAttributes( { ordered: false } );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ isRTL() ? formatListNumberedRTL : formatListNumbered }\n\t\t\t\ttitle={ __( 'Ordered' ) }\n\t\t\t\tdescribedBy={ __( 'Convert to ordered list' ) }\n\t\t\t\tisActive={ ordered === true }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetAttributes( { ordered: true } );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<IndentUI clientId={ clientId } />\n\t\t</BlockControls>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<TagName\n\t\t\t\treversed={ reversed }\n\t\t\t\tstart={ start }\n\t\t\t\t{ ...innerBlocksProps }\n\t\t\t/>\n\t\t\t{ controls }\n\t\t\t{ ordered && (\n\t\t\t\t<OrderedListSettings\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tordered={ ordered }\n\t\t\t\t\treversed={ reversed }\n\t\t\t\t\tstart={ start }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default Edit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/list/v2/edit.js"],"names":["last","BlockControls","useBlockProps","useInnerBlocksProps","store","blockEditorStore","ToolbarButton","useDispatch","useSelect","useRegistry","isRTL","__","formatListBullets","formatListBulletsRTL","formatListNumbered","formatListNumberedRTL","formatOutdent","formatOutdentRTL","createBlock","useCallback","useEffect","deprecated","OrderedListSettings","migrateToListV2","TEMPLATE","useMigrateOnLoad","attributes","clientId","registry","updateBlockAttributes","replaceInnerBlocks","values","newAttributes","newInnerBlocks","since","version","alternative","batch","useOutdentList","canOutdent","innerSelect","getBlockRootClientId","getBlock","parentId","name","replaceBlocks","selectionChange","getBlockAttributes","parentBlockId","parentBlockAttributes","newParentBlock","innerBlocks","IndentUI","outdentList","Edit","setAttributes","blockProps","innerBlocksProps","allowedBlocks","template","templateInsertUpdatesSelection","ordered","reversed","start","TagName","controls"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { last } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { ToolbarButton } from '@wordpress/components';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport {\n\tformatListBullets,\n\tformatListBulletsRTL,\n\tformatListNumbered,\n\tformatListNumberedRTL,\n\tformatOutdent,\n\tformatOutdentRTL,\n} from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\nimport { useCallback, useEffect } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport OrderedListSettings from '../ordered-list-settings';\nimport { migrateToListV2 } from './migrate';\n\nconst TEMPLATE = [ [ 'core/list-item' ] ];\n\n/**\n * At the moment, deprecations don't handle create blocks from attributes\n * (like when using CPT templates). For this reason, this hook is necessary\n * to avoid breaking templates using the old list block format.\n *\n * @param {Object} attributes Block attributes.\n * @param {string} clientId Block client ID.\n */\nfunction useMigrateOnLoad( attributes, clientId ) {\n\tconst registry = useRegistry();\n\tconst { updateBlockAttributes, replaceInnerBlocks } = useDispatch(\n\t\tblockEditorStore\n\t);\n\n\tuseEffect( () => {\n\t\t// As soon as the block is loaded, migrate it to the new version.\n\n\t\tif ( ! attributes.values ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst [ newAttributes, newInnerBlocks ] = migrateToListV2( attributes );\n\n\t\tdeprecated( 'Value attribute on the list block', {\n\t\t\tsince: '6.0',\n\t\t\tversion: '6.5',\n\t\t\talternative: 'inner blocks',\n\t\t} );\n\n\t\tregistry.batch( () => {\n\t\t\tupdateBlockAttributes( clientId, newAttributes );\n\t\t\treplaceInnerBlocks( clientId, newInnerBlocks );\n\t\t} );\n\t}, [ attributes.values ] );\n}\n\nfunction useOutdentList( clientId ) {\n\tconst { canOutdent } = useSelect(\n\t\t( innerSelect ) => {\n\t\t\tconst { getBlockRootClientId, getBlock } = innerSelect(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\tconst parentId = getBlockRootClientId( clientId );\n\t\t\treturn {\n\t\t\t\tcanOutdent:\n\t\t\t\t\t!! parentId &&\n\t\t\t\t\tgetBlock( parentId ).name === 'core/list-item',\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst { getBlockRootClientId, getBlockAttributes, getBlock } = useSelect(\n\t\tblockEditorStore\n\t);\n\n\treturn [\n\t\tcanOutdent,\n\t\tuseCallback( () => {\n\t\t\tconst parentBlockId = getBlockRootClientId( clientId );\n\t\t\tconst parentBlockAttributes = getBlockAttributes( parentBlockId );\n\t\t\t// Create a new parent block without the inner blocks.\n\t\t\tconst newParentBlock = createBlock(\n\t\t\t\t'core/list-item',\n\t\t\t\tparentBlockAttributes\n\t\t\t);\n\t\t\tconst { innerBlocks } = getBlock( clientId );\n\t\t\t// Replace the parent block with a new parent block without inner blocks,\n\t\t\t// and make the inner blocks siblings of the parent.\n\t\t\treplaceBlocks(\n\t\t\t\t[ parentBlockId ],\n\t\t\t\t[ newParentBlock, ...innerBlocks ]\n\t\t\t);\n\t\t\t// Select the last child of the list being outdent.\n\t\t\tselectionChange( last( innerBlocks ).clientId );\n\t\t}, [ clientId ] ),\n\t];\n}\n\nfunction IndentUI( { clientId } ) {\n\tconst [ canOutdent, outdentList ] = useOutdentList( clientId );\n\treturn (\n\t\t<>\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ isRTL() ? formatOutdentRTL : formatOutdent }\n\t\t\t\ttitle={ __( 'Outdent' ) }\n\t\t\t\tdescribedBy={ __( 'Outdent list item' ) }\n\t\t\t\tdisabled={ ! canOutdent }\n\t\t\t\tonClick={ outdentList }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nfunction Edit( { attributes, setAttributes, clientId } ) {\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: [ 'core/list-item' ],\n\t\ttemplate: TEMPLATE,\n\t\ttemplateInsertUpdatesSelection: true,\n\t} );\n\tuseMigrateOnLoad( attributes, clientId );\n\tconst { ordered, reversed, start } = attributes;\n\tconst TagName = ordered ? 'ol' : 'ul';\n\n\tconst controls = (\n\t\t<BlockControls group=\"block\">\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ isRTL() ? formatListBulletsRTL : formatListBullets }\n\t\t\t\ttitle={ __( 'Unordered' ) }\n\t\t\t\tdescribedBy={ __( 'Convert to unordered list' ) }\n\t\t\t\tisActive={ ordered === false }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetAttributes( { ordered: false } );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ isRTL() ? formatListNumberedRTL : formatListNumbered }\n\t\t\t\ttitle={ __( 'Ordered' ) }\n\t\t\t\tdescribedBy={ __( 'Convert to ordered list' ) }\n\t\t\t\tisActive={ ordered === true }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetAttributes( { ordered: true } );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<IndentUI clientId={ clientId } />\n\t\t</BlockControls>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<TagName\n\t\t\t\treversed={ reversed }\n\t\t\t\tstart={ start }\n\t\t\t\t{ ...innerBlocksProps }\n\t\t\t/>\n\t\t\t{ controls }\n\t\t\t{ ordered && (\n\t\t\t\t<OrderedListSettings\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tordered={ ordered }\n\t\t\t\t\treversed={ reversed }\n\t\t\t\t\tstart={ start }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default Edit;\n"]}
@@ -7,8 +7,7 @@ import { omit } from 'lodash';
7
7
  */
8
8
 
9
9
  import { createBlock } from '@wordpress/blocks';
10
-
11
- function createListBlockFromDOMElement(listElement) {
10
+ export function createListBlockFromDOMElement(listElement) {
12
11
  var _listElement$getAttri;
13
12
 
14
13
  const listAttributes = {
@@ -45,7 +44,6 @@ function createListBlockFromDOMElement(listElement) {
45
44
  });
46
45
  return createBlock('core/list', listAttributes, innerBlocks);
47
46
  }
48
-
49
47
  export function migrateToListV2(attributes) {
50
48
  const {
51
49
  values,