@wordpress/block-library 8.29.0 → 8.31.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 (527) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/audio/edit.js +7 -17
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/audio/edit.native.js.map +1 -1
  5. package/build/avatar/edit.js.map +1 -1
  6. package/build/block/deprecated.js +71 -11
  7. package/build/block/deprecated.js.map +1 -1
  8. package/build/block/edit.js +65 -31
  9. package/build/block/edit.js.map +1 -1
  10. package/build/button/edit.js +2 -2
  11. package/build/button/edit.js.map +1 -1
  12. package/build/buttons/edit.native.js.map +1 -1
  13. package/build/buttons/transforms.js +16 -2
  14. package/build/buttons/transforms.js.map +1 -1
  15. package/build/code/save.js +3 -1
  16. package/build/code/save.js.map +1 -1
  17. package/build/code/transforms.js +17 -6
  18. package/build/code/transforms.js.map +1 -1
  19. package/build/columns/edit.js +3 -2
  20. package/build/columns/edit.js.map +1 -1
  21. package/build/comment-author-avatar/edit.js +1 -1
  22. package/build/comment-author-avatar/edit.js.map +1 -1
  23. package/build/cover/edit/block-controls.js +14 -3
  24. package/build/cover/edit/block-controls.js.map +1 -1
  25. package/build/cover/edit/index.js +2 -1
  26. package/build/cover/edit/index.js.map +1 -1
  27. package/build/cover/edit/inspector-controls.js.map +1 -1
  28. package/build/cover/edit/resizable-cover-popover.js +0 -6
  29. package/build/cover/edit/resizable-cover-popover.js.map +1 -1
  30. package/build/cover/edit.native.js.map +1 -1
  31. package/build/details/edit.js +1 -0
  32. package/build/details/edit.js.map +1 -1
  33. package/build/file/deprecated.js.map +1 -1
  34. package/build/file/edit.js +8 -13
  35. package/build/file/edit.js.map +1 -1
  36. package/build/file/edit.native.js.map +1 -1
  37. package/build/file/save.js.map +1 -1
  38. package/build/form-input/edit.js +1 -1
  39. package/build/form-input/edit.js.map +1 -1
  40. package/build/gallery/edit.js.map +1 -1
  41. package/build/gallery/gallery.native.js.map +1 -1
  42. package/build/gallery/v1/edit.js.map +1 -1
  43. package/build/gallery/v1/gallery.native.js.map +1 -1
  44. package/build/heading/index.js +4 -3
  45. package/build/heading/index.js.map +1 -1
  46. package/build/heading/transforms.js +17 -4
  47. package/build/heading/transforms.js.map +1 -1
  48. package/build/image/edit.js +8 -4
  49. package/build/image/edit.js.map +1 -1
  50. package/build/image/edit.native.js.map +1 -1
  51. package/build/image/image.js +22 -8
  52. package/build/image/image.js.map +1 -1
  53. package/build/latest-posts/edit.native.js.map +1 -1
  54. package/build/list/ordered-list-settings.js +1 -1
  55. package/build/list/ordered-list-settings.js.map +1 -1
  56. package/build/list-item/edit.js +1 -3
  57. package/build/list-item/edit.js.map +1 -1
  58. package/build/list-item/edit.native.js.map +1 -1
  59. package/build/list-item/hooks/index.js +0 -7
  60. package/build/list-item/hooks/index.js.map +1 -1
  61. package/build/list-item/hooks/use-indent-list-item.js +1 -0
  62. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  63. package/build/list-item/hooks/use-outdent-list-item.js +1 -0
  64. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  65. package/build/list-item/hooks/use-space.js +16 -7
  66. package/build/list-item/hooks/use-space.js.map +1 -1
  67. package/build/list-item/index.js +4 -1
  68. package/build/list-item/index.js.map +1 -1
  69. package/build/media-text/edit.js +33 -9
  70. package/build/media-text/edit.js.map +1 -1
  71. package/build/media-text/index.js +5 -0
  72. package/build/media-text/index.js.map +1 -1
  73. package/build/media-text/media-container.js +30 -11
  74. package/build/media-text/media-container.js.map +1 -1
  75. package/build/media-text/media-container.native.js +1 -1
  76. package/build/media-text/media-container.native.js.map +1 -1
  77. package/build/media-text/save.js +2 -2
  78. package/build/media-text/save.js.map +1 -1
  79. package/build/navigation/edit/index.js +23 -29
  80. package/build/navigation/edit/index.js.map +1 -1
  81. package/build/navigation/edit/navigation-menu-delete-control.js +12 -20
  82. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  83. package/build/navigation/edit/navigation-menu-selector.js +24 -23
  84. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  85. package/build/navigation/edit/placeholder/index.js +4 -4
  86. package/build/navigation/edit/placeholder/index.js.map +1 -1
  87. package/build/navigation/use-navigation-menu.js +15 -12
  88. package/build/navigation/use-navigation-menu.js.map +1 -1
  89. package/build/navigation-link/edit.js +12 -10
  90. package/build/navigation-link/edit.js.map +1 -1
  91. package/build/navigation-link/link-ui.js.map +1 -1
  92. package/build/navigation-submenu/edit.js +4 -0
  93. package/build/navigation-submenu/edit.js.map +1 -1
  94. package/build/paragraph/edit.native.js.map +1 -1
  95. package/build/pattern/edit.js +11 -0
  96. package/build/pattern/edit.js.map +1 -1
  97. package/build/post-author/edit.js +1 -0
  98. package/build/post-author/edit.js.map +1 -1
  99. package/build/post-excerpt/edit.js +1 -0
  100. package/build/post-excerpt/edit.js.map +1 -1
  101. package/build/post-featured-image/dimension-controls.js.map +1 -1
  102. package/build/post-featured-image/edit.js +12 -12
  103. package/build/post-featured-image/edit.js.map +1 -1
  104. package/build/post-featured-image/index.js +6 -0
  105. package/build/post-featured-image/index.js.map +1 -1
  106. package/build/post-navigation-link/edit.js +1 -0
  107. package/build/post-navigation-link/edit.js.map +1 -1
  108. package/build/post-terms/edit.js +2 -0
  109. package/build/post-terms/edit.js.map +1 -1
  110. package/build/post-title/edit.js +2 -2
  111. package/build/post-title/edit.js.map +1 -1
  112. package/build/query/edit/pattern-selection-modal.js.map +1 -1
  113. package/build/query/utils.js +7 -5
  114. package/build/query/utils.js.map +1 -1
  115. package/build/query-pagination-next/edit.js.map +1 -1
  116. package/build/query-pagination-previous/edit.js.map +1 -1
  117. package/build/quote/deprecated.js +111 -12
  118. package/build/quote/deprecated.js.map +1 -1
  119. package/build/quote/edit.js +7 -7
  120. package/build/quote/edit.js.map +1 -1
  121. package/build/quote/index.js +1 -1
  122. package/build/quote/index.js.map +1 -1
  123. package/build/quote/save.js +2 -2
  124. package/build/quote/save.js.map +1 -1
  125. package/build/read-more/edit.js +1 -0
  126. package/build/read-more/edit.js.map +1 -1
  127. package/build/search/edit.js +3 -1
  128. package/build/search/edit.js.map +1 -1
  129. package/build/search/edit.native.js +2 -2
  130. package/build/search/edit.native.js.map +1 -1
  131. package/build/site-logo/edit.js +7 -2
  132. package/build/site-logo/edit.js.map +1 -1
  133. package/build/site-title/{edit/index.js → edit.js} +1 -1
  134. package/build/site-title/edit.js.map +1 -0
  135. package/build/social-link/edit.js +1 -1
  136. package/build/social-link/edit.js.map +1 -1
  137. package/build/social-link/icons/medium.js +1 -1
  138. package/build/social-link/icons/medium.js.map +1 -1
  139. package/build/social-link/icons/reddit.js +1 -1
  140. package/build/social-link/icons/reddit.js.map +1 -1
  141. package/build/social-links/edit.native.js.map +1 -1
  142. package/build/spacer/edit.js.map +1 -1
  143. package/build/table/deprecated.js +285 -175
  144. package/build/table/deprecated.js.map +1 -1
  145. package/build/table/index.js +1 -1
  146. package/build/table-of-contents/edit.js.map +1 -1
  147. package/build/template-part/edit/index.js +53 -1
  148. package/build/template-part/edit/index.js.map +1 -1
  149. package/build/template-part/edit/selection-modal.js +2 -8
  150. package/build/template-part/edit/selection-modal.js.map +1 -1
  151. package/build/template-part/edit/utils/map-template-part-to-block-pattern.js +30 -0
  152. package/build/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
  153. package/build/utils/caption.js +15 -5
  154. package/build/utils/caption.js.map +1 -1
  155. package/build/utils/get-transformed-metadata.js +57 -0
  156. package/build/utils/get-transformed-metadata.js.map +1 -0
  157. package/build/utils/hooks.js +55 -4
  158. package/build/utils/hooks.js.map +1 -1
  159. package/build/video/edit-common-settings.js.map +1 -1
  160. package/build/video/edit.js +7 -16
  161. package/build/video/edit.js.map +1 -1
  162. package/build/video/edit.native.js +3 -8
  163. package/build/video/edit.native.js.map +1 -1
  164. package/build-module/audio/edit.js +10 -20
  165. package/build-module/audio/edit.js.map +1 -1
  166. package/build-module/audio/edit.native.js.map +1 -1
  167. package/build-module/avatar/edit.js.map +1 -1
  168. package/build-module/block/deprecated.js +71 -11
  169. package/build-module/block/deprecated.js.map +1 -1
  170. package/build-module/block/edit.js +66 -32
  171. package/build-module/block/edit.js.map +1 -1
  172. package/build-module/button/edit.js +3 -3
  173. package/build-module/button/edit.js.map +1 -1
  174. package/build-module/buttons/edit.native.js.map +1 -1
  175. package/build-module/buttons/transforms.js +16 -2
  176. package/build-module/buttons/transforms.js.map +1 -1
  177. package/build-module/code/save.js +3 -1
  178. package/build-module/code/save.js.map +1 -1
  179. package/build-module/code/transforms.js +17 -6
  180. package/build-module/code/transforms.js.map +1 -1
  181. package/build-module/columns/edit.js +3 -2
  182. package/build-module/columns/edit.js.map +1 -1
  183. package/build-module/comment-author-avatar/edit.js +1 -1
  184. package/build-module/comment-author-avatar/edit.js.map +1 -1
  185. package/build-module/cover/edit/block-controls.js +15 -4
  186. package/build-module/cover/edit/block-controls.js.map +1 -1
  187. package/build-module/cover/edit/index.js +2 -1
  188. package/build-module/cover/edit/index.js.map +1 -1
  189. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  190. package/build-module/cover/edit/resizable-cover-popover.js +1 -7
  191. package/build-module/cover/edit/resizable-cover-popover.js.map +1 -1
  192. package/build-module/cover/edit.native.js.map +1 -1
  193. package/build-module/details/edit.js +1 -0
  194. package/build-module/details/edit.js.map +1 -1
  195. package/build-module/file/deprecated.js.map +1 -1
  196. package/build-module/file/edit.js +9 -14
  197. package/build-module/file/edit.js.map +1 -1
  198. package/build-module/file/edit.native.js.map +1 -1
  199. package/build-module/file/save.js.map +1 -1
  200. package/build-module/form-input/edit.js +1 -1
  201. package/build-module/form-input/edit.js.map +1 -1
  202. package/build-module/gallery/edit.js.map +1 -1
  203. package/build-module/gallery/gallery.native.js.map +1 -1
  204. package/build-module/gallery/v1/edit.js.map +1 -1
  205. package/build-module/gallery/v1/gallery.native.js.map +1 -1
  206. package/build-module/heading/index.js +4 -3
  207. package/build-module/heading/index.js.map +1 -1
  208. package/build-module/heading/transforms.js +17 -4
  209. package/build-module/heading/transforms.js.map +1 -1
  210. package/build-module/image/edit.js +9 -5
  211. package/build-module/image/edit.js.map +1 -1
  212. package/build-module/image/edit.native.js.map +1 -1
  213. package/build-module/image/image.js +23 -9
  214. package/build-module/image/image.js.map +1 -1
  215. package/build-module/latest-posts/edit.native.js.map +1 -1
  216. package/build-module/list/ordered-list-settings.js +1 -1
  217. package/build-module/list/ordered-list-settings.js.map +1 -1
  218. package/build-module/list-item/edit.js +2 -4
  219. package/build-module/list-item/edit.js.map +1 -1
  220. package/build-module/list-item/edit.native.js.map +1 -1
  221. package/build-module/list-item/hooks/index.js +0 -1
  222. package/build-module/list-item/hooks/index.js.map +1 -1
  223. package/build-module/list-item/hooks/use-indent-list-item.js +1 -0
  224. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  225. package/build-module/list-item/hooks/use-outdent-list-item.js +1 -0
  226. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  227. package/build-module/list-item/hooks/use-space.js +17 -8
  228. package/build-module/list-item/hooks/use-space.js.map +1 -1
  229. package/build-module/list-item/index.js +4 -1
  230. package/build-module/list-item/index.js.map +1 -1
  231. package/build-module/media-text/edit.js +34 -10
  232. package/build-module/media-text/edit.js.map +1 -1
  233. package/build-module/media-text/index.js +5 -0
  234. package/build-module/media-text/index.js.map +1 -1
  235. package/build-module/media-text/media-container.js +31 -12
  236. package/build-module/media-text/media-container.js.map +1 -1
  237. package/build-module/media-text/media-container.native.js +1 -1
  238. package/build-module/media-text/media-container.native.js.map +1 -1
  239. package/build-module/media-text/save.js +2 -2
  240. package/build-module/media-text/save.js.map +1 -1
  241. package/build-module/navigation/edit/index.js +24 -30
  242. package/build-module/navigation/edit/index.js.map +1 -1
  243. package/build-module/navigation/edit/navigation-menu-delete-control.js +15 -23
  244. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  245. package/build-module/navigation/edit/navigation-menu-selector.js +24 -23
  246. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  247. package/build-module/navigation/edit/placeholder/index.js +4 -4
  248. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  249. package/build-module/navigation/use-navigation-menu.js +15 -12
  250. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  251. package/build-module/navigation-link/edit.js +13 -11
  252. package/build-module/navigation-link/edit.js.map +1 -1
  253. package/build-module/navigation-link/link-ui.js.map +1 -1
  254. package/build-module/navigation-submenu/edit.js +4 -0
  255. package/build-module/navigation-submenu/edit.js.map +1 -1
  256. package/build-module/paragraph/edit.native.js.map +1 -1
  257. package/build-module/pattern/edit.js +11 -0
  258. package/build-module/pattern/edit.js.map +1 -1
  259. package/build-module/post-author/edit.js +1 -0
  260. package/build-module/post-author/edit.js.map +1 -1
  261. package/build-module/post-excerpt/edit.js +1 -0
  262. package/build-module/post-excerpt/edit.js.map +1 -1
  263. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  264. package/build-module/post-featured-image/edit.js +13 -13
  265. package/build-module/post-featured-image/edit.js.map +1 -1
  266. package/build-module/post-featured-image/index.js +6 -0
  267. package/build-module/post-featured-image/index.js.map +1 -1
  268. package/build-module/post-navigation-link/edit.js +1 -0
  269. package/build-module/post-navigation-link/edit.js.map +1 -1
  270. package/build-module/post-terms/edit.js +2 -0
  271. package/build-module/post-terms/edit.js.map +1 -1
  272. package/build-module/post-title/edit.js +2 -2
  273. package/build-module/post-title/edit.js.map +1 -1
  274. package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
  275. package/build-module/query/utils.js +7 -5
  276. package/build-module/query/utils.js.map +1 -1
  277. package/build-module/query-pagination-next/edit.js.map +1 -1
  278. package/build-module/query-pagination-previous/edit.js.map +1 -1
  279. package/build-module/quote/deprecated.js +112 -13
  280. package/build-module/quote/deprecated.js.map +1 -1
  281. package/build-module/quote/edit.js +7 -7
  282. package/build-module/quote/edit.js.map +1 -1
  283. package/build-module/quote/index.js +1 -1
  284. package/build-module/quote/index.js.map +1 -1
  285. package/build-module/quote/save.js +2 -2
  286. package/build-module/quote/save.js.map +1 -1
  287. package/build-module/read-more/edit.js +1 -0
  288. package/build-module/read-more/edit.js.map +1 -1
  289. package/build-module/search/edit.js +3 -1
  290. package/build-module/search/edit.js.map +1 -1
  291. package/build-module/search/edit.native.js +2 -2
  292. package/build-module/search/edit.native.js.map +1 -1
  293. package/build-module/site-logo/edit.js +7 -2
  294. package/build-module/site-logo/edit.js.map +1 -1
  295. package/build-module/site-title/{edit/index.js → edit.js} +1 -1
  296. package/build-module/site-title/edit.js.map +1 -0
  297. package/build-module/social-link/edit.js +1 -1
  298. package/build-module/social-link/edit.js.map +1 -1
  299. package/build-module/social-link/icons/medium.js +1 -1
  300. package/build-module/social-link/icons/medium.js.map +1 -1
  301. package/build-module/social-link/icons/reddit.js +1 -1
  302. package/build-module/social-link/icons/reddit.js.map +1 -1
  303. package/build-module/social-links/edit.native.js.map +1 -1
  304. package/build-module/spacer/edit.js.map +1 -1
  305. package/build-module/table/deprecated.js +286 -176
  306. package/build-module/table/deprecated.js.map +1 -1
  307. package/build-module/table/index.js +1 -1
  308. package/build-module/table-of-contents/edit.js.map +1 -1
  309. package/build-module/template-part/edit/index.js +57 -5
  310. package/build-module/template-part/edit/index.js.map +1 -1
  311. package/build-module/template-part/edit/selection-modal.js +2 -8
  312. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  313. package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js +24 -0
  314. package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
  315. package/build-module/utils/caption.js +13 -3
  316. package/build-module/utils/caption.js.map +1 -1
  317. package/build-module/utils/get-transformed-metadata.js +51 -0
  318. package/build-module/utils/get-transformed-metadata.js.map +1 -0
  319. package/build-module/utils/hooks.js +54 -3
  320. package/build-module/utils/hooks.js.map +1 -1
  321. package/build-module/video/edit-common-settings.js.map +1 -1
  322. package/build-module/video/edit.js +10 -19
  323. package/build-module/video/edit.js.map +1 -1
  324. package/build-module/video/edit.native.js +3 -8
  325. package/build-module/video/edit.native.js.map +1 -1
  326. package/build-style/common-rtl.css +1 -0
  327. package/build-style/common.css +1 -0
  328. package/build-style/cover/style-rtl.css +2 -1
  329. package/build-style/cover/style.css +2 -1
  330. package/build-style/editor-rtl.css +11 -2
  331. package/build-style/editor.css +11 -2
  332. package/build-style/file/editor-rtl.css +3 -0
  333. package/build-style/file/editor.css +3 -0
  334. package/build-style/group/editor-rtl.css +1 -1
  335. package/build-style/group/editor.css +1 -1
  336. package/build-style/media-text/editor-rtl.css +7 -1
  337. package/build-style/media-text/editor.css +7 -1
  338. package/build-style/search/style-rtl.css +2 -0
  339. package/build-style/search/style.css +2 -0
  340. package/build-style/social-links/style-rtl.css +2 -2
  341. package/build-style/social-links/style.css +2 -2
  342. package/build-style/style-rtl.css +6 -3
  343. package/build-style/style.css +6 -3
  344. package/package.json +34 -34
  345. package/src/archives/index.php +4 -0
  346. package/src/audio/edit.js +9 -19
  347. package/src/audio/edit.native.js +3 -3
  348. package/src/avatar/edit.js +1 -1
  349. package/src/avatar/index.php +6 -0
  350. package/src/block/deprecated.js +76 -11
  351. package/src/block/edit.js +100 -32
  352. package/src/block/index.php +27 -12
  353. package/src/block/test/edit.native.js +67 -0
  354. package/src/button/edit.js +4 -3
  355. package/src/buttons/edit.native.js +1 -1
  356. package/src/buttons/transforms.js +14 -4
  357. package/src/calendar/index.php +17 -0
  358. package/src/categories/index.php +6 -0
  359. package/src/code/save.js +7 -1
  360. package/src/code/transforms.js +20 -5
  361. package/src/columns/edit.js +3 -2
  362. package/src/comment-author-avatar/edit.js +1 -1
  363. package/src/comment-author-name/index.php +4 -0
  364. package/src/comment-content/index.php +4 -0
  365. package/src/comment-date/index.php +4 -0
  366. package/src/comment-edit-link/index.php +4 -0
  367. package/src/comment-reply-link/index.php +4 -0
  368. package/src/comment-template/index.php +4 -0
  369. package/src/comments/index.php +12 -0
  370. package/src/comments-pagination/index.php +4 -0
  371. package/src/comments-pagination-next/index.php +4 -0
  372. package/src/comments-pagination-numbers/index.php +4 -0
  373. package/src/comments-pagination-previous/index.php +4 -0
  374. package/src/comments-title/index.php +4 -0
  375. package/src/cover/edit/block-controls.js +16 -2
  376. package/src/cover/edit/index.js +6 -3
  377. package/src/cover/edit/inspector-controls.js +1 -1
  378. package/src/cover/edit/resizable-cover-popover.js +1 -6
  379. package/src/cover/edit.native.js +1 -1
  380. package/src/cover/index.php +4 -0
  381. package/src/cover/style.scss +3 -2
  382. package/src/details/edit.js +1 -0
  383. package/src/file/deprecated.js +3 -3
  384. package/src/file/edit.js +10 -15
  385. package/src/file/edit.native.js +4 -4
  386. package/src/file/editor.scss +3 -0
  387. package/src/file/index.php +4 -0
  388. package/src/file/save.js +1 -1
  389. package/src/footnotes/index.php +1 -1
  390. package/src/form-input/edit.js +1 -1
  391. package/src/gallery/edit.js +3 -3
  392. package/src/gallery/gallery.native.js +1 -1
  393. package/src/gallery/index.php +6 -0
  394. package/src/gallery/test/index.native.js +1 -1
  395. package/src/gallery/v1/edit.js +2 -2
  396. package/src/gallery/v1/gallery.native.js +1 -1
  397. package/src/group/editor.scss +1 -1
  398. package/src/heading/index.js +4 -3
  399. package/src/heading/index.php +4 -0
  400. package/src/heading/transforms.js +27 -8
  401. package/src/home-link/index.php +10 -0
  402. package/src/image/edit.js +13 -5
  403. package/src/image/edit.native.js +1 -1
  404. package/src/image/editor.scss +1 -0
  405. package/src/image/image.js +34 -22
  406. package/src/image/index.php +12 -1
  407. package/src/latest-comments/index.php +4 -0
  408. package/src/latest-posts/edit.native.js +1 -1
  409. package/src/latest-posts/index.php +8 -0
  410. package/src/list/ordered-list-settings.js +1 -1
  411. package/src/list-item/edit.js +1 -2
  412. package/src/list-item/edit.native.js +1 -1
  413. package/src/list-item/hooks/index.js +0 -1
  414. package/src/list-item/hooks/use-indent-list-item.js +2 -0
  415. package/src/list-item/hooks/use-outdent-list-item.js +2 -0
  416. package/src/list-item/hooks/use-space.js +16 -9
  417. package/src/list-item/index.js +3 -0
  418. package/src/loginout/index.php +4 -0
  419. package/src/media-text/block.json +5 -0
  420. package/src/media-text/edit.js +70 -19
  421. package/src/media-text/editor.scss +7 -1
  422. package/src/media-text/index.php +70 -0
  423. package/src/media-text/media-container.js +49 -9
  424. package/src/media-text/media-container.native.js +5 -3
  425. package/src/media-text/save.js +2 -2
  426. package/src/media-text/test/edit.native.js +58 -0
  427. package/src/missing/test/edit-integration.native.js +2 -1
  428. package/src/navigation/edit/index.js +68 -72
  429. package/src/navigation/edit/navigation-menu-delete-control.js +22 -49
  430. package/src/navigation/edit/navigation-menu-selector.js +39 -21
  431. package/src/navigation/edit/placeholder/index.js +4 -4
  432. package/src/navigation/edit/test/navigation-menu-selector.js +77 -55
  433. package/src/navigation/index.php +118 -34
  434. package/src/navigation/test/use-navigation-menu.js +21 -21
  435. package/src/navigation/use-navigation-menu.js +23 -9
  436. package/src/navigation-link/edit.js +12 -13
  437. package/src/navigation-link/index.php +14 -0
  438. package/src/navigation-link/link-ui.js +2 -2
  439. package/src/navigation-submenu/edit.js +4 -0
  440. package/src/navigation-submenu/index.php +8 -0
  441. package/src/page-list/index.php +12 -0
  442. package/src/page-list-item/index.php +2 -0
  443. package/src/paragraph/edit.native.js +1 -1
  444. package/src/paragraph/test/edit.native.js +36 -0
  445. package/src/pattern/edit.js +14 -0
  446. package/src/pattern/index.php +2 -0
  447. package/src/post-author/edit.js +1 -0
  448. package/src/post-author/index.php +4 -0
  449. package/src/post-author-biography/index.php +4 -0
  450. package/src/post-author-name/index.php +4 -0
  451. package/src/post-comments-form/index.php +6 -0
  452. package/src/post-content/index.php +4 -0
  453. package/src/post-date/index.php +4 -0
  454. package/src/post-excerpt/edit.js +2 -1
  455. package/src/post-excerpt/index.php +4 -0
  456. package/src/post-featured-image/block.json +6 -0
  457. package/src/post-featured-image/dimension-controls.js +4 -4
  458. package/src/post-featured-image/edit.js +14 -12
  459. package/src/post-featured-image/index.php +15 -0
  460. package/src/post-navigation-link/edit.js +2 -1
  461. package/src/post-navigation-link/index.php +4 -0
  462. package/src/post-template/index.php +6 -0
  463. package/src/post-terms/edit.js +2 -0
  464. package/src/post-terms/index.php +6 -0
  465. package/src/post-title/edit.js +49 -43
  466. package/src/post-title/index.php +2 -0
  467. package/src/query/edit/pattern-selection-modal.js +1 -1
  468. package/src/query/index.php +2 -0
  469. package/src/query/utils.js +6 -4
  470. package/src/query-no-results/index.php +4 -0
  471. package/src/query-pagination/index.php +4 -0
  472. package/src/query-pagination-next/edit.js +1 -1
  473. package/src/query-pagination-next/index.php +4 -0
  474. package/src/query-pagination-numbers/index.php +4 -0
  475. package/src/query-pagination-previous/edit.js +1 -1
  476. package/src/query-pagination-previous/index.php +4 -0
  477. package/src/query-title/index.php +4 -0
  478. package/src/quote/block.json +1 -1
  479. package/src/quote/deprecated.js +110 -15
  480. package/src/quote/edit.js +16 -10
  481. package/src/quote/save.js +2 -2
  482. package/src/quote/test/__snapshots__/transforms.native.js.snap +2 -2
  483. package/src/read-more/edit.js +2 -1
  484. package/src/read-more/index.php +4 -0
  485. package/src/rss/index.php +4 -0
  486. package/src/search/edit.js +3 -1
  487. package/src/search/edit.native.js +6 -6
  488. package/src/search/index.php +20 -2
  489. package/src/search/style.scss +2 -0
  490. package/src/shortcode/index.php +4 -0
  491. package/src/site-logo/edit.js +11 -6
  492. package/src/site-logo/index.php +20 -0
  493. package/src/site-tagline/index.php +4 -0
  494. package/src/site-title/index.php +4 -0
  495. package/src/social-link/edit.js +2 -2
  496. package/src/social-link/icons/medium.js +1 -1
  497. package/src/social-link/icons/reddit.js +1 -1
  498. package/src/social-link/index.php +22 -9
  499. package/src/social-link/socials-with-bg.scss +1 -1
  500. package/src/social-link/socials-without-bg.scss +1 -1
  501. package/src/social-links/edit.native.js +1 -1
  502. package/src/spacer/edit.js +1 -1
  503. package/src/table/block.json +1 -1
  504. package/src/table/deprecated.js +308 -175
  505. package/src/table-of-contents/edit.js +1 -1
  506. package/src/tag-cloud/index.php +4 -0
  507. package/src/template-part/edit/index.js +91 -4
  508. package/src/template-part/edit/selection-modal.js +4 -8
  509. package/src/template-part/edit/utils/map-template-part-to-block-pattern.js +23 -0
  510. package/src/template-part/index.php +10 -0
  511. package/src/term-description/index.php +4 -0
  512. package/src/utils/caption.js +10 -1
  513. package/src/utils/get-transformed-metadata.js +65 -0
  514. package/src/utils/hooks.js +53 -3
  515. package/src/video/edit-common-settings.js +1 -1
  516. package/src/video/edit.js +10 -18
  517. package/src/video/edit.native.js +7 -8
  518. package/src/video/test/edit.native.js +0 -14
  519. package/tsconfig.json +1 -0
  520. package/build/list-item/hooks/use-copy.js +0 -39
  521. package/build/list-item/hooks/use-copy.js.map +0 -1
  522. package/build/site-title/edit/index.js.map +0 -1
  523. package/build-module/list-item/hooks/use-copy.js +0 -32
  524. package/build-module/list-item/hooks/use-copy.js.map +0 -1
  525. package/build-module/site-title/edit/index.js.map +0 -1
  526. package/src/list-item/hooks/use-copy.js +0 -38
  527. /package/src/site-title/{edit/index.js → edit.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_compose","require","_components","_blockEditor","_element","_i18n","_blob","_data","_viewport","_primitives","_coreData","_sharedIcon","_shared","_deprecated","_gallery","_interopRequireDefault","_constants","MAX_COLUMNS","linkOptions","value","LINK_DESTINATION_ATTACHMENT","label","__","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","Platform","select","web","native","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","attributes","clientId","isSelected","noticeUI","noticeOperations","onFocus","columns","defaultColumnsNumberV1","imageCrop","images","linkTo","sizeSlug","selectedImage","setSelectedImage","useState","attachmentCaptions","setAttachmentCaptions","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","imageSizes","mediaUpload","getMedia","wasBlockJustInserted","useSelect","settings","getSettings","coreStore","resizedImages","useMemo","_attributes$ids","ids","reduce","currentResizedImages","id","image","sizes","currentSizes","size","defaultUrl","slug","url","mediaDetailsUrl","media_details","source_url","parseInt","onFocusGalleryCaption","setAttributes","newAttrs","Error","map","onSelectImage","index","onDeselectImage","onMove","oldIndex","newIndex","newImages","splice","onMoveForward","length","onMoveBackward","onRemoveImage","filter","img","i","Math","min","selectCaption","newImage","newImageId","toString","currentImage","find","currentImageCaption","caption","attachment","onSelectImages","pickRelevantMediaFiles","onUploadError","message","removeAllNotices","createErrorNotice","setLinkTo","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","setImageAttributes","newAttributes","slice","getImagesSizeOptions","resizedImageSizes","Object","values","some","name","updateImagesSize","newSizeSlug","updatedImages","useEffect","OS","every","isBlobURL","filesList","getBlobByURL","forEach","revokeBlobURL","onFileChange","allowedTypes","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","mediaPlaceholder","_react","createElement","MediaPlaceholder","addToGallery","isAppender","disableMediaButtons","icon","sharedIcon","labels","title","instructions","onSelect","accept","multiple","onError","notices","undefined","autoOpenMediaUpload","blockProps","useBlockProps","View","imageSizeOptions","shouldShowSizeOptions","Fragment","InspectorControls","PanelBody","RangeControl","__nextHasNoMarginBottom","onChange","max","required","ToggleControl","help","SelectControl","options","hideCancelButton","default","onSetImageAttributes","_default","exports","compose","withNotices","withViewportMatch","isNarrow"],"sources":["@wordpress/block-library/src/gallery/v1/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\twithNotices,\n\tRangeControl,\n} from '@wordpress/components';\nimport {\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useState, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from '../shared-icon';\nimport { pickRelevantMediaFiles } from './shared';\nimport { defaultColumnsNumberV1 } from '../deprecated';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{ value: LINK_DESTINATION_NONE, label: __( 'None' ) },\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.select( {\n\tweb: __(\n\t\t'Drag images, upload new ones or select files from your library.'\n\t),\n\tnative: __( 'ADD MEDIA' ),\n} );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.select( {\n\tweb: {},\n\tnative: { type: 'stepper' },\n} );\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tclientId,\n\t\tisSelected,\n\t\tnoticeUI,\n\t\tnoticeOperations,\n\t\tonFocus,\n\t} = props;\n\tconst {\n\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\timageCrop,\n\t\timages,\n\t\tlinkTo,\n\t\tsizeSlug,\n\t} = attributes;\n\tconst [ selectedImage, setSelectedImage ] = useState();\n\tconst [ attachmentCaptions, setAttachmentCaptions ] = useState();\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { imageSizes, mediaUpload, getMedia, wasBlockJustInserted } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\n\t\t\treturn {\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tmediaUpload: settings.mediaUpload,\n\t\t\t\tgetMedia: select( coreStore ).getMedia,\n\t\t\t\twasBlockJustInserted: select(\n\t\t\t\t\tblockEditorStore\n\t\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t\t};\n\t\t} );\n\n\tconst resizedImages = useMemo( () => {\n\t\tif ( isSelected ) {\n\t\t\treturn ( attributes.ids ?? [] ).reduce(\n\t\t\t\t( currentResizedImages, id ) => {\n\t\t\t\t\tif ( ! id ) {\n\t\t\t\t\t\treturn currentResizedImages;\n\t\t\t\t\t}\n\t\t\t\t\tconst image = getMedia( id );\n\t\t\t\t\tconst sizes = imageSizes.reduce( ( currentSizes, size ) => {\n\t\t\t\t\t\tconst defaultUrl = image?.sizes?.[ size.slug ]?.url;\n\t\t\t\t\t\tconst mediaDetailsUrl =\n\t\t\t\t\t\t\timage?.media_details?.sizes?.[ size.slug ]\n\t\t\t\t\t\t\t\t?.source_url;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...currentSizes,\n\t\t\t\t\t\t\t[ size.slug ]: defaultUrl || mediaDetailsUrl,\n\t\t\t\t\t\t};\n\t\t\t\t\t}, {} );\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...currentResizedImages,\n\t\t\t\t\t\t[ parseInt( id, 10 ) ]: sizes,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t}\n\t\treturn {};\n\t}, [ isSelected, attributes.ids, imageSizes ] );\n\n\tfunction onFocusGalleryCaption() {\n\t\tsetSelectedImage();\n\t}\n\n\tfunction setAttributes( newAttrs ) {\n\t\tif ( newAttrs.ids ) {\n\t\t\tthrow new Error(\n\t\t\t\t'The \"ids\" attribute should not be changed directly. It is managed automatically when \"images\" attribute changes'\n\t\t\t);\n\t\t}\n\n\t\tif ( newAttrs.images ) {\n\t\t\tnewAttrs = {\n\t\t\t\t...newAttrs,\n\t\t\t\t// Unlike images[ n ].id which is a string, always ensure the\n\t\t\t\t// ids array contains numbers as per its attribute type.\n\t\t\t\tids: newAttrs.images.map( ( { id } ) => parseInt( id, 10 ) ),\n\t\t\t};\n\t\t}\n\n\t\tprops.setAttributes( newAttrs );\n\t}\n\n\tfunction onSelectImage( index ) {\n\t\treturn () => {\n\t\t\tsetSelectedImage( index );\n\t\t};\n\t}\n\n\tfunction onDeselectImage() {\n\t\treturn () => {\n\t\t\tsetSelectedImage();\n\t\t};\n\t}\n\n\tfunction onMove( oldIndex, newIndex ) {\n\t\tconst newImages = [ ...images ];\n\t\tnewImages.splice( newIndex, 1, images[ oldIndex ] );\n\t\tnewImages.splice( oldIndex, 1, images[ newIndex ] );\n\t\tsetSelectedImage( newIndex );\n\t\tsetAttributes( { images: newImages } );\n\t}\n\n\tfunction onMoveForward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === images.length - 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex + 1 );\n\t\t};\n\t}\n\n\tfunction onMoveBackward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex - 1 );\n\t\t};\n\t}\n\n\tfunction onRemoveImage( index ) {\n\t\treturn () => {\n\t\t\tconst newImages = images.filter( ( img, i ) => index !== i );\n\t\t\tsetSelectedImage();\n\t\t\tsetAttributes( {\n\t\t\t\timages: newImages,\n\t\t\t\tcolumns: attributes.columns\n\t\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t\t: attributes.columns,\n\t\t\t} );\n\t\t};\n\t}\n\n\tfunction selectCaption( newImage ) {\n\t\t// The image id in both the images and attachmentCaptions arrays is a\n\t\t// string, so ensure comparison works correctly by converting the\n\t\t// newImage.id to a string.\n\t\tconst newImageId = newImage.id.toString();\n\t\tconst currentImage = images.find( ( { id } ) => id === newImageId );\n\t\tconst currentImageCaption = currentImage\n\t\t\t? currentImage.caption\n\t\t\t: newImage.caption;\n\n\t\tif ( ! attachmentCaptions ) {\n\t\t\treturn currentImageCaption;\n\t\t}\n\n\t\tconst attachment = attachmentCaptions.find(\n\t\t\t( { id } ) => id === newImageId\n\t\t);\n\n\t\t// If the attachment caption is updated.\n\t\tif ( attachment && attachment.caption !== newImage.caption ) {\n\t\t\treturn newImage.caption;\n\t\t}\n\n\t\treturn currentImageCaption;\n\t}\n\n\tfunction onSelectImages( newImages ) {\n\t\tsetAttachmentCaptions(\n\t\t\tnewImages.map( ( newImage ) => ( {\n\t\t\t\t// Store the attachmentCaption id as a string for consistency\n\t\t\t\t// with the type of the id in the images attribute.\n\t\t\t\tid: newImage.id.toString(),\n\t\t\t\tcaption: newImage.caption,\n\t\t\t} ) )\n\t\t);\n\t\tsetAttributes( {\n\t\t\timages: newImages.map( ( newImage ) => ( {\n\t\t\t\t...pickRelevantMediaFiles( newImage, sizeSlug ),\n\t\t\t\tcaption: selectCaption( newImage, images, attachmentCaptions ),\n\t\t\t\t// The id value is stored in a data attribute, so when the\n\t\t\t\t// block is parsed it's converted to a string. Converting\n\t\t\t\t// to a string here ensures it's type is consistent.\n\t\t\t\tid: newImage.id.toString(),\n\t\t\t} ) ),\n\t\t\tcolumns: attributes.columns\n\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t: attributes.columns,\n\t\t} );\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction getImageCropHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Thumbnails are cropped to align.' )\n\t\t\t: __( 'Thumbnails are not cropped.' );\n\t}\n\n\tfunction setImageAttributes( index, newAttributes ) {\n\t\tif ( ! images[ index ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\timages: [\n\t\t\t\t...images.slice( 0, index ),\n\t\t\t\t{\n\t\t\t\t\t...images[ index ],\n\t\t\t\t\t...newAttributes,\n\t\t\t\t},\n\t\t\t\t...images.slice( index + 1 ),\n\t\t\t],\n\t\t} );\n\t}\n\n\tfunction getImagesSizeOptions() {\n\t\tconst resizedImageSizes = Object.values( resizedImages );\n\t\treturn imageSizes\n\t\t\t.filter( ( { slug } ) =>\n\t\t\t\tresizedImageSizes.some( ( sizes ) => sizes[ slug ] )\n\t\t\t)\n\t\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tconst updatedImages = ( images ?? [] ).map( ( image ) => {\n\t\t\tif ( ! image.id ) {\n\t\t\t\treturn image;\n\t\t\t}\n\t\t\tconst url =\n\t\t\t\tresizedImages[ parseInt( image.id, 10 ) ]?.[ newSizeSlug ];\n\t\t\treturn {\n\t\t\t\t...image,\n\t\t\t\t...( url && { url } ),\n\t\t\t};\n\t\t} );\n\n\t\tsetAttributes( { images: updatedImages, sizeSlug: newSizeSlug } );\n\t}\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tPlatform.OS === 'web' &&\n\t\t\timages &&\n\t\t\timages.length > 0 &&\n\t\t\timages.every( ( { url } ) => isBlobURL( url ) )\n\t\t) {\n\t\t\tconst filesList = images.map( ( { url } ) => getBlobByURL( url ) );\n\t\t\timages.forEach( ( { url } ) => revokeBlobURL( url ) );\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList,\n\t\t\t\tonFileChange: onSelectImages,\n\t\t\t\tallowedTypes: [ 'image' ],\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Deselect images when deselecting the block.\n\t\tif ( ! isSelected ) {\n\t\t\tsetSelectedImage();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing\n\t\t// image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\taddToGallery={ hasImageIds }\n\t\t\tisAppender={ hasImages }\n\t\t\tdisableMediaButtons={ hasImages && ! isSelected }\n\t\t\ticon={ ! hasImages && sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: ! hasImages && __( 'Gallery' ),\n\t\t\t\tinstructions: ! hasImages && PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ onSelectImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tvalue={ hasImageIds ? images : {} }\n\t\t\tonError={ onUploadError }\n\t\t\tnotices={ hasImages ? undefined : noticeUI }\n\t\t\tonFocus={ onFocus }\n\t\t\tautoOpenMediaUpload={\n\t\t\t\t! hasImages && isSelected && wasBlockJustInserted\n\t\t\t}\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps();\n\n\tif ( ! hasImages ) {\n\t\treturn <View { ...blockProps }>{ mediaPlaceholder }</View>;\n\t}\n\n\tconst imageSizeOptions = getImagesSizeOptions();\n\tconst shouldShowSizeOptions = hasImages && imageSizeOptions.length > 0;\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Crop images' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\thelp={ getImageCropHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t{ shouldShowSizeOptions && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ noticeUI }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tselectedImage={ selectedImage }\n\t\t\t\tmediaPlaceholder={ mediaPlaceholder }\n\t\t\t\tonMoveBackward={ onMoveBackward }\n\t\t\t\tonMoveForward={ onMoveForward }\n\t\t\t\tonRemoveImage={ onRemoveImage }\n\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\tonDeselectImage={ onDeselectImage }\n\t\t\t\tonSetImageAttributes={ setImageAttributes }\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\t// This prop is used by gallery.native.js.\n\t\t\t\tonFocusGalleryCaption={ onFocusGalleryCaption }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithNotices,\n\twithViewportMatch( { isNarrow: '< small' } ),\n] )( GalleryEdit );\n"],"mappings":"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"}
1
+ {"version":3,"names":["_compose","require","_components","_blockEditor","_element","_i18n","_blob","_data","_viewport","_primitives","_coreData","_sharedIcon","_shared","_deprecated","_gallery","_interopRequireDefault","_constants","MAX_COLUMNS","linkOptions","value","LINK_DESTINATION_ATTACHMENT","label","__","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","Platform","select","web","native","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","attributes","clientId","isSelected","noticeUI","noticeOperations","onFocus","columns","defaultColumnsNumberV1","imageCrop","images","linkTo","sizeSlug","selectedImage","setSelectedImage","useState","attachmentCaptions","setAttachmentCaptions","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","imageSizes","mediaUpload","getMedia","wasBlockJustInserted","useSelect","settings","getSettings","coreStore","resizedImages","useMemo","_attributes$ids","ids","reduce","currentResizedImages","id","image","sizes","currentSizes","size","defaultUrl","slug","url","mediaDetailsUrl","media_details","source_url","parseInt","onFocusGalleryCaption","setAttributes","newAttrs","Error","map","onSelectImage","index","onDeselectImage","onMove","oldIndex","newIndex","newImages","splice","onMoveForward","length","onMoveBackward","onRemoveImage","filter","img","i","Math","min","selectCaption","newImage","newImageId","toString","currentImage","find","currentImageCaption","caption","attachment","onSelectImages","pickRelevantMediaFiles","onUploadError","message","removeAllNotices","createErrorNotice","setLinkTo","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","setImageAttributes","newAttributes","slice","getImagesSizeOptions","resizedImageSizes","Object","values","some","name","updateImagesSize","newSizeSlug","updatedImages","useEffect","OS","every","isBlobURL","filesList","getBlobByURL","forEach","revokeBlobURL","onFileChange","allowedTypes","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","mediaPlaceholder","_react","createElement","MediaPlaceholder","addToGallery","isAppender","disableMediaButtons","icon","sharedIcon","labels","title","instructions","onSelect","accept","multiple","onError","notices","undefined","autoOpenMediaUpload","blockProps","useBlockProps","View","imageSizeOptions","shouldShowSizeOptions","Fragment","InspectorControls","PanelBody","RangeControl","__nextHasNoMarginBottom","onChange","max","required","ToggleControl","help","SelectControl","options","hideCancelButton","default","onSetImageAttributes","_default","exports","compose","withNotices","withViewportMatch","isNarrow"],"sources":["@wordpress/block-library/src/gallery/v1/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\twithNotices,\n\tRangeControl,\n} from '@wordpress/components';\nimport {\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useState, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from '../shared-icon';\nimport { pickRelevantMediaFiles } from './shared';\nimport { defaultColumnsNumberV1 } from '../deprecated';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{ value: LINK_DESTINATION_NONE, label: __( 'None' ) },\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.select( {\n\tweb: __(\n\t\t'Drag images, upload new ones or select files from your library.'\n\t),\n\tnative: __( 'ADD MEDIA' ),\n} );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.select( {\n\tweb: {},\n\tnative: { type: 'stepper' },\n} );\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tclientId,\n\t\tisSelected,\n\t\tnoticeUI,\n\t\tnoticeOperations,\n\t\tonFocus,\n\t} = props;\n\tconst {\n\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\timageCrop,\n\t\timages,\n\t\tlinkTo,\n\t\tsizeSlug,\n\t} = attributes;\n\tconst [ selectedImage, setSelectedImage ] = useState();\n\tconst [ attachmentCaptions, setAttachmentCaptions ] = useState();\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { imageSizes, mediaUpload, getMedia, wasBlockJustInserted } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\n\t\t\treturn {\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tmediaUpload: settings.mediaUpload,\n\t\t\t\tgetMedia: select( coreStore ).getMedia,\n\t\t\t\twasBlockJustInserted: select(\n\t\t\t\t\tblockEditorStore\n\t\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t\t};\n\t\t} );\n\n\tconst resizedImages = useMemo( () => {\n\t\tif ( isSelected ) {\n\t\t\treturn ( attributes.ids ?? [] ).reduce(\n\t\t\t\t( currentResizedImages, id ) => {\n\t\t\t\t\tif ( ! id ) {\n\t\t\t\t\t\treturn currentResizedImages;\n\t\t\t\t\t}\n\t\t\t\t\tconst image = getMedia( id );\n\t\t\t\t\tconst sizes = imageSizes.reduce( ( currentSizes, size ) => {\n\t\t\t\t\t\tconst defaultUrl = image?.sizes?.[ size.slug ]?.url;\n\t\t\t\t\t\tconst mediaDetailsUrl =\n\t\t\t\t\t\t\timage?.media_details?.sizes?.[ size.slug ]\n\t\t\t\t\t\t\t\t?.source_url;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...currentSizes,\n\t\t\t\t\t\t\t[ size.slug ]: defaultUrl || mediaDetailsUrl,\n\t\t\t\t\t\t};\n\t\t\t\t\t}, {} );\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...currentResizedImages,\n\t\t\t\t\t\t[ parseInt( id, 10 ) ]: sizes,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t}\n\t\treturn {};\n\t}, [ isSelected, attributes.ids, imageSizes ] );\n\n\tfunction onFocusGalleryCaption() {\n\t\tsetSelectedImage();\n\t}\n\n\tfunction setAttributes( newAttrs ) {\n\t\tif ( newAttrs.ids ) {\n\t\t\tthrow new Error(\n\t\t\t\t'The \"ids\" attribute should not be changed directly. It is managed automatically when \"images\" attribute changes'\n\t\t\t);\n\t\t}\n\n\t\tif ( newAttrs.images ) {\n\t\t\tnewAttrs = {\n\t\t\t\t...newAttrs,\n\t\t\t\t// Unlike images[ n ].id which is a string, always ensure the\n\t\t\t\t// ids array contains numbers as per its attribute type.\n\t\t\t\tids: newAttrs.images.map( ( { id } ) => parseInt( id, 10 ) ),\n\t\t\t};\n\t\t}\n\n\t\tprops.setAttributes( newAttrs );\n\t}\n\n\tfunction onSelectImage( index ) {\n\t\treturn () => {\n\t\t\tsetSelectedImage( index );\n\t\t};\n\t}\n\n\tfunction onDeselectImage() {\n\t\treturn () => {\n\t\t\tsetSelectedImage();\n\t\t};\n\t}\n\n\tfunction onMove( oldIndex, newIndex ) {\n\t\tconst newImages = [ ...images ];\n\t\tnewImages.splice( newIndex, 1, images[ oldIndex ] );\n\t\tnewImages.splice( oldIndex, 1, images[ newIndex ] );\n\t\tsetSelectedImage( newIndex );\n\t\tsetAttributes( { images: newImages } );\n\t}\n\n\tfunction onMoveForward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === images.length - 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex + 1 );\n\t\t};\n\t}\n\n\tfunction onMoveBackward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex - 1 );\n\t\t};\n\t}\n\n\tfunction onRemoveImage( index ) {\n\t\treturn () => {\n\t\t\tconst newImages = images.filter( ( img, i ) => index !== i );\n\t\t\tsetSelectedImage();\n\t\t\tsetAttributes( {\n\t\t\t\timages: newImages,\n\t\t\t\tcolumns: attributes.columns\n\t\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t\t: attributes.columns,\n\t\t\t} );\n\t\t};\n\t}\n\n\tfunction selectCaption( newImage ) {\n\t\t// The image id in both the images and attachmentCaptions arrays is a\n\t\t// string, so ensure comparison works correctly by converting the\n\t\t// newImage.id to a string.\n\t\tconst newImageId = newImage.id.toString();\n\t\tconst currentImage = images.find( ( { id } ) => id === newImageId );\n\t\tconst currentImageCaption = currentImage\n\t\t\t? currentImage.caption\n\t\t\t: newImage.caption;\n\n\t\tif ( ! attachmentCaptions ) {\n\t\t\treturn currentImageCaption;\n\t\t}\n\n\t\tconst attachment = attachmentCaptions.find(\n\t\t\t( { id } ) => id === newImageId\n\t\t);\n\n\t\t// If the attachment caption is updated.\n\t\tif ( attachment && attachment.caption !== newImage.caption ) {\n\t\t\treturn newImage.caption;\n\t\t}\n\n\t\treturn currentImageCaption;\n\t}\n\n\tfunction onSelectImages( newImages ) {\n\t\tsetAttachmentCaptions(\n\t\t\tnewImages.map( ( newImage ) => ( {\n\t\t\t\t// Store the attachmentCaption id as a string for consistency\n\t\t\t\t// with the type of the id in the images attribute.\n\t\t\t\tid: newImage.id.toString(),\n\t\t\t\tcaption: newImage.caption,\n\t\t\t} ) )\n\t\t);\n\t\tsetAttributes( {\n\t\t\timages: newImages.map( ( newImage ) => ( {\n\t\t\t\t...pickRelevantMediaFiles( newImage, sizeSlug ),\n\t\t\t\tcaption: selectCaption( newImage, images, attachmentCaptions ),\n\t\t\t\t// The id value is stored in a data attribute, so when the\n\t\t\t\t// block is parsed it's converted to a string. Converting\n\t\t\t\t// to a string here ensures it's type is consistent.\n\t\t\t\tid: newImage.id.toString(),\n\t\t\t} ) ),\n\t\t\tcolumns: attributes.columns\n\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t: attributes.columns,\n\t\t} );\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction getImageCropHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Thumbnails are cropped to align.' )\n\t\t\t: __( 'Thumbnails are not cropped.' );\n\t}\n\n\tfunction setImageAttributes( index, newAttributes ) {\n\t\tif ( ! images[ index ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\timages: [\n\t\t\t\t...images.slice( 0, index ),\n\t\t\t\t{\n\t\t\t\t\t...images[ index ],\n\t\t\t\t\t...newAttributes,\n\t\t\t\t},\n\t\t\t\t...images.slice( index + 1 ),\n\t\t\t],\n\t\t} );\n\t}\n\n\tfunction getImagesSizeOptions() {\n\t\tconst resizedImageSizes = Object.values( resizedImages );\n\t\treturn imageSizes\n\t\t\t.filter( ( { slug } ) =>\n\t\t\t\tresizedImageSizes.some( ( sizes ) => sizes[ slug ] )\n\t\t\t)\n\t\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tconst updatedImages = ( images ?? [] ).map( ( image ) => {\n\t\t\tif ( ! image.id ) {\n\t\t\t\treturn image;\n\t\t\t}\n\t\t\tconst url =\n\t\t\t\tresizedImages[ parseInt( image.id, 10 ) ]?.[ newSizeSlug ];\n\t\t\treturn {\n\t\t\t\t...image,\n\t\t\t\t...( url && { url } ),\n\t\t\t};\n\t\t} );\n\n\t\tsetAttributes( { images: updatedImages, sizeSlug: newSizeSlug } );\n\t}\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tPlatform.OS === 'web' &&\n\t\t\timages &&\n\t\t\timages.length > 0 &&\n\t\t\timages.every( ( { url } ) => isBlobURL( url ) )\n\t\t) {\n\t\t\tconst filesList = images.map( ( { url } ) => getBlobByURL( url ) );\n\t\t\timages.forEach( ( { url } ) => revokeBlobURL( url ) );\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList,\n\t\t\t\tonFileChange: onSelectImages,\n\t\t\t\tallowedTypes: [ 'image' ],\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Deselect images when deselecting the block.\n\t\tif ( ! isSelected ) {\n\t\t\tsetSelectedImage();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing\n\t\t// image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\taddToGallery={ hasImageIds }\n\t\t\tisAppender={ hasImages }\n\t\t\tdisableMediaButtons={ hasImages && ! isSelected }\n\t\t\ticon={ ! hasImages && sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: ! hasImages && __( 'Gallery' ),\n\t\t\t\tinstructions: ! hasImages && PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ onSelectImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tvalue={ hasImageIds ? images : {} }\n\t\t\tonError={ onUploadError }\n\t\t\tnotices={ hasImages ? undefined : noticeUI }\n\t\t\tonFocus={ onFocus }\n\t\t\tautoOpenMediaUpload={\n\t\t\t\t! hasImages && isSelected && wasBlockJustInserted\n\t\t\t}\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps();\n\n\tif ( ! hasImages ) {\n\t\treturn <View { ...blockProps }>{ mediaPlaceholder }</View>;\n\t}\n\n\tconst imageSizeOptions = getImagesSizeOptions();\n\tconst shouldShowSizeOptions = hasImages && imageSizeOptions.length > 0;\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Crop images' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\thelp={ getImageCropHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t/>\n\t\t\t\t\t{ shouldShowSizeOptions && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ noticeUI }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tselectedImage={ selectedImage }\n\t\t\t\tmediaPlaceholder={ mediaPlaceholder }\n\t\t\t\tonMoveBackward={ onMoveBackward }\n\t\t\t\tonMoveForward={ onMoveForward }\n\t\t\t\tonRemoveImage={ onRemoveImage }\n\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\tonDeselectImage={ onDeselectImage }\n\t\t\t\tonSetImageAttributes={ setImageAttributes }\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\t// This prop is used by gallery.native.js.\n\t\t\t\tonFocusGalleryCaption={ onFocusGalleryCaption }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithNotices,\n\twithViewportMatch( { isNarrow: '< small' } ),\n] )( GalleryEdit );\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_galleryImage","_interopRequireDefault","_deprecated","_galleryStyles","_tiles","_i18n","_blockEditor","_element","_reactNativeBridge","_data","_components","TILE_SPACING","MAX_DISPLAYED_COLUMNS","MAX_DISPLAYED_COLUMNS_NARROW","isFullWidth","alignmentHelpers","Gallery","props","isCaptionSelected","setIsCaptionSelected","useState","useEffect","mediaUploadSync","isRTL","useSelect","select","blockEditorStore","getSettings","clientId","selectedImage","mediaPlaceholder","onBlur","onMoveBackward","onMoveForward","onRemoveImage","onSelectImage","onSetImageAttributes","onFocusGalleryCaption","attributes","isSelected","isNarrow","onFocus","insertBlocksAfter","align","columns","defaultColumnsNumberV1","imageCrop","images","displayedColumns","Math","min","selectImage","index","focusGalleryCaption","_react","createElement","View","style","flex","default","spacing","styles","galleryTilesContainerSelected","undefined","map","img","ariaLabel","sprintf","__","length","key","id","url","alt","parseInt","isCropped","isFirstItem","isLastItem","isBlockSelected","onRemove","onSelect","onSelectBlock","setAttributes","attrs","caption","fullWidth","BlockCaption","accessible","accessibilityLabelCreator","RichText","isEmpty","exports","_default"],"sources":["@wordpress/block-library/src/gallery/v1/gallery.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * Internal dependencies\n */\nimport GalleryImage from './gallery-image';\nimport { defaultColumnsNumberV1 } from '../deprecated';\nimport styles from './gallery-styles.scss';\nimport Tiles from './tiles';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tBlockCaption,\n\tRichText,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useState, useEffect } from '@wordpress/element';\nimport { mediaUploadSync } from '@wordpress/react-native-bridge';\nimport { useSelect } from '@wordpress/data';\nimport { alignmentHelpers } from '@wordpress/components';\n\nconst TILE_SPACING = 15;\n\n// we must limit displayed columns since readable content max-width is 580px\nconst MAX_DISPLAYED_COLUMNS = 4;\nconst MAX_DISPLAYED_COLUMNS_NARROW = 2;\n\nconst { isFullWidth } = alignmentHelpers;\n\nexport const Gallery = ( props ) => {\n\tconst [ isCaptionSelected, setIsCaptionSelected ] = useState( false );\n\tuseEffect( mediaUploadSync, [] );\n\n\tconst isRTL = useSelect( ( select ) => {\n\t\treturn !! select( blockEditorStore ).getSettings().isRTL;\n\t}, [] );\n\n\tconst {\n\t\tclientId,\n\t\tselectedImage,\n\t\tmediaPlaceholder,\n\t\tonBlur,\n\t\tonMoveBackward,\n\t\tonMoveForward,\n\t\tonRemoveImage,\n\t\tonSelectImage,\n\t\tonSetImageAttributes,\n\t\tonFocusGalleryCaption,\n\t\tattributes,\n\t\tisSelected,\n\t\tisNarrow,\n\t\tonFocus,\n\t\tinsertBlocksAfter,\n\t} = props;\n\n\tconst {\n\t\talign,\n\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\timageCrop,\n\t\timages,\n\t} = attributes;\n\n\t// limit displayed columns when isNarrow is true (i.e. when viewport width is\n\t// less than \"small\", where small = 600)\n\tconst displayedColumns = isNarrow\n\t\t? Math.min( columns, MAX_DISPLAYED_COLUMNS_NARROW )\n\t\t: Math.min( columns, MAX_DISPLAYED_COLUMNS );\n\n\tconst selectImage = ( index ) => {\n\t\treturn () => {\n\t\t\tif ( isCaptionSelected ) {\n\t\t\t\tsetIsCaptionSelected( false );\n\t\t\t}\n\t\t\t// We need to fully invoke the curried function here.\n\t\t\tonSelectImage( index )();\n\t\t};\n\t};\n\n\tconst focusGalleryCaption = () => {\n\t\tif ( ! isCaptionSelected ) {\n\t\t\tsetIsCaptionSelected( true );\n\t\t}\n\t\tonFocusGalleryCaption();\n\t};\n\n\treturn (\n\t\t<View style={ { flex: 1 } }>\n\t\t\t<Tiles\n\t\t\t\tcolumns={ displayedColumns }\n\t\t\t\tspacing={ TILE_SPACING }\n\t\t\t\tstyle={\n\t\t\t\t\tisSelected\n\t\t\t\t\t\t? styles.galleryTilesContainerSelected\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ images.map( ( img, index ) => {\n\t\t\t\t\tconst ariaLabel = sprintf(\n\t\t\t\t\t\t/* translators: 1: the order number of the image. 2: the total number of images. */\n\t\t\t\t\t\t__( 'image %1$d of %2$d in gallery' ),\n\t\t\t\t\t\tindex + 1,\n\t\t\t\t\t\timages.length\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<GalleryImage\n\t\t\t\t\t\t\tkey={ img.id ? `${ img.id }-${ index }` : img.url }\n\t\t\t\t\t\t\turl={ img.url }\n\t\t\t\t\t\t\talt={ img.alt }\n\t\t\t\t\t\t\tid={ parseInt( img.id, 10 ) } // make id an integer explicitly\n\t\t\t\t\t\t\tisCropped={ imageCrop }\n\t\t\t\t\t\t\tisFirstItem={ index === 0 }\n\t\t\t\t\t\t\tisLastItem={ index + 1 === images.length }\n\t\t\t\t\t\t\tisSelected={ isSelected && selectedImage === index }\n\t\t\t\t\t\t\tisBlockSelected={ isSelected }\n\t\t\t\t\t\t\tonMoveBackward={ onMoveBackward( index ) }\n\t\t\t\t\t\t\tonMoveForward={ onMoveForward( index ) }\n\t\t\t\t\t\t\tonRemove={ onRemoveImage( index ) }\n\t\t\t\t\t\t\tonSelect={ selectImage( index ) }\n\t\t\t\t\t\t\tonSelectBlock={ onFocus }\n\t\t\t\t\t\t\tsetAttributes={ ( attrs ) =>\n\t\t\t\t\t\t\t\tonSetImageAttributes( index, attrs )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcaption={ img.caption }\n\t\t\t\t\t\t\taria-label={ ariaLabel }\n\t\t\t\t\t\t\tisRTL={ isRTL }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</Tiles>\n\t\t\t<View style={ isFullWidth( align ) && styles.fullWidth }>\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t\t<BlockCaption\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisSelected={ isCaptionSelected }\n\t\t\t\taccessible={ true }\n\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\tRichText.isEmpty( caption )\n\t\t\t\t\t\t? /* translators: accessibility text. Empty gallery caption. */\n\t\t\t\t\t\t 'Gallery caption. Empty'\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: gallery caption. */\n\t\t\t\t\t\t\t\t__( 'Gallery caption. %s' ),\n\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t )\n\t\t\t\t}\n\t\t\t\tonFocus={ focusGalleryCaption }\n\t\t\t\tonBlur={ onBlur } // Always assign onBlur as props.\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default Gallery;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_galleryImage","_interopRequireDefault","_deprecated","_galleryStyles","_tiles","_i18n","_blockEditor","_element","_reactNativeBridge","_data","_components","TILE_SPACING","MAX_DISPLAYED_COLUMNS","MAX_DISPLAYED_COLUMNS_NARROW","isFullWidth","alignmentHelpers","Gallery","props","isCaptionSelected","setIsCaptionSelected","useState","useEffect","mediaUploadSync","isRTL","useSelect","select","blockEditorStore","getSettings","clientId","selectedImage","mediaPlaceholder","onBlur","onMoveBackward","onMoveForward","onRemoveImage","onSelectImage","onSetImageAttributes","onFocusGalleryCaption","attributes","isSelected","isNarrow","onFocus","insertBlocksAfter","align","columns","defaultColumnsNumberV1","imageCrop","images","displayedColumns","Math","min","selectImage","index","focusGalleryCaption","_react","createElement","View","style","flex","default","spacing","styles","galleryTilesContainerSelected","undefined","map","img","ariaLabel","sprintf","__","length","key","id","url","alt","parseInt","isCropped","isFirstItem","isLastItem","isBlockSelected","onRemove","onSelect","onSelectBlock","setAttributes","attrs","caption","fullWidth","BlockCaption","accessible","accessibilityLabelCreator","RichText","isEmpty","exports","_default"],"sources":["@wordpress/block-library/src/gallery/v1/gallery.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * Internal dependencies\n */\nimport GalleryImage from './gallery-image';\nimport { defaultColumnsNumberV1 } from '../deprecated';\nimport styles from './gallery-styles.scss';\nimport Tiles from './tiles';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tBlockCaption,\n\tRichText,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useState, useEffect } from '@wordpress/element';\nimport { mediaUploadSync } from '@wordpress/react-native-bridge';\nimport { useSelect } from '@wordpress/data';\nimport { alignmentHelpers } from '@wordpress/components';\n\nconst TILE_SPACING = 15;\n\n// we must limit displayed columns since readable content max-width is 580px\nconst MAX_DISPLAYED_COLUMNS = 4;\nconst MAX_DISPLAYED_COLUMNS_NARROW = 2;\n\nconst { isFullWidth } = alignmentHelpers;\n\nexport const Gallery = ( props ) => {\n\tconst [ isCaptionSelected, setIsCaptionSelected ] = useState( false );\n\tuseEffect( mediaUploadSync, [] );\n\n\tconst isRTL = useSelect( ( select ) => {\n\t\treturn !! select( blockEditorStore ).getSettings().isRTL;\n\t}, [] );\n\n\tconst {\n\t\tclientId,\n\t\tselectedImage,\n\t\tmediaPlaceholder,\n\t\tonBlur,\n\t\tonMoveBackward,\n\t\tonMoveForward,\n\t\tonRemoveImage,\n\t\tonSelectImage,\n\t\tonSetImageAttributes,\n\t\tonFocusGalleryCaption,\n\t\tattributes,\n\t\tisSelected,\n\t\tisNarrow,\n\t\tonFocus,\n\t\tinsertBlocksAfter,\n\t} = props;\n\n\tconst {\n\t\talign,\n\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\timageCrop,\n\t\timages,\n\t} = attributes;\n\n\t// limit displayed columns when isNarrow is true (i.e. when viewport width is\n\t// less than \"small\", where small = 600)\n\tconst displayedColumns = isNarrow\n\t\t? Math.min( columns, MAX_DISPLAYED_COLUMNS_NARROW )\n\t\t: Math.min( columns, MAX_DISPLAYED_COLUMNS );\n\n\tconst selectImage = ( index ) => {\n\t\treturn () => {\n\t\t\tif ( isCaptionSelected ) {\n\t\t\t\tsetIsCaptionSelected( false );\n\t\t\t}\n\t\t\t// We need to fully invoke the curried function here.\n\t\t\tonSelectImage( index )();\n\t\t};\n\t};\n\n\tconst focusGalleryCaption = () => {\n\t\tif ( ! isCaptionSelected ) {\n\t\t\tsetIsCaptionSelected( true );\n\t\t}\n\t\tonFocusGalleryCaption();\n\t};\n\n\treturn (\n\t\t<View style={ { flex: 1 } }>\n\t\t\t<Tiles\n\t\t\t\tcolumns={ displayedColumns }\n\t\t\t\tspacing={ TILE_SPACING }\n\t\t\t\tstyle={\n\t\t\t\t\tisSelected\n\t\t\t\t\t\t? styles.galleryTilesContainerSelected\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ images.map( ( img, index ) => {\n\t\t\t\t\tconst ariaLabel = sprintf(\n\t\t\t\t\t\t/* translators: 1: the order number of the image. 2: the total number of images. */\n\t\t\t\t\t\t__( 'image %1$d of %2$d in gallery' ),\n\t\t\t\t\t\tindex + 1,\n\t\t\t\t\t\timages.length\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<GalleryImage\n\t\t\t\t\t\t\tkey={ img.id ? `${ img.id }-${ index }` : img.url }\n\t\t\t\t\t\t\turl={ img.url }\n\t\t\t\t\t\t\talt={ img.alt }\n\t\t\t\t\t\t\tid={ parseInt( img.id, 10 ) } // make id an integer explicitly\n\t\t\t\t\t\t\tisCropped={ imageCrop }\n\t\t\t\t\t\t\tisFirstItem={ index === 0 }\n\t\t\t\t\t\t\tisLastItem={ index + 1 === images.length }\n\t\t\t\t\t\t\tisSelected={ isSelected && selectedImage === index }\n\t\t\t\t\t\t\tisBlockSelected={ isSelected }\n\t\t\t\t\t\t\tonMoveBackward={ onMoveBackward( index ) }\n\t\t\t\t\t\t\tonMoveForward={ onMoveForward( index ) }\n\t\t\t\t\t\t\tonRemove={ onRemoveImage( index ) }\n\t\t\t\t\t\t\tonSelect={ selectImage( index ) }\n\t\t\t\t\t\t\tonSelectBlock={ onFocus }\n\t\t\t\t\t\t\tsetAttributes={ ( attrs ) =>\n\t\t\t\t\t\t\t\tonSetImageAttributes( index, attrs )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcaption={ img.caption }\n\t\t\t\t\t\t\taria-label={ ariaLabel }\n\t\t\t\t\t\t\tisRTL={ isRTL }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</Tiles>\n\t\t\t<View style={ isFullWidth( align ) && styles.fullWidth }>\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t\t<BlockCaption\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisSelected={ isCaptionSelected }\n\t\t\t\taccessible\n\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\tRichText.isEmpty( caption )\n\t\t\t\t\t\t? /* translators: accessibility text. Empty gallery caption. */\n\t\t\t\t\t\t 'Gallery caption. Empty'\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: gallery caption. */\n\t\t\t\t\t\t\t\t__( 'Gallery caption. %s' ),\n\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t )\n\t\t\t\t}\n\t\t\t\tonFocus={ focusGalleryCaption }\n\t\t\t\tonBlur={ onBlur } // Always assign onBlur as props.\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default Gallery;\n"],"mappings":"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"}
@@ -108,14 +108,15 @@ const settings = exports.settings = {
108
108
  level
109
109
  } = attributes;
110
110
  const customName = attributes?.metadata?.name;
111
+ const hasContent = content?.trim().length > 0;
111
112
 
112
113
  // In the list view, use the block's content as the label.
113
114
  // If the content is empty, fall back to the default label.
114
- if (context === 'list-view' && (customName || content)) {
115
- return attributes?.metadata?.name || content;
115
+ if (context === 'list-view' && (customName || hasContent)) {
116
+ return customName || content;
116
117
  }
117
118
  if (context === 'accessibility') {
118
- return !content || content.length === 0 ? (0, _i18n.sprintf)( /* translators: accessibility text. %s: heading level. */
119
+ return !hasContent ? (0, _i18n.sprintf)( /* translators: accessibility text. %s: heading level. */
119
120
  (0, _i18n.__)('Level %s. Empty.'), level) : (0, _i18n.sprintf)( /* translators: accessibility text. 1: heading level. 2: heading content. */
120
121
  (0, _i18n.__)('Level %1$s. %2$s'), level, content);
121
122
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_icons","require","_i18n","_initBlock","_interopRequireDefault","_deprecated","_edit","_save","_transforms","metadata","exports","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","textAlign","type","content","source","selector","__experimentalRole","level","placeholder","supports","align","anchor","className","color","gradients","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalTextDecoration","__experimentalWritingMode","__unstablePasteTextInline","__experimentalSlashInserter","interactivity","clientNavigation","editorStyle","style","settings","icon","example","__","__experimentalLabel","context","customName","length","sprintf","transforms","deprecated","merge","attributesToMerge","edit","save","init","initBlock"],"sources":["@wordpress/block-library/src/heading/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { heading as icon } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcontent: __( 'Code is Poetry' ),\n\t\t\tlevel: 2,\n\t\t},\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst { content, level } = attributes;\n\n\t\tconst customName = attributes?.metadata?.name;\n\n\t\t// In the list view, use the block's content as the label.\n\t\t// If the content is empty, fall back to the default label.\n\t\tif ( context === 'list-view' && ( customName || content ) ) {\n\t\t\treturn attributes?.metadata?.name || content;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\treturn ! content || content.length === 0\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. %s: heading level. */\n\t\t\t\t\t\t__( 'Level %s. Empty.' ),\n\t\t\t\t\t\tlevel\n\t\t\t\t )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. 1: heading level. 2: heading content. */\n\t\t\t\t\t\t__( 'Level %1$s. %2$s' ),\n\t\t\t\t\t\tlevel,\n\t\t\t\t\t\tcontent\n\t\t\t\t );\n\t\t}\n\t},\n\ttransforms,\n\tdeprecated,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\tcontent:\n\t\t\t\t( attributes.content || '' ) +\n\t\t\t\t( attributesToMerge.content || '' ),\n\t\t};\n\t},\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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"}
1
+ {"version":3,"names":["_icons","require","_i18n","_initBlock","_interopRequireDefault","_deprecated","_edit","_save","_transforms","metadata","exports","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","textAlign","type","content","source","selector","__experimentalRole","level","placeholder","supports","align","anchor","className","color","gradients","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalTextDecoration","__experimentalWritingMode","__unstablePasteTextInline","__experimentalSlashInserter","interactivity","clientNavigation","editorStyle","style","settings","icon","example","__","__experimentalLabel","context","customName","hasContent","trim","length","sprintf","transforms","deprecated","merge","attributesToMerge","edit","save","init","initBlock"],"sources":["@wordpress/block-library/src/heading/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { heading as icon } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcontent: __( 'Code is Poetry' ),\n\t\t\tlevel: 2,\n\t\t},\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst { content, level } = attributes;\n\n\t\tconst customName = attributes?.metadata?.name;\n\t\tconst hasContent = content?.trim().length > 0;\n\n\t\t// In the list view, use the block's content as the label.\n\t\t// If the content is empty, fall back to the default label.\n\t\tif ( context === 'list-view' && ( customName || hasContent ) ) {\n\t\t\treturn customName || content;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\treturn ! hasContent\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. %s: heading level. */\n\t\t\t\t\t\t__( 'Level %s. Empty.' ),\n\t\t\t\t\t\tlevel\n\t\t\t\t )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. 1: heading level. 2: heading content. */\n\t\t\t\t\t\t__( 'Level %1$s. %2$s' ),\n\t\t\t\t\t\tlevel,\n\t\t\t\t\t\tcontent\n\t\t\t\t );\n\t\t}\n\t},\n\ttransforms,\n\tdeprecated,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\tcontent:\n\t\t\t\t( attributes.content || '' ) +\n\t\t\t\t( attributesToMerge.content || '' ),\n\t\t};\n\t},\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,WAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,KAAA,GAAAF,sBAAA,CAAAH,OAAA;AAEA,IAAAM,KAAA,GAAAH,sBAAA,CAAAH,OAAA;AACA,IAAAO,WAAA,GAAAJ,sBAAA,CAAAH,OAAA;AAdA;AACA;AACA;AAIA;AACA;AACA;AAFA,MAAAQ,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,SAAA;MAAAC,IAAA;IAAA;IAAAC,OAAA;MAAAD,IAAA;MAAAE,MAAA;MAAAC,QAAA;MAAAC,kBAAA;IAAA;IAAAC,KAAA;MAAAL,IAAA;MAAA;IAAA;IAAAM,WAAA;MAAAN,IAAA;IAAA;EAAA;EAAAO,QAAA;IAAAC,KAAA;IAAAC,MAAA;IAAAC,SAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;MAAA;IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAL,6BAAA;QAAAI,MAAA;QAAAC,OAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,wBAAA;MAAAC,2BAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,yBAAA;MAAAf,6BAAA;QAAAO,QAAA;MAAA;IAAA;IAAAS,yBAAA;IAAAC,2BAAA;IAAAC,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,WAAA;EAAAC,KAAA;AAAA;AAUA,MAAM;EAAE3C;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAInB,MAAM4C,QAAQ,GAAA/C,OAAA,CAAA+C,QAAA,GAAG;EACvBC,IAAI,EAAJA,cAAI;EACJC,OAAO,EAAE;IACRxC,UAAU,EAAE;MACXG,OAAO,EAAE,IAAAsC,QAAE,EAAE,gBAAiB,CAAC;MAC/BlC,KAAK,EAAE;IACR;EACD,CAAC;EACDmC,mBAAmBA,CAAE1C,UAAU,EAAE;IAAE2C;EAAQ,CAAC,EAAG;IAC9C,MAAM;MAAExC,OAAO;MAAEI;IAAM,CAAC,GAAGP,UAAU;IAErC,MAAM4C,UAAU,GAAG5C,UAAU,EAAEV,QAAQ,EAAEI,IAAI;IAC7C,MAAMmD,UAAU,GAAG1C,OAAO,EAAE2C,IAAI,CAAC,CAAC,CAACC,MAAM,GAAG,CAAC;;IAE7C;IACA;IACA,IAAKJ,OAAO,KAAK,WAAW,KAAMC,UAAU,IAAIC,UAAU,CAAE,EAAG;MAC9D,OAAOD,UAAU,IAAIzC,OAAO;IAC7B;IAEA,IAAKwC,OAAO,KAAK,eAAe,EAAG;MAClC,OAAO,CAAEE,UAAU,GAChB,IAAAG,aAAO,GACP;MACA,IAAAP,QAAE,EAAE,kBAAmB,CAAC,EACxBlC,KACA,CAAC,GACD,IAAAyC,aAAO,GACP;MACA,IAAAP,QAAE,EAAE,kBAAmB,CAAC,EACxBlC,KAAK,EACLJ,OACA,CAAC;IACL;EACD,CAAC;EACD8C,UAAU,EAAVA,mBAAU;EACVC,UAAU,EAAVA,mBAAU;EACVC,KAAKA,CAAEnD,UAAU,EAAEoD,iBAAiB,EAAG;IACtC,OAAO;MACNjD,OAAO,EACN,CAAEH,UAAU,CAACG,OAAO,IAAI,EAAE,KACxBiD,iBAAiB,CAACjD,OAAO,IAAI,EAAE;IACnC,CAAC;EACF,CAAC;EACDkD,IAAI,EAAJA,aAAI;EACJC,IAAI,EAAJA;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAE9D,IAAI;EAAEJ,QAAQ;EAAEgD;AAAS,CAAE,CAAC;AAAC/C,OAAA,CAAAgE,IAAA,GAAAA,IAAA"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _blocks = require("@wordpress/blocks");
8
8
  var _shared = require("./shared");
9
+ var _getTransformedMetadata = require("../utils/get-transformed-metadata");
9
10
  /**
10
11
  * WordPress dependencies
11
12
  */
@@ -22,11 +23,17 @@ const transforms = {
22
23
  transform: attributes => attributes.map(({
23
24
  content,
24
25
  anchor,
25
- align: textAlign
26
+ align: textAlign,
27
+ metadata
26
28
  }) => (0, _blocks.createBlock)('core/heading', {
27
29
  content,
28
30
  anchor,
29
- textAlign
31
+ textAlign,
32
+ metadata: (0, _getTransformedMetadata.getTransformedMetadata)(metadata, 'core/heading', ({
33
+ content: contentBinding
34
+ }) => ({
35
+ content: contentBinding
36
+ }))
30
37
  }))
31
38
  }, {
32
39
  type: 'raw',
@@ -81,10 +88,16 @@ const transforms = {
81
88
  blocks: ['core/paragraph'],
82
89
  transform: attributes => attributes.map(({
83
90
  content,
84
- textAlign: align
91
+ textAlign: align,
92
+ metadata
85
93
  }) => (0, _blocks.createBlock)('core/paragraph', {
86
94
  content,
87
- align
95
+ align,
96
+ metadata: (0, _getTransformedMetadata.getTransformedMetadata)(metadata, 'core/paragraph', ({
97
+ content: contentBinding
98
+ }) => ({
99
+ content: contentBinding
100
+ }))
88
101
  }))
89
102
  }]
90
103
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_blocks","require","_shared","transforms","from","type","isMultiBlock","blocks","transform","attributes","map","content","anchor","align","textAlign","createBlock","selector","schema","phrasingContentSchema","isPaste","children","h1","h2","h3","h4","h5","h6","node","getBlockAttributes","outerHTML","style","level","getLevelFromHeadingNodeName","nodeName","prefix","Array","join","regExp","RegExp","to","_default","exports","default"],"sources":["@wordpress/block-library/src/heading/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, getBlockAttributes } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { getLevelFromHeadingNodeName } from './shared';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( attributes ) =>\n\t\t\t\tattributes.map( ( { content, anchor, align: textAlign } ) =>\n\t\t\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\t\t\tcontent,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t\ttextAlign,\n\t\t\t\t\t} )\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tselector: 'h1,h2,h3,h4,h5,h6',\n\t\t\tschema: ( { phrasingContentSchema, isPaste } ) => {\n\t\t\t\tconst schema = {\n\t\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t\t\tattributes: isPaste ? [] : [ 'style', 'id' ],\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\th1: schema,\n\t\t\t\t\th2: schema,\n\t\t\t\t\th3: schema,\n\t\t\t\t\th4: schema,\n\t\t\t\t\th5: schema,\n\t\t\t\t\th6: schema,\n\t\t\t\t};\n\t\t\t},\n\t\t\ttransform( node ) {\n\t\t\t\tconst attributes = getBlockAttributes(\n\t\t\t\t\t'core/heading',\n\t\t\t\t\tnode.outerHTML\n\t\t\t\t);\n\t\t\t\tconst { textAlign } = node.style || {};\n\n\t\t\t\tattributes.level = getLevelFromHeadingNodeName( node.nodeName );\n\n\t\t\t\tif (\n\t\t\t\t\ttextAlign === 'left' ||\n\t\t\t\t\ttextAlign === 'center' ||\n\t\t\t\t\ttextAlign === 'right'\n\t\t\t\t) {\n\t\t\t\t\tattributes.align = textAlign;\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( 'core/heading', attributes );\n\t\t\t},\n\t\t},\n\t\t...[ 1, 2, 3, 4, 5, 6 ].map( ( level ) => ( {\n\t\t\ttype: 'prefix',\n\t\t\tprefix: Array( level + 1 ).join( '#' ),\n\t\t\ttransform( content ) {\n\t\t\t\treturn createBlock( 'core/heading', {\n\t\t\t\t\tlevel,\n\t\t\t\t\tcontent,\n\t\t\t\t} );\n\t\t\t},\n\t\t} ) ),\n\t\t...[ 1, 2, 3, 4, 5, 6 ].map( ( level ) => ( {\n\t\t\ttype: 'enter',\n\t\t\tregExp: new RegExp( `^/(h|H)${ level }$` ),\n\t\t\ttransform: () => createBlock( 'core/heading', { level } ),\n\t\t} ) ),\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( attributes ) =>\n\t\t\t\tattributes.map( ( { content, textAlign: align } ) =>\n\t\t\t\t\tcreateBlock( 'core/paragraph', { content, align } )\n\t\t\t\t),\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_blocks","require","_shared","_getTransformedMetadata","transforms","from","type","isMultiBlock","blocks","transform","attributes","map","content","anchor","align","textAlign","metadata","createBlock","getTransformedMetadata","contentBinding","selector","schema","phrasingContentSchema","isPaste","children","h1","h2","h3","h4","h5","h6","node","getBlockAttributes","outerHTML","style","level","getLevelFromHeadingNodeName","nodeName","prefix","Array","join","regExp","RegExp","to","_default","exports","default"],"sources":["@wordpress/block-library/src/heading/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, getBlockAttributes } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { getLevelFromHeadingNodeName } from './shared';\nimport { getTransformedMetadata } from '../utils/get-transformed-metadata';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( attributes ) =>\n\t\t\t\tattributes.map(\n\t\t\t\t\t( { content, anchor, align: textAlign, metadata } ) =>\n\t\t\t\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t\ttextAlign,\n\t\t\t\t\t\t\tmetadata: getTransformedMetadata(\n\t\t\t\t\t\t\t\tmetadata,\n\t\t\t\t\t\t\t\t'core/heading',\n\t\t\t\t\t\t\t\t( { content: contentBinding } ) => ( {\n\t\t\t\t\t\t\t\t\tcontent: contentBinding,\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),\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tselector: 'h1,h2,h3,h4,h5,h6',\n\t\t\tschema: ( { phrasingContentSchema, isPaste } ) => {\n\t\t\t\tconst schema = {\n\t\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t\t\tattributes: isPaste ? [] : [ 'style', 'id' ],\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\th1: schema,\n\t\t\t\t\th2: schema,\n\t\t\t\t\th3: schema,\n\t\t\t\t\th4: schema,\n\t\t\t\t\th5: schema,\n\t\t\t\t\th6: schema,\n\t\t\t\t};\n\t\t\t},\n\t\t\ttransform( node ) {\n\t\t\t\tconst attributes = getBlockAttributes(\n\t\t\t\t\t'core/heading',\n\t\t\t\t\tnode.outerHTML\n\t\t\t\t);\n\t\t\t\tconst { textAlign } = node.style || {};\n\n\t\t\t\tattributes.level = getLevelFromHeadingNodeName( node.nodeName );\n\n\t\t\t\tif (\n\t\t\t\t\ttextAlign === 'left' ||\n\t\t\t\t\ttextAlign === 'center' ||\n\t\t\t\t\ttextAlign === 'right'\n\t\t\t\t) {\n\t\t\t\t\tattributes.align = textAlign;\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( 'core/heading', attributes );\n\t\t\t},\n\t\t},\n\t\t...[ 1, 2, 3, 4, 5, 6 ].map( ( level ) => ( {\n\t\t\ttype: 'prefix',\n\t\t\tprefix: Array( level + 1 ).join( '#' ),\n\t\t\ttransform( content ) {\n\t\t\t\treturn createBlock( 'core/heading', {\n\t\t\t\t\tlevel,\n\t\t\t\t\tcontent,\n\t\t\t\t} );\n\t\t\t},\n\t\t} ) ),\n\t\t...[ 1, 2, 3, 4, 5, 6 ].map( ( level ) => ( {\n\t\t\ttype: 'enter',\n\t\t\tregExp: new RegExp( `^/(h|H)${ level }$` ),\n\t\t\ttransform: () => createBlock( 'core/heading', { level } ),\n\t\t} ) ),\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( attributes ) =>\n\t\t\t\tattributes.map( ( { content, textAlign: align, metadata } ) =>\n\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\tcontent,\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tmetadata: getTransformedMetadata(\n\t\t\t\t\t\t\tmetadata,\n\t\t\t\t\t\t\t'core/paragraph',\n\t\t\t\t\t\t\t( { content: contentBinding } ) => ( {\n\t\t\t\t\t\t\t\tcontent: contentBinding,\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},\n\t],\n};\n\nexport default transforms;\n"],"mappings":"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"}
@@ -9,6 +9,7 @@ exports.pickRelevantMediaFiles = exports.isExternalImage = exports.default = voi
9
9
  var _react = require("react");
10
10
  var _classnames = _interopRequireDefault(require("classnames"));
11
11
  var _blob = require("@wordpress/blob");
12
+ var _blocks = require("@wordpress/blocks");
12
13
  var _components = require("@wordpress/components");
13
14
  var _data = require("@wordpress/data");
14
15
  var _blockEditor = require("@wordpress/block-editor");
@@ -307,14 +308,17 @@ function ImageEdit({
307
308
 
308
309
  // Much of this description is duplicated from MediaPlaceholder.
309
310
  const {
310
- lockUrlControls = false
311
+ lockUrlControls = false,
312
+ lockUrlControlsMessage
311
313
  } = (0, _data.useSelect)(select => {
312
314
  if (!isSingleSelected) {
313
315
  return {};
314
316
  }
315
- const blockBindingsSource = (0, _lockUnlock.unlock)(select(_blockEditor.store)).getBlockBindingsSource(metadata?.bindings?.url?.source);
317
+ const blockBindingsSource = (0, _lockUnlock.unlock)(select(_blocks.store)).getBlockBindingsSource(metadata?.bindings?.url?.source);
316
318
  return {
317
- lockUrlControls: !!metadata?.bindings?.url && (!blockBindingsSource || blockBindingsSource?.lockAttributesEditing)
319
+ lockUrlControls: !!metadata?.bindings?.url && (!blockBindingsSource || blockBindingsSource?.lockAttributesEditing),
320
+ lockUrlControlsMessage: blockBindingsSource?.label ? (0, _i18n.sprintf)( /* translators: %s: Label of the bindings source. */
321
+ (0, _i18n.__)('Connected to %s'), blockBindingsSource.label) : (0, _i18n.__)('Connected to dynamic data')
318
322
  };
319
323
  }, [isSingleSelected]);
320
324
  const placeholder = content => {
@@ -336,7 +340,7 @@ function ImageEdit({
336
340
  }
337
341
  }, lockUrlControls ? (0, _react.createElement)("span", {
338
342
  className: 'block-bindings-media-placeholder-message'
339
- }, (0, _i18n.__)('Connected to a custom field')) : content);
343
+ }, lockUrlControlsMessage) : content);
340
344
  };
341
345
  return (0, _react.createElement)("figure", {
342
346
  ...blockProps
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_blob","_components","_data","_blockEditor","_element","_i18n","_icons","_notices","_lockUnlock","_image","_constants","pickRelevantMediaFiles","image","size","imageProps","Object","fromEntries","entries","filter","key","includes","url","sizes","media_details","source_url","exports","isTemporaryImage","id","isBlobURL","isExternalImage","hasSize","_image$sizes$size","_image$media_details$","ImageEdit","attributes","setAttributes","isSelected","isSingleSelected","className","insertBlocksAfter","onReplace","context","clientId","alt","caption","width","height","sizeSlug","aspectRatio","scale","align","metadata","temporaryURL","setTemporaryURL","useState","altRef","useRef","useEffect","current","captionRef","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","undefined","ref","getSettings","useSelect","blockEditingMode","useBlockEditingMode","createErrorNotice","noticesStore","onUploadError","message","type","src","onSelectImage","media","title","imageDefaultSize","newSize","mediaAttributes","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","settings","defaultProps","link","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","href","onSelectURL","newURL","isTemp","file","getBlobByURL","mediaUpload","filesList","onFileChange","img","allowedTypes","ALLOWED_MEDIA_TYPES","onError","revokeBlobURL","isExternal","mediaPreview","_react","createElement","__","borderProps","useBorderProps","shadowProps","getShadowClassesAndStyles","classes","classnames","style","keys","length","blockProps","useBlockProps","lockUrlControls","select","blockBindingsSource","unlock","getBlockBindingsSource","bindings","source","lockAttributesEditing","placeholder","content","Placeholder","withIllustration","icon","pluginsIcon","label","instructions","objectFit","default","containerRef","MediaPlaceholder","BlockIcon","onSelect","accept","value","disableMediaButtons","_default"],"sources":["@wordpress/block-library/src/image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { Placeholder } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tBlockIcon,\n\tMediaPlaceholder,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { image as icon, plugins as pluginsIcon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport Image from './image';\n\n/**\n * Module constants\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_CUSTOM,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tALLOWED_MEDIA_TYPES,\n} from './constants';\n\nexport const pickRelevantMediaFiles = ( image, size ) => {\n\tconst imageProps = Object.fromEntries(\n\t\tObject.entries( image ?? {} ).filter( ( [ key ] ) =>\n\t\t\t[ 'alt', 'id', 'link', 'caption' ].includes( key )\n\t\t)\n\t);\n\n\timageProps.url =\n\t\timage?.sizes?.[ size ]?.url ||\n\t\timage?.media_details?.sizes?.[ size ]?.source_url ||\n\t\timage.url;\n\treturn imageProps;\n};\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily\n * while the image is being uploaded and will not have an id yet allocated.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the URL a Blob URL\n */\nconst isTemporaryImage = ( id, url ) => ! id && isBlobURL( url );\n\n/**\n * Is the url for the image hosted externally. An externally hosted image has no\n * id and is not a blob url.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the url an externally hosted url?\n */\nexport const isExternalImage = ( id, url ) => url && ! id && ! isBlobURL( url );\n\n/**\n * Checks if WP generated the specified image size. Size generation is skipped\n * when the image is smaller than the said size.\n *\n * @param {Object} image\n * @param {string} size\n *\n * @return {boolean} Whether or not it has default image size.\n */\nfunction hasSize( image, size ) {\n\treturn (\n\t\t'url' in ( image?.sizes?.[ size ] ?? {} ) ||\n\t\t'source_url' in ( image?.media_details?.sizes?.[ size ] ?? {} )\n\t);\n}\n\nexport function ImageEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected: isSingleSelected,\n\tclassName,\n\tinsertBlocksAfter,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\tcaption,\n\t\tid,\n\t\twidth,\n\t\theight,\n\t\tsizeSlug,\n\t\taspectRatio,\n\t\tscale,\n\t\talign,\n\t\tmetadata,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\n\tconst altRef = useRef();\n\tuseEffect( () => {\n\t\taltRef.current = alt;\n\t}, [ alt ] );\n\n\tconst captionRef = useRef();\n\tuseEffect( () => {\n\t\tcaptionRef.current = caption;\n\t}, [ caption ] );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( [ 'wide', 'full' ].includes( align ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\taspectRatio: undefined,\n\t\t\t\tscale: undefined,\n\t\t\t} );\n\t\t}\n\t}, [ align ] );\n\n\tconst ref = useRef();\n\tconst { getSettings } = useSelect( blockEditorStore );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetAttributes( {\n\t\t\tsrc: undefined,\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t} );\n\t\tsetTemporaryURL( undefined );\n\t}\n\n\tfunction onSelectImage( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: undefined,\n\t\t\t\talt: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\ttitle: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tsetTemporaryURL();\n\n\t\tconst { imageDefaultSize } = getSettings();\n\n\t\t// Try to use the previous selected image size if its available\n\t\t// otherwise try the default image size or fallback to \"full\"\n\t\tlet newSize = 'full';\n\t\tif ( sizeSlug && hasSize( media, sizeSlug ) ) {\n\t\t\tnewSize = sizeSlug;\n\t\t} else if ( hasSize( media, imageDefaultSize ) ) {\n\t\t\tnewSize = imageDefaultSize;\n\t\t}\n\n\t\tlet mediaAttributes = pickRelevantMediaFiles( media, newSize );\n\n\t\t// If a caption text was meanwhile written by the user,\n\t\t// make sure the text is not overwritten by empty captions.\n\t\tif ( captionRef.current && ! mediaAttributes.caption ) {\n\t\t\tconst { caption: omittedCaption, ...restMediaAttributes } =\n\t\t\t\tmediaAttributes;\n\t\t\tmediaAttributes = restMediaAttributes;\n\t\t}\n\n\t\tlet additionalAttributes;\n\t\t// Reset the dimension attributes if changing to a different image.\n\t\tif ( ! media.id || media.id !== id ) {\n\t\t\tadditionalAttributes = {\n\t\t\t\tsizeSlug: newSize,\n\t\t\t};\n\t\t} else {\n\t\t\t// Keep the same url when selecting the same file, so \"Resolution\"\n\t\t\t// option is not changed.\n\t\t\tadditionalAttributes = { url };\n\t\t}\n\n\t\t// Check if default link setting should be used.\n\t\tlet linkDestination = attributes.linkDestination;\n\t\tif ( ! linkDestination ) {\n\t\t\t// Use the WordPress option to determine the proper default.\n\t\t\t// The constants used in Gutenberg do not match WP options so a little more complicated than ideal.\n\t\t\t// TODO: fix this in a follow up PR, requires updating media-text and ui component.\n\t\t\tswitch (\n\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\tLINK_DESTINATION_NONE\n\t\t\t) {\n\t\t\t\tcase 'file':\n\t\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_MEDIA;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'post':\n\t\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_CUSTOM:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_CUSTOM;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_NONE:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_NONE;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Check if the image is linked to it's media.\n\t\tlet href;\n\t\tswitch ( linkDestination ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\thref = media.url;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\thref = media.link;\n\t\t\t\tbreak;\n\t\t}\n\t\tmediaAttributes.href = href;\n\n\t\tsetAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\t...additionalAttributes,\n\t\t\tlinkDestination,\n\t\t} );\n\t}\n\n\tfunction onSelectURL( newURL ) {\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: newURL,\n\t\t\t\tid: undefined,\n\t\t\t\tsizeSlug: getSettings().imageDefaultSize,\n\t\t\t} );\n\t\t}\n\t}\n\n\tlet isTemp = isTemporaryImage( id, url );\n\n\t// Upload a temporary image on mount.\n\tuseEffect( () => {\n\t\tif ( ! isTemp ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst file = getBlobByURL( url );\n\n\t\tif ( file ) {\n\t\t\tconst { mediaUpload } = getSettings();\n\t\t\tif ( ! mediaUpload ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList: [ file ],\n\t\t\t\tonFileChange: ( [ img ] ) => {\n\t\t\t\t\tonSelectImage( img );\n\t\t\t\t},\n\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\tonError: ( message ) => {\n\t\t\t\t\tisTemp = false;\n\t\t\t\t\tonUploadError( message );\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\t// If an image is temporary, revoke the Blob url when it is uploaded (and is\n\t// no longer temporary).\n\tuseEffect( () => {\n\t\tif ( isTemp ) {\n\t\t\tsetTemporaryURL( url );\n\t\t\treturn;\n\t\t}\n\t\trevokeBlobURL( temporaryURL );\n\t}, [ isTemp, url ] );\n\n\tconst isExternal = isExternalImage( id, url );\n\tconst src = isExternal ? url : undefined;\n\tconst mediaPreview = !! url && (\n\t\t<img\n\t\t\talt={ __( 'Edit image' ) }\n\t\t\ttitle={ __( 'Edit image' ) }\n\t\t\tclassName={ 'edit-image-preview' }\n\t\t\tsrc={ url }\n\t\t/>\n\t);\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': temporaryURL,\n\t\t'is-resized': !! width || !! height,\n\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t'has-custom-border':\n\t\t\t!! borderProps.className ||\n\t\t\t( borderProps.style &&\n\t\t\t\tObject.keys( borderProps.style ).length > 0 ),\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst { lockUrlControls = false } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSingleSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst blockBindingsSource = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t).getBlockBindingsSource( metadata?.bindings?.url?.source );\n\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t( ! blockBindingsSource ||\n\t\t\t\t\t\tblockBindingsSource?.lockAttributesEditing ),\n\t\t\t};\n\t\t},\n\t\t[ isSingleSelected ]\n\t);\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ classnames( 'block-editor-media-placeholder', {\n\t\t\t\t\t[ borderProps.className ]:\n\t\t\t\t\t\t!! borderProps.className && ! isSingleSelected,\n\t\t\t\t} ) }\n\t\t\t\twithIllustration={ true }\n\t\t\t\ticon={ lockUrlControls ? pluginsIcon : icon }\n\t\t\t\tlabel={ __( 'Image' ) }\n\t\t\t\tinstructions={\n\t\t\t\t\t! lockUrlControls &&\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Upload an image file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tstyle={ {\n\t\t\t\t\taspectRatio:\n\t\t\t\t\t\t! ( width && height ) && aspectRatio\n\t\t\t\t\t\t\t? aspectRatio\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\twidth: height && aspectRatio ? '100%' : width,\n\t\t\t\t\theight: width && aspectRatio ? '100%' : height,\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t...shadowProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ lockUrlControls ? (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ 'block-bindings-media-placeholder-message' }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Connected to a custom field' ) }\n\t\t\t\t\t</span>\n\t\t\t\t) : (\n\t\t\t\t\tcontent\n\t\t\t\t) }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\treturn (\n\t\t<figure { ...blockProps }>\n\t\t\t<Image\n\t\t\t\ttemporaryURL={ temporaryURL }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisSingleSelected={ isSingleSelected }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\tonUploadError={ onUploadError }\n\t\t\t\tcontainerRef={ ref }\n\t\t\t\tcontext={ context }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t/>\n\t\t\t<MediaPlaceholder\n\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tvalue={ { id, src } }\n\t\t\t\tmediaPreview={ mediaPreview }\n\t\t\t\tdisableMediaButtons={ temporaryURL || url }\n\t\t\t/>\n\t\t</figure>\n\t);\n}\n\nexport default ImageEdit;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_blob","_blocks","_components","_data","_blockEditor","_element","_i18n","_icons","_notices","_lockUnlock","_image","_constants","pickRelevantMediaFiles","image","size","imageProps","Object","fromEntries","entries","filter","key","includes","url","sizes","media_details","source_url","exports","isTemporaryImage","id","isBlobURL","isExternalImage","hasSize","_image$sizes$size","_image$media_details$","ImageEdit","attributes","setAttributes","isSelected","isSingleSelected","className","insertBlocksAfter","onReplace","context","clientId","alt","caption","width","height","sizeSlug","aspectRatio","scale","align","metadata","temporaryURL","setTemporaryURL","useState","altRef","useRef","useEffect","current","captionRef","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","undefined","ref","getSettings","useSelect","blockEditingMode","useBlockEditingMode","createErrorNotice","noticesStore","onUploadError","message","type","src","onSelectImage","media","title","imageDefaultSize","newSize","mediaAttributes","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","settings","defaultProps","link","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","href","onSelectURL","newURL","isTemp","file","getBlobByURL","mediaUpload","filesList","onFileChange","img","allowedTypes","ALLOWED_MEDIA_TYPES","onError","revokeBlobURL","isExternal","mediaPreview","_react","createElement","__","borderProps","useBorderProps","shadowProps","getShadowClassesAndStyles","classes","classnames","style","keys","length","blockProps","useBlockProps","lockUrlControls","lockUrlControlsMessage","select","blockBindingsSource","unlock","blocksStore","getBlockBindingsSource","bindings","source","lockAttributesEditing","label","sprintf","placeholder","content","Placeholder","withIllustration","icon","pluginsIcon","instructions","objectFit","default","containerRef","MediaPlaceholder","BlockIcon","onSelect","accept","value","disableMediaButtons","_default"],"sources":["@wordpress/block-library/src/image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { Placeholder } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tBlockIcon,\n\tMediaPlaceholder,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { image as icon, plugins as pluginsIcon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport Image from './image';\n\n/**\n * Module constants\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_CUSTOM,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tALLOWED_MEDIA_TYPES,\n} from './constants';\n\nexport const pickRelevantMediaFiles = ( image, size ) => {\n\tconst imageProps = Object.fromEntries(\n\t\tObject.entries( image ?? {} ).filter( ( [ key ] ) =>\n\t\t\t[ 'alt', 'id', 'link', 'caption' ].includes( key )\n\t\t)\n\t);\n\n\timageProps.url =\n\t\timage?.sizes?.[ size ]?.url ||\n\t\timage?.media_details?.sizes?.[ size ]?.source_url ||\n\t\timage.url;\n\treturn imageProps;\n};\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily\n * while the image is being uploaded and will not have an id yet allocated.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the URL a Blob URL\n */\nconst isTemporaryImage = ( id, url ) => ! id && isBlobURL( url );\n\n/**\n * Is the url for the image hosted externally. An externally hosted image has no\n * id and is not a blob url.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the url an externally hosted url?\n */\nexport const isExternalImage = ( id, url ) => url && ! id && ! isBlobURL( url );\n\n/**\n * Checks if WP generated the specified image size. Size generation is skipped\n * when the image is smaller than the said size.\n *\n * @param {Object} image\n * @param {string} size\n *\n * @return {boolean} Whether or not it has default image size.\n */\nfunction hasSize( image, size ) {\n\treturn (\n\t\t'url' in ( image?.sizes?.[ size ] ?? {} ) ||\n\t\t'source_url' in ( image?.media_details?.sizes?.[ size ] ?? {} )\n\t);\n}\n\nexport function ImageEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected: isSingleSelected,\n\tclassName,\n\tinsertBlocksAfter,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\tcaption,\n\t\tid,\n\t\twidth,\n\t\theight,\n\t\tsizeSlug,\n\t\taspectRatio,\n\t\tscale,\n\t\talign,\n\t\tmetadata,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\n\tconst altRef = useRef();\n\tuseEffect( () => {\n\t\taltRef.current = alt;\n\t}, [ alt ] );\n\n\tconst captionRef = useRef();\n\tuseEffect( () => {\n\t\tcaptionRef.current = caption;\n\t}, [ caption ] );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( [ 'wide', 'full' ].includes( align ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\taspectRatio: undefined,\n\t\t\t\tscale: undefined,\n\t\t\t} );\n\t\t}\n\t}, [ align ] );\n\n\tconst ref = useRef();\n\tconst { getSettings } = useSelect( blockEditorStore );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetAttributes( {\n\t\t\tsrc: undefined,\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t} );\n\t\tsetTemporaryURL( undefined );\n\t}\n\n\tfunction onSelectImage( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: undefined,\n\t\t\t\talt: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\ttitle: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tsetTemporaryURL();\n\n\t\tconst { imageDefaultSize } = getSettings();\n\n\t\t// Try to use the previous selected image size if its available\n\t\t// otherwise try the default image size or fallback to \"full\"\n\t\tlet newSize = 'full';\n\t\tif ( sizeSlug && hasSize( media, sizeSlug ) ) {\n\t\t\tnewSize = sizeSlug;\n\t\t} else if ( hasSize( media, imageDefaultSize ) ) {\n\t\t\tnewSize = imageDefaultSize;\n\t\t}\n\n\t\tlet mediaAttributes = pickRelevantMediaFiles( media, newSize );\n\n\t\t// If a caption text was meanwhile written by the user,\n\t\t// make sure the text is not overwritten by empty captions.\n\t\tif ( captionRef.current && ! mediaAttributes.caption ) {\n\t\t\tconst { caption: omittedCaption, ...restMediaAttributes } =\n\t\t\t\tmediaAttributes;\n\t\t\tmediaAttributes = restMediaAttributes;\n\t\t}\n\n\t\tlet additionalAttributes;\n\t\t// Reset the dimension attributes if changing to a different image.\n\t\tif ( ! media.id || media.id !== id ) {\n\t\t\tadditionalAttributes = {\n\t\t\t\tsizeSlug: newSize,\n\t\t\t};\n\t\t} else {\n\t\t\t// Keep the same url when selecting the same file, so \"Resolution\"\n\t\t\t// option is not changed.\n\t\t\tadditionalAttributes = { url };\n\t\t}\n\n\t\t// Check if default link setting should be used.\n\t\tlet linkDestination = attributes.linkDestination;\n\t\tif ( ! linkDestination ) {\n\t\t\t// Use the WordPress option to determine the proper default.\n\t\t\t// The constants used in Gutenberg do not match WP options so a little more complicated than ideal.\n\t\t\t// TODO: fix this in a follow up PR, requires updating media-text and ui component.\n\t\t\tswitch (\n\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\tLINK_DESTINATION_NONE\n\t\t\t) {\n\t\t\t\tcase 'file':\n\t\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_MEDIA;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'post':\n\t\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_CUSTOM:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_CUSTOM;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_NONE:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_NONE;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Check if the image is linked to it's media.\n\t\tlet href;\n\t\tswitch ( linkDestination ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\thref = media.url;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\thref = media.link;\n\t\t\t\tbreak;\n\t\t}\n\t\tmediaAttributes.href = href;\n\n\t\tsetAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\t...additionalAttributes,\n\t\t\tlinkDestination,\n\t\t} );\n\t}\n\n\tfunction onSelectURL( newURL ) {\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: newURL,\n\t\t\t\tid: undefined,\n\t\t\t\tsizeSlug: getSettings().imageDefaultSize,\n\t\t\t} );\n\t\t}\n\t}\n\n\tlet isTemp = isTemporaryImage( id, url );\n\n\t// Upload a temporary image on mount.\n\tuseEffect( () => {\n\t\tif ( ! isTemp ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst file = getBlobByURL( url );\n\n\t\tif ( file ) {\n\t\t\tconst { mediaUpload } = getSettings();\n\t\t\tif ( ! mediaUpload ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList: [ file ],\n\t\t\t\tonFileChange: ( [ img ] ) => {\n\t\t\t\t\tonSelectImage( img );\n\t\t\t\t},\n\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\tonError: ( message ) => {\n\t\t\t\t\tisTemp = false;\n\t\t\t\t\tonUploadError( message );\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\t// If an image is temporary, revoke the Blob url when it is uploaded (and is\n\t// no longer temporary).\n\tuseEffect( () => {\n\t\tif ( isTemp ) {\n\t\t\tsetTemporaryURL( url );\n\t\t\treturn;\n\t\t}\n\t\trevokeBlobURL( temporaryURL );\n\t}, [ isTemp, url ] );\n\n\tconst isExternal = isExternalImage( id, url );\n\tconst src = isExternal ? url : undefined;\n\tconst mediaPreview = !! url && (\n\t\t<img\n\t\t\talt={ __( 'Edit image' ) }\n\t\t\ttitle={ __( 'Edit image' ) }\n\t\t\tclassName={ 'edit-image-preview' }\n\t\t\tsrc={ url }\n\t\t/>\n\t);\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': temporaryURL,\n\t\t'is-resized': !! width || !! height,\n\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t'has-custom-border':\n\t\t\t!! borderProps.className ||\n\t\t\t( borderProps.style &&\n\t\t\t\tObject.keys( borderProps.style ).length > 0 ),\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst { lockUrlControls = false, lockUrlControlsMessage } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSingleSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst blockBindingsSource = unlock(\n\t\t\t\tselect( blocksStore )\n\t\t\t).getBlockBindingsSource( metadata?.bindings?.url?.source );\n\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t( ! blockBindingsSource ||\n\t\t\t\t\t\tblockBindingsSource?.lockAttributesEditing ),\n\t\t\t\tlockUrlControlsMessage: blockBindingsSource?.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\tblockBindingsSource.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[ isSingleSelected ]\n\t);\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ classnames( 'block-editor-media-placeholder', {\n\t\t\t\t\t[ borderProps.className ]:\n\t\t\t\t\t\t!! borderProps.className && ! isSingleSelected,\n\t\t\t\t} ) }\n\t\t\t\twithIllustration\n\t\t\t\ticon={ lockUrlControls ? pluginsIcon : icon }\n\t\t\t\tlabel={ __( 'Image' ) }\n\t\t\t\tinstructions={\n\t\t\t\t\t! lockUrlControls &&\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Upload an image file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tstyle={ {\n\t\t\t\t\taspectRatio:\n\t\t\t\t\t\t! ( width && height ) && aspectRatio\n\t\t\t\t\t\t\t? aspectRatio\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\twidth: height && aspectRatio ? '100%' : width,\n\t\t\t\t\theight: width && aspectRatio ? '100%' : height,\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t...shadowProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ lockUrlControls ? (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ 'block-bindings-media-placeholder-message' }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ lockUrlControlsMessage }\n\t\t\t\t\t</span>\n\t\t\t\t) : (\n\t\t\t\t\tcontent\n\t\t\t\t) }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\treturn (\n\t\t<figure { ...blockProps }>\n\t\t\t<Image\n\t\t\t\ttemporaryURL={ temporaryURL }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisSingleSelected={ isSingleSelected }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\tonUploadError={ onUploadError }\n\t\t\t\tcontainerRef={ ref }\n\t\t\t\tcontext={ context }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t/>\n\t\t\t<MediaPlaceholder\n\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tvalue={ { id, src } }\n\t\t\t\tmediaPreview={ mediaPreview }\n\t\t\t\tdisableMediaButtons={ temporaryURL || url }\n\t\t\t/>\n\t\t</figure>\n\t);\n}\n\nexport default ImageEdit;\n"],"mappings":"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"}