@wordpress/block-library 11.0.0 → 11.0.2-next.v.202609171837.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 (434) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +7 -7
  3. package/build/archives/edit.cjs.map +3 -3
  4. package/build/audio/edit.cjs.map +3 -3
  5. package/build/avatar/hooks.cjs.map +2 -2
  6. package/build/button/edit.cjs.map +2 -2
  7. package/build/categories/edit.cjs.map +3 -3
  8. package/build/code/block.json +1 -0
  9. package/build/code/save.cjs.map +2 -2
  10. package/build/comment-template/hooks.cjs.map +2 -2
  11. package/build/cover/edit/index.cjs.map +2 -2
  12. package/build/cover/edit/inspector-controls.cjs.map +2 -2
  13. package/build/cover/transforms.cjs.map +2 -2
  14. package/build/details/block.json +1 -0
  15. package/build/details/index.cjs.map +2 -2
  16. package/build/embed/embed-controls.cjs.map +2 -2
  17. package/build/file/deprecated.cjs.map +2 -2
  18. package/build/file/edit.cjs.map +2 -2
  19. package/build/file/inspector.cjs.map +3 -3
  20. package/build/file/save.cjs.map +2 -2
  21. package/build/footnotes/block.json +1 -0
  22. package/build/footnotes/edit.cjs.map +2 -2
  23. package/build/gallery/dynamic-gallery.cjs.map +3 -3
  24. package/build/gallery/edit.cjs +64 -37
  25. package/build/gallery/edit.cjs.map +3 -3
  26. package/build/gallery/{flex-styles.cjs → gallery-styles.cjs} +31 -32
  27. package/build/gallery/gallery-styles.cjs.map +7 -0
  28. package/build/gallery/responsive-styles.cjs +27 -5
  29. package/build/gallery/responsive-styles.cjs.map +2 -2
  30. package/build/heading/block.json +2 -0
  31. package/build/heading/index.cjs.map +2 -2
  32. package/build/html/modal.cjs +3 -6
  33. package/build/html/modal.cjs.map +2 -2
  34. package/build/image/edit.cjs.map +2 -2
  35. package/build/image/image.cjs.map +2 -2
  36. package/build/index.cjs.map +2 -2
  37. package/build/latest-comments/edit.cjs.map +3 -3
  38. package/build/latest-posts/edit.cjs.map +2 -2
  39. package/build/list/ordered-list-settings.cjs.map +3 -3
  40. package/build/list-item/hooks/use-enter.cjs.map +2 -2
  41. package/build/math/block.json +2 -0
  42. package/build/math/deprecated.cjs +29 -12
  43. package/build/math/deprecated.cjs.map +2 -2
  44. package/build/math/edit.cjs +67 -46
  45. package/build/math/edit.cjs.map +2 -2
  46. package/build/math/save.cjs +2 -2
  47. package/build/math/save.cjs.map +2 -2
  48. package/build/media-text/constants.cjs +3 -0
  49. package/build/media-text/constants.cjs.map +2 -2
  50. package/build/media-text/deprecated.cjs.map +2 -2
  51. package/build/media-text/edit.cjs +40 -0
  52. package/build/media-text/edit.cjs.map +3 -3
  53. package/build/media-text/image-fill.cjs.map +2 -2
  54. package/build/media-text/media-container.cjs +3 -3
  55. package/build/media-text/media-container.cjs.map +2 -2
  56. package/build/navigation/edit/index.cjs.map +2 -2
  57. package/build/navigation/edit/menu-inspector-controls.cjs.map +2 -2
  58. package/build/navigation/edit/overlay-template-part-selector.cjs.map +3 -3
  59. package/build/navigation/edit/responsive-wrapper.cjs.map +2 -2
  60. package/build/navigation/edit/use-generate-default-navigation-title.cjs.map +2 -2
  61. package/build/navigation/view.cjs +2 -2
  62. package/build/navigation/view.cjs.map +2 -2
  63. package/build/navigation-link/edit.cjs.map +2 -2
  64. package/build/navigation-link/shared/invalid-draft-display.cjs.map +2 -2
  65. package/build/navigation-submenu/edit.cjs.map +2 -2
  66. package/build/paragraph/block.json +1 -0
  67. package/build/paragraph/edit.cjs.map +2 -2
  68. package/build/paragraph/index.cjs +6 -0
  69. package/build/paragraph/index.cjs.map +3 -3
  70. package/build/playlist/edit.cjs +2 -1
  71. package/build/playlist/edit.cjs.map +3 -3
  72. package/build/post-author/edit.cjs.map +3 -3
  73. package/build/post-author-name/edit.cjs.map +2 -2
  74. package/build/post-content/block.json +1 -0
  75. package/build/post-date/edit.cjs.map +2 -2
  76. package/build/post-excerpt/block.json +1 -0
  77. package/build/post-excerpt/edit.cjs.map +2 -2
  78. package/build/post-featured-image/edit.cjs.map +2 -2
  79. package/build/post-navigation-link/edit.cjs.map +3 -3
  80. package/build/post-time-to-read/edit.cjs.map +2 -2
  81. package/build/pullquote/deprecated.cjs.map +2 -2
  82. package/build/query/deprecated.cjs.map +2 -2
  83. package/build/query/edit/inspector-controls/index.cjs.map +3 -3
  84. package/build/query/edit/inspector-controls/order-control.cjs.map +3 -3
  85. package/build/query/edit/inspector-controls/sticky-control.cjs.map +3 -3
  86. package/build/query/view.cjs.map +2 -2
  87. package/build/query-title/use-archive-label.cjs.map +2 -2
  88. package/build/quote/deprecated.cjs.map +2 -2
  89. package/build/quote/transforms.cjs.map +2 -2
  90. package/build/search/edit.cjs.map +3 -3
  91. package/build/separator/edit.cjs.map +3 -3
  92. package/build/social-links/edit.cjs.map +3 -3
  93. package/build/table/state.cjs.map +2 -2
  94. package/build/table-of-contents/edit.cjs.map +3 -3
  95. package/build/table-of-contents/utils.cjs.map +2 -2
  96. package/build/tabs/use-tab-actions.cjs.map +2 -2
  97. package/build/tag-cloud/edit.cjs.map +3 -3
  98. package/build/template-part/edit/advanced-controls.cjs.map +3 -3
  99. package/build/template-part/edit/import-controls.cjs.map +3 -3
  100. package/build/template-part/edit/index.cjs.map +2 -2
  101. package/build/template-part/edit/inner-blocks.cjs.map +2 -2
  102. package/build/template-part/edit/placeholder.cjs.map +2 -2
  103. package/build/term-count/use-term-count.cjs.map +2 -2
  104. package/build/term-description/use-term-description.cjs.map +2 -2
  105. package/build/term-name/use-term-name.cjs.map +2 -2
  106. package/build/terms-query/edit/inspector-controls/index.cjs.map +2 -2
  107. package/build/terms-query/edit/inspector-controls/inherit-control.cjs.map +2 -2
  108. package/build/terms-query/edit/inspector-controls/order-control.cjs.map +3 -3
  109. package/build/terms-query/edit/inspector-controls/taxonomy-control.cjs.map +3 -3
  110. package/build/utils/hooks.cjs.map +2 -2
  111. package/build/utils/media-control.cjs +5 -1
  112. package/build/utils/media-control.cjs.map +2 -2
  113. package/build/utils/poster-image.cjs.map +2 -2
  114. package/build/verse/block.json +1 -0
  115. package/build/video/edit-common-settings.cjs.map +3 -3
  116. package/build/video/tracks-editor.cjs.map +3 -3
  117. package/build-module/archives/edit.mjs +2 -2
  118. package/build-module/archives/edit.mjs.map +2 -2
  119. package/build-module/audio/edit.mjs +2 -2
  120. package/build-module/audio/edit.mjs.map +2 -2
  121. package/build-module/avatar/hooks.mjs.map +2 -2
  122. package/build-module/button/edit.mjs.map +2 -2
  123. package/build-module/categories/edit.mjs +2 -2
  124. package/build-module/categories/edit.mjs.map +2 -2
  125. package/build-module/code/block.json +1 -0
  126. package/build-module/code/save.mjs.map +2 -2
  127. package/build-module/comment-template/hooks.mjs.map +2 -2
  128. package/build-module/cover/edit/index.mjs.map +2 -2
  129. package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
  130. package/build-module/cover/transforms.mjs.map +2 -2
  131. package/build-module/details/block.json +1 -0
  132. package/build-module/details/index.mjs.map +2 -2
  133. package/build-module/embed/embed-controls.mjs.map +2 -2
  134. package/build-module/file/deprecated.mjs.map +2 -2
  135. package/build-module/file/edit.mjs.map +2 -2
  136. package/build-module/file/inspector.mjs +2 -2
  137. package/build-module/file/inspector.mjs.map +2 -2
  138. package/build-module/file/save.mjs.map +2 -2
  139. package/build-module/footnotes/block.json +1 -0
  140. package/build-module/footnotes/edit.mjs.map +2 -2
  141. package/build-module/gallery/dynamic-gallery.mjs +2 -2
  142. package/build-module/gallery/dynamic-gallery.mjs.map +2 -2
  143. package/build-module/gallery/edit.mjs +67 -40
  144. package/build-module/gallery/edit.mjs.map +2 -2
  145. package/build-module/gallery/{flex-styles.mjs → gallery-styles.mjs} +29 -30
  146. package/build-module/gallery/gallery-styles.mjs.map +7 -0
  147. package/build-module/gallery/responsive-styles.mjs +25 -4
  148. package/build-module/gallery/responsive-styles.mjs.map +2 -2
  149. package/build-module/heading/block.json +2 -0
  150. package/build-module/heading/index.mjs.map +2 -2
  151. package/build-module/html/modal.mjs +3 -6
  152. package/build-module/html/modal.mjs.map +2 -2
  153. package/build-module/image/edit.mjs.map +2 -2
  154. package/build-module/image/image.mjs.map +2 -2
  155. package/build-module/index.mjs.map +2 -2
  156. package/build-module/latest-comments/edit.mjs +2 -2
  157. package/build-module/latest-comments/edit.mjs.map +2 -2
  158. package/build-module/latest-posts/edit.mjs.map +2 -2
  159. package/build-module/list/ordered-list-settings.mjs +2 -2
  160. package/build-module/list/ordered-list-settings.mjs.map +2 -2
  161. package/build-module/list-item/hooks/use-enter.mjs.map +2 -2
  162. package/build-module/math/block.json +2 -0
  163. package/build-module/math/deprecated.mjs +29 -12
  164. package/build-module/math/deprecated.mjs.map +2 -2
  165. package/build-module/math/edit.mjs +68 -47
  166. package/build-module/math/edit.mjs.map +2 -2
  167. package/build-module/math/save.mjs +2 -2
  168. package/build-module/math/save.mjs.map +2 -2
  169. package/build-module/media-text/constants.mjs +2 -0
  170. package/build-module/media-text/constants.mjs.map +2 -2
  171. package/build-module/media-text/deprecated.mjs.map +2 -2
  172. package/build-module/media-text/edit.mjs +42 -1
  173. package/build-module/media-text/edit.mjs.map +2 -2
  174. package/build-module/media-text/image-fill.mjs.map +2 -2
  175. package/build-module/media-text/media-container.mjs +1 -1
  176. package/build-module/media-text/media-container.mjs.map +2 -2
  177. package/build-module/navigation/edit/index.mjs.map +2 -2
  178. package/build-module/navigation/edit/menu-inspector-controls.mjs.map +2 -2
  179. package/build-module/navigation/edit/overlay-template-part-selector.mjs +2 -2
  180. package/build-module/navigation/edit/overlay-template-part-selector.mjs.map +2 -2
  181. package/build-module/navigation/edit/responsive-wrapper.mjs.map +2 -2
  182. package/build-module/navigation/edit/use-generate-default-navigation-title.mjs.map +2 -2
  183. package/build-module/navigation/view.mjs +2 -2
  184. package/build-module/navigation/view.mjs.map +2 -2
  185. package/build-module/navigation-link/edit.mjs.map +2 -2
  186. package/build-module/navigation-link/shared/invalid-draft-display.mjs.map +2 -2
  187. package/build-module/navigation-submenu/edit.mjs.map +2 -2
  188. package/build-module/paragraph/block.json +1 -0
  189. package/build-module/paragraph/edit.mjs.map +2 -2
  190. package/build-module/paragraph/index.mjs +6 -0
  191. package/build-module/paragraph/index.mjs.map +2 -2
  192. package/build-module/playlist/edit.mjs +5 -4
  193. package/build-module/playlist/edit.mjs.map +2 -2
  194. package/build-module/post-author/edit.mjs +2 -2
  195. package/build-module/post-author/edit.mjs.map +2 -2
  196. package/build-module/post-author-name/edit.mjs.map +2 -2
  197. package/build-module/post-content/block.json +1 -0
  198. package/build-module/post-date/edit.mjs.map +2 -2
  199. package/build-module/post-excerpt/block.json +1 -0
  200. package/build-module/post-excerpt/edit.mjs.map +2 -2
  201. package/build-module/post-featured-image/edit.mjs.map +2 -2
  202. package/build-module/post-navigation-link/edit.mjs +2 -2
  203. package/build-module/post-navigation-link/edit.mjs.map +2 -2
  204. package/build-module/post-time-to-read/edit.mjs.map +2 -2
  205. package/build-module/pullquote/deprecated.mjs.map +2 -2
  206. package/build-module/query/deprecated.mjs.map +2 -2
  207. package/build-module/query/edit/inspector-controls/index.mjs +2 -2
  208. package/build-module/query/edit/inspector-controls/index.mjs.map +2 -2
  209. package/build-module/query/edit/inspector-controls/order-control.mjs +2 -2
  210. package/build-module/query/edit/inspector-controls/order-control.mjs.map +2 -2
  211. package/build-module/query/edit/inspector-controls/sticky-control.mjs +2 -2
  212. package/build-module/query/edit/inspector-controls/sticky-control.mjs.map +2 -2
  213. package/build-module/query/view.mjs.map +2 -2
  214. package/build-module/query-title/use-archive-label.mjs.map +2 -2
  215. package/build-module/quote/deprecated.mjs.map +2 -2
  216. package/build-module/quote/transforms.mjs.map +2 -2
  217. package/build-module/search/edit.mjs +3 -3
  218. package/build-module/search/edit.mjs.map +2 -2
  219. package/build-module/separator/edit.mjs +5 -2
  220. package/build-module/separator/edit.mjs.map +2 -2
  221. package/build-module/social-links/edit.mjs +2 -2
  222. package/build-module/social-links/edit.mjs.map +2 -2
  223. package/build-module/table/state.mjs.map +2 -2
  224. package/build-module/table-of-contents/edit.mjs +2 -2
  225. package/build-module/table-of-contents/edit.mjs.map +2 -2
  226. package/build-module/table-of-contents/utils.mjs.map +2 -2
  227. package/build-module/tabs/use-tab-actions.mjs.map +2 -2
  228. package/build-module/tag-cloud/edit.mjs +2 -2
  229. package/build-module/tag-cloud/edit.mjs.map +2 -2
  230. package/build-module/template-part/edit/advanced-controls.mjs +5 -2
  231. package/build-module/template-part/edit/advanced-controls.mjs.map +2 -2
  232. package/build-module/template-part/edit/import-controls.mjs +2 -2
  233. package/build-module/template-part/edit/import-controls.mjs.map +2 -2
  234. package/build-module/template-part/edit/index.mjs.map +2 -2
  235. package/build-module/template-part/edit/inner-blocks.mjs.map +2 -2
  236. package/build-module/template-part/edit/placeholder.mjs.map +2 -2
  237. package/build-module/term-count/use-term-count.mjs.map +2 -2
  238. package/build-module/term-description/use-term-description.mjs.map +2 -2
  239. package/build-module/term-name/use-term-name.mjs.map +2 -2
  240. package/build-module/terms-query/edit/inspector-controls/index.mjs.map +2 -2
  241. package/build-module/terms-query/edit/inspector-controls/inherit-control.mjs.map +2 -2
  242. package/build-module/terms-query/edit/inspector-controls/order-control.mjs +2 -2
  243. package/build-module/terms-query/edit/inspector-controls/order-control.mjs.map +2 -2
  244. package/build-module/terms-query/edit/inspector-controls/taxonomy-control.mjs +2 -2
  245. package/build-module/terms-query/edit/inspector-controls/taxonomy-control.mjs.map +2 -2
  246. package/build-module/utils/hooks.mjs.map +2 -2
  247. package/build-module/utils/media-control.mjs +5 -1
  248. package/build-module/utils/media-control.mjs.map +2 -2
  249. package/build-module/utils/poster-image.mjs.map +2 -2
  250. package/build-module/verse/block.json +1 -0
  251. package/build-module/video/edit-common-settings.mjs +2 -2
  252. package/build-module/video/edit-common-settings.mjs.map +2 -2
  253. package/build-module/video/tracks-editor.mjs +2 -2
  254. package/build-module/video/tracks-editor.mjs.map +2 -2
  255. package/build-style/button/style-rtl.css +2 -1
  256. package/build-style/button/style.css +2 -1
  257. package/build-style/columns/style-rtl.css +1 -1
  258. package/build-style/columns/style.css +1 -1
  259. package/build-style/comments/editor-rtl.css +1 -1
  260. package/build-style/comments/editor.css +1 -1
  261. package/build-style/comments/style-rtl.css +1 -1
  262. package/build-style/comments/style.css +1 -1
  263. package/build-style/common-rtl.css +1 -1
  264. package/build-style/common.css +1 -1
  265. package/build-style/cover/style-rtl.css +6 -0
  266. package/build-style/cover/style.css +6 -0
  267. package/build-style/editor-rtl.css +9 -5
  268. package/build-style/editor.css +9 -5
  269. package/build-style/embed/editor-rtl.css +2 -1
  270. package/build-style/embed/editor.css +2 -1
  271. package/build-style/gallery/style-rtl.css +1 -2
  272. package/build-style/gallery/style.css +1 -2
  273. package/build-style/image/style-rtl.css +6 -9
  274. package/build-style/image/style.css +6 -9
  275. package/build-style/math/editor-rtl.css +5 -0
  276. package/build-style/math/editor.css +5 -0
  277. package/build-style/navigation/editor-rtl.css +1 -0
  278. package/build-style/navigation/editor.css +1 -0
  279. package/build-style/navigation/style-rtl.css +1 -1
  280. package/build-style/navigation/style.css +1 -1
  281. package/build-style/post-title/style-rtl.css +2 -2
  282. package/build-style/post-title/style.css +2 -2
  283. package/build-style/query-pagination/editor-rtl.css +0 -3
  284. package/build-style/query-pagination/editor.css +0 -3
  285. package/build-style/search/theme-rtl.css +1 -1
  286. package/build-style/search/theme.css +1 -1
  287. package/build-style/style-rtl.css +23 -19
  288. package/build-style/style.css +23 -19
  289. package/build-style/theme-rtl.css +1 -1
  290. package/build-style/theme.css +1 -1
  291. package/build-style/verse/style-rtl.css +2 -1
  292. package/build-style/verse/style.css +2 -1
  293. package/package.json +40 -40
  294. package/src/archives/edit.jsx +2 -2
  295. package/src/audio/edit.jsx +2 -2
  296. package/src/avatar/hooks.js +2 -2
  297. package/src/button/edit.jsx +1 -1
  298. package/src/button/style.scss +2 -2
  299. package/src/calendar/index.php +1 -1
  300. package/src/categories/edit.jsx +2 -2
  301. package/src/code/README.md +1 -0
  302. package/src/code/block.json +1 -0
  303. package/src/code/save.jsx +1 -1
  304. package/src/columns/style.scss +2 -3
  305. package/src/comment-template/hooks.js +1 -1
  306. package/src/comments/style.scss +1 -1
  307. package/src/common.scss +1 -2
  308. package/src/cover/edit/index.jsx +2 -2
  309. package/src/cover/edit/inspector-controls.jsx +2 -2
  310. package/src/cover/style.scss +10 -0
  311. package/src/cover/test/{edit.jsdom.test.js → edit.browser.test.js} +104 -145
  312. package/src/cover/transforms.js +3 -3
  313. package/src/details/README.md +1 -0
  314. package/src/details/block.json +1 -0
  315. package/src/details/index.js +1 -1
  316. package/src/embed/editor.scss +2 -2
  317. package/src/embed/embed-controls.jsx +2 -2
  318. package/src/file/deprecated.jsx +3 -3
  319. package/src/file/edit.jsx +5 -3
  320. package/src/file/inspector.jsx +3 -3
  321. package/src/file/save.jsx +2 -2
  322. package/src/footnotes/README.md +1 -0
  323. package/src/footnotes/block.json +1 -0
  324. package/src/footnotes/edit.jsx +1 -1
  325. package/src/gallery/dynamic-gallery.jsx +4 -4
  326. package/src/gallery/edit.jsx +121 -68
  327. package/src/gallery/gallery-styles.js +117 -0
  328. package/src/gallery/index.php +181 -67
  329. package/src/gallery/responsive-styles.js +59 -5
  330. package/src/gallery/test/edit.jsdom.test.js +71 -3
  331. package/src/gallery/test/responsive-styles.js +59 -5
  332. package/src/heading/README.md +2 -0
  333. package/src/heading/block.json +2 -0
  334. package/src/heading/index.js +2 -2
  335. package/src/html/modal.jsx +0 -3
  336. package/src/image/edit.jsx +1 -1
  337. package/src/image/image.jsx +7 -7
  338. package/src/image/index.php +10 -4
  339. package/src/image/style.scss +1 -0
  340. package/src/image/test/use-open-image-media-editor-modal.jsdom.test.js +1 -1
  341. package/src/index.jsx +1 -1
  342. package/src/latest-comments/edit.jsx +2 -2
  343. package/src/latest-posts/edit.jsx +1 -1
  344. package/src/list/ordered-list-settings.jsx +2 -2
  345. package/src/list-item/hooks/use-enter.js +1 -1
  346. package/src/math/README.md +2 -2
  347. package/src/math/block.json +2 -0
  348. package/src/math/deprecated.jsx +38 -12
  349. package/src/math/edit.jsx +49 -20
  350. package/src/math/editor.scss +5 -0
  351. package/src/math/save.jsx +20 -4
  352. package/src/media-text/constants.js +1 -0
  353. package/src/media-text/deprecated.jsx +3 -3
  354. package/src/media-text/edit.jsx +48 -3
  355. package/src/media-text/image-fill.js +2 -2
  356. package/src/media-text/media-container.jsx +1 -1
  357. package/src/navigation/edit/index.jsx +1 -1
  358. package/src/navigation/edit/menu-inspector-controls.jsx +2 -2
  359. package/src/navigation/edit/overlay-template-part-selector.jsx +3 -3
  360. package/src/navigation/edit/responsive-wrapper.jsx +1 -1
  361. package/src/navigation/edit/use-generate-default-navigation-title.js +2 -2
  362. package/src/navigation/editor.scss +1 -0
  363. package/src/navigation/index.php +12 -0
  364. package/src/navigation/style.scss +1 -1
  365. package/src/navigation/test/use-navigation-menu.jsdom.test.js +6 -28
  366. package/src/navigation/test/view.jsdom.test.js +23 -0
  367. package/src/navigation/view.js +9 -6
  368. package/src/navigation-link/edit.jsx +1 -1
  369. package/src/navigation-link/shared/invalid-draft-display.jsx +2 -2
  370. package/src/navigation-link/test/__snapshots__/hooks.jsdom.test.js.snap +41 -11
  371. package/src/navigation-submenu/edit.jsx +1 -1
  372. package/src/paragraph/README.md +1 -0
  373. package/src/paragraph/block.json +1 -0
  374. package/src/paragraph/edit.jsx +1 -1
  375. package/src/paragraph/index.js +7 -0
  376. package/src/pattern/index.php +2 -2
  377. package/src/playlist/edit.jsx +6 -4
  378. package/src/playlist-track/test/edit.jsdom.test.jsx +2 -3
  379. package/src/post-author/edit.jsx +2 -2
  380. package/src/post-author-name/edit.jsx +1 -1
  381. package/src/post-content/README.md +1 -0
  382. package/src/post-content/block.json +1 -0
  383. package/src/post-date/edit.jsx +2 -2
  384. package/src/post-excerpt/README.md +1 -0
  385. package/src/post-excerpt/block.json +1 -0
  386. package/src/post-excerpt/edit.jsx +1 -1
  387. package/src/post-featured-image/edit.jsx +2 -2
  388. package/src/post-navigation-link/edit.jsx +4 -4
  389. package/src/post-time-to-read/edit.jsx +2 -2
  390. package/src/post-title/style.scss +2 -3
  391. package/src/pullquote/deprecated.jsx +1 -1
  392. package/src/query/deprecated.jsx +1 -1
  393. package/src/query/edit/inspector-controls/index.jsx +4 -4
  394. package/src/query/edit/inspector-controls/order-control.jsx +2 -2
  395. package/src/query/edit/inspector-controls/sticky-control.jsx +2 -2
  396. package/src/query/view.js +6 -9
  397. package/src/query-pagination/editor.scss +0 -3
  398. package/src/query-title/use-archive-label.js +1 -1
  399. package/src/quote/deprecated.jsx +2 -2
  400. package/src/quote/transforms.js +3 -3
  401. package/src/search/edit.jsx +6 -6
  402. package/src/search/theme.scss +1 -1
  403. package/src/separator/edit.jsx +7 -4
  404. package/src/social-links/edit.jsx +2 -2
  405. package/src/table/state.js +1 -1
  406. package/src/table-of-contents/edit.jsx +6 -6
  407. package/src/table-of-contents/utils.ts +2 -2
  408. package/src/tabs/use-tab-actions.js +1 -1
  409. package/src/tag-cloud/edit.jsx +2 -2
  410. package/src/template-part/edit/advanced-controls.jsx +5 -2
  411. package/src/template-part/edit/import-controls.jsx +2 -2
  412. package/src/template-part/edit/index.jsx +2 -2
  413. package/src/template-part/edit/inner-blocks.jsx +1 -1
  414. package/src/template-part/edit/placeholder.jsx +2 -2
  415. package/src/term-count/use-term-count.js +1 -1
  416. package/src/term-description/use-term-description.js +1 -1
  417. package/src/term-name/use-term-name.js +1 -1
  418. package/src/terms-query/edit/inspector-controls/index.jsx +2 -2
  419. package/src/terms-query/edit/inspector-controls/inherit-control.jsx +1 -1
  420. package/src/terms-query/edit/inspector-controls/order-control.jsx +2 -2
  421. package/src/terms-query/edit/inspector-controls/taxonomy-control.jsx +2 -2
  422. package/src/utils/hooks.js +1 -1
  423. package/src/utils/media-control.jsx +16 -10
  424. package/src/utils/poster-image.jsx +2 -2
  425. package/src/utils/test/waveform-player.jsdom.test.jsx +36 -38
  426. package/src/utils/test/{waveform-utils.jsdom.test.js → waveform-utils.browser.test.js} +64 -44
  427. package/src/verse/README.md +1 -0
  428. package/src/verse/block.json +1 -0
  429. package/src/verse/style.scss +2 -2
  430. package/src/video/edit-common-settings.jsx +3 -3
  431. package/src/video/tracks-editor.jsx +2 -2
  432. package/build/gallery/flex-styles.cjs.map +0 -7
  433. package/build-module/gallery/flex-styles.mjs.map +0 -7
  434. package/src/gallery/flex-styles.js +0 -99
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.jsx"],
4
- "sourcesContent": ["import {\n\tsetDefaultBlockName,\n\tsetFreeformContentHandlerName,\n\tsetUnregisteredTypeHandlerName,\n\tsetGroupingBlockName,\n\tregisterBlockType,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useDisabled } from '@wordpress/compose';\nimport { select } from '@wordpress/data';\nimport { useBlockProps } from '@wordpress/block-editor';\nimport { useServerSideRender } from '@wordpress/server-side-render';\nimport { __, sprintf } from '@wordpress/i18n';\nimport HtmlRenderer from './utils/html-renderer';\n// Experimental blocks are only registered in the Gutenberg plugin (see\n// `__experimentalRegisterExperimentalCoreBlocks`). `registerCoreBlocks`\n// filters them out via `isBlockMetadataExperimental`, so they are never\n// available in WordPress core regardless of what ends up in the bundle.\nimport * as accordion from './accordion';\nimport * as accordionItem from './accordion-item';\nimport * as accordionHeading from './accordion-heading';\nimport * as accordionPanel from './accordion-panel';\nimport * as archives from './archives';\nimport * as avatar from './avatar';\nimport * as audio from './audio';\nimport * as breadcrumbs from './breadcrumbs';\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 details from './details';\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 icon from './icon';\nimport * as image from './image';\nimport * as latestComments from './latest-comments';\nimport * as latestPosts from './latest-posts';\nimport * as list from './list';\nimport * as math from './math';\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 navigationOverlayClose from './navigation-overlay-close';\nimport * as pattern from './pattern';\nimport * as pageList from './page-list';\nimport * as pageListItem from './page-list-item';\nimport * as paragraph from './paragraph';\nimport * as playlist from './playlist';\nimport * as playlistTrack from './playlist-track';\nimport * as postAuthor from './post-author';\nimport * as postAuthorName from './post-author-name';\nimport * as postAuthorBiography from './post-author-biography';\nimport * as postComment from './post-comment';\nimport * as postCommentsCount from './post-comments-count';\nimport * as postCommentsForm from './post-comments-form';\nimport * as postCommentsLink from './post-comments-link';\nimport * as postContent from './post-content';\nimport * as postDate from './post-date';\nimport * as postExcerpt from './post-excerpt';\nimport * as postFeaturedImage from './post-featured-image';\nimport * as postNavigationLink from './post-navigation-link';\nimport * as postTemplate from './post-template';\nimport * as postTerms from './post-terms';\nimport * as postTimeToRead from './post-time-to-read';\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 queryTotal from './query-total';\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 tabPanel from './tab-panel';\nimport * as tabPanels from './tab-panels';\nimport * as table from './table';\nimport * as tableOfContents from './table-of-contents';\nimport * as tabList from './tab-list';\nimport * as tabs from './tabs';\nimport * as tagCloud from './tag-cloud';\nimport * as templatePart from './template-part';\nimport * as termCount from './term-count';\nimport * as termDescription from './term-description';\nimport * as termName from './term-name';\nimport * as termsQuery from './terms-query';\nimport * as termTemplate from './term-template';\nimport * as textColumns from './text-columns';\nimport * as verse from './verse';\nimport * as video from './video';\nimport * as footnotes from './footnotes';\nimport isBlockMetadataExperimental from './utils/is-block-metadata-experimental';\nimport { unlock } from './lock-unlock';\n\n/**\n * Function to get all the block-library blocks in an array\n */\nconst getAllBlocks = () => {\n\tconst blocks = [\n\t\t// Common blocks are grouped at the top to prioritize their display\n\t\t// in various contexts — like the inserter and auto-complete components.\n\t\tparagraph,\n\t\timage,\n\t\theading,\n\t\tgallery,\n\t\tlist,\n\t\tlistItem,\n\t\tquote,\n\n\t\t// Register all remaining core blocks.\n\t\taccordion,\n\t\taccordionItem,\n\t\taccordionHeading,\n\t\taccordionPanel,\n\t\tarchives,\n\t\taudio,\n\t\tbutton,\n\t\tbuttons,\n\t\tcalendar,\n\t\tcategories,\n\t\tcode,\n\t\tcolumn,\n\t\tcolumns,\n\t\tcommentAuthorAvatar,\n\t\tcover,\n\t\tdetails,\n\t\tembed,\n\t\tfile,\n\t\tgroup,\n\t\thtml,\n\t\tmath,\n\t\tlatestComments,\n\t\tlatestPosts,\n\t\tmediaText,\n\t\tmissing,\n\t\tmore,\n\t\tnextpage,\n\t\tpageList,\n\t\tpageListItem,\n\t\tpattern,\n\t\tplaylist,\n\t\tplaylistTrack,\n\t\tpreformatted,\n\t\tpullquote,\n\t\treusableBlock,\n\t\trss,\n\t\tsearch,\n\t\tseparator,\n\t\tshortcode,\n\t\tsocialLink,\n\t\tsocialLinks,\n\t\tspacer,\n\t\ttable,\n\t\ttabs,\n\t\ttabList,\n\t\ttabPanels,\n\t\ttabPanel,\n\t\ttagCloud,\n\t\ttextColumns,\n\t\tverse,\n\t\tvideo,\n\t\tfootnotes,\n\n\t\t// theme blocks\n\t\tnavigation,\n\t\tnavigationLink,\n\t\tnavigationSubmenu,\n\t\tsiteLogo,\n\t\tsiteTitle,\n\t\tsiteTagline,\n\t\tquery,\n\t\ttemplatePart,\n\t\tavatar,\n\t\tpostTitle,\n\t\tpostExcerpt,\n\t\tpostFeaturedImage,\n\t\tpostContent,\n\t\tpostAuthor,\n\t\tpostAuthorName,\n\t\tpostComment,\n\t\tpostCommentsCount,\n\t\tpostCommentsLink,\n\t\tpostDate,\n\t\tpostTerms,\n\t\tpostNavigationLink,\n\t\tpostTemplate,\n\t\tpostTimeToRead,\n\t\tqueryPagination,\n\t\tqueryPaginationNext,\n\t\tqueryPaginationNumbers,\n\t\tqueryPaginationPrevious,\n\t\tqueryNoResults,\n\t\tqueryTotal,\n\t\treadMore,\n\t\tcomments,\n\t\tcommentAuthorName,\n\t\tcommentContent,\n\t\tcommentDate,\n\t\tcommentEditLink,\n\t\tcommentReplyLink,\n\t\tcommentTemplate,\n\t\tcommentsTitle,\n\t\tcommentsPagination,\n\t\tcommentsPaginationNext,\n\t\tcommentsPaginationNumbers,\n\t\tcommentsPaginationPrevious,\n\t\tpostCommentsForm,\n\t\ttableOfContents,\n\t\thomeLink,\n\t\ticon,\n\t\tlogInOut,\n\t\tnavigationOverlayClose,\n\t\ttermCount,\n\t\ttermDescription,\n\t\ttermName,\n\t\ttermsQuery,\n\t\ttermTemplate,\n\t\tqueryTitle,\n\t\tpostAuthorBiography,\n\t\tbreadcrumbs,\n\t];\n\n\tif ( window?.__experimentalEnableBlockExperiments ) {\n\t\t// Blocks added here are only registered when the \"Block experiments\"\n\t\t// option is enabled in the Gutenberg > Experiments settings page.\n\t}\n\n\tblocks.push( classic );\n\n\treturn blocks.filter( Boolean );\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( ( { init } ) => init() );\n\n\t// Auto-register PHP-only blocks with ServerSideRender\n\tif ( window.__unstableAutoRegisterBlocks ) {\n\t\twindow.__unstableAutoRegisterBlocks.forEach( ( blockName ) => {\n\t\t\tconst bootstrappedBlockType = unlock(\n\t\t\t\tselect( blocksStore )\n\t\t\t).getBootstrappedBlockType( blockName );\n\n\t\t\tregisterBlockType( blockName, {\n\t\t\t\t// Use all metadata from PHP registration,\n\t\t\t\t// but fall back title to block name if not provided,\n\t\t\t\t// ensure minimum apiVersion 3 for block wrapper support,\n\t\t\t\t// and override with a ServerSideRender-based edit function.\n\t\t\t\t...bootstrappedBlockType,\n\t\t\t\ttitle: bootstrappedBlockType?.title || blockName,\n\t\t\t\t...( ( bootstrappedBlockType?.apiVersion ?? 0 ) < 3 && {\n\t\t\t\t\tapiVersion: 3,\n\t\t\t\t} ),\n\t\t\t\t// Always pass the postId context so the server-side render can\n\t\t\t\t// reproduce the same output as the front end, while preserving\n\t\t\t\t// any context declared in the block's PHP registration.\n\t\t\t\tusesContext: Array.from(\n\t\t\t\t\tnew Set( [\n\t\t\t\t\t\t...( bootstrappedBlockType?.usesContext ?? [] ),\n\t\t\t\t\t\t'postId',\n\t\t\t\t\t] )\n\t\t\t\t),\n\t\t\t\t// Inspector controls are rendered by the auto-register hook in block-editor\n\t\t\t\tedit: function Edit( { attributes, context } ) {\n\t\t\t\t\tconst disabledRef = useDisabled();\n\t\t\t\t\tconst blockProps = useBlockProps( { ref: disabledRef } );\n\t\t\t\t\tconst { content, status, error } = useServerSideRender( {\n\t\t\t\t\t\tblock: blockName,\n\t\t\t\t\t\tattributes,\n\t\t\t\t\t\turlQueryArgs: { post_id: context?.postId },\n\t\t\t\t\t} );\n\n\t\t\t\t\tif ( status === 'loading' ) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div { ...blockProps }>{ __( 'Loading…' ) }</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( status === 'error' ) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: error message describing the problem */\n\t\t\t\t\t\t\t\t\t__( 'Error loading block: %s' ),\n\t\t\t\t\t\t\t\t\terror\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<HtmlRenderer\n\t\t\t\t\t\t\twrapperProps={ blockProps }\n\t\t\t\t\t\t\thtml={ content }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tsave: () => null,\n\t\t\t} );\n\t\t} );\n\t}\n\n\tsetDefaultBlockName( paragraph.name );\n\tif (\n\t\twindow.wp &&\n\t\twindow.wp.oldEditor &&\n\t\tblocks.some( ( { name } ) => name === classic.name )\n\t) {\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 =\n\tglobalThis.IS_GUTENBERG_PLUGIN\n\t\t? ( { enableFSEBlocks } = {} ) => {\n\t\t\t\tconst enabledExperiments = [ enableFSEBlocks ? 'fse' : null ];\n\t\t\t\tgetAllBlocks()\n\t\t\t\t\t.filter( ( { metadata } ) =>\n\t\t\t\t\t\tisBlockMetadataExperimental( metadata )\n\t\t\t\t\t)\n\t\t\t\t\t.filter(\n\t\t\t\t\t\t( { metadata: { __experimental } } ) =>\n\t\t\t\t\t\t\t__experimental === true ||\n\t\t\t\t\t\t\tenabledExperiments.includes( __experimental )\n\t\t\t\t\t)\n\t\t\t\t\t.forEach( ( { init } ) => init() );\n\t\t }\n\t\t: undefined;\n\nexport { privateApis } from './private-apis';\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n\tsetDefaultBlockName,\n\tsetFreeformContentHandlerName,\n\tsetUnregisteredTypeHandlerName,\n\tsetGroupingBlockName,\n\tregisterBlockType,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useDisabled } from '@wordpress/compose';\nimport { select } from '@wordpress/data';\nimport { useBlockProps } from '@wordpress/block-editor';\nimport { useServerSideRender } from '@wordpress/server-side-render';\nimport { __, sprintf } from '@wordpress/i18n';\nimport HtmlRenderer from './utils/html-renderer';\n// Experimental blocks are only registered in the Gutenberg plugin (see\n// `__experimentalRegisterExperimentalCoreBlocks`). `registerCoreBlocks`\n// filters them out via `isBlockMetadataExperimental`, so they are never\n// available in WordPress core regardless of what ends up in the bundle.\nimport * as accordion from './accordion';\nimport * as accordionItem from './accordion-item';\nimport * as accordionHeading from './accordion-heading';\nimport * as accordionPanel from './accordion-panel';\nimport * as archives from './archives';\nimport * as avatar from './avatar';\nimport * as audio from './audio';\nimport * as breadcrumbs from './breadcrumbs';\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 details from './details';\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 icon from './icon';\nimport * as image from './image';\nimport * as latestComments from './latest-comments';\nimport * as latestPosts from './latest-posts';\nimport * as list from './list';\nimport * as math from './math';\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 navigationOverlayClose from './navigation-overlay-close';\nimport * as pattern from './pattern';\nimport * as pageList from './page-list';\nimport * as pageListItem from './page-list-item';\nimport * as paragraph from './paragraph';\nimport * as playlist from './playlist';\nimport * as playlistTrack from './playlist-track';\nimport * as postAuthor from './post-author';\nimport * as postAuthorName from './post-author-name';\nimport * as postAuthorBiography from './post-author-biography';\nimport * as postComment from './post-comment';\nimport * as postCommentsCount from './post-comments-count';\nimport * as postCommentsForm from './post-comments-form';\nimport * as postCommentsLink from './post-comments-link';\nimport * as postContent from './post-content';\nimport * as postDate from './post-date';\nimport * as postExcerpt from './post-excerpt';\nimport * as postFeaturedImage from './post-featured-image';\nimport * as postNavigationLink from './post-navigation-link';\nimport * as postTemplate from './post-template';\nimport * as postTerms from './post-terms';\nimport * as postTimeToRead from './post-time-to-read';\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 queryTotal from './query-total';\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 tabPanel from './tab-panel';\nimport * as tabPanels from './tab-panels';\nimport * as table from './table';\nimport * as tableOfContents from './table-of-contents';\nimport * as tabList from './tab-list';\nimport * as tabs from './tabs';\nimport * as tagCloud from './tag-cloud';\nimport * as templatePart from './template-part';\nimport * as termCount from './term-count';\nimport * as termDescription from './term-description';\nimport * as termName from './term-name';\nimport * as termsQuery from './terms-query';\nimport * as termTemplate from './term-template';\nimport * as textColumns from './text-columns';\nimport * as verse from './verse';\nimport * as video from './video';\nimport * as footnotes from './footnotes';\nimport isBlockMetadataExperimental from './utils/is-block-metadata-experimental';\nimport { unlock } from './lock-unlock';\n\n/**\n * Function to get all the block-library blocks in an array\n */\nconst getAllBlocks = () => {\n\tconst blocks = [\n\t\t// Common blocks are grouped at the top to prioritize their display\n\t\t// in various contexts — like the inserter and auto-complete components.\n\t\tparagraph,\n\t\timage,\n\t\theading,\n\t\tgallery,\n\t\tlist,\n\t\tlistItem,\n\t\tquote,\n\n\t\t// Register all remaining core blocks.\n\t\taccordion,\n\t\taccordionItem,\n\t\taccordionHeading,\n\t\taccordionPanel,\n\t\tarchives,\n\t\taudio,\n\t\tbutton,\n\t\tbuttons,\n\t\tcalendar,\n\t\tcategories,\n\t\tcode,\n\t\tcolumn,\n\t\tcolumns,\n\t\tcommentAuthorAvatar,\n\t\tcover,\n\t\tdetails,\n\t\tembed,\n\t\tfile,\n\t\tgroup,\n\t\thtml,\n\t\tmath,\n\t\tlatestComments,\n\t\tlatestPosts,\n\t\tmediaText,\n\t\tmissing,\n\t\tmore,\n\t\tnextpage,\n\t\tpageList,\n\t\tpageListItem,\n\t\tpattern,\n\t\tplaylist,\n\t\tplaylistTrack,\n\t\tpreformatted,\n\t\tpullquote,\n\t\treusableBlock,\n\t\trss,\n\t\tsearch,\n\t\tseparator,\n\t\tshortcode,\n\t\tsocialLink,\n\t\tsocialLinks,\n\t\tspacer,\n\t\ttable,\n\t\ttabs,\n\t\ttabList,\n\t\ttabPanels,\n\t\ttabPanel,\n\t\ttagCloud,\n\t\ttextColumns,\n\t\tverse,\n\t\tvideo,\n\t\tfootnotes,\n\n\t\t// theme blocks\n\t\tnavigation,\n\t\tnavigationLink,\n\t\tnavigationSubmenu,\n\t\tsiteLogo,\n\t\tsiteTitle,\n\t\tsiteTagline,\n\t\tquery,\n\t\ttemplatePart,\n\t\tavatar,\n\t\tpostTitle,\n\t\tpostExcerpt,\n\t\tpostFeaturedImage,\n\t\tpostContent,\n\t\tpostAuthor,\n\t\tpostAuthorName,\n\t\tpostComment,\n\t\tpostCommentsCount,\n\t\tpostCommentsLink,\n\t\tpostDate,\n\t\tpostTerms,\n\t\tpostNavigationLink,\n\t\tpostTemplate,\n\t\tpostTimeToRead,\n\t\tqueryPagination,\n\t\tqueryPaginationNext,\n\t\tqueryPaginationNumbers,\n\t\tqueryPaginationPrevious,\n\t\tqueryNoResults,\n\t\tqueryTotal,\n\t\treadMore,\n\t\tcomments,\n\t\tcommentAuthorName,\n\t\tcommentContent,\n\t\tcommentDate,\n\t\tcommentEditLink,\n\t\tcommentReplyLink,\n\t\tcommentTemplate,\n\t\tcommentsTitle,\n\t\tcommentsPagination,\n\t\tcommentsPaginationNext,\n\t\tcommentsPaginationNumbers,\n\t\tcommentsPaginationPrevious,\n\t\tpostCommentsForm,\n\t\ttableOfContents,\n\t\thomeLink,\n\t\ticon,\n\t\tlogInOut,\n\t\tnavigationOverlayClose,\n\t\ttermCount,\n\t\ttermDescription,\n\t\ttermName,\n\t\ttermsQuery,\n\t\ttermTemplate,\n\t\tqueryTitle,\n\t\tpostAuthorBiography,\n\t\tbreadcrumbs,\n\t];\n\n\tif ( window?.__experimentalEnableBlockExperiments ) {\n\t\t// Blocks added here are only registered when the \"Block experiments\"\n\t\t// option is enabled in the Gutenberg > Experiments settings page.\n\t}\n\n\tblocks.push( classic );\n\n\treturn blocks.filter( Boolean );\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( ( { init } ) => init() );\n\n\t// Auto-register PHP-only blocks with ServerSideRender\n\tif ( window.__unstableAutoRegisterBlocks ) {\n\t\twindow.__unstableAutoRegisterBlocks.forEach( ( blockName ) => {\n\t\t\tconst bootstrappedBlockType = unlock(\n\t\t\t\tselect( blocksStore )\n\t\t\t).getBootstrappedBlockType( blockName );\n\n\t\t\tregisterBlockType( blockName, {\n\t\t\t\t// Use all metadata from PHP registration,\n\t\t\t\t// but fall back title to block name if not provided,\n\t\t\t\t// ensure minimum apiVersion 3 for block wrapper support,\n\t\t\t\t// and override with a ServerSideRender-based edit function.\n\t\t\t\t...bootstrappedBlockType,\n\t\t\t\ttitle: bootstrappedBlockType?.title || blockName,\n\t\t\t\t...( ( bootstrappedBlockType?.apiVersion ?? 0 ) < 3 && {\n\t\t\t\t\tapiVersion: 3,\n\t\t\t\t} ),\n\t\t\t\t// Always pass the postId context so the server-side render can\n\t\t\t\t// reproduce the same output as the front end, while preserving\n\t\t\t\t// any context declared in the block's PHP registration.\n\t\t\t\tusesContext: Array.from(\n\t\t\t\t\tnew Set( [\n\t\t\t\t\t\t...( bootstrappedBlockType?.usesContext ?? [] ),\n\t\t\t\t\t\t'postId',\n\t\t\t\t\t] )\n\t\t\t\t),\n\t\t\t\t// Inspector controls are rendered by the auto-register hook in block-editor\n\t\t\t\tedit: function Edit( { attributes, context } ) {\n\t\t\t\t\tconst disabledRef = useDisabled();\n\t\t\t\t\tconst blockProps = useBlockProps( { ref: disabledRef } );\n\t\t\t\t\tconst { content, status, error } = useServerSideRender( {\n\t\t\t\t\t\tblock: blockName,\n\t\t\t\t\t\tattributes,\n\t\t\t\t\t\turlQueryArgs: { post_id: context?.postId },\n\t\t\t\t\t} );\n\n\t\t\t\t\tif ( status === 'loading' ) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div { ...blockProps }>{ __( 'Loading…' ) }</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( status === 'error' ) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: error message describing the problem */\n\t\t\t\t\t\t\t\t\t__( 'Error loading block: %s' ),\n\t\t\t\t\t\t\t\t\terror\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<HtmlRenderer\n\t\t\t\t\t\t\twrapperProps={ blockProps }\n\t\t\t\t\t\t\thtml={ content }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tsave: () => null,\n\t\t\t} );\n\t\t} );\n\t}\n\n\tsetDefaultBlockName( paragraph.name );\n\tif (\n\t\twindow.wp &&\n\t\twindow.wp.oldEditor &&\n\t\tblocks.some( ( { name } ) => name === classic.name )\n\t) {\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 =\n\tglobalThis.IS_GUTENBERG_PLUGIN\n\t\t? ( { enableFSEBlocks } = {} ) => {\n\t\t\t\tconst enabledExperiments = [ enableFSEBlocks ? 'fse' : null ];\n\t\t\t\tgetAllBlocks()\n\t\t\t\t\t.filter( ( { metadata } ) =>\n\t\t\t\t\t\tisBlockMetadataExperimental( metadata )\n\t\t\t\t\t)\n\t\t\t\t\t.filter(\n\t\t\t\t\t\t( { metadata: { __experimental } } ) =>\n\t\t\t\t\t\t\t__experimental === true ||\n\t\t\t\t\t\t\tenabledExperiments.includes( __experimental )\n\t\t\t\t\t)\n\t\t\t\t\t.forEach( ( { init } ) => init() );\n\t\t\t}\n\t\t: undefined;\n\nexport { privateApis } from './private-apis';\n"],
5
+ "mappings": "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",
6
6
  "names": ["isBlockMetadataExperimental", "blocksStore", "HtmlRenderer", "name"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/latest-comments/edit.jsx"],
4
- "sourcesContent": ["import { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport {\n\tRangeControl,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useServerSideRender } from '@wordpress/server-side-render';\nimport { useDisabled } from '@wordpress/compose';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport HtmlRenderer from '../utils/html-renderer';\n\n/**\n * Minimum number of comments a user can show using this block.\n *\n * @type {number}\n */\nconst MIN_COMMENTS = 1;\n/**\n * Maximum number of comments a user can show using this block.\n *\n * @type {number}\n */\nconst MAX_COMMENTS = 100;\n\nexport default function LatestComments( { attributes, setAttributes, name } ) {\n\tconst { commentsToShow, displayAvatar, displayDate, displayContent } =\n\t\tattributes;\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst { content, status, error } = useServerSideRender( {\n\t\tattributes,\n\t\tskipBlockSupportAttributes: true,\n\t\tblock: name,\n\t\turlQueryArgs: {\n\t\t\t// The preview uses the site's locale to make it more true to how\n\t\t\t// the block appears on the frontend. Setting the locale\n\t\t\t// explicitly prevents any middleware from setting it to 'user'.\n\t\t\t_locale: 'site',\n\t\t},\n\t} );\n\n\tconst disabledRef = useDisabled();\n\tconst blockProps = useBlockProps( { ref: disabledRef } );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tcommentsToShow: 5,\n\t\t\t\t\t\t\tdisplayAvatar: true,\n\t\t\t\t\t\t\tdisplayDate: true,\n\t\t\t\t\t\t\tdisplayContent: 'excerpt',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => ! displayAvatar }\n\t\t\t\t\t\tlabel={ __( 'Display avatar' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayAvatar: true } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Display avatar' ) }\n\t\t\t\t\t\t\tchecked={ displayAvatar }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tdisplayAvatar: ! displayAvatar,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => ! displayDate }\n\t\t\t\t\t\tlabel={ __( 'Display date' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayDate: true } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Display date' ) }\n\t\t\t\t\t\t\tchecked={ displayDate }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { displayDate: ! displayDate } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => displayContent !== 'excerpt' }\n\t\t\t\t\t\tlabel={ __( 'Display content' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayContent: 'excerpt' } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Display content' ) }\n\t\t\t\t\t\t\tvalue={ displayContent }\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{ label: __( 'No content' ), value: 'none' },\n\t\t\t\t\t\t\t\t{ label: __( 'Excerpt' ), value: 'excerpt' },\n\t\t\t\t\t\t\t\t{ label: __( 'Full content' ), value: 'full' },\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tdisplayContent: value,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => commentsToShow !== 5 }\n\t\t\t\t\t\tlabel={ __( 'Number of comments' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { commentsToShow: 5 } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Number of comments' ) }\n\t\t\t\t\t\t\tvalue={ commentsToShow }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { commentsToShow: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ MIN_COMMENTS }\n\t\t\t\t\t\t\tmax={ MAX_COMMENTS }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ status === 'loading' && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ status === 'error' && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: error message returned when rendering the block. */\n\t\t\t\t\t\t\t__( 'Error: %s' ),\n\t\t\t\t\t\t\terror\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ status === 'success' && (\n\t\t\t\t<HtmlRenderer wrapperProps={ blockProps } html={ content } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
5
- "mappings": "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",
6
- "names": ["ToolsPanel", "ToolsPanelItem", "HtmlRenderer"]
4
+ "sourcesContent": ["import { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport {\n\tRangeControl,\n\tSelectControl as WCSelectControl,\n\tSpinner,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useServerSideRender } from '@wordpress/server-side-render';\nimport { useDisabled } from '@wordpress/compose';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport HtmlRenderer from '../utils/html-renderer';\n\n/**\n * Minimum number of comments a user can show using this block.\n *\n * @type {number}\n */\nconst MIN_COMMENTS = 1;\n/**\n * Maximum number of comments a user can show using this block.\n *\n * @type {number}\n */\nconst MAX_COMMENTS = 100;\n\nexport default function LatestComments( { attributes, setAttributes, name } ) {\n\tconst { commentsToShow, displayAvatar, displayDate, displayContent } =\n\t\tattributes;\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst { content, status, error } = useServerSideRender( {\n\t\tattributes,\n\t\tskipBlockSupportAttributes: true,\n\t\tblock: name,\n\t\turlQueryArgs: {\n\t\t\t// The preview uses the site's locale to make it more true to how\n\t\t\t// the block appears on the frontend. Setting the locale\n\t\t\t// explicitly prevents any middleware from setting it to 'user'.\n\t\t\t_locale: 'site',\n\t\t},\n\t} );\n\n\tconst disabledRef = useDisabled();\n\tconst blockProps = useBlockProps( { ref: disabledRef } );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tcommentsToShow: 5,\n\t\t\t\t\t\t\tdisplayAvatar: true,\n\t\t\t\t\t\t\tdisplayDate: true,\n\t\t\t\t\t\t\tdisplayContent: 'excerpt',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => ! displayAvatar }\n\t\t\t\t\t\tlabel={ __( 'Display avatar' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayAvatar: true } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Display avatar' ) }\n\t\t\t\t\t\t\tchecked={ displayAvatar }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tdisplayAvatar: ! displayAvatar,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => ! displayDate }\n\t\t\t\t\t\tlabel={ __( 'Display date' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayDate: true } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Display date' ) }\n\t\t\t\t\t\t\tchecked={ displayDate }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { displayDate: ! displayDate } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => displayContent !== 'excerpt' }\n\t\t\t\t\t\tlabel={ __( 'Display content' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayContent: 'excerpt' } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<WCSelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Display content' ) }\n\t\t\t\t\t\t\tvalue={ displayContent }\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{ label: __( 'No content' ), value: 'none' },\n\t\t\t\t\t\t\t\t{ label: __( 'Excerpt' ), value: 'excerpt' },\n\t\t\t\t\t\t\t\t{ label: __( 'Full content' ), value: 'full' },\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tdisplayContent: value,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => commentsToShow !== 5 }\n\t\t\t\t\t\tlabel={ __( 'Number of comments' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { commentsToShow: 5 } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Number of comments' ) }\n\t\t\t\t\t\t\tvalue={ commentsToShow }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { commentsToShow: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ MIN_COMMENTS }\n\t\t\t\t\t\t\tmax={ MAX_COMMENTS }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ status === 'loading' && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ status === 'error' && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: error message returned when rendering the block. */\n\t\t\t\t\t\t\t__( 'Error: %s' ),\n\t\t\t\t\t\t\terror\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ status === 'success' && (\n\t\t\t\t<HtmlRenderer wrapperProps={ blockProps } html={ content } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["ToolsPanel", "ToolsPanelItem", "WCSelectControl", "HtmlRenderer"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/latest-posts/edit.jsx"],
4
- "sourcesContent": ["import clsx from 'clsx';\nimport {\n\tPlaceholder,\n\tQueryControls,\n\tRadioControl,\n\tRangeControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarGroup,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { dateI18n, format, getSettings } from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tpin,\n\tlist,\n\tgrid,\n\talignNone,\n\tpositionLeft,\n\tpositionCenter,\n\tpositionRight,\n} from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { useInstanceId } from '@wordpress/compose';\nimport { createInterpolateElement } from '@wordpress/element';\nimport {\n\tMIN_EXCERPT_LENGTH,\n\tMAX_EXCERPT_LENGTH,\n\tDEFAULT_EXCERPT_LENGTH,\n} from './constants';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n/**\n * Module Constants\n */\nconst CATEGORIES_LIST_QUERY = {\n\tper_page: -1,\n\t_fields: 'id,name',\n\tcontext: 'view',\n};\nconst USERS_LIST_QUERY = {\n\tper_page: -1,\n\thas_published_posts: [ 'post' ],\n\tcontext: 'view',\n};\nconst imageAlignmentOptions = [\n\t{\n\t\tvalue: 'none',\n\t\ticon: alignNone,\n\t\tlabel: __( 'None' ),\n\t},\n\t{\n\t\tvalue: 'left',\n\t\ticon: positionLeft,\n\t\tlabel: __( 'Left' ),\n\t},\n\t{\n\t\tvalue: 'center',\n\t\ticon: positionCenter,\n\t\tlabel: __( 'Center' ),\n\t},\n\t{\n\t\tvalue: 'right',\n\t\ticon: positionRight,\n\t\tlabel: __( 'Right' ),\n\t},\n];\n\nfunction getFeaturedImageDetails( post, size ) {\n\tconst image = post._embedded?.[ 'wp:featuredmedia' ]?.[ '0' ];\n\n\treturn {\n\t\turl:\n\t\t\timage?.media_details?.sizes?.[ size ]?.source_url ??\n\t\t\timage?.source_url,\n\t\talt: image?.alt_text,\n\t};\n}\n\nfunction getCurrentAuthor( post ) {\n\treturn post._embedded?.author?.[ 0 ];\n}\n\nfunction Controls( { attributes, setAttributes } ) {\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\texcerptLength,\n\t\tfeaturedImageAlign,\n\t\tfeaturedImageSizeSlug,\n\t\tfeaturedImageSizeWidth,\n\t\tfeaturedImageSizeHeight,\n\t\taddLinkToFeaturedImage,\n\t} = attributes;\n\tconst {\n\t\timageSizes,\n\t\tdefaultImageWidth,\n\t\tdefaultImageHeight,\n\t\tcategoriesList,\n\t\tauthorList,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getUsers } = select( coreStore );\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\n\t\t\treturn {\n\t\t\t\tdefaultImageWidth:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.width ?? 0,\n\t\t\t\tdefaultImageHeight:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.height ?? 0,\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tcategoriesList: getEntityRecords(\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\t'category',\n\t\t\t\t\tCATEGORIES_LIST_QUERY\n\t\t\t\t),\n\t\t\t\tauthorList: getUsers( USERS_LIST_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[ featuredImageSizeSlug ]\n\t);\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => slug !== 'full' )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\tconst categorySuggestions =\n\t\tcategoriesList?.reduce( ( accumulator, category ) => {\n\t\t\taccumulator[ category.name ] = category;\n\t\t\treturn accumulator;\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 normalizes the array so that they are all objects.\n\t\tconst allCategories = tokens.map( ( token ) => {\n\t\t\treturn typeof token === 'string'\n\t\t\t\t? categorySuggestions[ token ]\n\t\t\t\t: token;\n\t\t} );\n\t\t// We do nothing if the category is not selected\n\t\t// from suggestions.\n\t\tif ( allCategories.includes( null ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tsetAttributes( { categories: allCategories } );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\tresetAll={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tdisplayPostContent: false,\n\t\t\t\t\t\tdisplayPostContentRadio: 'excerpt',\n\t\t\t\t\t\texcerptLength: DEFAULT_EXCERPT_LENGTH,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! displayPostContent }\n\t\t\t\t\tlabel={ __( 'Display post content' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayPostContent: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display post content' ) }\n\t\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayPostContent: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => displayPostContentRadio !== 'excerpt' }\n\t\t\t\t\t\tlabel={ __( 'Content length' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayPostContentRadio: 'excerpt',\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<RadioControl\n\t\t\t\t\t\t\tlabel={ __( 'Content length' ) }\n\t\t\t\t\t\t\tselected={ displayPostContentRadio }\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{ label: __( 'Excerpt' ), value: 'excerpt' },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlabel: __( 'Full post' ),\n\t\t\t\t\t\t\t\t\tvalue: 'full_post',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tdisplayPostContentRadio: value,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t\t{ displayPostContent &&\n\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\texcerptLength !== DEFAULT_EXCERPT_LENGTH\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\texcerptLength: DEFAULT_EXCERPT_LENGTH,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmin={ MIN_EXCERPT_LENGTH }\n\t\t\t\t\t\t\t\tmax={ MAX_EXCERPT_LENGTH }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t</ToolsPanel>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Post meta' ) }\n\t\t\t\tresetAll={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tdisplayAuthor: false,\n\t\t\t\t\t\tdisplayPostDate: false,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! displayAuthor }\n\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayAuthor: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayAuthor: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! displayPostDate }\n\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayPostDate: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\t\tchecked={ displayPostDate }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayPostDate: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Featured image' ) }\n\t\t\t\tresetAll={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tdisplayFeaturedImage: false,\n\t\t\t\t\t\tfeaturedImageAlign: undefined,\n\t\t\t\t\t\tfeaturedImageSizeSlug: 'thumbnail',\n\t\t\t\t\t\tfeaturedImageSizeWidth: null,\n\t\t\t\t\t\tfeaturedImageSizeHeight: null,\n\t\t\t\t\t\taddLinkToFeaturedImage: false,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! displayFeaturedImage }\n\t\t\t\t\tlabel={ __( 'Display featured image' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayFeaturedImage: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display featured image' ) }\n\t\t\t\t\t\tchecked={ displayFeaturedImage }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayFeaturedImage: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t{ displayFeaturedImage && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\tfeaturedImageSizeSlug !== 'thumbnail' ||\n\t\t\t\t\t\t\t\tfeaturedImageSizeWidth !== null ||\n\t\t\t\t\t\t\t\tfeaturedImageSizeHeight !== null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeSlug: 'thumbnail',\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeWidth: null,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeHeight: null,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ImageSizeControl\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tconst newAttrs = {};\n\t\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'width' ) ) {\n\t\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeWidth =\n\t\t\t\t\t\t\t\t\t\t\tvalue.width;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'height' ) ) {\n\t\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeHeight =\n\t\t\t\t\t\t\t\t\t\t\tvalue.height;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tsetAttributes( newAttrs );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tslug={ featuredImageSizeSlug }\n\t\t\t\t\t\t\t\twidth={ featuredImageSizeWidth }\n\t\t\t\t\t\t\t\theight={ featuredImageSizeHeight }\n\t\t\t\t\t\t\t\timageWidth={ defaultImageWidth }\n\t\t\t\t\t\t\t\timageHeight={ defaultImageHeight }\n\t\t\t\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\t\t\t\timageSizeHelp={ __(\n\t\t\t\t\t\t\t\t\t'Select the size of the source image.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChangeImage={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfeaturedImageSizeSlug: value,\n\t\t\t\t\t\t\t\t\t\tfeaturedImageSizeWidth: undefined,\n\t\t\t\t\t\t\t\t\t\tfeaturedImageSizeHeight: undefined,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! featuredImageAlign }\n\t\t\t\t\t\t\tlabel={ __( 'Image alignment' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageAlign: 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\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\tclassName=\"editor-latest-posts-image-alignment-control\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Image alignment' ) }\n\t\t\t\t\t\t\t\tvalue={ featuredImageAlign || 'none' }\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:\n\t\t\t\t\t\t\t\t\t\t\tvalue !== 'none'\n\t\t\t\t\t\t\t\t\t\t\t\t? value\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ imageAlignmentOptions.map(\n\t\t\t\t\t\t\t\t\t( { value, icon, label } ) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! addLinkToFeaturedImage }\n\t\t\t\t\t\t\tlabel={ __( 'Add link to featured image' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\taddLinkToFeaturedImage: false,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Add link to featured image' ) }\n\t\t\t\t\t\t\t\tchecked={ addLinkToFeaturedImage }\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\taddLinkToFeaturedImage: 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/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</ToolsPanel>\n\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Sorting and filtering' ) }\n\t\t\t\tresetAll={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\torder: 'desc',\n\t\t\t\t\t\torderBy: 'date',\n\t\t\t\t\t\tpostsToShow: 5,\n\t\t\t\t\t\tcategories: undefined,\n\t\t\t\t\t\tselectedAuthor: undefined,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\torder !== 'desc' ||\n\t\t\t\t\t\torderBy !== 'date' ||\n\t\t\t\t\t\tpostsToShow !== 5 ||\n\t\t\t\t\t\tcategories?.length > 0 ||\n\t\t\t\t\t\t!! selectedAuthor\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'Sort and filter' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\torder: 'desc',\n\t\t\t\t\t\t\torderBy: 'date',\n\t\t\t\t\t\t\tpostsToShow: 5,\n\t\t\t\t\t\t\tcategories: undefined,\n\t\t\t\t\t\t\tselectedAuthor: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<QueryControls\n\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\tnumberOfItems={ postsToShow }\n\t\t\t\t\t\tonOrderChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { order: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonOrderByChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { orderBy: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonNumberOfItemsChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { postsToShow: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcategorySuggestions={ categorySuggestions }\n\t\t\t\t\t\tonCategoryChange={ selectCategories }\n\t\t\t\t\t\tselectedCategories={ categories }\n\t\t\t\t\t\tonAuthorChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tselectedAuthor:\n\t\t\t\t\t\t\t\t\t'' !== value ? Number( value ) : undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tauthorList={ authorList ?? [] }\n\t\t\t\t\t\tselectedAuthorId={ selectedAuthor }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t</>\n\t);\n}\n\nexport default function LatestPostsEdit( {\n\tattributes,\n\tsetAttributes,\n\t__unstableLayoutClassNames,\n} ) {\n\tconst instanceId = useInstanceId( LatestPostsEdit );\n\n\tconst {\n\t\tpostsToShow,\n\t\torder,\n\t\torderBy,\n\t\tcategories,\n\t\tselectedAuthor,\n\t\tdisplayFeaturedImage,\n\t\tdisplayPostContentRadio,\n\t\tdisplayPostContent,\n\t\tdisplayPostDate,\n\t\tdisplayAuthor,\n\t\tlayout,\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 { type: savedLayoutType, minimumColumnWidth } = layout || {};\n\tconst layoutType =\n\t\tsavedLayoutType || ( postLayout === 'grid' ? 'grid' : 'default' );\n\tconst columnCount =\n\t\tlayout?.columnCount ?? ( ! savedLayoutType ? columns : undefined ) ?? 3;\n\tconst { latestPosts } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst catIds =\n\t\t\t\tcategories && categories.length > 0\n\t\t\t\t\t? categories.map( ( cat ) => cat.id )\n\t\t\t\t\t: [];\n\t\t\tconst latestPostsQuery = Object.fromEntries(\n\t\t\t\tObject.entries( {\n\t\t\t\t\tcategories: catIds,\n\t\t\t\t\tauthor: selectedAuthor,\n\t\t\t\t\torder,\n\t\t\t\t\torderby: orderBy,\n\t\t\t\t\tper_page: postsToShow,\n\t\t\t\t\t_embed: 'author,wp:featuredmedia',\n\t\t\t\t\tignore_sticky: true,\n\t\t\t\t} ).filter( ( [ , value ] ) => typeof value !== 'undefined' )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tlatestPosts: getEntityRecords(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'post',\n\t\t\t\t\tlatestPostsQuery\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ postsToShow, order, orderBy, categories, selectedAuthor ]\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\n\tconst { createWarningNotice } = useDispatch( noticeStore );\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: `block-library/core/latest-posts/redirection-prevented/${ instanceId }`,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst hasPosts = !! latestPosts?.length;\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<Controls\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t/>\n\t\t</InspectorControls>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( __unstableLayoutClassNames, {\n\t\t\t'wp-block-latest-posts__list': true,\n\t\t\t'is-grid': layoutType === 'grid',\n\t\t\t'has-dates': displayPostDate,\n\t\t\t'has-author': displayAuthor,\n\t\t\t[ `columns-${ columnCount }` ]:\n\t\t\t\tlayoutType === 'grid' && columnCount,\n\t\t\t'has-native-responsive-grid':\n\t\t\t\tlayoutType === 'grid' && columnCount && minimumColumnWidth,\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 setDisplayLayout = ( newDisplayLayout ) =>\n\t\tsetAttributes( {\n\t\t\tlayout: { ...layout, ...newDisplayLayout },\n\t\t\tpostLayout: undefined,\n\t\t\tcolumns: undefined,\n\t\t} );\n\n\tconst layoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: _x( 'List view', 'Latest posts block display setting' ),\n\t\t\tonClick: () => setDisplayLayout( { type: 'default' } ),\n\t\t\tisActive: layoutType === 'default' || layoutType === 'constrained',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: _x( 'Grid view', 'Latest posts block display setting' ),\n\t\t\tonClick: () =>\n\t\t\t\tsetDisplayLayout( {\n\t\t\t\t\ttype: 'grid',\n\t\t\t\t\tcolumnCount,\n\t\t\t\t} ),\n\t\t\tisActive: layoutType === 'grid',\n\t\t},\n\t];\n\n\tconst dateFormat = getSettings().formats.date;\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ layoutControls } />\n\t\t\t</BlockControls>\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ displayPosts.map( ( post ) => {\n\t\t\t\t\tconst titleTrimmed = post.title.rendered.trim();\n\t\t\t\t\tlet excerpt = post.excerpt.rendered;\n\t\t\t\t\tconst currentAuthor = getCurrentAuthor( post );\n\n\t\t\t\t\tconst excerptElement = document.createElement( 'div' );\n\t\t\t\t\texcerptElement.innerHTML = excerpt;\n\n\t\t\t\t\texcerpt =\n\t\t\t\t\t\texcerptElement.textContent ||\n\t\t\t\t\t\texcerptElement.innerText ||\n\t\t\t\t\t\t'';\n\n\t\t\t\t\tconst { url: imageSourceUrl, alt: featuredImageAlt } =\n\t\t\t\t\t\tgetFeaturedImageDetails( post, featuredImageSizeSlug );\n\t\t\t\t\tconst imageClasses = clsx( {\n\t\t\t\t\t\t'wp-block-latest-posts__featured-image': true,\n\t\t\t\t\t\t[ `align${ featuredImageAlign }` ]:\n\t\t\t\t\t\t\t!! featuredImageAlign,\n\t\t\t\t\t} );\n\t\t\t\t\tconst renderFeaturedImage =\n\t\t\t\t\t\tdisplayFeaturedImage && imageSourceUrl;\n\t\t\t\t\tconst featuredImage = renderFeaturedImage && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ imageSourceUrl }\n\t\t\t\t\t\t\talt={ featuredImageAlt }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmaxWidth: featuredImageSizeWidth,\n\t\t\t\t\t\t\t\tmaxHeight: featuredImageSizeHeight,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\tconst needsReadMore =\n\t\t\t\t\t\texcerptLength < excerpt.trim().split( ' ' ).length &&\n\t\t\t\t\t\tpost.excerpt.raw === '';\n\n\t\t\t\t\tconst postExcerpt = needsReadMore ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ excerpt\n\t\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t\t.split( ' ', excerptLength )\n\t\t\t\t\t\t\t\t.join( ' ' ) }\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t/* translators: 1: Hidden accessibility text: Post title */\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'… <a>Read more<span>: %1$s</span></a>'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitleTrimmed || __( '(no title)' )\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__read-more\"\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noopener\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tspan: (\n\t\t\t\t\t\t\t\t\t\t<span className=\"screen-reader-text\" />\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\texcerpt\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={ post.id }>\n\t\t\t\t\t\t\t{ renderFeaturedImage && (\n\t\t\t\t\t\t\t\t<div className={ imageClasses }>\n\t\t\t\t\t\t\t\t\t{ addLinkToFeaturedImage ? (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ featuredImage }\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tfeaturedImage\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-title\"\n\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={\n\t\t\t\t\t\t\t\t\t!! titleTrimmed\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t__html: titleTrimmed,\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ! titleTrimmed ? __( '(no title)' ) : null }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t{ displayAuthor && currentAuthor && (\n\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-author\">\n\t\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: byline. %s: author. */\n\t\t\t\t\t\t\t\t\t\t__( 'by %s' ),\n\t\t\t\t\t\t\t\t\t\tcurrentAuthor.name\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostDate && post.date_gmt && (\n\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\tdateTime={ format( 'c', post.date_gmt ) }\n\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-date\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ dateI18n( dateFormat, post.date_gmt ) }\n\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-excerpt\">\n\t\t\t\t\t\t\t\t\t\t{ postExcerpt }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'full_post' && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-full-content\"\n\t\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t\t\t\t\t__html: post.content.rendered.trim(),\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t</>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport {\n\tPlaceholder,\n\tQueryControls,\n\tRadioControl,\n\tRangeControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarGroup,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { dateI18n, format, getSettings } from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tpin,\n\tlist,\n\tgrid,\n\talignNone,\n\tpositionLeft,\n\tpositionCenter,\n\tpositionRight,\n} from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { useInstanceId } from '@wordpress/compose';\nimport { createInterpolateElement } from '@wordpress/element';\nimport {\n\tMIN_EXCERPT_LENGTH,\n\tMAX_EXCERPT_LENGTH,\n\tDEFAULT_EXCERPT_LENGTH,\n} from './constants';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n/**\n * Module Constants\n */\nconst CATEGORIES_LIST_QUERY = {\n\tper_page: -1,\n\t_fields: 'id,name',\n\tcontext: 'view',\n};\nconst USERS_LIST_QUERY = {\n\tper_page: -1,\n\thas_published_posts: [ 'post' ],\n\tcontext: 'view',\n};\nconst imageAlignmentOptions = [\n\t{\n\t\tvalue: 'none',\n\t\ticon: alignNone,\n\t\tlabel: __( 'None' ),\n\t},\n\t{\n\t\tvalue: 'left',\n\t\ticon: positionLeft,\n\t\tlabel: __( 'Left' ),\n\t},\n\t{\n\t\tvalue: 'center',\n\t\ticon: positionCenter,\n\t\tlabel: __( 'Center' ),\n\t},\n\t{\n\t\tvalue: 'right',\n\t\ticon: positionRight,\n\t\tlabel: __( 'Right' ),\n\t},\n];\n\nfunction getFeaturedImageDetails( post, size ) {\n\tconst image = post._embedded?.[ 'wp:featuredmedia' ]?.[ '0' ];\n\n\treturn {\n\t\turl:\n\t\t\timage?.media_details?.sizes?.[ size ]?.source_url ??\n\t\t\timage?.source_url,\n\t\talt: image?.alt_text,\n\t};\n}\n\nfunction getCurrentAuthor( post ) {\n\treturn post._embedded?.author?.[ 0 ];\n}\n\nfunction Controls( { attributes, setAttributes } ) {\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\texcerptLength,\n\t\tfeaturedImageAlign,\n\t\tfeaturedImageSizeSlug,\n\t\tfeaturedImageSizeWidth,\n\t\tfeaturedImageSizeHeight,\n\t\taddLinkToFeaturedImage,\n\t} = attributes;\n\tconst {\n\t\timageSizes,\n\t\tdefaultImageWidth,\n\t\tdefaultImageHeight,\n\t\tcategoriesList,\n\t\tauthorList,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getUsers } = select( coreStore );\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\n\t\t\treturn {\n\t\t\t\tdefaultImageWidth:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.width ?? 0,\n\t\t\t\tdefaultImageHeight:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.height ?? 0,\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tcategoriesList: getEntityRecords(\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\t'category',\n\t\t\t\t\tCATEGORIES_LIST_QUERY\n\t\t\t\t),\n\t\t\t\tauthorList: getUsers( USERS_LIST_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[ featuredImageSizeSlug ]\n\t);\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => slug !== 'full' )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\tconst categorySuggestions =\n\t\tcategoriesList?.reduce( ( accumulator, category ) => {\n\t\t\taccumulator[ category.name ] = category;\n\t\t\treturn accumulator;\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 normalizes the array so that they are all objects.\n\t\tconst allCategories = tokens.map( ( token ) => {\n\t\t\treturn typeof token === 'string'\n\t\t\t\t? categorySuggestions[ token ]\n\t\t\t\t: token;\n\t\t} );\n\t\t// We do nothing if the category is not selected\n\t\t// from suggestions.\n\t\tif ( allCategories.includes( null ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tsetAttributes( { categories: allCategories } );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\tresetAll={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tdisplayPostContent: false,\n\t\t\t\t\t\tdisplayPostContentRadio: 'excerpt',\n\t\t\t\t\t\texcerptLength: DEFAULT_EXCERPT_LENGTH,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! displayPostContent }\n\t\t\t\t\tlabel={ __( 'Display post content' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayPostContent: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display post content' ) }\n\t\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayPostContent: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => displayPostContentRadio !== 'excerpt' }\n\t\t\t\t\t\tlabel={ __( 'Content length' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayPostContentRadio: 'excerpt',\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<RadioControl\n\t\t\t\t\t\t\tlabel={ __( 'Content length' ) }\n\t\t\t\t\t\t\tselected={ displayPostContentRadio }\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{ label: __( 'Excerpt' ), value: 'excerpt' },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlabel: __( 'Full post' ),\n\t\t\t\t\t\t\t\t\tvalue: 'full_post',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tdisplayPostContentRadio: value,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t\t{ displayPostContent &&\n\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\texcerptLength !== DEFAULT_EXCERPT_LENGTH\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\texcerptLength: DEFAULT_EXCERPT_LENGTH,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmin={ MIN_EXCERPT_LENGTH }\n\t\t\t\t\t\t\t\tmax={ MAX_EXCERPT_LENGTH }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t</ToolsPanel>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Post meta' ) }\n\t\t\t\tresetAll={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tdisplayAuthor: false,\n\t\t\t\t\t\tdisplayPostDate: false,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! displayAuthor }\n\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayAuthor: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayAuthor: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! displayPostDate }\n\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayPostDate: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\t\tchecked={ displayPostDate }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayPostDate: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Featured image' ) }\n\t\t\t\tresetAll={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tdisplayFeaturedImage: false,\n\t\t\t\t\t\tfeaturedImageAlign: undefined,\n\t\t\t\t\t\tfeaturedImageSizeSlug: 'thumbnail',\n\t\t\t\t\t\tfeaturedImageSizeWidth: null,\n\t\t\t\t\t\tfeaturedImageSizeHeight: null,\n\t\t\t\t\t\taddLinkToFeaturedImage: false,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! displayFeaturedImage }\n\t\t\t\t\tlabel={ __( 'Display featured image' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayFeaturedImage: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display featured image' ) }\n\t\t\t\t\t\tchecked={ displayFeaturedImage }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayFeaturedImage: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t{ displayFeaturedImage && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\tfeaturedImageSizeSlug !== 'thumbnail' ||\n\t\t\t\t\t\t\t\tfeaturedImageSizeWidth !== null ||\n\t\t\t\t\t\t\t\tfeaturedImageSizeHeight !== null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeSlug: 'thumbnail',\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeWidth: null,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeHeight: null,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ImageSizeControl\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tconst newAttrs = {};\n\t\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'width' ) ) {\n\t\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeWidth =\n\t\t\t\t\t\t\t\t\t\t\tvalue.width;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'height' ) ) {\n\t\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeHeight =\n\t\t\t\t\t\t\t\t\t\t\tvalue.height;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tsetAttributes( newAttrs );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tslug={ featuredImageSizeSlug }\n\t\t\t\t\t\t\t\twidth={ featuredImageSizeWidth }\n\t\t\t\t\t\t\t\theight={ featuredImageSizeHeight }\n\t\t\t\t\t\t\t\timageWidth={ defaultImageWidth }\n\t\t\t\t\t\t\t\timageHeight={ defaultImageHeight }\n\t\t\t\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\t\t\t\timageSizeHelp={ __(\n\t\t\t\t\t\t\t\t\t'Select the size of the source image.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChangeImage={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfeaturedImageSizeSlug: value,\n\t\t\t\t\t\t\t\t\t\tfeaturedImageSizeWidth: undefined,\n\t\t\t\t\t\t\t\t\t\tfeaturedImageSizeHeight: undefined,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! featuredImageAlign }\n\t\t\t\t\t\t\tlabel={ __( 'Image alignment' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageAlign: 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\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\tclassName=\"editor-latest-posts-image-alignment-control\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Image alignment' ) }\n\t\t\t\t\t\t\t\tvalue={ featuredImageAlign || 'none' }\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:\n\t\t\t\t\t\t\t\t\t\t\tvalue !== 'none'\n\t\t\t\t\t\t\t\t\t\t\t\t? value\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ imageAlignmentOptions.map(\n\t\t\t\t\t\t\t\t\t( { value, icon, label } ) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! addLinkToFeaturedImage }\n\t\t\t\t\t\t\tlabel={ __( 'Add link to featured image' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\taddLinkToFeaturedImage: false,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Add link to featured image' ) }\n\t\t\t\t\t\t\t\tchecked={ addLinkToFeaturedImage }\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\taddLinkToFeaturedImage: 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/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</ToolsPanel>\n\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Sorting and filtering' ) }\n\t\t\t\tresetAll={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\torder: 'desc',\n\t\t\t\t\t\torderBy: 'date',\n\t\t\t\t\t\tpostsToShow: 5,\n\t\t\t\t\t\tcategories: undefined,\n\t\t\t\t\t\tselectedAuthor: undefined,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\torder !== 'desc' ||\n\t\t\t\t\t\torderBy !== 'date' ||\n\t\t\t\t\t\tpostsToShow !== 5 ||\n\t\t\t\t\t\tcategories?.length > 0 ||\n\t\t\t\t\t\t!! selectedAuthor\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'Sort and filter' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\torder: 'desc',\n\t\t\t\t\t\t\torderBy: 'date',\n\t\t\t\t\t\t\tpostsToShow: 5,\n\t\t\t\t\t\t\tcategories: undefined,\n\t\t\t\t\t\t\tselectedAuthor: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<QueryControls\n\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\tnumberOfItems={ postsToShow }\n\t\t\t\t\t\tonOrderChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { order: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonOrderByChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { orderBy: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonNumberOfItemsChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { postsToShow: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcategorySuggestions={ categorySuggestions }\n\t\t\t\t\t\tonCategoryChange={ selectCategories }\n\t\t\t\t\t\tselectedCategories={ categories }\n\t\t\t\t\t\tonAuthorChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tselectedAuthor:\n\t\t\t\t\t\t\t\t\t'' !== value ? Number( value ) : undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tauthorList={ authorList ?? [] }\n\t\t\t\t\t\tselectedAuthorId={ selectedAuthor }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t</>\n\t);\n}\n\nexport default function LatestPostsEdit( {\n\tattributes,\n\tsetAttributes,\n\t__unstableLayoutClassNames,\n} ) {\n\tconst instanceId = useInstanceId( LatestPostsEdit );\n\n\tconst {\n\t\tpostsToShow,\n\t\torder,\n\t\torderBy,\n\t\tcategories,\n\t\tselectedAuthor,\n\t\tdisplayFeaturedImage,\n\t\tdisplayPostContentRadio,\n\t\tdisplayPostContent,\n\t\tdisplayPostDate,\n\t\tdisplayAuthor,\n\t\tlayout,\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 { type: savedLayoutType, minimumColumnWidth } = layout || {};\n\tconst layoutType =\n\t\tsavedLayoutType || ( postLayout === 'grid' ? 'grid' : 'default' );\n\tconst columnCount =\n\t\tlayout?.columnCount ?? ( ! savedLayoutType ? columns : undefined ) ?? 3;\n\tconst { latestPosts } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst catIds =\n\t\t\t\tcategories && categories.length > 0\n\t\t\t\t\t? categories.map( ( cat ) => cat.id )\n\t\t\t\t\t: [];\n\t\t\tconst latestPostsQuery = Object.fromEntries(\n\t\t\t\tObject.entries( {\n\t\t\t\t\tcategories: catIds,\n\t\t\t\t\tauthor: selectedAuthor,\n\t\t\t\t\torder,\n\t\t\t\t\torderby: orderBy,\n\t\t\t\t\tper_page: postsToShow,\n\t\t\t\t\t_embed: 'author,wp:featuredmedia',\n\t\t\t\t\tignore_sticky: true,\n\t\t\t\t} ).filter( ( [ , value ] ) => typeof value !== 'undefined' )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tlatestPosts: getEntityRecords(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'post',\n\t\t\t\t\tlatestPostsQuery\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ postsToShow, order, orderBy, categories, selectedAuthor ]\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\n\tconst { createWarningNotice } = useDispatch( noticeStore );\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: `block-library/core/latest-posts/redirection-prevented/${ instanceId }`,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst hasPosts = !! latestPosts?.length;\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<Controls\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t/>\n\t\t</InspectorControls>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( __unstableLayoutClassNames, {\n\t\t\t'wp-block-latest-posts__list': true,\n\t\t\t'is-grid': layoutType === 'grid',\n\t\t\t'has-dates': displayPostDate,\n\t\t\t'has-author': displayAuthor,\n\t\t\t[ `columns-${ columnCount }` ]:\n\t\t\t\tlayoutType === 'grid' && columnCount,\n\t\t\t'has-native-responsive-grid':\n\t\t\t\tlayoutType === 'grid' && columnCount && minimumColumnWidth,\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 setDisplayLayout = ( newDisplayLayout ) =>\n\t\tsetAttributes( {\n\t\t\tlayout: { ...layout, ...newDisplayLayout },\n\t\t\tpostLayout: undefined,\n\t\t\tcolumns: undefined,\n\t\t} );\n\n\tconst layoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: _x( 'List view', 'Latest posts block display setting' ),\n\t\t\tonClick: () => setDisplayLayout( { type: 'default' } ),\n\t\t\tisActive: layoutType === 'default' || layoutType === 'constrained',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: _x( 'Grid view', 'Latest posts block display setting' ),\n\t\t\tonClick: () =>\n\t\t\t\tsetDisplayLayout( {\n\t\t\t\t\ttype: 'grid',\n\t\t\t\t\tcolumnCount,\n\t\t\t\t} ),\n\t\t\tisActive: layoutType === 'grid',\n\t\t},\n\t];\n\n\tconst dateFormat = getSettings().formats.date;\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ layoutControls } />\n\t\t\t</BlockControls>\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ displayPosts.map( ( post ) => {\n\t\t\t\t\tconst titleTrimmed = post.title.rendered.trim();\n\t\t\t\t\tlet excerpt = post.excerpt.rendered;\n\t\t\t\t\tconst currentAuthor = getCurrentAuthor( post );\n\n\t\t\t\t\tconst excerptElement = document.createElement( 'div' );\n\t\t\t\t\texcerptElement.innerHTML = excerpt;\n\n\t\t\t\t\texcerpt =\n\t\t\t\t\t\texcerptElement.textContent ||\n\t\t\t\t\t\texcerptElement.innerText ||\n\t\t\t\t\t\t'';\n\n\t\t\t\t\tconst { url: imageSourceUrl, alt: featuredImageAlt } =\n\t\t\t\t\t\tgetFeaturedImageDetails( post, featuredImageSizeSlug );\n\t\t\t\t\tconst imageClasses = clsx( {\n\t\t\t\t\t\t'wp-block-latest-posts__featured-image': true,\n\t\t\t\t\t\t[ `align${ featuredImageAlign }` ]:\n\t\t\t\t\t\t\t!! featuredImageAlign,\n\t\t\t\t\t} );\n\t\t\t\t\tconst renderFeaturedImage =\n\t\t\t\t\t\tdisplayFeaturedImage && imageSourceUrl;\n\t\t\t\t\tconst featuredImage = renderFeaturedImage && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ imageSourceUrl }\n\t\t\t\t\t\t\talt={ featuredImageAlt }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmaxWidth: featuredImageSizeWidth,\n\t\t\t\t\t\t\t\tmaxHeight: featuredImageSizeHeight,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\tconst needsReadMore =\n\t\t\t\t\t\texcerptLength < excerpt.trim().split( ' ' ).length &&\n\t\t\t\t\t\tpost.excerpt.raw === '';\n\n\t\t\t\t\tconst postExcerpt = needsReadMore ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ excerpt\n\t\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t\t.split( ' ', excerptLength )\n\t\t\t\t\t\t\t\t.join( ' ' ) }\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t/* translators: 1: Hidden accessibility text: Post title */\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'… <a>Read more<span>: %1$s</span></a>'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitleTrimmed || __( '(no title)' )\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__read-more\"\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noopener\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tspan: (\n\t\t\t\t\t\t\t\t\t\t<span className=\"screen-reader-text\" />\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\texcerpt\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={ post.id }>\n\t\t\t\t\t\t\t{ renderFeaturedImage && (\n\t\t\t\t\t\t\t\t<div className={ imageClasses }>\n\t\t\t\t\t\t\t\t\t{ addLinkToFeaturedImage ? (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ featuredImage }\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tfeaturedImage\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-title\"\n\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\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\t}\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ! titleTrimmed ? __( '(no title)' ) : null }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t{ displayAuthor && currentAuthor && (\n\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-author\">\n\t\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: byline. %s: author. */\n\t\t\t\t\t\t\t\t\t\t__( 'by %s' ),\n\t\t\t\t\t\t\t\t\t\tcurrentAuthor.name\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostDate && post.date_gmt && (\n\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\tdateTime={ format( 'c', post.date_gmt ) }\n\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-date\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ dateI18n( dateFormat, post.date_gmt ) }\n\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-excerpt\">\n\t\t\t\t\t\t\t\t\t\t{ postExcerpt }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'full_post' && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-full-content\"\n\t\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t\t\t\t\t__html: post.content.rendered.trim(),\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["coreStore", "blockEditorStore", "ToolsPanel", "ToolsPanelItem", "ImageSizeControl", "ToggleGroupControl", "ToggleGroupControlOptionIcon", "noticeStore", "clsx"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/list/ordered-list-settings.jsx"],
4
- "sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport {\n\tTextControl,\n\tToggleControl,\n\tSelectControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst LIST_STYLE_OPTIONS = [\n\t{\n\t\tlabel: __( 'Numbers' ),\n\t\tvalue: 'decimal',\n\t},\n\t{\n\t\tlabel: __( 'Uppercase letters' ),\n\t\tvalue: 'upper-alpha',\n\t},\n\t{\n\t\tlabel: __( 'Lowercase letters' ),\n\t\tvalue: 'lower-alpha',\n\t},\n\t{\n\t\tlabel: __( 'Uppercase Roman numerals' ),\n\t\tvalue: 'upper-roman',\n\t},\n\t{\n\t\tlabel: __( 'Lowercase Roman numerals' ),\n\t\tvalue: 'lower-roman',\n\t},\n];\n\nconst OrderedListSettings = ( { setAttributes, reversed, start, type } ) => {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\tresetAll={ () => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\ttype: undefined,\n\t\t\t\t\t\tstart: undefined,\n\t\t\t\t\t\treversed: undefined,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'List style' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => !! type }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttype: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'List style' ) }\n\t\t\t\t\t\toptions={ LIST_STYLE_OPTIONS }\n\t\t\t\t\t\tvalue={ type || 'decimal' }\n\t\t\t\t\t\tonChange={ ( newValue ) =>\n\t\t\t\t\t\t\tsetAttributes( { type: newValue } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Start value' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => !! start }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tstart: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Start value' ) }\n\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tconst int = parseInt( value, 10 );\n\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t// It should be possible to unset the value,\n\t\t\t\t\t\t\t\t// e.g. with an empty string.\n\t\t\t\t\t\t\t\tstart: isNaN( int ) ? undefined : int,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tNumber.isInteger( start )\n\t\t\t\t\t\t\t\t? start.toString( 10 )\n\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstep=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Reverse order' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => !! reversed }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\treversed: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Reverse order' ) }\n\t\t\t\t\t\tchecked={ reversed || false }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t// Unset the attribute if not reversed.\n\t\t\t\t\t\t\t\treversed: value || undefined,\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</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n};\n\nexport default OrderedListSettings;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAmB;AACnB,0BAAkC;AAClC,wBAMO;AACP,mBAA+C;AA8B5C;AA5BH,IAAM,qBAAqB;AAAA,EAC1B;AAAA,IACC,WAAO,gBAAI,SAAU;AAAA,IACrB,OAAO;AAAA,EACR;AAAA,EACA;AAAA,IACC,WAAO,gBAAI,mBAAoB;AAAA,IAC/B,OAAO;AAAA,EACR;AAAA,EACA;AAAA,IACC,WAAO,gBAAI,mBAAoB;AAAA,IAC/B,OAAO;AAAA,EACR;AAAA,EACA;AAAA,IACC,WAAO,gBAAI,0BAA2B;AAAA,IACtC,OAAO;AAAA,EACR;AAAA,EACA;AAAA,IACC,WAAO,gBAAI,0BAA2B;AAAA,IACtC,OAAO;AAAA,EACR;AACD;AAEA,IAAM,sBAAsB,CAAE,EAAE,eAAe,UAAU,OAAO,KAAK,MAAO;AAC3E,QAAM,wBAAoB,6CAA+B;AAEzD,SACC,4CAAC,yCACA;AAAA,IAAC,kBAAAA;AAAA,IAAA;AAAA,MACA,WAAQ,gBAAI,UAAW;AAAA,MACvB,UAAW,MAAM;AAChB,sBAAe;AAAA,UACd,MAAM;AAAA,UACN,OAAO;AAAA,UACP,UAAU;AAAA,QACX,CAAE;AAAA,MACH;AAAA,MACA;AAAA,MAEA;AAAA;AAAA,UAAC,kBAAAC;AAAA,UAAA;AAAA,YACA,WAAQ,gBAAI,YAAa;AAAA,YACzB,kBAAgB;AAAA,YAChB,UAAW,MAAM,CAAC,CAAE;AAAA,YACpB,YAAa,MACZ,cAAe;AAAA,cACd,MAAM;AAAA,YACP,CAAE;AAAA,YAGH;AAAA,cAAC;AAAA;AAAA,gBACA,WAAQ,gBAAI,YAAa;AAAA,gBACzB,SAAU;AAAA,gBACV,OAAQ,QAAQ;AAAA,gBAChB,UAAW,CAAE,aACZ,cAAe,EAAE,MAAM,SAAS,CAAE;AAAA;AAAA,YAEpC;AAAA;AAAA,QACD;AAAA,QACA;AAAA,UAAC,kBAAAA;AAAA,UAAA;AAAA,YACA,WAAQ,gBAAI,aAAc;AAAA,YAC1B,kBAAgB;AAAA,YAChB,UAAW,MAAM,CAAC,CAAE;AAAA,YACpB,YAAa,MACZ,cAAe;AAAA,cACd,OAAO;AAAA,YACR,CAAE;AAAA,YAGH;AAAA,cAAC;AAAA;AAAA,gBACA,WAAQ,gBAAI,aAAc;AAAA,gBAC1B,MAAK;AAAA,gBACL,UAAW,CAAE,UAAW;AACvB,wBAAM,MAAM,SAAU,OAAO,EAAG;AAEhC,gCAAe;AAAA;AAAA;AAAA,oBAGd,OAAO,MAAO,GAAI,IAAI,SAAY;AAAA,kBACnC,CAAE;AAAA,gBACH;AAAA,gBACA,OACC,OAAO,UAAW,KAAM,IACrB,MAAM,SAAU,EAAG,IACnB;AAAA,gBAEJ,MAAK;AAAA;AAAA,YACN;AAAA;AAAA,QACD;AAAA,QACA;AAAA,UAAC,kBAAAA;AAAA,UAAA;AAAA,YACA,WAAQ,gBAAI,eAAgB;AAAA,YAC5B,kBAAgB;AAAA,YAChB,UAAW,MAAM,CAAC,CAAE;AAAA,YACpB,YAAa,MACZ,cAAe;AAAA,cACd,UAAU;AAAA,YACX,CAAE;AAAA,YAGH;AAAA,cAAC;AAAA;AAAA,gBACA,WAAQ,gBAAI,eAAgB;AAAA,gBAC5B,SAAU,YAAY;AAAA,gBACtB,UAAW,CAAE,UAAW;AACvB,gCAAe;AAAA;AAAA,oBAEd,UAAU,SAAS;AAAA,kBACpB,CAAE;AAAA,gBACH;AAAA;AAAA,YACD;AAAA;AAAA,QACD;AAAA;AAAA;AAAA,EACD,GACD;AAEF;AAEA,IAAO,gCAAQ;",
6
- "names": ["ToolsPanel", "ToolsPanelItem"]
4
+ "sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport {\n\tTextControl,\n\tToggleControl,\n\tSelectControl as WCSelectControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst LIST_STYLE_OPTIONS = [\n\t{\n\t\tlabel: __( 'Numbers' ),\n\t\tvalue: 'decimal',\n\t},\n\t{\n\t\tlabel: __( 'Uppercase letters' ),\n\t\tvalue: 'upper-alpha',\n\t},\n\t{\n\t\tlabel: __( 'Lowercase letters' ),\n\t\tvalue: 'lower-alpha',\n\t},\n\t{\n\t\tlabel: __( 'Uppercase Roman numerals' ),\n\t\tvalue: 'upper-roman',\n\t},\n\t{\n\t\tlabel: __( 'Lowercase Roman numerals' ),\n\t\tvalue: 'lower-roman',\n\t},\n];\n\nconst OrderedListSettings = ( { setAttributes, reversed, start, type } ) => {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\tresetAll={ () => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\ttype: undefined,\n\t\t\t\t\t\tstart: undefined,\n\t\t\t\t\t\treversed: undefined,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'List style' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => !! type }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttype: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<WCSelectControl\n\t\t\t\t\t\tlabel={ __( 'List style' ) }\n\t\t\t\t\t\toptions={ LIST_STYLE_OPTIONS }\n\t\t\t\t\t\tvalue={ type || 'decimal' }\n\t\t\t\t\t\tonChange={ ( newValue ) =>\n\t\t\t\t\t\t\tsetAttributes( { type: newValue } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Start value' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => !! start }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tstart: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Start value' ) }\n\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tconst int = parseInt( value, 10 );\n\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t// It should be possible to unset the value,\n\t\t\t\t\t\t\t\t// e.g. with an empty string.\n\t\t\t\t\t\t\t\tstart: isNaN( int ) ? undefined : int,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tNumber.isInteger( start )\n\t\t\t\t\t\t\t\t? start.toString( 10 )\n\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstep=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Reverse order' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => !! reversed }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\treversed: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Reverse order' ) }\n\t\t\t\t\t\tchecked={ reversed || false }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t// Unset the attribute if not reversed.\n\t\t\t\t\t\t\t\treversed: value || undefined,\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</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n};\n\nexport default OrderedListSettings;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAmB;AACnB,0BAAkC;AAClC,wBAMO;AACP,mBAA+C;AA8B5C;AA5BH,IAAM,qBAAqB;AAAA,EAC1B;AAAA,IACC,WAAO,gBAAI,SAAU;AAAA,IACrB,OAAO;AAAA,EACR;AAAA,EACA;AAAA,IACC,WAAO,gBAAI,mBAAoB;AAAA,IAC/B,OAAO;AAAA,EACR;AAAA,EACA;AAAA,IACC,WAAO,gBAAI,mBAAoB;AAAA,IAC/B,OAAO;AAAA,EACR;AAAA,EACA;AAAA,IACC,WAAO,gBAAI,0BAA2B;AAAA,IACtC,OAAO;AAAA,EACR;AAAA,EACA;AAAA,IACC,WAAO,gBAAI,0BAA2B;AAAA,IACtC,OAAO;AAAA,EACR;AACD;AAEA,IAAM,sBAAsB,CAAE,EAAE,eAAe,UAAU,OAAO,KAAK,MAAO;AAC3E,QAAM,wBAAoB,6CAA+B;AAEzD,SACC,4CAAC,yCACA;AAAA,IAAC,kBAAAA;AAAA,IAAA;AAAA,MACA,WAAQ,gBAAI,UAAW;AAAA,MACvB,UAAW,MAAM;AAChB,sBAAe;AAAA,UACd,MAAM;AAAA,UACN,OAAO;AAAA,UACP,UAAU;AAAA,QACX,CAAE;AAAA,MACH;AAAA,MACA;AAAA,MAEA;AAAA;AAAA,UAAC,kBAAAC;AAAA,UAAA;AAAA,YACA,WAAQ,gBAAI,YAAa;AAAA,YACzB,kBAAgB;AAAA,YAChB,UAAW,MAAM,CAAC,CAAE;AAAA,YACpB,YAAa,MACZ,cAAe;AAAA,cACd,MAAM;AAAA,YACP,CAAE;AAAA,YAGH;AAAA,cAAC,kBAAAC;AAAA,cAAA;AAAA,gBACA,WAAQ,gBAAI,YAAa;AAAA,gBACzB,SAAU;AAAA,gBACV,OAAQ,QAAQ;AAAA,gBAChB,UAAW,CAAE,aACZ,cAAe,EAAE,MAAM,SAAS,CAAE;AAAA;AAAA,YAEpC;AAAA;AAAA,QACD;AAAA,QACA;AAAA,UAAC,kBAAAD;AAAA,UAAA;AAAA,YACA,WAAQ,gBAAI,aAAc;AAAA,YAC1B,kBAAgB;AAAA,YAChB,UAAW,MAAM,CAAC,CAAE;AAAA,YACpB,YAAa,MACZ,cAAe;AAAA,cACd,OAAO;AAAA,YACR,CAAE;AAAA,YAGH;AAAA,cAAC;AAAA;AAAA,gBACA,WAAQ,gBAAI,aAAc;AAAA,gBAC1B,MAAK;AAAA,gBACL,UAAW,CAAE,UAAW;AACvB,wBAAM,MAAM,SAAU,OAAO,EAAG;AAEhC,gCAAe;AAAA;AAAA;AAAA,oBAGd,OAAO,MAAO,GAAI,IAAI,SAAY;AAAA,kBACnC,CAAE;AAAA,gBACH;AAAA,gBACA,OACC,OAAO,UAAW,KAAM,IACrB,MAAM,SAAU,EAAG,IACnB;AAAA,gBAEJ,MAAK;AAAA;AAAA,YACN;AAAA;AAAA,QACD;AAAA,QACA;AAAA,UAAC,kBAAAA;AAAA,UAAA;AAAA,YACA,WAAQ,gBAAI,eAAgB;AAAA,YAC5B,kBAAgB;AAAA,YAChB,UAAW,MAAM,CAAC,CAAE;AAAA,YACpB,YAAa,MACZ,cAAe;AAAA,cACd,UAAU;AAAA,YACX,CAAE;AAAA,YAGH;AAAA,cAAC;AAAA;AAAA,gBACA,WAAQ,gBAAI,eAAgB;AAAA,gBAC5B,SAAU,YAAY;AAAA,gBACtB,UAAW,CAAE,UAAW;AACvB,gCAAe;AAAA;AAAA,oBAEd,UAAU,SAAS;AAAA,kBACpB,CAAE;AAAA,gBACH;AAAA;AAAA,YACD;AAAA;AAAA,QACD;AAAA;AAAA;AAAA,EACD,GACD;AAEF;AAEA,IAAO,gCAAQ;",
6
+ "names": ["ToolsPanel", "ToolsPanelItem", "WCSelectControl"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/list-item/hooks/use-enter.js"],
4
- "sourcesContent": ["import {\n\tcreateBlock,\n\tgetDefaultBlockName,\n\tcloneBlock,\n} from '@wordpress/blocks';\nimport { useRefEffect } from '@wordpress/compose';\nimport { privateApis as richTextPrivateApis } from '@wordpress/rich-text';\nimport { useRegistry } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { outdentListItems, getOutdentTarget } from '../utils';\nimport { unlock } from '../../lock-unlock';\n\nconst { subscribeOwnedListener } = unlock( richTextPrivateApis );\n\nexport default function useEnter( clientId ) {\n\tconst registry = useRegistry();\n\treturn useRefEffect(\n\t\t( element ) => {\n\t\t\tfunction onBeforeInput( event ) {\n\t\t\t\tif (\n\t\t\t\t\tevent.defaultPrevented ||\n\t\t\t\t\tevent.inputType !== 'insertParagraph'\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst select = registry.select( blockEditorStore );\n\t\t\t\tconst {\n\t\t\t\t\tgetBlock,\n\t\t\t\t\tgetBlockAttributes,\n\t\t\t\t\tgetBlockRootClientId,\n\t\t\t\t\tgetBlockIndex,\n\t\t\t\t} = select;\n\t\t\t\tconst { replaceBlocks, selectionChange } =\n\t\t\t\t\tregistry.dispatch( blockEditorStore );\n\n\t\t\t\tconst { content } = getBlockAttributes( clientId ) ?? {};\n\t\t\t\tif ( content?.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst canOutdent = !! getOutdentTarget( select, clientId );\n\t\t\t\tif ( canOutdent ) {\n\t\t\t\t\toutdentListItems( registry );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// Here we are in top level list so we need to split.\n\t\t\t\tconst topParentListBlock = getBlock(\n\t\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t\t);\n\t\t\t\tconst blockIndex = getBlockIndex( clientId );\n\t\t\t\tconst head = cloneBlock( {\n\t\t\t\t\t...topParentListBlock,\n\t\t\t\t\tinnerBlocks: topParentListBlock.innerBlocks.slice(\n\t\t\t\t\t\t0,\n\t\t\t\t\t\tblockIndex\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t\tconst middle = createBlock( getDefaultBlockName() );\n\t\t\t\t// Last list item might contain a `list` block innerBlock\n\t\t\t\t// In that case append remaining innerBlocks blocks.\n\t\t\t\tconst after = [\n\t\t\t\t\t...( topParentListBlock.innerBlocks[ blockIndex ]\n\t\t\t\t\t\t.innerBlocks[ 0 ]?.innerBlocks || [] ),\n\t\t\t\t\t...topParentListBlock.innerBlocks.slice( blockIndex + 1 ),\n\t\t\t\t];\n\t\t\t\tconst tail = after.length\n\t\t\t\t\t? [\n\t\t\t\t\t\t\tcloneBlock( {\n\t\t\t\t\t\t\t\t...topParentListBlock,\n\t\t\t\t\t\t\t\tinnerBlocks: after,\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t ]\n\t\t\t\t\t: [];\n\t\t\t\treplaceBlocks(\n\t\t\t\t\ttopParentListBlock.clientId,\n\t\t\t\t\t[ head, middle, ...tail ],\n\t\t\t\t\t1\n\t\t\t\t);\n\t\t\t\t// We manually change the selection here because we are replacing\n\t\t\t\t// a different block than the selected one.\n\t\t\t\tselectionChange( middle.clientId );\n\t\t\t}\n\n\t\t\t// Enter is handled on beforeinput: moving focus while the\n\t\t\t// keydown is still being handled leaves the iOS keyboard's\n\t\t\t// auto-capitalization stale. Capture phase so we run before\n\t\t\t// writing-flow's ancestor-bubble handler that gates on\n\t\t\t// `event.defaultPrevented`.\n\t\t\treturn subscribeOwnedListener(\n\t\t\t\telement,\n\t\t\t\t'beforeinput',\n\t\t\t\tonBeforeInput,\n\t\t\t\ttrue\n\t\t\t);\n\t\t},\n\t\t[ clientId, registry ]\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAIO;AACP,qBAA6B;AAC7B,uBAAmD;AACnD,kBAA4B;AAC5B,0BAA0C;AAC1C,mBAAmD;AACnD,yBAAuB;AAEvB,IAAM,EAAE,uBAAuB,QAAI,2BAAQ,iBAAAA,WAAoB;AAEhD,SAAR,SAA2B,UAAW;AAC5C,QAAM,eAAW,yBAAY;AAC7B,aAAO;AAAA,IACN,CAAE,YAAa;AACd,eAAS,cAAe,OAAQ;AAC/B,YACC,MAAM,oBACN,MAAM,cAAc,mBACnB;AACD;AAAA,QACD;AACA,cAAM,SAAS,SAAS,OAAQ,oBAAAC,KAAiB;AACjD,cAAM;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACD,IAAI;AACJ,cAAM,EAAE,eAAe,gBAAgB,IACtC,SAAS,SAAU,oBAAAA,KAAiB;AAErC,cAAM,EAAE,QAAQ,IAAI,mBAAoB,QAAS,KAAK,CAAC;AACvD,YAAK,SAAS,QAAS;AACtB;AAAA,QACD;AACA,cAAM,eAAe;AACrB,cAAM,aAAa,CAAC,KAAE,+BAAkB,QAAQ,QAAS;AACzD,YAAK,YAAa;AACjB,6CAAkB,QAAS;AAC3B;AAAA,QACD;AAEA,cAAM,qBAAqB;AAAA,UAC1B,qBAAsB,QAAS;AAAA,QAChC;AACA,cAAM,aAAa,cAAe,QAAS;AAC3C,cAAM,WAAO,0BAAY;AAAA,UACxB,GAAG;AAAA,UACH,aAAa,mBAAmB,YAAY;AAAA,YAC3C;AAAA,YACA;AAAA,UACD;AAAA,QACD,CAAE;AACF,cAAM,aAAS,+BAAa,mCAAoB,CAAE;AAGlD,cAAM,QAAQ;AAAA,UACb,GAAK,mBAAmB,YAAa,UAAW,EAC9C,YAAa,CAAE,GAAG,eAAe,CAAC;AAAA,UACpC,GAAG,mBAAmB,YAAY,MAAO,aAAa,CAAE;AAAA,QACzD;AACA,cAAM,OAAO,MAAM,SAChB;AAAA,cACA,0BAAY;AAAA,YACX,GAAG;AAAA,YACH,aAAa;AAAA,UACd,CAAE;AAAA,QACF,IACA,CAAC;AACJ;AAAA,UACC,mBAAmB;AAAA,UACnB,CAAE,MAAM,QAAQ,GAAG,IAAK;AAAA,UACxB;AAAA,QACD;AAGA,wBAAiB,OAAO,QAAS;AAAA,MAClC;AAOA,aAAO;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,IACD;AAAA,IACA,CAAE,UAAU,QAAS;AAAA,EACtB;AACD;",
4
+ "sourcesContent": ["import {\n\tcreateBlock,\n\tgetDefaultBlockName,\n\tcloneBlock,\n} from '@wordpress/blocks';\nimport { useRefEffect } from '@wordpress/compose';\nimport { privateApis as richTextPrivateApis } from '@wordpress/rich-text';\nimport { useRegistry } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { outdentListItems, getOutdentTarget } from '../utils';\nimport { unlock } from '../../lock-unlock';\n\nconst { subscribeOwnedListener } = unlock( richTextPrivateApis );\n\nexport default function useEnter( clientId ) {\n\tconst registry = useRegistry();\n\treturn useRefEffect(\n\t\t( element ) => {\n\t\t\tfunction onBeforeInput( event ) {\n\t\t\t\tif (\n\t\t\t\t\tevent.defaultPrevented ||\n\t\t\t\t\tevent.inputType !== 'insertParagraph'\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst select = registry.select( blockEditorStore );\n\t\t\t\tconst {\n\t\t\t\t\tgetBlock,\n\t\t\t\t\tgetBlockAttributes,\n\t\t\t\t\tgetBlockRootClientId,\n\t\t\t\t\tgetBlockIndex,\n\t\t\t\t} = select;\n\t\t\t\tconst { replaceBlocks, selectionChange } =\n\t\t\t\t\tregistry.dispatch( blockEditorStore );\n\n\t\t\t\tconst { content } = getBlockAttributes( clientId ) ?? {};\n\t\t\t\tif ( content?.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst canOutdent = !! getOutdentTarget( select, clientId );\n\t\t\t\tif ( canOutdent ) {\n\t\t\t\t\toutdentListItems( registry );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// Here we are in top level list so we need to split.\n\t\t\t\tconst topParentListBlock = getBlock(\n\t\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t\t);\n\t\t\t\tconst blockIndex = getBlockIndex( clientId );\n\t\t\t\tconst head = cloneBlock( {\n\t\t\t\t\t...topParentListBlock,\n\t\t\t\t\tinnerBlocks: topParentListBlock.innerBlocks.slice(\n\t\t\t\t\t\t0,\n\t\t\t\t\t\tblockIndex\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t\tconst middle = createBlock( getDefaultBlockName() );\n\t\t\t\t// Last list item might contain a `list` block innerBlock\n\t\t\t\t// In that case append remaining innerBlocks blocks.\n\t\t\t\tconst after = [\n\t\t\t\t\t...( topParentListBlock.innerBlocks[ blockIndex ]\n\t\t\t\t\t\t.innerBlocks[ 0 ]?.innerBlocks || [] ),\n\t\t\t\t\t...topParentListBlock.innerBlocks.slice( blockIndex + 1 ),\n\t\t\t\t];\n\t\t\t\tconst tail = after.length\n\t\t\t\t\t? [\n\t\t\t\t\t\t\tcloneBlock( {\n\t\t\t\t\t\t\t\t...topParentListBlock,\n\t\t\t\t\t\t\t\tinnerBlocks: after,\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\treplaceBlocks(\n\t\t\t\t\ttopParentListBlock.clientId,\n\t\t\t\t\t[ head, middle, ...tail ],\n\t\t\t\t\t1\n\t\t\t\t);\n\t\t\t\t// We manually change the selection here because we are replacing\n\t\t\t\t// a different block than the selected one.\n\t\t\t\tselectionChange( middle.clientId );\n\t\t\t}\n\n\t\t\t// Enter is handled on beforeinput: moving focus while the\n\t\t\t// keydown is still being handled leaves the iOS keyboard's\n\t\t\t// auto-capitalization stale. Capture phase so we run before\n\t\t\t// writing-flow's ancestor-bubble handler that gates on\n\t\t\t// `event.defaultPrevented`.\n\t\t\treturn subscribeOwnedListener(\n\t\t\t\telement,\n\t\t\t\t'beforeinput',\n\t\t\t\tonBeforeInput,\n\t\t\t\ttrue\n\t\t\t);\n\t\t},\n\t\t[ clientId, registry ]\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAIO;AACP,qBAA6B;AAC7B,uBAAmD;AACnD,kBAA4B;AAC5B,0BAA0C;AAC1C,mBAAmD;AACnD,yBAAuB;AAEvB,IAAM,EAAE,uBAAuB,QAAI,2BAAQ,iBAAAA,WAAoB;AAEhD,SAAR,SAA2B,UAAW;AAC5C,QAAM,eAAW,yBAAY;AAC7B,aAAO;AAAA,IACN,CAAE,YAAa;AACd,eAAS,cAAe,OAAQ;AAC/B,YACC,MAAM,oBACN,MAAM,cAAc,mBACnB;AACD;AAAA,QACD;AACA,cAAM,SAAS,SAAS,OAAQ,oBAAAC,KAAiB;AACjD,cAAM;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACD,IAAI;AACJ,cAAM,EAAE,eAAe,gBAAgB,IACtC,SAAS,SAAU,oBAAAA,KAAiB;AAErC,cAAM,EAAE,QAAQ,IAAI,mBAAoB,QAAS,KAAK,CAAC;AACvD,YAAK,SAAS,QAAS;AACtB;AAAA,QACD;AACA,cAAM,eAAe;AACrB,cAAM,aAAa,CAAC,KAAE,+BAAkB,QAAQ,QAAS;AACzD,YAAK,YAAa;AACjB,6CAAkB,QAAS;AAC3B;AAAA,QACD;AAEA,cAAM,qBAAqB;AAAA,UAC1B,qBAAsB,QAAS;AAAA,QAChC;AACA,cAAM,aAAa,cAAe,QAAS;AAC3C,cAAM,WAAO,0BAAY;AAAA,UACxB,GAAG;AAAA,UACH,aAAa,mBAAmB,YAAY;AAAA,YAC3C;AAAA,YACA;AAAA,UACD;AAAA,QACD,CAAE;AACF,cAAM,aAAS,+BAAa,mCAAoB,CAAE;AAGlD,cAAM,QAAQ;AAAA,UACb,GAAK,mBAAmB,YAAa,UAAW,EAC9C,YAAa,CAAE,GAAG,eAAe,CAAC;AAAA,UACpC,GAAG,mBAAmB,YAAY,MAAO,aAAa,CAAE;AAAA,QACzD;AACA,cAAM,OAAO,MAAM,SAChB;AAAA,cACA,0BAAY;AAAA,YACX,GAAG;AAAA,YACH,aAAa;AAAA,UACd,CAAE;AAAA,QACH,IACC,CAAC;AACJ;AAAA,UACC,mBAAmB;AAAA,UACnB,CAAE,MAAM,QAAQ,GAAG,IAAK;AAAA,UACxB;AAAA,QACD;AAGA,wBAAiB,OAAO,QAAS;AAAA,MAClC;AAOA,aAAO;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,IACD;AAAA,IACA,CAAE,UAAU,QAAS;AAAA,EACtB;AACD;",
6
6
  "names": ["richTextPrivateApis", "blockEditorStore"]
7
7
  }
@@ -44,6 +44,8 @@
44
44
  "attributes": {
45
45
  "latex": {
46
46
  "type": "string",
47
+ "source": "text",
48
+ "selector": "math annotation[encoding=\"application/x-tex\"]",
47
49
  "role": "content"
48
50
  },
49
51
  "mathML": {
@@ -25,18 +25,35 @@ __export(deprecated_exports, {
25
25
  module.exports = __toCommonJS(deprecated_exports);
26
26
  var import_block_editor = require("@wordpress/block-editor");
27
27
  var import_jsx_runtime = require("react/jsx-runtime");
28
- var v1 = {
29
- attributes: {
30
- latex: {
31
- type: "string",
32
- role: "content"
33
- },
34
- mathML: {
35
- type: "string",
36
- source: "html",
37
- selector: "math"
38
- }
28
+ var legacyAttributes = {
29
+ latex: {
30
+ type: "string",
31
+ role: "content"
39
32
  },
33
+ mathML: {
34
+ type: "string",
35
+ source: "html",
36
+ selector: "math"
37
+ }
38
+ };
39
+ var v2 = {
40
+ attributes: legacyAttributes,
41
+ save({ attributes }) {
42
+ const { latex, mathML } = attributes;
43
+ if (!latex) {
44
+ return null;
45
+ }
46
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ...import_block_editor.useBlockProps.save(), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
47
+ "math",
48
+ {
49
+ display: "block",
50
+ dangerouslySetInnerHTML: { __html: mathML }
51
+ }
52
+ ) });
53
+ }
54
+ };
55
+ var v1 = {
56
+ attributes: legacyAttributes,
40
57
  save({ attributes }) {
41
58
  const { latex, mathML } = attributes;
42
59
  if (!latex) {
@@ -52,5 +69,5 @@ var v1 = {
52
69
  );
53
70
  }
54
71
  };
55
- var deprecated_default = [v1];
72
+ var deprecated_default = [v2, v1];
56
73
  //# sourceMappingURL=deprecated.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/math/deprecated.jsx"],
4
- "sourcesContent": ["import { useBlockProps } from '@wordpress/block-editor';\n\n// v1: Add a wrapper div around the math element.\nconst v1 = {\n\tattributes: {\n\t\tlatex: {\n\t\t\ttype: 'string',\n\t\t\trole: 'content',\n\t\t},\n\t\tmathML: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'math',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { latex, mathML } = attributes;\n\n\t\tif ( ! latex ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<math\n\t\t\t\t{ ...useBlockProps.save() }\n\t\t\t\tdisplay=\"block\"\n\t\t\t\tdangerouslySetInnerHTML={ { __html: mathML } }\n\t\t\t/>\n\t\t);\n\t},\n};\n\n/**\n * New deprecations need to be placed first\n * for them to have higher priority.\n *\n * Old deprecations may need to be updated as well.\n *\n * See block-deprecation.md\n */\nexport default [ v1 ];\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA8B;AAuB3B;AApBH,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,IACX,OAAO;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,IACP;AAAA,IACA,QAAQ;AAAA,MACP,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,IACX;AAAA,EACD;AAAA,EACA,KAAM,EAAE,WAAW,GAAI;AACtB,UAAM,EAAE,OAAO,OAAO,IAAI;AAE1B,QAAK,CAAE,OAAQ;AACd,aAAO;AAAA,IACR;AAEA,WACC;AAAA,MAAC;AAAA;AAAA,QACE,GAAG,kCAAc,KAAK;AAAA,QACxB,SAAQ;AAAA,QACR,yBAA0B,EAAE,QAAQ,OAAO;AAAA;AAAA,IAC5C;AAAA,EAEF;AACD;AAUA,IAAO,qBAAQ,CAAE,EAAG;",
4
+ "sourcesContent": ["import { useBlockProps } from '@wordpress/block-editor';\n\n// Earlier versions stored the LaTeX source in the block comment. Content that\n// could not be rendered was saved with an empty `<math>`, so the source is\n// only available from the comment attribute for such blocks.\nconst legacyAttributes = {\n\tlatex: {\n\t\ttype: 'string',\n\t\trole: 'content',\n\t},\n\tmathML: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t\tselector: 'math',\n\t},\n};\n\n// v2: The LaTeX source was stored in the block comment.\nconst v2 = {\n\tattributes: legacyAttributes,\n\tsave( { attributes } ) {\n\t\tconst { latex, mathML } = attributes;\n\n\t\tif ( ! latex ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save() }>\n\t\t\t\t<math\n\t\t\t\t\tdisplay=\"block\"\n\t\t\t\t\tdangerouslySetInnerHTML={ { __html: mathML } }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n};\n\n// v1: Add a wrapper div around the math element.\nconst v1 = {\n\tattributes: legacyAttributes,\n\tsave( { attributes } ) {\n\t\tconst { latex, mathML } = attributes;\n\n\t\tif ( ! latex ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<math\n\t\t\t\t{ ...useBlockProps.save() }\n\t\t\t\tdisplay=\"block\"\n\t\t\t\tdangerouslySetInnerHTML={ { __html: mathML } }\n\t\t\t/>\n\t\t);\n\t},\n};\n\n/**\n * New deprecations need to be placed first\n * for them to have higher priority.\n *\n * Old deprecations may need to be updated as well.\n *\n * See block-deprecation.md\n */\nexport default [ v2, v1 ];\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA8B;AA6B1B;AAxBJ,IAAM,mBAAmB;AAAA,EACxB,OAAO;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACA,QAAQ;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,EACX;AACD;AAGA,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,EACZ,KAAM,EAAE,WAAW,GAAI;AACtB,UAAM,EAAE,OAAO,OAAO,IAAI;AAE1B,QAAK,CAAE,OAAQ;AACd,aAAO;AAAA,IACR;AAEA,WACC,4CAAC,SAAM,GAAG,kCAAc,KAAK,GAC5B;AAAA,MAAC;AAAA;AAAA,QACA,SAAQ;AAAA,QACR,yBAA0B,EAAE,QAAQ,OAAO;AAAA;AAAA,IAC5C,GACD;AAAA,EAEF;AACD;AAGA,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,EACZ,KAAM,EAAE,WAAW,GAAI;AACtB,UAAM,EAAE,OAAO,OAAO,IAAI;AAE1B,QAAK,CAAE,OAAQ;AACd,aAAO;AAAA,IACR;AAEA,WACC;AAAA,MAAC;AAAA;AAAA,QACE,GAAG,kCAAc,KAAK;AAAA,QACxB,SAAQ;AAAA,QACR,yBAA0B,EAAE,QAAQ,OAAO;AAAA;AAAA,IAC5C;AAAA,EAEF;AACD;AAUA,IAAO,qBAAQ,CAAE,IAAI,EAAG;",
6
6
  "names": []
7
7
  }