@wordpress/block-library 7.9.0 → 7.12.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 (756) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/archives/edit.js +7 -0
  3. package/build/archives/edit.js.map +1 -1
  4. package/build/archives/index.js +4 -0
  5. package/build/archives/index.js.map +1 -1
  6. package/build/block/edit.js +4 -2
  7. package/build/block/edit.js.map +1 -1
  8. package/build/block/edit.native.js +4 -2
  9. package/build/block/edit.native.js.map +1 -1
  10. package/build/button/edit.js +2 -1
  11. package/build/button/edit.js.map +1 -1
  12. package/build/buttons/edit.js +1 -1
  13. package/build/buttons/edit.js.map +1 -1
  14. package/build/calendar/edit.js +12 -5
  15. package/build/calendar/edit.js.map +1 -1
  16. package/build/columns/edit.native.js +3 -2
  17. package/build/columns/edit.native.js.map +1 -1
  18. package/build/comment-template/index.js +1 -1
  19. package/build/comments/deprecated.js +65 -0
  20. package/build/comments/deprecated.js.map +1 -0
  21. package/build/comments/edit/comments-legacy.js +73 -0
  22. package/build/comments/edit/comments-legacy.js.map +1 -0
  23. package/build/comments/{edit.js → edit/index.js} +17 -38
  24. package/build/comments/edit/index.js.map +1 -0
  25. package/build/comments/edit/placeholder.js +117 -0
  26. package/build/comments/edit/placeholder.js.map +1 -0
  27. package/build/comments/edit/template.js +39 -0
  28. package/build/comments/edit/template.js.map +1 -0
  29. package/build/comments/index.js +11 -3
  30. package/build/comments/index.js.map +1 -1
  31. package/build/comments/save.js +12 -4
  32. package/build/comments/save.js.map +1 -1
  33. package/build/comments-pagination/index.js +1 -1
  34. package/build/comments-title/deprecated.js +1 -1
  35. package/build/comments-title/index.js +1 -1
  36. package/build/cover/edit/block-controls.js +2 -12
  37. package/build/cover/edit/block-controls.js.map +1 -1
  38. package/build/cover/edit/cover-placeholder.js +3 -1
  39. package/build/cover/edit/cover-placeholder.js.map +1 -1
  40. package/build/cover/edit/index.js +19 -4
  41. package/build/cover/edit/index.js.map +1 -1
  42. package/build/cover/edit/resizable-cover.js +6 -0
  43. package/build/cover/edit/resizable-cover.js.map +1 -1
  44. package/build/cover/transforms.js +3 -2
  45. package/build/cover/transforms.js.map +1 -1
  46. package/build/embed/embed-placeholder.native.js +1 -3
  47. package/build/embed/embed-placeholder.native.js.map +1 -1
  48. package/build/gallery/edit.js +11 -19
  49. package/build/gallery/edit.js.map +1 -1
  50. package/build/gallery/transforms.js +30 -20
  51. package/build/gallery/transforms.js.map +1 -1
  52. package/build/gallery/use-get-media.js +7 -18
  53. package/build/gallery/use-get-media.js.map +1 -1
  54. package/build/gallery/use-get-media.native.js +59 -0
  55. package/build/gallery/use-get-media.native.js.map +1 -0
  56. package/build/group/edit.js +1 -3
  57. package/build/group/edit.js.map +1 -1
  58. package/build/group/index.js +1 -0
  59. package/build/group/index.js.map +1 -1
  60. package/build/group/transforms.js +5 -0
  61. package/build/group/transforms.js.map +1 -1
  62. package/build/group/variations.js +1 -1
  63. package/build/group/variations.js.map +1 -1
  64. package/build/heading/heading-level-dropdown.js +2 -1
  65. package/build/heading/heading-level-dropdown.js.map +1 -1
  66. package/build/heading/index.js +9 -4
  67. package/build/heading/index.js.map +1 -1
  68. package/build/image/deprecated.js +77 -9
  69. package/build/image/deprecated.js.map +1 -1
  70. package/build/image/edit.js +3 -1
  71. package/build/image/edit.js.map +1 -1
  72. package/build/image/edit.native.js +18 -8
  73. package/build/image/edit.native.js.map +1 -1
  74. package/build/image/image.js +27 -20
  75. package/build/image/image.js.map +1 -1
  76. package/build/image/index.js +7 -1
  77. package/build/image/index.js.map +1 -1
  78. package/build/image/save.js +8 -2
  79. package/build/image/save.js.map +1 -1
  80. package/build/index.js +1 -3
  81. package/build/index.js.map +1 -1
  82. package/build/index.native.js +10 -7
  83. package/build/index.native.js.map +1 -1
  84. package/build/latest-posts/edit.js +1 -1
  85. package/build/latest-posts/edit.js.map +1 -1
  86. package/build/list/index.js +6 -0
  87. package/build/list/index.js.map +1 -1
  88. package/build/list/transforms.js +4 -63
  89. package/build/list/transforms.js.map +1 -1
  90. package/build/list/v2/edit.js +16 -5
  91. package/build/list/v2/edit.js.map +1 -1
  92. package/build/list/v2/tag-name.js +31 -0
  93. package/build/list/v2/tag-name.js.map +1 -0
  94. package/build/list/v2/tag-name.native.js +32 -0
  95. package/build/list/v2/tag-name.native.js.map +1 -0
  96. package/build/list/v2/transforms.js +1 -38
  97. package/build/list/v2/transforms.js.map +1 -1
  98. package/build/list-item/edit.js +15 -9
  99. package/build/list-item/edit.js.map +1 -1
  100. package/build/list-item/edit.native.js +158 -0
  101. package/build/list-item/edit.native.js.map +1 -0
  102. package/build/list-item/hooks/index.js +8 -8
  103. package/build/list-item/hooks/index.js.map +1 -1
  104. package/build/list-item/hooks/use-merge.js +174 -0
  105. package/build/list-item/hooks/use-merge.js.map +1 -0
  106. package/build/list-item/hooks/use-outdent-list-item.js +86 -50
  107. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  108. package/build/list-item/icons.native.js +53 -0
  109. package/build/list-item/icons.native.js.map +1 -0
  110. package/build/list-item/list-style-type.native.js +136 -0
  111. package/build/list-item/list-style-type.native.js.map +1 -0
  112. package/build/list-item/utils.js +125 -1
  113. package/build/list-item/utils.js.map +1 -1
  114. package/build/media-text/deprecated.js +265 -16
  115. package/build/media-text/deprecated.js.map +1 -1
  116. package/build/media-text/edit.js +4 -3
  117. package/build/media-text/edit.js.map +1 -1
  118. package/build/media-text/media-container.js +1 -1
  119. package/build/media-text/media-container.js.map +1 -1
  120. package/build/media-text/save.js +13 -0
  121. package/build/media-text/save.js.map +1 -1
  122. package/build/more/edit.js +2 -4
  123. package/build/more/edit.js.map +1 -1
  124. package/build/more/save.js +1 -7
  125. package/build/more/save.js.map +1 -1
  126. package/build/navigation/edit/index.js +68 -123
  127. package/build/navigation/edit/index.js.map +1 -1
  128. package/build/navigation/edit/navigation-menu-selector.js +11 -14
  129. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  130. package/build/navigation/edit/placeholder/index.js +4 -2
  131. package/build/navigation/edit/placeholder/index.js.map +1 -1
  132. package/build/navigation/edit/responsive-wrapper.js +13 -3
  133. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  134. package/build/navigation/edit/use-create-navigation-menu.js +5 -1
  135. package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
  136. package/build/navigation/edit/use-inner-blocks.js +43 -0
  137. package/build/navigation/edit/use-inner-blocks.js.map +1 -0
  138. package/build/navigation/edit/utils.js +28 -0
  139. package/build/navigation/edit/utils.js.map +1 -0
  140. package/build/navigation/use-navigation-menu.js +7 -3
  141. package/build/navigation/use-navigation-menu.js.map +1 -1
  142. package/build/navigation/view.js +7 -4
  143. package/build/navigation/view.js.map +1 -1
  144. package/build/navigation-link/edit.js +5 -4
  145. package/build/navigation-link/edit.js.map +1 -1
  146. package/build/navigation-link/hooks.js +0 -16
  147. package/build/navigation-link/hooks.js.map +1 -1
  148. package/build/navigation-link/index.js +1 -1
  149. package/build/navigation-link/index.js.map +1 -1
  150. package/build/navigation-submenu/edit.js +2 -1
  151. package/build/navigation-submenu/edit.js.map +1 -1
  152. package/build/navigation-submenu/view.js +7 -4
  153. package/build/navigation-submenu/view.js.map +1 -1
  154. package/build/nextpage/edit.js +1 -3
  155. package/build/nextpage/edit.js.map +1 -1
  156. package/build/page-list/edit.js +10 -3
  157. package/build/page-list/edit.js.map +1 -1
  158. package/build/paragraph/edit.js +7 -11
  159. package/build/paragraph/edit.js.map +1 -1
  160. package/build/post-author/edit.js +5 -2
  161. package/build/post-author/edit.js.map +1 -1
  162. package/build/post-author-biography/edit.js +7 -1
  163. package/build/post-author-biography/edit.js.map +1 -1
  164. package/build/post-comments-form/edit.js +4 -47
  165. package/build/post-comments-form/edit.js.map +1 -1
  166. package/build/post-comments-form/form.js +47 -3
  167. package/build/post-comments-form/form.js.map +1 -1
  168. package/build/post-content/edit.js +4 -2
  169. package/build/post-content/edit.js.map +1 -1
  170. package/build/post-featured-image/edit.js +16 -2
  171. package/build/post-featured-image/edit.js.map +1 -1
  172. package/build/post-featured-image/index.js +9 -0
  173. package/build/post-featured-image/index.js.map +1 -1
  174. package/build/post-terms/edit.js +3 -2
  175. package/build/post-terms/edit.js.map +1 -1
  176. package/build/post-terms/index.js +1 -1
  177. package/build/post-terms/index.js.map +1 -1
  178. package/build/post-title/index.js +1 -0
  179. package/build/post-title/index.js.map +1 -1
  180. package/build/query/edit/inspector-controls/index.js +43 -10
  181. package/build/query/edit/inspector-controls/index.js.map +1 -1
  182. package/build/query/edit/inspector-controls/taxonomy-controls.js +21 -14
  183. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  184. package/build/query/index.js +1 -1
  185. package/build/query/index.js.map +1 -1
  186. package/build/query-no-results/edit.js +1 -1
  187. package/build/query-no-results/edit.js.map +1 -1
  188. package/build/query-pagination-next/edit.js +2 -1
  189. package/build/query-pagination-next/edit.js.map +1 -1
  190. package/build/query-pagination-previous/edit.js +2 -1
  191. package/build/query-pagination-previous/edit.js.map +1 -1
  192. package/build/query-title/edit.js +20 -7
  193. package/build/query-title/edit.js.map +1 -1
  194. package/build/query-title/index.js +4 -0
  195. package/build/query-title/index.js.map +1 -1
  196. package/build/query-title/variations.js +10 -0
  197. package/build/query-title/variations.js.map +1 -1
  198. package/build/quote/deprecated.js +168 -36
  199. package/build/quote/deprecated.js.map +1 -1
  200. package/build/quote/edit.js +76 -39
  201. package/build/quote/edit.js.map +1 -1
  202. package/build/quote/index.js +9 -45
  203. package/build/quote/index.js.map +1 -1
  204. package/build/quote/save.js +1 -5
  205. package/build/quote/save.js.map +1 -1
  206. package/build/quote/transforms.js +110 -158
  207. package/build/quote/transforms.js.map +1 -1
  208. package/build/separator/edit.js +1 -1
  209. package/build/separator/edit.js.map +1 -1
  210. package/build/site-logo/edit.js +5 -13
  211. package/build/site-logo/edit.js.map +1 -1
  212. package/build/site-title/edit/level-toolbar.js +2 -1
  213. package/build/site-title/edit/level-toolbar.js.map +1 -1
  214. package/build/social-link/icons/index.js +13 -0
  215. package/build/social-link/icons/index.js.map +1 -1
  216. package/build/social-link/icons/whatsapp.js +25 -0
  217. package/build/social-link/icons/whatsapp.js.map +1 -0
  218. package/build/social-link/variations.js +7 -0
  219. package/build/social-link/variations.js.map +1 -1
  220. package/build/social-links/edit.js +1 -0
  221. package/build/social-links/edit.js.map +1 -1
  222. package/build/template-part/edit/index.js +21 -10
  223. package/build/template-part/edit/index.js.map +1 -1
  224. package/build/template-part/edit/selection-modal.js +33 -13
  225. package/build/template-part/edit/selection-modal.js.map +1 -1
  226. package/build/template-part/edit/utils/search.js +94 -0
  227. package/build/template-part/edit/utils/search.js.map +1 -0
  228. package/build/template-part/index.js +1 -1
  229. package/build/template-part/index.js.map +1 -1
  230. package/build/template-part/variations.js +0 -16
  231. package/build/template-part/variations.js.map +1 -1
  232. package/build/utils/clean-empty-object.js +5 -3
  233. package/build/utils/clean-empty-object.js.map +1 -1
  234. package/build/video/tracks-editor.js +9 -11
  235. package/build/video/tracks-editor.js.map +1 -1
  236. package/build-module/archives/edit.js +7 -0
  237. package/build-module/archives/edit.js.map +1 -1
  238. package/build-module/archives/index.js +4 -0
  239. package/build-module/archives/index.js.map +1 -1
  240. package/build-module/block/edit.js +5 -3
  241. package/build-module/block/edit.js.map +1 -1
  242. package/build-module/block/edit.native.js +5 -3
  243. package/build-module/block/edit.native.js.map +1 -1
  244. package/build-module/button/edit.js +2 -1
  245. package/build-module/button/edit.js.map +1 -1
  246. package/build-module/buttons/edit.js +2 -2
  247. package/build-module/buttons/edit.js.map +1 -1
  248. package/build-module/calendar/edit.js +12 -4
  249. package/build-module/calendar/edit.js.map +1 -1
  250. package/build-module/columns/edit.native.js +4 -3
  251. package/build-module/columns/edit.native.js.map +1 -1
  252. package/build-module/comment-template/index.js +1 -1
  253. package/build-module/comments/deprecated.js +54 -0
  254. package/build-module/comments/deprecated.js.map +1 -0
  255. package/build-module/comments/edit/comments-legacy.js +59 -0
  256. package/build-module/comments/edit/comments-legacy.js.map +1 -0
  257. package/build-module/comments/edit/index.js +37 -0
  258. package/build-module/comments/edit/index.js.map +1 -0
  259. package/build-module/comments/edit/placeholder.js +102 -0
  260. package/build-module/comments/edit/placeholder.js.map +1 -0
  261. package/build-module/comments/edit/template.js +32 -0
  262. package/build-module/comments/edit/template.js.map +1 -0
  263. package/build-module/comments/index.js +10 -3
  264. package/build-module/comments/index.js.map +1 -1
  265. package/build-module/comments/save.js +9 -4
  266. package/build-module/comments/save.js.map +1 -1
  267. package/build-module/comments-pagination/index.js +1 -1
  268. package/build-module/comments-title/deprecated.js +1 -1
  269. package/build-module/comments-title/index.js +1 -1
  270. package/build-module/cover/edit/block-controls.js +3 -13
  271. package/build-module/cover/edit/block-controls.js.map +1 -1
  272. package/build-module/cover/edit/cover-placeholder.js +3 -1
  273. package/build-module/cover/edit/cover-placeholder.js.map +1 -1
  274. package/build-module/cover/edit/index.js +19 -4
  275. package/build-module/cover/edit/index.js.map +1 -1
  276. package/build-module/cover/edit/resizable-cover.js +6 -0
  277. package/build-module/cover/edit/resizable-cover.js.map +1 -1
  278. package/build-module/cover/transforms.js +3 -2
  279. package/build-module/cover/transforms.js.map +1 -1
  280. package/build-module/embed/embed-placeholder.native.js +1 -2
  281. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  282. package/build-module/gallery/edit.js +11 -18
  283. package/build-module/gallery/edit.js.map +1 -1
  284. package/build-module/gallery/transforms.js +30 -20
  285. package/build-module/gallery/transforms.js.map +1 -1
  286. package/build-module/gallery/use-get-media.js +6 -16
  287. package/build-module/gallery/use-get-media.js.map +1 -1
  288. package/build-module/gallery/use-get-media.native.js +50 -0
  289. package/build-module/gallery/use-get-media.native.js.map +1 -0
  290. package/build-module/group/edit.js +1 -3
  291. package/build-module/group/edit.js.map +1 -1
  292. package/build-module/group/index.js +1 -0
  293. package/build-module/group/index.js.map +1 -1
  294. package/build-module/group/transforms.js +5 -0
  295. package/build-module/group/transforms.js.map +1 -1
  296. package/build-module/group/variations.js +2 -2
  297. package/build-module/group/variations.js.map +1 -1
  298. package/build-module/heading/heading-level-dropdown.js +2 -1
  299. package/build-module/heading/heading-level-dropdown.js.map +1 -1
  300. package/build-module/heading/index.js +9 -4
  301. package/build-module/heading/index.js.map +1 -1
  302. package/build-module/image/deprecated.js +77 -9
  303. package/build-module/image/deprecated.js.map +1 -1
  304. package/build-module/image/edit.js +5 -3
  305. package/build-module/image/edit.js.map +1 -1
  306. package/build-module/image/edit.native.js +18 -8
  307. package/build-module/image/edit.native.js.map +1 -1
  308. package/build-module/image/image.js +29 -22
  309. package/build-module/image/image.js.map +1 -1
  310. package/build-module/image/index.js +7 -1
  311. package/build-module/image/index.js.map +1 -1
  312. package/build-module/image/save.js +9 -3
  313. package/build-module/image/save.js.map +1 -1
  314. package/build-module/index.js +1 -2
  315. package/build-module/index.js.map +1 -1
  316. package/build-module/index.native.js +9 -7
  317. package/build-module/index.native.js.map +1 -1
  318. package/build-module/latest-posts/edit.js +2 -2
  319. package/build-module/latest-posts/edit.js.map +1 -1
  320. package/build-module/list/index.js +1 -1
  321. package/build-module/list/index.js.map +1 -1
  322. package/build-module/list/transforms.js +4 -63
  323. package/build-module/list/transforms.js.map +1 -1
  324. package/build-module/list/v2/edit.js +15 -5
  325. package/build-module/list/v2/edit.js.map +1 -1
  326. package/build-module/list/v2/tag-name.js +21 -0
  327. package/build-module/list/v2/tag-name.js.map +1 -0
  328. package/build-module/list/v2/tag-name.native.js +21 -0
  329. package/build-module/list/v2/tag-name.native.js.map +1 -0
  330. package/build-module/list/v2/transforms.js +3 -39
  331. package/build-module/list/v2/transforms.js.map +1 -1
  332. package/build-module/list-item/edit.js +15 -13
  333. package/build-module/list-item/edit.js.map +1 -1
  334. package/build-module/list-item/edit.native.js +141 -0
  335. package/build-module/list-item/edit.native.js.map +1 -0
  336. package/build-module/list-item/hooks/index.js +1 -1
  337. package/build-module/list-item/hooks/index.js.map +1 -1
  338. package/build-module/list-item/hooks/use-merge.js +160 -0
  339. package/build-module/list-item/hooks/use-merge.js.map +1 -0
  340. package/build-module/list-item/hooks/use-outdent-list-item.js +82 -46
  341. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  342. package/build-module/list-item/icons.native.js +37 -0
  343. package/build-module/list-item/icons.native.js.map +1 -0
  344. package/build-module/list-item/list-style-type.native.js +124 -0
  345. package/build-module/list-item/list-style-type.native.js.map +1 -0
  346. package/build-module/list-item/utils.js +123 -2
  347. package/build-module/list-item/utils.js.map +1 -1
  348. package/build-module/media-text/deprecated.js +267 -17
  349. package/build-module/media-text/deprecated.js.map +1 -1
  350. package/build-module/media-text/edit.js +4 -3
  351. package/build-module/media-text/edit.js.map +1 -1
  352. package/build-module/media-text/media-container.js +1 -1
  353. package/build-module/media-text/media-container.js.map +1 -1
  354. package/build-module/media-text/save.js +13 -0
  355. package/build-module/media-text/save.js.map +1 -1
  356. package/build-module/more/edit.js +2 -4
  357. package/build-module/more/edit.js.map +1 -1
  358. package/build-module/more/save.js +1 -6
  359. package/build-module/more/save.js.map +1 -1
  360. package/build-module/navigation/edit/index.js +66 -122
  361. package/build-module/navigation/edit/index.js.map +1 -1
  362. package/build-module/navigation/edit/navigation-menu-selector.js +12 -15
  363. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  364. package/build-module/navigation/edit/placeholder/index.js +4 -2
  365. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  366. package/build-module/navigation/edit/responsive-wrapper.js +12 -3
  367. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  368. package/build-module/navigation/edit/use-create-navigation-menu.js +5 -1
  369. package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
  370. package/build-module/navigation/edit/use-inner-blocks.js +33 -0
  371. package/build-module/navigation/edit/use-inner-blocks.js.map +1 -0
  372. package/build-module/navigation/edit/utils.js +21 -0
  373. package/build-module/navigation/edit/utils.js.map +1 -0
  374. package/build-module/navigation/use-navigation-menu.js +7 -3
  375. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  376. package/build-module/navigation/view.js +7 -4
  377. package/build-module/navigation/view.js.map +1 -1
  378. package/build-module/navigation-link/edit.js +5 -4
  379. package/build-module/navigation-link/edit.js.map +1 -1
  380. package/build-module/navigation-link/hooks.js +0 -13
  381. package/build-module/navigation-link/hooks.js.map +1 -1
  382. package/build-module/navigation-link/index.js +1 -1
  383. package/build-module/navigation-link/index.js.map +1 -1
  384. package/build-module/navigation-submenu/edit.js +2 -1
  385. package/build-module/navigation-submenu/edit.js.map +1 -1
  386. package/build-module/navigation-submenu/view.js +7 -4
  387. package/build-module/navigation-submenu/view.js.map +1 -1
  388. package/build-module/nextpage/edit.js +1 -3
  389. package/build-module/nextpage/edit.js.map +1 -1
  390. package/build-module/page-list/edit.js +10 -3
  391. package/build-module/page-list/edit.js.map +1 -1
  392. package/build-module/paragraph/edit.js +8 -12
  393. package/build-module/paragraph/edit.js.map +1 -1
  394. package/build-module/post-author/edit.js +5 -2
  395. package/build-module/post-author/edit.js.map +1 -1
  396. package/build-module/post-author-biography/edit.js +6 -1
  397. package/build-module/post-author-biography/edit.js.map +1 -1
  398. package/build-module/post-comments-form/edit.js +5 -44
  399. package/build-module/post-comments-form/edit.js.map +1 -1
  400. package/build-module/post-comments-form/form.js +46 -5
  401. package/build-module/post-comments-form/form.js.map +1 -1
  402. package/build-module/post-content/edit.js +5 -3
  403. package/build-module/post-content/edit.js.map +1 -1
  404. package/build-module/post-featured-image/edit.js +17 -3
  405. package/build-module/post-featured-image/edit.js.map +1 -1
  406. package/build-module/post-featured-image/index.js +9 -0
  407. package/build-module/post-featured-image/index.js.map +1 -1
  408. package/build-module/post-terms/edit.js +3 -2
  409. package/build-module/post-terms/edit.js.map +1 -1
  410. package/build-module/post-terms/index.js +1 -1
  411. package/build-module/post-terms/index.js.map +1 -1
  412. package/build-module/post-title/index.js +1 -0
  413. package/build-module/post-title/index.js.map +1 -1
  414. package/build-module/query/edit/inspector-controls/index.js +43 -10
  415. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  416. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +16 -12
  417. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  418. package/build-module/query/index.js +1 -1
  419. package/build-module/query/index.js.map +1 -1
  420. package/build-module/query-no-results/edit.js +2 -2
  421. package/build-module/query-no-results/edit.js.map +1 -1
  422. package/build-module/query-pagination-next/edit.js +2 -1
  423. package/build-module/query-pagination-next/edit.js.map +1 -1
  424. package/build-module/query-pagination-previous/edit.js +2 -1
  425. package/build-module/query-pagination-previous/edit.js.map +1 -1
  426. package/build-module/query-title/edit.js +20 -8
  427. package/build-module/query-title/edit.js.map +1 -1
  428. package/build-module/query-title/index.js +4 -0
  429. package/build-module/query-title/index.js.map +1 -1
  430. package/build-module/query-title/variations.js +10 -0
  431. package/build-module/query-title/variations.js.map +1 -1
  432. package/build-module/quote/deprecated.js +162 -36
  433. package/build-module/quote/deprecated.js.map +1 -1
  434. package/build-module/quote/edit.js +77 -43
  435. package/build-module/quote/edit.js.map +1 -1
  436. package/build-module/quote/index.js +9 -39
  437. package/build-module/quote/index.js.map +1 -1
  438. package/build-module/quote/save.js +4 -8
  439. package/build-module/quote/save.js.map +1 -1
  440. package/build-module/quote/transforms.js +111 -158
  441. package/build-module/quote/transforms.js.map +1 -1
  442. package/build-module/separator/edit.js +1 -1
  443. package/build-module/separator/edit.js.map +1 -1
  444. package/build-module/site-logo/edit.js +5 -13
  445. package/build-module/site-logo/edit.js.map +1 -1
  446. package/build-module/site-title/edit/level-toolbar.js +2 -1
  447. package/build-module/site-title/edit/level-toolbar.js.map +1 -1
  448. package/build-module/social-link/icons/index.js +1 -0
  449. package/build-module/social-link/icons/index.js.map +1 -1
  450. package/build-module/social-link/icons/whatsapp.js +15 -0
  451. package/build-module/social-link/icons/whatsapp.js.map +1 -0
  452. package/build-module/social-link/variations.js +8 -1
  453. package/build-module/social-link/variations.js.map +1 -1
  454. package/build-module/social-links/edit.js +1 -0
  455. package/build-module/social-links/edit.js.map +1 -1
  456. package/build-module/template-part/edit/index.js +24 -13
  457. package/build-module/template-part/edit/index.js.map +1 -1
  458. package/build-module/template-part/edit/selection-modal.js +33 -15
  459. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  460. package/build-module/template-part/edit/utils/search.js +84 -0
  461. package/build-module/template-part/edit/utils/search.js.map +1 -0
  462. package/build-module/template-part/index.js +1 -1
  463. package/build-module/template-part/index.js.map +1 -1
  464. package/build-module/template-part/variations.js +0 -13
  465. package/build-module/template-part/variations.js.map +1 -1
  466. package/build-module/utils/clean-empty-object.js +5 -2
  467. package/build-module/utils/clean-empty-object.js.map +1 -1
  468. package/build-module/video/tracks-editor.js +9 -11
  469. package/build-module/video/tracks-editor.js.map +1 -1
  470. package/build-style/button/style-rtl.css +1 -1
  471. package/build-style/button/style.css +1 -1
  472. package/build-style/comment-template/style-rtl.css +12 -0
  473. package/build-style/comment-template/style.css +12 -0
  474. package/build-style/comments/editor-rtl.css +122 -0
  475. package/build-style/comments/editor.css +122 -0
  476. package/build-style/{post-comments → comments}/style-rtl.css +1 -0
  477. package/build-style/{post-comments → comments}/style.css +1 -0
  478. package/build-style/common-rtl.css +7 -0
  479. package/build-style/common.css +7 -0
  480. package/build-style/cover/style-rtl.css +2 -2
  481. package/build-style/cover/style.css +2 -2
  482. package/build-style/editor-elements-rtl.css +85 -0
  483. package/build-style/editor-elements.css +85 -0
  484. package/build-style/editor-rtl.css +162 -11
  485. package/build-style/editor.css +162 -11
  486. package/build-style/{post-comments/editor-rtl.css → elements-rtl.css} +5 -2
  487. package/build-style/{post-comments/editor.css → elements.css} +5 -2
  488. package/build-style/gallery/style-rtl.css +7 -2
  489. package/build-style/gallery/style.css +7 -2
  490. package/build-style/image/editor-rtl.css +4 -3
  491. package/build-style/image/editor.css +4 -3
  492. package/build-style/image/style-rtl.css +33 -3
  493. package/build-style/image/style.css +33 -3
  494. package/build-style/latest-posts/editor-rtl.css +3 -0
  495. package/build-style/latest-posts/editor.css +3 -0
  496. package/build-style/navigation/style-rtl.css +17 -19
  497. package/build-style/navigation/style.css +17 -19
  498. package/build-style/post-comments-form/style-rtl.css +0 -1
  499. package/build-style/post-comments-form/style.css +0 -1
  500. package/build-style/query/editor-rtl.css +8 -1
  501. package/build-style/query/editor.css +8 -1
  502. package/build-style/query-pagination/style-rtl.css +6 -0
  503. package/build-style/query-pagination/style.css +6 -0
  504. package/build-style/search/style-rtl.css +2 -0
  505. package/build-style/search/style.css +2 -0
  506. package/build-style/search/theme-rtl.css +5 -0
  507. package/build-style/search/theme.css +5 -0
  508. package/build-style/social-link/editor-rtl.css +1 -0
  509. package/build-style/social-link/editor.css +1 -0
  510. package/build-style/social-links/style-rtl.css +8 -0
  511. package/build-style/social-links/style.css +8 -0
  512. package/build-style/style-rtl.css +208 -139
  513. package/build-style/style.css +208 -139
  514. package/build-style/tag-cloud/style-rtl.css +1 -0
  515. package/build-style/tag-cloud/style.css +1 -0
  516. package/build-style/template-part/editor-rtl.css +14 -3
  517. package/build-style/template-part/editor.css +14 -3
  518. package/build-style/theme-rtl.css +5 -0
  519. package/build-style/theme.css +5 -0
  520. package/package.json +28 -29
  521. package/src/archives/block.json +4 -0
  522. package/src/archives/edit.js +12 -1
  523. package/src/archives/index.php +5 -3
  524. package/src/audio/test/__snapshots__/edit.native.js.snap +16 -2
  525. package/src/block/edit.js +4 -4
  526. package/src/block/edit.native.js +4 -4
  527. package/src/button/edit.js +1 -0
  528. package/src/button/style.scss +3 -1
  529. package/src/buttons/edit.js +1 -5
  530. package/src/calendar/edit.js +11 -4
  531. package/src/columns/edit.native.js +5 -3
  532. package/src/comment-template/block.json +1 -1
  533. package/src/comment-template/style.scss +14 -0
  534. package/src/comments/block.json +7 -2
  535. package/src/comments/deprecated.js +53 -0
  536. package/src/comments/edit/comments-legacy.js +71 -0
  537. package/src/comments/edit/index.js +35 -0
  538. package/src/comments/edit/placeholder.js +124 -0
  539. package/src/comments/{edit.js → edit/template.js} +1 -28
  540. package/src/comments/editor.scss +9 -0
  541. package/src/comments/index.js +2 -0
  542. package/src/comments/index.php +219 -0
  543. package/src/comments/save.js +8 -7
  544. package/src/{post-comments → comments}/style.scss +7 -0
  545. package/src/comments-pagination/block.json +1 -1
  546. package/src/comments-title/block.json +1 -1
  547. package/src/common.scss +2 -0
  548. package/src/cover/edit/block-controls.js +4 -20
  549. package/src/cover/edit/cover-placeholder.js +2 -0
  550. package/src/cover/edit/index.js +16 -0
  551. package/src/cover/edit/resizable-cover.js +6 -0
  552. package/src/cover/index.php +2 -2
  553. package/src/cover/style.scss +2 -2
  554. package/src/cover/transforms.js +2 -2
  555. package/src/editor-elements.scss +10 -0
  556. package/src/editor.scss +2 -1
  557. package/src/elements.scss +6 -0
  558. package/src/embed/embed-placeholder.native.js +2 -3
  559. package/src/file/test/__snapshots__/edit.native.js.snap +32 -4
  560. package/src/gallery/edit.js +12 -23
  561. package/src/gallery/index.php +1 -1
  562. package/src/gallery/style.scss +10 -1
  563. package/src/gallery/transforms.js +25 -10
  564. package/src/gallery/use-get-media.js +11 -28
  565. package/src/gallery/use-get-media.native.js +44 -0
  566. package/src/group/block.json +1 -0
  567. package/src/group/edit.js +1 -3
  568. package/src/group/transforms.js +7 -0
  569. package/src/group/variations.js +2 -2
  570. package/src/heading/heading-level-dropdown.js +1 -0
  571. package/src/heading/index.js +8 -2
  572. package/src/home-link/index.php +8 -17
  573. package/src/image/block.json +7 -1
  574. package/src/image/deprecated.js +86 -0
  575. package/src/image/edit.js +6 -1
  576. package/src/image/edit.native.js +18 -7
  577. package/src/image/editor.scss +9 -4
  578. package/src/image/image.js +26 -16
  579. package/src/image/save.js +10 -1
  580. package/src/image/style.scss +39 -3
  581. package/src/image/test/edit.native.js +6 -10
  582. package/src/index.js +0 -2
  583. package/src/index.native.js +11 -7
  584. package/src/latest-posts/edit.js +2 -6
  585. package/src/latest-posts/editor.scss +5 -0
  586. package/src/list/index.js +1 -1
  587. package/src/list/test/__snapshots__/edit.native.js.snap +133 -0
  588. package/src/list/test/edit.native.js +511 -7
  589. package/src/list/transforms.js +0 -47
  590. package/src/list/v2/edit.js +12 -4
  591. package/src/list/v2/tag-name.js +13 -0
  592. package/src/list/v2/tag-name.native.js +12 -0
  593. package/src/list/v2/transforms.js +3 -49
  594. package/src/list-item/edit.js +11 -13
  595. package/src/list-item/edit.native.js +148 -0
  596. package/src/list-item/hooks/index.js +1 -1
  597. package/src/list-item/hooks/use-merge.js +141 -0
  598. package/src/list-item/hooks/use-outdent-list-item.js +72 -74
  599. package/src/list-item/icons.native.js +34 -0
  600. package/src/list-item/list-style-type.native.js +139 -0
  601. package/src/list-item/style.native.scss +45 -0
  602. package/src/list-item/utils.js +27 -3
  603. package/src/media-text/deprecated.js +581 -288
  604. package/src/media-text/edit.js +3 -1
  605. package/src/media-text/media-container.js +3 -1
  606. package/src/media-text/save.js +18 -0
  607. package/src/media-text/test/media-container.js +24 -0
  608. package/src/more/edit.js +9 -11
  609. package/src/more/save.js +3 -6
  610. package/src/navigation/edit/index.js +83 -164
  611. package/src/navigation/edit/navigation-menu-selector.js +12 -26
  612. package/src/navigation/edit/placeholder/index.js +4 -2
  613. package/src/navigation/edit/responsive-wrapper.js +24 -3
  614. package/src/navigation/edit/use-create-navigation-menu.js +4 -0
  615. package/src/navigation/edit/use-inner-blocks.js +39 -0
  616. package/src/navigation/edit/utils.js +30 -0
  617. package/src/navigation/index.php +6 -0
  618. package/src/navigation/style.scss +13 -23
  619. package/src/navigation/use-navigation-menu.js +9 -5
  620. package/src/navigation/view.js +6 -6
  621. package/src/navigation-link/edit.js +4 -3
  622. package/src/navigation-link/hooks.js +0 -14
  623. package/src/navigation-link/index.js +1 -1
  624. package/src/navigation-link/index.php +1 -1
  625. package/src/navigation-link/test/__snapshots__/hooks.js.snap +0 -93
  626. package/src/navigation-link/test/hooks.js +0 -12
  627. package/src/navigation-submenu/edit.js +1 -0
  628. package/src/navigation-submenu/index.php +1 -1
  629. package/src/navigation-submenu/view.js +6 -6
  630. package/src/nextpage/edit.js +1 -3
  631. package/src/page-list/edit.js +12 -5
  632. package/src/page-list/index.php +4 -4
  633. package/src/paragraph/edit.js +8 -14
  634. package/src/post-author/edit.js +6 -3
  635. package/src/post-author-biography/edit.js +4 -1
  636. package/src/post-comments-form/edit.js +2 -74
  637. package/src/post-comments-form/form.js +80 -5
  638. package/src/post-comments-form/index.php +1 -1
  639. package/src/post-comments-form/style.scss +0 -1
  640. package/src/post-content/edit.js +4 -4
  641. package/src/post-featured-image/block.json +9 -0
  642. package/src/post-featured-image/edit.js +23 -1
  643. package/src/post-featured-image/index.php +3 -1
  644. package/src/post-template/index.php +8 -14
  645. package/src/post-terms/edit.js +3 -2
  646. package/src/post-terms/index.js +1 -1
  647. package/src/post-title/block.json +1 -0
  648. package/src/post-title/index.php +2 -1
  649. package/src/preformatted/test/__snapshots__/edit.native.js.snap +16 -2
  650. package/src/query/edit/inspector-controls/index.js +129 -65
  651. package/src/query/edit/inspector-controls/taxonomy-controls.js +17 -10
  652. package/src/query/editor.scss +10 -1
  653. package/src/query/index.js +1 -1
  654. package/src/query-no-results/edit.js +2 -5
  655. package/src/query-no-results/index.php +10 -8
  656. package/src/query-pagination/style.scss +14 -0
  657. package/src/query-pagination-next/edit.js +1 -0
  658. package/src/query-pagination-previous/edit.js +1 -0
  659. package/src/query-title/block.json +4 -0
  660. package/src/query-title/edit.js +33 -6
  661. package/src/query-title/index.php +17 -1
  662. package/src/query-title/variations.js +13 -0
  663. package/src/quote/deprecated.js +213 -99
  664. package/src/quote/edit.js +77 -52
  665. package/src/quote/index.js +10 -33
  666. package/src/quote/save.js +5 -5
  667. package/src/quote/{v2/test → test}/migrate.js +2 -7
  668. package/src/quote/transforms.js +113 -147
  669. package/src/search/style.scss +2 -0
  670. package/src/search/test/__snapshots__/edit.native.js.snap +56 -7
  671. package/src/search/theme.scss +5 -0
  672. package/src/separator/edit.js +1 -1
  673. package/src/separator/test/edit.js +5 -3
  674. package/src/site-logo/edit.js +2 -11
  675. package/src/site-title/edit/level-toolbar.js +1 -0
  676. package/src/site-title/index.php +8 -9
  677. package/src/social-link/editor.scss +3 -0
  678. package/src/social-link/icons/index.js +1 -0
  679. package/src/social-link/icons/whatsapp.js +10 -0
  680. package/src/social-link/index.php +21 -1
  681. package/src/social-link/socials-with-bg.scss +5 -0
  682. package/src/social-link/socials-without-bg.scss +5 -0
  683. package/src/social-link/variations.js +7 -0
  684. package/src/social-links/edit.js +1 -0
  685. package/src/style.scss +1 -1
  686. package/src/tag-cloud/style.scss +1 -0
  687. package/src/template-part/edit/index.js +40 -27
  688. package/src/template-part/edit/selection-modal.js +68 -40
  689. package/src/template-part/edit/utils/search.js +76 -0
  690. package/src/template-part/editor.scss +21 -9
  691. package/src/template-part/index.js +1 -1
  692. package/src/template-part/index.php +56 -2
  693. package/src/template-part/variations.js +0 -11
  694. package/src/utils/clean-empty-object.js +8 -2
  695. package/src/video/tracks-editor.js +1 -1
  696. package/build/comments/edit.js.map +0 -1
  697. package/build/gallery/use-short-code-transform.js +0 -64
  698. package/build/gallery/use-short-code-transform.js.map +0 -1
  699. package/build/list-item/hooks/use-backspace.js +0 -59
  700. package/build/list-item/hooks/use-backspace.js.map +0 -1
  701. package/build/navigation-link/fallback-variations.js +0 -75
  702. package/build/navigation-link/fallback-variations.js.map +0 -1
  703. package/build/post-comments/edit.js +0 -184
  704. package/build/post-comments/edit.js.map +0 -1
  705. package/build/post-comments/index.js +0 -72
  706. package/build/post-comments/index.js.map +0 -1
  707. package/build/quote/v2/deprecated.js +0 -133
  708. package/build/quote/v2/deprecated.js.map +0 -1
  709. package/build/quote/v2/edit.js +0 -139
  710. package/build/quote/v2/edit.js.map +0 -1
  711. package/build/quote/v2/index.js +0 -49
  712. package/build/quote/v2/index.js.map +0 -1
  713. package/build/quote/v2/save.js +0 -43
  714. package/build/quote/v2/save.js.map +0 -1
  715. package/build/quote/v2/transforms.js +0 -156
  716. package/build/quote/v2/transforms.js.map +0 -1
  717. package/build/template-part/fallback-variations.js +0 -59
  718. package/build/template-part/fallback-variations.js.map +0 -1
  719. package/build-module/comments/edit.js +0 -59
  720. package/build-module/comments/edit.js.map +0 -1
  721. package/build-module/gallery/use-short-code-transform.js +0 -54
  722. package/build-module/gallery/use-short-code-transform.js.map +0 -1
  723. package/build-module/list-item/hooks/use-backspace.js +0 -44
  724. package/build-module/list-item/hooks/use-backspace.js.map +0 -1
  725. package/build-module/navigation-link/fallback-variations.js +0 -65
  726. package/build-module/navigation-link/fallback-variations.js.map +0 -1
  727. package/build-module/post-comments/edit.js +0 -171
  728. package/build-module/post-comments/edit.js.map +0 -1
  729. package/build-module/post-comments/index.js +0 -59
  730. package/build-module/post-comments/index.js.map +0 -1
  731. package/build-module/quote/v2/deprecated.js +0 -116
  732. package/build-module/quote/v2/deprecated.js.map +0 -1
  733. package/build-module/quote/v2/edit.js +0 -122
  734. package/build-module/quote/v2/edit.js.map +0 -1
  735. package/build-module/quote/v2/index.js +0 -33
  736. package/build-module/quote/v2/index.js.map +0 -1
  737. package/build-module/quote/v2/save.js +0 -30
  738. package/build-module/quote/v2/save.js.map +0 -1
  739. package/build-module/quote/v2/transforms.js +0 -147
  740. package/build-module/quote/v2/transforms.js.map +0 -1
  741. package/build-module/template-part/fallback-variations.js +0 -47
  742. package/build-module/template-part/fallback-variations.js.map +0 -1
  743. package/src/gallery/use-short-code-transform.js +0 -55
  744. package/src/list-item/hooks/use-backspace.js +0 -51
  745. package/src/navigation-link/fallback-variations.js +0 -65
  746. package/src/post-comments/block.json +0 -45
  747. package/src/post-comments/edit.js +0 -247
  748. package/src/post-comments/editor.scss +0 -3
  749. package/src/post-comments/index.js +0 -18
  750. package/src/post-comments/index.php +0 -87
  751. package/src/quote/v2/deprecated.js +0 -107
  752. package/src/quote/v2/edit.js +0 -139
  753. package/src/quote/v2/index.js +0 -36
  754. package/src/quote/v2/save.js +0 -26
  755. package/src/quote/v2/transforms.js +0 -155
  756. package/src/template-part/fallback-variations.js +0 -51
@@ -51,7 +51,6 @@ import {
51
51
  LINK_DESTINATION_NONE,
52
52
  } from './constants';
53
53
  import useImageSizes from './use-image-sizes';
54
- import useShortCodeTransform from './use-short-code-transform';
55
54
  import useGetNewImages from './use-get-new-images';
56
55
  import useGetMedia from './use-get-media';
57
56
  import GapStyles from './gap-styles';
@@ -87,14 +86,7 @@ function GalleryEdit( props ) {
87
86
  insertBlocksAfter,
88
87
  } = props;
89
88
 
90
- const {
91
- columns,
92
- imageCrop,
93
- linkTarget,
94
- linkTo,
95
- shortCodeTransforms,
96
- sizeSlug,
97
- } = attributes;
89
+ const { columns, imageCrop, linkTarget, linkTo, sizeSlug } = attributes;
98
90
 
99
91
  const {
100
92
  __unstableMarkNextChangeAsNotPersistent,
@@ -151,6 +143,8 @@ function GalleryEdit( props ) {
151
143
 
152
144
  useEffect( () => {
153
145
  newImages?.forEach( ( newImage ) => {
146
+ // Update the images data without creating new undo levels.
147
+ __unstableMarkNextChangeAsNotPersistent();
154
148
  updateBlockAttributes( newImage.clientId, {
155
149
  ...buildImageAttributes( newImage.attributes ),
156
150
  id: newImage.id,
@@ -162,16 +156,6 @@ function GalleryEdit( props ) {
162
156
  }
163
157
  }, [ newImages ] );
164
158
 
165
- const shortCodeImages = useShortCodeTransform( shortCodeTransforms );
166
-
167
- useEffect( () => {
168
- if ( ! shortCodeTransforms || ! shortCodeImages ) {
169
- return;
170
- }
171
- updateImages( shortCodeImages );
172
- setAttributes( { shortCodeTransforms: undefined } );
173
- }, [ shortCodeTransforms, shortCodeImages ] );
174
-
175
159
  const imageSizeOptions = useImageSizes(
176
160
  imageData,
177
161
  isSelected,
@@ -208,8 +192,9 @@ function GalleryEdit( props ) {
208
192
  ...getHrefAndDestination( image, linkTo ),
209
193
  ...getUpdatedLinkTargetSettings( linkTarget, attributes ),
210
194
  className: newClassName,
211
- caption: imageAttributes.caption,
212
195
  sizeSlug,
196
+ caption: imageAttributes.caption || image.caption?.raw,
197
+ alt: imageAttributes.alt || image.alt_text,
213
198
  };
214
199
  }
215
200
 
@@ -429,8 +414,10 @@ function GalleryEdit( props ) {
429
414
 
430
415
  const hasImages = !! images.length;
431
416
  const hasImageIds = hasImages && images.some( ( image ) => !! image.id );
432
- const imagesUploading = images.some(
433
- ( img ) => ! img.id && img.url?.indexOf( 'blob:' ) === 0
417
+ const imagesUploading = images.some( ( img ) =>
418
+ ! Platform.isNative
419
+ ? ! img.id && img.url?.indexOf( 'blob:' ) === 0
420
+ : img.url?.indexOf( 'file:' ) === 0
434
421
  );
435
422
 
436
423
  // MediaPlaceholder props are different between web and native hence, we provide a platform-specific set.
@@ -547,7 +534,9 @@ function GalleryEdit( props ) {
547
534
  onSelect={ updateImages }
548
535
  name={ __( 'Add' ) }
549
536
  multiple={ true }
550
- mediaIds={ images.map( ( image ) => image.id ) }
537
+ mediaIds={ images
538
+ .filter( ( image ) => image.id )
539
+ .map( ( image ) => image.id ) }
551
540
  addToGallery={ hasImageIds }
552
541
  />
553
542
  </BlockControls>
@@ -81,7 +81,7 @@ function block_core_gallery_render( $attributes, $content ) {
81
81
  }
82
82
 
83
83
  // Set the CSS variable to the column value, and the `gap` property to the combined gap value.
84
- $style = '.' . $class . '{ --wp--style--unstable-gallery-gap: ' . $gap_column . '; gap: ' . $gap_value . '}';
84
+ $style = '.wp-block-gallery.' . $class . '{ --wp--style--unstable-gallery-gap: ' . $gap_column . '; gap: ' . $gap_value . '}';
85
85
 
86
86
  gutenberg_enqueue_block_support_styles( $style, 11 );
87
87
  return $content;
@@ -22,6 +22,10 @@ figure.wp-block-gallery.has-nested-images {
22
22
  position: relative;
23
23
  flex-direction: column;
24
24
  max-width: 100%;
25
+ // Prevents theme.json and global styles borders that apply to the outer
26
+ // wrapper from incorrectly enlarging gallery images to a point they
27
+ // result in a single column gallery.
28
+ box-sizing: border-box;
25
29
 
26
30
  > div,
27
31
  > a {
@@ -63,7 +67,12 @@ figure.wp-block-gallery.has-nested-images {
63
67
  }
64
68
  }
65
69
 
66
- &.is-style-rounded {
70
+ &.has-custom-border img {
71
+ box-sizing: border-box;
72
+ }
73
+
74
+ &.is-style-rounded,
75
+ &.has-custom-border {
67
76
  > div,
68
77
  > a {
69
78
  flex: 1 1 auto;
@@ -195,16 +195,6 @@ const transforms = {
195
195
  }
196
196
  },
197
197
  },
198
- shortCodeTransforms: {
199
- type: 'array',
200
- shortcode: ( { named: { ids } } ) => {
201
- if ( isGalleryV2Enabled() ) {
202
- return parseShortcodeIds( ids ).map( ( id ) => ( {
203
- id: parseInt( id ),
204
- } ) );
205
- }
206
- },
207
- },
208
198
  columns: {
209
199
  type: 'number',
210
200
  shortcode: ( { named: { columns = '3' } } ) => {
@@ -235,6 +225,31 @@ const transforms = {
235
225
  },
236
226
  },
237
227
  },
228
+ transform( { named: { ids, columns = 3, link } } ) {
229
+ const imageIds = parseShortcodeIds( ids ).map( ( id ) =>
230
+ parseInt( id, 10 )
231
+ );
232
+
233
+ let linkTo = LINK_DESTINATION_NONE;
234
+ if ( link === 'post' ) {
235
+ linkTo = LINK_DESTINATION_ATTACHMENT;
236
+ } else if ( link === 'file' ) {
237
+ linkTo = LINK_DESTINATION_MEDIA;
238
+ }
239
+
240
+ const galleryBlock = createBlock(
241
+ 'core/gallery',
242
+ {
243
+ columns: parseInt( columns, 10 ),
244
+ linkTo,
245
+ },
246
+ imageIds.map( ( imageId ) =>
247
+ createBlock( 'core/image', { id: imageId } )
248
+ )
249
+ );
250
+
251
+ return galleryBlock;
252
+ },
238
253
  isMatch( { named } ) {
239
254
  return undefined !== named.ids;
240
255
  },
@@ -1,10 +1,11 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { useState } from '@wordpress/element';
5
4
  import { useSelect } from '@wordpress/data';
6
5
  import { store as coreStore } from '@wordpress/core-data';
7
6
 
7
+ const EMPTY_IMAGE_MEDIA = [];
8
+
8
9
  /**
9
10
  * Retrieves the extended media info for each gallery image from the store. This is used to
10
11
  * determine which image size options are available for the current gallery.
@@ -14,42 +15,24 @@ import { store as coreStore } from '@wordpress/core-data';
14
15
  * @return {Array} An array of media info options for each gallery image.
15
16
  */
16
17
  export default function useGetMedia( innerBlockImages ) {
17
- const [ currentImageMedia, setCurrentImageMedia ] = useState( [] );
18
-
19
- const imageMedia = useSelect(
18
+ return useSelect(
20
19
  ( select ) => {
21
- if ( ! innerBlockImages?.length ) {
22
- return currentImageMedia;
23
- }
24
-
25
20
  const imageIds = innerBlockImages
26
21
  .map( ( imageBlock ) => imageBlock.attributes.id )
27
22
  .filter( ( id ) => id !== undefined );
28
23
 
29
24
  if ( imageIds.length === 0 ) {
30
- return currentImageMedia;
25
+ return EMPTY_IMAGE_MEDIA;
31
26
  }
32
27
 
33
- return select( coreStore ).getMediaItems( {
34
- include: imageIds.join( ',' ),
35
- per_page: imageIds.length,
36
- orderby: 'include',
37
- } );
28
+ return (
29
+ select( coreStore ).getMediaItems( {
30
+ include: imageIds.join( ',' ),
31
+ per_page: imageIds.length,
32
+ orderby: 'include',
33
+ } ) ?? EMPTY_IMAGE_MEDIA
34
+ );
38
35
  },
39
36
  [ innerBlockImages ]
40
37
  );
41
-
42
- if (
43
- imageMedia?.length !== currentImageMedia?.length ||
44
- imageMedia?.some(
45
- ( newImage ) =>
46
- ! currentImageMedia.find(
47
- ( currentImage ) => currentImage.id === newImage.id
48
- )
49
- )
50
- ) {
51
- setCurrentImageMedia( imageMedia );
52
- return imageMedia;
53
- }
54
- return currentImageMedia;
55
38
  }
@@ -0,0 +1,44 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useSelect } from '@wordpress/data';
5
+ import { store as coreStore } from '@wordpress/core-data';
6
+
7
+ const EMPTY_IMAGE_MEDIA = [];
8
+
9
+ /**
10
+ * Retrieves the extended media info for each gallery image from the store. This is used to
11
+ * determine which image size options are available for the current gallery.
12
+ *
13
+ * @param {Array} innerBlockImages An array of the innerBlock images currently in the gallery.
14
+ *
15
+ * @return {Array} An array of media info options for each gallery image.
16
+ */
17
+ export default function useGetMedia( innerBlockImages ) {
18
+ return useSelect(
19
+ ( select ) => {
20
+ const imagesUploading = innerBlockImages.some(
21
+ ( { attributes } ) => attributes?.url?.indexOf( 'file:' ) === 0
22
+ );
23
+ const imageIds = innerBlockImages
24
+ .filter( ( { attributes } ) => {
25
+ const { id, url } = attributes;
26
+ return id !== undefined && url?.indexOf( 'file:' ) !== 0;
27
+ } )
28
+ .map( ( imageBlock ) => imageBlock.attributes.id );
29
+
30
+ if ( imageIds.length === 0 || imagesUploading ) {
31
+ return EMPTY_IMAGE_MEDIA;
32
+ }
33
+
34
+ return (
35
+ select( coreStore ).getMediaItems( {
36
+ include: imageIds.join( ',' ),
37
+ per_page: imageIds.length,
38
+ orderby: 'include',
39
+ } ) ?? EMPTY_IMAGE_MEDIA
40
+ );
41
+ },
42
+ [ innerBlockImages ]
43
+ );
44
+ }
@@ -18,6 +18,7 @@
18
18
  }
19
19
  },
20
20
  "supports": {
21
+ "__experimentalOnEnter": true,
21
22
  "__experimentalSettings": true,
22
23
  "align": [ "wide", "full" ],
23
24
  "anchor": true,
package/src/group/edit.js CHANGED
@@ -52,9 +52,7 @@ function GroupEdit( { attributes, setAttributes, clientId } ) {
52
52
  const { type = 'default' } = usedLayout;
53
53
  const layoutSupportEnabled = themeSupportsLayout || type !== 'default';
54
54
 
55
- const blockProps = useBlockProps( {
56
- className: `is-layout-${ type }`,
57
- } );
55
+ const blockProps = useBlockProps();
58
56
 
59
57
  const innerBlocksProps = useInnerBlocksProps(
60
58
  layoutSupportEnabled
@@ -47,6 +47,13 @@ const transforms = {
47
47
  },
48
48
  },
49
49
  ],
50
+ to: [
51
+ {
52
+ type: 'block',
53
+ blocks: [ '*' ],
54
+ transform: ( attributes, innerBlocks ) => innerBlocks,
55
+ },
56
+ ],
50
57
  };
51
58
 
52
59
  export default transforms;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { __ } from '@wordpress/i18n';
4
+ import { __, _x } from '@wordpress/i18n';
5
5
  import { group, row, stack } from '@wordpress/icons';
6
6
 
7
7
  const variations = [
@@ -19,7 +19,7 @@ const variations = [
19
19
  },
20
20
  {
21
21
  name: 'group-row',
22
- title: __( 'Row' ),
22
+ title: _x( 'Row', 'single horizontal line' ),
23
23
  description: __( 'Arrange blocks horizontally.' ),
24
24
  attributes: { layout: { type: 'flex', flexWrap: 'nowrap' } },
25
25
  scope: [ 'inserter', 'transform' ],
@@ -60,6 +60,7 @@ export default function HeadingLevelDropdown( { selectedLevel, onChange } ) {
60
60
  onClick() {
61
61
  onChange( targetLevel );
62
62
  },
63
+ role: 'menuitemradio',
63
64
  };
64
65
  }
65
66
  } ) }
@@ -31,9 +31,15 @@ export const settings = {
31
31
  },
32
32
  },
33
33
  __experimentalLabel( attributes, { context } ) {
34
- if ( context === 'accessibility' ) {
35
- const { content, level } = attributes;
34
+ const { content, level } = attributes;
35
+
36
+ // In the list view, use the block's content as the label.
37
+ // If the content is empty, fall back to the default label.
38
+ if ( context === 'list-view' && content ) {
39
+ return content;
40
+ }
36
41
 
42
+ if ( context === 'accessibility' ) {
37
43
  return isEmpty( content )
38
44
  ? sprintf(
39
45
  /* translators: accessibility text. %s: heading level. */
@@ -89,7 +89,7 @@ function block_core_home_link_build_css_font_sizes( $context ) {
89
89
  * Builds an array with classes and style for the li wrapper
90
90
  *
91
91
  * @param array $context Home link block context.
92
- * @return array The li wrapper attributes.
92
+ * @return string The li wrapper attributes.
93
93
  */
94
94
  function block_core_home_link_build_li_wrapper_attributes( $context ) {
95
95
  $colors = block_core_home_link_build_css_colors( $context );
@@ -125,24 +125,15 @@ function render_block_core_home_link( $attributes, $content, $block ) {
125
125
  return '';
126
126
  }
127
127
 
128
- $wrapper_attributes = block_core_home_link_build_li_wrapper_attributes( $block->context );
129
-
130
128
  $aria_current = is_home() || ( is_front_page() && 'page' === get_option( 'show_on_front' ) ) ? ' aria-current="page"' : '';
131
129
 
132
- $html = '<li ' . $wrapper_attributes . '><a class="wp-block-home-link__content wp-block-navigation-item__content" rel="home"' . $aria_current;
133
-
134
- // Start appending HTML attributes to anchor tag.
135
- $html .= ' href="' . esc_url( home_url() ) . '"';
136
-
137
- // End appending HTML attributes to anchor tag.
138
- $html .= '>';
139
-
140
- if ( isset( $attributes['label'] ) ) {
141
- $html .= wp_kses_post( $attributes['label'] );
142
- }
143
-
144
- $html .= '</a></li>';
145
- return $html;
130
+ return sprintf(
131
+ '<li %1$s><a class="wp-block-home-link__content wp-block-navigation-item__content" href="%2$s" "rel="home"%3$s>%4$s</a><li>',
132
+ block_core_home_link_build_li_wrapper_attributes( $block->context ),
133
+ esc_url( home_url() ),
134
+ $aria_current,
135
+ wp_kses_post( $attributes['label'] )
136
+ );
146
137
  }
147
138
 
148
139
  /**
@@ -84,9 +84,15 @@
84
84
  "background": false
85
85
  },
86
86
  "__experimentalBorder": {
87
+ "color": true,
87
88
  "radius": true,
89
+ "width": true,
90
+ "__experimentalSelector": "img, .wp-block-image__crop-area",
91
+ "__experimentalSkipSerialization": true,
88
92
  "__experimentalDefaultControls": {
89
- "radius": true
93
+ "color": true,
94
+ "radius": true,
95
+ "width": true
90
96
  }
91
97
  },
92
98
  "__experimentalStyle": {
@@ -31,6 +31,12 @@ const blockAttributes = {
31
31
  source: 'html',
32
32
  selector: 'figcaption',
33
33
  },
34
+ title: {
35
+ type: 'string',
36
+ source: 'attribute',
37
+ selector: 'img',
38
+ attribute: 'title',
39
+ },
34
40
  href: {
35
41
  type: 'string',
36
42
  source: 'attribute',
@@ -58,6 +64,9 @@ const blockAttributes = {
58
64
  height: {
59
65
  type: 'number',
60
66
  },
67
+ sizeSlug: {
68
+ type: 'string',
69
+ },
61
70
  linkDestination: {
62
71
  type: 'string',
63
72
  },
@@ -85,6 +94,83 @@ const blockSupports = {
85
94
  };
86
95
 
87
96
  const deprecated = [
97
+ // The following deprecation moves existing border radius styles onto the
98
+ // inner img element where new border block support styles must be applied.
99
+ // It will also add a new `.has-custom-border` class for existing blocks
100
+ // with border radii set. This class is required to improve caption position
101
+ // and styling when an image within a gallery has a custom border or
102
+ // rounded corners.
103
+ //
104
+ // See: https://github.com/WordPress/gutenberg/pull/31366/
105
+ {
106
+ attributes: blockAttributes,
107
+ supports: blockSupports,
108
+ save( { attributes } ) {
109
+ const {
110
+ url,
111
+ alt,
112
+ caption,
113
+ align,
114
+ href,
115
+ rel,
116
+ linkClass,
117
+ width,
118
+ height,
119
+ id,
120
+ linkTarget,
121
+ sizeSlug,
122
+ title,
123
+ } = attributes;
124
+
125
+ const newRel = isEmpty( rel ) ? undefined : rel;
126
+
127
+ const classes = classnames( {
128
+ [ `align${ align }` ]: align,
129
+ [ `size-${ sizeSlug }` ]: sizeSlug,
130
+ 'is-resized': width || height,
131
+ } );
132
+
133
+ const image = (
134
+ <img
135
+ src={ url }
136
+ alt={ alt }
137
+ className={ id ? `wp-image-${ id }` : null }
138
+ width={ width }
139
+ height={ height }
140
+ title={ title }
141
+ />
142
+ );
143
+
144
+ const figure = (
145
+ <>
146
+ { href ? (
147
+ <a
148
+ className={ linkClass }
149
+ href={ href }
150
+ target={ linkTarget }
151
+ rel={ newRel }
152
+ >
153
+ { image }
154
+ </a>
155
+ ) : (
156
+ image
157
+ ) }
158
+ { ! RichText.isEmpty( caption ) && (
159
+ <RichText.Content
160
+ tagName="figcaption"
161
+ value={ caption }
162
+ />
163
+ ) }
164
+ </>
165
+ );
166
+
167
+ return (
168
+ <figure { ...useBlockProps.save( { className: classes } ) }>
169
+ { figure }
170
+ </figure>
171
+ );
172
+ },
173
+ },
88
174
  {
89
175
  attributes: {
90
176
  ...blockAttributes,
package/src/image/edit.js CHANGED
@@ -2,7 +2,7 @@
2
2
  * External dependencies
3
3
  */
4
4
  import classnames from 'classnames';
5
- import { get, has, omit, pick } from 'lodash';
5
+ import { get, has, isEmpty, omit, pick } from 'lodash';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -17,6 +17,7 @@ import {
17
17
  MediaPlaceholder,
18
18
  useBlockProps,
19
19
  store as blockEditorStore,
20
+ __experimentalUseBorderProps as useBorderProps,
20
21
  } from '@wordpress/block-editor';
21
22
  import { useEffect, useRef, useState } from '@wordpress/element';
22
23
  import { __ } from '@wordpress/i18n';
@@ -296,10 +297,14 @@ export function ImageEdit( {
296
297
  />
297
298
  );
298
299
 
300
+ const borderProps = useBorderProps( attributes );
301
+
299
302
  const classes = classnames( className, {
300
303
  'is-transient': temporaryURL,
301
304
  'is-resized': !! width || !! height,
302
305
  [ `size-${ sizeSlug }` ]: sizeSlug,
306
+ 'has-custom-border':
307
+ !! borderProps.className || ! isEmpty( borderProps.style ),
303
308
  } );
304
309
 
305
310
  const blockProps = useBlockProps( {
@@ -268,11 +268,15 @@ export class ImageEdit extends Component {
268
268
  componentDidUpdate( previousProps ) {
269
269
  const { image, attributes, setAttributes, featuredImageId } =
270
270
  this.props;
271
+ const { url } = attributes;
271
272
  if ( ! previousProps.image && image ) {
272
- const url =
273
- getUrlForSlug( image, attributes?.sizeSlug ) ||
274
- image.source_url;
275
- setAttributes( { url } );
273
+ if ( ! hasQueryArg( url, 'w' ) && attributes?.sizeSlug ) {
274
+ const updatedUrl =
275
+ getUrlForSlug( image, attributes.sizeSlug ) ||
276
+ image.source_url;
277
+
278
+ setAttributes( { url: updatedUrl } );
279
+ }
276
280
  }
277
281
 
278
282
  const { id } = attributes;
@@ -574,7 +578,7 @@ export class ImageEdit extends Component {
574
578
  <>
575
579
  { __(
576
580
  'Describe the purpose of the image. Leave empty if the image is purely decorative.'
577
- ) }
581
+ ) }{ ' ' }
578
582
  <FooterMessageLink
579
583
  href={
580
584
  'https://www.w3.org/WAI/tutorials/images/decision-tree/'
@@ -665,6 +669,7 @@ export class ImageEdit extends Component {
665
669
  context,
666
670
  featuredImageId,
667
671
  wasBlockJustInserted,
672
+ shouldUseFastImage,
668
673
  } = this.props;
669
674
  const { align, url, alt, id, sizeSlug, className } = attributes;
670
675
  const hasImageContext = context
@@ -845,6 +850,9 @@ export class ImageEdit extends Component {
845
850
  isUploadInProgress={
846
851
  isUploadInProgress
847
852
  }
853
+ shouldUseFastImage={
854
+ shouldUseFastImage
855
+ }
848
856
  onSelectMediaUploadOption={
849
857
  this.onSelectMediaUploadOption
850
858
  }
@@ -904,7 +912,8 @@ export default compose( [
904
912
  isSelected,
905
913
  clientId,
906
914
  } = props;
907
- const { imageSizes, imageDefaultSize } = getSettings();
915
+ const { imageSizes, imageDefaultSize, shouldUseFastImage } =
916
+ getSettings();
908
917
  const isNotFileUrl = id && getProtocol( url ) !== 'file:';
909
918
  const featuredImageId = getEditedPostAttribute( 'featured_media' );
910
919
 
@@ -916,11 +925,13 @@ export default compose( [
916
925
  isNotFileUrl &&
917
926
  url &&
918
927
  ! hasQueryArg( url, 'w' ) );
928
+ const image = shouldGetMedia ? getMedia( id ) : null;
919
929
 
920
930
  return {
921
- image: shouldGetMedia ? getMedia( id ) : null,
931
+ image,
922
932
  imageSizes,
923
933
  imageDefaultSize,
934
+ shouldUseFastImage,
924
935
  featuredImageId,
925
936
  wasBlockJustInserted: wasBlockJustInserted(
926
937
  clientId,
@@ -22,10 +22,6 @@ figure.wp-block-image:not(.wp-block) {
22
22
  margin-top: -9px;
23
23
  margin-left: -9px;
24
24
  }
25
-
26
- &:not(.is-style-rounded) > div:not(.components-placeholder) {
27
- border-radius: inherit;
28
- }
29
25
  }
30
26
 
31
27
  // This is necessary for the editor resize handles to accurately work on a non-floated, non-resized, small image.
@@ -94,6 +90,15 @@ figure.wp-block-image:not(.wp-block) {
94
90
  position: relative;
95
91
  max-width: 100%;
96
92
  width: 100%;
93
+ overflow: hidden;
94
+
95
+ // This removes the border from the img within the image cropper so it
96
+ // can be applied to the cropper itself. This then allows the image to be
97
+ // cropped within the visual border providing more accurate editing and
98
+ // smoother UX.
99
+ .reactEasyCrop_Container .reactEasyCrop_Image {
100
+ border: none;
101
+ }
97
102
  }
98
103
 
99
104
  .wp-block-image__crop-icon {