@wordpress/block-library 7.12.0 → 7.13.1-next.957ca95e4c.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 (824) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/build/archives/index.js +5 -1
  3. package/build/archives/index.js.map +1 -1
  4. package/build/audio/index.js +4 -0
  5. package/build/audio/index.js.map +1 -1
  6. package/build/button/deprecated.js +14 -5
  7. package/build/button/deprecated.js.map +1 -1
  8. package/build/button/index.js +1 -1
  9. package/build/categories/edit.js +3 -1
  10. package/build/categories/edit.js.map +1 -1
  11. package/build/categories/index.js +14 -1
  12. package/build/categories/index.js.map +1 -1
  13. package/build/code/index.js +4 -2
  14. package/build/code/index.js.map +1 -1
  15. package/build/column/index.js +13 -0
  16. package/build/column/index.js.map +1 -1
  17. package/build/columns/deprecated.js +16 -5
  18. package/build/columns/deprecated.js.map +1 -1
  19. package/build/columns/edit.js +6 -2
  20. package/build/columns/edit.js.map +1 -1
  21. package/build/columns/edit.native.js +6 -2
  22. package/build/columns/edit.native.js.map +1 -1
  23. package/build/columns/index.js +13 -0
  24. package/build/columns/index.js.map +1 -1
  25. package/build/columns/transforms.js +10 -1
  26. package/build/columns/transforms.js.map +1 -1
  27. package/build/comment-author-name/index.js +5 -1
  28. package/build/comment-author-name/index.js.map +1 -1
  29. package/build/comment-content/index.js +5 -1
  30. package/build/comment-content/index.js.map +1 -1
  31. package/build/comment-date/index.js +1 -0
  32. package/build/comment-date/index.js.map +1 -1
  33. package/build/comment-edit-link/index.js +5 -1
  34. package/build/comment-edit-link/index.js.map +1 -1
  35. package/build/comment-reply-link/index.js +5 -1
  36. package/build/comment-reply-link/index.js.map +1 -1
  37. package/build/comment-template/index.js +14 -1
  38. package/build/comment-template/index.js.map +1 -1
  39. package/build/comments/index.js +13 -0
  40. package/build/comments/index.js.map +1 -1
  41. package/build/comments-pagination/index.js +13 -0
  42. package/build/comments-pagination/index.js.map +1 -1
  43. package/build/comments-pagination-next/index.js +4 -2
  44. package/build/comments-pagination-next/index.js.map +1 -1
  45. package/build/comments-pagination-numbers/edit.js +5 -1
  46. package/build/comments-pagination-numbers/edit.js.map +1 -1
  47. package/build/comments-pagination-numbers/index.js +14 -1
  48. package/build/comments-pagination-numbers/index.js.map +1 -1
  49. package/build/comments-pagination-previous/index.js +4 -2
  50. package/build/comments-pagination-previous/index.js.map +1 -1
  51. package/build/comments-title/deprecated.js +4 -2
  52. package/build/comments-title/deprecated.js.map +1 -1
  53. package/build/comments-title/index.js +4 -2
  54. package/build/comments-title/index.js.map +1 -1
  55. package/build/cover/deprecated.js +20 -5
  56. package/build/cover/deprecated.js.map +1 -1
  57. package/build/cover/edit/block-controls.js +9 -2
  58. package/build/cover/edit/block-controls.js.map +1 -1
  59. package/build/cover/index.js +13 -0
  60. package/build/cover/index.js.map +1 -1
  61. package/build/cover/shared.js +1 -1
  62. package/build/cover/shared.js.map +1 -1
  63. package/build/embed/icons.js +1 -1
  64. package/build/embed/icons.js.map +1 -1
  65. package/build/gallery/deprecated.js +6 -1
  66. package/build/gallery/deprecated.js.map +1 -1
  67. package/build/gallery/edit.js +15 -2
  68. package/build/gallery/edit.js.map +1 -1
  69. package/build/gallery/gap-styles.js +5 -4
  70. package/build/gallery/gap-styles.js.map +1 -1
  71. package/build/gallery/index.js +5 -0
  72. package/build/gallery/index.js.map +1 -1
  73. package/build/gallery/transforms.js +20 -7
  74. package/build/gallery/transforms.js.map +1 -1
  75. package/build/gallery/utils.js +7 -6
  76. package/build/gallery/utils.js.map +1 -1
  77. package/build/group/deprecated.js +108 -12
  78. package/build/group/deprecated.js.map +1 -1
  79. package/build/group/edit.js +23 -1
  80. package/build/group/edit.js.map +1 -1
  81. package/build/group/index.js +10 -2
  82. package/build/group/index.js.map +1 -1
  83. package/build/group/variations.js +8 -8
  84. package/build/group/variations.js.map +1 -1
  85. package/build/heading/deprecated.js +5 -3
  86. package/build/heading/deprecated.js.map +1 -1
  87. package/build/heading/index.js +3 -1
  88. package/build/heading/index.js.map +1 -1
  89. package/build/heading/transforms.js +3 -1
  90. package/build/heading/transforms.js.map +1 -1
  91. package/build/home-link/edit.js +8 -4
  92. package/build/home-link/edit.js.map +1 -1
  93. package/build/home-link/index.js +14 -1
  94. package/build/home-link/index.js.map +1 -1
  95. package/build/image/edit.js +16 -2
  96. package/build/image/edit.js.map +1 -1
  97. package/build/image/index.js +13 -7
  98. package/build/image/index.js.map +1 -1
  99. package/build/image/use-client-width.js +3 -1
  100. package/build/image/use-client-width.js.map +1 -1
  101. package/build/index.js +1 -1
  102. package/build/index.js.map +1 -1
  103. package/build/index.native.js +9 -18
  104. package/build/index.native.js.map +1 -1
  105. package/build/latest-posts/deprecated.js +14 -1
  106. package/build/latest-posts/deprecated.js.map +1 -1
  107. package/build/latest-posts/index.js +14 -1
  108. package/build/latest-posts/index.js.map +1 -1
  109. package/build/list/deprecated.js +84 -1
  110. package/build/list/deprecated.js.map +1 -1
  111. package/build/list/edit.js +153 -134
  112. package/build/list/edit.js.map +1 -1
  113. package/build/list/index.js +33 -34
  114. package/build/list/index.js.map +1 -1
  115. package/build/list/save.js +1 -5
  116. package/build/list/save.js.map +1 -1
  117. package/build/list/{v2/tag-name.js → tag-name.js} +0 -0
  118. package/build/list/tag-name.js.map +1 -0
  119. package/build/list/{v2/tag-name.native.js → tag-name.native.js} +0 -0
  120. package/build/list/tag-name.native.js.map +1 -0
  121. package/build/list/transforms.js +61 -95
  122. package/build/list/transforms.js.map +1 -1
  123. package/build/list/{v2/migrate.js → utils.js} +3 -2
  124. package/build/list/utils.js.map +1 -0
  125. package/build/list-item/edit.js +3 -1
  126. package/build/list-item/edit.js.map +1 -1
  127. package/build/list-item/edit.native.js +21 -3
  128. package/build/list-item/edit.native.js.map +1 -1
  129. package/build/list-item/hooks/index.js +8 -0
  130. package/build/list-item/hooks/index.js.map +1 -1
  131. package/build/list-item/hooks/use-copy.js +44 -0
  132. package/build/list-item/hooks/use-copy.js.map +1 -0
  133. package/build/list-item/hooks/use-merge.js +0 -1
  134. package/build/list-item/hooks/use-merge.js.map +1 -1
  135. package/build/list-item/hooks/use-outdent-list-item.js +0 -1
  136. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  137. package/build/list-item/hooks/use-space.js +10 -1
  138. package/build/list-item/hooks/use-space.js.map +1 -1
  139. package/build/list-item/index.js +0 -1
  140. package/build/list-item/index.js.map +1 -1
  141. package/build/list-item/list-style-type.native.js +4 -1
  142. package/build/list-item/list-style-type.native.js.map +1 -1
  143. package/build/list-item/utils.js +4 -1
  144. package/build/list-item/utils.js.map +1 -1
  145. package/build/media-text/deprecated.js +5 -1
  146. package/build/media-text/deprecated.js.map +1 -1
  147. package/build/media-text/index.js +17 -0
  148. package/build/media-text/index.js.map +1 -1
  149. package/build/navigation/deprecated.js +6 -1
  150. package/build/navigation/deprecated.js.map +1 -1
  151. package/build/navigation/edit/index.js +125 -41
  152. package/build/navigation/edit/index.js.map +1 -1
  153. package/build/navigation/edit/responsive-wrapper.js +6 -4
  154. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  155. package/build/navigation/edit/unsaved-inner-blocks.js +6 -16
  156. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  157. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +4 -7
  158. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  159. package/build/navigation/index.js +1 -0
  160. package/build/navigation/index.js.map +1 -1
  161. package/build/navigation/menu-items-to-blocks.js +1 -7
  162. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  163. package/build/navigation/use-navigation-menu.js +8 -7
  164. package/build/navigation/use-navigation-menu.js.map +1 -1
  165. package/build/navigation-link/edit.js +6 -8
  166. package/build/navigation-link/edit.js.map +1 -1
  167. package/build/navigation-submenu/edit.js +4 -6
  168. package/build/navigation-submenu/edit.js.map +1 -1
  169. package/build/page-list/edit.js +7 -3
  170. package/build/page-list/edit.js.map +1 -1
  171. package/build/paragraph/deprecated.js +18 -10
  172. package/build/paragraph/deprecated.js.map +1 -1
  173. package/build/paragraph/edit.js +1 -0
  174. package/build/paragraph/edit.js.map +1 -1
  175. package/build/paragraph/index.js +7 -0
  176. package/build/paragraph/index.js.map +1 -1
  177. package/build/paragraph/transforms.js +7 -0
  178. package/build/paragraph/transforms.js.map +1 -1
  179. package/build/post-author/index.js +4 -2
  180. package/build/post-author/index.js.map +1 -1
  181. package/build/post-author-biography/index.js +1 -0
  182. package/build/post-author-biography/index.js.map +1 -1
  183. package/build/post-author-name/index.js +5 -1
  184. package/build/post-author-name/index.js.map +1 -1
  185. package/build/post-comments-count/edit.js +11 -1
  186. package/build/post-comments-count/edit.js.map +1 -1
  187. package/build/post-comments-count/index.js +4 -1
  188. package/build/post-comments-count/index.js.map +1 -1
  189. package/build/post-comments-link/index.js +4 -2
  190. package/build/post-comments-link/index.js.map +1 -1
  191. package/build/post-date/edit.js +9 -2
  192. package/build/post-date/edit.js.map +1 -1
  193. package/build/post-date/index.js +9 -0
  194. package/build/post-date/index.js.map +1 -1
  195. package/build/post-excerpt/index.js +4 -2
  196. package/build/post-excerpt/index.js.map +1 -1
  197. package/build/post-featured-image/edit.js +27 -12
  198. package/build/post-featured-image/edit.js.map +1 -1
  199. package/build/post-featured-image/index.js +12 -0
  200. package/build/post-featured-image/index.js.map +1 -1
  201. package/build/post-navigation-link/index.js +3 -2
  202. package/build/post-navigation-link/index.js.map +1 -1
  203. package/build/post-template/edit.js +8 -4
  204. package/build/post-template/edit.js.map +1 -1
  205. package/build/post-template/index.js +14 -1
  206. package/build/post-template/index.js.map +1 -1
  207. package/build/post-terms/edit.js +0 -1
  208. package/build/post-terms/edit.js.map +1 -1
  209. package/build/post-terms/index.js +5 -3
  210. package/build/post-terms/index.js.map +1 -1
  211. package/build/post-terms/use-post-terms.js +4 -24
  212. package/build/post-terms/use-post-terms.js.map +1 -1
  213. package/build/post-title/index.js +2 -1
  214. package/build/post-title/index.js.map +1 -1
  215. package/build/preformatted/index.js +4 -2
  216. package/build/preformatted/index.js.map +1 -1
  217. package/build/pullquote/deprecated.js +135 -25
  218. package/build/pullquote/deprecated.js.map +1 -1
  219. package/build/pullquote/edit.js +1 -1
  220. package/build/pullquote/edit.js.map +1 -1
  221. package/build/pullquote/edit.native.js +0 -1
  222. package/build/pullquote/edit.native.js.map +1 -1
  223. package/build/pullquote/index.js +13 -6
  224. package/build/pullquote/index.js.map +1 -1
  225. package/build/pullquote/save.js +2 -2
  226. package/build/pullquote/save.js.map +1 -1
  227. package/build/pullquote/transforms.js +14 -33
  228. package/build/pullquote/transforms.js.map +1 -1
  229. package/build/query/deprecated.js +10 -9
  230. package/build/query/deprecated.js.map +1 -1
  231. package/build/query/edit/index.js +19 -8
  232. package/build/query/edit/index.js.map +1 -1
  233. package/build/query/edit/inspector-controls/taxonomy-controls.js +1 -0
  234. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  235. package/build/query/edit/query-placeholder.js +6 -1
  236. package/build/query/edit/query-placeholder.js.map +1 -1
  237. package/build/query/utils.js +35 -9
  238. package/build/query/utils.js.map +1 -1
  239. package/build/query-no-results/edit.js +1 -1
  240. package/build/query-no-results/edit.js.map +1 -1
  241. package/build/query-no-results/index.js +13 -0
  242. package/build/query-no-results/index.js.map +1 -1
  243. package/build/query-pagination-numbers/index.js +4 -2
  244. package/build/query-pagination-numbers/index.js.map +1 -1
  245. package/build/query-title/edit.js +10 -1
  246. package/build/query-title/edit.js.map +1 -1
  247. package/build/query-title/index.js +8 -2
  248. package/build/query-title/index.js.map +1 -1
  249. package/build/quote/deprecated.js +13 -6
  250. package/build/quote/deprecated.js.map +1 -1
  251. package/build/quote/index.js +4 -2
  252. package/build/quote/index.js.map +1 -1
  253. package/build/quote/transforms.js +22 -37
  254. package/build/quote/transforms.js.map +1 -1
  255. package/build/separator/deprecated.js +3 -4
  256. package/build/separator/deprecated.js.map +1 -1
  257. package/build/separator/index.js +1 -0
  258. package/build/separator/index.js.map +1 -1
  259. package/build/social-link/icons/reddit.js +1 -1
  260. package/build/social-link/icons/reddit.js.map +1 -1
  261. package/build/social-links/edit.js +43 -9
  262. package/build/social-links/edit.js.map +1 -1
  263. package/build/social-links/index.js +9 -0
  264. package/build/social-links/index.js.map +1 -1
  265. package/build/spacer/index.js +7 -1
  266. package/build/spacer/index.js.map +1 -1
  267. package/build/table/index.js +4 -0
  268. package/build/table/index.js.map +1 -1
  269. package/build/table/state.js +9 -3
  270. package/build/table/state.js.map +1 -1
  271. package/build/table-of-contents/index.js +24 -1
  272. package/build/table-of-contents/index.js.map +1 -1
  273. package/build/tag-cloud/index.js +5 -1
  274. package/build/tag-cloud/index.js.map +1 -1
  275. package/build/template-part/index.js +2 -2
  276. package/build/template-part/index.js.map +1 -1
  277. package/build/term-description/index.js +10 -0
  278. package/build/term-description/index.js.map +1 -1
  279. package/build/text-columns/edit.js +3 -1
  280. package/build/text-columns/edit.js.map +1 -1
  281. package/build/text-columns/save.js +3 -1
  282. package/build/text-columns/save.js.map +1 -1
  283. package/build/verse/index.js +2 -0
  284. package/build/verse/index.js.map +1 -1
  285. package/build/video/index.js +4 -0
  286. package/build/video/index.js.map +1 -1
  287. package/build-module/archives/index.js +5 -1
  288. package/build-module/archives/index.js.map +1 -1
  289. package/build-module/audio/index.js +4 -0
  290. package/build-module/audio/index.js.map +1 -1
  291. package/build-module/button/deprecated.js +14 -4
  292. package/build-module/button/deprecated.js.map +1 -1
  293. package/build-module/button/index.js +1 -1
  294. package/build-module/categories/edit.js +4 -2
  295. package/build-module/categories/edit.js.map +1 -1
  296. package/build-module/categories/index.js +14 -1
  297. package/build-module/categories/index.js.map +1 -1
  298. package/build-module/code/index.js +4 -2
  299. package/build-module/code/index.js.map +1 -1
  300. package/build-module/column/index.js +13 -0
  301. package/build-module/column/index.js.map +1 -1
  302. package/build-module/columns/deprecated.js +16 -4
  303. package/build-module/columns/deprecated.js.map +1 -1
  304. package/build-module/columns/edit.js +7 -3
  305. package/build-module/columns/edit.js.map +1 -1
  306. package/build-module/columns/edit.native.js +7 -3
  307. package/build-module/columns/edit.native.js.map +1 -1
  308. package/build-module/columns/index.js +13 -0
  309. package/build-module/columns/index.js.map +1 -1
  310. package/build-module/columns/transforms.js +10 -1
  311. package/build-module/columns/transforms.js.map +1 -1
  312. package/build-module/comment-author-name/index.js +5 -1
  313. package/build-module/comment-author-name/index.js.map +1 -1
  314. package/build-module/comment-content/index.js +5 -1
  315. package/build-module/comment-content/index.js.map +1 -1
  316. package/build-module/comment-date/index.js +1 -0
  317. package/build-module/comment-date/index.js.map +1 -1
  318. package/build-module/comment-edit-link/index.js +5 -1
  319. package/build-module/comment-edit-link/index.js.map +1 -1
  320. package/build-module/comment-reply-link/index.js +5 -1
  321. package/build-module/comment-reply-link/index.js.map +1 -1
  322. package/build-module/comment-template/index.js +14 -1
  323. package/build-module/comment-template/index.js.map +1 -1
  324. package/build-module/comments/index.js +13 -0
  325. package/build-module/comments/index.js.map +1 -1
  326. package/build-module/comments-pagination/index.js +13 -0
  327. package/build-module/comments-pagination/index.js.map +1 -1
  328. package/build-module/comments-pagination-next/index.js +4 -2
  329. package/build-module/comments-pagination-next/index.js.map +1 -1
  330. package/build-module/comments-pagination-numbers/edit.js +5 -1
  331. package/build-module/comments-pagination-numbers/edit.js.map +1 -1
  332. package/build-module/comments-pagination-numbers/index.js +14 -1
  333. package/build-module/comments-pagination-numbers/index.js.map +1 -1
  334. package/build-module/comments-pagination-previous/index.js +4 -2
  335. package/build-module/comments-pagination-previous/index.js.map +1 -1
  336. package/build-module/comments-title/deprecated.js +4 -2
  337. package/build-module/comments-title/deprecated.js.map +1 -1
  338. package/build-module/comments-title/index.js +4 -2
  339. package/build-module/comments-title/index.js.map +1 -1
  340. package/build-module/cover/deprecated.js +20 -4
  341. package/build-module/cover/deprecated.js.map +1 -1
  342. package/build-module/cover/edit/block-controls.js +10 -3
  343. package/build-module/cover/edit/block-controls.js.map +1 -1
  344. package/build-module/cover/index.js +13 -0
  345. package/build-module/cover/index.js.map +1 -1
  346. package/build-module/cover/shared.js +1 -1
  347. package/build-module/cover/shared.js.map +1 -1
  348. package/build-module/embed/icons.js +1 -1
  349. package/build-module/embed/icons.js.map +1 -1
  350. package/build-module/gallery/deprecated.js +7 -2
  351. package/build-module/gallery/deprecated.js.map +1 -1
  352. package/build-module/gallery/edit.js +15 -2
  353. package/build-module/gallery/edit.js.map +1 -1
  354. package/build-module/gallery/gap-styles.js +6 -5
  355. package/build-module/gallery/gap-styles.js.map +1 -1
  356. package/build-module/gallery/index.js +5 -0
  357. package/build-module/gallery/index.js.map +1 -1
  358. package/build-module/gallery/transforms.js +20 -7
  359. package/build-module/gallery/transforms.js.map +1 -1
  360. package/build-module/gallery/utils.js +7 -6
  361. package/build-module/gallery/utils.js.map +1 -1
  362. package/build-module/group/deprecated.js +109 -12
  363. package/build-module/group/deprecated.js.map +1 -1
  364. package/build-module/group/edit.js +25 -2
  365. package/build-module/group/edit.js.map +1 -1
  366. package/build-module/group/index.js +10 -2
  367. package/build-module/group/index.js.map +1 -1
  368. package/build-module/group/variations.js +8 -8
  369. package/build-module/group/variations.js.map +1 -1
  370. package/build-module/heading/deprecated.js +5 -2
  371. package/build-module/heading/deprecated.js.map +1 -1
  372. package/build-module/heading/index.js +3 -1
  373. package/build-module/heading/index.js.map +1 -1
  374. package/build-module/heading/transforms.js +3 -1
  375. package/build-module/heading/transforms.js.map +1 -1
  376. package/build-module/home-link/edit.js +10 -6
  377. package/build-module/home-link/edit.js.map +1 -1
  378. package/build-module/home-link/index.js +14 -1
  379. package/build-module/home-link/index.js.map +1 -1
  380. package/build-module/image/edit.js +18 -4
  381. package/build-module/image/edit.js.map +1 -1
  382. package/build-module/image/index.js +13 -7
  383. package/build-module/image/index.js.map +1 -1
  384. package/build-module/image/use-client-width.js +3 -1
  385. package/build-module/image/use-client-width.js.map +1 -1
  386. package/build-module/index.js +1 -1
  387. package/build-module/index.js.map +1 -1
  388. package/build-module/index.native.js +9 -17
  389. package/build-module/index.native.js.map +1 -1
  390. package/build-module/latest-posts/deprecated.js +14 -1
  391. package/build-module/latest-posts/deprecated.js.map +1 -1
  392. package/build-module/latest-posts/index.js +14 -1
  393. package/build-module/latest-posts/index.js.map +1 -1
  394. package/build-module/list/deprecated.js +83 -1
  395. package/build-module/list/deprecated.js.map +1 -1
  396. package/build-module/list/edit.js +151 -134
  397. package/build-module/list/edit.js.map +1 -1
  398. package/build-module/list/index.js +33 -29
  399. package/build-module/list/index.js.map +1 -1
  400. package/build-module/list/save.js +2 -6
  401. package/build-module/list/save.js.map +1 -1
  402. package/build-module/list/{v2/tag-name.js → tag-name.js} +0 -0
  403. package/build-module/list/tag-name.js.map +1 -0
  404. package/build-module/list/{v2/tag-name.native.js → tag-name.native.js} +0 -0
  405. package/build-module/list/tag-name.native.js.map +1 -0
  406. package/build-module/list/transforms.js +62 -97
  407. package/build-module/list/transforms.js.map +1 -1
  408. package/build-module/list/{v2/migrate.js → utils.js} +3 -2
  409. package/build-module/list/utils.js.map +1 -0
  410. package/build-module/list-item/edit.js +4 -2
  411. package/build-module/list-item/edit.js.map +1 -1
  412. package/build-module/list-item/edit.native.js +19 -3
  413. package/build-module/list-item/edit.native.js.map +1 -1
  414. package/build-module/list-item/hooks/index.js +1 -0
  415. package/build-module/list-item/hooks/index.js.map +1 -1
  416. package/build-module/list-item/hooks/use-copy.js +34 -0
  417. package/build-module/list-item/hooks/use-copy.js.map +1 -0
  418. package/build-module/list-item/hooks/use-merge.js +0 -1
  419. package/build-module/list-item/hooks/use-merge.js.map +1 -1
  420. package/build-module/list-item/hooks/use-outdent-list-item.js +0 -1
  421. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  422. package/build-module/list-item/hooks/use-space.js +10 -1
  423. package/build-module/list-item/hooks/use-space.js.map +1 -1
  424. package/build-module/list-item/index.js +0 -1
  425. package/build-module/list-item/index.js.map +1 -1
  426. package/build-module/list-item/list-style-type.native.js +3 -1
  427. package/build-module/list-item/list-style-type.native.js.map +1 -1
  428. package/build-module/list-item/utils.js +4 -1
  429. package/build-module/list-item/utils.js.map +1 -1
  430. package/build-module/media-text/deprecated.js +6 -2
  431. package/build-module/media-text/deprecated.js.map +1 -1
  432. package/build-module/media-text/index.js +17 -0
  433. package/build-module/media-text/index.js.map +1 -1
  434. package/build-module/navigation/deprecated.js +7 -2
  435. package/build-module/navigation/deprecated.js.map +1 -1
  436. package/build-module/navigation/edit/index.js +125 -43
  437. package/build-module/navigation/edit/index.js.map +1 -1
  438. package/build-module/navigation/edit/responsive-wrapper.js +6 -4
  439. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  440. package/build-module/navigation/edit/unsaved-inner-blocks.js +7 -16
  441. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  442. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +4 -7
  443. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  444. package/build-module/navigation/index.js +1 -0
  445. package/build-module/navigation/index.js.map +1 -1
  446. package/build-module/navigation/menu-items-to-blocks.js +1 -6
  447. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  448. package/build-module/navigation/use-navigation-menu.js +8 -7
  449. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  450. package/build-module/navigation-link/edit.js +7 -9
  451. package/build-module/navigation-link/edit.js.map +1 -1
  452. package/build-module/navigation-submenu/edit.js +5 -7
  453. package/build-module/navigation-submenu/edit.js.map +1 -1
  454. package/build-module/page-list/edit.js +7 -2
  455. package/build-module/page-list/edit.js.map +1 -1
  456. package/build-module/paragraph/deprecated.js +18 -9
  457. package/build-module/paragraph/deprecated.js.map +1 -1
  458. package/build-module/paragraph/edit.js +1 -0
  459. package/build-module/paragraph/edit.js.map +1 -1
  460. package/build-module/paragraph/index.js +7 -0
  461. package/build-module/paragraph/index.js.map +1 -1
  462. package/build-module/paragraph/transforms.js +7 -0
  463. package/build-module/paragraph/transforms.js.map +1 -1
  464. package/build-module/post-author/index.js +4 -2
  465. package/build-module/post-author/index.js.map +1 -1
  466. package/build-module/post-author-biography/index.js +1 -0
  467. package/build-module/post-author-biography/index.js.map +1 -1
  468. package/build-module/post-author-name/index.js +5 -1
  469. package/build-module/post-author-name/index.js.map +1 -1
  470. package/build-module/post-comments-count/edit.js +10 -1
  471. package/build-module/post-comments-count/edit.js.map +1 -1
  472. package/build-module/post-comments-count/index.js +4 -1
  473. package/build-module/post-comments-count/index.js.map +1 -1
  474. package/build-module/post-comments-link/index.js +4 -2
  475. package/build-module/post-comments-link/index.js.map +1 -1
  476. package/build-module/post-date/edit.js +9 -2
  477. package/build-module/post-date/edit.js.map +1 -1
  478. package/build-module/post-date/index.js +9 -0
  479. package/build-module/post-date/index.js.map +1 -1
  480. package/build-module/post-excerpt/index.js +4 -2
  481. package/build-module/post-excerpt/index.js.map +1 -1
  482. package/build-module/post-featured-image/edit.js +28 -13
  483. package/build-module/post-featured-image/edit.js.map +1 -1
  484. package/build-module/post-featured-image/index.js +12 -0
  485. package/build-module/post-featured-image/index.js.map +1 -1
  486. package/build-module/post-navigation-link/index.js +3 -2
  487. package/build-module/post-navigation-link/index.js.map +1 -1
  488. package/build-module/post-template/edit.js +8 -4
  489. package/build-module/post-template/edit.js.map +1 -1
  490. package/build-module/post-template/index.js +14 -1
  491. package/build-module/post-template/index.js.map +1 -1
  492. package/build-module/post-terms/edit.js +0 -1
  493. package/build-module/post-terms/edit.js.map +1 -1
  494. package/build-module/post-terms/index.js +5 -3
  495. package/build-module/post-terms/index.js.map +1 -1
  496. package/build-module/post-terms/use-post-terms.js +5 -25
  497. package/build-module/post-terms/use-post-terms.js.map +1 -1
  498. package/build-module/post-title/index.js +2 -1
  499. package/build-module/post-title/index.js.map +1 -1
  500. package/build-module/preformatted/index.js +4 -2
  501. package/build-module/preformatted/index.js.map +1 -1
  502. package/build-module/pullquote/deprecated.js +134 -25
  503. package/build-module/pullquote/deprecated.js.map +1 -1
  504. package/build-module/pullquote/edit.js +1 -1
  505. package/build-module/pullquote/edit.js.map +1 -1
  506. package/build-module/pullquote/edit.native.js +0 -1
  507. package/build-module/pullquote/edit.native.js.map +1 -1
  508. package/build-module/pullquote/index.js +13 -6
  509. package/build-module/pullquote/index.js.map +1 -1
  510. package/build-module/pullquote/save.js +2 -2
  511. package/build-module/pullquote/save.js.map +1 -1
  512. package/build-module/pullquote/transforms.js +15 -34
  513. package/build-module/pullquote/transforms.js.map +1 -1
  514. package/build-module/query/deprecated.js +10 -8
  515. package/build-module/query/deprecated.js.map +1 -1
  516. package/build-module/query/edit/index.js +23 -12
  517. package/build-module/query/edit/index.js.map +1 -1
  518. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +1 -0
  519. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  520. package/build-module/query/edit/query-placeholder.js +6 -1
  521. package/build-module/query/edit/query-placeholder.js.map +1 -1
  522. package/build-module/query/utils.js +32 -7
  523. package/build-module/query/utils.js.map +1 -1
  524. package/build-module/query-no-results/edit.js +1 -1
  525. package/build-module/query-no-results/edit.js.map +1 -1
  526. package/build-module/query-no-results/index.js +13 -0
  527. package/build-module/query-no-results/index.js.map +1 -1
  528. package/build-module/query-pagination-numbers/index.js +4 -2
  529. package/build-module/query-pagination-numbers/index.js.map +1 -1
  530. package/build-module/query-title/edit.js +10 -1
  531. package/build-module/query-title/edit.js.map +1 -1
  532. package/build-module/query-title/index.js +8 -2
  533. package/build-module/query-title/index.js.map +1 -1
  534. package/build-module/quote/deprecated.js +13 -5
  535. package/build-module/quote/deprecated.js.map +1 -1
  536. package/build-module/quote/index.js +4 -2
  537. package/build-module/quote/index.js.map +1 -1
  538. package/build-module/quote/transforms.js +23 -38
  539. package/build-module/quote/transforms.js.map +1 -1
  540. package/build-module/separator/deprecated.js +3 -3
  541. package/build-module/separator/deprecated.js.map +1 -1
  542. package/build-module/separator/index.js +1 -0
  543. package/build-module/separator/index.js.map +1 -1
  544. package/build-module/social-link/icons/reddit.js +1 -1
  545. package/build-module/social-link/icons/reddit.js.map +1 -1
  546. package/build-module/social-links/edit.js +45 -12
  547. package/build-module/social-links/edit.js.map +1 -1
  548. package/build-module/social-links/index.js +9 -0
  549. package/build-module/social-links/index.js.map +1 -1
  550. package/build-module/spacer/index.js +7 -1
  551. package/build-module/spacer/index.js.map +1 -1
  552. package/build-module/table/index.js +4 -0
  553. package/build-module/table/index.js.map +1 -1
  554. package/build-module/table/state.js +10 -4
  555. package/build-module/table/state.js.map +1 -1
  556. package/build-module/table-of-contents/index.js +24 -1
  557. package/build-module/table-of-contents/index.js.map +1 -1
  558. package/build-module/tag-cloud/index.js +5 -1
  559. package/build-module/tag-cloud/index.js.map +1 -1
  560. package/build-module/template-part/index.js +2 -2
  561. package/build-module/template-part/index.js.map +1 -1
  562. package/build-module/term-description/index.js +10 -0
  563. package/build-module/term-description/index.js.map +1 -1
  564. package/build-module/text-columns/edit.js +4 -2
  565. package/build-module/text-columns/edit.js.map +1 -1
  566. package/build-module/text-columns/save.js +4 -2
  567. package/build-module/text-columns/save.js.map +1 -1
  568. package/build-module/verse/index.js +2 -0
  569. package/build-module/verse/index.js.map +1 -1
  570. package/build-module/video/index.js +4 -0
  571. package/build-module/video/index.js.map +1 -1
  572. package/build-style/audio/style-rtl.css +3 -0
  573. package/build-style/audio/style.css +3 -0
  574. package/build-style/button/style-rtl.css +7 -10
  575. package/build-style/button/style.css +7 -10
  576. package/build-style/code/editor-rtl.css +79 -0
  577. package/build-style/code/editor.css +79 -0
  578. package/build-style/cover/editor-rtl.css +0 -3
  579. package/build-style/cover/editor.css +0 -3
  580. package/build-style/editor-rtl.css +94 -146
  581. package/build-style/editor.css +94 -146
  582. package/build-style/group/editor-rtl.css +9 -10
  583. package/build-style/group/editor.css +9 -10
  584. package/build-style/image/editor-rtl.css +21 -2
  585. package/build-style/image/editor.css +21 -2
  586. package/build-style/media-text/style-rtl.css +1 -0
  587. package/build-style/media-text/style.css +1 -0
  588. package/build-style/navigation/editor-rtl.css +11 -23
  589. package/build-style/navigation/editor.css +11 -23
  590. package/build-style/navigation/style-rtl.css +10 -3
  591. package/build-style/navigation/style.css +10 -3
  592. package/build-style/paragraph/editor-rtl.css +1 -1
  593. package/build-style/paragraph/editor.css +1 -1
  594. package/build-style/post-date/style-rtl.css +79 -0
  595. package/build-style/post-date/style.css +79 -0
  596. package/build-style/post-featured-image/editor-rtl.css +45 -43
  597. package/build-style/post-featured-image/editor.css +45 -43
  598. package/build-style/post-featured-image/style-rtl.css +1 -0
  599. package/build-style/post-featured-image/style.css +1 -0
  600. package/build-style/post-title/style-rtl.css +1 -0
  601. package/build-style/post-title/style.css +1 -0
  602. package/build-style/pullquote/editor-rtl.css +0 -12
  603. package/build-style/pullquote/editor.css +0 -12
  604. package/build-style/pullquote/style-rtl.css +1 -8
  605. package/build-style/pullquote/style.css +1 -8
  606. package/build-style/query-title/style-rtl.css +79 -0
  607. package/build-style/query-title/style.css +79 -0
  608. package/build-style/site-logo/editor-rtl.css +3 -52
  609. package/build-style/site-logo/editor.css +3 -52
  610. package/build-style/social-links/style-rtl.css +2 -2
  611. package/build-style/social-links/style.css +2 -2
  612. package/build-style/style-rtl.css +37 -23
  613. package/build-style/style.css +37 -23
  614. package/build-style/video/style-rtl.css +3 -0
  615. package/build-style/video/style.css +3 -0
  616. package/package.json +30 -29
  617. package/src/archives/block.json +5 -1
  618. package/src/audio/block.json +4 -0
  619. package/src/audio/style.scss +2 -0
  620. package/src/button/block.json +1 -1
  621. package/src/button/deprecated.js +21 -22
  622. package/src/button/style.scss +7 -14
  623. package/src/calendar/index.php +2 -2
  624. package/src/categories/block.json +14 -1
  625. package/src/categories/edit.js +2 -2
  626. package/src/code/block.json +4 -2
  627. package/src/code/editor.scss +3 -0
  628. package/src/column/block.json +13 -0
  629. package/src/columns/block.json +13 -0
  630. package/src/columns/deprecated.js +10 -4
  631. package/src/columns/edit.js +7 -3
  632. package/src/columns/edit.native.js +7 -3
  633. package/src/columns/transforms.js +17 -3
  634. package/src/comment-author-name/block.json +5 -1
  635. package/src/comment-content/block.json +5 -1
  636. package/src/comment-date/block.json +1 -0
  637. package/src/comment-edit-link/block.json +5 -1
  638. package/src/comment-reply-link/block.json +5 -1
  639. package/src/comment-template/block.json +14 -1
  640. package/src/comments/block.json +13 -0
  641. package/src/comments/index.php +6 -5
  642. package/src/comments-pagination/block.json +13 -0
  643. package/src/comments-pagination-next/block.json +4 -2
  644. package/src/comments-pagination-numbers/block.json +14 -1
  645. package/src/comments-pagination-numbers/edit.js +12 -3
  646. package/src/comments-pagination-previous/block.json +4 -2
  647. package/src/comments-title/block.json +4 -2
  648. package/src/cover/block.json +13 -0
  649. package/src/cover/deprecated.js +11 -4
  650. package/src/cover/edit/block-controls.js +15 -3
  651. package/src/cover/editor.scss +0 -4
  652. package/src/cover/shared.js +2 -1
  653. package/src/editor.scss +1 -0
  654. package/src/embed/icons.js +1 -1
  655. package/src/gallery/block.json +5 -0
  656. package/src/gallery/deprecated.js +4 -2
  657. package/src/gallery/edit.js +22 -2
  658. package/src/gallery/gap-styles.js +10 -6
  659. package/src/gallery/index.php +23 -2
  660. package/src/gallery/transforms.js +18 -5
  661. package/src/gallery/utils.js +11 -7
  662. package/src/group/block.json +10 -2
  663. package/src/group/deprecated.js +89 -2
  664. package/src/group/edit.js +15 -2
  665. package/src/group/editor.scss +4 -6
  666. package/src/group/variations.js +4 -3
  667. package/src/heading/block.json +3 -1
  668. package/src/heading/deprecated.js +4 -2
  669. package/src/home-link/block.json +14 -1
  670. package/src/home-link/edit.js +19 -20
  671. package/src/image/block.json +13 -7
  672. package/src/image/edit.js +22 -4
  673. package/src/image/editor.scss +39 -3
  674. package/src/image/index.php +1 -1
  675. package/src/image/use-client-width.js +1 -1
  676. package/src/index.js +1 -4
  677. package/src/index.native.js +17 -23
  678. package/src/latest-posts/block.json +14 -1
  679. package/src/list/block.json +4 -0
  680. package/src/list/deprecated.js +71 -1
  681. package/src/list/edit.js +146 -133
  682. package/src/list/index.js +25 -24
  683. package/src/list/save.js +3 -4
  684. package/src/list/{v2/tag-name.js → tag-name.js} +0 -0
  685. package/src/list/{v2/tag-name.native.js → tag-name.native.js} +0 -0
  686. package/src/list/test/__snapshots__/edit.native.js.snap +14 -2
  687. package/src/list/test/edit.native.js +0 -154
  688. package/src/list/transforms.js +57 -111
  689. package/src/list/{v2/migrate.js → utils.js} +2 -2
  690. package/src/list-item/block.json +0 -1
  691. package/src/list-item/edit.js +2 -1
  692. package/src/list-item/edit.native.js +32 -2
  693. package/src/list-item/hooks/index.js +1 -0
  694. package/src/list-item/hooks/use-copy.js +38 -0
  695. package/src/list-item/hooks/use-space.js +10 -2
  696. package/src/list-item/list-style-type.native.js +8 -1
  697. package/src/list-item/style.native.scss +12 -0
  698. package/src/media-text/block.json +17 -0
  699. package/src/media-text/deprecated.js +3 -2
  700. package/src/media-text/style.scss +2 -0
  701. package/src/navigation/block.json +1 -0
  702. package/src/navigation/deprecated.js +4 -2
  703. package/src/navigation/edit/index.js +173 -85
  704. package/src/navigation/edit/responsive-wrapper.js +8 -3
  705. package/src/navigation/edit/unsaved-inner-blocks.js +17 -25
  706. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +31 -37
  707. package/src/navigation/editor.scss +5 -25
  708. package/src/navigation/index.php +24 -24
  709. package/src/navigation/menu-items-to-blocks.js +3 -6
  710. package/src/navigation/style.scss +14 -4
  711. package/src/navigation/test/use-navigation-menu.js +18 -1
  712. package/src/navigation/use-navigation-menu.js +11 -8
  713. package/src/navigation-link/edit.js +9 -13
  714. package/src/navigation-submenu/edit.js +9 -13
  715. package/src/page-list/edit.js +6 -2
  716. package/src/paragraph/block.json +7 -0
  717. package/src/paragraph/deprecated.js +33 -35
  718. package/src/paragraph/edit.js +1 -0
  719. package/src/paragraph/editor.scss +5 -3
  720. package/src/post-author/block.json +4 -2
  721. package/src/post-author-biography/block.json +1 -0
  722. package/src/post-author-name/block.json +5 -1
  723. package/src/post-comments-count/block.json +4 -1
  724. package/src/post-comments-count/edit.js +10 -2
  725. package/src/post-comments-link/block.json +4 -2
  726. package/src/post-date/block.json +9 -0
  727. package/src/post-date/edit.js +12 -2
  728. package/src/post-date/index.php +10 -2
  729. package/src/post-date/style.scss +4 -0
  730. package/src/post-excerpt/block.json +4 -2
  731. package/src/post-featured-image/block.json +12 -0
  732. package/src/post-featured-image/edit.js +43 -13
  733. package/src/post-featured-image/editor.scss +44 -53
  734. package/src/post-featured-image/index.php +61 -4
  735. package/src/post-featured-image/style.scss +1 -0
  736. package/src/post-navigation-link/block.json +3 -2
  737. package/src/post-template/block.json +15 -1
  738. package/src/post-template/edit.js +6 -1
  739. package/src/post-template/index.php +7 -4
  740. package/src/post-terms/block.json +5 -3
  741. package/src/post-terms/edit.js +0 -1
  742. package/src/post-terms/use-post-terms.js +10 -15
  743. package/src/post-title/block.json +2 -1
  744. package/src/post-title/style.scss +2 -0
  745. package/src/preformatted/block.json +4 -2
  746. package/src/pullquote/block.json +11 -4
  747. package/src/pullquote/deprecated.js +490 -412
  748. package/src/pullquote/edit.js +1 -1
  749. package/src/pullquote/edit.native.js +0 -1
  750. package/src/pullquote/editor.scss +0 -16
  751. package/src/pullquote/index.js +1 -3
  752. package/src/pullquote/save.js +1 -1
  753. package/src/pullquote/style.scss +0 -11
  754. package/src/pullquote/transforms.js +17 -33
  755. package/src/query/deprecated.js +4 -9
  756. package/src/query/edit/index.js +28 -15
  757. package/src/query/edit/inspector-controls/taxonomy-controls.js +1 -1
  758. package/src/query/edit/query-placeholder.js +17 -2
  759. package/src/query/utils.js +29 -7
  760. package/src/query-no-results/block.json +13 -0
  761. package/src/query-no-results/edit.js +1 -1
  762. package/src/query-pagination-numbers/block.json +4 -2
  763. package/src/query-title/block.json +8 -2
  764. package/src/query-title/edit.js +19 -2
  765. package/src/query-title/index.php +11 -1
  766. package/src/query-title/style.scss +4 -0
  767. package/src/quote/block.json +4 -2
  768. package/src/quote/deprecated.js +6 -5
  769. package/src/quote/transforms.js +4 -18
  770. package/src/search/index.php +1 -1
  771. package/src/separator/block.json +1 -0
  772. package/src/separator/deprecated.js +2 -3
  773. package/src/site-logo/editor.scss +8 -66
  774. package/src/social-link/icons/reddit.js +1 -1
  775. package/src/social-link/index.php +1 -1
  776. package/src/social-link/socials-with-bg.scss +1 -1
  777. package/src/social-link/socials-without-bg.scss +1 -1
  778. package/src/social-links/block.json +9 -0
  779. package/src/social-links/edit.js +47 -19
  780. package/src/spacer/block.json +7 -1
  781. package/src/style.scss +2 -0
  782. package/src/table/block.json +4 -0
  783. package/src/table/state.js +21 -19
  784. package/src/table-of-contents/block.json +24 -1
  785. package/src/tag-cloud/block.json +5 -1
  786. package/src/template-part/index.js +3 -2
  787. package/src/term-description/block.json +10 -0
  788. package/src/text-columns/edit.js +2 -2
  789. package/src/text-columns/save.js +2 -2
  790. package/src/verse/block.json +2 -0
  791. package/src/video/block.json +4 -0
  792. package/src/video/style.scss +2 -0
  793. package/build/list/v2/deprecated.js +0 -117
  794. package/build/list/v2/deprecated.js.map +0 -1
  795. package/build/list/v2/edit.js +0 -200
  796. package/build/list/v2/edit.js.map +0 -1
  797. package/build/list/v2/index.js +0 -36
  798. package/build/list/v2/index.js.map +0 -1
  799. package/build/list/v2/migrate.js.map +0 -1
  800. package/build/list/v2/save.js +0 -34
  801. package/build/list/v2/save.js.map +0 -1
  802. package/build/list/v2/tag-name.js.map +0 -1
  803. package/build/list/v2/tag-name.native.js.map +0 -1
  804. package/build/list/v2/transforms.js +0 -137
  805. package/build/list/v2/transforms.js.map +0 -1
  806. package/build-module/list/v2/deprecated.js +0 -104
  807. package/build-module/list/v2/deprecated.js.map +0 -1
  808. package/build-module/list/v2/edit.js +0 -179
  809. package/build-module/list/v2/edit.js.map +0 -1
  810. package/build-module/list/v2/index.js +0 -21
  811. package/build-module/list/v2/index.js.map +0 -1
  812. package/build-module/list/v2/migrate.js.map +0 -1
  813. package/build-module/list/v2/save.js +0 -23
  814. package/build-module/list/v2/save.js.map +0 -1
  815. package/build-module/list/v2/tag-name.js.map +0 -1
  816. package/build-module/list/v2/tag-name.native.js.map +0 -1
  817. package/build-module/list/v2/transforms.js +0 -127
  818. package/build-module/list/v2/transforms.js.map +0 -1
  819. package/src/list/test/migrate.js +0 -158
  820. package/src/list/v2/deprecated.js +0 -89
  821. package/src/list/v2/edit.js +0 -192
  822. package/src/list/v2/index.js +0 -22
  823. package/src/list/v2/save.js +0 -18
  824. package/src/list/v2/transforms.js +0 -120
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/edit.js"],"names":["classnames","find","compose","BaseControl","PanelBody","SelectControl","ToggleControl","withNotices","RangeControl","Spinner","store","blockEditorStore","MediaPlaceholder","InspectorControls","useBlockProps","BlockControls","MediaReplaceFlow","Platform","useEffect","useMemo","__","_x","sprintf","useSelect","useDispatch","withViewportMatch","View","createBlock","createBlobURL","noticesStore","sharedIcon","defaultColumnsNumber","pickRelevantMediaFiles","getHrefAndDestination","getUpdatedLinkTargetSettings","getImageSizeAttributes","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","useImageSizes","useGetNewImages","useGetMedia","GapStyles","MAX_COLUMNS","linkOptions","value","label","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","setAttributes","attributes","className","clientId","noticeOperations","isSelected","noticeUI","insertBlocksAfter","columns","imageCrop","linkTarget","linkTo","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","clearSelectedBlock","createSuccessNotice","getBlock","getSettings","preferredStyle","select","settings","preferredStyleVariations","__experimentalPreferredStyleVariations","innerBlockImages","innerBlocks","wasBlockJustInserted","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","length","imageSizeOptions","imageAttributes","image","newClassName","caption","raw","alt","alt_text","isValidFileType","file","some","mediaType","indexOf","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","every","removeAllNotices","createErrorNotice","processedImages","filter","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","concat","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","toggleOpenInNewTab","openInNewTab","newLinkTarget","noticeText","updateImagesSize","newSizeSlug","imageSize","size","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","title","instructions","blockProps","hasLinkTo","Math","min","isWeb","style","spacing","blockGap","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { find } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\twithNotices,\n\tRangeControl,\n\tSpinner,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\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{\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'ADD MEDIA' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tnoticeOperations,\n\t\tisSelected,\n\t\tnoticeUI,\n\t\tinsertBlocksAfter,\n\t} = props;\n\n\tconst { columns, imageCrop, linkTarget, linkTo, sizeSlug } = attributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t\tclearSelectedBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst { getBlock, getSettings, preferredStyle } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst preferredStyleVariations =\n\t\t\tsettings.__experimentalPreferredStyleVariations;\n\t\treturn {\n\t\t\tgetBlock: select( blockEditorStore ).getBlock,\n\t\t\tgetSettings: select( blockEditorStore ).getSettings,\n\t\t\tpreferredStyle: preferredStyleVariations?.value?.[ 'core/image' ],\n\t\t};\n\t}, [] );\n\n\tconst innerBlockImages = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).getBlock( clientId )?.innerBlocks;\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst wasBlockJustInserted = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).wasBlockJustInserted(\n\t\t\t\tclientId,\n\t\t\t\t'inserter_menu'\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t\tif ( newImages?.length > 0 ) {\n\t\t\tclearSelectedBlock();\n\t\t}\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? find( imageData, { id: imageAttributes.id } )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t} else {\n\t\t\tnewClassName = preferredStyle\n\t\t\t\t? `is-style-${ preferredStyle }`\n\t\t\t\t: undefined;\n\t\t}\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination( image, linkTo ),\n\t\t\t...getUpdatedLinkTargetSettings( linkTarget, attributes ),\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => file.type?.indexOf( mediaType ) === 0\n\t\t\t) || file.url?.indexOf( 'blob:' ) === 0\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tnoticeOperations.removeAllNotices();\n\t\t\tnoticeOperations.createErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\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\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? find( imageData, { id: block.attributes.id } )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\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 toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? find( imageData, { id: block.attributes.id } )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing 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\tconst imagesUploading = images.some( ( img ) =>\n\t\t! Platform.isNative\n\t\t\t? ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t\t\t: img.url?.indexOf( 'file:' ) === 0\n\t);\n\n\t// MediaPlaceholder props are different between web and native hence, we provide a platform-specific set.\n\tconst mediaPlaceholderProps = Platform.select( {\n\t\tweb: {\n\t\t\taddToGallery: false,\n\t\t\tdisableMediaButtons: imagesUploading,\n\t\t\tvalue: {},\n\t\t},\n\t\tnative: {\n\t\t\taddToGallery: hasImageIds,\n\t\t\tisAppender: hasImages,\n\t\t\tdisableMediaButtons:\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading,\n\t\t\tvalue: hasImageIds ? images : {},\n\t\t\tautoOpenMediaUpload:\n\t\t\t\t! hasImages && isSelected && wasBlockJustInserted,\n\t\t},\n\t} );\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\thandleUpload={ false }\n\t\t\ticon={ sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tonError={ onUploadError }\n\t\t\tnotices={ noticeUI }\n\t\t\t{ ...mediaPlaceholderProps }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, 'has-nested-images' ),\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn <View { ...blockProps }>{ mediaPlaceholder }</View>;\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\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\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\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\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\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{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<SelectControl\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\t{ Platform.isWeb && ! imageSizeOptions && hasImageIds && (\n\t\t\t\t\t\t<BaseControl className={ 'gallery-image-sizes' }>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Image size' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className={ 'gallery-image-sizes__loading' }>\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\tmultiple={ true }\n\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ noticeUI }\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<GapStyles\n\t\t\t\t\tblockGap={ attributes.style?.spacing?.blockGap }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={\n\t\t\t\t\t! hasImages || Platform.isNative\n\t\t\t\t\t\t? mediaPlaceholder\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</>\n\t);\n}\nexport default compose( [\n\twithNotices,\n\twithViewportMatch( { isNarrow: '< small' } ),\n] )( GalleryEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/edit.js"],"names":["classnames","find","compose","BaseControl","PanelBody","SelectControl","ToggleControl","withNotices","RangeControl","Spinner","store","blockEditorStore","MediaPlaceholder","InspectorControls","useBlockProps","BlockControls","MediaReplaceFlow","Platform","useEffect","useMemo","__","_x","sprintf","useSelect","useDispatch","withViewportMatch","View","createBlock","createBlobURL","noticesStore","sharedIcon","defaultColumnsNumber","pickRelevantMediaFiles","getHrefAndDestination","getUpdatedLinkTargetSettings","getImageSizeAttributes","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","useImageSizes","useGetNewImages","useGetMedia","GapStyles","MAX_COLUMNS","linkOptions","value","label","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","setAttributes","attributes","className","clientId","noticeOperations","isSelected","noticeUI","insertBlocksAfter","columns","imageCrop","linkTarget","linkTo","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","clearSelectedBlock","createSuccessNotice","getBlock","getSettings","preferredStyle","select","settings","preferredStyleVariations","__experimentalPreferredStyleVariations","innerBlockImages","innerBlocks","wasBlockJustInserted","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","length","imageSizeOptions","imageAttributes","image","newClassName","newLinkTarget","rel","linkDestination","caption","raw","alt","alt_text","isValidFileType","file","some","mediaType","indexOf","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","every","removeAllNotices","createErrorNotice","processedImages","filter","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","concat","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","toggleOpenInNewTab","openInNewTab","noticeText","updateImagesSize","newSizeSlug","imageSize","size","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","title","instructions","blockProps","hasLinkTo","Math","min","isWeb","style","spacing","blockGap","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { find } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\twithNotices,\n\tRangeControl,\n\tSpinner,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\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{\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'ADD MEDIA' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tnoticeOperations,\n\t\tisSelected,\n\t\tnoticeUI,\n\t\tinsertBlocksAfter,\n\t} = props;\n\n\tconst { columns, imageCrop, linkTarget, linkTo, sizeSlug } = attributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t\tclearSelectedBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst { getBlock, getSettings, preferredStyle } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst preferredStyleVariations =\n\t\t\tsettings.__experimentalPreferredStyleVariations;\n\t\treturn {\n\t\t\tgetBlock: select( blockEditorStore ).getBlock,\n\t\t\tgetSettings: select( blockEditorStore ).getSettings,\n\t\t\tpreferredStyle: preferredStyleVariations?.value?.[ 'core/image' ],\n\t\t};\n\t}, [] );\n\n\tconst innerBlockImages = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).getBlock( clientId )?.innerBlocks;\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst wasBlockJustInserted = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).wasBlockJustInserted(\n\t\t\t\tclientId,\n\t\t\t\t'inserter_menu'\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t\tif ( newImages?.length > 0 ) {\n\t\t\tclearSelectedBlock();\n\t\t}\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? find( imageData, { id: imageAttributes.id } )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t} else {\n\t\t\tnewClassName = preferredStyle\n\t\t\t\t? `is-style-${ preferredStyle }`\n\t\t\t\t: undefined;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => file.type?.indexOf( mediaType ) === 0\n\t\t\t) || file.url?.indexOf( 'blob:' ) === 0\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tnoticeOperations.removeAllNotices();\n\t\t\tnoticeOperations.createErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\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\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? find( imageData, { id: block.attributes.id } )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\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 toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? find( imageData, { id: block.attributes.id } )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing 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\tconst imagesUploading = images.some( ( img ) =>\n\t\t! Platform.isNative\n\t\t\t? ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t\t\t: img.url?.indexOf( 'file:' ) === 0\n\t);\n\n\t// MediaPlaceholder props are different between web and native hence, we provide a platform-specific set.\n\tconst mediaPlaceholderProps = Platform.select( {\n\t\tweb: {\n\t\t\taddToGallery: false,\n\t\t\tdisableMediaButtons: imagesUploading,\n\t\t\tvalue: {},\n\t\t},\n\t\tnative: {\n\t\t\taddToGallery: hasImageIds,\n\t\t\tisAppender: hasImages,\n\t\t\tdisableMediaButtons:\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading,\n\t\t\tvalue: hasImageIds ? images : {},\n\t\t\tautoOpenMediaUpload:\n\t\t\t\t! hasImages && isSelected && wasBlockJustInserted,\n\t\t},\n\t} );\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\thandleUpload={ false }\n\t\t\ticon={ sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tonError={ onUploadError }\n\t\t\tnotices={ noticeUI }\n\t\t\t{ ...mediaPlaceholderProps }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, 'has-nested-images' ),\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn <View { ...blockProps }>{ mediaPlaceholder }</View>;\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\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\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\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\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\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{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<SelectControl\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\t{ Platform.isWeb && ! imageSizeOptions && hasImageIds && (\n\t\t\t\t\t\t<BaseControl className={ 'gallery-image-sizes' }>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Image size' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className={ 'gallery-image-sizes__loading' }>\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\tmultiple={ true }\n\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ noticeUI }\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<GapStyles\n\t\t\t\t\tblockGap={ attributes.style?.spacing?.blockGap }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={\n\t\t\t\t\t! hasImages || Platform.isNative\n\t\t\t\t\t\t? mediaPlaceholder\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</>\n\t);\n}\nexport default compose( [\n\twithNotices,\n\twithViewportMatch( { isNarrow: '< small' } ),\n] )( GalleryEdit );\n"]}
@@ -3,7 +3,7 @@ import { createElement } from "@wordpress/element";
3
3
  /**
4
4
  * WordPress dependencies
5
5
  */
6
- import { BlockList } from '@wordpress/block-editor';
6
+ import { BlockList, __experimentalGetGapCSSValue as getGapCSSValue } from '@wordpress/block-editor';
7
7
  import { useContext, createPortal } from '@wordpress/element';
8
8
  export default function GapStyles(_ref) {
9
9
  let {
@@ -19,13 +19,14 @@ export default function GapStyles(_ref) {
19
19
  let row; // Check for the possibility of split block gap values. See: https://github.com/WordPress/gutenberg/pull/37736
20
20
 
21
21
  if (!!blockGap) {
22
- row = typeof blockGap === 'string' ? blockGap : (blockGap === null || blockGap === void 0 ? void 0 : blockGap.top) || fallbackValue;
23
- column = typeof blockGap === 'string' ? blockGap : (blockGap === null || blockGap === void 0 ? void 0 : blockGap.left) || fallbackValue;
22
+ row = typeof blockGap === 'string' ? getGapCSSValue(blockGap) : getGapCSSValue(blockGap === null || blockGap === void 0 ? void 0 : blockGap.top) || fallbackValue;
23
+ column = typeof blockGap === 'string' ? getGapCSSValue(blockGap) : getGapCSSValue(blockGap === null || blockGap === void 0 ? void 0 : blockGap.left) || fallbackValue;
24
24
  gapValue = row === column ? row : `${row} ${column}`;
25
- }
25
+ } // The unstable gallery gap calculation requires a real value (such as `0px`) and not `0`.
26
+
26
27
 
27
28
  const gap = `#block-${clientId} {
28
- --wp--style--unstable-gallery-gap: ${column};
29
+ --wp--style--unstable-gallery-gap: ${column === '0' ? '0px' : column};
29
30
  gap: ${gapValue}
30
31
  }`;
31
32
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/gap-styles.js"],"names":["BlockList","useContext","createPortal","GapStyles","blockGap","clientId","styleElement","__unstableElementContext","fallbackValue","gapValue","column","row","top","left","gap","GapStyle"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,yBAA1B;AACA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,oBAAzC;AAEA,eAAe,SAASC,SAAT,OAA6C;AAAA,MAAzB;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAAyB;AAC3D,QAAMC,YAAY,GAAGL,UAAU,CAAED,SAAS,CAACO,wBAAZ,CAA/B,CAD2D,CAE3D;AACA;;AACA,QAAMC,aAAa,GAAI,oHAAvB;AACA,MAAIC,QAAQ,GAAGD,aAAf;AACA,MAAIE,MAAM,GAAGF,aAAb;AACA,MAAIG,GAAJ,CAP2D,CAS3D;;AACA,MAAK,CAAC,CAAEP,QAAR,EAAmB;AAClBO,IAAAA,GAAG,GACF,OAAOP,QAAP,KAAoB,QAApB,GACGA,QADH,GAEG,CAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAEQ,GAAV,KAAiBJ,aAHrB;AAIAE,IAAAA,MAAM,GACL,OAAON,QAAP,KAAoB,QAApB,GACGA,QADH,GAEG,CAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAES,IAAV,KAAkBL,aAHtB;AAIAC,IAAAA,QAAQ,GAAGE,GAAG,KAAKD,MAAR,GAAiBC,GAAjB,GAAwB,GAAGA,GAAK,IAAID,MAAQ,EAAvD;AACA;;AAED,QAAMI,GAAG,GAAI,UAAUT,QAAU;AAClC,uCAAwCK,MAAQ;AAChD,SAAUD,QAAU;AACpB,GAHC;;AAKA,QAAMM,QAAQ,GAAG,MAAM;AACtB,WAAO,6BAASD,GAAT,CAAP;AACA,GAFD;;AAIA,SAAOA,GAAG,IAAIR,YAAP,GACJJ,YAAY,CAAE,cAAC,QAAD,OAAF,EAAgBI,YAAhB,CADR,GAEJ,IAFH;AAGA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BlockList } from '@wordpress/block-editor';\nimport { useContext, createPortal } from '@wordpress/element';\n\nexport default function GapStyles( { blockGap, clientId } ) {\n\tconst styleElement = useContext( BlockList.__unstableElementContext );\n\t// --gallery-block--gutter-size is deprecated. --wp--style--gallery-gap-default should be used by themes that want to set a default\n\t// gap on the gallery.\n\tconst fallbackValue = `var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) )`;\n\tlet gapValue = fallbackValue;\n\tlet column = fallbackValue;\n\tlet row;\n\n\t// Check for the possibility of split block gap values. See: https://github.com/WordPress/gutenberg/pull/37736\n\tif ( !! blockGap ) {\n\t\trow =\n\t\t\ttypeof blockGap === 'string'\n\t\t\t\t? blockGap\n\t\t\t\t: blockGap?.top || fallbackValue;\n\t\tcolumn =\n\t\t\ttypeof blockGap === 'string'\n\t\t\t\t? blockGap\n\t\t\t\t: blockGap?.left || fallbackValue;\n\t\tgapValue = row === column ? row : `${ row } ${ column }`;\n\t}\n\n\tconst gap = `#block-${ clientId } {\n\t\t--wp--style--unstable-gallery-gap: ${ column };\n\t\tgap: ${ gapValue }\n\t}`;\n\n\tconst GapStyle = () => {\n\t\treturn <style>{ gap }</style>;\n\t};\n\n\treturn gap && styleElement\n\t\t? createPortal( <GapStyle />, styleElement )\n\t\t: null;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/gap-styles.js"],"names":["BlockList","__experimentalGetGapCSSValue","getGapCSSValue","useContext","createPortal","GapStyles","blockGap","clientId","styleElement","__unstableElementContext","fallbackValue","gapValue","column","row","top","left","gap","GapStyle"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,SADD,EAECC,4BAA4B,IAAIC,cAFjC,QAGO,yBAHP;AAIA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,oBAAzC;AAEA,eAAe,SAASC,SAAT,OAA6C;AAAA,MAAzB;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAAyB;AAC3D,QAAMC,YAAY,GAAGL,UAAU,CAAEH,SAAS,CAACS,wBAAZ,CAA/B,CAD2D,CAE3D;AACA;;AACA,QAAMC,aAAa,GAAI,oHAAvB;AACA,MAAIC,QAAQ,GAAGD,aAAf;AACA,MAAIE,MAAM,GAAGF,aAAb;AACA,MAAIG,GAAJ,CAP2D,CAS3D;;AACA,MAAK,CAAC,CAAEP,QAAR,EAAmB;AAClBO,IAAAA,GAAG,GACF,OAAOP,QAAP,KAAoB,QAApB,GACGJ,cAAc,CAAEI,QAAF,CADjB,GAEGJ,cAAc,CAAEI,QAAF,aAAEA,QAAF,uBAAEA,QAAQ,CAAEQ,GAAZ,CAAd,IAAmCJ,aAHvC;AAIAE,IAAAA,MAAM,GACL,OAAON,QAAP,KAAoB,QAApB,GACGJ,cAAc,CAAEI,QAAF,CADjB,GAEGJ,cAAc,CAAEI,QAAF,aAAEA,QAAF,uBAAEA,QAAQ,CAAES,IAAZ,CAAd,IAAoCL,aAHxC;AAIAC,IAAAA,QAAQ,GAAGE,GAAG,KAAKD,MAAR,GAAiBC,GAAjB,GAAwB,GAAGA,GAAK,IAAID,MAAQ,EAAvD;AACA,GApB0D,CAsB3D;;;AACA,QAAMI,GAAG,GAAI,UAAUT,QAAU;AAClC,uCAAwCK,MAAM,KAAK,GAAX,GAAiB,KAAjB,GAAyBA,MAAQ;AACzE,SAAUD,QAAU;AACpB,GAHC;;AAKA,QAAMM,QAAQ,GAAG,MAAM;AACtB,WAAO,6BAASD,GAAT,CAAP;AACA,GAFD;;AAIA,SAAOA,GAAG,IAAIR,YAAP,GACJJ,YAAY,CAAE,cAAC,QAAD,OAAF,EAAgBI,YAAhB,CADR,GAEJ,IAFH;AAGA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockList,\n\t__experimentalGetGapCSSValue as getGapCSSValue,\n} from '@wordpress/block-editor';\nimport { useContext, createPortal } from '@wordpress/element';\n\nexport default function GapStyles( { blockGap, clientId } ) {\n\tconst styleElement = useContext( BlockList.__unstableElementContext );\n\t// --gallery-block--gutter-size is deprecated. --wp--style--gallery-gap-default should be used by themes that want to set a default\n\t// gap on the gallery.\n\tconst fallbackValue = `var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) )`;\n\tlet gapValue = fallbackValue;\n\tlet column = fallbackValue;\n\tlet row;\n\n\t// Check for the possibility of split block gap values. See: https://github.com/WordPress/gutenberg/pull/37736\n\tif ( !! blockGap ) {\n\t\trow =\n\t\t\ttypeof blockGap === 'string'\n\t\t\t\t? getGapCSSValue( blockGap )\n\t\t\t\t: getGapCSSValue( blockGap?.top ) || fallbackValue;\n\t\tcolumn =\n\t\t\ttypeof blockGap === 'string'\n\t\t\t\t? getGapCSSValue( blockGap )\n\t\t\t\t: getGapCSSValue( blockGap?.left ) || fallbackValue;\n\t\tgapValue = row === column ? row : `${ row } ${ column }`;\n\t}\n\n\t// The unstable gallery gap calculation requires a real value (such as `0px`) and not `0`.\n\tconst gap = `#block-${ clientId } {\n\t\t--wp--style--unstable-gallery-gap: ${ column === '0' ? '0px' : column };\n\t\tgap: ${ gapValue }\n\t}`;\n\n\tconst GapStyle = () => {\n\t\treturn <style>{ gap }</style>;\n\t};\n\n\treturn gap && styleElement\n\t\t? createPortal( <GapStyle />, styleElement )\n\t\t: null;\n}\n"]}
@@ -126,6 +126,11 @@ const metadata = {
126
126
  blockGap: true
127
127
  }
128
128
  },
129
+ color: {
130
+ text: false,
131
+ background: true,
132
+ gradients: true
133
+ },
129
134
  __experimentalLayout: {
130
135
  allowSwitching: false,
131
136
  allowInheriting: false,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/index.js"],"names":["gallery","icon","deprecated","edit","save","transforms","name","metadata","settings","example","attributes","columns","innerBlocks","url"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,IAAIC,IAApB,QAAgC,kBAAhC;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBP,EAAAA,IADuB;AAEvBQ,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,OAAO,EAAE;AADE,KADJ;AAIRC,IAAAA,WAAW,EAAE,CACZ;AACCN,MAAAA,IAAI,EAAE,YADP;AAECI,MAAAA,UAAU,EAAE;AACXG,QAAAA,GAAG,EAAE;AADM;AAFb,KADY,EAOZ;AACCP,MAAAA,IAAI,EAAE,YADP;AAECI,MAAAA,UAAU,EAAE;AACXG,QAAAA,GAAG,EAAE;AADM;AAFb,KAPY;AAJL,GAFc;AAqBvBR,EAAAA,UArBuB;AAsBvBF,EAAAA,IAtBuB;AAuBvBC,EAAAA,IAvBuB;AAwBvBF,EAAAA;AAxBuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { gallery as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit-wrapper';\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\tcolumns: 2,\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/image',\n\t\t\t\tattributes: {\n\t\t\t\t\turl: 'https://s.w.org/images/core/5.3/Glacial_lakes%2C_Bhutan.jpg',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/image',\n\t\t\t\tattributes: {\n\t\t\t\t\turl: 'https://s.w.org/images/core/5.3/Sediment_off_the_Yucatan_Peninsula.jpg',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/index.js"],"names":["gallery","icon","deprecated","edit","save","transforms","name","metadata","settings","example","attributes","columns","innerBlocks","url"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,IAAIC,IAApB,QAAgC,kBAAhC;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBP,EAAAA,IADuB;AAEvBQ,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,OAAO,EAAE;AADE,KADJ;AAIRC,IAAAA,WAAW,EAAE,CACZ;AACCN,MAAAA,IAAI,EAAE,YADP;AAECI,MAAAA,UAAU,EAAE;AACXG,QAAAA,GAAG,EAAE;AADM;AAFb,KADY,EAOZ;AACCP,MAAAA,IAAI,EAAE,YADP;AAECI,MAAAA,UAAU,EAAE;AACXG,QAAAA,GAAG,EAAE;AADM;AAFb,KAPY;AAJL,GAFc;AAqBvBR,EAAAA,UArBuB;AAsBvBF,EAAAA,IAtBuB;AAuBvBC,EAAAA,IAvBuB;AAwBvBF,EAAAA;AAxBuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { gallery as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit-wrapper';\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\tcolumns: 2,\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/image',\n\t\t\t\tattributes: {\n\t\t\t\t\turl: 'https://s.w.org/images/core/5.3/Glacial_lakes%2C_Bhutan.jpg',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/image',\n\t\t\t\tattributes: {\n\t\t\t\t\turl: 'https://s.w.org/images/core/5.3/Sediment_off_the_Yucatan_Peninsula.jpg',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n"]}
@@ -143,6 +143,9 @@ const transforms = {
143
143
 
144
144
  if (isGalleryV2Enabled()) {
145
145
  const innerBlocks = validImages.map(image => {
146
+ // Gallery images can't currently be resized so make sure height and width are undefined.
147
+ image.width = undefined;
148
+ image.height = undefined;
146
149
  return createBlock('core/image', image);
147
150
  });
148
151
  return createBlock('core/gallery', {
@@ -336,26 +339,36 @@ const transforms = {
336
339
  return innerBlocks.map(_ref14 => {
337
340
  let {
338
341
  attributes: {
339
- id,
340
342
  url,
341
343
  alt,
342
344
  caption,
345
+ title,
346
+ href,
347
+ rel,
348
+ linkClass,
349
+ id,
343
350
  sizeSlug: imageSizeSlug,
344
351
  linkDestination,
345
- href,
346
- linkTarget
352
+ linkTarget,
353
+ anchor,
354
+ className
347
355
  }
348
356
  } = _ref14;
349
357
  return createBlock('core/image', {
350
- id,
358
+ align,
351
359
  url,
352
360
  alt,
353
361
  caption,
362
+ title,
363
+ href,
364
+ rel,
365
+ linkClass,
366
+ id,
354
367
  sizeSlug: imageSizeSlug,
355
- align,
356
368
  linkDestination,
357
- href,
358
- linkTarget
369
+ linkTarget,
370
+ anchor,
371
+ className
359
372
  });
360
373
  });
361
374
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/transforms.js"],"names":["filter","every","createBlock","createBlobURL","addFilter","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","DEPRECATED_LINK_DESTINATION_ATTACHMENT","DEPRECATED_LINK_DESTINATION_MEDIA","pickRelevantMediaFiles","isGalleryV2Enabled","parseShortcodeIds","ids","split","map","id","parseInt","updateThirdPartyTransformToGallery","block","name","attributes","images","length","innerBlocks","url","alt","sizeSlug","linkDestination","updateThirdPartyTransformFromGallery","toBlock","fromBlocks","from","Array","isArray","galleryBlock","find","transformedBlock","includes","transforms","type","isMultiBlock","blocks","transform","align","undefined","validImages","image","caption","toString","tag","shortcode","named","columns","linkTo","link","imageIds","imageId","isMatch","priority","files","file","indexOf","to","imageSizeSlug","href","linkTarget","index"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { filter, every } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_MEDIA,\n} from './constants';\nimport {\n\tLINK_DESTINATION_ATTACHMENT as DEPRECATED_LINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA as DEPRECATED_LINK_DESTINATION_MEDIA,\n} from './v1/constants';\nimport { pickRelevantMediaFiles, isGalleryV2Enabled } from './shared';\n\nconst parseShortcodeIds = ( ids ) => {\n\tif ( ! ids ) {\n\t\treturn [];\n\t}\n\n\treturn ids.split( ',' ).map( ( id ) => parseInt( id, 10 ) );\n};\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * 3rdPartyBlock -> GalleryBlock transform so this tranform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} block The transformed block.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformToGallery( block ) {\n\tif (\n\t\tisGalleryV2Enabled() &&\n\t\tblock.name === 'core/gallery' &&\n\t\tblock.attributes?.images.length > 0\n\t) {\n\t\tconst innerBlocks = block.attributes.images.map(\n\t\t\t( { url, id, alt } ) => {\n\t\t\t\treturn createBlock( 'core/image', {\n\t\t\t\t\turl,\n\t\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\t\talt,\n\t\t\t\t\tsizeSlug: block.attributes.sizeSlug,\n\t\t\t\t\tlinkDestination: block.attributes.linkDestination,\n\t\t\t\t} );\n\t\t\t}\n\t\t);\n\n\t\tdelete block.attributes.ids;\n\t\tdelete block.attributes.images;\n\t\tblock.innerBlocks = innerBlocks;\n\t}\n\n\treturn block;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-to',\n\tupdateThirdPartyTransformToGallery\n);\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * GalleryBlock -> 3rdPartyBlock transform so this transform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} toBlock The block to transform to.\n * @param {Block[]} fromBlocks The blocks to transform from.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformFromGallery( toBlock, fromBlocks ) {\n\tconst from = Array.isArray( fromBlocks ) ? fromBlocks : [ fromBlocks ];\n\tconst galleryBlock = from.find(\n\t\t( transformedBlock ) =>\n\t\t\ttransformedBlock.name === 'core/gallery' &&\n\t\t\ttransformedBlock.innerBlocks.length > 0 &&\n\t\t\t! transformedBlock.attributes.images?.length > 0 &&\n\t\t\t! toBlock.name.includes( 'core/' )\n\t);\n\n\tif ( galleryBlock ) {\n\t\tconst images = galleryBlock.innerBlocks.map(\n\t\t\t( { attributes: { url, id, alt } } ) => ( {\n\t\t\t\turl,\n\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\talt,\n\t\t\t} )\n\t\t);\n\t\tconst ids = images.map( ( { id } ) => id );\n\t\tgalleryBlock.attributes.images = images;\n\t\tgalleryBlock.attributes.ids = ids;\n\t}\n\n\treturn toBlock;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-from',\n\tupdateThirdPartyTransformFromGallery\n);\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\t// Init the align and size from the first item which may be either the placeholder or an image.\n\t\t\t\tlet { align, sizeSlug } = attributes[ 0 ];\n\t\t\t\t// Loop through all the images and check if they have the same align and size.\n\t\t\t\talign = every( attributes, [ 'align', align ] )\n\t\t\t\t\t? align\n\t\t\t\t\t: undefined;\n\t\t\t\tsizeSlug = every( attributes, [ 'sizeSlug', sizeSlug ] )\n\t\t\t\t\t? sizeSlug\n\t\t\t\t\t: undefined;\n\n\t\t\t\tconst validImages = filter( attributes, ( { url } ) => url );\n\n\t\t\t\tif ( isGalleryV2Enabled() ) {\n\t\t\t\t\tconst innerBlocks = validImages.map( ( image ) => {\n\t\t\t\t\t\treturn createBlock( 'core/image', image );\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t'core/gallery',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\tsizeSlug,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerBlocks\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( 'core/gallery', {\n\t\t\t\t\timages: validImages.map(\n\t\t\t\t\t\t( { id, url, alt, caption } ) => ( {\n\t\t\t\t\t\t\tid: id.toString(),\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t} )\n\t\t\t\t\t),\n\t\t\t\t\tids: validImages.map( ( { id } ) => parseInt( id, 10 ) ),\n\t\t\t\t\talign,\n\t\t\t\t\tsizeSlug,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'shortcode',\n\t\t\ttag: 'gallery',\n\n\t\t\tattributes: {\n\t\t\t\timages: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tshortcode: ( { named: { ids } } ) => {\n\t\t\t\t\t\tif ( ! isGalleryV2Enabled() ) {\n\t\t\t\t\t\t\treturn parseShortcodeIds( ids ).map( ( id ) => ( {\n\t\t\t\t\t\t\t\tid: id.toString(),\n\t\t\t\t\t\t\t} ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tids: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tshortcode: ( { named: { ids } } ) => {\n\t\t\t\t\t\tif ( ! isGalleryV2Enabled() ) {\n\t\t\t\t\t\t\treturn parseShortcodeIds( ids );\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tcolumns: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tshortcode: ( { named: { columns = '3' } } ) => {\n\t\t\t\t\t\treturn parseInt( columns, 10 );\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlinkTo: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { link } } ) => {\n\t\t\t\t\t\tif ( ! isGalleryV2Enabled() ) {\n\t\t\t\t\t\t\tswitch ( link ) {\n\t\t\t\t\t\t\t\tcase 'post':\n\t\t\t\t\t\t\t\t\treturn DEPRECATED_LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\t\t\tcase 'file':\n\t\t\t\t\t\t\t\t\treturn DEPRECATED_LINK_DESTINATION_MEDIA;\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn DEPRECATED_LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tswitch ( link ) {\n\t\t\t\t\t\t\tcase 'post':\n\t\t\t\t\t\t\t\treturn LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\t\tcase 'file':\n\t\t\t\t\t\t\t\treturn LINK_DESTINATION_MEDIA;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\treturn LINK_DESTINATION_NONE;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\ttransform( { named: { ids, columns = 3, link } } ) {\n\t\t\t\tconst imageIds = parseShortcodeIds( ids ).map( ( id ) =>\n\t\t\t\t\tparseInt( id, 10 )\n\t\t\t\t);\n\n\t\t\t\tlet linkTo = LINK_DESTINATION_NONE;\n\t\t\t\tif ( link === 'post' ) {\n\t\t\t\t\tlinkTo = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t} else if ( link === 'file' ) {\n\t\t\t\t\tlinkTo = LINK_DESTINATION_MEDIA;\n\t\t\t\t}\n\n\t\t\t\tconst galleryBlock = createBlock(\n\t\t\t\t\t'core/gallery',\n\t\t\t\t\t{\n\t\t\t\t\t\tcolumns: parseInt( columns, 10 ),\n\t\t\t\t\t\tlinkTo,\n\t\t\t\t\t},\n\t\t\t\t\timageIds.map( ( imageId ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', { id: imageId } )\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\treturn galleryBlock;\n\t\t\t},\n\t\t\tisMatch( { named } ) {\n\t\t\t\treturn undefined !== named.ids;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t// When created by drag and dropping multiple files on an insertion point. Because multiple\n\t\t\t// files must not be transformed to a gallery when dropped within a gallery there is another transform\n\t\t\t// within the image block to handle that case. Therefore this transform has to have priority 1\n\t\t\t// set so that it overrrides the image block transformation when mulitple images are dropped outside\n\t\t\t// of a gallery block.\n\t\t\ttype: 'files',\n\t\t\tpriority: 1,\n\t\t\tisMatch( files ) {\n\t\t\t\treturn (\n\t\t\t\t\tfiles.length !== 1 &&\n\t\t\t\t\tevery(\n\t\t\t\t\t\tfiles,\n\t\t\t\t\t\t( file ) => file.type.indexOf( 'image/' ) === 0\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform( files ) {\n\t\t\t\tif ( isGalleryV2Enabled() ) {\n\t\t\t\t\tconst innerBlocks = files.map( ( file ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\n\t\t\t\t\treturn createBlock( 'core/gallery', {}, innerBlocks );\n\t\t\t\t}\n\t\t\t\tconst block = createBlock( 'core/gallery', {\n\t\t\t\t\timages: files.map( ( file ) =>\n\t\t\t\t\t\tpickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t\treturn block;\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( { align, images, ids, sizeSlug }, innerBlocks ) => {\n\t\t\t\tif ( isGalleryV2Enabled() ) {\n\t\t\t\t\tif ( innerBlocks.length > 0 ) {\n\t\t\t\t\t\treturn innerBlocks.map(\n\t\t\t\t\t\t\t( {\n\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\t\tlinkTarget,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\t\tlinkTarget,\n\t\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\treturn createBlock( 'core/image', { align } );\n\t\t\t\t}\n\t\t\t\tif ( images.length > 0 ) {\n\t\t\t\t\treturn images.map( ( { url, alt, caption }, index ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\tid: ids[ index ],\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\tsizeSlug,\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn createBlock( 'core/image', { align } );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/transforms.js"],"names":["filter","every","createBlock","createBlobURL","addFilter","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","DEPRECATED_LINK_DESTINATION_ATTACHMENT","DEPRECATED_LINK_DESTINATION_MEDIA","pickRelevantMediaFiles","isGalleryV2Enabled","parseShortcodeIds","ids","split","map","id","parseInt","updateThirdPartyTransformToGallery","block","name","attributes","images","length","innerBlocks","url","alt","sizeSlug","linkDestination","updateThirdPartyTransformFromGallery","toBlock","fromBlocks","from","Array","isArray","galleryBlock","find","transformedBlock","includes","transforms","type","isMultiBlock","blocks","transform","align","undefined","validImages","image","width","height","caption","toString","tag","shortcode","named","columns","linkTo","link","imageIds","imageId","isMatch","priority","files","file","indexOf","to","title","href","rel","linkClass","imageSizeSlug","linkTarget","anchor","className","index"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { filter, every } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_MEDIA,\n} from './constants';\nimport {\n\tLINK_DESTINATION_ATTACHMENT as DEPRECATED_LINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA as DEPRECATED_LINK_DESTINATION_MEDIA,\n} from './v1/constants';\nimport { pickRelevantMediaFiles, isGalleryV2Enabled } from './shared';\n\nconst parseShortcodeIds = ( ids ) => {\n\tif ( ! ids ) {\n\t\treturn [];\n\t}\n\n\treturn ids.split( ',' ).map( ( id ) => parseInt( id, 10 ) );\n};\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * 3rdPartyBlock -> GalleryBlock transform so this tranform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} block The transformed block.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformToGallery( block ) {\n\tif (\n\t\tisGalleryV2Enabled() &&\n\t\tblock.name === 'core/gallery' &&\n\t\tblock.attributes?.images.length > 0\n\t) {\n\t\tconst innerBlocks = block.attributes.images.map(\n\t\t\t( { url, id, alt } ) => {\n\t\t\t\treturn createBlock( 'core/image', {\n\t\t\t\t\turl,\n\t\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\t\talt,\n\t\t\t\t\tsizeSlug: block.attributes.sizeSlug,\n\t\t\t\t\tlinkDestination: block.attributes.linkDestination,\n\t\t\t\t} );\n\t\t\t}\n\t\t);\n\n\t\tdelete block.attributes.ids;\n\t\tdelete block.attributes.images;\n\t\tblock.innerBlocks = innerBlocks;\n\t}\n\n\treturn block;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-to',\n\tupdateThirdPartyTransformToGallery\n);\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * GalleryBlock -> 3rdPartyBlock transform so this transform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} toBlock The block to transform to.\n * @param {Block[]} fromBlocks The blocks to transform from.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformFromGallery( toBlock, fromBlocks ) {\n\tconst from = Array.isArray( fromBlocks ) ? fromBlocks : [ fromBlocks ];\n\tconst galleryBlock = from.find(\n\t\t( transformedBlock ) =>\n\t\t\ttransformedBlock.name === 'core/gallery' &&\n\t\t\ttransformedBlock.innerBlocks.length > 0 &&\n\t\t\t! transformedBlock.attributes.images?.length > 0 &&\n\t\t\t! toBlock.name.includes( 'core/' )\n\t);\n\n\tif ( galleryBlock ) {\n\t\tconst images = galleryBlock.innerBlocks.map(\n\t\t\t( { attributes: { url, id, alt } } ) => ( {\n\t\t\t\turl,\n\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\talt,\n\t\t\t} )\n\t\t);\n\t\tconst ids = images.map( ( { id } ) => id );\n\t\tgalleryBlock.attributes.images = images;\n\t\tgalleryBlock.attributes.ids = ids;\n\t}\n\n\treturn toBlock;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-from',\n\tupdateThirdPartyTransformFromGallery\n);\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\t// Init the align and size from the first item which may be either the placeholder or an image.\n\t\t\t\tlet { align, sizeSlug } = attributes[ 0 ];\n\t\t\t\t// Loop through all the images and check if they have the same align and size.\n\t\t\t\talign = every( attributes, [ 'align', align ] )\n\t\t\t\t\t? align\n\t\t\t\t\t: undefined;\n\t\t\t\tsizeSlug = every( attributes, [ 'sizeSlug', sizeSlug ] )\n\t\t\t\t\t? sizeSlug\n\t\t\t\t\t: undefined;\n\n\t\t\t\tconst validImages = filter( attributes, ( { url } ) => url );\n\n\t\t\t\tif ( isGalleryV2Enabled() ) {\n\t\t\t\t\tconst innerBlocks = validImages.map( ( image ) => {\n\t\t\t\t\t\t// Gallery images can't currently be resized so make sure height and width are undefined.\n\t\t\t\t\t\timage.width = undefined;\n\t\t\t\t\t\timage.height = undefined;\n\t\t\t\t\t\treturn createBlock( 'core/image', image );\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t'core/gallery',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\tsizeSlug,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerBlocks\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( 'core/gallery', {\n\t\t\t\t\timages: validImages.map(\n\t\t\t\t\t\t( { id, url, alt, caption } ) => ( {\n\t\t\t\t\t\t\tid: id.toString(),\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t} )\n\t\t\t\t\t),\n\t\t\t\t\tids: validImages.map( ( { id } ) => parseInt( id, 10 ) ),\n\t\t\t\t\talign,\n\t\t\t\t\tsizeSlug,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'shortcode',\n\t\t\ttag: 'gallery',\n\n\t\t\tattributes: {\n\t\t\t\timages: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tshortcode: ( { named: { ids } } ) => {\n\t\t\t\t\t\tif ( ! isGalleryV2Enabled() ) {\n\t\t\t\t\t\t\treturn parseShortcodeIds( ids ).map( ( id ) => ( {\n\t\t\t\t\t\t\t\tid: id.toString(),\n\t\t\t\t\t\t\t} ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tids: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tshortcode: ( { named: { ids } } ) => {\n\t\t\t\t\t\tif ( ! isGalleryV2Enabled() ) {\n\t\t\t\t\t\t\treturn parseShortcodeIds( ids );\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tcolumns: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tshortcode: ( { named: { columns = '3' } } ) => {\n\t\t\t\t\t\treturn parseInt( columns, 10 );\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlinkTo: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { link } } ) => {\n\t\t\t\t\t\tif ( ! isGalleryV2Enabled() ) {\n\t\t\t\t\t\t\tswitch ( link ) {\n\t\t\t\t\t\t\t\tcase 'post':\n\t\t\t\t\t\t\t\t\treturn DEPRECATED_LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\t\t\tcase 'file':\n\t\t\t\t\t\t\t\t\treturn DEPRECATED_LINK_DESTINATION_MEDIA;\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn DEPRECATED_LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tswitch ( link ) {\n\t\t\t\t\t\t\tcase 'post':\n\t\t\t\t\t\t\t\treturn LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\t\tcase 'file':\n\t\t\t\t\t\t\t\treturn LINK_DESTINATION_MEDIA;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\treturn LINK_DESTINATION_NONE;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\ttransform( { named: { ids, columns = 3, link } } ) {\n\t\t\t\tconst imageIds = parseShortcodeIds( ids ).map( ( id ) =>\n\t\t\t\t\tparseInt( id, 10 )\n\t\t\t\t);\n\n\t\t\t\tlet linkTo = LINK_DESTINATION_NONE;\n\t\t\t\tif ( link === 'post' ) {\n\t\t\t\t\tlinkTo = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t} else if ( link === 'file' ) {\n\t\t\t\t\tlinkTo = LINK_DESTINATION_MEDIA;\n\t\t\t\t}\n\n\t\t\t\tconst galleryBlock = createBlock(\n\t\t\t\t\t'core/gallery',\n\t\t\t\t\t{\n\t\t\t\t\t\tcolumns: parseInt( columns, 10 ),\n\t\t\t\t\t\tlinkTo,\n\t\t\t\t\t},\n\t\t\t\t\timageIds.map( ( imageId ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', { id: imageId } )\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\treturn galleryBlock;\n\t\t\t},\n\t\t\tisMatch( { named } ) {\n\t\t\t\treturn undefined !== named.ids;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t// When created by drag and dropping multiple files on an insertion point. Because multiple\n\t\t\t// files must not be transformed to a gallery when dropped within a gallery there is another transform\n\t\t\t// within the image block to handle that case. Therefore this transform has to have priority 1\n\t\t\t// set so that it overrrides the image block transformation when mulitple images are dropped outside\n\t\t\t// of a gallery block.\n\t\t\ttype: 'files',\n\t\t\tpriority: 1,\n\t\t\tisMatch( files ) {\n\t\t\t\treturn (\n\t\t\t\t\tfiles.length !== 1 &&\n\t\t\t\t\tevery(\n\t\t\t\t\t\tfiles,\n\t\t\t\t\t\t( file ) => file.type.indexOf( 'image/' ) === 0\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform( files ) {\n\t\t\t\tif ( isGalleryV2Enabled() ) {\n\t\t\t\t\tconst innerBlocks = files.map( ( file ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\n\t\t\t\t\treturn createBlock( 'core/gallery', {}, innerBlocks );\n\t\t\t\t}\n\t\t\t\tconst block = createBlock( 'core/gallery', {\n\t\t\t\t\timages: files.map( ( file ) =>\n\t\t\t\t\t\tpickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t\treturn block;\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( { align, images, ids, sizeSlug }, innerBlocks ) => {\n\t\t\t\tif ( isGalleryV2Enabled() ) {\n\t\t\t\t\tif ( innerBlocks.length > 0 ) {\n\t\t\t\t\t\treturn innerBlocks.map(\n\t\t\t\t\t\t\t( {\n\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\t\t\t\tlinkTarget,\n\t\t\t\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\t\t\t\tlinkTarget,\n\t\t\t\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t\t\t\tclassName,\n\t\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\treturn createBlock( 'core/image', { align } );\n\t\t\t\t}\n\t\t\t\tif ( images.length > 0 ) {\n\t\t\t\t\treturn images.map( ( { url, alt, caption }, index ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\tid: ids[ index ],\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\tsizeSlug,\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn createBlock( 'core/image', { align } );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
@@ -4,18 +4,19 @@
4
4
  import { LINK_DESTINATION_ATTACHMENT, LINK_DESTINATION_MEDIA, LINK_DESTINATION_NONE, LINK_DESTINATION_MEDIA_WP_CORE, LINK_DESTINATION_ATTACHMENT_WP_CORE } from './constants';
5
5
  import { LINK_DESTINATION_ATTACHMENT as IMAGE_LINK_DESTINATION_ATTACHMENT, LINK_DESTINATION_MEDIA as IMAGE_LINK_DESTINATION_MEDIA, LINK_DESTINATION_NONE as IMAGE_LINK_DESTINATION_NONE } from '../image/constants';
6
6
  /**
7
- * Determines new href and linkDestination values for an image block from the
8
- * supplied Gallery link destination.
7
+ * Determines new href and linkDestination values for an Image block from the
8
+ * supplied Gallery link destination, or falls back to the Image blocks link.
9
9
  *
10
- * @param {Object} image Gallery image.
11
- * @param {string} destination Gallery's selected link destination.
10
+ * @param {Object} image Gallery image.
11
+ * @param {string} galleryDestination Gallery's selected link destination.
12
+ * @param {Object} imageDestination Image blocks attributes.
12
13
  * @return {Object} New attributes to assign to image block.
13
14
  */
14
15
 
15
- export function getHrefAndDestination(image, destination) {
16
+ export function getHrefAndDestination(image, galleryDestination, imageDestination) {
16
17
  // Gutenberg and WordPress use different constants so if image_default_link_type
17
18
  // option is set we need to map from the WP Core values.
18
- switch (destination) {
19
+ switch (imageDestination ? imageDestination : galleryDestination) {
19
20
  case LINK_DESTINATION_MEDIA_WP_CORE:
20
21
  case LINK_DESTINATION_MEDIA:
21
22
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/utils.js"],"names":["LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA_WP_CORE","LINK_DESTINATION_ATTACHMENT_WP_CORE","IMAGE_LINK_DESTINATION_ATTACHMENT","IMAGE_LINK_DESTINATION_MEDIA","IMAGE_LINK_DESTINATION_NONE","getHrefAndDestination","image","destination","href","source_url","url","linkDestination","link","undefined"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,2BADD,EAECC,sBAFD,EAGCC,qBAHD,EAICC,8BAJD,EAKCC,mCALD,QAMO,aANP;AAOA,SACCJ,2BAA2B,IAAIK,iCADhC,EAECJ,sBAAsB,IAAIK,4BAF3B,EAGCJ,qBAAqB,IAAIK,2BAH1B,QAIO,oBAJP;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,qBAAT,CAAgCC,KAAhC,EAAuCC,WAAvC,EAAqD;AAC3D;AACA;AAEA,UAASA,WAAT;AACC,SAAKP,8BAAL;AACA,SAAKF,sBAAL;AACC,aAAO;AACNU,QAAAA,IAAI,EAAE,CAAAF,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEG,UAAP,MAAqBH,KAArB,aAAqBA,KAArB,uBAAqBA,KAAK,CAAEI,GAA5B,CADA;AACiC;AACvCC,QAAAA,eAAe,EAAER;AAFX,OAAP;;AAID,SAAKF,mCAAL;AACA,SAAKJ,2BAAL;AACC,aAAO;AACNW,QAAAA,IAAI,EAAEF,KAAF,aAAEA,KAAF,uBAAEA,KAAK,CAAEM,IADP;AAEND,QAAAA,eAAe,EAAET;AAFX,OAAP;;AAID,SAAKH,qBAAL;AACC,aAAO;AACNS,QAAAA,IAAI,EAAEK,SADA;AAENF,QAAAA,eAAe,EAAEP;AAFX,OAAP;AAdF;;AAoBA,SAAO,EAAP;AACA","sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_MEDIA_WP_CORE,\n\tLINK_DESTINATION_ATTACHMENT_WP_CORE,\n} from './constants';\nimport {\n\tLINK_DESTINATION_ATTACHMENT as IMAGE_LINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA as IMAGE_LINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE as IMAGE_LINK_DESTINATION_NONE,\n} from '../image/constants';\n\n/**\n * Determines new href and linkDestination values for an image block from the\n * supplied Gallery link destination.\n *\n * @param {Object} image Gallery image.\n * @param {string} destination Gallery's selected link destination.\n * @return {Object} New attributes to assign to image block.\n */\nexport function getHrefAndDestination( image, destination ) {\n\t// Gutenberg and WordPress use different constants so if image_default_link_type\n\t// option is set we need to map from the WP Core values.\n\n\tswitch ( destination ) {\n\t\tcase LINK_DESTINATION_MEDIA_WP_CORE:\n\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\treturn {\n\t\t\t\thref: image?.source_url || image?.url, // eslint-disable-line camelcase\n\t\t\t\tlinkDestination: IMAGE_LINK_DESTINATION_MEDIA,\n\t\t\t};\n\t\tcase LINK_DESTINATION_ATTACHMENT_WP_CORE:\n\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\treturn {\n\t\t\t\thref: image?.link,\n\t\t\t\tlinkDestination: IMAGE_LINK_DESTINATION_ATTACHMENT,\n\t\t\t};\n\t\tcase LINK_DESTINATION_NONE:\n\t\t\treturn {\n\t\t\t\thref: undefined,\n\t\t\t\tlinkDestination: IMAGE_LINK_DESTINATION_NONE,\n\t\t\t};\n\t}\n\n\treturn {};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/utils.js"],"names":["LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA_WP_CORE","LINK_DESTINATION_ATTACHMENT_WP_CORE","IMAGE_LINK_DESTINATION_ATTACHMENT","IMAGE_LINK_DESTINATION_MEDIA","IMAGE_LINK_DESTINATION_NONE","getHrefAndDestination","image","galleryDestination","imageDestination","href","source_url","url","linkDestination","link","undefined"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,2BADD,EAECC,sBAFD,EAGCC,qBAHD,EAICC,8BAJD,EAKCC,mCALD,QAMO,aANP;AAOA,SACCJ,2BAA2B,IAAIK,iCADhC,EAECJ,sBAAsB,IAAIK,4BAF3B,EAGCJ,qBAAqB,IAAIK,2BAH1B,QAIO,oBAJP;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,qBAAT,CACNC,KADM,EAENC,kBAFM,EAGNC,gBAHM,EAIL;AACD;AACA;AACA,UAASA,gBAAgB,GAAGA,gBAAH,GAAsBD,kBAA/C;AACC,SAAKP,8BAAL;AACA,SAAKF,sBAAL;AACC,aAAO;AACNW,QAAAA,IAAI,EAAE,CAAAH,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEI,UAAP,MAAqBJ,KAArB,aAAqBA,KAArB,uBAAqBA,KAAK,CAAEK,GAA5B,CADA;AACiC;AACvCC,QAAAA,eAAe,EAAET;AAFX,OAAP;;AAID,SAAKF,mCAAL;AACA,SAAKJ,2BAAL;AACC,aAAO;AACNY,QAAAA,IAAI,EAAEH,KAAF,aAAEA,KAAF,uBAAEA,KAAK,CAAEO,IADP;AAEND,QAAAA,eAAe,EAAEV;AAFX,OAAP;;AAID,SAAKH,qBAAL;AACC,aAAO;AACNU,QAAAA,IAAI,EAAEK,SADA;AAENF,QAAAA,eAAe,EAAER;AAFX,OAAP;AAdF;;AAoBA,SAAO,EAAP;AACA","sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_MEDIA_WP_CORE,\n\tLINK_DESTINATION_ATTACHMENT_WP_CORE,\n} from './constants';\nimport {\n\tLINK_DESTINATION_ATTACHMENT as IMAGE_LINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA as IMAGE_LINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE as IMAGE_LINK_DESTINATION_NONE,\n} from '../image/constants';\n\n/**\n * Determines new href and linkDestination values for an Image block from the\n * supplied Gallery link destination, or falls back to the Image blocks link.\n *\n * @param {Object} image Gallery image.\n * @param {string} galleryDestination Gallery's selected link destination.\n * @param {Object} imageDestination Image blocks attributes.\n * @return {Object} New attributes to assign to image block.\n */\nexport function getHrefAndDestination(\n\timage,\n\tgalleryDestination,\n\timageDestination\n) {\n\t// Gutenberg and WordPress use different constants so if image_default_link_type\n\t// option is set we need to map from the WP Core values.\n\tswitch ( imageDestination ? imageDestination : galleryDestination ) {\n\t\tcase LINK_DESTINATION_MEDIA_WP_CORE:\n\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\treturn {\n\t\t\t\thref: image?.source_url || image?.url, // eslint-disable-line camelcase\n\t\t\t\tlinkDestination: IMAGE_LINK_DESTINATION_MEDIA,\n\t\t\t};\n\t\tcase LINK_DESTINATION_ATTACHMENT_WP_CORE:\n\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\treturn {\n\t\t\t\thref: image?.link,\n\t\t\t\tlinkDestination: IMAGE_LINK_DESTINATION_ATTACHMENT,\n\t\t\t};\n\t\tcase LINK_DESTINATION_NONE:\n\t\t\treturn {\n\t\t\t\thref: undefined,\n\t\t\t\tlinkDestination: IMAGE_LINK_DESTINATION_NONE,\n\t\t\t};\n\t}\n\n\treturn {};\n}\n"]}
@@ -4,12 +4,11 @@ import { createElement } from "@wordpress/element";
4
4
  * External dependencies
5
5
  */
6
6
  import classnames from 'classnames';
7
- import { omit } from 'lodash';
8
7
  /**
9
8
  * WordPress dependencies
10
9
  */
11
10
 
12
- import { InnerBlocks, getColorClassName, useBlockProps } from '@wordpress/block-editor';
11
+ import { InnerBlocks, getColorClassName, useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';
13
12
 
14
13
  const migrateAttributes = attributes => {
15
14
  if (!attributes.tagName) {
@@ -34,12 +33,110 @@ const migrateAttributes = attributes => {
34
33
  style.color.background = attributes.customBackgroundColor;
35
34
  }
36
35
 
37
- return { ...omit(attributes, ['customTextColor', 'customBackgroundColor']),
36
+ const {
37
+ customTextColor,
38
+ customBackgroundColor,
39
+ ...restAttributes
40
+ } = attributes;
41
+ return { ...restAttributes,
38
42
  style
39
43
  };
40
44
  };
41
45
 
42
- const deprecated = [// Version of the block with the double div.
46
+ const deprecated = [// Version with default layout.
47
+ {
48
+ attributes: {
49
+ tagName: {
50
+ type: 'string',
51
+ default: 'div'
52
+ },
53
+ templateLock: {
54
+ type: 'string'
55
+ }
56
+ },
57
+ supports: {
58
+ __experimentalOnEnter: true,
59
+ __experimentalSettings: true,
60
+ align: ['wide', 'full'],
61
+ anchor: true,
62
+ ariaLabel: true,
63
+ html: false,
64
+ color: {
65
+ gradients: true,
66
+ link: true,
67
+ __experimentalDefaultControls: {
68
+ background: true,
69
+ text: true
70
+ }
71
+ },
72
+ spacing: {
73
+ margin: ['top', 'bottom'],
74
+ padding: true,
75
+ blockGap: true,
76
+ __experimentalDefaultControls: {
77
+ padding: true,
78
+ blockGap: true
79
+ }
80
+ },
81
+ __experimentalBorder: {
82
+ color: true,
83
+ radius: true,
84
+ style: true,
85
+ width: true,
86
+ __experimentalDefaultControls: {
87
+ color: true,
88
+ radius: true,
89
+ style: true,
90
+ width: true
91
+ }
92
+ },
93
+ typography: {
94
+ fontSize: true,
95
+ lineHeight: true,
96
+ __experimentalFontStyle: true,
97
+ __experimentalFontWeight: true,
98
+ __experimentalLetterSpacing: true,
99
+ __experimentalTextTransform: true,
100
+ __experimentalDefaultControls: {
101
+ fontSize: true
102
+ }
103
+ },
104
+ __experimentalLayout: true
105
+ },
106
+
107
+ save(_ref) {
108
+ let {
109
+ attributes: {
110
+ tagName: Tag
111
+ }
112
+ } = _ref;
113
+ return createElement(Tag, useInnerBlocksProps.save(useBlockProps.save()));
114
+ },
115
+
116
+ isEligible: _ref2 => {
117
+ let {
118
+ layout
119
+ } = _ref2;
120
+ return !layout || layout.inherit || layout.contentSize;
121
+ },
122
+ migrate: attributes => {
123
+ const {
124
+ layout = null
125
+ } = attributes;
126
+
127
+ if (!layout) {
128
+ return attributes;
129
+ }
130
+
131
+ if (layout.inherit || layout.contentSize) {
132
+ return { ...attributes,
133
+ layout: { ...layout,
134
+ type: 'constrained'
135
+ }
136
+ };
137
+ }
138
+ }
139
+ }, // Version of the block with the double div.
43
140
  {
44
141
  attributes: {
45
142
  tagName: {
@@ -65,10 +162,10 @@ const deprecated = [// Version of the block with the double div.
65
162
  }
66
163
  },
67
164
 
68
- save(_ref) {
165
+ save(_ref3) {
69
166
  let {
70
167
  attributes
71
- } = _ref;
168
+ } = _ref3;
72
169
  const {
73
170
  tagName: Tag
74
171
  } = attributes;
@@ -100,10 +197,10 @@ const deprecated = [// Version of the block with the double div.
100
197
  },
101
198
  migrate: migrateAttributes,
102
199
 
103
- save(_ref2) {
200
+ save(_ref4) {
104
201
  let {
105
202
  attributes
106
- } = _ref2;
203
+ } = _ref4;
107
204
  const {
108
205
  backgroundColor,
109
206
  customBackgroundColor,
@@ -151,10 +248,10 @@ const deprecated = [// Version of the block with the double div.
151
248
  html: false
152
249
  },
153
250
 
154
- save(_ref3) {
251
+ save(_ref5) {
155
252
  let {
156
253
  attributes
157
- } = _ref3;
254
+ } = _ref5;
158
255
  const {
159
256
  backgroundColor,
160
257
  customBackgroundColor,
@@ -196,10 +293,10 @@ const deprecated = [// Version of the block with the double div.
196
293
  },
197
294
  migrate: migrateAttributes,
198
295
 
199
- save(_ref4) {
296
+ save(_ref6) {
200
297
  let {
201
298
  attributes
202
- } = _ref4;
299
+ } = _ref6;
203
300
  const {
204
301
  backgroundColor,
205
302
  customBackgroundColor