@wordpress/block-library 8.18.1-next.5a1d1283.0 → 8.19.1

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 (386) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +1 -1
  3. package/build/block/edit.js +53 -2
  4. package/build/block/edit.js.map +1 -1
  5. package/build/button/edit.js +7 -4
  6. package/build/button/edit.js.map +1 -1
  7. package/build/button/index.js +11 -2
  8. package/build/button/index.js.map +1 -1
  9. package/build/button/save.js +10 -4
  10. package/build/button/save.js.map +1 -1
  11. package/build/buttons/edit.js +12 -3
  12. package/build/buttons/edit.js.map +1 -1
  13. package/build/code/edit.js +8 -2
  14. package/build/code/edit.js.map +1 -1
  15. package/build/code/index.js +7 -1
  16. package/build/code/index.js.map +1 -1
  17. package/build/column/index.js +1 -0
  18. package/build/column/index.js.map +1 -1
  19. package/build/columns/index.js +2 -0
  20. package/build/columns/index.js.map +1 -1
  21. package/build/file/edit.native.js +1 -1
  22. package/build/file/edit.native.js.map +1 -1
  23. package/build/file/index.js +2 -1
  24. package/build/file/index.js.map +1 -1
  25. package/build/file/utils/index.js +1 -15
  26. package/build/file/utils/index.js.map +1 -1
  27. package/build/file/view.js +14 -1
  28. package/build/file/view.js.map +1 -1
  29. package/build/footnotes/edit.js +12 -2
  30. package/build/footnotes/edit.js.map +1 -1
  31. package/build/gallery/edit.js +1 -1
  32. package/build/gallery/edit.js.map +1 -1
  33. package/build/group/edit.js +0 -1
  34. package/build/group/edit.js.map +1 -1
  35. package/build/group/index.js +4 -0
  36. package/build/group/index.js.map +1 -1
  37. package/build/heading/edit.js +0 -1
  38. package/build/heading/edit.js.map +1 -1
  39. package/build/heading/index.js +2 -0
  40. package/build/heading/index.js.map +1 -1
  41. package/build/heading/transforms.js +3 -6
  42. package/build/heading/transforms.js.map +1 -1
  43. package/build/image/deprecated.js +191 -7
  44. package/build/image/deprecated.js.map +1 -1
  45. package/build/image/edit.js +27 -12
  46. package/build/image/edit.js.map +1 -1
  47. package/build/image/image.js +75 -40
  48. package/build/image/image.js.map +1 -1
  49. package/build/image/index.js +7 -4
  50. package/build/image/index.js.map +1 -1
  51. package/build/image/{view-interactivity.js → view.js} +1 -1
  52. package/build/image/view.js.map +1 -0
  53. package/build/list/deprecated.js +93 -1
  54. package/build/list/deprecated.js.map +1 -1
  55. package/build/list/edit.js +10 -10
  56. package/build/list/edit.js.map +1 -1
  57. package/build/list/ordered-list-settings.js +10 -10
  58. package/build/list/ordered-list-settings.js.map +1 -1
  59. package/build/list/save.js +4 -2
  60. package/build/list/save.js.map +1 -1
  61. package/build/list/utils.js +21 -2
  62. package/build/list/utils.js.map +1 -1
  63. package/build/navigation/constants.js +1 -1
  64. package/build/navigation/constants.js.map +1 -1
  65. package/build/navigation/index.js +4 -2
  66. package/build/navigation/index.js.map +1 -1
  67. package/build/navigation/view.js +168 -82
  68. package/build/navigation/view.js.map +1 -1
  69. package/build/navigation-link/edit.js +3 -9
  70. package/build/navigation-link/edit.js.map +1 -1
  71. package/build/navigation-link/transforms.js +24 -0
  72. package/build/navigation-link/transforms.js.map +1 -1
  73. package/build/page-list/edit.js +2 -1
  74. package/build/page-list/edit.js.map +1 -1
  75. package/build/pattern/edit.js +2 -0
  76. package/build/pattern/edit.js.map +1 -1
  77. package/build/post-comments-form/edit.js +10 -2
  78. package/build/post-comments-form/edit.js.map +1 -1
  79. package/build/post-comments-form/form.js +5 -3
  80. package/build/post-comments-form/form.js.map +1 -1
  81. package/build/post-content/edit.js +8 -7
  82. package/build/post-content/edit.js.map +1 -1
  83. package/build/post-content/index.js +3 -0
  84. package/build/post-content/index.js.map +1 -1
  85. package/build/post-featured-image/overlay.js +2 -1
  86. package/build/post-featured-image/overlay.js.map +1 -1
  87. package/build/preformatted/edit.js +4 -1
  88. package/build/preformatted/edit.js.map +1 -1
  89. package/build/preformatted/index.js +1 -1
  90. package/build/preformatted/index.js.map +1 -1
  91. package/build/pullquote/deprecated.js +6 -7
  92. package/build/pullquote/deprecated.js.map +1 -1
  93. package/build/query/edit/enhanced-pagination-modal.js +56 -0
  94. package/build/query/edit/enhanced-pagination-modal.js.map +1 -0
  95. package/build/query/edit/inspector-controls/enhanced-pagination-control.js +42 -0
  96. package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -0
  97. package/build/query/edit/inspector-controls/index.js +8 -25
  98. package/build/query/edit/inspector-controls/index.js.map +1 -1
  99. package/build/query/edit/query-content.js +8 -2
  100. package/build/query/edit/query-content.js.map +1 -1
  101. package/build/query/utils.js +19 -0
  102. package/build/query/utils.js.map +1 -1
  103. package/build/query/view.js +21 -6
  104. package/build/query/view.js.map +1 -1
  105. package/build/search/index.js +1 -0
  106. package/build/search/index.js.map +1 -1
  107. package/build/search/view.js +81 -150
  108. package/build/search/view.js.map +1 -1
  109. package/build/social-link/edit.native.js +3 -1
  110. package/build/social-link/edit.native.js.map +1 -1
  111. package/build/table/edit.js +7 -7
  112. package/build/table/edit.js.map +1 -1
  113. package/build/table-of-contents/edit.js +2 -130
  114. package/build/table-of-contents/edit.js.map +1 -1
  115. package/build/table-of-contents/hooks.js +145 -0
  116. package/build/table-of-contents/hooks.js.map +1 -0
  117. package/build/table-of-contents/index.js +2 -1
  118. package/build/table-of-contents/index.js.map +1 -1
  119. package/build/verse/edit.js +4 -1
  120. package/build/verse/edit.js.map +1 -1
  121. package/build/verse/index.js +1 -1
  122. package/build/verse/index.js.map +1 -1
  123. package/build-module/block/edit.js +54 -3
  124. package/build-module/block/edit.js.map +1 -1
  125. package/build-module/button/edit.js +7 -4
  126. package/build-module/button/edit.js.map +1 -1
  127. package/build-module/button/index.js +11 -2
  128. package/build-module/button/index.js.map +1 -1
  129. package/build-module/button/save.js +10 -4
  130. package/build-module/button/save.js.map +1 -1
  131. package/build-module/buttons/edit.js +12 -3
  132. package/build-module/buttons/edit.js.map +1 -1
  133. package/build-module/code/edit.js +8 -2
  134. package/build-module/code/edit.js.map +1 -1
  135. package/build-module/code/index.js +7 -1
  136. package/build-module/code/index.js.map +1 -1
  137. package/build-module/column/index.js +1 -0
  138. package/build-module/column/index.js.map +1 -1
  139. package/build-module/columns/index.js +2 -0
  140. package/build-module/columns/index.js.map +1 -1
  141. package/build-module/file/edit.native.js +1 -1
  142. package/build-module/file/edit.native.js.map +1 -1
  143. package/build-module/file/index.js +2 -1
  144. package/build-module/file/index.js.map +1 -1
  145. package/build-module/file/utils/index.js +0 -13
  146. package/build-module/file/utils/index.js.map +1 -1
  147. package/build-module/file/view.js +14 -2
  148. package/build-module/file/view.js.map +1 -1
  149. package/build-module/footnotes/edit.js +12 -2
  150. package/build-module/footnotes/edit.js.map +1 -1
  151. package/build-module/gallery/edit.js +1 -1
  152. package/build-module/gallery/edit.js.map +1 -1
  153. package/build-module/group/edit.js +0 -1
  154. package/build-module/group/edit.js.map +1 -1
  155. package/build-module/group/index.js +4 -0
  156. package/build-module/group/index.js.map +1 -1
  157. package/build-module/heading/edit.js +0 -1
  158. package/build-module/heading/edit.js.map +1 -1
  159. package/build-module/heading/index.js +2 -0
  160. package/build-module/heading/index.js.map +1 -1
  161. package/build-module/heading/transforms.js +3 -6
  162. package/build-module/heading/transforms.js.map +1 -1
  163. package/build-module/image/deprecated.js +191 -7
  164. package/build-module/image/deprecated.js.map +1 -1
  165. package/build-module/image/edit.js +27 -12
  166. package/build-module/image/edit.js.map +1 -1
  167. package/build-module/image/image.js +77 -42
  168. package/build-module/image/image.js.map +1 -1
  169. package/build-module/image/index.js +7 -4
  170. package/build-module/image/index.js.map +1 -1
  171. package/build-module/image/{view-interactivity.js → view.js} +1 -1
  172. package/build-module/image/view.js.map +1 -0
  173. package/build-module/list/deprecated.js +95 -3
  174. package/build-module/list/deprecated.js.map +1 -1
  175. package/build-module/list/edit.js +10 -10
  176. package/build-module/list/edit.js.map +1 -1
  177. package/build-module/list/ordered-list-settings.js +10 -10
  178. package/build-module/list/ordered-list-settings.js.map +1 -1
  179. package/build-module/list/save.js +4 -2
  180. package/build-module/list/save.js.map +1 -1
  181. package/build-module/list/utils.js +20 -2
  182. package/build-module/list/utils.js.map +1 -1
  183. package/build-module/navigation/constants.js +1 -1
  184. package/build-module/navigation/constants.js.map +1 -1
  185. package/build-module/navigation/index.js +4 -2
  186. package/build-module/navigation/index.js.map +1 -1
  187. package/build-module/navigation/view.js +168 -83
  188. package/build-module/navigation/view.js.map +1 -1
  189. package/build-module/navigation-link/edit.js +3 -9
  190. package/build-module/navigation-link/edit.js.map +1 -1
  191. package/build-module/navigation-link/transforms.js +24 -0
  192. package/build-module/navigation-link/transforms.js.map +1 -1
  193. package/build-module/page-list/edit.js +2 -1
  194. package/build-module/page-list/edit.js.map +1 -1
  195. package/build-module/pattern/edit.js +2 -0
  196. package/build-module/pattern/edit.js.map +1 -1
  197. package/build-module/post-comments-form/edit.js +10 -2
  198. package/build-module/post-comments-form/edit.js.map +1 -1
  199. package/build-module/post-comments-form/form.js +5 -3
  200. package/build-module/post-comments-form/form.js.map +1 -1
  201. package/build-module/post-content/edit.js +8 -7
  202. package/build-module/post-content/edit.js.map +1 -1
  203. package/build-module/post-content/index.js +3 -0
  204. package/build-module/post-content/index.js.map +1 -1
  205. package/build-module/post-featured-image/overlay.js +2 -1
  206. package/build-module/post-featured-image/overlay.js.map +1 -1
  207. package/build-module/preformatted/edit.js +4 -1
  208. package/build-module/preformatted/edit.js.map +1 -1
  209. package/build-module/preformatted/index.js +1 -1
  210. package/build-module/preformatted/index.js.map +1 -1
  211. package/build-module/pullquote/deprecated.js +6 -7
  212. package/build-module/pullquote/deprecated.js.map +1 -1
  213. package/build-module/query/edit/enhanced-pagination-modal.js +50 -0
  214. package/build-module/query/edit/enhanced-pagination-modal.js.map +1 -0
  215. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +35 -0
  216. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -0
  217. package/build-module/query/edit/inspector-controls/index.js +9 -26
  218. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  219. package/build-module/query/edit/query-content.js +8 -2
  220. package/build-module/query/edit/query-content.js.map +1 -1
  221. package/build-module/query/utils.js +17 -0
  222. package/build-module/query/utils.js.map +1 -1
  223. package/build-module/query/view.js +21 -6
  224. package/build-module/query/view.js.map +1 -1
  225. package/build-module/search/index.js +1 -0
  226. package/build-module/search/index.js.map +1 -1
  227. package/build-module/search/view.js +81 -151
  228. package/build-module/search/view.js.map +1 -1
  229. package/build-module/social-link/edit.native.js +3 -1
  230. package/build-module/social-link/edit.native.js.map +1 -1
  231. package/build-module/table/edit.js +7 -7
  232. package/build-module/table/edit.js.map +1 -1
  233. package/build-module/table-of-contents/edit.js +3 -131
  234. package/build-module/table-of-contents/edit.js.map +1 -1
  235. package/build-module/table-of-contents/hooks.js +137 -0
  236. package/build-module/table-of-contents/hooks.js.map +1 -0
  237. package/build-module/table-of-contents/index.js +2 -1
  238. package/build-module/table-of-contents/index.js.map +1 -1
  239. package/build-module/verse/edit.js +4 -1
  240. package/build-module/verse/edit.js.map +1 -1
  241. package/build-module/verse/index.js +1 -1
  242. package/build-module/verse/index.js.map +1 -1
  243. package/build-style/cover/style-rtl.css +9 -0
  244. package/build-style/cover/style.css +9 -0
  245. package/build-style/editor-rtl.css +15 -9
  246. package/build-style/editor.css +15 -9
  247. package/build-style/file/style-rtl.css +5 -0
  248. package/build-style/file/style.css +5 -0
  249. package/build-style/heading/style-rtl.css +13 -0
  250. package/build-style/heading/style.css +13 -0
  251. package/build-style/navigation-link/editor-rtl.css +0 -9
  252. package/build-style/navigation-link/editor.css +0 -9
  253. package/build-style/paragraph/editor-rtl.css +5 -0
  254. package/build-style/paragraph/editor.css +5 -0
  255. package/build-style/paragraph/style-rtl.css +5 -0
  256. package/build-style/paragraph/style.css +5 -0
  257. package/build-style/post-navigation-link/style-rtl.css +3 -0
  258. package/build-style/post-navigation-link/style.css +3 -0
  259. package/build-style/query/editor-rtl.css +10 -0
  260. package/build-style/query/editor.css +10 -0
  261. package/build-style/query/style-rtl.css +1 -1
  262. package/build-style/query/style.css +1 -1
  263. package/build-style/reset-rtl.css +27 -27
  264. package/build-style/reset.css +27 -27
  265. package/build-style/style-rtl.css +35 -0
  266. package/build-style/style.css +35 -0
  267. package/package.json +33 -34
  268. package/src/audio/test/__snapshots__/edit.native.js.snap +78 -106
  269. package/src/avatar/index.php +2 -2
  270. package/src/block/edit.js +58 -2
  271. package/src/block/test/edit.native.js +2 -3
  272. package/src/button/block.json +11 -2
  273. package/src/button/edit.js +27 -11
  274. package/src/button/save.js +10 -4
  275. package/src/buttons/edit.js +13 -3
  276. package/src/buttons/test/edit.native.js +28 -24
  277. package/src/calendar/index.php +2 -2
  278. package/src/code/block.json +2 -1
  279. package/src/code/edit.js +13 -1
  280. package/src/code/index.js +5 -0
  281. package/src/column/block.json +1 -0
  282. package/src/columns/block.json +2 -0
  283. package/src/comment-template/index.php +1 -1
  284. package/src/comments-pagination-next/index.php +1 -1
  285. package/src/comments-pagination-previous/index.php +1 -1
  286. package/src/cover/style.scss +12 -1
  287. package/src/cover/test/edit.js +10 -10
  288. package/src/cover/test/edit.native.js +18 -27
  289. package/src/embed/test/index.native.js +30 -45
  290. package/src/file/block.json +2 -1
  291. package/src/file/edit.native.js +1 -1
  292. package/src/file/index.php +21 -21
  293. package/src/file/style.scss +6 -1
  294. package/src/file/test/__snapshots__/edit.native.js.snap +162 -218
  295. package/src/file/utils/index.js +0 -15
  296. package/src/file/view.js +14 -5
  297. package/src/footnotes/edit.js +13 -1
  298. package/src/gallery/edit.js +1 -1
  299. package/src/gallery/index.php +1 -1
  300. package/src/group/block.json +4 -0
  301. package/src/group/edit.js +0 -1
  302. package/src/heading/block.json +2 -0
  303. package/src/heading/edit.js +0 -1
  304. package/src/heading/style.scss +4 -0
  305. package/src/heading/transforms.js +1 -6
  306. package/src/image/block.json +7 -4
  307. package/src/image/deprecated.js +210 -7
  308. package/src/image/edit.js +43 -29
  309. package/src/image/image.js +86 -43
  310. package/src/image/index.php +253 -28
  311. package/src/latest-posts/index.php +1 -1
  312. package/src/list/deprecated.js +84 -3
  313. package/src/list/edit.js +6 -3
  314. package/src/list/ordered-list-settings.js +20 -5
  315. package/src/list/save.js +10 -1
  316. package/src/list/test/edit.native.js +2 -4
  317. package/src/list/utils.js +22 -1
  318. package/src/navigation/block.json +4 -2
  319. package/src/navigation/constants.js +1 -0
  320. package/src/navigation/index.php +87 -123
  321. package/src/navigation/view.js +192 -96
  322. package/src/navigation-link/edit.js +21 -36
  323. package/src/navigation-link/editor.scss +0 -8
  324. package/src/navigation-link/transforms.js +22 -0
  325. package/src/page-list/edit.js +2 -1
  326. package/src/paragraph/editor.scss +5 -0
  327. package/src/paragraph/style.scss +5 -0
  328. package/src/pattern/edit.js +1 -0
  329. package/src/pattern/index.php +5 -5
  330. package/src/post-comments-form/edit.js +10 -0
  331. package/src/post-comments-form/form.js +7 -1
  332. package/src/post-content/block.json +3 -0
  333. package/src/post-content/edit.js +14 -6
  334. package/src/post-excerpt/index.php +2 -2
  335. package/src/post-featured-image/index.php +2 -2
  336. package/src/post-featured-image/overlay.js +1 -0
  337. package/src/post-navigation-link/index.php +0 -5
  338. package/src/post-navigation-link/style.scss +4 -0
  339. package/src/post-template/index.php +1 -1
  340. package/src/post-terms/index.php +5 -2
  341. package/src/preformatted/edit.js +5 -0
  342. package/src/preformatted/index.js +1 -1
  343. package/src/pullquote/deprecated.js +8 -13
  344. package/src/query/edit/enhanced-pagination-modal.js +65 -0
  345. package/src/query/edit/inspector-controls/enhanced-pagination-control.js +49 -0
  346. package/src/query/edit/inspector-controls/index.js +9 -45
  347. package/src/query/edit/query-content.js +8 -0
  348. package/src/query/editor.scss +10 -0
  349. package/src/query/index.php +31 -16
  350. package/src/query/style.scss +2 -2
  351. package/src/query/utils.js +22 -0
  352. package/src/query/view.js +19 -10
  353. package/src/query-pagination-next/index.php +2 -1
  354. package/src/query-pagination-previous/index.php +2 -1
  355. package/src/reset.scss +1 -1
  356. package/src/search/block.json +1 -0
  357. package/src/search/index.php +47 -4
  358. package/src/search/test/__snapshots__/edit.native.js.snap +265 -363
  359. package/src/search/view.js +70 -169
  360. package/src/social-link/edit.native.js +1 -1
  361. package/src/social-link/editor.native.scss +4 -0
  362. package/src/table/edit.js +21 -19
  363. package/src/table-of-contents/block.json +2 -1
  364. package/src/table-of-contents/edit.js +5 -162
  365. package/src/table-of-contents/hooks.js +156 -0
  366. package/src/verse/edit.js +5 -0
  367. package/src/verse/index.js +1 -1
  368. package/src/verse/test/edit.native.js +2 -3
  369. package/build/file/view-interactivity.js +0 -22
  370. package/build/file/view-interactivity.js.map +0 -1
  371. package/build/image/view-interactivity.js.map +0 -1
  372. package/build/navigation/view-interactivity.js +0 -172
  373. package/build/navigation/view-interactivity.js.map +0 -1
  374. package/build/navigation/view-modal.js +0 -115
  375. package/build/navigation/view-modal.js.map +0 -1
  376. package/build-module/file/view-interactivity.js +0 -18
  377. package/build-module/file/view-interactivity.js.map +0 -1
  378. package/build-module/image/view-interactivity.js.map +0 -1
  379. package/build-module/navigation/view-interactivity.js +0 -169
  380. package/build-module/navigation/view-interactivity.js.map +0 -1
  381. package/build-module/navigation/view-modal.js +0 -112
  382. package/build-module/navigation/view-modal.js.map +0 -1
  383. package/src/file/view-interactivity.js +0 -18
  384. package/src/navigation/view-interactivity.js +0 -196
  385. package/src/navigation/view-modal.js +0 -127
  386. /package/src/image/{view-interactivity.js → view.js} +0 -0
@@ -624,9 +624,6 @@ const v6 = {
624
624
  },
625
625
  supports: {
626
626
  anchor: true,
627
- behaviors: {
628
- lightbox: true
629
- },
630
627
  color: {
631
628
  text: false,
632
629
  background: false
@@ -798,9 +795,6 @@ const v7 = {
798
795
  },
799
796
  supports: {
800
797
  anchor: true,
801
- behaviors: {
802
- lightbox: true
803
- },
804
798
  color: {
805
799
  text: false,
806
800
  background: false
@@ -894,5 +888,195 @@ const v7 = {
894
888
  }, figure);
895
889
  }
896
890
  };
897
- export default [v7, v6, v5, v4, v3, v2, v1];
891
+ const v8 = {
892
+ attributes: {
893
+ align: {
894
+ type: 'string'
895
+ },
896
+ behaviors: {
897
+ type: 'object'
898
+ },
899
+ url: {
900
+ type: 'string',
901
+ source: 'attribute',
902
+ selector: 'img',
903
+ attribute: 'src',
904
+ __experimentalRole: 'content'
905
+ },
906
+ alt: {
907
+ type: 'string',
908
+ source: 'attribute',
909
+ selector: 'img',
910
+ attribute: 'alt',
911
+ default: '',
912
+ __experimentalRole: 'content'
913
+ },
914
+ caption: {
915
+ type: 'string',
916
+ source: 'html',
917
+ selector: 'figcaption',
918
+ __experimentalRole: 'content'
919
+ },
920
+ title: {
921
+ type: 'string',
922
+ source: 'attribute',
923
+ selector: 'img',
924
+ attribute: 'title',
925
+ __experimentalRole: 'content'
926
+ },
927
+ href: {
928
+ type: 'string',
929
+ source: 'attribute',
930
+ selector: 'figure > a',
931
+ attribute: 'href',
932
+ __experimentalRole: 'content'
933
+ },
934
+ rel: {
935
+ type: 'string',
936
+ source: 'attribute',
937
+ selector: 'figure > a',
938
+ attribute: 'rel'
939
+ },
940
+ linkClass: {
941
+ type: 'string',
942
+ source: 'attribute',
943
+ selector: 'figure > a',
944
+ attribute: 'class'
945
+ },
946
+ id: {
947
+ type: 'number',
948
+ __experimentalRole: 'content'
949
+ },
950
+ width: {
951
+ type: 'string'
952
+ },
953
+ height: {
954
+ type: 'string'
955
+ },
956
+ aspectRatio: {
957
+ type: 'string'
958
+ },
959
+ scale: {
960
+ type: 'string'
961
+ },
962
+ sizeSlug: {
963
+ type: 'string'
964
+ },
965
+ linkDestination: {
966
+ type: 'string'
967
+ },
968
+ linkTarget: {
969
+ type: 'string',
970
+ source: 'attribute',
971
+ selector: 'figure > a',
972
+ attribute: 'target'
973
+ }
974
+ },
975
+ supports: {
976
+ anchor: true,
977
+ color: {
978
+ text: false,
979
+ background: false
980
+ },
981
+ filter: {
982
+ duotone: true
983
+ },
984
+ __experimentalBorder: {
985
+ color: true,
986
+ radius: true,
987
+ width: true,
988
+ __experimentalSkipSerialization: true,
989
+ __experimentalDefaultControls: {
990
+ color: true,
991
+ radius: true,
992
+ width: true
993
+ }
994
+ }
995
+ },
996
+ migrate({
997
+ width,
998
+ height,
999
+ ...attributes
1000
+ }) {
1001
+ const {
1002
+ behaviors: {
1003
+ lightbox: {
1004
+ enabled
1005
+ }
1006
+ }
1007
+ } = attributes;
1008
+ const newAttributes = {
1009
+ ...attributes,
1010
+ lightbox: {
1011
+ enabled
1012
+ }
1013
+ };
1014
+ delete newAttributes.behaviors;
1015
+ return newAttributes;
1016
+ },
1017
+ isEligible(attributes) {
1018
+ return !!attributes.behaviors;
1019
+ },
1020
+ save({
1021
+ attributes
1022
+ }) {
1023
+ const {
1024
+ url,
1025
+ alt,
1026
+ caption,
1027
+ align,
1028
+ href,
1029
+ rel,
1030
+ linkClass,
1031
+ width,
1032
+ height,
1033
+ aspectRatio,
1034
+ scale,
1035
+ id,
1036
+ linkTarget,
1037
+ sizeSlug,
1038
+ title
1039
+ } = attributes;
1040
+ const newRel = !rel ? undefined : rel;
1041
+ const borderProps = getBorderClassesAndStyles(attributes);
1042
+ const classes = classnames({
1043
+ [`align${align}`]: align,
1044
+ [`size-${sizeSlug}`]: sizeSlug,
1045
+ 'is-resized': width || height,
1046
+ 'has-custom-border': !!borderProps.className || borderProps.style && Object.keys(borderProps.style).length > 0
1047
+ });
1048
+ const imageClasses = classnames(borderProps.className, {
1049
+ [`wp-image-${id}`]: !!id
1050
+ });
1051
+ const image = createElement("img", {
1052
+ src: url,
1053
+ alt: alt,
1054
+ className: imageClasses || undefined,
1055
+ style: {
1056
+ ...borderProps.style,
1057
+ aspectRatio,
1058
+ objectFit: scale,
1059
+ width,
1060
+ height
1061
+ },
1062
+ title: title
1063
+ });
1064
+ const figure = createElement(Fragment, null, href ? createElement("a", {
1065
+ className: linkClass,
1066
+ href: href,
1067
+ target: linkTarget,
1068
+ rel: newRel
1069
+ }, image) : image, !RichText.isEmpty(caption) && createElement(RichText.Content, {
1070
+ className: __experimentalGetElementClassName('caption'),
1071
+ tagName: "figcaption",
1072
+ value: caption
1073
+ }));
1074
+ return createElement("figure", {
1075
+ ...useBlockProps.save({
1076
+ className: classes
1077
+ })
1078
+ }, figure);
1079
+ }
1080
+ };
1081
+ export default [v8, v7, v6, v5, v4, v3, v2, v1];
898
1082
  //# sourceMappingURL=deprecated.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","RichText","useBlockProps","__experimentalGetElementClassName","__experimentalGetBorderClassesAndStyles","getBorderClassesAndStyles","v1","attributes","url","type","source","selector","attribute","alt","default","caption","href","id","align","width","height","save","extraImageProps","image","createElement","src","figureStyle","maxWidth","className","style","isEmpty","Content","tagName","value","v2","v3","linkDestination","classes","v4","title","rel","linkClass","sizeSlug","linkTarget","supports","anchor","newRel","undefined","figure","Fragment","target","v5","color","__experimentalDuotone","text","background","__experimentalBorder","radius","__experimentalDefaultControls","__experimentalStyle","spacing","margin","v6","__experimentalRole","aspectRatio","scale","behaviors","lightbox","filter","duotone","__experimentalSkipSerialization","borderProps","Object","keys","length","imageClasses","objectFit","v7","migrate"],"sources":["@wordpress/block-library/src/image/deprecated.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\t__experimentalGetElementClassName,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n} from '@wordpress/block-editor';\n\n/**\n * Deprecation for adding the `wp-image-${id}` class to the image block for\n * responsive images.\n *\n * @see https://github.com/WordPress/gutenberg/pull/4898\n */\nconst v1 = {\n\tattributes: {\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'array',\n\t\t\tsource: 'children',\n\t\t\tselector: 'figcaption',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { url, alt, caption, align, href, width, height } = attributes;\n\t\tconst extraImageProps = width || height ? { width, height } : {};\n\t\tconst image = <img src={ url } alt={ alt } { ...extraImageProps } />;\n\n\t\tlet figureStyle = {};\n\n\t\tif ( width ) {\n\t\t\tfigureStyle = { width };\n\t\t} else if ( align === 'left' || align === 'right' ) {\n\t\t\tfigureStyle = { maxWidth: '50%' };\n\t\t}\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\tclassName={ align ? `align${ align }` : null }\n\t\t\t\tstyle={ figureStyle }\n\t\t\t>\n\t\t\t\t{ href ? <a href={ href }>{ image }</a> : image }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n/**\n * Deprecation for adding the `is-resized` class to the image block to fix\n * captions on resized images.\n *\n * @see https://github.com/WordPress/gutenberg/pull/6496\n */\nconst v2 = {\n\tattributes: {\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'array',\n\t\t\tsource: 'children',\n\t\t\tselector: 'figcaption',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { url, alt, caption, align, href, width, height, id } =\n\t\t\tattributes;\n\n\t\tconst image = (\n\t\t\t<img\n\t\t\t\tsrc={ url }\n\t\t\t\talt={ alt }\n\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t/>\n\t\t);\n\n\t\treturn (\n\t\t\t<figure className={ align ? `align${ align }` : null }>\n\t\t\t\t{ href ? <a href={ href }>{ image }</a> : image }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n/**\n * Deprecation for image floats including a wrapping div.\n *\n * @see https://github.com/WordPress/gutenberg/pull/7721\n */\nconst v3 = {\n\tattributes: {\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'array',\n\t\t\tsource: 'children',\n\t\t\tselector: 'figcaption',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tlinkDestination: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { url, alt, caption, align, href, width, height, id } =\n\t\t\tattributes;\n\n\t\tconst classes = classnames( {\n\t\t\t[ `align${ align }` ]: align,\n\t\t\t'is-resized': width || height,\n\t\t} );\n\n\t\tconst image = (\n\t\t\t<img\n\t\t\t\tsrc={ url }\n\t\t\t\talt={ alt }\n\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t/>\n\t\t);\n\n\t\treturn (\n\t\t\t<figure className={ classes }>\n\t\t\t\t{ href ? <a href={ href }>{ image }</a> : image }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n/**\n * Deprecation for removing the outer div wrapper around aligned images.\n *\n * @see https://github.com/WordPress/gutenberg/pull/38657\n */\nconst v4 = {\n\tattributes: {\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'title',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tlinkClass: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'class',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkDestination: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'target',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\turl,\n\t\t\talt,\n\t\t\tcaption,\n\t\t\talign,\n\t\t\thref,\n\t\t\trel,\n\t\t\tlinkClass,\n\t\t\twidth,\n\t\t\theight,\n\t\t\tid,\n\t\t\tlinkTarget,\n\t\t\tsizeSlug,\n\t\t\ttitle,\n\t\t} = attributes;\n\n\t\tconst newRel = ! rel ? undefined : rel;\n\n\t\tconst classes = classnames( {\n\t\t\t[ `align${ align }` ]: align,\n\t\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t\t'is-resized': width || height,\n\t\t} );\n\n\t\tconst image = (\n\t\t\t<img\n\t\t\t\tsrc={ url }\n\t\t\t\talt={ alt }\n\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t\ttitle={ title }\n\t\t\t/>\n\t\t);\n\n\t\tconst figure = (\n\t\t\t<>\n\t\t\t\t{ href ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\n\t\tif ( 'left' === align || 'right' === align || 'center' === align ) {\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save() }>\n\t\t\t\t\t<figure className={ classes }>{ figure }</figure>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save( { className: classes } ) }>\n\t\t\t\t{ figure }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n/**\n * Deprecation for moving existing border radius styles onto the inner img\n * element where new border block support styles must be applied.\n * It will also add a new `.has-custom-border` class for existing blocks\n * with border radii set. This class is required to improve caption position\n * and styling when an image within a gallery has a custom border or\n * rounded corners.\n *\n * @see https://github.com/WordPress/gutenberg/pull/31366\n */\nconst v5 = {\n\tattributes: {\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'title',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tlinkClass: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'class',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkDestination: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'target',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\tcolor: {\n\t\t\t__experimentalDuotone: 'img',\n\t\t\ttext: false,\n\t\t\tbackground: false,\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tradius: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tradius: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalStyle: {\n\t\t\tspacing: {\n\t\t\t\tmargin: '0 0 1em 0',\n\t\t\t},\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\turl,\n\t\t\talt,\n\t\t\tcaption,\n\t\t\talign,\n\t\t\thref,\n\t\t\trel,\n\t\t\tlinkClass,\n\t\t\twidth,\n\t\t\theight,\n\t\t\tid,\n\t\t\tlinkTarget,\n\t\t\tsizeSlug,\n\t\t\ttitle,\n\t\t} = attributes;\n\n\t\tconst newRel = ! rel ? undefined : rel;\n\n\t\tconst classes = classnames( {\n\t\t\t[ `align${ align }` ]: align,\n\t\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t\t'is-resized': width || height,\n\t\t} );\n\n\t\tconst image = (\n\t\t\t<img\n\t\t\t\tsrc={ url }\n\t\t\t\talt={ alt }\n\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t\ttitle={ title }\n\t\t\t/>\n\t\t);\n\n\t\tconst figure = (\n\t\t\t<>\n\t\t\t\t{ href ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save( { className: classes } ) }>\n\t\t\t\t{ figure }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n/**\n * Deprecation for adding width and height as style rules on the inner img.\n *\n * @see https://github.com/WordPress/gutenberg/pull/31366\n */\nconst v6 = {\n\tattributes: {\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'title',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'href',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tlinkClass: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'class',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'number',\n\t\t},\n\t\taspectRatio: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tscale: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkDestination: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'target',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\tbehaviors: {\n\t\t\tlightbox: true,\n\t\t},\n\t\tcolor: {\n\t\t\ttext: false,\n\t\t\tbackground: false,\n\t\t},\n\t\tfilter: {\n\t\t\tduotone: true,\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tcolor: true,\n\t\t\tradius: true,\n\t\t\twidth: true,\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tcolor: true,\n\t\t\t\tradius: true,\n\t\t\t\twidth: true,\n\t\t\t},\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\turl,\n\t\t\talt,\n\t\t\tcaption,\n\t\t\talign,\n\t\t\thref,\n\t\t\trel,\n\t\t\tlinkClass,\n\t\t\twidth,\n\t\t\theight,\n\t\t\taspectRatio,\n\t\t\tscale,\n\t\t\tid,\n\t\t\tlinkTarget,\n\t\t\tsizeSlug,\n\t\t\ttitle,\n\t\t} = attributes;\n\n\t\tconst newRel = ! rel ? undefined : rel;\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\n\t\tconst classes = classnames( {\n\t\t\t[ `align${ align }` ]: align,\n\t\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t\t'is-resized': width || height,\n\t\t\t'has-custom-border':\n\t\t\t\t!! borderProps.className ||\n\t\t\t\t( borderProps.style &&\n\t\t\t\t\tObject.keys( borderProps.style ).length > 0 ),\n\t\t} );\n\n\t\tconst imageClasses = classnames( borderProps.className, {\n\t\t\t[ `wp-image-${ id }` ]: !! id,\n\t\t} );\n\n\t\tconst image = (\n\t\t\t<img\n\t\t\t\tsrc={ url }\n\t\t\t\talt={ alt }\n\t\t\t\tclassName={ imageClasses || undefined }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\taspectRatio,\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t} }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t\ttitle={ title }\n\t\t\t/>\n\t\t);\n\n\t\tconst figure = (\n\t\t\t<>\n\t\t\t\t{ href ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save( { className: classes } ) }>\n\t\t\t\t{ figure }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n/**\n * Deprecation for converting to string width and height block attributes and\n * removing the width and height img element attributes which are not needed\n * as they get added by the TODO hook.\n *\n * @see https://github.com/WordPress/gutenberg/pull/53274\n */\nconst v7 = {\n\tattributes: {\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'title',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'href',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tlinkClass: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'class',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'number',\n\t\t},\n\t\taspectRatio: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tscale: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkDestination: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'target',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\tbehaviors: {\n\t\t\tlightbox: true,\n\t\t},\n\t\tcolor: {\n\t\t\ttext: false,\n\t\t\tbackground: false,\n\t\t},\n\t\tfilter: {\n\t\t\tduotone: true,\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tcolor: true,\n\t\t\tradius: true,\n\t\t\twidth: true,\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tcolor: true,\n\t\t\t\tradius: true,\n\t\t\t\twidth: true,\n\t\t\t},\n\t\t},\n\t},\n\tmigrate( { width, height, ...attributes } ) {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\twidth: `${ width }px`,\n\t\t\theight: `${ height }px`,\n\t\t};\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\turl,\n\t\t\talt,\n\t\t\tcaption,\n\t\t\talign,\n\t\t\thref,\n\t\t\trel,\n\t\t\tlinkClass,\n\t\t\twidth,\n\t\t\theight,\n\t\t\taspectRatio,\n\t\t\tscale,\n\t\t\tid,\n\t\t\tlinkTarget,\n\t\t\tsizeSlug,\n\t\t\ttitle,\n\t\t} = attributes;\n\n\t\tconst newRel = ! rel ? undefined : rel;\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\n\t\tconst classes = classnames( {\n\t\t\t[ `align${ align }` ]: align,\n\t\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t\t'is-resized': width || height,\n\t\t\t'has-custom-border':\n\t\t\t\t!! borderProps.className ||\n\t\t\t\t( borderProps.style &&\n\t\t\t\t\tObject.keys( borderProps.style ).length > 0 ),\n\t\t} );\n\n\t\tconst imageClasses = classnames( borderProps.className, {\n\t\t\t[ `wp-image-${ id }` ]: !! id,\n\t\t} );\n\n\t\tconst image = (\n\t\t\t<img\n\t\t\t\tsrc={ url }\n\t\t\t\talt={ alt }\n\t\t\t\tclassName={ imageClasses || undefined }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\taspectRatio,\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\twidth,\n\t\t\t\t\theight,\n\t\t\t\t} }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t\ttitle={ title }\n\t\t\t/>\n\t\t);\n\n\t\tconst figure = (\n\t\t\t<>\n\t\t\t\t{ href ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save( { className: classes } ) }>\n\t\t\t\t{ figure }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\nexport default [ v7, v6, v5, v4, v3, v2, v1 ];\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SACCC,QAAQ,EACRC,aAAa,EACbC,iCAAiC,EACjCC,uCAAuC,IAAIC,yBAAyB,QAC9D,yBAAyB;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,EAAE,GAAG;EACVC,UAAU,EAAE;IACXC,GAAG,EAAE;MACJC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,KAAK;MACfC,SAAS,EAAE;IACZ,CAAC;IACDC,GAAG,EAAE;MACJJ,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,KAAK;MACfC,SAAS,EAAE,KAAK;MAChBE,OAAO,EAAE;IACV,CAAC;IACDC,OAAO,EAAE;MACRN,IAAI,EAAE,OAAO;MACbC,MAAM,EAAE,UAAU;MAClBC,QAAQ,EAAE;IACX,CAAC;IACDK,IAAI,EAAE;MACLP,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,GAAG;MACbC,SAAS,EAAE;IACZ,CAAC;IACDK,EAAE,EAAE;MACHR,IAAI,EAAE;IACP,CAAC;IACDS,KAAK,EAAE;MACNT,IAAI,EAAE;IACP,CAAC;IACDU,KAAK,EAAE;MACNV,IAAI,EAAE;IACP,CAAC;IACDW,MAAM,EAAE;MACPX,IAAI,EAAE;IACP;EACD,CAAC;EACDY,IAAIA,CAAE;IAAEd;EAAW,CAAC,EAAG;IACtB,MAAM;MAAEC,GAAG;MAAEK,GAAG;MAAEE,OAAO;MAAEG,KAAK;MAAEF,IAAI;MAAEG,KAAK;MAAEC;IAAO,CAAC,GAAGb,UAAU;IACpE,MAAMe,eAAe,GAAGH,KAAK,IAAIC,MAAM,GAAG;MAAED,KAAK;MAAEC;IAAO,CAAC,GAAG,CAAC,CAAC;IAChE,MAAMG,KAAK,GAAGC,aAAA;MAAKC,GAAG,EAAGjB,GAAK;MAACK,GAAG,EAAGA,GAAK;MAAA,GAAMS;IAAe,CAAI,CAAC;IAEpE,IAAII,WAAW,GAAG,CAAC,CAAC;IAEpB,IAAKP,KAAK,EAAG;MACZO,WAAW,GAAG;QAAEP;MAAM,CAAC;IACxB,CAAC,MAAM,IAAKD,KAAK,KAAK,MAAM,IAAIA,KAAK,KAAK,OAAO,EAAG;MACnDQ,WAAW,GAAG;QAAEC,QAAQ,EAAE;MAAM,CAAC;IAClC;IAEA,OACCH,aAAA;MACCI,SAAS,EAAGV,KAAK,GAAI,QAAQA,KAAO,EAAC,GAAG,IAAM;MAC9CW,KAAK,EAAGH;IAAa,GAEnBV,IAAI,GAAGQ,aAAA;MAAGR,IAAI,EAAGA;IAAM,GAAGO,KAAU,CAAC,GAAGA,KAAK,EAC7C,CAAEtB,QAAQ,CAAC6B,OAAO,CAAEf,OAAQ,CAAC,IAC9BS,aAAA,CAACvB,QAAQ,CAAC8B,OAAO;MAACC,OAAO,EAAC,YAAY;MAACC,KAAK,EAAGlB;IAAS,CAAE,CAEpD,CAAC;EAEX;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,MAAMmB,EAAE,GAAG;EACV3B,UAAU,EAAE;IACXC,GAAG,EAAE;MACJC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,KAAK;MACfC,SAAS,EAAE;IACZ,CAAC;IACDC,GAAG,EAAE;MACJJ,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,KAAK;MACfC,SAAS,EAAE,KAAK;MAChBE,OAAO,EAAE;IACV,CAAC;IACDC,OAAO,EAAE;MACRN,IAAI,EAAE,OAAO;MACbC,MAAM,EAAE,UAAU;MAClBC,QAAQ,EAAE;IACX,CAAC;IACDK,IAAI,EAAE;MACLP,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,GAAG;MACbC,SAAS,EAAE;IACZ,CAAC;IACDK,EAAE,EAAE;MACHR,IAAI,EAAE;IACP,CAAC;IACDS,KAAK,EAAE;MACNT,IAAI,EAAE;IACP,CAAC;IACDU,KAAK,EAAE;MACNV,IAAI,EAAE;IACP,CAAC;IACDW,MAAM,EAAE;MACPX,IAAI,EAAE;IACP;EACD,CAAC;EACDY,IAAIA,CAAE;IAAEd;EAAW,CAAC,EAAG;IACtB,MAAM;MAAEC,GAAG;MAAEK,GAAG;MAAEE,OAAO;MAAEG,KAAK;MAAEF,IAAI;MAAEG,KAAK;MAAEC,MAAM;MAAEH;IAAG,CAAC,GAC1DV,UAAU;IAEX,MAAMgB,KAAK,GACVC,aAAA;MACCC,GAAG,EAAGjB,GAAK;MACXK,GAAG,EAAGA,GAAK;MACXe,SAAS,EAAGX,EAAE,GAAI,YAAYA,EAAI,EAAC,GAAG,IAAM;MAC5CE,KAAK,EAAGA,KAAO;MACfC,MAAM,EAAGA;IAAQ,CACjB,CACD;IAED,OACCI,aAAA;MAAQI,SAAS,EAAGV,KAAK,GAAI,QAAQA,KAAO,EAAC,GAAG;IAAM,GACnDF,IAAI,GAAGQ,aAAA;MAAGR,IAAI,EAAGA;IAAM,GAAGO,KAAU,CAAC,GAAGA,KAAK,EAC7C,CAAEtB,QAAQ,CAAC6B,OAAO,CAAEf,OAAQ,CAAC,IAC9BS,aAAA,CAACvB,QAAQ,CAAC8B,OAAO;MAACC,OAAO,EAAC,YAAY;MAACC,KAAK,EAAGlB;IAAS,CAAE,CAEpD,CAAC;EAEX;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAMoB,EAAE,GAAG;EACV5B,UAAU,EAAE;IACXC,GAAG,EAAE;MACJC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,KAAK;MACfC,SAAS,EAAE;IACZ,CAAC;IACDC,GAAG,EAAE;MACJJ,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,KAAK;MACfC,SAAS,EAAE,KAAK;MAChBE,OAAO,EAAE;IACV,CAAC;IACDC,OAAO,EAAE;MACRN,IAAI,EAAE,OAAO;MACbC,MAAM,EAAE,UAAU;MAClBC,QAAQ,EAAE;IACX,CAAC;IACDK,IAAI,EAAE;MACLP,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,YAAY;MACtBC,SAAS,EAAE;IACZ,CAAC;IACDK,EAAE,EAAE;MACHR,IAAI,EAAE;IACP,CAAC;IACDS,KAAK,EAAE;MACNT,IAAI,EAAE;IACP,CAAC;IACDU,KAAK,EAAE;MACNV,IAAI,EAAE;IACP,CAAC;IACDW,MAAM,EAAE;MACPX,IAAI,EAAE;IACP,CAAC;IACD2B,eAAe,EAAE;MAChB3B,IAAI,EAAE,QAAQ;MACdK,OAAO,EAAE;IACV;EACD,CAAC;EACDO,IAAIA,CAAE;IAAEd;EAAW,CAAC,EAAG;IACtB,MAAM;MAAEC,GAAG;MAAEK,GAAG;MAAEE,OAAO;MAAEG,KAAK;MAAEF,IAAI;MAAEG,KAAK;MAAEC,MAAM;MAAEH;IAAG,CAAC,GAC1DV,UAAU;IAEX,MAAM8B,OAAO,GAAGrC,UAAU,CAAE;MAC3B,CAAG,QAAQkB,KAAO,EAAC,GAAIA,KAAK;MAC5B,YAAY,EAAEC,KAAK,IAAIC;IACxB,CAAE,CAAC;IAEH,MAAMG,KAAK,GACVC,aAAA;MACCC,GAAG,EAAGjB,GAAK;MACXK,GAAG,EAAGA,GAAK;MACXe,SAAS,EAAGX,EAAE,GAAI,YAAYA,EAAI,EAAC,GAAG,IAAM;MAC5CE,KAAK,EAAGA,KAAO;MACfC,MAAM,EAAGA;IAAQ,CACjB,CACD;IAED,OACCI,aAAA;MAAQI,SAAS,EAAGS;IAAS,GAC1BrB,IAAI,GAAGQ,aAAA;MAAGR,IAAI,EAAGA;IAAM,GAAGO,KAAU,CAAC,GAAGA,KAAK,EAC7C,CAAEtB,QAAQ,CAAC6B,OAAO,CAAEf,OAAQ,CAAC,IAC9BS,aAAA,CAACvB,QAAQ,CAAC8B,OAAO;MAACC,OAAO,EAAC,YAAY;MAACC,KAAK,EAAGlB;IAAS,CAAE,CAEpD,CAAC;EAEX;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAMuB,EAAE,GAAG;EACV/B,UAAU,EAAE;IACXW,KAAK,EAAE;MACNT,IAAI,EAAE;IACP,CAAC;IACDD,GAAG,EAAE;MACJC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,KAAK;MACfC,SAAS,EAAE;IACZ,CAAC;IACDC,GAAG,EAAE;MACJJ,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,KAAK;MACfC,SAAS,EAAE,KAAK;MAChBE,OAAO,EAAE;IACV,CAAC;IACDC,OAAO,EAAE;MACRN,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,MAAM;MACdC,QAAQ,EAAE;IACX,CAAC;IACD4B,KAAK,EAAE;MACN9B,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,KAAK;MACfC,SAAS,EAAE;IACZ,CAAC;IACDI,IAAI,EAAE;MACLP,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,YAAY;MACtBC,SAAS,EAAE;IACZ,CAAC;IACD4B,GAAG,EAAE;MACJ/B,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,YAAY;MACtBC,SAAS,EAAE;IACZ,CAAC;IACD6B,SAAS,EAAE;MACVhC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,YAAY;MACtBC,SAAS,EAAE;IACZ,CAAC;IACDK,EAAE,EAAE;MACHR,IAAI,EAAE;IACP,CAAC;IACDU,KAAK,EAAE;MACNV,IAAI,EAAE;IACP,CAAC;IACDW,MAAM,EAAE;MACPX,IAAI,EAAE;IACP,CAAC;IACDiC,QAAQ,EAAE;MACTjC,IAAI,EAAE;IACP,CAAC;IACD2B,eAAe,EAAE;MAChB3B,IAAI,EAAE;IACP,CAAC;IACDkC,UAAU,EAAE;MACXlC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,YAAY;MACtBC,SAAS,EAAE;IACZ;EACD,CAAC;EACDgC,QAAQ,EAAE;IACTC,MAAM,EAAE;EACT,CAAC;EACDxB,IAAIA,CAAE;IAAEd;EAAW,CAAC,EAAG;IACtB,MAAM;MACLC,GAAG;MACHK,GAAG;MACHE,OAAO;MACPG,KAAK;MACLF,IAAI;MACJwB,GAAG;MACHC,SAAS;MACTtB,KAAK;MACLC,MAAM;MACNH,EAAE;MACF0B,UAAU;MACVD,QAAQ;MACRH;IACD,CAAC,GAAGhC,UAAU;IAEd,MAAMuC,MAAM,GAAG,CAAEN,GAAG,GAAGO,SAAS,GAAGP,GAAG;IAEtC,MAAMH,OAAO,GAAGrC,UAAU,CAAE;MAC3B,CAAG,QAAQkB,KAAO,EAAC,GAAIA,KAAK;MAC5B,CAAG,QAAQwB,QAAU,EAAC,GAAIA,QAAQ;MAClC,YAAY,EAAEvB,KAAK,IAAIC;IACxB,CAAE,CAAC;IAEH,MAAMG,KAAK,GACVC,aAAA;MACCC,GAAG,EAAGjB,GAAK;MACXK,GAAG,EAAGA,GAAK;MACXe,SAAS,EAAGX,EAAE,GAAI,YAAYA,EAAI,EAAC,GAAG,IAAM;MAC5CE,KAAK,EAAGA,KAAO;MACfC,MAAM,EAAGA,MAAQ;MACjBmB,KAAK,EAAGA;IAAO,CACf,CACD;IAED,MAAMS,MAAM,GACXxB,aAAA,CAAAyB,QAAA,QACGjC,IAAI,GACLQ,aAAA;MACCI,SAAS,EAAGa,SAAW;MACvBzB,IAAI,EAAGA,IAAM;MACbkC,MAAM,EAAGP,UAAY;MACrBH,GAAG,EAAGM;IAAQ,GAEZvB,KACA,CAAC,GAEJA,KACA,EACC,CAAEtB,QAAQ,CAAC6B,OAAO,CAAEf,OAAQ,CAAC,IAC9BS,aAAA,CAACvB,QAAQ,CAAC8B,OAAO;MAACC,OAAO,EAAC,YAAY;MAACC,KAAK,EAAGlB;IAAS,CAAE,CAE1D,CACF;IAED,IAAK,MAAM,KAAKG,KAAK,IAAI,OAAO,KAAKA,KAAK,IAAI,QAAQ,KAAKA,KAAK,EAAG;MAClE,OACCM,aAAA;QAAA,GAAUtB,aAAa,CAACmB,IAAI,CAAC;MAAC,GAC7BG,aAAA;QAAQI,SAAS,EAAGS;MAAS,GAAGW,MAAgB,CAC5C,CAAC;IAER;IAEA,OACCxB,aAAA;MAAA,GAAatB,aAAa,CAACmB,IAAI,CAAE;QAAEO,SAAS,EAAES;MAAQ,CAAE;IAAC,GACtDW,MACK,CAAC;EAEX;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMG,EAAE,GAAG;EACV5C,UAAU,EAAE;IACXW,KAAK,EAAE;MACNT,IAAI,EAAE;IACP,CAAC;IACDD,GAAG,EAAE;MACJC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,KAAK;MACfC,SAAS,EAAE;IACZ,CAAC;IACDC,GAAG,EAAE;MACJJ,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,KAAK;MACfC,SAAS,EAAE,KAAK;MAChBE,OAAO,EAAE;IACV,CAAC;IACDC,OAAO,EAAE;MACRN,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,MAAM;MACdC,QAAQ,EAAE;IACX,CAAC;IACD4B,KAAK,EAAE;MACN9B,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,KAAK;MACfC,SAAS,EAAE;IACZ,CAAC;IACDI,IAAI,EAAE;MACLP,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,YAAY;MACtBC,SAAS,EAAE;IACZ,CAAC;IACD4B,GAAG,EAAE;MACJ/B,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,YAAY;MACtBC,SAAS,EAAE;IACZ,CAAC;IACD6B,SAAS,EAAE;MACVhC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,YAAY;MACtBC,SAAS,EAAE;IACZ,CAAC;IACDK,EAAE,EAAE;MACHR,IAAI,EAAE;IACP,CAAC;IACDU,KAAK,EAAE;MACNV,IAAI,EAAE;IACP,CAAC;IACDW,MAAM,EAAE;MACPX,IAAI,EAAE;IACP,CAAC;IACDiC,QAAQ,EAAE;MACTjC,IAAI,EAAE;IACP,CAAC;IACD2B,eAAe,EAAE;MAChB3B,IAAI,EAAE;IACP,CAAC;IACDkC,UAAU,EAAE;MACXlC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,YAAY;MACtBC,SAAS,EAAE;IACZ;EACD,CAAC;EACDgC,QAAQ,EAAE;IACTC,MAAM,EAAE,IAAI;IACZO,KAAK,EAAE;MACNC,qBAAqB,EAAE,KAAK;MAC5BC,IAAI,EAAE,KAAK;MACXC,UAAU,EAAE;IACb,CAAC;IACDC,oBAAoB,EAAE;MACrBC,MAAM,EAAE,IAAI;MACZC,6BAA6B,EAAE;QAC9BD,MAAM,EAAE;MACT;IACD,CAAC;IACDE,mBAAmB,EAAE;MACpBC,OAAO,EAAE;QACRC,MAAM,EAAE;MACT;IACD;EACD,CAAC;EACDxC,IAAIA,CAAE;IAAEd;EAAW,CAAC,EAAG;IACtB,MAAM;MACLC,GAAG;MACHK,GAAG;MACHE,OAAO;MACPG,KAAK;MACLF,IAAI;MACJwB,GAAG;MACHC,SAAS;MACTtB,KAAK;MACLC,MAAM;MACNH,EAAE;MACF0B,UAAU;MACVD,QAAQ;MACRH;IACD,CAAC,GAAGhC,UAAU;IAEd,MAAMuC,MAAM,GAAG,CAAEN,GAAG,GAAGO,SAAS,GAAGP,GAAG;IAEtC,MAAMH,OAAO,GAAGrC,UAAU,CAAE;MAC3B,CAAG,QAAQkB,KAAO,EAAC,GAAIA,KAAK;MAC5B,CAAG,QAAQwB,QAAU,EAAC,GAAIA,QAAQ;MAClC,YAAY,EAAEvB,KAAK,IAAIC;IACxB,CAAE,CAAC;IAEH,MAAMG,KAAK,GACVC,aAAA;MACCC,GAAG,EAAGjB,GAAK;MACXK,GAAG,EAAGA,GAAK;MACXe,SAAS,EAAGX,EAAE,GAAI,YAAYA,EAAI,EAAC,GAAG,IAAM;MAC5CE,KAAK,EAAGA,KAAO;MACfC,MAAM,EAAGA,MAAQ;MACjBmB,KAAK,EAAGA;IAAO,CACf,CACD;IAED,MAAMS,MAAM,GACXxB,aAAA,CAAAyB,QAAA,QACGjC,IAAI,GACLQ,aAAA;MACCI,SAAS,EAAGa,SAAW;MACvBzB,IAAI,EAAGA,IAAM;MACbkC,MAAM,EAAGP,UAAY;MACrBH,GAAG,EAAGM;IAAQ,GAEZvB,KACA,CAAC,GAEJA,KACA,EACC,CAAEtB,QAAQ,CAAC6B,OAAO,CAAEf,OAAQ,CAAC,IAC9BS,aAAA,CAACvB,QAAQ,CAAC8B,OAAO;MAACC,OAAO,EAAC,YAAY;MAACC,KAAK,EAAGlB;IAAS,CAAE,CAE1D,CACF;IAED,OACCS,aAAA;MAAA,GAAatB,aAAa,CAACmB,IAAI,CAAE;QAAEO,SAAS,EAAES;MAAQ,CAAE;IAAC,GACtDW,MACK,CAAC;EAEX;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAMc,EAAE,GAAG;EACVvD,UAAU,EAAE;IACXW,KAAK,EAAE;MACNT,IAAI,EAAE;IACP,CAAC;IACDD,GAAG,EAAE;MACJC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,KAAK;MACfC,SAAS,EAAE,KAAK;MAChBmD,kBAAkB,EAAE;IACrB,CAAC;IACDlD,GAAG,EAAE;MACJJ,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,KAAK;MACfC,SAAS,EAAE,KAAK;MAChBE,OAAO,EAAE,EAAE;MACXiD,kBAAkB,EAAE;IACrB,CAAC;IACDhD,OAAO,EAAE;MACRN,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,MAAM;MACdC,QAAQ,EAAE,YAAY;MACtBoD,kBAAkB,EAAE;IACrB,CAAC;IACDxB,KAAK,EAAE;MACN9B,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,KAAK;MACfC,SAAS,EAAE,OAAO;MAClBmD,kBAAkB,EAAE;IACrB,CAAC;IACD/C,IAAI,EAAE;MACLP,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,YAAY;MACtBC,SAAS,EAAE,MAAM;MACjBmD,kBAAkB,EAAE;IACrB,CAAC;IACDvB,GAAG,EAAE;MACJ/B,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,YAAY;MACtBC,SAAS,EAAE;IACZ,CAAC;IACD6B,SAAS,EAAE;MACVhC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,YAAY;MACtBC,SAAS,EAAE;IACZ,CAAC;IACDK,EAAE,EAAE;MACHR,IAAI,EAAE,QAAQ;MACdsD,kBAAkB,EAAE;IACrB,CAAC;IACD5C,KAAK,EAAE;MACNV,IAAI,EAAE;IACP,CAAC;IACDW,MAAM,EAAE;MACPX,IAAI,EAAE;IACP,CAAC;IACDuD,WAAW,EAAE;MACZvD,IAAI,EAAE;IACP,CAAC;IACDwD,KAAK,EAAE;MACNxD,IAAI,EAAE;IACP,CAAC;IACDiC,QAAQ,EAAE;MACTjC,IAAI,EAAE;IACP,CAAC;IACD2B,eAAe,EAAE;MAChB3B,IAAI,EAAE;IACP,CAAC;IACDkC,UAAU,EAAE;MACXlC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,YAAY;MACtBC,SAAS,EAAE;IACZ;EACD,CAAC;EACDgC,QAAQ,EAAE;IACTC,MAAM,EAAE,IAAI;IACZqB,SAAS,EAAE;MACVC,QAAQ,EAAE;IACX,CAAC;IACDf,KAAK,EAAE;MACNE,IAAI,EAAE,KAAK;MACXC,UAAU,EAAE;IACb,CAAC;IACDa,MAAM,EAAE;MACPC,OAAO,EAAE;IACV,CAAC;IACDb,oBAAoB,EAAE;MACrBJ,KAAK,EAAE,IAAI;MACXK,MAAM,EAAE,IAAI;MACZtC,KAAK,EAAE,IAAI;MACXmD,+BAA+B,EAAE,IAAI;MACrCZ,6BAA6B,EAAE;QAC9BN,KAAK,EAAE,IAAI;QACXK,MAAM,EAAE,IAAI;QACZtC,KAAK,EAAE;MACR;IACD;EACD,CAAC;EACDE,IAAIA,CAAE;IAAEd;EAAW,CAAC,EAAG;IACtB,MAAM;MACLC,GAAG;MACHK,GAAG;MACHE,OAAO;MACPG,KAAK;MACLF,IAAI;MACJwB,GAAG;MACHC,SAAS;MACTtB,KAAK;MACLC,MAAM;MACN4C,WAAW;MACXC,KAAK;MACLhD,EAAE;MACF0B,UAAU;MACVD,QAAQ;MACRH;IACD,CAAC,GAAGhC,UAAU;IAEd,MAAMuC,MAAM,GAAG,CAAEN,GAAG,GAAGO,SAAS,GAAGP,GAAG;IACtC,MAAM+B,WAAW,GAAGlE,yBAAyB,CAAEE,UAAW,CAAC;IAE3D,MAAM8B,OAAO,GAAGrC,UAAU,CAAE;MAC3B,CAAG,QAAQkB,KAAO,EAAC,GAAIA,KAAK;MAC5B,CAAG,QAAQwB,QAAU,EAAC,GAAIA,QAAQ;MAClC,YAAY,EAAEvB,KAAK,IAAIC,MAAM;MAC7B,mBAAmB,EAClB,CAAC,CAAEmD,WAAW,CAAC3C,SAAS,IACtB2C,WAAW,CAAC1C,KAAK,IAClB2C,MAAM,CAACC,IAAI,CAAEF,WAAW,CAAC1C,KAAM,CAAC,CAAC6C,MAAM,GAAG;IAC7C,CAAE,CAAC;IAEH,MAAMC,YAAY,GAAG3E,UAAU,CAAEuE,WAAW,CAAC3C,SAAS,EAAE;MACvD,CAAG,YAAYX,EAAI,EAAC,GAAI,CAAC,CAAEA;IAC5B,CAAE,CAAC;IAEH,MAAMM,KAAK,GACVC,aAAA;MACCC,GAAG,EAAGjB,GAAK;MACXK,GAAG,EAAGA,GAAK;MACXe,SAAS,EAAG+C,YAAY,IAAI5B,SAAW;MACvClB,KAAK,EAAG;QACP,GAAG0C,WAAW,CAAC1C,KAAK;QACpBmC,WAAW;QACXY,SAAS,EAAEX;MACZ,CAAG;MACH9C,KAAK,EAAGA,KAAO;MACfC,MAAM,EAAGA,MAAQ;MACjBmB,KAAK,EAAGA;IAAO,CACf,CACD;IAED,MAAMS,MAAM,GACXxB,aAAA,CAAAyB,QAAA,QACGjC,IAAI,GACLQ,aAAA;MACCI,SAAS,EAAGa,SAAW;MACvBzB,IAAI,EAAGA,IAAM;MACbkC,MAAM,EAAGP,UAAY;MACrBH,GAAG,EAAGM;IAAQ,GAEZvB,KACA,CAAC,GAEJA,KACA,EACC,CAAEtB,QAAQ,CAAC6B,OAAO,CAAEf,OAAQ,CAAC,IAC9BS,aAAA,CAACvB,QAAQ,CAAC8B,OAAO;MAChBH,SAAS,EAAGzB,iCAAiC,CAC5C,SACD,CAAG;MACH6B,OAAO,EAAC,YAAY;MACpBC,KAAK,EAAGlB;IAAS,CACjB,CAED,CACF;IAED,OACCS,aAAA;MAAA,GAAatB,aAAa,CAACmB,IAAI,CAAE;QAAEO,SAAS,EAAES;MAAQ,CAAE;IAAC,GACtDW,MACK,CAAC;EAEX;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM6B,EAAE,GAAG;EACVtE,UAAU,EAAE;IACXW,KAAK,EAAE;MACNT,IAAI,EAAE;IACP,CAAC;IACDD,GAAG,EAAE;MACJC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,KAAK;MACfC,SAAS,EAAE,KAAK;MAChBmD,kBAAkB,EAAE;IACrB,CAAC;IACDlD,GAAG,EAAE;MACJJ,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,KAAK;MACfC,SAAS,EAAE,KAAK;MAChBE,OAAO,EAAE,EAAE;MACXiD,kBAAkB,EAAE;IACrB,CAAC;IACDhD,OAAO,EAAE;MACRN,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,MAAM;MACdC,QAAQ,EAAE,YAAY;MACtBoD,kBAAkB,EAAE;IACrB,CAAC;IACDxB,KAAK,EAAE;MACN9B,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,KAAK;MACfC,SAAS,EAAE,OAAO;MAClBmD,kBAAkB,EAAE;IACrB,CAAC;IACD/C,IAAI,EAAE;MACLP,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,YAAY;MACtBC,SAAS,EAAE,MAAM;MACjBmD,kBAAkB,EAAE;IACrB,CAAC;IACDvB,GAAG,EAAE;MACJ/B,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,YAAY;MACtBC,SAAS,EAAE;IACZ,CAAC;IACD6B,SAAS,EAAE;MACVhC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,YAAY;MACtBC,SAAS,EAAE;IACZ,CAAC;IACDK,EAAE,EAAE;MACHR,IAAI,EAAE,QAAQ;MACdsD,kBAAkB,EAAE;IACrB,CAAC;IACD5C,KAAK,EAAE;MACNV,IAAI,EAAE;IACP,CAAC;IACDW,MAAM,EAAE;MACPX,IAAI,EAAE;IACP,CAAC;IACDuD,WAAW,EAAE;MACZvD,IAAI,EAAE;IACP,CAAC;IACDwD,KAAK,EAAE;MACNxD,IAAI,EAAE;IACP,CAAC;IACDiC,QAAQ,EAAE;MACTjC,IAAI,EAAE;IACP,CAAC;IACD2B,eAAe,EAAE;MAChB3B,IAAI,EAAE;IACP,CAAC;IACDkC,UAAU,EAAE;MACXlC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,WAAW;MACnBC,QAAQ,EAAE,YAAY;MACtBC,SAAS,EAAE;IACZ;EACD,CAAC;EACDgC,QAAQ,EAAE;IACTC,MAAM,EAAE,IAAI;IACZqB,SAAS,EAAE;MACVC,QAAQ,EAAE;IACX,CAAC;IACDf,KAAK,EAAE;MACNE,IAAI,EAAE,KAAK;MACXC,UAAU,EAAE;IACb,CAAC;IACDa,MAAM,EAAE;MACPC,OAAO,EAAE;IACV,CAAC;IACDb,oBAAoB,EAAE;MACrBJ,KAAK,EAAE,IAAI;MACXK,MAAM,EAAE,IAAI;MACZtC,KAAK,EAAE,IAAI;MACXmD,+BAA+B,EAAE,IAAI;MACrCZ,6BAA6B,EAAE;QAC9BN,KAAK,EAAE,IAAI;QACXK,MAAM,EAAE,IAAI;QACZtC,KAAK,EAAE;MACR;IACD;EACD,CAAC;EACD2D,OAAOA,CAAE;IAAE3D,KAAK;IAAEC,MAAM;IAAE,GAAGb;EAAW,CAAC,EAAG;IAC3C,OAAO;MACN,GAAGA,UAAU;MACbY,KAAK,EAAG,GAAGA,KAAO,IAAG;MACrBC,MAAM,EAAG,GAAGA,MAAQ;IACrB,CAAC;EACF,CAAC;EACDC,IAAIA,CAAE;IAAEd;EAAW,CAAC,EAAG;IACtB,MAAM;MACLC,GAAG;MACHK,GAAG;MACHE,OAAO;MACPG,KAAK;MACLF,IAAI;MACJwB,GAAG;MACHC,SAAS;MACTtB,KAAK;MACLC,MAAM;MACN4C,WAAW;MACXC,KAAK;MACLhD,EAAE;MACF0B,UAAU;MACVD,QAAQ;MACRH;IACD,CAAC,GAAGhC,UAAU;IAEd,MAAMuC,MAAM,GAAG,CAAEN,GAAG,GAAGO,SAAS,GAAGP,GAAG;IACtC,MAAM+B,WAAW,GAAGlE,yBAAyB,CAAEE,UAAW,CAAC;IAE3D,MAAM8B,OAAO,GAAGrC,UAAU,CAAE;MAC3B,CAAG,QAAQkB,KAAO,EAAC,GAAIA,KAAK;MAC5B,CAAG,QAAQwB,QAAU,EAAC,GAAIA,QAAQ;MAClC,YAAY,EAAEvB,KAAK,IAAIC,MAAM;MAC7B,mBAAmB,EAClB,CAAC,CAAEmD,WAAW,CAAC3C,SAAS,IACtB2C,WAAW,CAAC1C,KAAK,IAClB2C,MAAM,CAACC,IAAI,CAAEF,WAAW,CAAC1C,KAAM,CAAC,CAAC6C,MAAM,GAAG;IAC7C,CAAE,CAAC;IAEH,MAAMC,YAAY,GAAG3E,UAAU,CAAEuE,WAAW,CAAC3C,SAAS,EAAE;MACvD,CAAG,YAAYX,EAAI,EAAC,GAAI,CAAC,CAAEA;IAC5B,CAAE,CAAC;IAEH,MAAMM,KAAK,GACVC,aAAA;MACCC,GAAG,EAAGjB,GAAK;MACXK,GAAG,EAAGA,GAAK;MACXe,SAAS,EAAG+C,YAAY,IAAI5B,SAAW;MACvClB,KAAK,EAAG;QACP,GAAG0C,WAAW,CAAC1C,KAAK;QACpBmC,WAAW;QACXY,SAAS,EAAEX,KAAK;QAChB9C,KAAK;QACLC;MACD,CAAG;MACHD,KAAK,EAAGA,KAAO;MACfC,MAAM,EAAGA,MAAQ;MACjBmB,KAAK,EAAGA;IAAO,CACf,CACD;IAED,MAAMS,MAAM,GACXxB,aAAA,CAAAyB,QAAA,QACGjC,IAAI,GACLQ,aAAA;MACCI,SAAS,EAAGa,SAAW;MACvBzB,IAAI,EAAGA,IAAM;MACbkC,MAAM,EAAGP,UAAY;MACrBH,GAAG,EAAGM;IAAQ,GAEZvB,KACA,CAAC,GAEJA,KACA,EACC,CAAEtB,QAAQ,CAAC6B,OAAO,CAAEf,OAAQ,CAAC,IAC9BS,aAAA,CAACvB,QAAQ,CAAC8B,OAAO;MAChBH,SAAS,EAAGzB,iCAAiC,CAC5C,SACD,CAAG;MACH6B,OAAO,EAAC,YAAY;MACpBC,KAAK,EAAGlB;IAAS,CACjB,CAED,CACF;IAED,OACCS,aAAA;MAAA,GAAatB,aAAa,CAACmB,IAAI,CAAE;QAAEO,SAAS,EAAES;MAAQ,CAAE;IAAC,GACtDW,MACK,CAAC;EAEX;AACD,CAAC;AAED,eAAe,CAAE6B,EAAE,EAAEf,EAAE,EAAEX,EAAE,EAAEb,EAAE,EAAEH,EAAE,EAAED,EAAE,EAAE5B,EAAE,CAAE"}
1
+ {"version":3,"names":["classnames","RichText","useBlockProps","__experimentalGetElementClassName","__experimentalGetBorderClassesAndStyles","getBorderClassesAndStyles","v1","attributes","url","type","source","selector","attribute","alt","default","caption","href","id","align","width","height","save","extraImageProps","image","createElement","src","figureStyle","maxWidth","className","style","isEmpty","Content","tagName","value","v2","v3","linkDestination","classes","v4","title","rel","linkClass","sizeSlug","linkTarget","supports","anchor","newRel","undefined","figure","Fragment","target","v5","color","__experimentalDuotone","text","background","__experimentalBorder","radius","__experimentalDefaultControls","__experimentalStyle","spacing","margin","v6","__experimentalRole","aspectRatio","scale","filter","duotone","__experimentalSkipSerialization","borderProps","Object","keys","length","imageClasses","objectFit","v7","migrate","v8","behaviors","lightbox","enabled","newAttributes","isEligible"],"sources":["@wordpress/block-library/src/image/deprecated.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\t__experimentalGetElementClassName,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n} from '@wordpress/block-editor';\n\n/**\n * Deprecation for adding the `wp-image-${id}` class to the image block for\n * responsive images.\n *\n * @see https://github.com/WordPress/gutenberg/pull/4898\n */\nconst v1 = {\n\tattributes: {\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'array',\n\t\t\tsource: 'children',\n\t\t\tselector: 'figcaption',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { url, alt, caption, align, href, width, height } = attributes;\n\t\tconst extraImageProps = width || height ? { width, height } : {};\n\t\tconst image = <img src={ url } alt={ alt } { ...extraImageProps } />;\n\n\t\tlet figureStyle = {};\n\n\t\tif ( width ) {\n\t\t\tfigureStyle = { width };\n\t\t} else if ( align === 'left' || align === 'right' ) {\n\t\t\tfigureStyle = { maxWidth: '50%' };\n\t\t}\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\tclassName={ align ? `align${ align }` : null }\n\t\t\t\tstyle={ figureStyle }\n\t\t\t>\n\t\t\t\t{ href ? <a href={ href }>{ image }</a> : image }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n/**\n * Deprecation for adding the `is-resized` class to the image block to fix\n * captions on resized images.\n *\n * @see https://github.com/WordPress/gutenberg/pull/6496\n */\nconst v2 = {\n\tattributes: {\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'array',\n\t\t\tsource: 'children',\n\t\t\tselector: 'figcaption',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { url, alt, caption, align, href, width, height, id } =\n\t\t\tattributes;\n\n\t\tconst image = (\n\t\t\t<img\n\t\t\t\tsrc={ url }\n\t\t\t\talt={ alt }\n\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t/>\n\t\t);\n\n\t\treturn (\n\t\t\t<figure className={ align ? `align${ align }` : null }>\n\t\t\t\t{ href ? <a href={ href }>{ image }</a> : image }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n/**\n * Deprecation for image floats including a wrapping div.\n *\n * @see https://github.com/WordPress/gutenberg/pull/7721\n */\nconst v3 = {\n\tattributes: {\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'array',\n\t\t\tsource: 'children',\n\t\t\tselector: 'figcaption',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tlinkDestination: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { url, alt, caption, align, href, width, height, id } =\n\t\t\tattributes;\n\n\t\tconst classes = classnames( {\n\t\t\t[ `align${ align }` ]: align,\n\t\t\t'is-resized': width || height,\n\t\t} );\n\n\t\tconst image = (\n\t\t\t<img\n\t\t\t\tsrc={ url }\n\t\t\t\talt={ alt }\n\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t/>\n\t\t);\n\n\t\treturn (\n\t\t\t<figure className={ classes }>\n\t\t\t\t{ href ? <a href={ href }>{ image }</a> : image }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n/**\n * Deprecation for removing the outer div wrapper around aligned images.\n *\n * @see https://github.com/WordPress/gutenberg/pull/38657\n */\nconst v4 = {\n\tattributes: {\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'title',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tlinkClass: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'class',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkDestination: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'target',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\turl,\n\t\t\talt,\n\t\t\tcaption,\n\t\t\talign,\n\t\t\thref,\n\t\t\trel,\n\t\t\tlinkClass,\n\t\t\twidth,\n\t\t\theight,\n\t\t\tid,\n\t\t\tlinkTarget,\n\t\t\tsizeSlug,\n\t\t\ttitle,\n\t\t} = attributes;\n\n\t\tconst newRel = ! rel ? undefined : rel;\n\n\t\tconst classes = classnames( {\n\t\t\t[ `align${ align }` ]: align,\n\t\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t\t'is-resized': width || height,\n\t\t} );\n\n\t\tconst image = (\n\t\t\t<img\n\t\t\t\tsrc={ url }\n\t\t\t\talt={ alt }\n\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t\ttitle={ title }\n\t\t\t/>\n\t\t);\n\n\t\tconst figure = (\n\t\t\t<>\n\t\t\t\t{ href ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\n\t\tif ( 'left' === align || 'right' === align || 'center' === align ) {\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save() }>\n\t\t\t\t\t<figure className={ classes }>{ figure }</figure>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save( { className: classes } ) }>\n\t\t\t\t{ figure }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n/**\n * Deprecation for moving existing border radius styles onto the inner img\n * element where new border block support styles must be applied.\n * It will also add a new `.has-custom-border` class for existing blocks\n * with border radii set. This class is required to improve caption position\n * and styling when an image within a gallery has a custom border or\n * rounded corners.\n *\n * @see https://github.com/WordPress/gutenberg/pull/31366\n */\nconst v5 = {\n\tattributes: {\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'title',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tlinkClass: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'class',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkDestination: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'target',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\tcolor: {\n\t\t\t__experimentalDuotone: 'img',\n\t\t\ttext: false,\n\t\t\tbackground: false,\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tradius: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tradius: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalStyle: {\n\t\t\tspacing: {\n\t\t\t\tmargin: '0 0 1em 0',\n\t\t\t},\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\turl,\n\t\t\talt,\n\t\t\tcaption,\n\t\t\talign,\n\t\t\thref,\n\t\t\trel,\n\t\t\tlinkClass,\n\t\t\twidth,\n\t\t\theight,\n\t\t\tid,\n\t\t\tlinkTarget,\n\t\t\tsizeSlug,\n\t\t\ttitle,\n\t\t} = attributes;\n\n\t\tconst newRel = ! rel ? undefined : rel;\n\n\t\tconst classes = classnames( {\n\t\t\t[ `align${ align }` ]: align,\n\t\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t\t'is-resized': width || height,\n\t\t} );\n\n\t\tconst image = (\n\t\t\t<img\n\t\t\t\tsrc={ url }\n\t\t\t\talt={ alt }\n\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t\ttitle={ title }\n\t\t\t/>\n\t\t);\n\n\t\tconst figure = (\n\t\t\t<>\n\t\t\t\t{ href ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save( { className: classes } ) }>\n\t\t\t\t{ figure }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n/**\n * Deprecation for adding width and height as style rules on the inner img.\n *\n * @see https://github.com/WordPress/gutenberg/pull/31366\n */\nconst v6 = {\n\tattributes: {\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'title',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'href',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tlinkClass: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'class',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'number',\n\t\t},\n\t\taspectRatio: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tscale: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkDestination: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'target',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\tcolor: {\n\t\t\ttext: false,\n\t\t\tbackground: false,\n\t\t},\n\t\tfilter: {\n\t\t\tduotone: true,\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tcolor: true,\n\t\t\tradius: true,\n\t\t\twidth: true,\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tcolor: true,\n\t\t\t\tradius: true,\n\t\t\t\twidth: true,\n\t\t\t},\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\turl,\n\t\t\talt,\n\t\t\tcaption,\n\t\t\talign,\n\t\t\thref,\n\t\t\trel,\n\t\t\tlinkClass,\n\t\t\twidth,\n\t\t\theight,\n\t\t\taspectRatio,\n\t\t\tscale,\n\t\t\tid,\n\t\t\tlinkTarget,\n\t\t\tsizeSlug,\n\t\t\ttitle,\n\t\t} = attributes;\n\n\t\tconst newRel = ! rel ? undefined : rel;\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\n\t\tconst classes = classnames( {\n\t\t\t[ `align${ align }` ]: align,\n\t\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t\t'is-resized': width || height,\n\t\t\t'has-custom-border':\n\t\t\t\t!! borderProps.className ||\n\t\t\t\t( borderProps.style &&\n\t\t\t\t\tObject.keys( borderProps.style ).length > 0 ),\n\t\t} );\n\n\t\tconst imageClasses = classnames( borderProps.className, {\n\t\t\t[ `wp-image-${ id }` ]: !! id,\n\t\t} );\n\n\t\tconst image = (\n\t\t\t<img\n\t\t\t\tsrc={ url }\n\t\t\t\talt={ alt }\n\t\t\t\tclassName={ imageClasses || undefined }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\taspectRatio,\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t} }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t\ttitle={ title }\n\t\t\t/>\n\t\t);\n\n\t\tconst figure = (\n\t\t\t<>\n\t\t\t\t{ href ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save( { className: classes } ) }>\n\t\t\t\t{ figure }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n/**\n * Deprecation for converting to string width and height block attributes and\n * removing the width and height img element attributes which are not needed\n * as they get added by the TODO hook.\n *\n * @see https://github.com/WordPress/gutenberg/pull/53274\n */\nconst v7 = {\n\tattributes: {\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'title',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'href',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tlinkClass: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'class',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'number',\n\t\t},\n\t\taspectRatio: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tscale: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkDestination: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'target',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\tcolor: {\n\t\t\ttext: false,\n\t\t\tbackground: false,\n\t\t},\n\t\tfilter: {\n\t\t\tduotone: true,\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tcolor: true,\n\t\t\tradius: true,\n\t\t\twidth: true,\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tcolor: true,\n\t\t\t\tradius: true,\n\t\t\t\twidth: true,\n\t\t\t},\n\t\t},\n\t},\n\tmigrate( { width, height, ...attributes } ) {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\twidth: `${ width }px`,\n\t\t\theight: `${ height }px`,\n\t\t};\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\turl,\n\t\t\talt,\n\t\t\tcaption,\n\t\t\talign,\n\t\t\thref,\n\t\t\trel,\n\t\t\tlinkClass,\n\t\t\twidth,\n\t\t\theight,\n\t\t\taspectRatio,\n\t\t\tscale,\n\t\t\tid,\n\t\t\tlinkTarget,\n\t\t\tsizeSlug,\n\t\t\ttitle,\n\t\t} = attributes;\n\n\t\tconst newRel = ! rel ? undefined : rel;\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\n\t\tconst classes = classnames( {\n\t\t\t[ `align${ align }` ]: align,\n\t\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t\t'is-resized': width || height,\n\t\t\t'has-custom-border':\n\t\t\t\t!! borderProps.className ||\n\t\t\t\t( borderProps.style &&\n\t\t\t\t\tObject.keys( borderProps.style ).length > 0 ),\n\t\t} );\n\n\t\tconst imageClasses = classnames( borderProps.className, {\n\t\t\t[ `wp-image-${ id }` ]: !! id,\n\t\t} );\n\n\t\tconst image = (\n\t\t\t<img\n\t\t\t\tsrc={ url }\n\t\t\t\talt={ alt }\n\t\t\t\tclassName={ imageClasses || undefined }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\taspectRatio,\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\twidth,\n\t\t\t\t\theight,\n\t\t\t\t} }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t\ttitle={ title }\n\t\t\t/>\n\t\t);\n\n\t\tconst figure = (\n\t\t\t<>\n\t\t\t\t{ href ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save( { className: classes } ) }>\n\t\t\t\t{ figure }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\nconst v8 = {\n\tattributes: {\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tbehaviors: {\n\t\t\ttype: 'object',\n\t\t},\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'title',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'href',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tlinkClass: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'class',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'string',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'string',\n\t\t},\n\t\taspectRatio: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tscale: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkDestination: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'target',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\tcolor: {\n\t\t\ttext: false,\n\t\t\tbackground: false,\n\t\t},\n\t\tfilter: {\n\t\t\tduotone: true,\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tcolor: true,\n\t\t\tradius: true,\n\t\t\twidth: true,\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tcolor: true,\n\t\t\t\tradius: true,\n\t\t\t\twidth: true,\n\t\t\t},\n\t\t},\n\t},\n\tmigrate( { width, height, ...attributes } ) {\n\t\tconst {\n\t\t\tbehaviors: {\n\t\t\t\tlightbox: { enabled },\n\t\t\t},\n\t\t} = attributes;\n\t\tconst newAttributes = {\n\t\t\t...attributes,\n\t\t\tlightbox: {\n\t\t\t\tenabled,\n\t\t\t},\n\t\t};\n\t\tdelete newAttributes.behaviors;\n\t\treturn newAttributes;\n\t},\n\tisEligible( attributes ) {\n\t\treturn !! attributes.behaviors;\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\turl,\n\t\t\talt,\n\t\t\tcaption,\n\t\t\talign,\n\t\t\thref,\n\t\t\trel,\n\t\t\tlinkClass,\n\t\t\twidth,\n\t\t\theight,\n\t\t\taspectRatio,\n\t\t\tscale,\n\t\t\tid,\n\t\t\tlinkTarget,\n\t\t\tsizeSlug,\n\t\t\ttitle,\n\t\t} = attributes;\n\n\t\tconst newRel = ! rel ? undefined : rel;\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\n\t\tconst classes = classnames( {\n\t\t\t[ `align${ align }` ]: align,\n\t\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t\t'is-resized': width || height,\n\t\t\t'has-custom-border':\n\t\t\t\t!! borderProps.className ||\n\t\t\t\t( borderProps.style &&\n\t\t\t\t\tObject.keys( borderProps.style ).length > 0 ),\n\t\t} );\n\n\t\tconst imageClasses = classnames( borderProps.className, {\n\t\t\t[ `wp-image-${ id }` ]: !! id,\n\t\t} );\n\n\t\tconst image = (\n\t\t\t<img\n\t\t\t\tsrc={ url }\n\t\t\t\talt={ alt }\n\t\t\t\tclassName={ imageClasses || undefined }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\taspectRatio,\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\twidth,\n\t\t\t\t\theight,\n\t\t\t\t} }\n\t\t\t\ttitle={ title }\n\t\t\t/>\n\t\t);\n\n\t\tconst figure = (\n\t\t\t<>\n\t\t\t\t{ href ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save( { className: classes } ) }>\n\t\t\t\t{ figure }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\nexport default [ v8, v7, v6, v5, v4, v3, v2, v1 ];\n"],"mappings":"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"}
@@ -54,17 +54,17 @@ const isTemporaryImage = (id, url) => !id && isBlobURL(url);
54
54
  export const isExternalImage = (id, url) => url && !id && !isBlobURL(url);
55
55
 
56
56
  /**
57
- * Checks if WP generated default image size. Size generation is skipped
57
+ * Checks if WP generated the specified image size. Size generation is skipped
58
58
  * when the image is smaller than the said size.
59
59
  *
60
60
  * @param {Object} image
61
- * @param {string} defaultSize
61
+ * @param {string} size
62
62
  *
63
63
  * @return {boolean} Whether or not it has default image size.
64
64
  */
65
- function hasDefaultSize(image, defaultSize) {
66
- var _image$sizes$defaultS, _image$media_details$;
67
- return 'url' in ((_image$sizes$defaultS = image?.sizes?.[defaultSize]) !== null && _image$sizes$defaultS !== void 0 ? _image$sizes$defaultS : {}) || 'source_url' in ((_image$media_details$ = image?.media_details?.sizes?.[defaultSize]) !== null && _image$media_details$ !== void 0 ? _image$media_details$ : {});
65
+ function hasSize(image, size) {
66
+ var _image$sizes$size, _image$media_details$;
67
+ return 'url' in ((_image$sizes$size = image?.sizes?.[size]) !== null && _image$sizes$size !== void 0 ? _image$sizes$size : {}) || 'source_url' in ((_image$media_details$ = image?.media_details?.sizes?.[size]) !== null && _image$media_details$ !== void 0 ? _image$media_details$ : {});
68
68
  }
69
69
  export function ImageEdit({
70
70
  attributes,
@@ -84,7 +84,9 @@ export function ImageEdit({
84
84
  id,
85
85
  width,
86
86
  height,
87
- sizeSlug
87
+ sizeSlug,
88
+ aspectRatio,
89
+ scale
88
90
  } = attributes;
89
91
  const [temporaryURL, setTemporaryURL] = useState();
90
92
  const altRef = useRef();
@@ -140,7 +142,16 @@ export function ImageEdit({
140
142
  return;
141
143
  }
142
144
  setTemporaryURL();
143
- let mediaAttributes = pickRelevantMediaFiles(media, imageDefaultSize);
145
+
146
+ // Try to use the previous selected image size if its available
147
+ // otherwise try the default image size or fallback to "full"
148
+ let newSize = 'full';
149
+ if (sizeSlug && hasSize(media, sizeSlug)) {
150
+ newSize = sizeSlug;
151
+ } else if (hasSize(media, imageDefaultSize)) {
152
+ newSize = imageDefaultSize;
153
+ }
154
+ let mediaAttributes = pickRelevantMediaFiles(media, newSize);
144
155
 
145
156
  // If a caption text was meanwhile written by the user,
146
157
  // make sure the text is not overwritten by empty captions.
@@ -155,9 +166,7 @@ export function ImageEdit({
155
166
  // Reset the dimension attributes if changing to a different image.
156
167
  if (!media.id || media.id !== id) {
157
168
  additionalAttributes = {
158
- // Fallback to size "full" if there's no default image size.
159
- // It means the image is smaller, and the block will use a full-size URL.
160
- sizeSlug: hasDefaultSize(media, imageDefaultSize) ? imageDefaultSize : 'full'
169
+ sizeSlug: newSize
161
170
  };
162
171
  } else {
163
172
  // Keep the same url when selecting the same file, so "Resolution"
@@ -289,12 +298,18 @@ export function ImageEdit({
289
298
  icon: icon,
290
299
  label: __('Image'),
291
300
  instructions: __('Upload an image file, pick one from your media library, or add one with a URL.'),
292
- style: isSelected ? undefined : borderProps.style
301
+ style: {
302
+ aspectRatio: !(width && height) && aspectRatio ? aspectRatio : undefined,
303
+ width: height && aspectRatio ? '100%' : width,
304
+ height: width && aspectRatio ? '100%' : height,
305
+ objectFit: scale,
306
+ ...borderProps.style
307
+ }
293
308
  }, content);
294
309
  };
295
310
  return createElement("figure", {
296
311
  ...blockProps
297
- }, (temporaryURL || url) && createElement(Image, {
312
+ }, createElement(Image, {
298
313
  temporaryURL: temporaryURL,
299
314
  attributes: attributes,
300
315
  setAttributes: setAttributes,
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","getBlobByURL","isBlobURL","revokeBlobURL","Placeholder","useDispatch","useSelect","BlockAlignmentControl","BlockControls","BlockIcon","MediaPlaceholder","useBlockProps","store","blockEditorStore","__experimentalUseBorderProps","useBorderProps","useBlockEditingMode","useEffect","useRef","useState","__","image","icon","noticesStore","Image","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","pickRelevantMediaFiles","size","imageProps","Object","fromEntries","entries","filter","key","includes","url","sizes","media_details","source_url","isTemporaryImage","id","isExternalImage","hasDefaultSize","defaultSize","_image$sizes$defaultS","_image$media_details$","ImageEdit","attributes","setAttributes","isSelected","className","insertBlocksAfter","onReplace","context","clientId","alt","caption","align","width","height","sizeSlug","temporaryURL","setTemporaryURL","altRef","current","captionRef","ref","imageDefaultSize","mediaUpload","select","getSettings","settings","blockEditingMode","createErrorNotice","onUploadError","message","type","src","undefined","onSelectImage","media","title","mediaAttributes","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","defaultProps","link","href","onSelectURL","newURL","updateAlignment","nextAlign","extraUpdatedAttributes","isTemp","file","filesList","onFileChange","img","allowedTypes","onError","isExternal","mediaPreview","createElement","borderProps","classes","style","keys","length","blockProps","placeholder","content","withIllustration","label","instructions","containerRef","group","value","onChange","onSelect","accept","disableMediaButtons"],"sources":["@wordpress/block-library/src/image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { Placeholder } from '@wordpress/components';\nimport { useDispatch, 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\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { image as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\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 = Object.fromEntries(\n\t\tObject.entries( image ?? {} ).filter( ( [ key ] ) =>\n\t\t\t[ 'alt', 'id', 'link', 'caption' ].includes( key )\n\t\t)\n\t);\n\n\timageProps.url =\n\t\timage?.sizes?.[ size ]?.url ||\n\t\timage?.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\t'url' in ( image?.sizes?.[ defaultSize ] ?? {} ) ||\n\t\t'source_url' in ( image?.media_details?.sizes?.[ defaultSize ] ?? {} )\n\t);\n}\n\nexport function ImageEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tclassName,\n\tinsertBlocksAfter,\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\tconst settings = getSettings();\n\t\treturn {\n\t\t\timageDefaultSize: settings.imageDefaultSize,\n\t\t\tmediaUpload: settings.mediaUpload,\n\t\t};\n\t}, [] );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\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 && ! mediaAttributes.caption ) {\n\t\t\tconst { caption: omittedCaption, ...restMediaAttributes } =\n\t\t\t\tmediaAttributes;\n\t\t\tmediaAttributes = restMediaAttributes;\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\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 \"Resolution\"\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\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 ||\n\t\t\t( borderProps.style &&\n\t\t\t\tObject.keys( borderProps.style ).length > 0 ),\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ classnames( 'block-editor-media-placeholder', {\n\t\t\t\t\t[ borderProps.className ]:\n\t\t\t\t\t\t!! borderProps.className && ! isSelected,\n\t\t\t\t} ) }\n\t\t\t\twithIllustration={ true }\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ __( 'Image' ) }\n\t\t\t\tinstructions={ __(\n\t\t\t\t\t'Upload an image file, pick one from your media library, or add one with a URL.'\n\t\t\t\t) }\n\t\t\t\tstyle={ isSelected ? undefined : borderProps.style }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\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\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! url && blockEditingMode === 'default' && (\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\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\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 ImageEdit;\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","getBlobByURL","isBlobURL","revokeBlobURL","Placeholder","useDispatch","useSelect","BlockAlignmentControl","BlockControls","BlockIcon","MediaPlaceholder","useBlockProps","store","blockEditorStore","__experimentalUseBorderProps","useBorderProps","useBlockEditingMode","useEffect","useRef","useState","__","image","icon","noticesStore","Image","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","pickRelevantMediaFiles","size","imageProps","Object","fromEntries","entries","filter","key","includes","url","sizes","media_details","source_url","isTemporaryImage","id","isExternalImage","hasSize","_image$sizes$size","_image$media_details$","ImageEdit","attributes","setAttributes","isSelected","className","insertBlocksAfter","onReplace","context","clientId","alt","caption","align","width","height","sizeSlug","aspectRatio","scale","temporaryURL","setTemporaryURL","altRef","current","captionRef","ref","imageDefaultSize","mediaUpload","select","getSettings","settings","blockEditingMode","createErrorNotice","onUploadError","message","type","src","undefined","onSelectImage","media","title","newSize","mediaAttributes","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","defaultProps","link","href","onSelectURL","newURL","updateAlignment","nextAlign","extraUpdatedAttributes","isTemp","file","filesList","onFileChange","img","allowedTypes","onError","isExternal","mediaPreview","createElement","borderProps","classes","style","keys","length","blockProps","placeholder","content","withIllustration","label","instructions","objectFit","containerRef","group","value","onChange","onSelect","accept","disableMediaButtons"],"sources":["@wordpress/block-library/src/image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { Placeholder } from '@wordpress/components';\nimport { useDispatch, 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\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { image as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\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 = Object.fromEntries(\n\t\tObject.entries( image ?? {} ).filter( ( [ key ] ) =>\n\t\t\t[ 'alt', 'id', 'link', 'caption' ].includes( key )\n\t\t)\n\t);\n\n\timageProps.url =\n\t\timage?.sizes?.[ size ]?.url ||\n\t\timage?.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 the specified image size. Size generation is skipped\n * when the image is smaller than the said size.\n *\n * @param {Object} image\n * @param {string} size\n *\n * @return {boolean} Whether or not it has default image size.\n */\nfunction hasSize( image, size ) {\n\treturn (\n\t\t'url' in ( image?.sizes?.[ size ] ?? {} ) ||\n\t\t'source_url' in ( image?.media_details?.sizes?.[ size ] ?? {} )\n\t);\n}\n\nexport function ImageEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tclassName,\n\tinsertBlocksAfter,\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\taspectRatio,\n\t\tscale,\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\tconst settings = getSettings();\n\t\treturn {\n\t\t\timageDefaultSize: settings.imageDefaultSize,\n\t\t\tmediaUpload: settings.mediaUpload,\n\t\t};\n\t}, [] );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\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\t// Try to use the previous selected image size if its available\n\t\t// otherwise try the default image size or fallback to \"full\"\n\t\tlet newSize = 'full';\n\t\tif ( sizeSlug && hasSize( media, sizeSlug ) ) {\n\t\t\tnewSize = sizeSlug;\n\t\t} else if ( hasSize( media, imageDefaultSize ) ) {\n\t\t\tnewSize = imageDefaultSize;\n\t\t}\n\n\t\tlet mediaAttributes = pickRelevantMediaFiles( media, newSize );\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 && ! mediaAttributes.caption ) {\n\t\t\tconst { caption: omittedCaption, ...restMediaAttributes } =\n\t\t\t\tmediaAttributes;\n\t\t\tmediaAttributes = restMediaAttributes;\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\tsizeSlug: newSize,\n\t\t\t};\n\t\t} else {\n\t\t\t// Keep the same url when selecting the same file, so \"Resolution\"\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\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 ||\n\t\t\t( borderProps.style &&\n\t\t\t\tObject.keys( borderProps.style ).length > 0 ),\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ classnames( 'block-editor-media-placeholder', {\n\t\t\t\t\t[ borderProps.className ]:\n\t\t\t\t\t\t!! borderProps.className && ! isSelected,\n\t\t\t\t} ) }\n\t\t\t\twithIllustration={ true }\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ __( 'Image' ) }\n\t\t\t\tinstructions={ __(\n\t\t\t\t\t'Upload an image file, pick one from your media library, or add one with a URL.'\n\t\t\t\t) }\n\t\t\t\tstyle={ {\n\t\t\t\t\taspectRatio:\n\t\t\t\t\t\t! ( width && height ) && aspectRatio\n\t\t\t\t\t\t\t? aspectRatio\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\twidth: height && aspectRatio ? '100%' : width,\n\t\t\t\t\theight: width && aspectRatio ? '100%' : height,\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\treturn (\n\t\t<figure { ...blockProps }>\n\t\t\t<Image\n\t\t\t\ttemporaryURL={ temporaryURL }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\tonUploadError={ onUploadError }\n\t\t\t\tcontainerRef={ ref }\n\t\t\t\tcontext={ context }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t/>\n\t\t\t{ ! url && blockEditingMode === 'default' && (\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\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\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 ImageEdit;\n"],"mappings":"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"}