@wordpress/block-library 9.16.0 → 9.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (660) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/archives/edit.js +2 -2
  3. package/build/archives/edit.js.map +1 -1
  4. package/build/archives/index.js +9 -0
  5. package/build/archives/index.js.map +1 -1
  6. package/build/avatar/user-control.js +0 -1
  7. package/build/avatar/user-control.js.map +1 -1
  8. package/build/block/deprecated.js +0 -1
  9. package/build/block/deprecated.js.map +1 -1
  10. package/build/block/edit.js +0 -1
  11. package/build/block/edit.js.map +1 -1
  12. package/build/button/deprecated.js +0 -1
  13. package/build/button/deprecated.js.map +1 -1
  14. package/build/buttons/transforms.js +0 -1
  15. package/build/buttons/transforms.js.map +1 -1
  16. package/build/categories/edit.js +115 -38
  17. package/build/categories/edit.js.map +1 -1
  18. package/build/categories/index.js +9 -0
  19. package/build/categories/index.js.map +1 -1
  20. package/build/column/column-preview.native.js +0 -1
  21. package/build/column/column-preview.native.js.map +1 -1
  22. package/build/columns/columnCalculations.native.js +0 -1
  23. package/build/columns/columnCalculations.native.js.map +1 -1
  24. package/build/columns/deprecated.js +0 -1
  25. package/build/columns/deprecated.js.map +1 -1
  26. package/build/columns/edit.js +0 -1
  27. package/build/columns/edit.js.map +1 -1
  28. package/build/columns/edit.native.js +0 -1
  29. package/build/columns/edit.native.js.map +1 -1
  30. package/build/columns/transforms.js +0 -1
  31. package/build/columns/transforms.js.map +1 -1
  32. package/build/columns/utils.js +0 -1
  33. package/build/columns/utils.js.map +1 -1
  34. package/build/comment-template/edit.js +0 -1
  35. package/build/comment-template/edit.js.map +1 -1
  36. package/build/comment-template/hooks.js +0 -1
  37. package/build/comment-template/hooks.js.map +1 -1
  38. package/build/comment-template/util.js +0 -1
  39. package/build/comment-template/util.js.map +1 -1
  40. package/build/comments/edit/comments-inspector-controls.js +6 -5
  41. package/build/comments/edit/comments-inspector-controls.js.map +1 -1
  42. package/build/comments-pagination/index.js +5 -0
  43. package/build/comments-pagination/index.js.map +1 -1
  44. package/build/cover/edit/inspector-controls.js +2 -9
  45. package/build/cover/edit/inspector-controls.js.map +1 -1
  46. package/build/details/edit.js +16 -2
  47. package/build/details/edit.js.map +1 -1
  48. package/build/details/index.js +9 -0
  49. package/build/details/index.js.map +1 -1
  50. package/build/details/save.js +2 -0
  51. package/build/details/save.js.map +1 -1
  52. package/build/details/transforms.js +0 -1
  53. package/build/details/transforms.js.map +1 -1
  54. package/build/embed/embed-placeholder.native.js +0 -1
  55. package/build/embed/embed-placeholder.native.js.map +1 -1
  56. package/build/embed/transforms.js +5 -2
  57. package/build/embed/transforms.js.map +1 -1
  58. package/build/embed/util.js +0 -1
  59. package/build/embed/util.js.map +1 -1
  60. package/build/embed/variations.js +0 -1
  61. package/build/embed/variations.js.map +1 -1
  62. package/build/embed/wp-embed-preview.js +0 -1
  63. package/build/embed/wp-embed-preview.js.map +1 -1
  64. package/build/file/transforms.js +0 -1
  65. package/build/file/transforms.js.map +1 -1
  66. package/build/footnotes/edit.js +0 -1
  67. package/build/footnotes/edit.js.map +1 -1
  68. package/build/form/variations.js +1 -1
  69. package/build/form/variations.js.map +1 -1
  70. package/build/freeform/modal.js +0 -1
  71. package/build/freeform/modal.js.map +1 -1
  72. package/build/gallery/deprecated.js +0 -1
  73. package/build/gallery/deprecated.js.map +1 -1
  74. package/build/gallery/edit.js +0 -1
  75. package/build/gallery/edit.js.map +1 -1
  76. package/build/gallery/shared.js +0 -1
  77. package/build/gallery/shared.js.map +1 -1
  78. package/build/gallery/transforms.js +0 -1
  79. package/build/gallery/transforms.js.map +1 -1
  80. package/build/gallery/use-get-media.js +0 -1
  81. package/build/gallery/use-get-media.js.map +1 -1
  82. package/build/gallery/use-get-media.native.js +0 -1
  83. package/build/gallery/use-get-media.native.js.map +1 -1
  84. package/build/gallery/use-get-new-images.js +0 -1
  85. package/build/gallery/use-get-new-images.js.map +1 -1
  86. package/build/gallery/use-image-sizes.js +0 -1
  87. package/build/gallery/use-image-sizes.js.map +1 -1
  88. package/build/group/edit.js +2 -9
  89. package/build/group/edit.js.map +1 -1
  90. package/build/group/placeholder.js +0 -1
  91. package/build/group/placeholder.js.map +1 -1
  92. package/build/group/transforms.js +0 -1
  93. package/build/group/transforms.js.map +1 -1
  94. package/build/heading/transforms.js +0 -1
  95. package/build/heading/transforms.js.map +1 -1
  96. package/build/home-link/edit.js +1 -2
  97. package/build/home-link/edit.js.map +1 -1
  98. package/build/html/preview.js +0 -1
  99. package/build/html/preview.js.map +1 -1
  100. package/build/image/edit.js +0 -1
  101. package/build/image/edit.js.map +1 -1
  102. package/build/image/edit.native.js +0 -1
  103. package/build/image/edit.native.js.map +1 -1
  104. package/build/image/image.js +0 -1
  105. package/build/image/image.js.map +1 -1
  106. package/build/image/transforms.js +0 -1
  107. package/build/image/transforms.js.map +1 -1
  108. package/build/image/utils.js +0 -1
  109. package/build/image/utils.js.map +1 -1
  110. package/build/index.native.js +0 -1
  111. package/build/index.native.js.map +1 -1
  112. package/build/latest-comments/edit.js +73 -26
  113. package/build/latest-comments/edit.js.map +1 -1
  114. package/build/latest-posts/constants.js +2 -1
  115. package/build/latest-posts/constants.js.map +1 -1
  116. package/build/latest-posts/edit.js +91 -39
  117. package/build/latest-posts/edit.js.map +1 -1
  118. package/build/list/transforms.js +0 -1
  119. package/build/list/transforms.js.map +1 -1
  120. package/build/list/utils.js +0 -1
  121. package/build/list/utils.js.map +1 -1
  122. package/build/list-item/hooks/use-indent-list-item.js +0 -1
  123. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  124. package/build/list-item/index.js +1 -1
  125. package/build/list-item/transforms.js +0 -1
  126. package/build/list-item/transforms.js.map +1 -1
  127. package/build/media-text/edit.js +0 -1
  128. package/build/media-text/edit.js.map +1 -1
  129. package/build/more/save.js +0 -1
  130. package/build/more/save.js.map +1 -1
  131. package/build/navigation/deprecated.js +0 -1
  132. package/build/navigation/deprecated.js.map +1 -1
  133. package/build/navigation/edit/index.js +0 -1
  134. package/build/navigation/edit/index.js.map +1 -1
  135. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +4 -4
  136. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  137. package/build/navigation/edit/use-generate-default-navigation-title.js +4 -5
  138. package/build/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  139. package/build/navigation/menu-items-to-blocks.js +0 -1
  140. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  141. package/build/navigation/use-template-part-area-label.js +0 -1
  142. package/build/navigation/use-template-part-area-label.js.map +1 -1
  143. package/build/navigation/view.js +0 -1
  144. package/build/navigation/view.js.map +1 -1
  145. package/build/navigation-link/edit.js +14 -19
  146. package/build/navigation-link/edit.js.map +1 -1
  147. package/build/navigation-link/hooks.js +0 -1
  148. package/build/navigation-link/hooks.js.map +1 -1
  149. package/build/navigation-submenu/index.js +7 -0
  150. package/build/navigation-submenu/index.js.map +1 -1
  151. package/build/page-list/edit.js +1 -2
  152. package/build/page-list/edit.js.map +1 -1
  153. package/build/page-list/use-convert-to-navigation-links.js +0 -1
  154. package/build/page-list/use-convert-to-navigation-links.js.map +1 -1
  155. package/build/paragraph/edit.js +4 -14
  156. package/build/paragraph/edit.js.map +1 -1
  157. package/build/pattern/edit.js +0 -1
  158. package/build/pattern/edit.js.map +1 -1
  159. package/build/pattern/index.js +1 -1
  160. package/build/post-author/edit.js +0 -1
  161. package/build/post-author/edit.js.map +1 -1
  162. package/build/post-content/index.js +1 -0
  163. package/build/post-content/index.js.map +1 -1
  164. package/build/post-date/edit.js +1 -1
  165. package/build/post-date/edit.js.map +1 -1
  166. package/build/post-featured-image/dimension-controls.js +2 -39
  167. package/build/post-featured-image/dimension-controls.js.map +1 -1
  168. package/build/post-featured-image/edit.js +45 -9
  169. package/build/post-featured-image/edit.js.map +1 -1
  170. package/build/post-navigation-link/edit.js +0 -1
  171. package/build/post-navigation-link/edit.js.map +1 -1
  172. package/build/post-navigation-link/variations.js +2 -3
  173. package/build/post-navigation-link/variations.js.map +1 -1
  174. package/build/post-template/edit.js +14 -7
  175. package/build/post-template/edit.js.map +1 -1
  176. package/build/post-terms/edit.js +1 -1
  177. package/build/post-terms/edit.js.map +1 -1
  178. package/build/post-terms/hooks.js +0 -1
  179. package/build/post-terms/hooks.js.map +1 -1
  180. package/build/post-time-to-read/index.js +1 -1
  181. package/build/pullquote/blockquote.native.js +0 -1
  182. package/build/pullquote/blockquote.native.js.map +1 -1
  183. package/build/pullquote/transforms.js +0 -1
  184. package/build/pullquote/transforms.js.map +1 -1
  185. package/build/query/deprecated.js +0 -1
  186. package/build/query/deprecated.js.map +1 -1
  187. package/build/query/edit/inspector-controls/author-control.js +0 -1
  188. package/build/query/edit/inspector-controls/author-control.js.map +1 -1
  189. package/build/query/edit/inspector-controls/format-controls.js +0 -1
  190. package/build/query/edit/inspector-controls/format-controls.js.map +1 -1
  191. package/build/query/edit/inspector-controls/index.js +0 -1
  192. package/build/query/edit/inspector-controls/index.js.map +1 -1
  193. package/build/query/edit/inspector-controls/parent-control.js +0 -1
  194. package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
  195. package/build/query/edit/inspector-controls/sticky-control.js +3 -0
  196. package/build/query/edit/inspector-controls/sticky-control.js.map +1 -1
  197. package/build/query/edit/inspector-controls/taxonomy-controls.js +0 -1
  198. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  199. package/build/query/edit/query-content.js +2 -6
  200. package/build/query/edit/query-content.js.map +1 -1
  201. package/build/query/utils.js +0 -1
  202. package/build/query/utils.js.map +1 -1
  203. package/build/query-no-results/index.js +1 -1
  204. package/build/query-pagination-numbers/edit.js +1 -1
  205. package/build/query-pagination-numbers/edit.js.map +1 -1
  206. package/build/query-title/edit.js +1 -0
  207. package/build/query-title/edit.js.map +1 -1
  208. package/build/query-title/variations.js +0 -1
  209. package/build/query-title/variations.js.map +1 -1
  210. package/build/quote/deprecated.js +0 -1
  211. package/build/quote/deprecated.js.map +1 -1
  212. package/build/quote/transforms.js +0 -1
  213. package/build/quote/transforms.js.map +1 -1
  214. package/build/read-more/edit.js +25 -7
  215. package/build/read-more/edit.js.map +1 -1
  216. package/build/rss/edit.js +15 -1
  217. package/build/rss/edit.js.map +1 -1
  218. package/build/rss/index.js +14 -0
  219. package/build/rss/index.js.map +1 -1
  220. package/build/search/edit.js +67 -49
  221. package/build/search/edit.js.map +1 -1
  222. package/build/separator/edit.js +2 -4
  223. package/build/separator/edit.js.map +1 -1
  224. package/build/social-link/icons/discord.js +23 -0
  225. package/build/social-link/icons/discord.js.map +1 -0
  226. package/build/social-link/icons/index.js +11 -0
  227. package/build/social-link/icons/index.js.map +1 -1
  228. package/build/social-link/social-list.js +0 -1
  229. package/build/social-link/social-list.js.map +1 -1
  230. package/build/social-link/variations.js +7 -1
  231. package/build/social-link/variations.js.map +1 -1
  232. package/build/social-links/edit.js +0 -1
  233. package/build/social-links/edit.js.map +1 -1
  234. package/build/social-links/edit.native.js +0 -1
  235. package/build/social-links/edit.native.js.map +1 -1
  236. package/build/spacer/controls.js +13 -10
  237. package/build/spacer/controls.js.map +1 -1
  238. package/build/spacer/edit.js +23 -21
  239. package/build/spacer/edit.js.map +1 -1
  240. package/build/table/deprecated.js +0 -1
  241. package/build/table/deprecated.js.map +1 -1
  242. package/build/table/edit.js +0 -1
  243. package/build/table/edit.js.map +1 -1
  244. package/build/table/save.js +0 -1
  245. package/build/table/save.js.map +1 -1
  246. package/build/table/state.js +0 -1
  247. package/build/table/state.js.map +1 -1
  248. package/build/table/transforms.js +0 -1
  249. package/build/table/transforms.js.map +1 -1
  250. package/build/table-of-contents/list.js +0 -1
  251. package/build/table-of-contents/list.js.map +1 -1
  252. package/build/table-of-contents/utils.js +0 -1
  253. package/build/table-of-contents/utils.js.map +1 -1
  254. package/build/tag-cloud/edit.js +0 -1
  255. package/build/tag-cloud/edit.js.map +1 -1
  256. package/build/template-part/edit/advanced-controls.js +2 -10
  257. package/build/template-part/edit/advanced-controls.js.map +1 -1
  258. package/build/template-part/edit/import-controls.js +0 -1
  259. package/build/template-part/edit/import-controls.js.map +1 -1
  260. package/build/template-part/edit/selection-modal.js +0 -1
  261. package/build/template-part/edit/selection-modal.js.map +1 -1
  262. package/build/template-part/edit/utils/hooks.js +0 -1
  263. package/build/template-part/edit/utils/hooks.js.map +1 -1
  264. package/build/template-part/edit/utils/transformers.js +0 -1
  265. package/build/template-part/edit/utils/transformers.js.map +1 -1
  266. package/build/template-part/variations.js +0 -1
  267. package/build/template-part/variations.js.map +1 -1
  268. package/build/text-columns/edit.js +0 -1
  269. package/build/text-columns/edit.js.map +1 -1
  270. package/build/text-columns/save.js +0 -1
  271. package/build/text-columns/save.js.map +1 -1
  272. package/build/text-columns/transforms.js +0 -1
  273. package/build/text-columns/transforms.js.map +1 -1
  274. package/build/utils/get-transformed-metadata.js +0 -1
  275. package/build/utils/get-transformed-metadata.js.map +1 -1
  276. package/build/utils/messages.js +22 -0
  277. package/build/utils/messages.js.map +1 -0
  278. package/build/utils/search-patterns.js +0 -1
  279. package/build/utils/search-patterns.js.map +1 -1
  280. package/build/utils/transformation-categories.native.js +0 -1
  281. package/build/utils/transformation-categories.native.js.map +1 -1
  282. package/build/video/edit-common-settings.js +1 -1
  283. package/build/video/edit-common-settings.js.map +1 -1
  284. package/build/video/tracks-editor.js +0 -1
  285. package/build/video/tracks-editor.js.map +1 -1
  286. package/build/video/tracks.js +0 -1
  287. package/build/video/tracks.js.map +1 -1
  288. package/build-module/archives/edit.js +2 -2
  289. package/build-module/archives/edit.js.map +1 -1
  290. package/build-module/archives/index.js +9 -0
  291. package/build-module/archives/index.js.map +1 -1
  292. package/build-module/avatar/user-control.js +0 -1
  293. package/build-module/avatar/user-control.js.map +1 -1
  294. package/build-module/block/deprecated.js +0 -1
  295. package/build-module/block/deprecated.js.map +1 -1
  296. package/build-module/block/edit.js +0 -1
  297. package/build-module/block/edit.js.map +1 -1
  298. package/build-module/button/deprecated.js +0 -1
  299. package/build-module/button/deprecated.js.map +1 -1
  300. package/build-module/buttons/transforms.js +0 -1
  301. package/build-module/buttons/transforms.js.map +1 -1
  302. package/build-module/categories/edit.js +116 -39
  303. package/build-module/categories/edit.js.map +1 -1
  304. package/build-module/categories/index.js +9 -0
  305. package/build-module/categories/index.js.map +1 -1
  306. package/build-module/column/column-preview.native.js +0 -1
  307. package/build-module/column/column-preview.native.js.map +1 -1
  308. package/build-module/columns/columnCalculations.native.js +0 -1
  309. package/build-module/columns/columnCalculations.native.js.map +1 -1
  310. package/build-module/columns/deprecated.js +0 -1
  311. package/build-module/columns/deprecated.js.map +1 -1
  312. package/build-module/columns/edit.js +0 -1
  313. package/build-module/columns/edit.js.map +1 -1
  314. package/build-module/columns/edit.native.js +0 -1
  315. package/build-module/columns/edit.native.js.map +1 -1
  316. package/build-module/columns/transforms.js +0 -1
  317. package/build-module/columns/transforms.js.map +1 -1
  318. package/build-module/columns/utils.js +0 -1
  319. package/build-module/columns/utils.js.map +1 -1
  320. package/build-module/comment-template/edit.js +0 -1
  321. package/build-module/comment-template/edit.js.map +1 -1
  322. package/build-module/comment-template/hooks.js +0 -1
  323. package/build-module/comment-template/hooks.js.map +1 -1
  324. package/build-module/comment-template/util.js +0 -1
  325. package/build-module/comment-template/util.js.map +1 -1
  326. package/build-module/comments/edit/comments-inspector-controls.js +5 -4
  327. package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
  328. package/build-module/comments-pagination/index.js +5 -0
  329. package/build-module/comments-pagination/index.js.map +1 -1
  330. package/build-module/cover/edit/inspector-controls.js +1 -8
  331. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  332. package/build-module/details/edit.js +17 -3
  333. package/build-module/details/edit.js.map +1 -1
  334. package/build-module/details/index.js +9 -0
  335. package/build-module/details/index.js.map +1 -1
  336. package/build-module/details/save.js +2 -0
  337. package/build-module/details/save.js.map +1 -1
  338. package/build-module/details/transforms.js +0 -1
  339. package/build-module/details/transforms.js.map +1 -1
  340. package/build-module/embed/embed-placeholder.native.js +0 -1
  341. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  342. package/build-module/embed/transforms.js +5 -2
  343. package/build-module/embed/transforms.js.map +1 -1
  344. package/build-module/embed/util.js +0 -1
  345. package/build-module/embed/util.js.map +1 -1
  346. package/build-module/embed/variations.js +0 -1
  347. package/build-module/embed/variations.js.map +1 -1
  348. package/build-module/embed/wp-embed-preview.js +0 -1
  349. package/build-module/embed/wp-embed-preview.js.map +1 -1
  350. package/build-module/file/transforms.js +0 -1
  351. package/build-module/file/transforms.js.map +1 -1
  352. package/build-module/footnotes/edit.js +0 -1
  353. package/build-module/footnotes/edit.js.map +1 -1
  354. package/build-module/form/variations.js +1 -1
  355. package/build-module/form/variations.js.map +1 -1
  356. package/build-module/freeform/modal.js +0 -1
  357. package/build-module/freeform/modal.js.map +1 -1
  358. package/build-module/gallery/deprecated.js +0 -1
  359. package/build-module/gallery/deprecated.js.map +1 -1
  360. package/build-module/gallery/edit.js +0 -1
  361. package/build-module/gallery/edit.js.map +1 -1
  362. package/build-module/gallery/shared.js +0 -1
  363. package/build-module/gallery/shared.js.map +1 -1
  364. package/build-module/gallery/transforms.js +0 -1
  365. package/build-module/gallery/transforms.js.map +1 -1
  366. package/build-module/gallery/use-get-media.js +0 -1
  367. package/build-module/gallery/use-get-media.js.map +1 -1
  368. package/build-module/gallery/use-get-media.native.js +0 -1
  369. package/build-module/gallery/use-get-media.native.js.map +1 -1
  370. package/build-module/gallery/use-get-new-images.js +0 -1
  371. package/build-module/gallery/use-get-new-images.js.map +1 -1
  372. package/build-module/gallery/use-image-sizes.js +0 -1
  373. package/build-module/gallery/use-image-sizes.js.map +1 -1
  374. package/build-module/group/edit.js +1 -8
  375. package/build-module/group/edit.js.map +1 -1
  376. package/build-module/group/placeholder.js +0 -1
  377. package/build-module/group/placeholder.js.map +1 -1
  378. package/build-module/group/transforms.js +0 -1
  379. package/build-module/group/transforms.js.map +1 -1
  380. package/build-module/heading/transforms.js +0 -1
  381. package/build-module/heading/transforms.js.map +1 -1
  382. package/build-module/home-link/edit.js +1 -2
  383. package/build-module/home-link/edit.js.map +1 -1
  384. package/build-module/html/preview.js +0 -1
  385. package/build-module/html/preview.js.map +1 -1
  386. package/build-module/image/edit.js +0 -1
  387. package/build-module/image/edit.js.map +1 -1
  388. package/build-module/image/edit.native.js +0 -1
  389. package/build-module/image/edit.native.js.map +1 -1
  390. package/build-module/image/image.js +0 -1
  391. package/build-module/image/image.js.map +1 -1
  392. package/build-module/image/transforms.js +0 -1
  393. package/build-module/image/transforms.js.map +1 -1
  394. package/build-module/image/utils.js +0 -1
  395. package/build-module/image/utils.js.map +1 -1
  396. package/build-module/index.native.js +0 -1
  397. package/build-module/index.native.js.map +1 -1
  398. package/build-module/latest-comments/edit.js +74 -27
  399. package/build-module/latest-comments/edit.js.map +1 -1
  400. package/build-module/latest-posts/constants.js +1 -0
  401. package/build-module/latest-posts/constants.js.map +1 -1
  402. package/build-module/latest-posts/edit.js +93 -41
  403. package/build-module/latest-posts/edit.js.map +1 -1
  404. package/build-module/list/transforms.js +0 -1
  405. package/build-module/list/transforms.js.map +1 -1
  406. package/build-module/list/utils.js +0 -1
  407. package/build-module/list/utils.js.map +1 -1
  408. package/build-module/list-item/hooks/use-indent-list-item.js +0 -1
  409. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  410. package/build-module/list-item/index.js +1 -1
  411. package/build-module/list-item/transforms.js +0 -1
  412. package/build-module/list-item/transforms.js.map +1 -1
  413. package/build-module/media-text/edit.js +0 -1
  414. package/build-module/media-text/edit.js.map +1 -1
  415. package/build-module/more/save.js +0 -1
  416. package/build-module/more/save.js.map +1 -1
  417. package/build-module/navigation/deprecated.js +0 -1
  418. package/build-module/navigation/deprecated.js.map +1 -1
  419. package/build-module/navigation/edit/index.js +0 -1
  420. package/build-module/navigation/edit/index.js.map +1 -1
  421. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +4 -4
  422. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  423. package/build-module/navigation/edit/use-generate-default-navigation-title.js +4 -5
  424. package/build-module/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  425. package/build-module/navigation/menu-items-to-blocks.js +0 -1
  426. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  427. package/build-module/navigation/use-template-part-area-label.js +0 -1
  428. package/build-module/navigation/use-template-part-area-label.js.map +1 -1
  429. package/build-module/navigation/view.js +0 -1
  430. package/build-module/navigation/view.js.map +1 -1
  431. package/build-module/navigation-link/edit.js +15 -20
  432. package/build-module/navigation-link/edit.js.map +1 -1
  433. package/build-module/navigation-link/hooks.js +0 -1
  434. package/build-module/navigation-link/hooks.js.map +1 -1
  435. package/build-module/navigation-submenu/index.js +7 -0
  436. package/build-module/navigation-submenu/index.js.map +1 -1
  437. package/build-module/page-list/edit.js +1 -2
  438. package/build-module/page-list/edit.js.map +1 -1
  439. package/build-module/page-list/use-convert-to-navigation-links.js +0 -1
  440. package/build-module/page-list/use-convert-to-navigation-links.js.map +1 -1
  441. package/build-module/paragraph/edit.js +5 -15
  442. package/build-module/paragraph/edit.js.map +1 -1
  443. package/build-module/pattern/edit.js +0 -1
  444. package/build-module/pattern/edit.js.map +1 -1
  445. package/build-module/pattern/index.js +1 -1
  446. package/build-module/post-author/edit.js +0 -1
  447. package/build-module/post-author/edit.js.map +1 -1
  448. package/build-module/post-content/index.js +1 -0
  449. package/build-module/post-content/index.js.map +1 -1
  450. package/build-module/post-date/edit.js +1 -1
  451. package/build-module/post-date/edit.js.map +1 -1
  452. package/build-module/post-featured-image/dimension-controls.js +3 -40
  453. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  454. package/build-module/post-featured-image/edit.js +46 -10
  455. package/build-module/post-featured-image/edit.js.map +1 -1
  456. package/build-module/post-navigation-link/edit.js +0 -1
  457. package/build-module/post-navigation-link/edit.js.map +1 -1
  458. package/build-module/post-navigation-link/variations.js +2 -3
  459. package/build-module/post-navigation-link/variations.js.map +1 -1
  460. package/build-module/post-template/edit.js +14 -7
  461. package/build-module/post-template/edit.js.map +1 -1
  462. package/build-module/post-terms/edit.js +1 -1
  463. package/build-module/post-terms/edit.js.map +1 -1
  464. package/build-module/post-terms/hooks.js +0 -1
  465. package/build-module/post-terms/hooks.js.map +1 -1
  466. package/build-module/post-time-to-read/index.js +1 -1
  467. package/build-module/pullquote/blockquote.native.js +0 -1
  468. package/build-module/pullquote/blockquote.native.js.map +1 -1
  469. package/build-module/pullquote/transforms.js +0 -1
  470. package/build-module/pullquote/transforms.js.map +1 -1
  471. package/build-module/query/deprecated.js +0 -1
  472. package/build-module/query/deprecated.js.map +1 -1
  473. package/build-module/query/edit/inspector-controls/author-control.js +0 -1
  474. package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
  475. package/build-module/query/edit/inspector-controls/format-controls.js +0 -1
  476. package/build-module/query/edit/inspector-controls/format-controls.js.map +1 -1
  477. package/build-module/query/edit/inspector-controls/index.js +0 -1
  478. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  479. package/build-module/query/edit/inspector-controls/parent-control.js +0 -1
  480. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
  481. package/build-module/query/edit/inspector-controls/sticky-control.js +3 -0
  482. package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -1
  483. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +0 -1
  484. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  485. package/build-module/query/edit/query-content.js +1 -5
  486. package/build-module/query/edit/query-content.js.map +1 -1
  487. package/build-module/query/utils.js +0 -1
  488. package/build-module/query/utils.js.map +1 -1
  489. package/build-module/query-no-results/index.js +1 -1
  490. package/build-module/query-pagination-numbers/edit.js +1 -1
  491. package/build-module/query-pagination-numbers/edit.js.map +1 -1
  492. package/build-module/query-title/edit.js +1 -0
  493. package/build-module/query-title/edit.js.map +1 -1
  494. package/build-module/query-title/variations.js +0 -1
  495. package/build-module/query-title/variations.js.map +1 -1
  496. package/build-module/quote/deprecated.js +0 -1
  497. package/build-module/quote/deprecated.js.map +1 -1
  498. package/build-module/quote/transforms.js +0 -1
  499. package/build-module/quote/transforms.js.map +1 -1
  500. package/build-module/read-more/edit.js +26 -8
  501. package/build-module/read-more/edit.js.map +1 -1
  502. package/build-module/rss/edit.js +15 -1
  503. package/build-module/rss/edit.js.map +1 -1
  504. package/build-module/rss/index.js +14 -0
  505. package/build-module/rss/index.js.map +1 -1
  506. package/build-module/search/edit.js +68 -50
  507. package/build-module/search/edit.js.map +1 -1
  508. package/build-module/separator/edit.js +1 -3
  509. package/build-module/separator/edit.js.map +1 -1
  510. package/build-module/social-link/icons/discord.js +15 -0
  511. package/build-module/social-link/icons/discord.js.map +1 -0
  512. package/build-module/social-link/icons/index.js +1 -0
  513. package/build-module/social-link/icons/index.js.map +1 -1
  514. package/build-module/social-link/social-list.js +0 -1
  515. package/build-module/social-link/social-list.js.map +1 -1
  516. package/build-module/social-link/variations.js +8 -2
  517. package/build-module/social-link/variations.js.map +1 -1
  518. package/build-module/social-links/edit.js +0 -1
  519. package/build-module/social-links/edit.js.map +1 -1
  520. package/build-module/social-links/edit.native.js +0 -1
  521. package/build-module/social-links/edit.native.js.map +1 -1
  522. package/build-module/spacer/controls.js +13 -10
  523. package/build-module/spacer/controls.js.map +1 -1
  524. package/build-module/spacer/edit.js +24 -22
  525. package/build-module/spacer/edit.js.map +1 -1
  526. package/build-module/table/deprecated.js +0 -1
  527. package/build-module/table/deprecated.js.map +1 -1
  528. package/build-module/table/edit.js +0 -1
  529. package/build-module/table/edit.js.map +1 -1
  530. package/build-module/table/save.js +0 -1
  531. package/build-module/table/save.js.map +1 -1
  532. package/build-module/table/state.js +0 -1
  533. package/build-module/table/state.js.map +1 -1
  534. package/build-module/table/transforms.js +0 -1
  535. package/build-module/table/transforms.js.map +1 -1
  536. package/build-module/table-of-contents/list.js +0 -1
  537. package/build-module/table-of-contents/list.js.map +1 -1
  538. package/build-module/table-of-contents/utils.js +0 -1
  539. package/build-module/table-of-contents/utils.js.map +1 -1
  540. package/build-module/tag-cloud/edit.js +0 -1
  541. package/build-module/tag-cloud/edit.js.map +1 -1
  542. package/build-module/template-part/edit/advanced-controls.js +1 -9
  543. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  544. package/build-module/template-part/edit/import-controls.js +0 -1
  545. package/build-module/template-part/edit/import-controls.js.map +1 -1
  546. package/build-module/template-part/edit/selection-modal.js +0 -1
  547. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  548. package/build-module/template-part/edit/utils/hooks.js +0 -1
  549. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  550. package/build-module/template-part/edit/utils/transformers.js +0 -1
  551. package/build-module/template-part/edit/utils/transformers.js.map +1 -1
  552. package/build-module/template-part/variations.js +0 -1
  553. package/build-module/template-part/variations.js.map +1 -1
  554. package/build-module/text-columns/edit.js +0 -1
  555. package/build-module/text-columns/edit.js.map +1 -1
  556. package/build-module/text-columns/save.js +0 -1
  557. package/build-module/text-columns/save.js.map +1 -1
  558. package/build-module/text-columns/transforms.js +0 -1
  559. package/build-module/text-columns/transforms.js.map +1 -1
  560. package/build-module/utils/get-transformed-metadata.js +0 -1
  561. package/build-module/utils/get-transformed-metadata.js.map +1 -1
  562. package/build-module/utils/messages.js +15 -0
  563. package/build-module/utils/messages.js.map +1 -0
  564. package/build-module/utils/search-patterns.js +0 -1
  565. package/build-module/utils/search-patterns.js.map +1 -1
  566. package/build-module/utils/transformation-categories.native.js +0 -1
  567. package/build-module/utils/transformation-categories.native.js.map +1 -1
  568. package/build-module/video/edit-common-settings.js +1 -1
  569. package/build-module/video/edit-common-settings.js.map +1 -1
  570. package/build-module/video/tracks-editor.js +0 -1
  571. package/build-module/video/tracks-editor.js.map +1 -1
  572. package/build-module/video/tracks.js +0 -1
  573. package/build-module/video/tracks.js.map +1 -1
  574. package/build-style/editor-rtl.css +17 -51
  575. package/build-style/editor.css +17 -51
  576. package/build-style/gallery/editor-rtl.css +0 -44
  577. package/build-style/gallery/editor.css +0 -44
  578. package/build-style/navigation-link/editor-rtl.css +3 -0
  579. package/build-style/navigation-link/editor.css +3 -0
  580. package/build-style/paragraph/editor-rtl.css +4 -0
  581. package/build-style/paragraph/editor.css +4 -0
  582. package/build-style/post-featured-image/editor-rtl.css +1 -1
  583. package/build-style/post-featured-image/editor.css +1 -1
  584. package/build-style/rss/editor-rtl.css +6 -0
  585. package/build-style/rss/editor.css +6 -0
  586. package/build-style/rss/style-rtl.css +6 -8
  587. package/build-style/rss/style.css +6 -8
  588. package/build-style/social-links/editor-rtl.css +3 -6
  589. package/build-style/social-links/editor.css +3 -6
  590. package/build-style/social-links/style-rtl.css +7 -0
  591. package/build-style/social-links/style.css +7 -0
  592. package/build-style/style-rtl.css +13 -8
  593. package/build-style/style.css +13 -8
  594. package/package.json +35 -35
  595. package/src/archives/block.json +9 -0
  596. package/src/archives/edit.js +2 -2
  597. package/src/block/index.php +1 -18
  598. package/src/categories/block.json +9 -0
  599. package/src/categories/edit.js +133 -45
  600. package/src/comments/edit/comments-inspector-controls.js +5 -8
  601. package/src/comments-pagination/block.json +5 -0
  602. package/src/cover/edit/inspector-controls.js +1 -21
  603. package/src/details/block.json +9 -0
  604. package/src/details/edit.js +18 -2
  605. package/src/details/save.js +6 -2
  606. package/src/embed/transforms.js +3 -1
  607. package/src/form/variations.js +1 -1
  608. package/src/gallery/editor.scss +0 -56
  609. package/src/group/edit.js +1 -20
  610. package/src/home-link/edit.js +0 -6
  611. package/src/latest-comments/edit.js +93 -33
  612. package/src/latest-posts/constants.js +1 -0
  613. package/src/latest-posts/edit.js +119 -44
  614. package/src/list/test/edit.native.js +9 -9
  615. package/src/list-item/block.json +1 -1
  616. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +4 -4
  617. package/src/navigation/edit/use-generate-default-navigation-title.js +4 -4
  618. package/src/navigation/index.php +11 -69
  619. package/src/navigation-link/edit.js +25 -29
  620. package/src/navigation-link/editor.scss +27 -18
  621. package/src/navigation-submenu/index.js +7 -0
  622. package/src/navigation-submenu/index.php +21 -4
  623. package/src/page-list/edit.js +52 -50
  624. package/src/paragraph/edit.js +3 -18
  625. package/src/paragraph/editor.scss +7 -0
  626. package/src/pattern/block.json +1 -1
  627. package/src/post-content/block.json +1 -0
  628. package/src/post-content/index.php +0 -23
  629. package/src/post-date/edit.js +1 -3
  630. package/src/post-featured-image/dimension-controls.js +2 -43
  631. package/src/post-featured-image/edit.js +41 -18
  632. package/src/post-featured-image/editor.scss +2 -2
  633. package/src/post-navigation-link/variations.js +2 -2
  634. package/src/post-template/edit.js +15 -6
  635. package/src/post-terms/edit.js +1 -0
  636. package/src/post-time-to-read/block.json +1 -1
  637. package/src/query/edit/inspector-controls/sticky-control.js +1 -0
  638. package/src/query/edit/query-content.js +1 -11
  639. package/src/query-no-results/block.json +1 -1
  640. package/src/query-pagination-numbers/edit.js +1 -1
  641. package/src/query-title/edit.js +1 -0
  642. package/src/read-more/edit.js +35 -11
  643. package/src/rss/block.json +14 -0
  644. package/src/rss/edit.js +14 -1
  645. package/src/rss/editor.scss +7 -0
  646. package/src/rss/style.scss +6 -8
  647. package/src/search/edit.js +99 -74
  648. package/src/separator/edit.js +1 -6
  649. package/src/social-link/icons/discord.js +10 -0
  650. package/src/social-link/icons/index.js +1 -0
  651. package/src/social-link/index.php +4 -0
  652. package/src/social-link/socials-with-bg.scss +5 -0
  653. package/src/social-link/socials-without-bg.scss +4 -0
  654. package/src/social-link/variations.js +7 -0
  655. package/src/social-links/editor.scss +4 -1
  656. package/src/spacer/controls.js +10 -9
  657. package/src/spacer/edit.js +25 -23
  658. package/src/template-part/edit/advanced-controls.js +1 -21
  659. package/src/utils/messages.js +31 -0
  660. package/src/video/edit-common-settings.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_blob","require","_components","_compose","_data","_blockEditor","_element","_i18n","_url","_blocks","_icons","_notices","_coreData","_lockUnlock","_util","_edit","_caption","_hooks","_constants","_utils","_jsxRuntime","DimensionsTool","ResolutionTool","unlock","blockEditorPrivateApis","scaleOptions","value","label","_x","help","__","WRITEMODE_POPOVER_PROPS","placement","ImageWrapper","href","children","jsx","onClick","event","preventDefault","style","pointerEvents","cursor","display","ContentOnlyControls","attributes","setAttributes","lockAltControls","lockAltControlsMessage","lockTitleControls","lockTitleControlsMessage","popoverAnchor","setPopoverAnchor","useState","isAltDialogOpen","setIsAltDialogOpen","isTitleDialogOpen","setIsTitleDialogOpen","jsxs","Fragment","ToolbarItem","ref","toggleProps","DropdownMenu","icon","chevronDown","description","popoverProps","onClose","MenuItem","Popover","anchor","offset","variant","className","TextareaControl","alt","onChange","disabled","ExternalLink","__nextHasNoMarginBottom","TextControl","__next40pxDefaultSize","title","Image","temporaryURL","isSingleSelected","insertBlocksAfter","onReplace","onSelectImage","onSelectURL","onUploadError","context","clientId","blockEditingMode","parentLayoutType","maxContentWidth","url","align","id","rel","linkClass","linkDestination","width","height","aspectRatio","scale","linkTarget","sizeSlug","lightbox","metadata","numericWidth","parseInt","undefined","numericHeight","imageRef","useRef","allowResize","getBlock","getSettings","useSelect","blockEditorStore","image","select","coreStore","getMedia","canInsertCover","imageEditing","imageSizes","maxWidth","getBlockRootClientId","canInsertBlockType","rootClientId","settings","replaceBlocks","toggleSelection","useDispatch","createErrorNotice","createSuccessNotice","noticesStore","isLargeViewport","useViewportMatch","isWideAligned","includes","loadedNaturalWidth","loadedNaturalHeight","setLoadedNaturalSize","isEditingImage","setIsEditingImage","externalBlob","setExternalBlob","hasImageErrored","setHasImageErrored","hasNonContentControls","isContentOnlyMode","isResizable","imageSizeOptions","filter","slug","media_details","sizes","source_url","map","name","useEffect","isExternalImage","mediaUpload","window","fetch","then","response","blob","catch","naturalWidth","naturalHeight","useMemo","current","complete","onResizeStart","onResizeStop","onImageError","embedBlock","createUpgradedEmbedBlock","onImageLoad","target","onSetHref","props","onSetLightbox","enable","lightboxSetting","enabled","resetLightbox","allowEditing","onSetTitle","updateAlt","newAlt","updateImage","newSizeSlug","newUrl","uploadExternal","filesList","onFileChange","img","isBlobURL","type","allowedTypes","ALLOWED_MEDIA_TYPES","onError","message","canEditImage","allowCrop","switchToCover","switchToBlockType","dimensionsUnitsOptions","useCustomUnits","availableUnits","useSettings","showLightboxSetting","lightboxChecked","dropdownMenuProps","useToolsPanelDropdownMenuProps","dimensionsControl","newWidth","newHeight","newScale","newAspectRatio","defaultScale","defaultAspectRatio","unitsOptions","aspectRatioControl","tools","resetAll","sizeControls","InspectorControls","__experimentalToolsPanel","arePatternOverridesEnabled","bindings","__default","source","lockUrlControls","lockHrefControls","lockCaption","urlBinding","altBinding","titleBinding","hasParentPattern","urlBindingSource","getBlockBindingsSource","altBindingSource","titleBindingSource","canUserEditValue","args","sprintf","showUrlInput","showCoverControls","showBlockControls","mediaReplaceFlow","BlockControls","group","MediaReplaceFlow","mediaId","mediaURL","accept","onSelect","onReset","controls","__experimentalImageURLInputUI","onChangeUrl","mediaUrl","mediaLink","link","lightboxEnabled","ToolbarButton","crop","overlayText","ToolbarGroup","upload","__experimentalToolsPanelItem","isShownByDefault","hasValue","onDeselect","readOnly","length","options","filename","getFilename","defaultedAlt","borderProps","useBorderProps","shadowProps","getShadowClassesAndStyles","isRounded","postType","postId","queryId","isDescendentOfQueryLoop","Number","isFinite","setFeaturedImage","useEntityProp","Placeholder","withIllustration","Spinner","src","onLoad","objectFit","__experimentalImageEditor","onSaveImage","imageAttributes","onFinishEditing","numericRatio","evalAspectRatio","customRatio","naturalRatio","ratio","currentWidth","currentHeight","minWidth","MIN_SIZE","minHeight","maxWidthBuffer","maxResizeWidth","showRightHandle","showLeftHandle","isRTL","ResizableBox","size","showHandle","maxHeight","lockAspectRatio","top","right","bottom","left","direction","elt","Math","abs","offsetWidth","String","resizeRatio","setPostFeatureImage","featuredImageControl","BlockSettingsMenuControls","selectedClientIds","Caption","isSelected","showToolbarButton"],"sources":["@wordpress/block-library/src/image/image.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tExternalLink,\n\tResizableBox,\n\tSpinner,\n\tTextareaControl,\n\tTextControl,\n\tToolbarButton,\n\tToolbarGroup,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\tPlaceholder,\n\tMenuItem,\n\tToolbarItem,\n\tDropdownMenu,\n\tPopover,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\tMediaReplaceFlow,\n\tstore as blockEditorStore,\n\tuseSettings,\n\t__experimentalImageEditor as ImageEditor,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tprivateApis as blockEditorPrivateApis,\n\tBlockSettingsMenuControls,\n} from '@wordpress/block-editor';\nimport { useEffect, useMemo, useState, useRef } from '@wordpress/element';\nimport { __, _x, sprintf, isRTL } from '@wordpress/i18n';\nimport { getFilename } from '@wordpress/url';\nimport { getBlockBindingsSource, switchToBlockType } from '@wordpress/blocks';\nimport { crop, overlayText, upload, chevronDown } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore, useEntityProp } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport { isExternalImage } from './edit';\nimport { Caption } from '../utils/caption';\n\n/**\n * Module constants\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport { MIN_SIZE, ALLOWED_MEDIA_TYPES } from './constants';\nimport { evalAspectRatio } from './utils';\n\nconst { DimensionsTool, ResolutionTool } = unlock( blockEditorPrivateApis );\n\nconst scaleOptions = [\n\t{\n\t\tvalue: 'cover',\n\t\tlabel: _x( 'Cover', 'Scale option for dimensions control' ),\n\t\thelp: __( 'Image covers the space evenly.' ),\n\t},\n\t{\n\t\tvalue: 'contain',\n\t\tlabel: _x( 'Contain', 'Scale option for dimensions control' ),\n\t\thelp: __( 'Image is contained without distortion.' ),\n\t},\n];\n\nconst WRITEMODE_POPOVER_PROPS = {\n\tplacement: 'bottom-start',\n};\n\n// If the image has a href, wrap in an <a /> tag to trigger any inherited link element styles.\nconst ImageWrapper = ( { href, children } ) => {\n\tif ( ! href ) {\n\t\treturn children;\n\t}\n\treturn (\n\t\t<a\n\t\t\thref={ href }\n\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\taria-disabled\n\t\t\tstyle={ {\n\t\t\t\t// When the Image block is linked,\n\t\t\t\t// it's wrapped with a disabled <a /> tag.\n\t\t\t\t// Restore cursor style so it doesn't appear 'clickable'\n\t\t\t\t// and remove pointer events. Safari needs the display property.\n\t\t\t\tpointerEvents: 'none',\n\t\t\t\tcursor: 'default',\n\t\t\t\tdisplay: 'inline',\n\t\t\t} }\n\t\t>\n\t\t\t{ children }\n\t\t</a>\n\t);\n};\n\nfunction ContentOnlyControls( {\n\tattributes,\n\tsetAttributes,\n\tlockAltControls,\n\tlockAltControlsMessage,\n\tlockTitleControls,\n\tlockTitleControlsMessage,\n} ) {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst [ isAltDialogOpen, setIsAltDialogOpen ] = useState( false );\n\tconst [ isTitleDialogOpen, setIsTitleDialogOpen ] = useState( false );\n\treturn (\n\t\t<>\n\t\t\t<ToolbarItem ref={ setPopoverAnchor }>\n\t\t\t\t{ ( toggleProps ) => (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\ticon={ chevronDown }\n\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\tlabel={ __( 'More' ) }\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t...toggleProps,\n\t\t\t\t\t\t\tdescription: __( 'Displays more controls.' ),\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tpopoverProps={ WRITEMODE_POPOVER_PROPS }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsAltDialogOpen( true );\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ _x(\n\t\t\t\t\t\t\t\t\t\t'Alternative text',\n\t\t\t\t\t\t\t\t\t\t'Alternative text for an image. Block toolbar label, a low character count is preferred.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsTitleDialogOpen( true );\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Title text' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t) }\n\t\t\t</ToolbarItem>\n\t\t\t{ isAltDialogOpen && (\n\t\t\t\t<Popover\n\t\t\t\t\tplacement=\"bottom-start\"\n\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\tonClose={ () => setIsAltDialogOpen( false ) }\n\t\t\t\t\toffset={ 13 }\n\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"wp-block-image__toolbar_content_textarea__container\">\n\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\tclassName=\"wp-block-image__toolbar_content_textarea\"\n\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\tvalue={ attributes.alt || '' }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { alt: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={ lockAltControls }\n\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\tlockAltControls ? (\n\t\t\t\t\t\t\t\t\t<>{ lockAltControlsMessage }</>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\t\thref={\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'https://www.w3.org/WAI/tutorials/images/decision-tree/'\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t\t{ isTitleDialogOpen && (\n\t\t\t\t<Popover\n\t\t\t\t\tplacement=\"bottom-start\"\n\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\tonClose={ () => setIsTitleDialogOpen( false ) }\n\t\t\t\t\toffset={ 13 }\n\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"wp-block-image__toolbar_content_textarea__container\">\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName=\"wp-block-image__toolbar_content_textarea\"\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\t\t\tvalue={ attributes.title || '' }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\ttitle: value,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={ lockTitleControls }\n\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\tlockTitleControls ? (\n\t\t\t\t\t\t\t\t\t<>{ lockTitleControlsMessage }</>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Describe the role of this image on the page.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/TR/html52/dom.html#the-title-attribute\">\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'(Note: many devices and browsers do not display this text.)'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default function Image( {\n\ttemporaryURL,\n\tattributes,\n\tsetAttributes,\n\tisSingleSelected,\n\tinsertBlocksAfter,\n\tonReplace,\n\tonSelectImage,\n\tonSelectURL,\n\tonUploadError,\n\tcontext,\n\tclientId,\n\tblockEditingMode,\n\tparentLayoutType,\n\tmaxContentWidth,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\talign,\n\t\tid,\n\t\thref,\n\t\trel,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\ttitle,\n\t\twidth,\n\t\theight,\n\t\taspectRatio,\n\t\tscale,\n\t\tlinkTarget,\n\t\tsizeSlug,\n\t\tlightbox,\n\t\tmetadata,\n\t} = attributes;\n\n\t// The only supported unit is px, so we can parseInt to strip the px here.\n\tconst numericWidth = width ? parseInt( width, 10 ) : undefined;\n\tconst numericHeight = height ? parseInt( height, 10 ) : undefined;\n\n\tconst imageRef = useRef();\n\tconst { allowResize = true } = context;\n\tconst { getBlock, getSettings } = useSelect( blockEditorStore );\n\n\tconst image = useSelect(\n\t\t( select ) =>\n\t\t\tid && isSingleSelected\n\t\t\t\t? select( coreStore ).getMedia( id, { context: 'view' } )\n\t\t\t\t: null,\n\t\t[ id, isSingleSelected ]\n\t);\n\n\tconst { canInsertCover, imageEditing, imageSizes, maxWidth } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, canInsertBlockType } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst settings = getSettings();\n\n\t\t\treturn {\n\t\t\t\timageEditing: settings.imageEditing,\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tmaxWidth: settings.maxWidth,\n\t\t\t\tcanInsertCover: canInsertBlockType(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { replaceBlocks, toggleSelection } = useDispatch( blockEditorStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = [ 'wide', 'full' ].includes( align );\n\tconst [\n\t\t{ loadedNaturalWidth, loadedNaturalHeight },\n\t\tsetLoadedNaturalSize,\n\t] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst [ externalBlob, setExternalBlob ] = useState();\n\tconst [ hasImageErrored, setHasImageErrored ] = useState( false );\n\tconst hasNonContentControls = blockEditingMode === 'default';\n\tconst isContentOnlyMode = blockEditingMode === 'contentOnly';\n\tconst isResizable =\n\t\tallowResize &&\n\t\thasNonContentControls &&\n\t\t! isWideAligned &&\n\t\tisLargeViewport;\n\tconst imageSizeOptions = imageSizes\n\t\t.filter(\n\t\t\t( { slug } ) => image?.media_details?.sizes?.[ slug ]?.source_url\n\t\t)\n\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\n\t// If an image is externally hosted, try to fetch the image data. This may\n\t// fail if the image host doesn't allow CORS with the domain. If it works,\n\t// we can enable a button in the toolbar to upload the image.\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! isExternalImage( id, url ) ||\n\t\t\t! isSingleSelected ||\n\t\t\t! getSettings().mediaUpload\n\t\t) {\n\t\t\tsetExternalBlob();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( externalBlob ) {\n\t\t\treturn;\n\t\t}\n\n\t\twindow\n\t\t\t// Avoid cache, which seems to help avoid CORS problems.\n\t\t\t.fetch( url.includes( '?' ) ? url : url + '?' )\n\t\t\t.then( ( response ) => response.blob() )\n\t\t\t.then( ( blob ) => setExternalBlob( blob ) )\n\t\t\t// Do nothing, cannot upload.\n\t\t\t.catch( () => {} );\n\t}, [ id, url, isSingleSelected, externalBlob ] );\n\n\t// Get naturalWidth and naturalHeight from image ref, and fall back to loaded natural\n\t// width and height. This resolves an issue in Safari where the loaded natural\n\t// width and height is otherwise lost when switching between alignments.\n\t// See: https://github.com/WordPress/gutenberg/pull/37210.\n\tconst { naturalWidth, naturalHeight } = useMemo( () => {\n\t\treturn {\n\t\t\tnaturalWidth:\n\t\t\t\timageRef.current?.naturalWidth ||\n\t\t\t\tloadedNaturalWidth ||\n\t\t\t\tundefined,\n\t\t\tnaturalHeight:\n\t\t\t\timageRef.current?.naturalHeight ||\n\t\t\t\tloadedNaturalHeight ||\n\t\t\t\tundefined,\n\t\t};\n\t}, [\n\t\tloadedNaturalWidth,\n\t\tloadedNaturalHeight,\n\t\timageRef.current?.complete,\n\t] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tfunction onImageError() {\n\t\tsetHasImageErrored( true );\n\n\t\t// Check if there's an embed block that handles this URL, e.g., instagram URL.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/11472\n\t\tconst embedBlock = createUpgradedEmbedBlock( { attributes: { url } } );\n\t\tif ( undefined !== embedBlock ) {\n\t\t\tonReplace( embedBlock );\n\t\t}\n\t}\n\n\tfunction onImageLoad( event ) {\n\t\tsetHasImageErrored( false );\n\t\tsetLoadedNaturalSize( {\n\t\t\tloadedNaturalWidth: event.target?.naturalWidth,\n\t\t\tloadedNaturalHeight: event.target?.naturalHeight,\n\t\t} );\n\t}\n\n\tfunction onSetHref( props ) {\n\t\tsetAttributes( props );\n\t}\n\n\tfunction onSetLightbox( enable ) {\n\t\tif ( enable && ! lightboxSetting?.enabled ) {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: { enabled: true },\n\t\t\t} );\n\t\t} else if ( ! enable && lightboxSetting?.enabled ) {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: { enabled: false },\n\t\t\t} );\n\t\t} else {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: undefined,\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction resetLightbox() {\n\t\t// When deleting a link from an image while lightbox settings\n\t\t// are enabled by default, we should disable the lightbox,\n\t\t// otherwise the resulting UX looks like a mistake.\n\t\t// See https://github.com/WordPress/gutenberg/pull/59890/files#r1532286123.\n\t\tif ( lightboxSetting?.enabled && lightboxSetting?.allowEditing ) {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: { enabled: false },\n\t\t\t} );\n\t\t} else {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: undefined,\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction onSetTitle( value ) {\n\t\t// This is the HTML title attribute, separate from the media object\n\t\t// title.\n\t\tsetAttributes( { title: value } );\n\t}\n\n\tfunction updateAlt( newAlt ) {\n\t\tsetAttributes( { alt: newAlt } );\n\t}\n\n\tfunction updateImage( newSizeSlug ) {\n\t\tconst newUrl = image?.media_details?.sizes?.[ newSizeSlug ]?.source_url;\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\turl: newUrl,\n\t\t\tsizeSlug: newSizeSlug,\n\t\t} );\n\t}\n\n\tfunction uploadExternal() {\n\t\tconst { mediaUpload } = getSettings();\n\t\tif ( ! mediaUpload ) {\n\t\t\treturn;\n\t\t}\n\t\tmediaUpload( {\n\t\t\tfilesList: [ externalBlob ],\n\t\t\tonFileChange( [ img ] ) {\n\t\t\t\tonSelectImage( img );\n\n\t\t\t\tif ( isBlobURL( img.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsetExternalBlob();\n\t\t\t\tcreateSuccessNotice( __( 'Image uploaded.' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t},\n\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\tonError( message ) {\n\t\t\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\t\t},\n\t\t} );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSingleSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t}\n\t}, [ isSingleSelected ] );\n\n\tconst canEditImage = id && naturalWidth && naturalHeight && imageEditing;\n\tconst allowCrop =\n\t\tisSingleSelected &&\n\t\tcanEditImage &&\n\t\t! isEditingImage &&\n\t\t! isContentOnlyMode;\n\n\tfunction switchToCover() {\n\t\treplaceBlocks(\n\t\t\tclientId,\n\t\t\tswitchToBlockType( getBlock( clientId ), 'core/cover' )\n\t\t);\n\t}\n\n\t// TODO: Can allow more units after figuring out how they should interact\n\t// with the ResizableBox and ImageEditor components. Calculations later on\n\t// for those components are currently assuming px units.\n\tconst dimensionsUnitsOptions = useCustomUnits( {\n\t\tavailableUnits: [ 'px' ],\n\t} );\n\n\tconst [ lightboxSetting ] = useSettings( 'lightbox' );\n\n\tconst showLightboxSetting =\n\t\t// If a block-level override is set, we should give users the option to\n\t\t// remove that override, even if the lightbox UI is disabled in the settings.\n\t\t( !! lightbox && lightbox?.enabled !== lightboxSetting?.enabled ) ||\n\t\tlightboxSetting?.allowEditing;\n\n\tconst lightboxChecked =\n\t\t!! lightbox?.enabled || ( ! lightbox && !! lightboxSetting?.enabled );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst dimensionsControl = (\n\t\t<DimensionsTool\n\t\t\tvalue={ { width, height, scale, aspectRatio } }\n\t\t\tonChange={ ( {\n\t\t\t\twidth: newWidth,\n\t\t\t\theight: newHeight,\n\t\t\t\tscale: newScale,\n\t\t\t\taspectRatio: newAspectRatio,\n\t\t\t} ) => {\n\t\t\t\t// Rebuilding the object forces setting `undefined`\n\t\t\t\t// for values that are removed since setAttributes\n\t\t\t\t// doesn't do anything with keys that aren't set.\n\t\t\t\tsetAttributes( {\n\t\t\t\t\t// CSS includes `height: auto`, but we need\n\t\t\t\t\t// `width: auto` to fix the aspect ratio when\n\t\t\t\t\t// only height is set due to the width and\n\t\t\t\t\t// height attributes set via the server.\n\t\t\t\t\twidth: ! newWidth && newHeight ? 'auto' : newWidth,\n\t\t\t\t\theight: newHeight,\n\t\t\t\t\tscale: newScale,\n\t\t\t\t\taspectRatio: newAspectRatio,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tdefaultScale=\"cover\"\n\t\t\tdefaultAspectRatio=\"auto\"\n\t\t\tscaleOptions={ scaleOptions }\n\t\t\tunitsOptions={ dimensionsUnitsOptions }\n\t\t/>\n\t);\n\n\tconst aspectRatioControl = (\n\t\t<DimensionsTool\n\t\t\tvalue={ { aspectRatio } }\n\t\t\tonChange={ ( { aspectRatio: newAspectRatio } ) => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\taspectRatio: newAspectRatio,\n\t\t\t\t\tscale: 'cover',\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tdefaultAspectRatio=\"auto\"\n\t\t\ttools={ [ 'aspectRatio' ] }\n\t\t/>\n\t);\n\n\tconst resetAll = () => {\n\t\tsetAttributes( {\n\t\t\talt: undefined,\n\t\t\twidth: undefined,\n\t\t\theight: undefined,\n\t\t\tscale: undefined,\n\t\t\taspectRatio: undefined,\n\t\t\tlightbox: undefined,\n\t\t} );\n\t};\n\n\tconst sizeControls = (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\tresetAll={ resetAll }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t{ isResizable &&\n\t\t\t\t\t( parentLayoutType === 'grid'\n\t\t\t\t\t\t? aspectRatioControl\n\t\t\t\t\t\t: dimensionsControl ) }\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n\n\tconst arePatternOverridesEnabled =\n\t\tmetadata?.bindings?.__default?.source === 'core/pattern-overrides';\n\n\tconst {\n\t\tlockUrlControls = false,\n\t\tlockHrefControls = false,\n\t\tlockAltControls = false,\n\t\tlockAltControlsMessage,\n\t\tlockTitleControls = false,\n\t\tlockTitleControlsMessage,\n\t\tlockCaption = false,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSingleSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\tconst {\n\t\t\t\turl: urlBinding,\n\t\t\t\talt: altBinding,\n\t\t\t\ttitle: titleBinding,\n\t\t\t} = metadata?.bindings || {};\n\t\t\tconst hasParentPattern = !! context[ 'pattern/overrides' ];\n\t\t\tconst urlBindingSource = getBlockBindingsSource(\n\t\t\t\turlBinding?.source\n\t\t\t);\n\t\t\tconst altBindingSource = getBlockBindingsSource(\n\t\t\t\taltBinding?.source\n\t\t\t);\n\t\t\tconst titleBindingSource = getBlockBindingsSource(\n\t\t\t\ttitleBinding?.source\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! urlBinding &&\n\t\t\t\t\t! urlBindingSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: urlBinding?.args,\n\t\t\t\t\t} ),\n\t\t\t\tlockHrefControls:\n\t\t\t\t\t// Disable editing the link of the URL if the image is inside a pattern instance.\n\t\t\t\t\t// This is a temporary solution until we support overriding the link on the frontend.\n\t\t\t\t\thasParentPattern || arePatternOverridesEnabled,\n\t\t\t\tlockCaption:\n\t\t\t\t\t// Disable editing the caption if the image is inside a pattern instance.\n\t\t\t\t\t// This is a temporary solution until we support overriding the caption on the frontend.\n\t\t\t\t\thasParentPattern,\n\t\t\t\tlockAltControls:\n\t\t\t\t\t!! altBinding &&\n\t\t\t\t\t! altBindingSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: altBinding?.args,\n\t\t\t\t\t} ),\n\t\t\t\tlockAltControlsMessage: altBindingSource?.label\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the bindings source. */\n\t\t\t\t\t\t\t__( 'Connected to %s' ),\n\t\t\t\t\t\t\taltBindingSource.label\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'Connected to dynamic data' ),\n\t\t\t\tlockTitleControls:\n\t\t\t\t\t!! titleBinding &&\n\t\t\t\t\t! titleBindingSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: titleBinding?.args,\n\t\t\t\t\t} ),\n\t\t\t\tlockTitleControlsMessage: titleBindingSource?.label\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the bindings source. */\n\t\t\t\t\t\t\t__( 'Connected to %s' ),\n\t\t\t\t\t\t\ttitleBindingSource.label\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'Connected to dynamic data' ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tarePatternOverridesEnabled,\n\t\t\tcontext,\n\t\t\tisSingleSelected,\n\t\t\tmetadata?.bindings,\n\t\t]\n\t);\n\n\tconst showUrlInput =\n\t\tisSingleSelected &&\n\t\t! isEditingImage &&\n\t\t! lockHrefControls &&\n\t\t! lockUrlControls;\n\n\tconst showCoverControls = isSingleSelected && canInsertCover;\n\n\tconst showBlockControls = showUrlInput || allowCrop || showCoverControls;\n\n\tconst mediaReplaceFlow = isSingleSelected &&\n\t\t! isEditingImage &&\n\t\t! lockUrlControls && (\n\t\t\t// For contentOnly mode, put this button in its own area so it has borders around it.\n\t\t\t<BlockControls group={ isContentOnlyMode ? 'inline' : 'other' }>\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tname={ ! url ? __( 'Add image' ) : __( 'Replace' ) }\n\t\t\t\t\tonReset={ () => onSelectImage( undefined ) }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t);\n\n\tconst controls = (\n\t\t<>\n\t\t\t{ showBlockControls && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t{ showUrlInput && (\n\t\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\t\tmediaUrl={ ( image && image.source_url ) || url }\n\t\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t\t\tshowLightboxSetting={ showLightboxSetting }\n\t\t\t\t\t\t\tlightboxEnabled={ lightboxChecked }\n\t\t\t\t\t\t\tonSetLightbox={ onSetLightbox }\n\t\t\t\t\t\t\tresetLightbox={ resetLightbox }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ allowCrop && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showCoverControls && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ overlayText }\n\t\t\t\t\t\t\tlabel={ __( 'Add text over image' ) }\n\t\t\t\t\t\t\tonClick={ switchToCover }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ isSingleSelected && externalBlob && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ uploadExternal }\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tlabel={ __( 'Upload to Media Library' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ isContentOnlyMode && (\n\t\t\t\t// Add some extra controls for content attributes when content only mode is active.\n\t\t\t\t// With content only mode active, the inspector is hidden, so users need another way\n\t\t\t\t// to edit these attributes.\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<ContentOnlyControls\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tlockAltControls={ lockAltControls }\n\t\t\t\t\t\tlockAltControlsMessage={ lockAltControlsMessage }\n\t\t\t\t\t\tlockTitleControls={ lockTitleControls }\n\t\t\t\t\t\tlockTitleControlsMessage={ lockTitleControlsMessage }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ resetAll }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t{ isSingleSelected && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => !! alt }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { alt: undefined } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\tvalue={ alt || '' }\n\t\t\t\t\t\t\t\tonChange={ updateAlt }\n\t\t\t\t\t\t\t\treadOnly={ lockAltControls }\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\tlockAltControls ? (\n\t\t\t\t\t\t\t\t\t\t<>{ lockAltControlsMessage }</>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\t\t\thref={\n\t\t\t\t\t\t\t\t\t\t\t\t\t// translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.\n\t\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'https://www.w3.org/WAI/tutorials/images/decision-tree/'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Leave empty if decorative.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isResizable &&\n\t\t\t\t\t\t( parentLayoutType === 'grid'\n\t\t\t\t\t\t\t? aspectRatioControl\n\t\t\t\t\t\t\t: dimensionsControl ) }\n\t\t\t\t\t{ !! imageSizeOptions.length && (\n\t\t\t\t\t\t<ResolutionTool\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\tonChange={ updateImage }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\tonChange={ onSetTitle }\n\t\t\t\t\treadOnly={ lockTitleControls }\n\t\t\t\t\thelp={\n\t\t\t\t\t\tlockTitleControls ? (\n\t\t\t\t\t\t\t<>{ lockTitleControlsMessage }</>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Describe the role of this image on the page.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/TR/html52/dom.html#the-title-attribute\">\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'(Note: many devices and browsers do not display this text.)'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst filename = getFilename( url );\n\tlet defaultedAlt;\n\n\tif ( alt ) {\n\t\tdefaultedAlt = alt;\n\t} else if ( filename ) {\n\t\tdefaultedAlt = sprintf(\n\t\t\t/* translators: %s: file name */\n\t\t\t__( 'This image has an empty alt attribute; its file name is %s' ),\n\t\t\tfilename\n\t\t);\n\t} else {\n\t\tdefaultedAlt = __( 'This image has an empty alt attribute' );\n\t}\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\tconst isRounded = attributes.className?.includes( 'is-style-rounded' );\n\n\tconst { postType, postId, queryId } = context;\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\n\tconst [ , setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tlet img =\n\t\ttemporaryURL && hasImageErrored ? (\n\t\t\t// Show a placeholder during upload when the blob URL can't be loaded. This can\n\t\t\t// happen when the user uploads a HEIC image in a browser that doesn't support them.\n\t\t\t<Placeholder\n\t\t\t\tclassName=\"wp-block-image__placeholder\"\n\t\t\t\twithIllustration\n\t\t\t>\n\t\t\t\t<Spinner />\n\t\t\t</Placeholder>\n\t\t) : (\n\t\t\t// Disable reason: Image itself is not meant to be interactive, but\n\t\t\t// should direct focus to block.\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t<>\n\t\t\t\t<img\n\t\t\t\t\tsrc={ temporaryURL || url }\n\t\t\t\t\talt={ defaultedAlt }\n\t\t\t\t\tonError={ onImageError }\n\t\t\t\t\tonLoad={ onImageLoad }\n\t\t\t\t\tref={ imageRef }\n\t\t\t\t\tclassName={ borderProps.className }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t( width && height ) || aspectRatio\n\t\t\t\t\t\t\t\t? '100%'\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\theight:\n\t\t\t\t\t\t\t( width && height ) || aspectRatio\n\t\t\t\t\t\t\t\t? '100%'\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...shadowProps.style,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ temporaryURL && <Spinner /> }\n\t\t\t</>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t);\n\n\tif ( canEditImage && isEditingImage ) {\n\t\timg = (\n\t\t\t<ImageWrapper href={ href }>\n\t\t\t\t<ImageEditor\n\t\t\t\t\tid={ id }\n\t\t\t\t\turl={ url }\n\t\t\t\t\twidth={ numericWidth }\n\t\t\t\t\theight={ numericHeight }\n\t\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\t\tonSaveImage={ ( imageAttributes ) =>\n\t\t\t\t\t\tsetAttributes( imageAttributes )\n\t\t\t\t\t}\n\t\t\t\t\tonFinishEditing={ () => {\n\t\t\t\t\t\tsetIsEditingImage( false );\n\t\t\t\t\t} }\n\t\t\t\t\tborderProps={ isRounded ? undefined : borderProps }\n\t\t\t\t/>\n\t\t\t</ImageWrapper>\n\t\t);\n\t} else if ( ! isResizable || parentLayoutType === 'grid' ) {\n\t\timg = (\n\t\t\t<div style={ { width, height, aspectRatio } }>\n\t\t\t\t<ImageWrapper href={ href }>{ img }</ImageWrapper>\n\t\t\t</div>\n\t\t);\n\t} else {\n\t\tconst numericRatio = aspectRatio && evalAspectRatio( aspectRatio );\n\t\tconst customRatio = numericWidth / numericHeight;\n\t\tconst naturalRatio = naturalWidth / naturalHeight;\n\t\tconst ratio = numericRatio || customRatio || naturalRatio || 1;\n\t\tconst currentWidth =\n\t\t\t! numericWidth && numericHeight\n\t\t\t\t? numericHeight * ratio\n\t\t\t\t: numericWidth;\n\t\tconst currentHeight =\n\t\t\t! numericHeight && numericWidth\n\t\t\t\t? numericWidth / ratio\n\t\t\t\t: numericHeight;\n\n\t\tconst minWidth =\n\t\t\tnaturalWidth < naturalHeight ? MIN_SIZE : MIN_SIZE * ratio;\n\t\tconst minHeight =\n\t\t\tnaturalHeight < naturalWidth ? MIN_SIZE : MIN_SIZE / ratio;\n\n\t\t// With the current implementation of ResizableBox, an image needs an\n\t\t// explicit pixel value for the max-width. In absence of being able to\n\t\t// set the content-width, this max-width is currently dictated by the\n\t\t// vanilla editor style. The following variable adds a buffer to this\n\t\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t\t// in most cases, allow you to scale the image beyond the width of the\n\t\t// main column, though not infinitely.\n\t\t// @todo It would be good to revisit this once a content-width variable\n\t\t// becomes available.\n\t\tconst maxWidthBuffer = maxWidth * 2.5;\n\t\tconst maxResizeWidth = maxContentWidth || maxWidthBuffer;\n\n\t\tlet showRightHandle = false;\n\t\tlet showLeftHandle = false;\n\n\t\t/* eslint-disable no-lonely-if */\n\t\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\t\tif ( align === 'center' ) {\n\t\t\t// When the image is centered, show both handles.\n\t\t\tshowRightHandle = true;\n\t\t\tshowLeftHandle = true;\n\t\t} else if ( isRTL() ) {\n\t\t\t// In RTL mode the image is on the right by default.\n\t\t\t// Show the right handle and hide the left handle only when it is\n\t\t\t// aligned left. Otherwise always show the left handle.\n\t\t\tif ( align === 'left' ) {\n\t\t\t\tshowRightHandle = true;\n\t\t\t} else {\n\t\t\t\tshowLeftHandle = true;\n\t\t\t}\n\t\t} else {\n\t\t\t// Show the left handle and hide the right handle only when the\n\t\t\t// image is aligned right. Otherwise always show the right handle.\n\t\t\tif ( align === 'right' ) {\n\t\t\t\tshowLeftHandle = true;\n\t\t\t} else {\n\t\t\t\tshowRightHandle = true;\n\t\t\t}\n\t\t}\n\t\t/* eslint-enable no-lonely-if */\n\t\timg = (\n\t\t\t<ResizableBox\n\t\t\t\tstyle={ {\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\tobjectFit: scale,\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} }\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: currentWidth ?? 'auto',\n\t\t\t\t\theight: currentHeight ?? 'auto',\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSingleSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxResizeWidth }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxResizeWidth / ratio }\n\t\t\t\tlockAspectRatio={ ratio }\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt ) => {\n\t\t\t\t\tonResizeStop();\n\n\t\t\t\t\t// Clear hardcoded width if the resized width is close to the max-content width.\n\t\t\t\t\tif (\n\t\t\t\t\t\tmaxContentWidth &&\n\t\t\t\t\t\t// Only do this if the image is bigger than the container to prevent it from being squished.\n\t\t\t\t\t\t// TODO: Remove this check if the image support setting 100% width.\n\t\t\t\t\t\tnaturalWidth >= maxContentWidth &&\n\t\t\t\t\t\tMath.abs( elt.offsetWidth - maxContentWidth ) < 10\n\t\t\t\t\t) {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\twidth: undefined,\n\t\t\t\t\t\t\theight: undefined,\n\t\t\t\t\t\t} );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Since the aspect ratio is locked when resizing, we can\n\t\t\t\t\t// use the width of the resized element to calculate the\n\t\t\t\t\t// height in CSS to prevent stretching when the max-width\n\t\t\t\t\t// is reached.\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: `${ elt.offsetWidth }px`,\n\t\t\t\t\t\theight: 'auto',\n\t\t\t\t\t\taspectRatio:\n\t\t\t\t\t\t\tratio === naturalRatio\n\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t: String( ratio ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tresizeRatio={ align === 'center' ? 2 : 1 }\n\t\t\t>\n\t\t\t\t<ImageWrapper href={ href }>{ img }</ImageWrapper>\n\t\t\t</ResizableBox>\n\t\t);\n\t}\n\n\tif ( ! url && ! temporaryURL ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ mediaReplaceFlow }\n\t\t\t\t{ /* Add all controls if the image attributes are connected. */ }\n\t\t\t\t{ metadata?.bindings ? controls : sizeControls }\n\t\t\t</>\n\t\t);\n\t}\n\n\t/**\n\t * Set the post's featured image with the current image.\n\t */\n\tconst setPostFeatureImage = () => {\n\t\tsetFeaturedImage( id );\n\t\tcreateSuccessNotice( __( 'Post featured image updated.' ), {\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst featuredImageControl = (\n\t\t<BlockSettingsMenuControls>\n\t\t\t{ ( { selectedClientIds } ) =>\n\t\t\t\tselectedClientIds.length === 1 &&\n\t\t\t\t! isDescendentOfQueryLoop &&\n\t\t\t\tpostId &&\n\t\t\t\tid &&\n\t\t\t\tclientId === selectedClientIds[ 0 ] && (\n\t\t\t\t\t<MenuItem onClick={ setPostFeatureImage }>\n\t\t\t\t\t\t{ __( 'Set as featured image' ) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t)\n\t\t\t}\n\t\t</BlockSettingsMenuControls>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ mediaReplaceFlow }\n\t\t\t{ controls }\n\t\t\t{ featuredImageControl }\n\t\t\t{ img }\n\n\t\t\t<Caption\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tlabel={ __( 'Image caption text' ) }\n\t\t\t\tshowToolbarButton={\n\t\t\t\t\tisSingleSelected &&\n\t\t\t\t\thasNonContentControls &&\n\t\t\t\t\t! arePatternOverridesEnabled\n\t\t\t\t}\n\t\t\t\treadOnly={ lockCaption }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_blob","require","_components","_compose","_data","_blockEditor","_element","_i18n","_url","_blocks","_icons","_notices","_coreData","_lockUnlock","_util","_edit","_caption","_hooks","_constants","_utils","_jsxRuntime","DimensionsTool","ResolutionTool","unlock","blockEditorPrivateApis","scaleOptions","value","label","_x","help","__","WRITEMODE_POPOVER_PROPS","placement","ImageWrapper","href","children","jsx","onClick","event","preventDefault","style","pointerEvents","cursor","display","ContentOnlyControls","attributes","setAttributes","lockAltControls","lockAltControlsMessage","lockTitleControls","lockTitleControlsMessage","popoverAnchor","setPopoverAnchor","useState","isAltDialogOpen","setIsAltDialogOpen","isTitleDialogOpen","setIsTitleDialogOpen","jsxs","Fragment","ToolbarItem","ref","toggleProps","DropdownMenu","icon","chevronDown","description","popoverProps","onClose","MenuItem","Popover","anchor","offset","variant","className","TextareaControl","alt","onChange","disabled","ExternalLink","__nextHasNoMarginBottom","TextControl","__next40pxDefaultSize","title","Image","temporaryURL","isSingleSelected","insertBlocksAfter","onReplace","onSelectImage","onSelectURL","onUploadError","context","clientId","blockEditingMode","parentLayoutType","maxContentWidth","url","align","id","rel","linkClass","linkDestination","width","height","aspectRatio","scale","linkTarget","sizeSlug","lightbox","metadata","numericWidth","parseInt","undefined","numericHeight","imageRef","useRef","allowResize","getBlock","getSettings","useSelect","blockEditorStore","image","select","coreStore","getMedia","canInsertCover","imageEditing","imageSizes","maxWidth","getBlockRootClientId","canInsertBlockType","rootClientId","settings","replaceBlocks","toggleSelection","useDispatch","createErrorNotice","createSuccessNotice","noticesStore","isLargeViewport","useViewportMatch","isWideAligned","includes","loadedNaturalWidth","loadedNaturalHeight","setLoadedNaturalSize","isEditingImage","setIsEditingImage","externalBlob","setExternalBlob","hasImageErrored","setHasImageErrored","hasNonContentControls","isContentOnlyMode","isResizable","imageSizeOptions","filter","slug","media_details","sizes","source_url","map","name","useEffect","isExternalImage","mediaUpload","window","fetch","then","response","blob","catch","naturalWidth","naturalHeight","useMemo","current","complete","onResizeStart","onResizeStop","onImageError","embedBlock","createUpgradedEmbedBlock","onImageLoad","target","onSetHref","props","onSetLightbox","enable","lightboxSetting","enabled","resetLightbox","allowEditing","onSetTitle","updateAlt","newAlt","updateImage","newSizeSlug","newUrl","uploadExternal","filesList","onFileChange","img","isBlobURL","type","allowedTypes","ALLOWED_MEDIA_TYPES","onError","message","canEditImage","allowCrop","switchToCover","switchToBlockType","dimensionsUnitsOptions","useCustomUnits","availableUnits","useSettings","showLightboxSetting","lightboxChecked","dropdownMenuProps","useToolsPanelDropdownMenuProps","dimensionsControl","newWidth","newHeight","newScale","newAspectRatio","defaultScale","defaultAspectRatio","unitsOptions","aspectRatioControl","tools","resetAll","sizeControls","InspectorControls","__experimentalToolsPanel","arePatternOverridesEnabled","bindings","__default","source","lockUrlControls","lockHrefControls","lockCaption","urlBinding","altBinding","titleBinding","hasParentPattern","urlBindingSource","getBlockBindingsSource","altBindingSource","titleBindingSource","canUserEditValue","args","sprintf","showUrlInput","showCoverControls","showBlockControls","mediaReplaceFlow","BlockControls","group","MediaReplaceFlow","mediaId","mediaURL","accept","onSelect","onReset","controls","__experimentalImageURLInputUI","onChangeUrl","mediaUrl","mediaLink","link","lightboxEnabled","ToolbarButton","crop","overlayText","ToolbarGroup","upload","__experimentalToolsPanelItem","isShownByDefault","hasValue","onDeselect","readOnly","length","options","filename","getFilename","defaultedAlt","borderProps","useBorderProps","shadowProps","getShadowClassesAndStyles","isRounded","postType","postId","queryId","isDescendentOfQueryLoop","Number","isFinite","setFeaturedImage","useEntityProp","Placeholder","withIllustration","Spinner","src","onLoad","objectFit","__experimentalImageEditor","onSaveImage","imageAttributes","onFinishEditing","numericRatio","evalAspectRatio","customRatio","naturalRatio","ratio","currentWidth","currentHeight","minWidth","MIN_SIZE","minHeight","maxWidthBuffer","maxResizeWidth","showRightHandle","showLeftHandle","isRTL","ResizableBox","size","showHandle","maxHeight","lockAspectRatio","top","right","bottom","left","direction","elt","Math","abs","offsetWidth","String","resizeRatio","setPostFeatureImage","featuredImageControl","BlockSettingsMenuControls","selectedClientIds","Caption","isSelected","showToolbarButton"],"sources":["@wordpress/block-library/src/image/image.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tExternalLink,\n\tResizableBox,\n\tSpinner,\n\tTextareaControl,\n\tTextControl,\n\tToolbarButton,\n\tToolbarGroup,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\tPlaceholder,\n\tMenuItem,\n\tToolbarItem,\n\tDropdownMenu,\n\tPopover,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\tMediaReplaceFlow,\n\tstore as blockEditorStore,\n\tuseSettings,\n\t__experimentalImageEditor as ImageEditor,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tprivateApis as blockEditorPrivateApis,\n\tBlockSettingsMenuControls,\n} from '@wordpress/block-editor';\nimport { useEffect, useMemo, useState, useRef } from '@wordpress/element';\nimport { __, _x, sprintf, isRTL } from '@wordpress/i18n';\nimport { getFilename } from '@wordpress/url';\nimport { getBlockBindingsSource, switchToBlockType } from '@wordpress/blocks';\nimport { crop, overlayText, upload, chevronDown } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore, useEntityProp } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport { isExternalImage } from './edit';\nimport { Caption } from '../utils/caption';\n\n/**\n * Module constants\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport { MIN_SIZE, ALLOWED_MEDIA_TYPES } from './constants';\nimport { evalAspectRatio } from './utils';\n\nconst { DimensionsTool, ResolutionTool } = unlock( blockEditorPrivateApis );\n\nconst scaleOptions = [\n\t{\n\t\tvalue: 'cover',\n\t\tlabel: _x( 'Cover', 'Scale option for dimensions control' ),\n\t\thelp: __( 'Image covers the space evenly.' ),\n\t},\n\t{\n\t\tvalue: 'contain',\n\t\tlabel: _x( 'Contain', 'Scale option for dimensions control' ),\n\t\thelp: __( 'Image is contained without distortion.' ),\n\t},\n];\n\nconst WRITEMODE_POPOVER_PROPS = {\n\tplacement: 'bottom-start',\n};\n\n// If the image has a href, wrap in an <a /> tag to trigger any inherited link element styles.\nconst ImageWrapper = ( { href, children } ) => {\n\tif ( ! href ) {\n\t\treturn children;\n\t}\n\treturn (\n\t\t<a\n\t\t\thref={ href }\n\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\taria-disabled\n\t\t\tstyle={ {\n\t\t\t\t// When the Image block is linked,\n\t\t\t\t// it's wrapped with a disabled <a /> tag.\n\t\t\t\t// Restore cursor style so it doesn't appear 'clickable'\n\t\t\t\t// and remove pointer events. Safari needs the display property.\n\t\t\t\tpointerEvents: 'none',\n\t\t\t\tcursor: 'default',\n\t\t\t\tdisplay: 'inline',\n\t\t\t} }\n\t\t>\n\t\t\t{ children }\n\t\t</a>\n\t);\n};\n\nfunction ContentOnlyControls( {\n\tattributes,\n\tsetAttributes,\n\tlockAltControls,\n\tlockAltControlsMessage,\n\tlockTitleControls,\n\tlockTitleControlsMessage,\n} ) {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst [ isAltDialogOpen, setIsAltDialogOpen ] = useState( false );\n\tconst [ isTitleDialogOpen, setIsTitleDialogOpen ] = useState( false );\n\treturn (\n\t\t<>\n\t\t\t<ToolbarItem ref={ setPopoverAnchor }>\n\t\t\t\t{ ( toggleProps ) => (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\ticon={ chevronDown }\n\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\tlabel={ __( 'More' ) }\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t...toggleProps,\n\t\t\t\t\t\t\tdescription: __( 'Displays more controls.' ),\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tpopoverProps={ WRITEMODE_POPOVER_PROPS }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsAltDialogOpen( true );\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ _x(\n\t\t\t\t\t\t\t\t\t\t'Alternative text',\n\t\t\t\t\t\t\t\t\t\t'Alternative text for an image. Block toolbar label, a low character count is preferred.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsTitleDialogOpen( true );\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Title text' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t) }\n\t\t\t</ToolbarItem>\n\t\t\t{ isAltDialogOpen && (\n\t\t\t\t<Popover\n\t\t\t\t\tplacement=\"bottom-start\"\n\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\tonClose={ () => setIsAltDialogOpen( false ) }\n\t\t\t\t\toffset={ 13 }\n\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"wp-block-image__toolbar_content_textarea__container\">\n\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\tclassName=\"wp-block-image__toolbar_content_textarea\"\n\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\tvalue={ attributes.alt || '' }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { alt: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={ lockAltControls }\n\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\tlockAltControls ? (\n\t\t\t\t\t\t\t\t\t<>{ lockAltControlsMessage }</>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\t\thref={\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'https://www.w3.org/WAI/tutorials/images/decision-tree/'\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t\t{ isTitleDialogOpen && (\n\t\t\t\t<Popover\n\t\t\t\t\tplacement=\"bottom-start\"\n\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\tonClose={ () => setIsTitleDialogOpen( false ) }\n\t\t\t\t\toffset={ 13 }\n\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"wp-block-image__toolbar_content_textarea__container\">\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName=\"wp-block-image__toolbar_content_textarea\"\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\t\t\tvalue={ attributes.title || '' }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\ttitle: value,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={ lockTitleControls }\n\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\tlockTitleControls ? (\n\t\t\t\t\t\t\t\t\t<>{ lockTitleControlsMessage }</>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Describe the role of this image on the page.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/TR/html52/dom.html#the-title-attribute\">\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'(Note: many devices and browsers do not display this text.)'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default function Image( {\n\ttemporaryURL,\n\tattributes,\n\tsetAttributes,\n\tisSingleSelected,\n\tinsertBlocksAfter,\n\tonReplace,\n\tonSelectImage,\n\tonSelectURL,\n\tonUploadError,\n\tcontext,\n\tclientId,\n\tblockEditingMode,\n\tparentLayoutType,\n\tmaxContentWidth,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\talign,\n\t\tid,\n\t\thref,\n\t\trel,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\ttitle,\n\t\twidth,\n\t\theight,\n\t\taspectRatio,\n\t\tscale,\n\t\tlinkTarget,\n\t\tsizeSlug,\n\t\tlightbox,\n\t\tmetadata,\n\t} = attributes;\n\n\t// The only supported unit is px, so we can parseInt to strip the px here.\n\tconst numericWidth = width ? parseInt( width, 10 ) : undefined;\n\tconst numericHeight = height ? parseInt( height, 10 ) : undefined;\n\n\tconst imageRef = useRef();\n\tconst { allowResize = true } = context;\n\tconst { getBlock, getSettings } = useSelect( blockEditorStore );\n\n\tconst image = useSelect(\n\t\t( select ) =>\n\t\t\tid && isSingleSelected\n\t\t\t\t? select( coreStore ).getMedia( id, { context: 'view' } )\n\t\t\t\t: null,\n\t\t[ id, isSingleSelected ]\n\t);\n\n\tconst { canInsertCover, imageEditing, imageSizes, maxWidth } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, canInsertBlockType } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst settings = getSettings();\n\n\t\t\treturn {\n\t\t\t\timageEditing: settings.imageEditing,\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tmaxWidth: settings.maxWidth,\n\t\t\t\tcanInsertCover: canInsertBlockType(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { replaceBlocks, toggleSelection } = useDispatch( blockEditorStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = [ 'wide', 'full' ].includes( align );\n\tconst [\n\t\t{ loadedNaturalWidth, loadedNaturalHeight },\n\t\tsetLoadedNaturalSize,\n\t] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst [ externalBlob, setExternalBlob ] = useState();\n\tconst [ hasImageErrored, setHasImageErrored ] = useState( false );\n\tconst hasNonContentControls = blockEditingMode === 'default';\n\tconst isContentOnlyMode = blockEditingMode === 'contentOnly';\n\tconst isResizable =\n\t\tallowResize &&\n\t\thasNonContentControls &&\n\t\t! isWideAligned &&\n\t\tisLargeViewport;\n\tconst imageSizeOptions = imageSizes\n\t\t.filter(\n\t\t\t( { slug } ) => image?.media_details?.sizes?.[ slug ]?.source_url\n\t\t)\n\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\n\t// If an image is externally hosted, try to fetch the image data. This may\n\t// fail if the image host doesn't allow CORS with the domain. If it works,\n\t// we can enable a button in the toolbar to upload the image.\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! isExternalImage( id, url ) ||\n\t\t\t! isSingleSelected ||\n\t\t\t! getSettings().mediaUpload\n\t\t) {\n\t\t\tsetExternalBlob();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( externalBlob ) {\n\t\t\treturn;\n\t\t}\n\n\t\twindow\n\t\t\t// Avoid cache, which seems to help avoid CORS problems.\n\t\t\t.fetch( url.includes( '?' ) ? url : url + '?' )\n\t\t\t.then( ( response ) => response.blob() )\n\t\t\t.then( ( blob ) => setExternalBlob( blob ) )\n\t\t\t// Do nothing, cannot upload.\n\t\t\t.catch( () => {} );\n\t}, [ id, url, isSingleSelected, externalBlob ] );\n\n\t// Get naturalWidth and naturalHeight from image ref, and fall back to loaded natural\n\t// width and height. This resolves an issue in Safari where the loaded natural\n\t// width and height is otherwise lost when switching between alignments.\n\t// See: https://github.com/WordPress/gutenberg/pull/37210.\n\tconst { naturalWidth, naturalHeight } = useMemo( () => {\n\t\treturn {\n\t\t\tnaturalWidth:\n\t\t\t\timageRef.current?.naturalWidth ||\n\t\t\t\tloadedNaturalWidth ||\n\t\t\t\tundefined,\n\t\t\tnaturalHeight:\n\t\t\t\timageRef.current?.naturalHeight ||\n\t\t\t\tloadedNaturalHeight ||\n\t\t\t\tundefined,\n\t\t};\n\t}, [\n\t\tloadedNaturalWidth,\n\t\tloadedNaturalHeight,\n\t\timageRef.current?.complete,\n\t] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tfunction onImageError() {\n\t\tsetHasImageErrored( true );\n\n\t\t// Check if there's an embed block that handles this URL, e.g., instagram URL.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/11472\n\t\tconst embedBlock = createUpgradedEmbedBlock( { attributes: { url } } );\n\t\tif ( undefined !== embedBlock ) {\n\t\t\tonReplace( embedBlock );\n\t\t}\n\t}\n\n\tfunction onImageLoad( event ) {\n\t\tsetHasImageErrored( false );\n\t\tsetLoadedNaturalSize( {\n\t\t\tloadedNaturalWidth: event.target?.naturalWidth,\n\t\t\tloadedNaturalHeight: event.target?.naturalHeight,\n\t\t} );\n\t}\n\n\tfunction onSetHref( props ) {\n\t\tsetAttributes( props );\n\t}\n\n\tfunction onSetLightbox( enable ) {\n\t\tif ( enable && ! lightboxSetting?.enabled ) {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: { enabled: true },\n\t\t\t} );\n\t\t} else if ( ! enable && lightboxSetting?.enabled ) {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: { enabled: false },\n\t\t\t} );\n\t\t} else {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: undefined,\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction resetLightbox() {\n\t\t// When deleting a link from an image while lightbox settings\n\t\t// are enabled by default, we should disable the lightbox,\n\t\t// otherwise the resulting UX looks like a mistake.\n\t\t// See https://github.com/WordPress/gutenberg/pull/59890/files#r1532286123.\n\t\tif ( lightboxSetting?.enabled && lightboxSetting?.allowEditing ) {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: { enabled: false },\n\t\t\t} );\n\t\t} else {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: undefined,\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction onSetTitle( value ) {\n\t\t// This is the HTML title attribute, separate from the media object\n\t\t// title.\n\t\tsetAttributes( { title: value } );\n\t}\n\n\tfunction updateAlt( newAlt ) {\n\t\tsetAttributes( { alt: newAlt } );\n\t}\n\n\tfunction updateImage( newSizeSlug ) {\n\t\tconst newUrl = image?.media_details?.sizes?.[ newSizeSlug ]?.source_url;\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\turl: newUrl,\n\t\t\tsizeSlug: newSizeSlug,\n\t\t} );\n\t}\n\n\tfunction uploadExternal() {\n\t\tconst { mediaUpload } = getSettings();\n\t\tif ( ! mediaUpload ) {\n\t\t\treturn;\n\t\t}\n\t\tmediaUpload( {\n\t\t\tfilesList: [ externalBlob ],\n\t\t\tonFileChange( [ img ] ) {\n\t\t\t\tonSelectImage( img );\n\n\t\t\t\tif ( isBlobURL( img.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsetExternalBlob();\n\t\t\t\tcreateSuccessNotice( __( 'Image uploaded.' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t},\n\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\tonError( message ) {\n\t\t\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\t\t},\n\t\t} );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSingleSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t}\n\t}, [ isSingleSelected ] );\n\n\tconst canEditImage = id && naturalWidth && naturalHeight && imageEditing;\n\tconst allowCrop =\n\t\tisSingleSelected &&\n\t\tcanEditImage &&\n\t\t! isEditingImage &&\n\t\t! isContentOnlyMode;\n\n\tfunction switchToCover() {\n\t\treplaceBlocks(\n\t\t\tclientId,\n\t\t\tswitchToBlockType( getBlock( clientId ), 'core/cover' )\n\t\t);\n\t}\n\n\t// TODO: Can allow more units after figuring out how they should interact\n\t// with the ResizableBox and ImageEditor components. Calculations later on\n\t// for those components are currently assuming px units.\n\tconst dimensionsUnitsOptions = useCustomUnits( {\n\t\tavailableUnits: [ 'px' ],\n\t} );\n\n\tconst [ lightboxSetting ] = useSettings( 'lightbox' );\n\n\tconst showLightboxSetting =\n\t\t// If a block-level override is set, we should give users the option to\n\t\t// remove that override, even if the lightbox UI is disabled in the settings.\n\t\t( !! lightbox && lightbox?.enabled !== lightboxSetting?.enabled ) ||\n\t\tlightboxSetting?.allowEditing;\n\n\tconst lightboxChecked =\n\t\t!! lightbox?.enabled || ( ! lightbox && !! lightboxSetting?.enabled );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst dimensionsControl = (\n\t\t<DimensionsTool\n\t\t\tvalue={ { width, height, scale, aspectRatio } }\n\t\t\tonChange={ ( {\n\t\t\t\twidth: newWidth,\n\t\t\t\theight: newHeight,\n\t\t\t\tscale: newScale,\n\t\t\t\taspectRatio: newAspectRatio,\n\t\t\t} ) => {\n\t\t\t\t// Rebuilding the object forces setting `undefined`\n\t\t\t\t// for values that are removed since setAttributes\n\t\t\t\t// doesn't do anything with keys that aren't set.\n\t\t\t\tsetAttributes( {\n\t\t\t\t\t// CSS includes `height: auto`, but we need\n\t\t\t\t\t// `width: auto` to fix the aspect ratio when\n\t\t\t\t\t// only height is set due to the width and\n\t\t\t\t\t// height attributes set via the server.\n\t\t\t\t\twidth: ! newWidth && newHeight ? 'auto' : newWidth,\n\t\t\t\t\theight: newHeight,\n\t\t\t\t\tscale: newScale,\n\t\t\t\t\taspectRatio: newAspectRatio,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tdefaultScale=\"cover\"\n\t\t\tdefaultAspectRatio=\"auto\"\n\t\t\tscaleOptions={ scaleOptions }\n\t\t\tunitsOptions={ dimensionsUnitsOptions }\n\t\t/>\n\t);\n\n\tconst aspectRatioControl = (\n\t\t<DimensionsTool\n\t\t\tvalue={ { aspectRatio } }\n\t\t\tonChange={ ( { aspectRatio: newAspectRatio } ) => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\taspectRatio: newAspectRatio,\n\t\t\t\t\tscale: 'cover',\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tdefaultAspectRatio=\"auto\"\n\t\t\ttools={ [ 'aspectRatio' ] }\n\t\t/>\n\t);\n\n\tconst resetAll = () => {\n\t\tsetAttributes( {\n\t\t\talt: undefined,\n\t\t\twidth: undefined,\n\t\t\theight: undefined,\n\t\t\tscale: undefined,\n\t\t\taspectRatio: undefined,\n\t\t\tlightbox: undefined,\n\t\t} );\n\t};\n\n\tconst sizeControls = (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\tresetAll={ resetAll }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t{ isResizable &&\n\t\t\t\t\t( parentLayoutType === 'grid'\n\t\t\t\t\t\t? aspectRatioControl\n\t\t\t\t\t\t: dimensionsControl ) }\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n\n\tconst arePatternOverridesEnabled =\n\t\tmetadata?.bindings?.__default?.source === 'core/pattern-overrides';\n\n\tconst {\n\t\tlockUrlControls = false,\n\t\tlockHrefControls = false,\n\t\tlockAltControls = false,\n\t\tlockAltControlsMessage,\n\t\tlockTitleControls = false,\n\t\tlockTitleControlsMessage,\n\t\tlockCaption = false,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSingleSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\tconst {\n\t\t\t\turl: urlBinding,\n\t\t\t\talt: altBinding,\n\t\t\t\ttitle: titleBinding,\n\t\t\t} = metadata?.bindings || {};\n\t\t\tconst hasParentPattern = !! context[ 'pattern/overrides' ];\n\t\t\tconst urlBindingSource = getBlockBindingsSource(\n\t\t\t\turlBinding?.source\n\t\t\t);\n\t\t\tconst altBindingSource = getBlockBindingsSource(\n\t\t\t\taltBinding?.source\n\t\t\t);\n\t\t\tconst titleBindingSource = getBlockBindingsSource(\n\t\t\t\ttitleBinding?.source\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! urlBinding &&\n\t\t\t\t\t! urlBindingSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: urlBinding?.args,\n\t\t\t\t\t} ),\n\t\t\t\tlockHrefControls:\n\t\t\t\t\t// Disable editing the link of the URL if the image is inside a pattern instance.\n\t\t\t\t\t// This is a temporary solution until we support overriding the link on the frontend.\n\t\t\t\t\thasParentPattern || arePatternOverridesEnabled,\n\t\t\t\tlockCaption:\n\t\t\t\t\t// Disable editing the caption if the image is inside a pattern instance.\n\t\t\t\t\t// This is a temporary solution until we support overriding the caption on the frontend.\n\t\t\t\t\thasParentPattern,\n\t\t\t\tlockAltControls:\n\t\t\t\t\t!! altBinding &&\n\t\t\t\t\t! altBindingSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: altBinding?.args,\n\t\t\t\t\t} ),\n\t\t\t\tlockAltControlsMessage: altBindingSource?.label\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the bindings source. */\n\t\t\t\t\t\t\t__( 'Connected to %s' ),\n\t\t\t\t\t\t\taltBindingSource.label\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'Connected to dynamic data' ),\n\t\t\t\tlockTitleControls:\n\t\t\t\t\t!! titleBinding &&\n\t\t\t\t\t! titleBindingSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: titleBinding?.args,\n\t\t\t\t\t} ),\n\t\t\t\tlockTitleControlsMessage: titleBindingSource?.label\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the bindings source. */\n\t\t\t\t\t\t\t__( 'Connected to %s' ),\n\t\t\t\t\t\t\ttitleBindingSource.label\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'Connected to dynamic data' ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tarePatternOverridesEnabled,\n\t\t\tcontext,\n\t\t\tisSingleSelected,\n\t\t\tmetadata?.bindings,\n\t\t]\n\t);\n\n\tconst showUrlInput =\n\t\tisSingleSelected &&\n\t\t! isEditingImage &&\n\t\t! lockHrefControls &&\n\t\t! lockUrlControls;\n\n\tconst showCoverControls = isSingleSelected && canInsertCover;\n\n\tconst showBlockControls = showUrlInput || allowCrop || showCoverControls;\n\n\tconst mediaReplaceFlow = isSingleSelected &&\n\t\t! isEditingImage &&\n\t\t! lockUrlControls && (\n\t\t\t// For contentOnly mode, put this button in its own area so it has borders around it.\n\t\t\t<BlockControls group={ isContentOnlyMode ? 'inline' : 'other' }>\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tname={ ! url ? __( 'Add image' ) : __( 'Replace' ) }\n\t\t\t\t\tonReset={ () => onSelectImage( undefined ) }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t);\n\n\tconst controls = (\n\t\t<>\n\t\t\t{ showBlockControls && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t{ showUrlInput && (\n\t\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\t\tmediaUrl={ ( image && image.source_url ) || url }\n\t\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t\t\tshowLightboxSetting={ showLightboxSetting }\n\t\t\t\t\t\t\tlightboxEnabled={ lightboxChecked }\n\t\t\t\t\t\t\tonSetLightbox={ onSetLightbox }\n\t\t\t\t\t\t\tresetLightbox={ resetLightbox }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ allowCrop && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showCoverControls && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ overlayText }\n\t\t\t\t\t\t\tlabel={ __( 'Add text over image' ) }\n\t\t\t\t\t\t\tonClick={ switchToCover }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ isSingleSelected && externalBlob && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ uploadExternal }\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tlabel={ __( 'Upload to Media Library' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ isContentOnlyMode && (\n\t\t\t\t// Add some extra controls for content attributes when content only mode is active.\n\t\t\t\t// With content only mode active, the inspector is hidden, so users need another way\n\t\t\t\t// to edit these attributes.\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<ContentOnlyControls\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tlockAltControls={ lockAltControls }\n\t\t\t\t\t\tlockAltControlsMessage={ lockAltControlsMessage }\n\t\t\t\t\t\tlockTitleControls={ lockTitleControls }\n\t\t\t\t\t\tlockTitleControlsMessage={ lockTitleControlsMessage }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ resetAll }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t{ isSingleSelected && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => !! alt }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { alt: undefined } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\tvalue={ alt || '' }\n\t\t\t\t\t\t\t\tonChange={ updateAlt }\n\t\t\t\t\t\t\t\treadOnly={ lockAltControls }\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\tlockAltControls ? (\n\t\t\t\t\t\t\t\t\t\t<>{ lockAltControlsMessage }</>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\t\t\thref={\n\t\t\t\t\t\t\t\t\t\t\t\t\t// translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.\n\t\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'https://www.w3.org/WAI/tutorials/images/decision-tree/'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Leave empty if decorative.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isResizable &&\n\t\t\t\t\t\t( parentLayoutType === 'grid'\n\t\t\t\t\t\t\t? aspectRatioControl\n\t\t\t\t\t\t\t: dimensionsControl ) }\n\t\t\t\t\t{ !! imageSizeOptions.length && (\n\t\t\t\t\t\t<ResolutionTool\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\tonChange={ updateImage }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\tonChange={ onSetTitle }\n\t\t\t\t\treadOnly={ lockTitleControls }\n\t\t\t\t\thelp={\n\t\t\t\t\t\tlockTitleControls ? (\n\t\t\t\t\t\t\t<>{ lockTitleControlsMessage }</>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Describe the role of this image on the page.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/TR/html52/dom.html#the-title-attribute\">\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'(Note: many devices and browsers do not display this text.)'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst filename = getFilename( url );\n\tlet defaultedAlt;\n\n\tif ( alt ) {\n\t\tdefaultedAlt = alt;\n\t} else if ( filename ) {\n\t\tdefaultedAlt = sprintf(\n\t\t\t/* translators: %s: file name */\n\t\t\t__( 'This image has an empty alt attribute; its file name is %s' ),\n\t\t\tfilename\n\t\t);\n\t} else {\n\t\tdefaultedAlt = __( 'This image has an empty alt attribute' );\n\t}\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\tconst isRounded = attributes.className?.includes( 'is-style-rounded' );\n\n\tconst { postType, postId, queryId } = context;\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\n\tconst [ , setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tlet img =\n\t\ttemporaryURL && hasImageErrored ? (\n\t\t\t// Show a placeholder during upload when the blob URL can't be loaded. This can\n\t\t\t// happen when the user uploads a HEIC image in a browser that doesn't support them.\n\t\t\t<Placeholder\n\t\t\t\tclassName=\"wp-block-image__placeholder\"\n\t\t\t\twithIllustration\n\t\t\t>\n\t\t\t\t<Spinner />\n\t\t\t</Placeholder>\n\t\t) : (\n\t\t\t// Disable reason: Image itself is not meant to be interactive, but\n\t\t\t// should direct focus to block.\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t<>\n\t\t\t\t<img\n\t\t\t\t\tsrc={ temporaryURL || url }\n\t\t\t\t\talt={ defaultedAlt }\n\t\t\t\t\tonError={ onImageError }\n\t\t\t\t\tonLoad={ onImageLoad }\n\t\t\t\t\tref={ imageRef }\n\t\t\t\t\tclassName={ borderProps.className }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t( width && height ) || aspectRatio\n\t\t\t\t\t\t\t\t? '100%'\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\theight:\n\t\t\t\t\t\t\t( width && height ) || aspectRatio\n\t\t\t\t\t\t\t\t? '100%'\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...shadowProps.style,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ temporaryURL && <Spinner /> }\n\t\t\t</>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t);\n\n\tif ( canEditImage && isEditingImage ) {\n\t\timg = (\n\t\t\t<ImageWrapper href={ href }>\n\t\t\t\t<ImageEditor\n\t\t\t\t\tid={ id }\n\t\t\t\t\turl={ url }\n\t\t\t\t\twidth={ numericWidth }\n\t\t\t\t\theight={ numericHeight }\n\t\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\t\tonSaveImage={ ( imageAttributes ) =>\n\t\t\t\t\t\tsetAttributes( imageAttributes )\n\t\t\t\t\t}\n\t\t\t\t\tonFinishEditing={ () => {\n\t\t\t\t\t\tsetIsEditingImage( false );\n\t\t\t\t\t} }\n\t\t\t\t\tborderProps={ isRounded ? undefined : borderProps }\n\t\t\t\t/>\n\t\t\t</ImageWrapper>\n\t\t);\n\t} else if ( ! isResizable || parentLayoutType === 'grid' ) {\n\t\timg = (\n\t\t\t<div style={ { width, height, aspectRatio } }>\n\t\t\t\t<ImageWrapper href={ href }>{ img }</ImageWrapper>\n\t\t\t</div>\n\t\t);\n\t} else {\n\t\tconst numericRatio = aspectRatio && evalAspectRatio( aspectRatio );\n\t\tconst customRatio = numericWidth / numericHeight;\n\t\tconst naturalRatio = naturalWidth / naturalHeight;\n\t\tconst ratio = numericRatio || customRatio || naturalRatio || 1;\n\t\tconst currentWidth =\n\t\t\t! numericWidth && numericHeight\n\t\t\t\t? numericHeight * ratio\n\t\t\t\t: numericWidth;\n\t\tconst currentHeight =\n\t\t\t! numericHeight && numericWidth\n\t\t\t\t? numericWidth / ratio\n\t\t\t\t: numericHeight;\n\n\t\tconst minWidth =\n\t\t\tnaturalWidth < naturalHeight ? MIN_SIZE : MIN_SIZE * ratio;\n\t\tconst minHeight =\n\t\t\tnaturalHeight < naturalWidth ? MIN_SIZE : MIN_SIZE / ratio;\n\n\t\t// With the current implementation of ResizableBox, an image needs an\n\t\t// explicit pixel value for the max-width. In absence of being able to\n\t\t// set the content-width, this max-width is currently dictated by the\n\t\t// vanilla editor style. The following variable adds a buffer to this\n\t\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t\t// in most cases, allow you to scale the image beyond the width of the\n\t\t// main column, though not infinitely.\n\t\t// @todo It would be good to revisit this once a content-width variable\n\t\t// becomes available.\n\t\tconst maxWidthBuffer = maxWidth * 2.5;\n\t\tconst maxResizeWidth = maxContentWidth || maxWidthBuffer;\n\n\t\tlet showRightHandle = false;\n\t\tlet showLeftHandle = false;\n\n\t\t/* eslint-disable no-lonely-if */\n\t\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\t\tif ( align === 'center' ) {\n\t\t\t// When the image is centered, show both handles.\n\t\t\tshowRightHandle = true;\n\t\t\tshowLeftHandle = true;\n\t\t} else if ( isRTL() ) {\n\t\t\t// In RTL mode the image is on the right by default.\n\t\t\t// Show the right handle and hide the left handle only when it is\n\t\t\t// aligned left. Otherwise always show the left handle.\n\t\t\tif ( align === 'left' ) {\n\t\t\t\tshowRightHandle = true;\n\t\t\t} else {\n\t\t\t\tshowLeftHandle = true;\n\t\t\t}\n\t\t} else {\n\t\t\t// Show the left handle and hide the right handle only when the\n\t\t\t// image is aligned right. Otherwise always show the right handle.\n\t\t\tif ( align === 'right' ) {\n\t\t\t\tshowLeftHandle = true;\n\t\t\t} else {\n\t\t\t\tshowRightHandle = true;\n\t\t\t}\n\t\t}\n\t\t/* eslint-enable no-lonely-if */\n\t\timg = (\n\t\t\t<ResizableBox\n\t\t\t\tstyle={ {\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\tobjectFit: scale,\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} }\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: currentWidth ?? 'auto',\n\t\t\t\t\theight: currentHeight ?? 'auto',\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSingleSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxResizeWidth }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxResizeWidth / ratio }\n\t\t\t\tlockAspectRatio={ ratio }\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt ) => {\n\t\t\t\t\tonResizeStop();\n\n\t\t\t\t\t// Clear hardcoded width if the resized width is close to the max-content width.\n\t\t\t\t\tif (\n\t\t\t\t\t\tmaxContentWidth &&\n\t\t\t\t\t\t// Only do this if the image is bigger than the container to prevent it from being squished.\n\t\t\t\t\t\t// TODO: Remove this check if the image support setting 100% width.\n\t\t\t\t\t\tnaturalWidth >= maxContentWidth &&\n\t\t\t\t\t\tMath.abs( elt.offsetWidth - maxContentWidth ) < 10\n\t\t\t\t\t) {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\twidth: undefined,\n\t\t\t\t\t\t\theight: undefined,\n\t\t\t\t\t\t} );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Since the aspect ratio is locked when resizing, we can\n\t\t\t\t\t// use the width of the resized element to calculate the\n\t\t\t\t\t// height in CSS to prevent stretching when the max-width\n\t\t\t\t\t// is reached.\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: `${ elt.offsetWidth }px`,\n\t\t\t\t\t\theight: 'auto',\n\t\t\t\t\t\taspectRatio:\n\t\t\t\t\t\t\tratio === naturalRatio\n\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t: String( ratio ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tresizeRatio={ align === 'center' ? 2 : 1 }\n\t\t\t>\n\t\t\t\t<ImageWrapper href={ href }>{ img }</ImageWrapper>\n\t\t\t</ResizableBox>\n\t\t);\n\t}\n\n\tif ( ! url && ! temporaryURL ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ mediaReplaceFlow }\n\t\t\t\t{ /* Add all controls if the image attributes are connected. */ }\n\t\t\t\t{ metadata?.bindings ? controls : sizeControls }\n\t\t\t</>\n\t\t);\n\t}\n\n\t/**\n\t * Set the post's featured image with the current image.\n\t */\n\tconst setPostFeatureImage = () => {\n\t\tsetFeaturedImage( id );\n\t\tcreateSuccessNotice( __( 'Post featured image updated.' ), {\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst featuredImageControl = (\n\t\t<BlockSettingsMenuControls>\n\t\t\t{ ( { selectedClientIds } ) =>\n\t\t\t\tselectedClientIds.length === 1 &&\n\t\t\t\t! isDescendentOfQueryLoop &&\n\t\t\t\tpostId &&\n\t\t\t\tid &&\n\t\t\t\tclientId === selectedClientIds[ 0 ] && (\n\t\t\t\t\t<MenuItem onClick={ setPostFeatureImage }>\n\t\t\t\t\t\t{ __( 'Set as featured image' ) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t)\n\t\t\t}\n\t\t</BlockSettingsMenuControls>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ mediaReplaceFlow }\n\t\t\t{ controls }\n\t\t\t{ featuredImageControl }\n\t\t\t{ img }\n\n\t\t\t<Caption\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tlabel={ __( 'Image caption text' ) }\n\t\t\t\tshowToolbarButton={\n\t\t\t\t\tisSingleSelected &&\n\t\t\t\t\thasNonContentControls &&\n\t\t\t\t\t! arePatternOverridesEnabled\n\t\t\t\t}\n\t\t\t\treadOnly={ lockCaption }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
2
 
4
3
  Object.defineProperty(exports, "__esModule", {
@@ -1 +1 @@
1
- {"version":3,"names":["_blob","require","_blocks","stripFirstImage","attributes","shortcode","body","document","implementation","createHTMLDocument","innerHTML","content","nodeToRemove","querySelector","parentNode","removeChild","trim","getFirstAnchorAttributeFormHTML","html","attributeName","firstElementChild","nodeName","getAttribute","undefined","imageSchema","img","classes","schema","phrasingContentSchema","figure","children","a","figcaption","transforms","from","type","isMatch","node","transform","className","alignMatches","exec","anchor","id","align","idMatches","Number","anchorElement","linkDestination","href","rel","linkClass","getBlockAttributes","outerHTML","isBlobURL","url","blob","createBlock","files","every","file","indexOf","blocks","map","createBlobURL","tag","source","attribute","selector","alt","caption","named","parseInt","replace","_default","exports","default"],"sources":["@wordpress/block-library/src/image/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlobURL, isBlobURL } from '@wordpress/blob';\nimport { createBlock, getBlockAttributes } from '@wordpress/blocks';\n\nexport function stripFirstImage( attributes, { shortcode } ) {\n\tconst { body } = document.implementation.createHTMLDocument( '' );\n\n\tbody.innerHTML = shortcode.content;\n\n\tlet nodeToRemove = body.querySelector( 'img' );\n\n\t// If an image has parents, find the topmost node to remove.\n\twhile (\n\t\tnodeToRemove &&\n\t\tnodeToRemove.parentNode &&\n\t\tnodeToRemove.parentNode !== body\n\t) {\n\t\tnodeToRemove = nodeToRemove.parentNode;\n\t}\n\n\tif ( nodeToRemove ) {\n\t\tnodeToRemove.parentNode.removeChild( nodeToRemove );\n\t}\n\n\treturn body.innerHTML.trim();\n}\n\nfunction getFirstAnchorAttributeFormHTML( html, attributeName ) {\n\tconst { body } = document.implementation.createHTMLDocument( '' );\n\n\tbody.innerHTML = html;\n\n\tconst { firstElementChild } = body;\n\n\tif ( firstElementChild && firstElementChild.nodeName === 'A' ) {\n\t\treturn firstElementChild.getAttribute( attributeName ) || undefined;\n\t}\n}\n\nconst imageSchema = {\n\timg: {\n\t\tattributes: [ 'src', 'alt', 'title' ],\n\t\tclasses: [\n\t\t\t'alignleft',\n\t\t\t'aligncenter',\n\t\t\t'alignright',\n\t\t\t'alignnone',\n\t\t\t/^wp-image-\\d+$/,\n\t\t],\n\t},\n};\n\nconst schema = ( { phrasingContentSchema } ) => ( {\n\tfigure: {\n\t\trequire: [ 'img' ],\n\t\tchildren: {\n\t\t\t...imageSchema,\n\t\t\ta: {\n\t\t\t\tattributes: [ 'href', 'rel', 'target' ],\n\t\t\t\tclasses: [ '*' ],\n\t\t\t\tchildren: imageSchema,\n\t\t\t},\n\t\t\tfigcaption: {\n\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t},\n\t\t},\n\t},\n} );\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tisMatch: ( node ) =>\n\t\t\t\tnode.nodeName === 'FIGURE' && !! node.querySelector( 'img' ),\n\t\t\tschema,\n\t\t\ttransform: ( node ) => {\n\t\t\t\t// Search both figure and image classes. Alignment could be\n\t\t\t\t// set on either. ID is set on the image.\n\t\t\t\tconst className =\n\t\t\t\t\tnode.className +\n\t\t\t\t\t' ' +\n\t\t\t\t\tnode.querySelector( 'img' ).className;\n\t\t\t\tconst alignMatches =\n\t\t\t\t\t/(?:^|\\s)align(left|center|right)(?:$|\\s)/.exec(\n\t\t\t\t\t\tclassName\n\t\t\t\t\t);\n\t\t\t\tconst anchor = node.id === '' ? undefined : node.id;\n\t\t\t\tconst align = alignMatches ? alignMatches[ 1 ] : undefined;\n\t\t\t\tconst idMatches = /(?:^|\\s)wp-image-(\\d+)(?:$|\\s)/.exec(\n\t\t\t\t\tclassName\n\t\t\t\t);\n\t\t\t\tconst id = idMatches ? Number( idMatches[ 1 ] ) : undefined;\n\t\t\t\tconst anchorElement = node.querySelector( 'a' );\n\t\t\t\tconst linkDestination =\n\t\t\t\t\tanchorElement && anchorElement.href ? 'custom' : undefined;\n\t\t\t\tconst href =\n\t\t\t\t\tanchorElement && anchorElement.href\n\t\t\t\t\t\t? anchorElement.href\n\t\t\t\t\t\t: undefined;\n\t\t\t\tconst rel =\n\t\t\t\t\tanchorElement && anchorElement.rel\n\t\t\t\t\t\t? anchorElement.rel\n\t\t\t\t\t\t: undefined;\n\t\t\t\tconst linkClass =\n\t\t\t\t\tanchorElement && anchorElement.className\n\t\t\t\t\t\t? anchorElement.className\n\t\t\t\t\t\t: undefined;\n\t\t\t\tconst attributes = getBlockAttributes(\n\t\t\t\t\t'core/image',\n\t\t\t\t\tnode.outerHTML,\n\t\t\t\t\t{\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\thref,\n\t\t\t\t\t\trel,\n\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tif ( isBlobURL( attributes.url ) ) {\n\t\t\t\t\tattributes.blob = attributes.url;\n\t\t\t\t\tdelete attributes.url;\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( 'core/image', attributes );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t// Note: when dragging and dropping multiple files onto a gallery this overrides the\n\t\t\t// gallery transform in order to add new images to the gallery instead of\n\t\t\t// creating a new gallery.\n\t\t\ttype: 'files',\n\t\t\tisMatch( files ) {\n\t\t\t\treturn files.every(\n\t\t\t\t\t( file ) => file.type.indexOf( 'image/' ) === 0\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform( files ) {\n\t\t\t\tconst blocks = files.map( ( file ) => {\n\t\t\t\t\treturn createBlock( 'core/image', {\n\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t\treturn blocks;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'shortcode',\n\t\t\ttag: 'caption',\n\t\t\tattributes: {\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\tshortcode: stripFirstImage,\n\t\t\t\t},\n\t\t\t\thref: {\n\t\t\t\t\tshortcode: ( attributes, { shortcode } ) => {\n\t\t\t\t\t\treturn getFirstAnchorAttributeFormHTML(\n\t\t\t\t\t\t\tshortcode.content,\n\t\t\t\t\t\t\t'href'\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trel: {\n\t\t\t\t\tshortcode: ( attributes, { shortcode } ) => {\n\t\t\t\t\t\treturn getFirstAnchorAttributeFormHTML(\n\t\t\t\t\t\t\tshortcode.content,\n\t\t\t\t\t\t\t'rel'\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlinkClass: {\n\t\t\t\t\tshortcode: ( attributes, { shortcode } ) => {\n\t\t\t\t\t\treturn getFirstAnchorAttributeFormHTML(\n\t\t\t\t\t\t\tshortcode.content,\n\t\t\t\t\t\t\t'class'\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tshortcode: ( { named: { id } } ) => {\n\t\t\t\t\t\tif ( ! id ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn parseInt( id.replace( 'attachment_', '' ), 10 );\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\talign: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { align = 'alignnone' } } ) => {\n\t\t\t\t\t\treturn align.replace( 'align', '' );\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_blob","require","_blocks","stripFirstImage","attributes","shortcode","body","document","implementation","createHTMLDocument","innerHTML","content","nodeToRemove","querySelector","parentNode","removeChild","trim","getFirstAnchorAttributeFormHTML","html","attributeName","firstElementChild","nodeName","getAttribute","undefined","imageSchema","img","classes","schema","phrasingContentSchema","figure","children","a","figcaption","transforms","from","type","isMatch","node","transform","className","alignMatches","exec","anchor","id","align","idMatches","Number","anchorElement","linkDestination","href","rel","linkClass","getBlockAttributes","outerHTML","isBlobURL","url","blob","createBlock","files","every","file","indexOf","blocks","map","createBlobURL","tag","source","attribute","selector","alt","caption","named","parseInt","replace","_default","exports","default"],"sources":["@wordpress/block-library/src/image/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlobURL, isBlobURL } from '@wordpress/blob';\nimport { createBlock, getBlockAttributes } from '@wordpress/blocks';\n\nexport function stripFirstImage( attributes, { shortcode } ) {\n\tconst { body } = document.implementation.createHTMLDocument( '' );\n\n\tbody.innerHTML = shortcode.content;\n\n\tlet nodeToRemove = body.querySelector( 'img' );\n\n\t// If an image has parents, find the topmost node to remove.\n\twhile (\n\t\tnodeToRemove &&\n\t\tnodeToRemove.parentNode &&\n\t\tnodeToRemove.parentNode !== body\n\t) {\n\t\tnodeToRemove = nodeToRemove.parentNode;\n\t}\n\n\tif ( nodeToRemove ) {\n\t\tnodeToRemove.parentNode.removeChild( nodeToRemove );\n\t}\n\n\treturn body.innerHTML.trim();\n}\n\nfunction getFirstAnchorAttributeFormHTML( html, attributeName ) {\n\tconst { body } = document.implementation.createHTMLDocument( '' );\n\n\tbody.innerHTML = html;\n\n\tconst { firstElementChild } = body;\n\n\tif ( firstElementChild && firstElementChild.nodeName === 'A' ) {\n\t\treturn firstElementChild.getAttribute( attributeName ) || undefined;\n\t}\n}\n\nconst imageSchema = {\n\timg: {\n\t\tattributes: [ 'src', 'alt', 'title' ],\n\t\tclasses: [\n\t\t\t'alignleft',\n\t\t\t'aligncenter',\n\t\t\t'alignright',\n\t\t\t'alignnone',\n\t\t\t/^wp-image-\\d+$/,\n\t\t],\n\t},\n};\n\nconst schema = ( { phrasingContentSchema } ) => ( {\n\tfigure: {\n\t\trequire: [ 'img' ],\n\t\tchildren: {\n\t\t\t...imageSchema,\n\t\t\ta: {\n\t\t\t\tattributes: [ 'href', 'rel', 'target' ],\n\t\t\t\tclasses: [ '*' ],\n\t\t\t\tchildren: imageSchema,\n\t\t\t},\n\t\t\tfigcaption: {\n\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t},\n\t\t},\n\t},\n} );\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tisMatch: ( node ) =>\n\t\t\t\tnode.nodeName === 'FIGURE' && !! node.querySelector( 'img' ),\n\t\t\tschema,\n\t\t\ttransform: ( node ) => {\n\t\t\t\t// Search both figure and image classes. Alignment could be\n\t\t\t\t// set on either. ID is set on the image.\n\t\t\t\tconst className =\n\t\t\t\t\tnode.className +\n\t\t\t\t\t' ' +\n\t\t\t\t\tnode.querySelector( 'img' ).className;\n\t\t\t\tconst alignMatches =\n\t\t\t\t\t/(?:^|\\s)align(left|center|right)(?:$|\\s)/.exec(\n\t\t\t\t\t\tclassName\n\t\t\t\t\t);\n\t\t\t\tconst anchor = node.id === '' ? undefined : node.id;\n\t\t\t\tconst align = alignMatches ? alignMatches[ 1 ] : undefined;\n\t\t\t\tconst idMatches = /(?:^|\\s)wp-image-(\\d+)(?:$|\\s)/.exec(\n\t\t\t\t\tclassName\n\t\t\t\t);\n\t\t\t\tconst id = idMatches ? Number( idMatches[ 1 ] ) : undefined;\n\t\t\t\tconst anchorElement = node.querySelector( 'a' );\n\t\t\t\tconst linkDestination =\n\t\t\t\t\tanchorElement && anchorElement.href ? 'custom' : undefined;\n\t\t\t\tconst href =\n\t\t\t\t\tanchorElement && anchorElement.href\n\t\t\t\t\t\t? anchorElement.href\n\t\t\t\t\t\t: undefined;\n\t\t\t\tconst rel =\n\t\t\t\t\tanchorElement && anchorElement.rel\n\t\t\t\t\t\t? anchorElement.rel\n\t\t\t\t\t\t: undefined;\n\t\t\t\tconst linkClass =\n\t\t\t\t\tanchorElement && anchorElement.className\n\t\t\t\t\t\t? anchorElement.className\n\t\t\t\t\t\t: undefined;\n\t\t\t\tconst attributes = getBlockAttributes(\n\t\t\t\t\t'core/image',\n\t\t\t\t\tnode.outerHTML,\n\t\t\t\t\t{\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\thref,\n\t\t\t\t\t\trel,\n\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tif ( isBlobURL( attributes.url ) ) {\n\t\t\t\t\tattributes.blob = attributes.url;\n\t\t\t\t\tdelete attributes.url;\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( 'core/image', attributes );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t// Note: when dragging and dropping multiple files onto a gallery this overrides the\n\t\t\t// gallery transform in order to add new images to the gallery instead of\n\t\t\t// creating a new gallery.\n\t\t\ttype: 'files',\n\t\t\tisMatch( files ) {\n\t\t\t\treturn files.every(\n\t\t\t\t\t( file ) => file.type.indexOf( 'image/' ) === 0\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform( files ) {\n\t\t\t\tconst blocks = files.map( ( file ) => {\n\t\t\t\t\treturn createBlock( 'core/image', {\n\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t\treturn blocks;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'shortcode',\n\t\t\ttag: 'caption',\n\t\t\tattributes: {\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\tshortcode: stripFirstImage,\n\t\t\t\t},\n\t\t\t\thref: {\n\t\t\t\t\tshortcode: ( attributes, { shortcode } ) => {\n\t\t\t\t\t\treturn getFirstAnchorAttributeFormHTML(\n\t\t\t\t\t\t\tshortcode.content,\n\t\t\t\t\t\t\t'href'\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trel: {\n\t\t\t\t\tshortcode: ( attributes, { shortcode } ) => {\n\t\t\t\t\t\treturn getFirstAnchorAttributeFormHTML(\n\t\t\t\t\t\t\tshortcode.content,\n\t\t\t\t\t\t\t'rel'\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlinkClass: {\n\t\t\t\t\tshortcode: ( attributes, { shortcode } ) => {\n\t\t\t\t\t\treturn getFirstAnchorAttributeFormHTML(\n\t\t\t\t\t\t\tshortcode.content,\n\t\t\t\t\t\t\t'class'\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tshortcode: ( { named: { id } } ) => {\n\t\t\t\t\t\tif ( ! id ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn parseInt( id.replace( 'attachment_', '' ), 10 );\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\talign: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { align = 'alignnone' } } ) => {\n\t\t\t\t\t\treturn align.replace( 'align', '' );\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
2
 
4
3
  Object.defineProperty(exports, "__esModule", {
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","require","evalAspectRatio","value","width","height","split","map","Number","aspectRatio","Infinity","NaN","removeNewTabRel","currentRel","newRel","undefined","NEW_TAB_REL","forEach","relVal","regExp","RegExp","replace","trim","getUpdatedLinkTargetSettings","rel","linkTarget","updatedRel","getImageSizeAttributes","image","size","url","media_details","sizes","source_url","sizeSlug","isValidFileType","file","ALLOWED_MEDIA_TYPES","some","mediaType","type","indexOf"],"sources":["@wordpress/block-library/src/image/utils.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { NEW_TAB_REL, ALLOWED_MEDIA_TYPES } from './constants';\n\n/**\n * Evaluates a CSS aspect-ratio property value as a number.\n *\n * Degenerate or invalid ratios behave as 'auto'. And 'auto' ratios return NaN.\n *\n * @see https://drafts.csswg.org/css-sizing-4/#aspect-ratio\n *\n * @param {string} value CSS aspect-ratio property value.\n * @return {number} Numerical aspect ratio or NaN if invalid.\n */\nexport function evalAspectRatio( value ) {\n\tconst [ width, height = 1 ] = value.split( '/' ).map( Number );\n\tconst aspectRatio = width / height;\n\treturn aspectRatio === Infinity || aspectRatio === 0 ? NaN : aspectRatio;\n}\n\nexport function removeNewTabRel( currentRel ) {\n\tlet newRel = currentRel;\n\n\tif ( currentRel !== undefined && newRel ) {\n\t\tNEW_TAB_REL.forEach( ( relVal ) => {\n\t\t\tconst regExp = new RegExp( '\\\\b' + relVal + '\\\\b', 'gi' );\n\t\t\tnewRel = newRel.replace( regExp, '' );\n\t\t} );\n\n\t\t// Only trim if NEW_TAB_REL values was replaced.\n\t\tif ( newRel !== currentRel ) {\n\t\t\tnewRel = newRel.trim();\n\t\t}\n\n\t\tif ( ! newRel ) {\n\t\t\tnewRel = undefined;\n\t\t}\n\t}\n\n\treturn newRel;\n}\n\n/**\n * Helper to get the link target settings to be stored.\n *\n * @param {boolean} value The new link target value.\n * @param {Object} attributes Block attributes.\n * @param {Object} attributes.rel Image block's rel attribute.\n *\n * @return {Object} Updated link target settings.\n */\nexport function getUpdatedLinkTargetSettings( value, { rel } ) {\n\tconst linkTarget = value ? '_blank' : undefined;\n\n\tlet updatedRel;\n\tif ( ! linkTarget && ! rel ) {\n\t\tupdatedRel = undefined;\n\t} else {\n\t\tupdatedRel = removeNewTabRel( rel );\n\t}\n\n\treturn {\n\t\tlinkTarget,\n\t\trel: updatedRel,\n\t};\n}\n\n/**\n * Determines new Image block attributes size selection.\n *\n * @param {Object} image Media file object for gallery image.\n * @param {string} size Selected size slug to apply.\n */\nexport function getImageSizeAttributes( image, size ) {\n\tconst url = image?.media_details?.sizes?.[ size ]?.source_url;\n\n\tif ( url ) {\n\t\treturn { url, width: undefined, height: undefined, sizeSlug: size };\n\t}\n\n\treturn {};\n}\n\n/**\n * Checks if the file has a valid file type.\n *\n * @param {File} file - The file to check.\n * @return {boolean} - Returns true if the file has a valid file type, otherwise false.\n */\nexport function isValidFileType( file ) {\n\treturn ALLOWED_MEDIA_TYPES.some(\n\t\t( mediaType ) => file.type.indexOf( mediaType ) === 0\n\t);\n}\n"],"mappings":";;;;;;;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,eAAeA,CAAEC,KAAK,EAAG;EACxC,MAAM,CAAEC,KAAK,EAAEC,MAAM,GAAG,CAAC,CAAE,GAAGF,KAAK,CAACG,KAAK,CAAE,GAAI,CAAC,CAACC,GAAG,CAAEC,MAAO,CAAC;EAC9D,MAAMC,WAAW,GAAGL,KAAK,GAAGC,MAAM;EAClC,OAAOI,WAAW,KAAKC,QAAQ,IAAID,WAAW,KAAK,CAAC,GAAGE,GAAG,GAAGF,WAAW;AACzE;AAEO,SAASG,eAAeA,CAAEC,UAAU,EAAG;EAC7C,IAAIC,MAAM,GAAGD,UAAU;EAEvB,IAAKA,UAAU,KAAKE,SAAS,IAAID,MAAM,EAAG;IACzCE,sBAAW,CAACC,OAAO,CAAIC,MAAM,IAAM;MAClC,MAAMC,MAAM,GAAG,IAAIC,MAAM,CAAE,KAAK,GAAGF,MAAM,GAAG,KAAK,EAAE,IAAK,CAAC;MACzDJ,MAAM,GAAGA,MAAM,CAACO,OAAO,CAAEF,MAAM,EAAE,EAAG,CAAC;IACtC,CAAE,CAAC;;IAEH;IACA,IAAKL,MAAM,KAAKD,UAAU,EAAG;MAC5BC,MAAM,GAAGA,MAAM,CAACQ,IAAI,CAAC,CAAC;IACvB;IAEA,IAAK,CAAER,MAAM,EAAG;MACfA,MAAM,GAAGC,SAAS;IACnB;EACD;EAEA,OAAOD,MAAM;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASS,4BAA4BA,CAAEpB,KAAK,EAAE;EAAEqB;AAAI,CAAC,EAAG;EAC9D,MAAMC,UAAU,GAAGtB,KAAK,GAAG,QAAQ,GAAGY,SAAS;EAE/C,IAAIW,UAAU;EACd,IAAK,CAAED,UAAU,IAAI,CAAED,GAAG,EAAG;IAC5BE,UAAU,GAAGX,SAAS;EACvB,CAAC,MAAM;IACNW,UAAU,GAAGd,eAAe,CAAEY,GAAI,CAAC;EACpC;EAEA,OAAO;IACNC,UAAU;IACVD,GAAG,EAAEE;EACN,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,sBAAsBA,CAAEC,KAAK,EAAEC,IAAI,EAAG;EACrD,MAAMC,GAAG,GAAGF,KAAK,EAAEG,aAAa,EAAEC,KAAK,GAAIH,IAAI,CAAE,EAAEI,UAAU;EAE7D,IAAKH,GAAG,EAAG;IACV,OAAO;MAAEA,GAAG;MAAE1B,KAAK,EAAEW,SAAS;MAAEV,MAAM,EAAEU,SAAS;MAAEmB,QAAQ,EAAEL;IAAK,CAAC;EACpE;EAEA,OAAO,CAAC,CAAC;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASM,eAAeA,CAAEC,IAAI,EAAG;EACvC,OAAOC,8BAAmB,CAACC,IAAI,CAC5BC,SAAS,IAAMH,IAAI,CAACI,IAAI,CAACC,OAAO,CAAEF,SAAU,CAAC,KAAK,CACrD,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_constants","require","evalAspectRatio","value","width","height","split","map","Number","aspectRatio","Infinity","NaN","removeNewTabRel","currentRel","newRel","undefined","NEW_TAB_REL","forEach","relVal","regExp","RegExp","replace","trim","getUpdatedLinkTargetSettings","rel","linkTarget","updatedRel","getImageSizeAttributes","image","size","url","media_details","sizes","source_url","sizeSlug","isValidFileType","file","ALLOWED_MEDIA_TYPES","some","mediaType","type","indexOf"],"sources":["@wordpress/block-library/src/image/utils.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { NEW_TAB_REL, ALLOWED_MEDIA_TYPES } from './constants';\n\n/**\n * Evaluates a CSS aspect-ratio property value as a number.\n *\n * Degenerate or invalid ratios behave as 'auto'. And 'auto' ratios return NaN.\n *\n * @see https://drafts.csswg.org/css-sizing-4/#aspect-ratio\n *\n * @param {string} value CSS aspect-ratio property value.\n * @return {number} Numerical aspect ratio or NaN if invalid.\n */\nexport function evalAspectRatio( value ) {\n\tconst [ width, height = 1 ] = value.split( '/' ).map( Number );\n\tconst aspectRatio = width / height;\n\treturn aspectRatio === Infinity || aspectRatio === 0 ? NaN : aspectRatio;\n}\n\nexport function removeNewTabRel( currentRel ) {\n\tlet newRel = currentRel;\n\n\tif ( currentRel !== undefined && newRel ) {\n\t\tNEW_TAB_REL.forEach( ( relVal ) => {\n\t\t\tconst regExp = new RegExp( '\\\\b' + relVal + '\\\\b', 'gi' );\n\t\t\tnewRel = newRel.replace( regExp, '' );\n\t\t} );\n\n\t\t// Only trim if NEW_TAB_REL values was replaced.\n\t\tif ( newRel !== currentRel ) {\n\t\t\tnewRel = newRel.trim();\n\t\t}\n\n\t\tif ( ! newRel ) {\n\t\t\tnewRel = undefined;\n\t\t}\n\t}\n\n\treturn newRel;\n}\n\n/**\n * Helper to get the link target settings to be stored.\n *\n * @param {boolean} value The new link target value.\n * @param {Object} attributes Block attributes.\n * @param {Object} attributes.rel Image block's rel attribute.\n *\n * @return {Object} Updated link target settings.\n */\nexport function getUpdatedLinkTargetSettings( value, { rel } ) {\n\tconst linkTarget = value ? '_blank' : undefined;\n\n\tlet updatedRel;\n\tif ( ! linkTarget && ! rel ) {\n\t\tupdatedRel = undefined;\n\t} else {\n\t\tupdatedRel = removeNewTabRel( rel );\n\t}\n\n\treturn {\n\t\tlinkTarget,\n\t\trel: updatedRel,\n\t};\n}\n\n/**\n * Determines new Image block attributes size selection.\n *\n * @param {Object} image Media file object for gallery image.\n * @param {string} size Selected size slug to apply.\n */\nexport function getImageSizeAttributes( image, size ) {\n\tconst url = image?.media_details?.sizes?.[ size ]?.source_url;\n\n\tif ( url ) {\n\t\treturn { url, width: undefined, height: undefined, sizeSlug: size };\n\t}\n\n\treturn {};\n}\n\n/**\n * Checks if the file has a valid file type.\n *\n * @param {File} file - The file to check.\n * @return {boolean} - Returns true if the file has a valid file type, otherwise false.\n */\nexport function isValidFileType( file ) {\n\treturn ALLOWED_MEDIA_TYPES.some(\n\t\t( mediaType ) => file.type.indexOf( mediaType ) === 0\n\t);\n}\n"],"mappings":";;;;;;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,eAAeA,CAAEC,KAAK,EAAG;EACxC,MAAM,CAAEC,KAAK,EAAEC,MAAM,GAAG,CAAC,CAAE,GAAGF,KAAK,CAACG,KAAK,CAAE,GAAI,CAAC,CAACC,GAAG,CAAEC,MAAO,CAAC;EAC9D,MAAMC,WAAW,GAAGL,KAAK,GAAGC,MAAM;EAClC,OAAOI,WAAW,KAAKC,QAAQ,IAAID,WAAW,KAAK,CAAC,GAAGE,GAAG,GAAGF,WAAW;AACzE;AAEO,SAASG,eAAeA,CAAEC,UAAU,EAAG;EAC7C,IAAIC,MAAM,GAAGD,UAAU;EAEvB,IAAKA,UAAU,KAAKE,SAAS,IAAID,MAAM,EAAG;IACzCE,sBAAW,CAACC,OAAO,CAAIC,MAAM,IAAM;MAClC,MAAMC,MAAM,GAAG,IAAIC,MAAM,CAAE,KAAK,GAAGF,MAAM,GAAG,KAAK,EAAE,IAAK,CAAC;MACzDJ,MAAM,GAAGA,MAAM,CAACO,OAAO,CAAEF,MAAM,EAAE,EAAG,CAAC;IACtC,CAAE,CAAC;;IAEH;IACA,IAAKL,MAAM,KAAKD,UAAU,EAAG;MAC5BC,MAAM,GAAGA,MAAM,CAACQ,IAAI,CAAC,CAAC;IACvB;IAEA,IAAK,CAAER,MAAM,EAAG;MACfA,MAAM,GAAGC,SAAS;IACnB;EACD;EAEA,OAAOD,MAAM;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASS,4BAA4BA,CAAEpB,KAAK,EAAE;EAAEqB;AAAI,CAAC,EAAG;EAC9D,MAAMC,UAAU,GAAGtB,KAAK,GAAG,QAAQ,GAAGY,SAAS;EAE/C,IAAIW,UAAU;EACd,IAAK,CAAED,UAAU,IAAI,CAAED,GAAG,EAAG;IAC5BE,UAAU,GAAGX,SAAS;EACvB,CAAC,MAAM;IACNW,UAAU,GAAGd,eAAe,CAAEY,GAAI,CAAC;EACpC;EAEA,OAAO;IACNC,UAAU;IACVD,GAAG,EAAEE;EACN,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,sBAAsBA,CAAEC,KAAK,EAAEC,IAAI,EAAG;EACrD,MAAMC,GAAG,GAAGF,KAAK,EAAEG,aAAa,EAAEC,KAAK,GAAIH,IAAI,CAAE,EAAEI,UAAU;EAE7D,IAAKH,GAAG,EAAG;IACV,OAAO;MAAEA,GAAG;MAAE1B,KAAK,EAAEW,SAAS;MAAEV,MAAM,EAAEU,SAAS;MAAEmB,QAAQ,EAAEL;IAAK,CAAC;EACpE;EAEA,OAAO,CAAC,CAAC;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASM,eAAeA,CAAEC,IAAI,EAAG;EACvC,OAAOC,8BAAmB,CAACC,IAAI,CAC5BC,SAAS,IAAMH,IAAI,CAACI,IAAI,CAACC,OAAO,CAAEF,SAAU,CAAC,KAAK,CACrD,CAAC;AACF","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
2
 
4
3
  Object.defineProperty(exports, "__esModule", {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_blocks","_hooks","paragraph","_interopRequireWildcard","image","heading","quote","gallery","archives","audio","button","calendar","categories","code","columns","column","cover","embed","file","html","mediaText","latestComments","latestPosts","list","listItem","missing","more","nextpage","preformatted","pullquote","reusableBlock","rss","search","separator","shortcode","spacer","table","textColumns","verse","video","tagCloud","classic","group","buttons","socialLink","socialLinks","_transformationCategories","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","coreBlocks","exports","reduce","accumulator","block","name","registerBlockVariations","metadata","settings","variations","sort","b","title","localeCompare","forEach","v","registerBlockType","icon","devOnly","__DEV__","iOSOnly","Platform","OS","addFilter","hiddenBlocks","includes","hasBlockSupport","supports","inserter","transforms","supportedMobileTransforms","transformationCategory","registerCoreBlocks","filter","Boolean","init","setDefaultBlockName","setFreeformContentHandlerName","setUnregisteredTypeHandlerName","setGroupingBlockName","NEW_BLOCK_TYPES"],"sources":["@wordpress/block-library/src/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\thasBlockSupport,\n\tregisterBlockType,\n\tsetDefaultBlockName,\n\tsetFreeformContentHandlerName,\n\tsetUnregisteredTypeHandlerName,\n\tsetGroupingBlockName,\n} from '@wordpress/blocks';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport * as paragraph from './paragraph';\nimport * as image from './image';\nimport * as heading from './heading';\nimport * as quote from './quote';\nimport * as gallery from './gallery';\nimport * as archives from './archives';\nimport * as audio from './audio';\nimport * as button from './button';\nimport * as calendar from './calendar';\nimport * as categories from './categories';\nimport * as code from './code';\nimport * as columns from './columns';\nimport * as column from './column';\nimport * as cover from './cover';\nimport * as embed from './embed';\nimport * as file from './file';\nimport * as html from './html';\nimport * as mediaText from './media-text';\nimport * as latestComments from './latest-comments';\nimport * as latestPosts from './latest-posts';\nimport * as list from './list';\nimport * as listItem from './list-item';\nimport * as missing from './missing';\nimport * as more from './more';\nimport * as nextpage from './nextpage';\nimport * as preformatted from './preformatted';\nimport * as pullquote from './pullquote';\nimport * as reusableBlock from './block';\nimport * as rss from './rss';\nimport * as search from './search';\nimport * as separator from './separator';\nimport * as shortcode from './shortcode';\nimport * as spacer from './spacer';\nimport * as table from './table';\nimport * as textColumns from './text-columns';\nimport * as verse from './verse';\nimport * as video from './video';\nimport * as tagCloud from './tag-cloud';\nimport * as classic from './freeform';\nimport * as group from './group';\nimport * as buttons from './buttons';\nimport * as socialLink from './social-link';\nimport * as socialLinks from './social-links';\n\nimport { transformationCategory } from './utils/transformation-categories';\n\nexport const coreBlocks = [\n\t// Common blocks are grouped at the top to prioritize their display\n\t// in various contexts — like the inserter and auto-complete components.\n\tparagraph,\n\timage,\n\theading,\n\tgallery,\n\tlist,\n\tlistItem,\n\tquote,\n\n\t// Register all remaining core blocks.\n\tshortcode,\n\tarchives,\n\taudio,\n\tbutton,\n\tcalendar,\n\tcategories,\n\tcode,\n\tcolumns,\n\tcolumn,\n\tcover,\n\tembed,\n\tgroup,\n\tfile,\n\thtml,\n\tmediaText,\n\tlatestComments,\n\tlatestPosts,\n\tmissing,\n\tmore,\n\tnextpage,\n\tpreformatted,\n\tpullquote,\n\trss,\n\tsearch,\n\tseparator,\n\treusableBlock,\n\tspacer,\n\ttable,\n\ttagCloud,\n\ttextColumns,\n\tverse,\n\tvideo,\n\tclassic,\n\tbuttons,\n\tsocialLink,\n\tsocialLinks,\n].reduce( ( accumulator, block ) => {\n\taccumulator[ block.name ] = block;\n\treturn accumulator;\n}, {} );\n\n/**\n * Function to register a block variations e.g. social icons different types.\n *\n * @param {Object} block The block which variations will be registered.\n */\nconst registerBlockVariations = ( block ) => {\n\tconst { metadata, settings, name } = block;\n\n\tif ( ! settings.variations ) {\n\t\treturn;\n\t}\n\n\t[ ...settings.variations ]\n\t\t.sort( ( a, b ) => a.title.localeCompare( b.title ) )\n\t\t.forEach( ( v ) => {\n\t\t\tregisterBlockType( `${ name }-${ v.name }`, {\n\t\t\t\t...metadata,\n\t\t\t\tname: `${ name }-${ v.name }`,\n\t\t\t\t...settings,\n\t\t\t\ticon: v.icon(),\n\t\t\t\ttitle: v.title,\n\t\t\t\tvariations: [],\n\t\t\t} );\n\t\t} );\n};\n\n// Only enable code block for development\n// eslint-disable-next-line no-undef\nconst devOnly = ( block ) => ( !! __DEV__ ? block : null );\n\n// eslint-disable-next-line no-unused-vars\nconst iOSOnly = ( block ) =>\n\tPlatform.OS === 'ios' ? block : devOnly( block );\n\n// Hide the Classic block and SocialLink block\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/react-native-editor',\n\t( settings, name ) => {\n\t\tconst hiddenBlocks = [ 'core/freeform', 'core/social-link' ];\n\t\tif (\n\t\t\thiddenBlocks.includes( name ) &&\n\t\t\thasBlockSupport( settings, 'inserter', true )\n\t\t) {\n\t\t\tsettings.supports = {\n\t\t\t\t...settings.supports,\n\t\t\t\tinserter: false,\n\t\t\t};\n\t\t}\n\n\t\treturn settings;\n\t}\n);\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/react-native-editor',\n\t( settings, name ) => {\n\t\tif ( ! settings.transforms ) {\n\t\t\treturn settings;\n\t\t}\n\n\t\tif ( ! settings.transforms.supportedMobileTransforms ) {\n\t\t\treturn {\n\t\t\t\t...settings,\n\t\t\t\ttransforms: {\n\t\t\t\t\t...settings.transforms,\n\t\t\t\t\tsupportedMobileTransforms: transformationCategory( name ),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\treturn settings;\n\t}\n);\n\n/**\n * Function to register core blocks provided by the block editor.\n *\n * @example\n * ```js\n * import { registerCoreBlocks } from '@wordpress/block-library';\n *\n * registerCoreBlocks();\n * ```\n */\nexport const registerCoreBlocks = () => {\n\t// When adding new blocks to this list please also consider updating /src/block-support/supported-blocks.json in the Gutenberg-Mobile repo\n\t[\n\t\tparagraph,\n\t\theading,\n\t\tdevOnly( code ),\n\t\tmissing,\n\t\tmore,\n\t\timage,\n\t\tvideo,\n\t\tnextpage,\n\t\tseparator,\n\t\tlist,\n\t\tlistItem,\n\t\tquote,\n\t\tmediaText,\n\t\tpreformatted,\n\t\tgallery,\n\t\tcolumns,\n\t\tcolumn,\n\t\tgroup,\n\t\tclassic,\n\t\tbutton,\n\t\tspacer,\n\t\tshortcode,\n\t\tbuttons,\n\t\tlatestPosts,\n\t\tverse,\n\t\tcover,\n\t\tsocialLink,\n\t\tsocialLinks,\n\t\tpullquote,\n\t\tfile,\n\t\taudio,\n\t\treusableBlock,\n\t\tsearch,\n\t\tembed,\n\t]\n\t\t.filter( Boolean )\n\t\t.forEach( ( { init } ) => init() );\n\n\tregisterBlockVariations( socialLink );\n\tsetDefaultBlockName( paragraph.name );\n\tsetFreeformContentHandlerName( classic.name );\n\tsetUnregisteredTypeHandlerName( missing.name );\n\tif ( group ) {\n\t\tsetGroupingBlockName( group.name );\n\t}\n};\n\n/**\n * Dictates which block types are considered \"new.\" For each of the block types\n * below, if the native host app does not already have an impression count set,\n * an initial count will be set. When a block type's impression count is greater\n * than 0, a \"new\" badge is displayed on the block type within the block\n * inserter.\n *\n * With the below example, the Audio block will be displayed as \"new\" until its\n * impression count reaches 0, which occurs by various actions decrementing\n * the impression count.\n *\n * {\n * \t[ audio.name ]: 40\n * }\n *\n * @constant {{ string, number }}\n */\nexport const NEW_BLOCK_TYPES = {};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_blocks","_hooks","paragraph","_interopRequireWildcard","image","heading","quote","gallery","archives","audio","button","calendar","categories","code","columns","column","cover","embed","file","html","mediaText","latestComments","latestPosts","list","listItem","missing","more","nextpage","preformatted","pullquote","reusableBlock","rss","search","separator","shortcode","spacer","table","textColumns","verse","video","tagCloud","classic","group","buttons","socialLink","socialLinks","_transformationCategories","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","coreBlocks","exports","reduce","accumulator","block","name","registerBlockVariations","metadata","settings","variations","sort","b","title","localeCompare","forEach","v","registerBlockType","icon","devOnly","__DEV__","iOSOnly","Platform","OS","addFilter","hiddenBlocks","includes","hasBlockSupport","supports","inserter","transforms","supportedMobileTransforms","transformationCategory","registerCoreBlocks","filter","Boolean","init","setDefaultBlockName","setFreeformContentHandlerName","setUnregisteredTypeHandlerName","setGroupingBlockName","NEW_BLOCK_TYPES"],"sources":["@wordpress/block-library/src/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\thasBlockSupport,\n\tregisterBlockType,\n\tsetDefaultBlockName,\n\tsetFreeformContentHandlerName,\n\tsetUnregisteredTypeHandlerName,\n\tsetGroupingBlockName,\n} from '@wordpress/blocks';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport * as paragraph from './paragraph';\nimport * as image from './image';\nimport * as heading from './heading';\nimport * as quote from './quote';\nimport * as gallery from './gallery';\nimport * as archives from './archives';\nimport * as audio from './audio';\nimport * as button from './button';\nimport * as calendar from './calendar';\nimport * as categories from './categories';\nimport * as code from './code';\nimport * as columns from './columns';\nimport * as column from './column';\nimport * as cover from './cover';\nimport * as embed from './embed';\nimport * as file from './file';\nimport * as html from './html';\nimport * as mediaText from './media-text';\nimport * as latestComments from './latest-comments';\nimport * as latestPosts from './latest-posts';\nimport * as list from './list';\nimport * as listItem from './list-item';\nimport * as missing from './missing';\nimport * as more from './more';\nimport * as nextpage from './nextpage';\nimport * as preformatted from './preformatted';\nimport * as pullquote from './pullquote';\nimport * as reusableBlock from './block';\nimport * as rss from './rss';\nimport * as search from './search';\nimport * as separator from './separator';\nimport * as shortcode from './shortcode';\nimport * as spacer from './spacer';\nimport * as table from './table';\nimport * as textColumns from './text-columns';\nimport * as verse from './verse';\nimport * as video from './video';\nimport * as tagCloud from './tag-cloud';\nimport * as classic from './freeform';\nimport * as group from './group';\nimport * as buttons from './buttons';\nimport * as socialLink from './social-link';\nimport * as socialLinks from './social-links';\n\nimport { transformationCategory } from './utils/transformation-categories';\n\nexport const coreBlocks = [\n\t// Common blocks are grouped at the top to prioritize their display\n\t// in various contexts — like the inserter and auto-complete components.\n\tparagraph,\n\timage,\n\theading,\n\tgallery,\n\tlist,\n\tlistItem,\n\tquote,\n\n\t// Register all remaining core blocks.\n\tshortcode,\n\tarchives,\n\taudio,\n\tbutton,\n\tcalendar,\n\tcategories,\n\tcode,\n\tcolumns,\n\tcolumn,\n\tcover,\n\tembed,\n\tgroup,\n\tfile,\n\thtml,\n\tmediaText,\n\tlatestComments,\n\tlatestPosts,\n\tmissing,\n\tmore,\n\tnextpage,\n\tpreformatted,\n\tpullquote,\n\trss,\n\tsearch,\n\tseparator,\n\treusableBlock,\n\tspacer,\n\ttable,\n\ttagCloud,\n\ttextColumns,\n\tverse,\n\tvideo,\n\tclassic,\n\tbuttons,\n\tsocialLink,\n\tsocialLinks,\n].reduce( ( accumulator, block ) => {\n\taccumulator[ block.name ] = block;\n\treturn accumulator;\n}, {} );\n\n/**\n * Function to register a block variations e.g. social icons different types.\n *\n * @param {Object} block The block which variations will be registered.\n */\nconst registerBlockVariations = ( block ) => {\n\tconst { metadata, settings, name } = block;\n\n\tif ( ! settings.variations ) {\n\t\treturn;\n\t}\n\n\t[ ...settings.variations ]\n\t\t.sort( ( a, b ) => a.title.localeCompare( b.title ) )\n\t\t.forEach( ( v ) => {\n\t\t\tregisterBlockType( `${ name }-${ v.name }`, {\n\t\t\t\t...metadata,\n\t\t\t\tname: `${ name }-${ v.name }`,\n\t\t\t\t...settings,\n\t\t\t\ticon: v.icon(),\n\t\t\t\ttitle: v.title,\n\t\t\t\tvariations: [],\n\t\t\t} );\n\t\t} );\n};\n\n// Only enable code block for development\n// eslint-disable-next-line no-undef\nconst devOnly = ( block ) => ( !! __DEV__ ? block : null );\n\n// eslint-disable-next-line no-unused-vars\nconst iOSOnly = ( block ) =>\n\tPlatform.OS === 'ios' ? block : devOnly( block );\n\n// Hide the Classic block and SocialLink block\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/react-native-editor',\n\t( settings, name ) => {\n\t\tconst hiddenBlocks = [ 'core/freeform', 'core/social-link' ];\n\t\tif (\n\t\t\thiddenBlocks.includes( name ) &&\n\t\t\thasBlockSupport( settings, 'inserter', true )\n\t\t) {\n\t\t\tsettings.supports = {\n\t\t\t\t...settings.supports,\n\t\t\t\tinserter: false,\n\t\t\t};\n\t\t}\n\n\t\treturn settings;\n\t}\n);\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/react-native-editor',\n\t( settings, name ) => {\n\t\tif ( ! settings.transforms ) {\n\t\t\treturn settings;\n\t\t}\n\n\t\tif ( ! settings.transforms.supportedMobileTransforms ) {\n\t\t\treturn {\n\t\t\t\t...settings,\n\t\t\t\ttransforms: {\n\t\t\t\t\t...settings.transforms,\n\t\t\t\t\tsupportedMobileTransforms: transformationCategory( name ),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\treturn settings;\n\t}\n);\n\n/**\n * Function to register core blocks provided by the block editor.\n *\n * @example\n * ```js\n * import { registerCoreBlocks } from '@wordpress/block-library';\n *\n * registerCoreBlocks();\n * ```\n */\nexport const registerCoreBlocks = () => {\n\t// When adding new blocks to this list please also consider updating /src/block-support/supported-blocks.json in the Gutenberg-Mobile repo\n\t[\n\t\tparagraph,\n\t\theading,\n\t\tdevOnly( code ),\n\t\tmissing,\n\t\tmore,\n\t\timage,\n\t\tvideo,\n\t\tnextpage,\n\t\tseparator,\n\t\tlist,\n\t\tlistItem,\n\t\tquote,\n\t\tmediaText,\n\t\tpreformatted,\n\t\tgallery,\n\t\tcolumns,\n\t\tcolumn,\n\t\tgroup,\n\t\tclassic,\n\t\tbutton,\n\t\tspacer,\n\t\tshortcode,\n\t\tbuttons,\n\t\tlatestPosts,\n\t\tverse,\n\t\tcover,\n\t\tsocialLink,\n\t\tsocialLinks,\n\t\tpullquote,\n\t\tfile,\n\t\taudio,\n\t\treusableBlock,\n\t\tsearch,\n\t\tembed,\n\t]\n\t\t.filter( Boolean )\n\t\t.forEach( ( { init } ) => init() );\n\n\tregisterBlockVariations( socialLink );\n\tsetDefaultBlockName( paragraph.name );\n\tsetFreeformContentHandlerName( classic.name );\n\tsetUnregisteredTypeHandlerName( missing.name );\n\tif ( group ) {\n\t\tsetGroupingBlockName( group.name );\n\t}\n};\n\n/**\n * Dictates which block types are considered \"new.\" For each of the block types\n * below, if the native host app does not already have an impression count set,\n * an initial count will be set. When a block type's impression count is greater\n * than 0, a \"new\" badge is displayed on the block type within the block\n * inserter.\n *\n * With the below example, the Audio block will be displayed as \"new\" until its\n * impression count reaches 0, which occurs by various actions decrementing\n * the impression count.\n *\n * {\n * \t[ audio.name ]: 40\n * }\n *\n * @constant {{ string, number }}\n */\nexport const NEW_BLOCK_TYPES = {};\n"],"mappings":"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","ignoreList":[]}