@wordpress/block-library 7.10.0 → 7.11.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 (374) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/button/edit.js +2 -1
  3. package/build/button/edit.js.map +1 -1
  4. package/build/buttons/edit.js +1 -1
  5. package/build/buttons/edit.js.map +1 -1
  6. package/build/columns/edit.native.js +1 -1
  7. package/build/columns/edit.native.js.map +1 -1
  8. package/build/comments/edit/comments-legacy.js +73 -0
  9. package/build/comments/edit/comments-legacy.js.map +1 -0
  10. package/build/comments/{edit.js → edit/index.js} +17 -38
  11. package/build/comments/edit/index.js.map +1 -0
  12. package/build/comments/edit/placeholder.js +117 -0
  13. package/build/comments/edit/placeholder.js.map +1 -0
  14. package/build/comments/edit/template.js +39 -0
  15. package/build/comments/edit/template.js.map +1 -0
  16. package/build/comments/index.js +6 -1
  17. package/build/comments/index.js.map +1 -1
  18. package/build/comments/save.js +12 -4
  19. package/build/comments/save.js.map +1 -1
  20. package/build/cover/transforms.js +3 -2
  21. package/build/cover/transforms.js.map +1 -1
  22. package/build/embed/embed-placeholder.native.js +1 -3
  23. package/build/embed/embed-placeholder.native.js.map +1 -1
  24. package/build/gallery/edit.js +2 -2
  25. package/build/gallery/edit.js.map +1 -1
  26. package/build/gallery/use-get-media.native.js +59 -0
  27. package/build/gallery/use-get-media.native.js.map +1 -0
  28. package/build/group/index.js +1 -0
  29. package/build/group/index.js.map +1 -1
  30. package/build/group/variations.js +1 -1
  31. package/build/group/variations.js.map +1 -1
  32. package/build/image/deprecated.js +77 -9
  33. package/build/image/deprecated.js.map +1 -1
  34. package/build/image/edit.js +3 -1
  35. package/build/image/edit.js.map +1 -1
  36. package/build/image/edit.native.js +18 -8
  37. package/build/image/edit.native.js.map +1 -1
  38. package/build/image/image.js +27 -20
  39. package/build/image/image.js.map +1 -1
  40. package/build/image/index.js +7 -1
  41. package/build/image/index.js.map +1 -1
  42. package/build/image/save.js +8 -2
  43. package/build/image/save.js.map +1 -1
  44. package/build/index.js +1 -3
  45. package/build/index.js.map +1 -1
  46. package/build/index.native.js +3 -13
  47. package/build/index.native.js.map +1 -1
  48. package/build/list/transforms.js +4 -63
  49. package/build/list/transforms.js.map +1 -1
  50. package/build/list/v2/transforms.js +0 -27
  51. package/build/list/v2/transforms.js.map +1 -1
  52. package/build/list-item/edit.js +14 -9
  53. package/build/list-item/edit.js.map +1 -1
  54. package/build/list-item/hooks/index.js +8 -8
  55. package/build/list-item/hooks/index.js.map +1 -1
  56. package/build/list-item/hooks/use-merge.js +174 -0
  57. package/build/list-item/hooks/use-merge.js.map +1 -0
  58. package/build/list-item/hooks/use-outdent-list-item.js +86 -50
  59. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  60. package/build/list-item/utils.js +125 -1
  61. package/build/list-item/utils.js.map +1 -1
  62. package/build/media-text/deprecated.js +134 -7
  63. package/build/media-text/deprecated.js.map +1 -1
  64. package/build/media-text/edit.js +2 -2
  65. package/build/media-text/edit.js.map +1 -1
  66. package/build/media-text/save.js +13 -0
  67. package/build/media-text/save.js.map +1 -1
  68. package/build/more/save.js +1 -7
  69. package/build/more/save.js.map +1 -1
  70. package/build/navigation-link/edit.js +5 -4
  71. package/build/navigation-link/edit.js.map +1 -1
  72. package/build/navigation-submenu/edit.js +2 -1
  73. package/build/navigation-submenu/edit.js.map +1 -1
  74. package/build/page-list/edit.js +8 -1
  75. package/build/page-list/edit.js.map +1 -1
  76. package/build/paragraph/edit.js +7 -11
  77. package/build/paragraph/edit.js.map +1 -1
  78. package/build/post-comments-form/edit.js +4 -45
  79. package/build/post-comments-form/edit.js.map +1 -1
  80. package/build/post-comments-form/form.js +47 -3
  81. package/build/post-comments-form/form.js.map +1 -1
  82. package/build/post-terms/edit.js +3 -2
  83. package/build/post-terms/edit.js.map +1 -1
  84. package/build/query-no-results/edit.js +1 -1
  85. package/build/query-no-results/edit.js.map +1 -1
  86. package/build/query-pagination-next/edit.js +2 -1
  87. package/build/query-pagination-next/edit.js.map +1 -1
  88. package/build/query-pagination-previous/edit.js +2 -1
  89. package/build/query-pagination-previous/edit.js.map +1 -1
  90. package/build/quote/deprecated.js +168 -36
  91. package/build/quote/deprecated.js.map +1 -1
  92. package/build/quote/edit.js +76 -39
  93. package/build/quote/edit.js.map +1 -1
  94. package/build/quote/index.js +9 -45
  95. package/build/quote/index.js.map +1 -1
  96. package/build/quote/save.js +1 -5
  97. package/build/quote/save.js.map +1 -1
  98. package/build/quote/transforms.js +110 -158
  99. package/build/quote/transforms.js.map +1 -1
  100. package/build/social-link/icons/index.js +13 -0
  101. package/build/social-link/icons/index.js.map +1 -1
  102. package/build/social-link/icons/whatsapp.js +25 -0
  103. package/build/social-link/icons/whatsapp.js.map +1 -0
  104. package/build/social-link/variations.js +7 -0
  105. package/build/social-link/variations.js.map +1 -1
  106. package/build/template-part/edit/index.js +17 -8
  107. package/build/template-part/edit/index.js.map +1 -1
  108. package/build/template-part/edit/selection-modal.js +33 -13
  109. package/build/template-part/edit/selection-modal.js.map +1 -1
  110. package/build/template-part/edit/utils/search.js +94 -0
  111. package/build/template-part/edit/utils/search.js.map +1 -0
  112. package/build-module/button/edit.js +2 -1
  113. package/build-module/button/edit.js.map +1 -1
  114. package/build-module/buttons/edit.js +2 -2
  115. package/build-module/buttons/edit.js.map +1 -1
  116. package/build-module/columns/edit.native.js +2 -2
  117. package/build-module/columns/edit.native.js.map +1 -1
  118. package/build-module/comments/edit/comments-legacy.js +59 -0
  119. package/build-module/comments/edit/comments-legacy.js.map +1 -0
  120. package/build-module/comments/edit/index.js +37 -0
  121. package/build-module/comments/edit/index.js.map +1 -0
  122. package/build-module/comments/edit/placeholder.js +102 -0
  123. package/build-module/comments/edit/placeholder.js.map +1 -0
  124. package/build-module/comments/edit/template.js +32 -0
  125. package/build-module/comments/edit/template.js.map +1 -0
  126. package/build-module/comments/index.js +6 -1
  127. package/build-module/comments/index.js.map +1 -1
  128. package/build-module/comments/save.js +9 -4
  129. package/build-module/comments/save.js.map +1 -1
  130. package/build-module/cover/transforms.js +3 -2
  131. package/build-module/cover/transforms.js.map +1 -1
  132. package/build-module/embed/embed-placeholder.native.js +1 -2
  133. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  134. package/build-module/gallery/edit.js +2 -2
  135. package/build-module/gallery/edit.js.map +1 -1
  136. package/build-module/gallery/use-get-media.native.js +50 -0
  137. package/build-module/gallery/use-get-media.native.js.map +1 -0
  138. package/build-module/group/index.js +1 -0
  139. package/build-module/group/index.js.map +1 -1
  140. package/build-module/group/variations.js +2 -2
  141. package/build-module/group/variations.js.map +1 -1
  142. package/build-module/image/deprecated.js +77 -9
  143. package/build-module/image/deprecated.js.map +1 -1
  144. package/build-module/image/edit.js +5 -3
  145. package/build-module/image/edit.js.map +1 -1
  146. package/build-module/image/edit.native.js +18 -8
  147. package/build-module/image/edit.native.js.map +1 -1
  148. package/build-module/image/image.js +29 -22
  149. package/build-module/image/image.js.map +1 -1
  150. package/build-module/image/index.js +7 -1
  151. package/build-module/image/index.js.map +1 -1
  152. package/build-module/image/save.js +9 -3
  153. package/build-module/image/save.js.map +1 -1
  154. package/build-module/index.js +1 -2
  155. package/build-module/index.js.map +1 -1
  156. package/build-module/index.native.js +3 -13
  157. package/build-module/index.native.js.map +1 -1
  158. package/build-module/list/transforms.js +4 -63
  159. package/build-module/list/transforms.js.map +1 -1
  160. package/build-module/list/v2/transforms.js +2 -29
  161. package/build-module/list/v2/transforms.js.map +1 -1
  162. package/build-module/list-item/edit.js +14 -10
  163. package/build-module/list-item/edit.js.map +1 -1
  164. package/build-module/list-item/hooks/index.js +1 -1
  165. package/build-module/list-item/hooks/index.js.map +1 -1
  166. package/build-module/list-item/hooks/use-merge.js +160 -0
  167. package/build-module/list-item/hooks/use-merge.js.map +1 -0
  168. package/build-module/list-item/hooks/use-outdent-list-item.js +82 -46
  169. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  170. package/build-module/list-item/utils.js +123 -2
  171. package/build-module/list-item/utils.js.map +1 -1
  172. package/build-module/media-text/deprecated.js +134 -8
  173. package/build-module/media-text/deprecated.js.map +1 -1
  174. package/build-module/media-text/edit.js +2 -2
  175. package/build-module/media-text/edit.js.map +1 -1
  176. package/build-module/media-text/save.js +13 -0
  177. package/build-module/media-text/save.js.map +1 -1
  178. package/build-module/more/save.js +1 -6
  179. package/build-module/more/save.js.map +1 -1
  180. package/build-module/navigation-link/edit.js +5 -4
  181. package/build-module/navigation-link/edit.js.map +1 -1
  182. package/build-module/navigation-submenu/edit.js +2 -1
  183. package/build-module/navigation-submenu/edit.js.map +1 -1
  184. package/build-module/page-list/edit.js +8 -1
  185. package/build-module/page-list/edit.js.map +1 -1
  186. package/build-module/paragraph/edit.js +8 -12
  187. package/build-module/paragraph/edit.js.map +1 -1
  188. package/build-module/post-comments-form/edit.js +5 -42
  189. package/build-module/post-comments-form/edit.js.map +1 -1
  190. package/build-module/post-comments-form/form.js +46 -5
  191. package/build-module/post-comments-form/form.js.map +1 -1
  192. package/build-module/post-terms/edit.js +3 -2
  193. package/build-module/post-terms/edit.js.map +1 -1
  194. package/build-module/query-no-results/edit.js +2 -2
  195. package/build-module/query-no-results/edit.js.map +1 -1
  196. package/build-module/query-pagination-next/edit.js +2 -1
  197. package/build-module/query-pagination-next/edit.js.map +1 -1
  198. package/build-module/query-pagination-previous/edit.js +2 -1
  199. package/build-module/query-pagination-previous/edit.js.map +1 -1
  200. package/build-module/quote/deprecated.js +162 -36
  201. package/build-module/quote/deprecated.js.map +1 -1
  202. package/build-module/quote/edit.js +77 -43
  203. package/build-module/quote/edit.js.map +1 -1
  204. package/build-module/quote/index.js +9 -39
  205. package/build-module/quote/index.js.map +1 -1
  206. package/build-module/quote/save.js +4 -8
  207. package/build-module/quote/save.js.map +1 -1
  208. package/build-module/quote/transforms.js +111 -158
  209. package/build-module/quote/transforms.js.map +1 -1
  210. package/build-module/social-link/icons/index.js +1 -0
  211. package/build-module/social-link/icons/index.js.map +1 -1
  212. package/build-module/social-link/icons/whatsapp.js +15 -0
  213. package/build-module/social-link/icons/whatsapp.js.map +1 -0
  214. package/build-module/social-link/variations.js +8 -1
  215. package/build-module/social-link/variations.js.map +1 -1
  216. package/build-module/template-part/edit/index.js +20 -11
  217. package/build-module/template-part/edit/index.js.map +1 -1
  218. package/build-module/template-part/edit/selection-modal.js +33 -15
  219. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  220. package/build-module/template-part/edit/utils/search.js +84 -0
  221. package/build-module/template-part/edit/utils/search.js.map +1 -0
  222. package/build-style/button/style-rtl.css +1 -1
  223. package/build-style/button/style.css +1 -1
  224. package/build-style/comments/editor-rtl.css +122 -0
  225. package/build-style/comments/editor.css +122 -0
  226. package/build-style/{post-comments → comments}/style-rtl.css +1 -0
  227. package/build-style/{post-comments → comments}/style.css +1 -0
  228. package/build-style/common-rtl.css +7 -0
  229. package/build-style/common.css +7 -0
  230. package/build-style/cover/style-rtl.css +2 -2
  231. package/build-style/cover/style.css +2 -2
  232. package/build-style/{post-comments/editor.css → editor-elements-rtl.css} +8 -2
  233. package/build-style/{post-comments/editor-rtl.css → editor-elements.css} +8 -2
  234. package/build-style/editor-rtl.css +151 -10
  235. package/build-style/editor.css +151 -10
  236. package/build-style/gallery/style-rtl.css +7 -2
  237. package/build-style/gallery/style.css +7 -2
  238. package/build-style/image/editor-rtl.css +4 -3
  239. package/build-style/image/editor.css +4 -3
  240. package/build-style/image/style-rtl.css +33 -3
  241. package/build-style/image/style.css +33 -3
  242. package/build-style/post-comments-form/style-rtl.css +0 -1
  243. package/build-style/post-comments-form/style.css +0 -1
  244. package/build-style/social-link/editor-rtl.css +1 -0
  245. package/build-style/social-link/editor.css +1 -0
  246. package/build-style/social-links/style-rtl.css +8 -0
  247. package/build-style/social-links/style.css +8 -0
  248. package/build-style/style-rtl.css +170 -127
  249. package/build-style/style.css +170 -127
  250. package/build-style/template-part/editor-rtl.css +14 -3
  251. package/build-style/template-part/editor.css +14 -3
  252. package/package.json +28 -28
  253. package/src/button/edit.js +1 -0
  254. package/src/button/style.scss +3 -1
  255. package/src/buttons/edit.js +1 -5
  256. package/src/columns/edit.native.js +2 -2
  257. package/src/comments/block.json +6 -1
  258. package/src/comments/edit/comments-legacy.js +71 -0
  259. package/src/comments/edit/index.js +35 -0
  260. package/src/comments/edit/placeholder.js +124 -0
  261. package/src/comments/{edit.js → edit/template.js} +1 -28
  262. package/src/comments/editor.scss +9 -0
  263. package/src/comments/index.php +219 -0
  264. package/src/comments/save.js +8 -7
  265. package/src/{post-comments → comments}/style.scss +7 -0
  266. package/src/common.scss +2 -0
  267. package/src/cover/style.scss +2 -2
  268. package/src/cover/transforms.js +2 -2
  269. package/src/editor-elements.scss +10 -0
  270. package/src/editor.scss +2 -1
  271. package/src/embed/embed-placeholder.native.js +2 -3
  272. package/src/gallery/edit.js +4 -2
  273. package/src/gallery/style.scss +10 -1
  274. package/src/gallery/use-get-media.native.js +44 -0
  275. package/src/group/block.json +1 -0
  276. package/src/group/variations.js +2 -2
  277. package/src/image/block.json +7 -1
  278. package/src/image/deprecated.js +86 -0
  279. package/src/image/edit.js +6 -1
  280. package/src/image/edit.native.js +18 -7
  281. package/src/image/editor.scss +9 -4
  282. package/src/image/image.js +26 -16
  283. package/src/image/save.js +10 -1
  284. package/src/image/style.scss +39 -3
  285. package/src/index.js +0 -2
  286. package/src/index.native.js +2 -11
  287. package/src/list/transforms.js +0 -47
  288. package/src/list/v2/transforms.js +2 -40
  289. package/src/list-item/edit.js +10 -12
  290. package/src/list-item/hooks/index.js +1 -1
  291. package/src/list-item/hooks/use-merge.js +141 -0
  292. package/src/list-item/hooks/use-outdent-list-item.js +72 -74
  293. package/src/list-item/utils.js +27 -3
  294. package/src/media-text/deprecated.js +148 -1
  295. package/src/media-text/edit.js +2 -1
  296. package/src/media-text/save.js +18 -0
  297. package/src/more/save.js +3 -6
  298. package/src/navigation-link/edit.js +4 -3
  299. package/src/navigation-submenu/edit.js +1 -0
  300. package/src/page-list/edit.js +9 -0
  301. package/src/paragraph/edit.js +8 -14
  302. package/src/post-comments-form/edit.js +2 -71
  303. package/src/post-comments-form/form.js +80 -5
  304. package/src/post-comments-form/index.php +1 -1
  305. package/src/post-comments-form/style.scss +0 -1
  306. package/src/post-terms/edit.js +3 -2
  307. package/src/query-no-results/edit.js +2 -5
  308. package/src/query-pagination-next/edit.js +1 -0
  309. package/src/query-pagination-previous/edit.js +1 -0
  310. package/src/quote/deprecated.js +213 -99
  311. package/src/quote/edit.js +77 -52
  312. package/src/quote/index.js +10 -33
  313. package/src/quote/save.js +5 -5
  314. package/src/quote/{v2/test → test}/migrate.js +2 -7
  315. package/src/quote/transforms.js +117 -147
  316. package/src/social-link/editor.scss +3 -0
  317. package/src/social-link/icons/index.js +1 -0
  318. package/src/social-link/icons/whatsapp.js +10 -0
  319. package/src/social-link/index.php +4 -0
  320. package/src/social-link/socials-with-bg.scss +5 -0
  321. package/src/social-link/socials-without-bg.scss +5 -0
  322. package/src/social-link/variations.js +7 -0
  323. package/src/style.scss +1 -2
  324. package/src/template-part/edit/index.js +37 -24
  325. package/src/template-part/edit/selection-modal.js +68 -40
  326. package/src/template-part/edit/utils/search.js +76 -0
  327. package/src/template-part/editor.scss +21 -9
  328. package/src/template-part/index.php +56 -2
  329. package/build/comments/edit.js.map +0 -1
  330. package/build/list-item/hooks/use-backspace.js +0 -59
  331. package/build/list-item/hooks/use-backspace.js.map +0 -1
  332. package/build/post-comments/edit.js +0 -184
  333. package/build/post-comments/edit.js.map +0 -1
  334. package/build/post-comments/index.js +0 -72
  335. package/build/post-comments/index.js.map +0 -1
  336. package/build/quote/v2/deprecated.js +0 -133
  337. package/build/quote/v2/deprecated.js.map +0 -1
  338. package/build/quote/v2/edit.js +0 -139
  339. package/build/quote/v2/edit.js.map +0 -1
  340. package/build/quote/v2/index.js +0 -49
  341. package/build/quote/v2/index.js.map +0 -1
  342. package/build/quote/v2/save.js +0 -43
  343. package/build/quote/v2/save.js.map +0 -1
  344. package/build/quote/v2/transforms.js +0 -156
  345. package/build/quote/v2/transforms.js.map +0 -1
  346. package/build-module/comments/edit.js +0 -59
  347. package/build-module/comments/edit.js.map +0 -1
  348. package/build-module/list-item/hooks/use-backspace.js +0 -44
  349. package/build-module/list-item/hooks/use-backspace.js.map +0 -1
  350. package/build-module/post-comments/edit.js +0 -171
  351. package/build-module/post-comments/edit.js.map +0 -1
  352. package/build-module/post-comments/index.js +0 -59
  353. package/build-module/post-comments/index.js.map +0 -1
  354. package/build-module/quote/v2/deprecated.js +0 -116
  355. package/build-module/quote/v2/deprecated.js.map +0 -1
  356. package/build-module/quote/v2/edit.js +0 -122
  357. package/build-module/quote/v2/edit.js.map +0 -1
  358. package/build-module/quote/v2/index.js +0 -33
  359. package/build-module/quote/v2/index.js.map +0 -1
  360. package/build-module/quote/v2/save.js +0 -30
  361. package/build-module/quote/v2/save.js.map +0 -1
  362. package/build-module/quote/v2/transforms.js +0 -147
  363. package/build-module/quote/v2/transforms.js.map +0 -1
  364. package/src/list-item/hooks/use-backspace.js +0 -51
  365. package/src/post-comments/block.json +0 -45
  366. package/src/post-comments/edit.js +0 -247
  367. package/src/post-comments/editor.scss +0 -3
  368. package/src/post-comments/index.js +0 -18
  369. package/src/post-comments/index.php +0 -87
  370. package/src/quote/v2/deprecated.js +0 -107
  371. package/src/quote/v2/edit.js +0 -139
  372. package/src/quote/v2/index.js +0 -36
  373. package/src/quote/v2/save.js +0 -26
  374. package/src/quote/v2/transforms.js +0 -155
@@ -46,6 +46,12 @@ const blockAttributes = {
46
46
  source: 'html',
47
47
  selector: 'figcaption'
48
48
  },
49
+ title: {
50
+ type: 'string',
51
+ source: 'attribute',
52
+ selector: 'img',
53
+ attribute: 'title'
54
+ },
49
55
  href: {
50
56
  type: 'string',
51
57
  source: 'attribute',
@@ -73,6 +79,9 @@ const blockAttributes = {
73
79
  height: {
74
80
  type: 'number'
75
81
  },
82
+ sizeSlug: {
83
+ type: 'string'
84
+ },
76
85
  linkDestination: {
77
86
  type: 'string'
78
87
  },
@@ -97,7 +106,66 @@ const blockSupports = {
97
106
  }
98
107
  }
99
108
  };
100
- const deprecated = [{
109
+ const deprecated = [// The following deprecation moves existing border radius styles onto the
110
+ // inner img element where new border block support styles must be applied.
111
+ // It will also add a new `.has-custom-border` class for existing blocks
112
+ // with border radii set. This class is required to improve caption position
113
+ // and styling when an image within a gallery has a custom border or
114
+ // rounded corners.
115
+ //
116
+ // See: https://github.com/WordPress/gutenberg/pull/31366/
117
+ {
118
+ attributes: blockAttributes,
119
+ supports: blockSupports,
120
+
121
+ save(_ref) {
122
+ let {
123
+ attributes
124
+ } = _ref;
125
+ const {
126
+ url,
127
+ alt,
128
+ caption,
129
+ align,
130
+ href,
131
+ rel,
132
+ linkClass,
133
+ width,
134
+ height,
135
+ id,
136
+ linkTarget,
137
+ sizeSlug,
138
+ title
139
+ } = attributes;
140
+ const newRel = (0, _lodash.isEmpty)(rel) ? undefined : rel;
141
+ const classes = (0, _classnames.default)({
142
+ [`align${align}`]: align,
143
+ [`size-${sizeSlug}`]: sizeSlug,
144
+ 'is-resized': width || height
145
+ });
146
+ const image = (0, _element.createElement)("img", {
147
+ src: url,
148
+ alt: alt,
149
+ className: id ? `wp-image-${id}` : null,
150
+ width: width,
151
+ height: height,
152
+ title: title
153
+ });
154
+ const figure = (0, _element.createElement)(_element.Fragment, null, href ? (0, _element.createElement)("a", {
155
+ className: linkClass,
156
+ href: href,
157
+ target: linkTarget,
158
+ rel: newRel
159
+ }, image) : image, !_blockEditor.RichText.isEmpty(caption) && (0, _element.createElement)(_blockEditor.RichText.Content, {
160
+ tagName: "figcaption",
161
+ value: caption
162
+ }));
163
+ return (0, _element.createElement)("figure", _blockEditor.useBlockProps.save({
164
+ className: classes
165
+ }), figure);
166
+ }
167
+
168
+ }, {
101
169
  attributes: { ...blockAttributes,
102
170
  title: {
103
171
  type: 'string',
@@ -111,10 +179,10 @@ const deprecated = [{
111
179
  },
112
180
  supports: blockSupports,
113
181
 
114
- save(_ref) {
182
+ save(_ref2) {
115
183
  let {
116
184
  attributes
117
- } = _ref;
185
+ } = _ref2;
118
186
  const {
119
187
  url,
120
188
  alt,
@@ -168,10 +236,10 @@ const deprecated = [{
168
236
  }, {
169
237
  attributes: blockAttributes,
170
238
 
171
- save(_ref2) {
239
+ save(_ref3) {
172
240
  let {
173
241
  attributes
174
- } = _ref2;
242
+ } = _ref3;
175
243
  const {
176
244
  url,
177
245
  alt,
@@ -206,10 +274,10 @@ const deprecated = [{
206
274
  }, {
207
275
  attributes: blockAttributes,
208
276
 
209
- save(_ref3) {
277
+ save(_ref4) {
210
278
  let {
211
279
  attributes
212
- } = _ref3;
280
+ } = _ref4;
213
281
  const {
214
282
  url,
215
283
  alt,
@@ -240,10 +308,10 @@ const deprecated = [{
240
308
  }, {
241
309
  attributes: blockAttributes,
242
310
 
243
- save(_ref4) {
311
+ save(_ref5) {
244
312
  let {
245
313
  attributes
246
- } = _ref4;
314
+ } = _ref5;
247
315
  const {
248
316
  url,
249
317
  alt,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/image/deprecated.js"],"names":["blockAttributes","align","type","url","source","selector","attribute","alt","default","caption","href","rel","linkClass","id","width","height","linkDestination","linkTarget","blockSupports","anchor","color","__experimentalDuotone","text","background","__experimentalBorder","radius","__experimentalDefaultControls","deprecated","attributes","title","sizeSlug","supports","save","newRel","undefined","classes","image","figure","RichText","isEmpty","useBlockProps","className","extraImageProps","figureStyle","maxWidth"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { RichText, useBlockProps } from '@wordpress/block-editor';\n\nconst blockAttributes = {\n\talign: {\n\t\ttype: 'string',\n\t},\n\turl: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'img',\n\t\tattribute: 'src',\n\t},\n\talt: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'img',\n\t\tattribute: 'alt',\n\t\tdefault: '',\n\t},\n\tcaption: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t\tselector: 'figcaption',\n\t},\n\thref: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure > a',\n\t\tattribute: 'href',\n\t},\n\trel: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure > a',\n\t\tattribute: 'rel',\n\t},\n\tlinkClass: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure > a',\n\t\tattribute: 'class',\n\t},\n\tid: {\n\t\ttype: 'number',\n\t},\n\twidth: {\n\t\ttype: 'number',\n\t},\n\theight: {\n\t\ttype: 'number',\n\t},\n\tlinkDestination: {\n\t\ttype: 'string',\n\t},\n\tlinkTarget: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure > a',\n\t\tattribute: 'target',\n\t},\n};\n\nconst blockSupports = {\n\tanchor: true,\n\tcolor: {\n\t\t__experimentalDuotone: 'img',\n\t\ttext: false,\n\t\tbackground: false,\n\t},\n\t__experimentalBorder: {\n\t\tradius: true,\n\t\t__experimentalDefaultControls: {\n\t\t\tradius: true,\n\t\t},\n\t},\n};\n\nconst deprecated = [\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\ttitle: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'img',\n\t\t\t\tattribute: 'title',\n\t\t\t},\n\t\t\tsizeSlug: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tsupports: blockSupports,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\turl,\n\t\t\t\talt,\n\t\t\t\tcaption,\n\t\t\t\talign,\n\t\t\t\thref,\n\t\t\t\trel,\n\t\t\t\tlinkClass,\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t\tid,\n\t\t\t\tlinkTarget,\n\t\t\t\tsizeSlug,\n\t\t\t\ttitle,\n\t\t\t} = attributes;\n\n\t\t\tconst newRel = isEmpty( rel ) ? undefined : rel;\n\n\t\t\tconst classes = classnames( {\n\t\t\t\t[ `align${ align }` ]: align,\n\t\t\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t\t\t'is-resized': width || height,\n\t\t\t} );\n\n\t\t\tconst image = (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ url }\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\theight={ height }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\tconst figure = (\n\t\t\t\t<>\n\t\t\t\t\t{ href ? (\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ image }\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) : (\n\t\t\t\t\t\timage\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t);\n\n\t\t\tif ( 'left' === align || 'right' === align || 'center' === align ) {\n\t\t\t\treturn (\n\t\t\t\t\t<div { ...useBlockProps.save() }>\n\t\t\t\t\t\t<figure className={ classes }>{ figure }</figure>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<figure { ...useBlockProps.save( { className: classes } ) }>\n\t\t\t\t\t{ figure }\n\t\t\t\t</figure>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: blockAttributes,\n\t\tsave( { attributes } ) {\n\t\t\tconst { url, alt, caption, align, href, width, height, id } =\n\t\t\t\tattributes;\n\n\t\t\tconst classes = classnames( {\n\t\t\t\t[ `align${ align }` ]: align,\n\t\t\t\t'is-resized': width || height,\n\t\t\t} );\n\n\t\t\tconst image = (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ url }\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\theight={ height }\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t<figure className={ classes }>\n\t\t\t\t\t{ href ? <a href={ href }>{ image }</a> : image }\n\t\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</figure>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: blockAttributes,\n\t\tsave( { attributes } ) {\n\t\t\tconst { url, alt, caption, align, href, width, height, id } =\n\t\t\t\tattributes;\n\n\t\t\tconst image = (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ url }\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\theight={ height }\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t<figure className={ align ? `align${ align }` : null }>\n\t\t\t\t\t{ href ? <a href={ href }>{ image }</a> : image }\n\t\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</figure>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: blockAttributes,\n\t\tsave( { attributes } ) {\n\t\t\tconst { url, alt, caption, align, href, width, height } =\n\t\t\t\tattributes;\n\t\t\tconst extraImageProps = width || height ? { width, height } : {};\n\t\t\tconst image = (\n\t\t\t\t<img src={ url } alt={ alt } { ...extraImageProps } />\n\t\t\t);\n\n\t\t\tlet figureStyle = {};\n\n\t\t\tif ( width ) {\n\t\t\t\tfigureStyle = { width };\n\t\t\t} else if ( align === 'left' || align === 'right' ) {\n\t\t\t\tfigureStyle = { maxWidth: '50%' };\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<figure\n\t\t\t\t\tclassName={ align ? `align${ align }` : null }\n\t\t\t\t\tstyle={ figureStyle }\n\t\t\t\t>\n\t\t\t\t\t{ href ? <a href={ href }>{ image }</a> : image }\n\t\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</figure>\n\t\t\t);\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/image/deprecated.js"],"names":["blockAttributes","align","type","url","source","selector","attribute","alt","default","caption","title","href","rel","linkClass","id","width","height","sizeSlug","linkDestination","linkTarget","blockSupports","anchor","color","__experimentalDuotone","text","background","__experimentalBorder","radius","__experimentalDefaultControls","deprecated","attributes","supports","save","newRel","undefined","classes","image","figure","RichText","isEmpty","useBlockProps","className","extraImageProps","figureStyle","maxWidth"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { RichText, useBlockProps } from '@wordpress/block-editor';\n\nconst blockAttributes = {\n\talign: {\n\t\ttype: 'string',\n\t},\n\turl: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'img',\n\t\tattribute: 'src',\n\t},\n\talt: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'img',\n\t\tattribute: 'alt',\n\t\tdefault: '',\n\t},\n\tcaption: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t\tselector: 'figcaption',\n\t},\n\ttitle: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'img',\n\t\tattribute: 'title',\n\t},\n\thref: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure > a',\n\t\tattribute: 'href',\n\t},\n\trel: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure > a',\n\t\tattribute: 'rel',\n\t},\n\tlinkClass: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure > a',\n\t\tattribute: 'class',\n\t},\n\tid: {\n\t\ttype: 'number',\n\t},\n\twidth: {\n\t\ttype: 'number',\n\t},\n\theight: {\n\t\ttype: 'number',\n\t},\n\tsizeSlug: {\n\t\ttype: 'string',\n\t},\n\tlinkDestination: {\n\t\ttype: 'string',\n\t},\n\tlinkTarget: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure > a',\n\t\tattribute: 'target',\n\t},\n};\n\nconst blockSupports = {\n\tanchor: true,\n\tcolor: {\n\t\t__experimentalDuotone: 'img',\n\t\ttext: false,\n\t\tbackground: false,\n\t},\n\t__experimentalBorder: {\n\t\tradius: true,\n\t\t__experimentalDefaultControls: {\n\t\t\tradius: true,\n\t\t},\n\t},\n};\n\nconst deprecated = [\n\t// The following deprecation moves existing border radius styles onto the\n\t// inner img element where new border block support styles must be applied.\n\t// It will also add a new `.has-custom-border` class for existing blocks\n\t// with border radii set. This class is required to improve caption position\n\t// and styling when an image within a gallery has a custom border or\n\t// rounded corners.\n\t//\n\t// See: https://github.com/WordPress/gutenberg/pull/31366/\n\t{\n\t\tattributes: blockAttributes,\n\t\tsupports: blockSupports,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\turl,\n\t\t\t\talt,\n\t\t\t\tcaption,\n\t\t\t\talign,\n\t\t\t\thref,\n\t\t\t\trel,\n\t\t\t\tlinkClass,\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t\tid,\n\t\t\t\tlinkTarget,\n\t\t\t\tsizeSlug,\n\t\t\t\ttitle,\n\t\t\t} = attributes;\n\n\t\t\tconst newRel = isEmpty( rel ) ? undefined : rel;\n\n\t\t\tconst classes = classnames( {\n\t\t\t\t[ `align${ align }` ]: align,\n\t\t\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t\t\t'is-resized': width || height,\n\t\t\t} );\n\n\t\t\tconst image = (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ url }\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\theight={ height }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\tconst figure = (\n\t\t\t\t<>\n\t\t\t\t\t{ href ? (\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ image }\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) : (\n\t\t\t\t\t\timage\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t<figure { ...useBlockProps.save( { className: classes } ) }>\n\t\t\t\t\t{ figure }\n\t\t\t\t</figure>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\ttitle: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'img',\n\t\t\t\tattribute: 'title',\n\t\t\t},\n\t\t\tsizeSlug: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tsupports: blockSupports,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\turl,\n\t\t\t\talt,\n\t\t\t\tcaption,\n\t\t\t\talign,\n\t\t\t\thref,\n\t\t\t\trel,\n\t\t\t\tlinkClass,\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t\tid,\n\t\t\t\tlinkTarget,\n\t\t\t\tsizeSlug,\n\t\t\t\ttitle,\n\t\t\t} = attributes;\n\n\t\t\tconst newRel = isEmpty( rel ) ? undefined : rel;\n\n\t\t\tconst classes = classnames( {\n\t\t\t\t[ `align${ align }` ]: align,\n\t\t\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t\t\t'is-resized': width || height,\n\t\t\t} );\n\n\t\t\tconst image = (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ url }\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\theight={ height }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\tconst figure = (\n\t\t\t\t<>\n\t\t\t\t\t{ href ? (\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ image }\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) : (\n\t\t\t\t\t\timage\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t);\n\n\t\t\tif ( 'left' === align || 'right' === align || 'center' === align ) {\n\t\t\t\treturn (\n\t\t\t\t\t<div { ...useBlockProps.save() }>\n\t\t\t\t\t\t<figure className={ classes }>{ figure }</figure>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<figure { ...useBlockProps.save( { className: classes } ) }>\n\t\t\t\t\t{ figure }\n\t\t\t\t</figure>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: blockAttributes,\n\t\tsave( { attributes } ) {\n\t\t\tconst { url, alt, caption, align, href, width, height, id } =\n\t\t\t\tattributes;\n\n\t\t\tconst classes = classnames( {\n\t\t\t\t[ `align${ align }` ]: align,\n\t\t\t\t'is-resized': width || height,\n\t\t\t} );\n\n\t\t\tconst image = (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ url }\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\theight={ height }\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t<figure className={ classes }>\n\t\t\t\t\t{ href ? <a href={ href }>{ image }</a> : image }\n\t\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</figure>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: blockAttributes,\n\t\tsave( { attributes } ) {\n\t\t\tconst { url, alt, caption, align, href, width, height, id } =\n\t\t\t\tattributes;\n\n\t\t\tconst image = (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ url }\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\theight={ height }\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t<figure className={ align ? `align${ align }` : null }>\n\t\t\t\t\t{ href ? <a href={ href }>{ image }</a> : image }\n\t\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</figure>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: blockAttributes,\n\t\tsave( { attributes } ) {\n\t\t\tconst { url, alt, caption, align, href, width, height } =\n\t\t\t\tattributes;\n\t\t\tconst extraImageProps = width || height ? { width, height } : {};\n\t\t\tconst image = (\n\t\t\t\t<img src={ url } alt={ alt } { ...extraImageProps } />\n\t\t\t);\n\n\t\t\tlet figureStyle = {};\n\n\t\t\tif ( width ) {\n\t\t\t\tfigureStyle = { width };\n\t\t\t} else if ( align === 'left' || align === 'right' ) {\n\t\t\t\tfigureStyle = { maxWidth: '50%' };\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<figure\n\t\t\t\t\tclassName={ align ? `align${ align }` : null }\n\t\t\t\t\tstyle={ figureStyle }\n\t\t\t\t>\n\t\t\t\t\t{ href ? <a href={ href }>{ image }</a> : image }\n\t\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</figure>\n\t\t\t);\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}
@@ -304,10 +304,12 @@ function ImageEdit(_ref) {
304
304
  className: 'edit-image-preview',
305
305
  src: url
306
306
  });
307
+ const borderProps = (0, _blockEditor.__experimentalUseBorderProps)(attributes);
307
308
  const classes = (0, _classnames.default)(className, {
308
309
  'is-transient': temporaryURL,
309
310
  'is-resized': !!width || !!height,
310
- [`size-${sizeSlug}`]: sizeSlug
311
+ [`size-${sizeSlug}`]: sizeSlug,
312
+ 'has-custom-border': !!borderProps.className || !(0, _lodash.isEmpty)(borderProps.style)
311
313
  });
312
314
  const blockProps = (0, _blockEditor.useBlockProps)({
313
315
  ref,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/image/edit.js"],"names":["pickRelevantMediaFiles","image","size","imageProps","url","isTemporaryImage","id","isExternalImage","hasDefaultSize","defaultSize","ImageEdit","attributes","setAttributes","isSelected","className","noticeUI","insertBlocksAfter","noticeOperations","onReplace","context","clientId","alt","caption","align","width","height","sizeSlug","temporaryURL","setTemporaryURL","altRef","current","captionRef","ref","imageDefaultSize","mediaUpload","select","getSettings","blockEditorStore","onUploadError","message","removeAllNotices","createErrorNotice","src","undefined","onSelectImage","media","title","mediaAttributes","additionalAttributes","linkDestination","window","wp","view","settings","defaultProps","link","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","href","onSelectURL","newURL","updateAlignment","nextAlign","extraUpdatedAttributes","includes","isTemp","file","filesList","onFileChange","img","allowedTypes","ALLOWED_MEDIA_TYPES","onError","isExternal","mediaPreview","classes","blockProps","icon"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { get, has, omit, pick } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { withNotices } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tBlockAlignmentControl,\n\tBlockControls,\n\tBlockIcon,\n\tMediaPlaceholder,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { image as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Image from './image';\n\n/**\n * Module constants\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_CUSTOM,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tALLOWED_MEDIA_TYPES,\n} from './constants';\n\nexport const pickRelevantMediaFiles = ( image, size ) => {\n\tconst imageProps = pick( image, [ 'alt', 'id', 'link', 'caption' ] );\n\timageProps.url =\n\t\tget( image, [ 'sizes', size, 'url' ] ) ||\n\t\tget( image, [ 'media_details', 'sizes', size, 'source_url' ] ) ||\n\t\timage.url;\n\treturn imageProps;\n};\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily\n * while the image is being uploaded and will not have an id yet allocated.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the URL a Blob URL\n */\nconst isTemporaryImage = ( id, url ) => ! id && isBlobURL( url );\n\n/**\n * Is the url for the image hosted externally. An externally hosted image has no\n * id and is not a blob url.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the url an externally hosted url?\n */\nexport const isExternalImage = ( id, url ) => url && ! id && ! isBlobURL( url );\n\n/**\n * Checks if WP generated default image size. Size generation is skipped\n * when the image is smaller than the said size.\n *\n * @param {Object} image\n * @param {string} defaultSize\n *\n * @return {boolean} Whether or not it has default image size.\n */\nfunction hasDefaultSize( image, defaultSize ) {\n\treturn (\n\t\thas( image, [ 'sizes', defaultSize, 'url' ] ) ||\n\t\thas( image, [ 'media_details', 'sizes', defaultSize, 'source_url' ] )\n\t);\n}\n\nexport function ImageEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tclassName,\n\tnoticeUI,\n\tinsertBlocksAfter,\n\tnoticeOperations,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\tcaption,\n\t\talign,\n\t\tid,\n\t\twidth,\n\t\theight,\n\t\tsizeSlug,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\n\tconst altRef = useRef();\n\tuseEffect( () => {\n\t\taltRef.current = alt;\n\t}, [ alt ] );\n\n\tconst captionRef = useRef();\n\tuseEffect( () => {\n\t\tcaptionRef.current = caption;\n\t}, [ caption ] );\n\n\tconst ref = useRef();\n\tconst { imageDefaultSize, mediaUpload } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn pick( getSettings(), [ 'imageDefaultSize', 'mediaUpload' ] );\n\t}, [] );\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t\tsetAttributes( {\n\t\t\tsrc: undefined,\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t} );\n\t\tsetTemporaryURL( undefined );\n\t}\n\n\tfunction onSelectImage( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: undefined,\n\t\t\t\talt: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\ttitle: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tsetTemporaryURL();\n\n\t\tlet mediaAttributes = pickRelevantMediaFiles( media, imageDefaultSize );\n\n\t\t// If a caption text was meanwhile written by the user,\n\t\t// make sure the text is not overwritten by empty captions.\n\t\tif ( captionRef.current && ! get( mediaAttributes, [ 'caption' ] ) ) {\n\t\t\tmediaAttributes = omit( mediaAttributes, [ 'caption' ] );\n\t\t}\n\n\t\tlet additionalAttributes;\n\t\t// Reset the dimension attributes if changing to a different image.\n\t\tif ( ! media.id || media.id !== id ) {\n\t\t\tadditionalAttributes = {\n\t\t\t\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\t// Fallback to size \"full\" if there's no default image size.\n\t\t\t\t// It means the image is smaller, and the block will use a full-size URL.\n\t\t\t\tsizeSlug: hasDefaultSize( media, imageDefaultSize )\n\t\t\t\t\t? imageDefaultSize\n\t\t\t\t\t: 'full',\n\t\t\t};\n\t\t} else {\n\t\t\t// Keep the same url when selecting the same file, so \"Image Size\"\n\t\t\t// option is not changed.\n\t\t\tadditionalAttributes = { url };\n\t\t}\n\n\t\t// Check if default link setting should be used.\n\t\tlet linkDestination = attributes.linkDestination;\n\t\tif ( ! linkDestination ) {\n\t\t\t// Use the WordPress option to determine the proper default.\n\t\t\t// The constants used in Gutenberg do not match WP options so a little more complicated than ideal.\n\t\t\t// TODO: fix this in a follow up PR, requires updating media-text and ui component.\n\t\t\tswitch (\n\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\tLINK_DESTINATION_NONE\n\t\t\t) {\n\t\t\t\tcase 'file':\n\t\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_MEDIA;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'post':\n\t\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_CUSTOM:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_CUSTOM;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_NONE:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_NONE;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Check if the image is linked to it's media.\n\t\tlet href;\n\t\tswitch ( linkDestination ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\thref = media.url;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\thref = media.link;\n\t\t\t\tbreak;\n\t\t}\n\t\tmediaAttributes.href = href;\n\n\t\tsetAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\t...additionalAttributes,\n\t\t\tlinkDestination,\n\t\t} );\n\t}\n\n\tfunction onSelectURL( newURL ) {\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: newURL,\n\t\t\t\tid: undefined,\n\t\t\t\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\tsizeSlug: imageDefaultSize,\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction updateAlignment( nextAlign ) {\n\t\tconst extraUpdatedAttributes = [ 'wide', 'full' ].includes( nextAlign )\n\t\t\t? { width: undefined, height: undefined }\n\t\t\t: {};\n\t\tsetAttributes( {\n\t\t\t...extraUpdatedAttributes,\n\t\t\talign: nextAlign,\n\t\t} );\n\t}\n\n\tlet isTemp = isTemporaryImage( id, url );\n\n\t// Upload a temporary image on mount.\n\tuseEffect( () => {\n\t\tif ( ! isTemp ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst file = getBlobByURL( url );\n\n\t\tif ( file ) {\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList: [ file ],\n\t\t\t\tonFileChange: ( [ img ] ) => {\n\t\t\t\t\tonSelectImage( img );\n\t\t\t\t},\n\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\tonError: ( message ) => {\n\t\t\t\t\tisTemp = false;\n\t\t\t\t\tonUploadError( message );\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\t// If an image is temporary, revoke the Blob url when it is uploaded (and is\n\t// no longer temporary).\n\tuseEffect( () => {\n\t\tif ( isTemp ) {\n\t\t\tsetTemporaryURL( url );\n\t\t\treturn;\n\t\t}\n\t\trevokeBlobURL( temporaryURL );\n\t}, [ isTemp, url ] );\n\n\tconst isExternal = isExternalImage( id, url );\n\tconst src = isExternal ? url : undefined;\n\tconst mediaPreview = !! url && (\n\t\t<img\n\t\t\talt={ __( 'Edit image' ) }\n\t\t\ttitle={ __( 'Edit image' ) }\n\t\t\tclassName={ 'edit-image-preview' }\n\t\t\tsrc={ url }\n\t\t/>\n\t);\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': temporaryURL,\n\t\t'is-resized': !! width || !! height,\n\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\treturn (\n\t\t<figure { ...blockProps }>\n\t\t\t{ ( temporaryURL || url ) && (\n\t\t\t\t<Image\n\t\t\t\t\ttemporaryURL={ temporaryURL }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonUploadError={ onUploadError }\n\t\t\t\t\tcontainerRef={ ref }\n\t\t\t\t\tcontext={ context }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! url && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<BlockAlignmentControl\n\t\t\t\t\t\tvalue={ align }\n\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<MediaPlaceholder\n\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\tnotices={ noticeUI }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tvalue={ { id, src } }\n\t\t\t\tmediaPreview={ mediaPreview }\n\t\t\t\tdisableMediaButtons={ temporaryURL || url }\n\t\t\t/>\n\t\t</figure>\n\t);\n}\n\nexport default withNotices( ImageEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/image/edit.js"],"names":["pickRelevantMediaFiles","image","size","imageProps","url","isTemporaryImage","id","isExternalImage","hasDefaultSize","defaultSize","ImageEdit","attributes","setAttributes","isSelected","className","noticeUI","insertBlocksAfter","noticeOperations","onReplace","context","clientId","alt","caption","align","width","height","sizeSlug","temporaryURL","setTemporaryURL","altRef","current","captionRef","ref","imageDefaultSize","mediaUpload","select","getSettings","blockEditorStore","onUploadError","message","removeAllNotices","createErrorNotice","src","undefined","onSelectImage","media","title","mediaAttributes","additionalAttributes","linkDestination","window","wp","view","settings","defaultProps","link","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","href","onSelectURL","newURL","updateAlignment","nextAlign","extraUpdatedAttributes","includes","isTemp","file","filesList","onFileChange","img","allowedTypes","ALLOWED_MEDIA_TYPES","onError","isExternal","mediaPreview","borderProps","classes","style","blockProps","icon"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { get, has, isEmpty, omit, pick } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { withNotices } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tBlockAlignmentControl,\n\tBlockControls,\n\tBlockIcon,\n\tMediaPlaceholder,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { image as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Image from './image';\n\n/**\n * Module constants\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_CUSTOM,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tALLOWED_MEDIA_TYPES,\n} from './constants';\n\nexport const pickRelevantMediaFiles = ( image, size ) => {\n\tconst imageProps = pick( image, [ 'alt', 'id', 'link', 'caption' ] );\n\timageProps.url =\n\t\tget( image, [ 'sizes', size, 'url' ] ) ||\n\t\tget( image, [ 'media_details', 'sizes', size, 'source_url' ] ) ||\n\t\timage.url;\n\treturn imageProps;\n};\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily\n * while the image is being uploaded and will not have an id yet allocated.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the URL a Blob URL\n */\nconst isTemporaryImage = ( id, url ) => ! id && isBlobURL( url );\n\n/**\n * Is the url for the image hosted externally. An externally hosted image has no\n * id and is not a blob url.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the url an externally hosted url?\n */\nexport const isExternalImage = ( id, url ) => url && ! id && ! isBlobURL( url );\n\n/**\n * Checks if WP generated default image size. Size generation is skipped\n * when the image is smaller than the said size.\n *\n * @param {Object} image\n * @param {string} defaultSize\n *\n * @return {boolean} Whether or not it has default image size.\n */\nfunction hasDefaultSize( image, defaultSize ) {\n\treturn (\n\t\thas( image, [ 'sizes', defaultSize, 'url' ] ) ||\n\t\thas( image, [ 'media_details', 'sizes', defaultSize, 'source_url' ] )\n\t);\n}\n\nexport function ImageEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tclassName,\n\tnoticeUI,\n\tinsertBlocksAfter,\n\tnoticeOperations,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\tcaption,\n\t\talign,\n\t\tid,\n\t\twidth,\n\t\theight,\n\t\tsizeSlug,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\n\tconst altRef = useRef();\n\tuseEffect( () => {\n\t\taltRef.current = alt;\n\t}, [ alt ] );\n\n\tconst captionRef = useRef();\n\tuseEffect( () => {\n\t\tcaptionRef.current = caption;\n\t}, [ caption ] );\n\n\tconst ref = useRef();\n\tconst { imageDefaultSize, mediaUpload } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn pick( getSettings(), [ 'imageDefaultSize', 'mediaUpload' ] );\n\t}, [] );\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t\tsetAttributes( {\n\t\t\tsrc: undefined,\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t} );\n\t\tsetTemporaryURL( undefined );\n\t}\n\n\tfunction onSelectImage( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: undefined,\n\t\t\t\talt: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\ttitle: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tsetTemporaryURL();\n\n\t\tlet mediaAttributes = pickRelevantMediaFiles( media, imageDefaultSize );\n\n\t\t// If a caption text was meanwhile written by the user,\n\t\t// make sure the text is not overwritten by empty captions.\n\t\tif ( captionRef.current && ! get( mediaAttributes, [ 'caption' ] ) ) {\n\t\t\tmediaAttributes = omit( mediaAttributes, [ 'caption' ] );\n\t\t}\n\n\t\tlet additionalAttributes;\n\t\t// Reset the dimension attributes if changing to a different image.\n\t\tif ( ! media.id || media.id !== id ) {\n\t\t\tadditionalAttributes = {\n\t\t\t\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\t// Fallback to size \"full\" if there's no default image size.\n\t\t\t\t// It means the image is smaller, and the block will use a full-size URL.\n\t\t\t\tsizeSlug: hasDefaultSize( media, imageDefaultSize )\n\t\t\t\t\t? imageDefaultSize\n\t\t\t\t\t: 'full',\n\t\t\t};\n\t\t} else {\n\t\t\t// Keep the same url when selecting the same file, so \"Image Size\"\n\t\t\t// option is not changed.\n\t\t\tadditionalAttributes = { url };\n\t\t}\n\n\t\t// Check if default link setting should be used.\n\t\tlet linkDestination = attributes.linkDestination;\n\t\tif ( ! linkDestination ) {\n\t\t\t// Use the WordPress option to determine the proper default.\n\t\t\t// The constants used in Gutenberg do not match WP options so a little more complicated than ideal.\n\t\t\t// TODO: fix this in a follow up PR, requires updating media-text and ui component.\n\t\t\tswitch (\n\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\tLINK_DESTINATION_NONE\n\t\t\t) {\n\t\t\t\tcase 'file':\n\t\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_MEDIA;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'post':\n\t\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_CUSTOM:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_CUSTOM;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_NONE:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_NONE;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Check if the image is linked to it's media.\n\t\tlet href;\n\t\tswitch ( linkDestination ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\thref = media.url;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\thref = media.link;\n\t\t\t\tbreak;\n\t\t}\n\t\tmediaAttributes.href = href;\n\n\t\tsetAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\t...additionalAttributes,\n\t\t\tlinkDestination,\n\t\t} );\n\t}\n\n\tfunction onSelectURL( newURL ) {\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: newURL,\n\t\t\t\tid: undefined,\n\t\t\t\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\tsizeSlug: imageDefaultSize,\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction updateAlignment( nextAlign ) {\n\t\tconst extraUpdatedAttributes = [ 'wide', 'full' ].includes( nextAlign )\n\t\t\t? { width: undefined, height: undefined }\n\t\t\t: {};\n\t\tsetAttributes( {\n\t\t\t...extraUpdatedAttributes,\n\t\t\talign: nextAlign,\n\t\t} );\n\t}\n\n\tlet isTemp = isTemporaryImage( id, url );\n\n\t// Upload a temporary image on mount.\n\tuseEffect( () => {\n\t\tif ( ! isTemp ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst file = getBlobByURL( url );\n\n\t\tif ( file ) {\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList: [ file ],\n\t\t\t\tonFileChange: ( [ img ] ) => {\n\t\t\t\t\tonSelectImage( img );\n\t\t\t\t},\n\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\tonError: ( message ) => {\n\t\t\t\t\tisTemp = false;\n\t\t\t\t\tonUploadError( message );\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\t// If an image is temporary, revoke the Blob url when it is uploaded (and is\n\t// no longer temporary).\n\tuseEffect( () => {\n\t\tif ( isTemp ) {\n\t\t\tsetTemporaryURL( url );\n\t\t\treturn;\n\t\t}\n\t\trevokeBlobURL( temporaryURL );\n\t}, [ isTemp, url ] );\n\n\tconst isExternal = isExternalImage( id, url );\n\tconst src = isExternal ? url : undefined;\n\tconst mediaPreview = !! url && (\n\t\t<img\n\t\t\talt={ __( 'Edit image' ) }\n\t\t\ttitle={ __( 'Edit image' ) }\n\t\t\tclassName={ 'edit-image-preview' }\n\t\t\tsrc={ url }\n\t\t/>\n\t);\n\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': temporaryURL,\n\t\t'is-resized': !! width || !! height,\n\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t'has-custom-border':\n\t\t\t!! borderProps.className || ! isEmpty( borderProps.style ),\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\treturn (\n\t\t<figure { ...blockProps }>\n\t\t\t{ ( temporaryURL || url ) && (\n\t\t\t\t<Image\n\t\t\t\t\ttemporaryURL={ temporaryURL }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonUploadError={ onUploadError }\n\t\t\t\t\tcontainerRef={ ref }\n\t\t\t\t\tcontext={ context }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! url && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<BlockAlignmentControl\n\t\t\t\t\t\tvalue={ align }\n\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<MediaPlaceholder\n\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\tnotices={ noticeUI }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tvalue={ { id, src } }\n\t\t\t\tmediaPreview={ mediaPreview }\n\t\t\t\tdisableMediaButtons={ temporaryURL || url }\n\t\t\t/>\n\t\t</figure>\n\t);\n}\n\nexport default withNotices( ImageEdit );\n"]}
@@ -251,12 +251,17 @@ class ImageEdit extends _element.Component {
251
251
  setAttributes,
252
252
  featuredImageId
253
253
  } = this.props;
254
+ const {
255
+ url
256
+ } = attributes;
254
257
 
255
258
  if (!previousProps.image && image) {
256
- const url = getUrlForSlug(image, attributes === null || attributes === void 0 ? void 0 : attributes.sizeSlug) || image.source_url;
257
- setAttributes({
258
- url
259
- });
259
+ if (!(0, _url.hasQueryArg)(url, 'w') && attributes !== null && attributes !== void 0 && attributes.sizeSlug) {
260
+ const updatedUrl = getUrlForSlug(image, attributes.sizeSlug) || image.source_url;
261
+ setAttributes({
262
+ url: updatedUrl
263
+ });
264
+ }
260
265
  }
261
266
 
262
267
  const {
@@ -574,7 +579,7 @@ class ImageEdit extends _element.Component {
574
579
  placeholder: (0, _i18n.__)('Add alt text'),
575
580
  label: (0, _i18n.__)('Alt Text'),
576
581
  icon: _icons.textColor,
577
- footerNote: (0, _element.createElement)(_element.Fragment, null, (0, _i18n.__)('Describe the purpose of the image. Leave empty if the image is purely decorative.'), (0, _element.createElement)(_components.FooterMessageLink, {
582
+ footerNote: (0, _element.createElement)(_element.Fragment, null, (0, _i18n.__)('Describe the purpose of the image. Leave empty if the image is purely decorative.'), ' ', (0, _element.createElement)(_components.FooterMessageLink, {
578
583
  href: 'https://www.w3.org/WAI/tutorials/images/decision-tree/',
579
584
  value: (0, _i18n.__)('What is alt text?')
580
585
  }))
@@ -652,7 +657,8 @@ class ImageEdit extends _element.Component {
652
657
  imageDefaultSize,
653
658
  context,
654
659
  featuredImageId,
655
- wasBlockJustInserted
660
+ wasBlockJustInserted,
661
+ shouldUseFastImage
656
662
  } = this.props;
657
663
  const {
658
664
  align,
@@ -792,6 +798,7 @@ class ImageEdit extends _element.Component {
792
798
  isSelected: isSelected && !isCaptionSelected,
793
799
  isUploadFailed: isUploadFailed,
794
800
  isUploadInProgress: isUploadInProgress,
801
+ shouldUseFastImage: shouldUseFastImage,
795
802
  onSelectMediaUploadOption: this.onSelectMediaUploadOption,
796
803
  openMediaOptions: openMediaOptions,
797
804
  retryMessage: retryMessage,
@@ -851,17 +858,20 @@ var _default = (0, _compose.compose)([(0, _data.withSelect)((select, props) => {
851
858
  } = props;
852
859
  const {
853
860
  imageSizes,
854
- imageDefaultSize
861
+ imageDefaultSize,
862
+ shouldUseFastImage
855
863
  } = getSettings();
856
864
  const isNotFileUrl = id && (0, _url.getProtocol)(url) !== 'file:';
857
865
  const featuredImageId = getEditedPostAttribute('featured_media');
858
866
  const shouldGetMedia = isSelected && isNotFileUrl || // Edge case to update the image after uploading if the block gets unselected
859
867
  // Check if it's the original image and not the resized one with queryparams.
860
868
  !isSelected && isNotFileUrl && url && !(0, _url.hasQueryArg)(url, 'w');
869
+ const image = shouldGetMedia ? getMedia(id) : null;
861
870
  return {
862
- image: shouldGetMedia ? getMedia(id) : null,
871
+ image,
863
872
  imageSizes,
864
873
  imageDefaultSize,
874
+ shouldUseFastImage,
865
875
  featuredImageId,
866
876
  wasBlockJustInserted: wasBlockJustInserted(clientId, 'inserter_menu')
867
877
  };