@wordpress/block-library 8.2.0 → 8.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (797) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/babel-plugin.js +1 -1
  3. package/build/archives/index.js +1 -0
  4. package/build/archives/index.js.map +1 -1
  5. package/build/avatar/index.js +1 -0
  6. package/build/avatar/index.js.map +1 -1
  7. package/build/block/edit.js +1 -0
  8. package/build/block/edit.js.map +1 -1
  9. package/build/button/edit.js +2 -1
  10. package/build/button/edit.js.map +1 -1
  11. package/build/button/index.js +1 -0
  12. package/build/button/index.js.map +1 -1
  13. package/build/buttons/edit.js +0 -2
  14. package/build/buttons/edit.js.map +1 -1
  15. package/build/calendar/index.js +1 -0
  16. package/build/calendar/index.js.map +1 -1
  17. package/build/categories/edit.js +3 -3
  18. package/build/categories/edit.js.map +1 -1
  19. package/build/categories/index.js +1 -0
  20. package/build/categories/index.js.map +1 -1
  21. package/build/column/edit.native.js +2 -1
  22. package/build/column/edit.native.js.map +1 -1
  23. package/build/columns/deprecated.js +1 -1
  24. package/build/columns/deprecated.js.map +1 -1
  25. package/build/comment-author-avatar/index.js +1 -0
  26. package/build/comment-author-avatar/index.js.map +1 -1
  27. package/build/comment-author-name/index.js +1 -0
  28. package/build/comment-author-name/index.js.map +1 -1
  29. package/build/comment-content/index.js +1 -0
  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 +1 -0
  34. package/build/comment-edit-link/index.js.map +1 -1
  35. package/build/comment-reply-link/index.js +1 -0
  36. package/build/comment-reply-link/index.js.map +1 -1
  37. package/build/comment-template/index.js +1 -0
  38. package/build/comment-template/index.js.map +1 -1
  39. package/build/comments/edit/comments-inspector-controls.js +1 -1
  40. package/build/comments/edit/comments-inspector-controls.js.map +1 -1
  41. package/build/comments/index.js +2 -1
  42. package/build/comments/index.js.map +1 -1
  43. package/build/comments-pagination/comments-pagination-arrow-controls.js +1 -0
  44. package/build/comments-pagination/comments-pagination-arrow-controls.js.map +1 -1
  45. package/build/comments-pagination/edit.js +3 -14
  46. package/build/comments-pagination/edit.js.map +1 -1
  47. package/build/comments-pagination/index.js +1 -0
  48. package/build/comments-pagination/index.js.map +1 -1
  49. package/build/comments-pagination-next/index.js +1 -0
  50. package/build/comments-pagination-next/index.js.map +1 -1
  51. package/build/comments-pagination-numbers/index.js +1 -0
  52. package/build/comments-pagination-numbers/index.js.map +1 -1
  53. package/build/comments-pagination-previous/index.js +1 -0
  54. package/build/comments-pagination-previous/index.js.map +1 -1
  55. package/build/cover/deprecated.js +153 -30
  56. package/build/cover/deprecated.js.map +1 -1
  57. package/build/cover/edit/index.js +4 -3
  58. package/build/cover/edit/index.js.map +1 -1
  59. package/build/cover/edit/inspector-controls.js +45 -4
  60. package/build/cover/edit/inspector-controls.js.map +1 -1
  61. package/build/cover/edit.native.js +0 -4
  62. package/build/cover/edit.native.js.map +1 -1
  63. package/build/cover/index.js +4 -0
  64. package/build/cover/index.js.map +1 -1
  65. package/build/cover/save.js +3 -2
  66. package/build/cover/save.js.map +1 -1
  67. package/build/embed/variations.js +1 -1
  68. package/build/embed/variations.js.map +1 -1
  69. package/build/experiments.js +19 -0
  70. package/build/experiments.js.map +1 -0
  71. package/build/gallery/deprecated.js +6 -4
  72. package/build/gallery/deprecated.js.map +1 -1
  73. package/build/gallery/edit.js +48 -7
  74. package/build/gallery/edit.js.map +1 -1
  75. package/build/gallery/gallery.js +8 -34
  76. package/build/gallery/gallery.js.map +1 -1
  77. package/build/gallery/v1/edit.js +5 -5
  78. package/build/gallery/v1/edit.js.map +1 -1
  79. package/build/group/deprecated.js +1 -1
  80. package/build/group/deprecated.js.map +1 -1
  81. package/build/group/edit.js +1 -2
  82. package/build/group/edit.js.map +1 -1
  83. package/build/heading/index.js +1 -7
  84. package/build/heading/index.js.map +1 -1
  85. package/build/home-link/index.js +1 -0
  86. package/build/home-link/index.js.map +1 -1
  87. package/build/image/edit.native.js +2 -2
  88. package/build/image/edit.native.js.map +1 -1
  89. package/build/image/image.js +12 -15
  90. package/build/image/image.js.map +1 -1
  91. package/build/latest-comments/index.js +1 -0
  92. package/build/latest-comments/index.js.map +1 -1
  93. package/build/latest-posts/deprecated.js +1 -0
  94. package/build/latest-posts/deprecated.js.map +1 -1
  95. package/build/latest-posts/index.js +1 -0
  96. package/build/latest-posts/index.js.map +1 -1
  97. package/build/list/ordered-list-settings.js +1 -0
  98. package/build/list/ordered-list-settings.js.map +1 -1
  99. package/build/loginout/index.js +1 -0
  100. package/build/loginout/index.js.map +1 -1
  101. package/build/media-text/edit.js +2 -4
  102. package/build/media-text/edit.js.map +1 -1
  103. package/build/missing/edit.native.js +4 -4
  104. package/build/missing/edit.native.js.map +1 -1
  105. package/build/navigation/edit/deleted-navigation-warning.js +31 -0
  106. package/build/navigation/edit/deleted-navigation-warning.js.map +1 -0
  107. package/build/navigation/edit/index.js +19 -11
  108. package/build/navigation/edit/index.js.map +1 -1
  109. package/build/navigation/edit/inner-blocks.js +0 -5
  110. package/build/navigation/edit/inner-blocks.js.map +1 -1
  111. package/build/navigation/edit/manage-menus-button.js +9 -2
  112. package/build/navigation/edit/manage-menus-button.js.map +1 -1
  113. package/build/navigation/edit/menu-inspector-controls.js +39 -48
  114. package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
  115. package/build/navigation/edit/navigation-menu-delete-control.js +0 -1
  116. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  117. package/build/navigation/edit/navigation-menu-name-control.js +1 -0
  118. package/build/navigation/edit/navigation-menu-name-control.js.map +1 -1
  119. package/build/navigation/edit/navigation-menu-selector.js +11 -52
  120. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  121. package/build/navigation/edit/overlay-menu-preview.js +1 -0
  122. package/build/navigation/edit/overlay-menu-preview.js.map +1 -1
  123. package/build/navigation/edit/placeholder/index.js +1 -6
  124. package/build/navigation/edit/placeholder/index.js.map +1 -1
  125. package/build/navigation/index.js +5 -0
  126. package/build/navigation/index.js.map +1 -1
  127. package/build/navigation/menu-items-to-blocks.js +0 -2
  128. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  129. package/build/navigation-link/edit.js +17 -8
  130. package/build/navigation-link/edit.js.map +1 -1
  131. package/build/navigation-submenu/edit.js +4 -0
  132. package/build/navigation-submenu/edit.js.map +1 -1
  133. package/build/navigation-submenu/index.js +13 -3
  134. package/build/navigation-submenu/index.js.map +1 -1
  135. package/build/page-list/edit.js +153 -132
  136. package/build/page-list/edit.js.map +1 -1
  137. package/build/page-list/index.js +2 -11
  138. package/build/page-list/index.js.map +1 -1
  139. package/build/page-list/{convert-to-navigation-links.js → use-convert-to-navigation-links.js} +41 -9
  140. package/build/page-list/use-convert-to-navigation-links.js.map +1 -0
  141. package/build/page-list-item/edit.js +4 -2
  142. package/build/page-list-item/edit.js.map +1 -1
  143. package/build/page-list-item/index.js +1 -1
  144. package/build/page-list-item/index.js.map +1 -1
  145. package/build/paragraph/edit.js +1 -1
  146. package/build/paragraph/edit.js.map +1 -1
  147. package/build/paragraph/index.js +1 -7
  148. package/build/paragraph/index.js.map +1 -1
  149. package/build/post-author/index.js +1 -0
  150. package/build/post-author/index.js.map +1 -1
  151. package/build/post-author-biography/index.js +1 -0
  152. package/build/post-author-biography/index.js.map +1 -1
  153. package/build/post-author-name/index.js +1 -1
  154. package/build/post-comment/edit.js +1 -0
  155. package/build/post-comment/edit.js.map +1 -1
  156. package/build/post-comments-count/index.js +1 -0
  157. package/build/post-comments-count/index.js.map +1 -1
  158. package/build/post-comments-form/index.js +1 -0
  159. package/build/post-comments-form/index.js.map +1 -1
  160. package/build/post-comments-link/index.js +1 -0
  161. package/build/post-comments-link/index.js.map +1 -1
  162. package/build/post-content/edit.js +1 -20
  163. package/build/post-content/edit.js.map +1 -1
  164. package/build/post-content/index.js +1 -0
  165. package/build/post-content/index.js.map +1 -1
  166. package/build/post-date/index.js +1 -0
  167. package/build/post-date/index.js.map +1 -1
  168. package/build/post-excerpt/edit.js +6 -1
  169. package/build/post-excerpt/edit.js.map +1 -1
  170. package/build/post-excerpt/index.js +1 -0
  171. package/build/post-excerpt/index.js.map +1 -1
  172. package/build/post-featured-image/dimension-controls.js +2 -1
  173. package/build/post-featured-image/dimension-controls.js.map +1 -1
  174. package/build/post-featured-image/edit.js +39 -22
  175. package/build/post-featured-image/edit.js.map +1 -1
  176. package/build/post-featured-image/index.js +1 -0
  177. package/build/post-featured-image/index.js.map +1 -1
  178. package/build/post-featured-image/overlay.js +1 -1
  179. package/build/post-featured-image/overlay.js.map +1 -1
  180. package/build/post-navigation-link/edit.js +1 -0
  181. package/build/post-navigation-link/edit.js.map +1 -1
  182. package/build/post-navigation-link/index.js +1 -0
  183. package/build/post-navigation-link/index.js.map +1 -1
  184. package/build/post-template/edit.js +6 -4
  185. package/build/post-template/edit.js.map +1 -1
  186. package/build/post-template/index.js +1 -0
  187. package/build/post-template/index.js.map +1 -1
  188. package/build/post-terms/edit.js +5 -4
  189. package/build/post-terms/edit.js.map +1 -1
  190. package/build/post-terms/index.js +1 -0
  191. package/build/post-terms/index.js.map +1 -1
  192. package/build/post-title/edit.js +1 -0
  193. package/build/post-title/edit.js.map +1 -1
  194. package/build/post-title/index.js +1 -0
  195. package/build/post-title/index.js.map +1 -1
  196. package/build/query/deprecated.js +90 -1
  197. package/build/query/deprecated.js.map +1 -1
  198. package/build/query/edit/index.js +2 -50
  199. package/build/query/edit/index.js.map +1 -1
  200. package/build/query/edit/inspector-controls/index.js +1 -0
  201. package/build/query/edit/inspector-controls/index.js.map +1 -1
  202. package/build/query/edit/inspector-controls/taxonomy-controls.js +2 -2
  203. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  204. package/build/query/edit/pattern-selection-modal.js +88 -0
  205. package/build/query/edit/pattern-selection-modal.js.map +1 -0
  206. package/build/query/edit/query-content.js +3 -24
  207. package/build/query/edit/query-content.js.map +1 -1
  208. package/build/query/edit/query-placeholder.js +2 -2
  209. package/build/query/edit/query-placeholder.js.map +1 -1
  210. package/build/query/edit/query-toolbar.js +6 -11
  211. package/build/query/edit/query-toolbar.js.map +1 -1
  212. package/build/query/index.js +1 -0
  213. package/build/query/index.js.map +1 -1
  214. package/build/query/utils.js +25 -3
  215. package/build/query/utils.js.map +1 -1
  216. package/build/query-no-results/index.js +1 -0
  217. package/build/query-no-results/index.js.map +1 -1
  218. package/build/query-pagination/edit.js +3 -14
  219. package/build/query-pagination/edit.js.map +1 -1
  220. package/build/query-pagination/index.js +1 -0
  221. package/build/query-pagination/index.js.map +1 -1
  222. package/build/query-pagination/query-pagination-arrow-controls.js +1 -0
  223. package/build/query-pagination/query-pagination-arrow-controls.js.map +1 -1
  224. package/build/query-pagination-next/index.js +1 -0
  225. package/build/query-pagination-next/index.js.map +1 -1
  226. package/build/query-pagination-numbers/index.js +1 -0
  227. package/build/query-pagination-numbers/index.js.map +1 -1
  228. package/build/query-pagination-previous/index.js +1 -0
  229. package/build/query-pagination-previous/index.js.map +1 -1
  230. package/build/query-title/index.js +1 -0
  231. package/build/query-title/index.js.map +1 -1
  232. package/build/read-more/index.js +1 -0
  233. package/build/read-more/index.js.map +1 -1
  234. package/build/rss/edit.js +5 -2
  235. package/build/rss/edit.js.map +1 -1
  236. package/build/rss/index.js +1 -0
  237. package/build/rss/index.js.map +1 -1
  238. package/build/search/index.js +1 -0
  239. package/build/search/index.js.map +1 -1
  240. package/build/site-logo/edit.js +9 -13
  241. package/build/site-logo/edit.js.map +1 -1
  242. package/build/site-logo/index.js +1 -0
  243. package/build/site-logo/index.js.map +1 -1
  244. package/build/site-tagline/index.js +1 -0
  245. package/build/site-tagline/index.js.map +1 -1
  246. package/build/site-title/index.js +1 -0
  247. package/build/site-title/index.js.map +1 -1
  248. package/build/social-link/edit.js +3 -1
  249. package/build/social-link/edit.js.map +1 -1
  250. package/build/social-link/index.js +1 -0
  251. package/build/social-link/index.js.map +1 -1
  252. package/build/social-links/edit.js +3 -14
  253. package/build/social-links/edit.js.map +1 -1
  254. package/build/table/edit.js +9 -5
  255. package/build/table/edit.js.map +1 -1
  256. package/build/table/index.js +15 -0
  257. package/build/table/index.js.map +1 -1
  258. package/build/table/save.js +4 -2
  259. package/build/table/save.js.map +1 -1
  260. package/build/table/state.js +1 -1
  261. package/build/table/state.js.map +1 -1
  262. package/build/table/transforms.js +47 -3
  263. package/build/table/transforms.js.map +1 -1
  264. package/build/table/utils.js +26 -0
  265. package/build/table/utils.js.map +1 -0
  266. package/build/tag-cloud/edit.js +3 -9
  267. package/build/tag-cloud/edit.js.map +1 -1
  268. package/build/tag-cloud/index.js +1 -0
  269. package/build/tag-cloud/index.js.map +1 -1
  270. package/build/template-part/edit/advanced-controls.js +2 -1
  271. package/build/template-part/edit/advanced-controls.js.map +1 -1
  272. package/build/template-part/edit/index.js +0 -1
  273. package/build/template-part/edit/index.js.map +1 -1
  274. package/build/template-part/edit/selection-modal.js +3 -3
  275. package/build/template-part/edit/selection-modal.js.map +1 -1
  276. package/build/template-part/edit/title-modal.js +6 -5
  277. package/build/template-part/edit/title-modal.js.map +1 -1
  278. package/build/template-part/edit/utils/hooks.js +2 -2
  279. package/build/template-part/edit/utils/hooks.js.map +1 -1
  280. package/build/template-part/index.js +1 -0
  281. package/build/template-part/index.js.map +1 -1
  282. package/build/term-description/index.js +1 -0
  283. package/build/term-description/index.js.map +1 -1
  284. package/build/utils/init-block.js +1 -1
  285. package/build/utils/init-block.js.map +1 -1
  286. package/build/utils/init-block.native.js +1 -1
  287. package/build/utils/init-block.native.js.map +1 -1
  288. package/build/{template-part/edit/utils/search.js → utils/search-patterns.js} +3 -1
  289. package/build/utils/search-patterns.js.map +1 -0
  290. package/build/video/tracks-editor.js +17 -11
  291. package/build/video/tracks-editor.js.map +1 -1
  292. package/build-module/archives/index.js +1 -0
  293. package/build-module/archives/index.js.map +1 -1
  294. package/build-module/avatar/index.js +1 -0
  295. package/build-module/avatar/index.js.map +1 -1
  296. package/build-module/block/edit.js +1 -0
  297. package/build-module/block/edit.js.map +1 -1
  298. package/build-module/button/edit.js +2 -1
  299. package/build-module/button/edit.js.map +1 -1
  300. package/build-module/button/index.js +1 -0
  301. package/build-module/button/index.js.map +1 -1
  302. package/build-module/buttons/edit.js +0 -2
  303. package/build-module/buttons/edit.js.map +1 -1
  304. package/build-module/calendar/index.js +1 -0
  305. package/build-module/calendar/index.js.map +1 -1
  306. package/build-module/categories/edit.js +2 -2
  307. package/build-module/categories/edit.js.map +1 -1
  308. package/build-module/categories/index.js +1 -0
  309. package/build-module/categories/index.js.map +1 -1
  310. package/build-module/column/edit.native.js +2 -1
  311. package/build-module/column/edit.native.js.map +1 -1
  312. package/build-module/columns/deprecated.js +1 -1
  313. package/build-module/columns/deprecated.js.map +1 -1
  314. package/build-module/comment-author-avatar/index.js +1 -0
  315. package/build-module/comment-author-avatar/index.js.map +1 -1
  316. package/build-module/comment-author-name/index.js +1 -0
  317. package/build-module/comment-author-name/index.js.map +1 -1
  318. package/build-module/comment-content/index.js +1 -0
  319. package/build-module/comment-content/index.js.map +1 -1
  320. package/build-module/comment-date/index.js +1 -0
  321. package/build-module/comment-date/index.js.map +1 -1
  322. package/build-module/comment-edit-link/index.js +1 -0
  323. package/build-module/comment-edit-link/index.js.map +1 -1
  324. package/build-module/comment-reply-link/index.js +1 -0
  325. package/build-module/comment-reply-link/index.js.map +1 -1
  326. package/build-module/comment-template/index.js +1 -0
  327. package/build-module/comment-template/index.js.map +1 -1
  328. package/build-module/comments/edit/comments-inspector-controls.js +1 -1
  329. package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
  330. package/build-module/comments/index.js +2 -1
  331. package/build-module/comments/index.js.map +1 -1
  332. package/build-module/comments-pagination/comments-pagination-arrow-controls.js +1 -0
  333. package/build-module/comments-pagination/comments-pagination-arrow-controls.js.map +1 -1
  334. package/build-module/comments-pagination/edit.js +3 -14
  335. package/build-module/comments-pagination/edit.js.map +1 -1
  336. package/build-module/comments-pagination/index.js +1 -0
  337. package/build-module/comments-pagination/index.js.map +1 -1
  338. package/build-module/comments-pagination-next/index.js +1 -0
  339. package/build-module/comments-pagination-next/index.js.map +1 -1
  340. package/build-module/comments-pagination-numbers/index.js +1 -0
  341. package/build-module/comments-pagination-numbers/index.js.map +1 -1
  342. package/build-module/comments-pagination-previous/index.js +1 -0
  343. package/build-module/comments-pagination-previous/index.js.map +1 -1
  344. package/build-module/cover/deprecated.js +155 -31
  345. package/build-module/cover/deprecated.js.map +1 -1
  346. package/build-module/cover/edit/index.js +4 -3
  347. package/build-module/cover/edit/index.js.map +1 -1
  348. package/build-module/cover/edit/inspector-controls.js +46 -5
  349. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  350. package/build-module/cover/edit.native.js +0 -4
  351. package/build-module/cover/edit.native.js.map +1 -1
  352. package/build-module/cover/index.js +4 -0
  353. package/build-module/cover/index.js.map +1 -1
  354. package/build-module/cover/save.js +3 -2
  355. package/build-module/cover/save.js.map +1 -1
  356. package/build-module/embed/variations.js +1 -1
  357. package/build-module/embed/variations.js.map +1 -1
  358. package/build-module/experiments.js +9 -0
  359. package/build-module/experiments.js.map +1 -0
  360. package/build-module/gallery/deprecated.js +6 -3
  361. package/build-module/gallery/deprecated.js.map +1 -1
  362. package/build-module/gallery/edit.js +50 -10
  363. package/build-module/gallery/edit.js.map +1 -1
  364. package/build-module/gallery/gallery.js +9 -35
  365. package/build-module/gallery/gallery.js.map +1 -1
  366. package/build-module/gallery/v1/edit.js +6 -6
  367. package/build-module/gallery/v1/edit.js.map +1 -1
  368. package/build-module/group/deprecated.js +1 -1
  369. package/build-module/group/deprecated.js.map +1 -1
  370. package/build-module/group/edit.js +1 -2
  371. package/build-module/group/edit.js.map +1 -1
  372. package/build-module/heading/index.js +1 -6
  373. package/build-module/heading/index.js.map +1 -1
  374. package/build-module/home-link/index.js +1 -0
  375. package/build-module/home-link/index.js.map +1 -1
  376. package/build-module/image/edit.native.js +2 -2
  377. package/build-module/image/edit.native.js.map +1 -1
  378. package/build-module/image/image.js +14 -17
  379. package/build-module/image/image.js.map +1 -1
  380. package/build-module/latest-comments/index.js +1 -0
  381. package/build-module/latest-comments/index.js.map +1 -1
  382. package/build-module/latest-posts/deprecated.js +1 -0
  383. package/build-module/latest-posts/deprecated.js.map +1 -1
  384. package/build-module/latest-posts/index.js +1 -0
  385. package/build-module/latest-posts/index.js.map +1 -1
  386. package/build-module/list/ordered-list-settings.js +1 -0
  387. package/build-module/list/ordered-list-settings.js.map +1 -1
  388. package/build-module/loginout/index.js +1 -0
  389. package/build-module/loginout/index.js.map +1 -1
  390. package/build-module/media-text/edit.js +2 -3
  391. package/build-module/media-text/edit.js.map +1 -1
  392. package/build-module/missing/edit.native.js +4 -4
  393. package/build-module/missing/edit.native.js.map +1 -1
  394. package/build-module/navigation/edit/deleted-navigation-warning.js +21 -0
  395. package/build-module/navigation/edit/deleted-navigation-warning.js.map +1 -0
  396. package/build-module/navigation/edit/index.js +18 -11
  397. package/build-module/navigation/edit/index.js.map +1 -1
  398. package/build-module/navigation/edit/inner-blocks.js +0 -5
  399. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  400. package/build-module/navigation/edit/manage-menus-button.js +10 -3
  401. package/build-module/navigation/edit/manage-menus-button.js.map +1 -1
  402. package/build-module/navigation/edit/menu-inspector-controls.js +38 -49
  403. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
  404. package/build-module/navigation/edit/navigation-menu-delete-control.js +0 -1
  405. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  406. package/build-module/navigation/edit/navigation-menu-name-control.js +1 -0
  407. package/build-module/navigation/edit/navigation-menu-name-control.js.map +1 -1
  408. package/build-module/navigation/edit/navigation-menu-selector.js +13 -54
  409. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  410. package/build-module/navigation/edit/overlay-menu-preview.js +1 -0
  411. package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -1
  412. package/build-module/navigation/edit/placeholder/index.js +1 -6
  413. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  414. package/build-module/navigation/index.js +5 -0
  415. package/build-module/navigation/index.js.map +1 -1
  416. package/build-module/navigation/menu-items-to-blocks.js +0 -2
  417. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  418. package/build-module/navigation-link/edit.js +16 -7
  419. package/build-module/navigation-link/edit.js.map +1 -1
  420. package/build-module/navigation-submenu/edit.js +4 -0
  421. package/build-module/navigation-submenu/edit.js.map +1 -1
  422. package/build-module/navigation-submenu/index.js +14 -4
  423. package/build-module/navigation-submenu/index.js.map +1 -1
  424. package/build-module/page-list/edit.js +155 -132
  425. package/build-module/page-list/edit.js.map +1 -1
  426. package/build-module/page-list/index.js +3 -12
  427. package/build-module/page-list/index.js.map +1 -1
  428. package/build-module/page-list/{convert-to-navigation-links.js → use-convert-to-navigation-links.js} +37 -7
  429. package/build-module/page-list/use-convert-to-navigation-links.js.map +1 -0
  430. package/build-module/page-list-item/edit.js +3 -2
  431. package/build-module/page-list-item/edit.js.map +1 -1
  432. package/build-module/page-list-item/index.js +1 -1
  433. package/build-module/page-list-item/index.js.map +1 -1
  434. package/build-module/paragraph/edit.js +1 -1
  435. package/build-module/paragraph/edit.js.map +1 -1
  436. package/build-module/paragraph/index.js +1 -6
  437. package/build-module/paragraph/index.js.map +1 -1
  438. package/build-module/post-author/index.js +1 -0
  439. package/build-module/post-author/index.js.map +1 -1
  440. package/build-module/post-author-biography/index.js +1 -0
  441. package/build-module/post-author-biography/index.js.map +1 -1
  442. package/build-module/post-author-name/index.js +1 -1
  443. package/build-module/post-comment/edit.js +1 -0
  444. package/build-module/post-comment/edit.js.map +1 -1
  445. package/build-module/post-comments-count/index.js +1 -0
  446. package/build-module/post-comments-count/index.js.map +1 -1
  447. package/build-module/post-comments-form/index.js +1 -0
  448. package/build-module/post-comments-form/index.js.map +1 -1
  449. package/build-module/post-comments-link/index.js +1 -0
  450. package/build-module/post-comments-link/index.js.map +1 -1
  451. package/build-module/post-content/edit.js +2 -20
  452. package/build-module/post-content/edit.js.map +1 -1
  453. package/build-module/post-content/index.js +1 -0
  454. package/build-module/post-content/index.js.map +1 -1
  455. package/build-module/post-date/index.js +1 -0
  456. package/build-module/post-date/index.js.map +1 -1
  457. package/build-module/post-excerpt/edit.js +6 -1
  458. package/build-module/post-excerpt/edit.js.map +1 -1
  459. package/build-module/post-excerpt/index.js +1 -0
  460. package/build-module/post-excerpt/index.js.map +1 -1
  461. package/build-module/post-featured-image/dimension-controls.js +2 -1
  462. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  463. package/build-module/post-featured-image/edit.js +39 -22
  464. package/build-module/post-featured-image/edit.js.map +1 -1
  465. package/build-module/post-featured-image/index.js +1 -0
  466. package/build-module/post-featured-image/index.js.map +1 -1
  467. package/build-module/post-featured-image/overlay.js +1 -1
  468. package/build-module/post-featured-image/overlay.js.map +1 -1
  469. package/build-module/post-navigation-link/edit.js +1 -0
  470. package/build-module/post-navigation-link/edit.js.map +1 -1
  471. package/build-module/post-navigation-link/index.js +1 -0
  472. package/build-module/post-navigation-link/index.js.map +1 -1
  473. package/build-module/post-template/edit.js +6 -4
  474. package/build-module/post-template/edit.js.map +1 -1
  475. package/build-module/post-template/index.js +1 -0
  476. package/build-module/post-template/index.js.map +1 -1
  477. package/build-module/post-terms/edit.js +4 -3
  478. package/build-module/post-terms/edit.js.map +1 -1
  479. package/build-module/post-terms/index.js +1 -0
  480. package/build-module/post-terms/index.js.map +1 -1
  481. package/build-module/post-title/edit.js +1 -0
  482. package/build-module/post-title/edit.js.map +1 -1
  483. package/build-module/post-title/index.js +1 -0
  484. package/build-module/post-title/index.js.map +1 -1
  485. package/build-module/query/deprecated.js +87 -1
  486. package/build-module/query/deprecated.js.map +1 -1
  487. package/build-module/query/edit/index.js +4 -50
  488. package/build-module/query/edit/index.js.map +1 -1
  489. package/build-module/query/edit/inspector-controls/index.js +1 -0
  490. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  491. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +2 -2
  492. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  493. package/build-module/query/edit/pattern-selection-modal.js +75 -0
  494. package/build-module/query/edit/pattern-selection-modal.js.map +1 -0
  495. package/build-module/query/edit/query-content.js +4 -25
  496. package/build-module/query/edit/query-content.js.map +1 -1
  497. package/build-module/query/edit/query-placeholder.js +2 -2
  498. package/build-module/query/edit/query-placeholder.js.map +1 -1
  499. package/build-module/query/edit/query-toolbar.js +6 -10
  500. package/build-module/query/edit/query-toolbar.js.map +1 -1
  501. package/build-module/query/index.js +1 -0
  502. package/build-module/query/index.js.map +1 -1
  503. package/build-module/query/utils.js +21 -2
  504. package/build-module/query/utils.js.map +1 -1
  505. package/build-module/query-no-results/index.js +1 -0
  506. package/build-module/query-no-results/index.js.map +1 -1
  507. package/build-module/query-pagination/edit.js +3 -14
  508. package/build-module/query-pagination/edit.js.map +1 -1
  509. package/build-module/query-pagination/index.js +1 -0
  510. package/build-module/query-pagination/index.js.map +1 -1
  511. package/build-module/query-pagination/query-pagination-arrow-controls.js +1 -0
  512. package/build-module/query-pagination/query-pagination-arrow-controls.js.map +1 -1
  513. package/build-module/query-pagination-next/index.js +1 -0
  514. package/build-module/query-pagination-next/index.js.map +1 -1
  515. package/build-module/query-pagination-numbers/index.js +1 -0
  516. package/build-module/query-pagination-numbers/index.js.map +1 -1
  517. package/build-module/query-pagination-previous/index.js +1 -0
  518. package/build-module/query-pagination-previous/index.js.map +1 -1
  519. package/build-module/query-title/index.js +1 -0
  520. package/build-module/query-title/index.js.map +1 -1
  521. package/build-module/read-more/index.js +1 -0
  522. package/build-module/read-more/index.js.map +1 -1
  523. package/build-module/rss/edit.js +6 -3
  524. package/build-module/rss/edit.js.map +1 -1
  525. package/build-module/rss/index.js +1 -0
  526. package/build-module/rss/index.js.map +1 -1
  527. package/build-module/search/index.js +1 -0
  528. package/build-module/search/index.js.map +1 -1
  529. package/build-module/site-logo/edit.js +10 -14
  530. package/build-module/site-logo/edit.js.map +1 -1
  531. package/build-module/site-logo/index.js +1 -0
  532. package/build-module/site-logo/index.js.map +1 -1
  533. package/build-module/site-tagline/index.js +1 -0
  534. package/build-module/site-tagline/index.js.map +1 -1
  535. package/build-module/site-title/index.js +1 -0
  536. package/build-module/site-title/index.js.map +1 -1
  537. package/build-module/social-link/edit.js +3 -1
  538. package/build-module/social-link/edit.js.map +1 -1
  539. package/build-module/social-link/index.js +1 -0
  540. package/build-module/social-link/index.js.map +1 -1
  541. package/build-module/social-links/edit.js +3 -14
  542. package/build-module/social-links/edit.js.map +1 -1
  543. package/build-module/table/edit.js +9 -5
  544. package/build-module/table/edit.js.map +1 -1
  545. package/build-module/table/index.js +15 -0
  546. package/build-module/table/index.js.map +1 -1
  547. package/build-module/table/save.js +4 -2
  548. package/build-module/table/save.js.map +1 -1
  549. package/build-module/table/state.js +1 -1
  550. package/build-module/table/state.js.map +1 -1
  551. package/build-module/table/transforms.js +46 -3
  552. package/build-module/table/transforms.js.map +1 -1
  553. package/build-module/table/utils.js +19 -0
  554. package/build-module/table/utils.js.map +1 -0
  555. package/build-module/tag-cloud/edit.js +4 -9
  556. package/build-module/tag-cloud/edit.js.map +1 -1
  557. package/build-module/tag-cloud/index.js +1 -0
  558. package/build-module/tag-cloud/index.js.map +1 -1
  559. package/build-module/template-part/edit/advanced-controls.js +2 -1
  560. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  561. package/build-module/template-part/edit/index.js +0 -1
  562. package/build-module/template-part/edit/index.js.map +1 -1
  563. package/build-module/template-part/edit/selection-modal.js +1 -1
  564. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  565. package/build-module/template-part/edit/title-modal.js +7 -6
  566. package/build-module/template-part/edit/title-modal.js.map +1 -1
  567. package/build-module/template-part/edit/utils/hooks.js +2 -2
  568. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  569. package/build-module/template-part/index.js +1 -0
  570. package/build-module/template-part/index.js.map +1 -1
  571. package/build-module/term-description/index.js +1 -0
  572. package/build-module/term-description/index.js.map +1 -1
  573. package/build-module/utils/init-block.js +1 -1
  574. package/build-module/utils/init-block.js.map +1 -1
  575. package/build-module/utils/init-block.native.js +1 -1
  576. package/build-module/utils/init-block.native.js.map +1 -1
  577. package/build-module/{template-part/edit/utils/search.js → utils/search-patterns.js} +3 -5
  578. package/build-module/utils/search-patterns.js.map +1 -0
  579. package/build-module/video/tracks-editor.js +18 -12
  580. package/build-module/video/tracks-editor.js.map +1 -1
  581. package/build-style/common-rtl.css +14 -0
  582. package/build-style/common.css +14 -0
  583. package/build-style/editor-rtl.css +14 -67
  584. package/build-style/editor.css +14 -67
  585. package/build-style/post-excerpt/style-rtl.css +15 -0
  586. package/build-style/post-excerpt/style.css +15 -0
  587. package/build-style/query/editor-rtl.css +11 -14
  588. package/build-style/query/editor.css +11 -14
  589. package/build-style/rss/editor-rtl.css +3 -16
  590. package/build-style/rss/editor.css +3 -16
  591. package/build-style/style-rtl.css +29 -0
  592. package/build-style/style.css +29 -0
  593. package/build-style/table/editor-rtl.css +0 -3
  594. package/build-style/table/editor.css +0 -3
  595. package/build-style/video/editor-rtl.css +0 -34
  596. package/build-style/video/editor.css +0 -34
  597. package/package.json +30 -29
  598. package/src/archives/block.json +1 -0
  599. package/src/avatar/block.json +1 -0
  600. package/src/block/edit.js +1 -0
  601. package/src/button/block.json +1 -0
  602. package/src/button/edit.js +2 -1
  603. package/src/buttons/edit.js +2 -2
  604. package/src/calendar/block.json +1 -0
  605. package/src/calendar/index.php +4 -2
  606. package/src/categories/block.json +1 -0
  607. package/src/categories/edit.js +2 -2
  608. package/src/column/edit.native.js +6 -1
  609. package/src/columns/deprecated.js +1 -1
  610. package/src/comment-author-avatar/block.json +1 -0
  611. package/src/comment-author-name/block.json +1 -0
  612. package/src/comment-author-name/index.php +6 -3
  613. package/src/comment-content/block.json +1 -0
  614. package/src/comment-content/index.php +6 -3
  615. package/src/comment-date/block.json +1 -0
  616. package/src/comment-date/index.php +1 -1
  617. package/src/comment-edit-link/block.json +1 -0
  618. package/src/comment-edit-link/index.php +6 -3
  619. package/src/comment-reply-link/block.json +1 -0
  620. package/src/comment-reply-link/index.php +6 -3
  621. package/src/comment-template/block.json +1 -0
  622. package/src/comments/block.json +2 -1
  623. package/src/comments/edit/comments-inspector-controls.js +1 -1
  624. package/src/comments-pagination/block.json +1 -0
  625. package/src/comments-pagination/comments-pagination-arrow-controls.js +1 -0
  626. package/src/comments-pagination/edit.js +1 -13
  627. package/src/comments-pagination/index.php +4 -1
  628. package/src/comments-pagination-next/block.json +1 -0
  629. package/src/comments-pagination-numbers/block.json +1 -0
  630. package/src/comments-pagination-previous/block.json +1 -0
  631. package/src/common.scss +19 -0
  632. package/src/cover/block.json +4 -0
  633. package/src/cover/deprecated.js +173 -6
  634. package/src/cover/edit/index.js +5 -4
  635. package/src/cover/edit/inspector-controls.js +45 -2
  636. package/src/cover/edit.native.js +0 -3
  637. package/src/cover/save.js +3 -2
  638. package/src/embed/variations.js +1 -1
  639. package/src/experiments.js +10 -0
  640. package/src/gallery/deprecated.js +2 -3
  641. package/src/gallery/edit.js +66 -5
  642. package/src/gallery/gallery.js +27 -44
  643. package/src/gallery/index.php +1 -1
  644. package/src/gallery/v1/edit.js +8 -9
  645. package/src/group/deprecated.js +3 -1
  646. package/src/group/edit.js +1 -2
  647. package/src/heading/index.js +1 -6
  648. package/src/home-link/block.json +1 -0
  649. package/src/image/edit.native.js +2 -3
  650. package/src/image/image.js +17 -22
  651. package/src/latest-comments/block.json +1 -0
  652. package/src/latest-posts/block.json +1 -0
  653. package/src/latest-posts/index.php +9 -10
  654. package/src/list/ordered-list-settings.js +1 -0
  655. package/src/loginout/block.json +1 -0
  656. package/src/media-text/edit.js +3 -7
  657. package/src/missing/edit.native.js +3 -4
  658. package/src/missing/test/edit.native.js +2 -2
  659. package/src/navigation/block.json +2 -0
  660. package/src/navigation/edit/deleted-navigation-warning.js +19 -0
  661. package/src/navigation/edit/index.js +22 -24
  662. package/src/navigation/edit/inner-blocks.js +0 -6
  663. package/src/navigation/edit/manage-menus-button.js +24 -13
  664. package/src/navigation/edit/menu-inspector-controls.js +51 -74
  665. package/src/navigation/edit/navigation-menu-delete-control.js +0 -1
  666. package/src/navigation/edit/navigation-menu-name-control.js +1 -0
  667. package/src/navigation/edit/navigation-menu-selector.js +12 -77
  668. package/src/navigation/edit/overlay-menu-preview.js +1 -0
  669. package/src/navigation/edit/placeholder/index.js +0 -6
  670. package/src/navigation/index.js +3 -0
  671. package/src/navigation/index.php +27 -9
  672. package/src/navigation/menu-items-to-blocks.js +0 -2
  673. package/src/navigation-link/edit.js +16 -7
  674. package/src/navigation-link/index.php +2 -34
  675. package/src/navigation-submenu/edit.js +4 -0
  676. package/src/navigation-submenu/index.js +8 -2
  677. package/src/navigation-submenu/index.php +2 -34
  678. package/src/page-list/block.json +1 -0
  679. package/src/page-list/edit.js +196 -161
  680. package/src/page-list/index.js +2 -8
  681. package/src/page-list/test/convert-to-links-modal.js +1 -1
  682. package/src/page-list/{convert-to-navigation-links.js → use-convert-to-navigation-links.js} +36 -6
  683. package/src/page-list-item/edit.js +3 -2
  684. package/src/page-list-item/index.js +1 -1
  685. package/src/paragraph/edit.js +1 -1
  686. package/src/paragraph/index.js +1 -6
  687. package/src/post-author/block.json +1 -0
  688. package/src/post-author/index.php +10 -4
  689. package/src/post-author-biography/block.json +1 -0
  690. package/src/post-author-name/block.json +1 -1
  691. package/src/post-author-name/index.php +9 -4
  692. package/src/post-comment/edit.js +1 -0
  693. package/src/post-comments-count/block.json +1 -0
  694. package/src/post-comments-form/block.json +1 -0
  695. package/src/post-comments-form/index.php +6 -4
  696. package/src/post-comments-link/block.json +1 -0
  697. package/src/post-comments-link/index.php +8 -2
  698. package/src/post-content/block.json +1 -0
  699. package/src/post-content/edit.js +2 -13
  700. package/src/post-date/block.json +1 -0
  701. package/src/post-date/index.php +10 -3
  702. package/src/post-excerpt/block.json +1 -0
  703. package/src/post-excerpt/edit.js +22 -12
  704. package/src/post-excerpt/index.php +6 -3
  705. package/src/post-excerpt/style.scss +18 -0
  706. package/src/post-featured-image/block.json +1 -0
  707. package/src/post-featured-image/dimension-controls.js +2 -1
  708. package/src/post-featured-image/edit.js +46 -27
  709. package/src/post-featured-image/index.php +19 -6
  710. package/src/post-featured-image/overlay.js +1 -1
  711. package/src/post-navigation-link/block.json +1 -0
  712. package/src/post-navigation-link/edit.js +1 -0
  713. package/src/post-template/block.json +1 -0
  714. package/src/post-template/edit.js +4 -3
  715. package/src/post-template/index.php +4 -1
  716. package/src/post-terms/block.json +1 -0
  717. package/src/post-terms/edit.js +4 -3
  718. package/src/post-terms/index.php +6 -3
  719. package/src/post-title/block.json +1 -0
  720. package/src/post-title/edit.js +1 -0
  721. package/src/post-title/index.php +10 -4
  722. package/src/preformatted/test/__snapshots__/edit.native.js.snap +0 -2
  723. package/src/query/block.json +1 -0
  724. package/src/query/deprecated.js +77 -1
  725. package/src/query/edit/index.js +4 -60
  726. package/src/query/edit/inspector-controls/index.js +1 -0
  727. package/src/query/edit/inspector-controls/taxonomy-controls.js +2 -2
  728. package/src/query/edit/pattern-selection-modal.js +86 -0
  729. package/src/query/edit/query-content.js +1 -12
  730. package/src/query/edit/query-placeholder.js +4 -8
  731. package/src/query/edit/query-toolbar.js +6 -16
  732. package/src/query/editor.scss +21 -19
  733. package/src/query/utils.js +22 -8
  734. package/src/query-no-results/block.json +1 -0
  735. package/src/query-no-results/index.php +3 -1
  736. package/src/query-pagination/block.json +1 -0
  737. package/src/query-pagination/edit.js +1 -13
  738. package/src/query-pagination/index.php +2 -0
  739. package/src/query-pagination/query-pagination-arrow-controls.js +1 -0
  740. package/src/query-pagination-next/block.json +1 -0
  741. package/src/query-pagination-numbers/block.json +1 -0
  742. package/src/query-pagination-previous/block.json +1 -0
  743. package/src/query-title/block.json +1 -0
  744. package/src/read-more/block.json +1 -0
  745. package/src/rss/block.json +1 -0
  746. package/src/rss/edit.js +16 -12
  747. package/src/rss/editor.scss +4 -15
  748. package/src/search/block.json +1 -0
  749. package/src/search/index.php +2 -2
  750. package/src/site-logo/block.json +1 -0
  751. package/src/site-logo/edit.js +9 -16
  752. package/src/site-tagline/block.json +1 -0
  753. package/src/site-title/block.json +1 -0
  754. package/src/site-title/index.php +6 -3
  755. package/src/social-link/block.json +1 -0
  756. package/src/social-link/edit.js +3 -1
  757. package/src/social-links/edit.js +1 -14
  758. package/src/table/block.json +15 -0
  759. package/src/table/edit.js +38 -26
  760. package/src/table/editor.scss +0 -6
  761. package/src/table/save.js +9 -1
  762. package/src/table/state.js +1 -1
  763. package/src/table/test/utils.js +20 -0
  764. package/src/table/transforms.js +65 -2
  765. package/src/table/utils.js +18 -0
  766. package/src/tag-cloud/block.json +1 -0
  767. package/src/tag-cloud/edit.js +12 -15
  768. package/src/template-part/block.json +1 -0
  769. package/src/template-part/edit/advanced-controls.js +2 -1
  770. package/src/template-part/edit/index.js +0 -1
  771. package/src/template-part/edit/selection-modal.js +1 -1
  772. package/src/template-part/edit/title-modal.js +12 -15
  773. package/src/template-part/edit/utils/hooks.js +3 -8
  774. package/src/template-part/index.php +19 -7
  775. package/src/term-description/block.json +1 -0
  776. package/src/term-description/index.php +8 -4
  777. package/src/utils/init-block.js +1 -1
  778. package/src/utils/init-block.native.js +1 -1
  779. package/src/{template-part/edit/utils/search.js → utils/search-patterns.js} +2 -2
  780. package/src/utils/test/search-patterns.js +58 -0
  781. package/src/video/editor.scss +0 -35
  782. package/src/video/tracks-editor.js +65 -51
  783. package/tsconfig.tsbuildinfo +1 -1
  784. package/build/page-list/constants.js +0 -15
  785. package/build/page-list/constants.js.map +0 -1
  786. package/build/page-list/convert-to-links-modal.js +0 -83
  787. package/build/page-list/convert-to-links-modal.js.map +0 -1
  788. package/build/page-list/convert-to-navigation-links.js.map +0 -1
  789. package/build/template-part/edit/utils/search.js.map +0 -1
  790. package/build-module/page-list/constants.js +0 -6
  791. package/build-module/page-list/constants.js.map +0 -1
  792. package/build-module/page-list/convert-to-links-modal.js +0 -68
  793. package/build-module/page-list/convert-to-links-modal.js.map +0 -1
  794. package/build-module/page-list/convert-to-navigation-links.js.map +0 -1
  795. package/build-module/template-part/edit/utils/search.js.map +0 -1
  796. package/src/page-list/constants.js +0 -8
  797. package/src/page-list/convert-to-links-modal.js +0 -70
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/deprecated.js"],"names":["DEPRECATED_LINK_DESTINATION_MEDIA","DEPRECATED_LINK_DESTINATION_ATTACHMENT","defaultColumnsNumberV1","attributes","Math","min","images","length","getHrefAndDestination","image","destination","href","source_url","url","linkDestination","LINK_DESTINATION_MEDIA","link","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_NONE","undefined","runV2Migration","linkTo","imageBlocks","map","getImageBlock","sizeSlug","ids","restAttributes","allowResize","id","parseInt","alt","caption","v7","type","default","source","selector","query","attribute","fullUrl","items","shortCodeTransforms","columns","minimum","maximum","imageCrop","fixedHeight","linkTarget","save","className","blockProps","useBlockProps","innerBlocksProps","useInnerBlocksProps","children","RichText","isEmpty","v6","supports","anchor","align","img","migrate","v5","isEligible","v4","some","parsedId","Number","isInteger","v3","v2","index","v1","alignnone"],"mappings":";;;;;;;;;;;;;;AAGA;;AACA;;AAKA;;AAMA;;AAKA;;AAKA;;AAzBA;AACA;AACA;;AAIA;AACA;AACA;;AASA;AACA;AACA;AAQA,MAAMA,iCAAiC,GAAG,MAA1C;AACA,MAAMC,sCAAsC,GAAG,MAA/C;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASC,sBAAT,CAAiCC,UAAjC,EAA8C;AAAA;;AACpD,SAAOC,IAAI,CAACC,GAAL,CAAU,CAAV,EAAaF,UAAb,aAAaA,UAAb,6CAAaA,UAAU,CAAEG,MAAzB,uDAAa,mBAAoBC,MAAjC,CAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,qBAAT,CAAgCC,KAAhC,EAAuCC,WAAvC,EAAqD;AAC3D;AACA;AACA;AACA,UAASA,WAAT;AACC,SAAKV,iCAAL;AACC,aAAO;AACNW,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,EAAEC;AAFX,OAAP;;AAID,SAAKd,sCAAL;AACC,aAAO;AACNU,QAAAA,IAAI,EAAEF,KAAF,aAAEA,KAAF,uBAAEA,KAAK,CAAEO,IADP;AAENF,QAAAA,eAAe,EAAEG;AAFX,OAAP;;AAID,SAAKF,iCAAL;AACC,aAAO;AACNJ,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,EAAEC;AAFX,OAAP;;AAID,SAAKE,sCAAL;AACC,aAAO;AACNN,QAAAA,IAAI,EAAEF,KAAF,aAAEA,KAAF,uBAAEA,KAAK,CAAEO,IADP;AAENF,QAAAA,eAAe,EAAEG;AAFX,OAAP;;AAID,SAAKC,gCAAL;AACC,aAAO;AACNP,QAAAA,IAAI,EAAEQ,SADA;AAENL,QAAAA,eAAe,EAAEI;AAFX,OAAP;AAtBF;;AA4BA,SAAO,EAAP;AACA;;AAED,SAASE,cAAT,CAAyBjB,UAAzB,EAAsC;AACrC,MAAIkB,MAAM,GAAGlB,UAAU,CAACkB,MAAX,GAAoBlB,UAAU,CAACkB,MAA/B,GAAwC,MAArD;;AAEA,MAAKA,MAAM,KAAK,MAAhB,EAAyB;AACxBA,IAAAA,MAAM,GAAG,YAAT;AACA,GAFD,MAEO,IAAKA,MAAM,KAAK,MAAhB,EAAyB;AAC/BA,IAAAA,MAAM,GAAG,OAAT;AACA;;AAED,QAAMC,WAAW,GAAGnB,UAAU,CAACG,MAAX,CAAkBiB,GAAlB,CAAyBd,KAAF,IAAa;AACvD,WAAOe,aAAa,CAAEf,KAAF,EAASN,UAAU,CAACsB,QAApB,EAA8BJ,MAA9B,CAApB;AACA,GAFmB,CAApB;AAIA,QAAM;AAAEf,IAAAA,MAAF;AAAUoB,IAAAA,GAAV;AAAe,OAAGC;AAAlB,MAAqCxB,UAA3C;AAEA,SAAO,CACN,EACC,GAAGwB,cADJ;AAECN,IAAAA,MAFD;AAGCO,IAAAA,WAAW,EAAE;AAHd,GADM,EAMNN,WANM,CAAP;AAQA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASE,aAAT,CAAwBf,KAAxB,EAA+BgB,QAA/B,EAAyCJ,MAAzC,EAAkD;AACxD,SAAO,yBAAa,YAAb,EAA2B,EACjC,IAAKZ,KAAK,CAACoB,EAAN,IAAY;AAAEA,MAAAA,EAAE,EAAEC,QAAQ,CAAErB,KAAK,CAACoB,EAAR;AAAd,KAAjB,CADiC;AAEjChB,IAAAA,GAAG,EAAEJ,KAAK,CAACI,GAFsB;AAGjCkB,IAAAA,GAAG,EAAEtB,KAAK,CAACsB,GAHsB;AAIjCC,IAAAA,OAAO,EAAEvB,KAAK,CAACuB,OAJkB;AAKjCP,IAAAA,QALiC;AAMjC,OAAGjB,qBAAqB,CAAEC,KAAF,EAASY,MAAT;AANS,GAA3B,CAAP;AAQA,C,CAED;AACA;;;AACA,MAAMY,EAAE,GAAG;AACV9B,EAAAA,UAAU,EAAE;AACXG,IAAAA,MAAM,EAAE;AACP4B,MAAAA,IAAI,EAAE,OADC;AAEPC,MAAAA,OAAO,EAAE,EAFF;AAGPC,MAAAA,MAAM,EAAE,OAHD;AAIPC,MAAAA,QAAQ,EAAE,sBAJH;AAKPC,MAAAA,KAAK,EAAE;AACNzB,QAAAA,GAAG,EAAE;AACJqB,UAAAA,IAAI,EAAE,QADF;AAEJE,UAAAA,MAAM,EAAE,WAFJ;AAGJC,UAAAA,QAAQ,EAAE,KAHN;AAIJE,UAAAA,SAAS,EAAE;AAJP,SADC;AAONC,QAAAA,OAAO,EAAE;AACRN,UAAAA,IAAI,EAAE,QADE;AAERE,UAAAA,MAAM,EAAE,WAFA;AAGRC,UAAAA,QAAQ,EAAE,KAHF;AAIRE,UAAAA,SAAS,EAAE;AAJH,SAPH;AAaNvB,QAAAA,IAAI,EAAE;AACLkB,UAAAA,IAAI,EAAE,QADD;AAELE,UAAAA,MAAM,EAAE,WAFH;AAGLC,UAAAA,QAAQ,EAAE,KAHL;AAILE,UAAAA,SAAS,EAAE;AAJN,SAbA;AAmBNR,QAAAA,GAAG,EAAE;AACJG,UAAAA,IAAI,EAAE,QADF;AAEJE,UAAAA,MAAM,EAAE,WAFJ;AAGJC,UAAAA,QAAQ,EAAE,KAHN;AAIJE,UAAAA,SAAS,EAAE,KAJP;AAKJJ,UAAAA,OAAO,EAAE;AALL,SAnBC;AA0BNN,QAAAA,EAAE,EAAE;AACHK,UAAAA,IAAI,EAAE,QADH;AAEHE,UAAAA,MAAM,EAAE,WAFL;AAGHC,UAAAA,QAAQ,EAAE,KAHP;AAIHE,UAAAA,SAAS,EAAE;AAJR,SA1BE;AAgCNP,QAAAA,OAAO,EAAE;AACRE,UAAAA,IAAI,EAAE,QADE;AAERE,UAAAA,MAAM,EAAE,MAFA;AAGRC,UAAAA,QAAQ,EAAE;AAHF;AAhCH;AALA,KADG;AA6CXX,IAAAA,GAAG,EAAE;AACJQ,MAAAA,IAAI,EAAE,OADF;AAEJO,MAAAA,KAAK,EAAE;AACNP,QAAAA,IAAI,EAAE;AADA,OAFH;AAKJC,MAAAA,OAAO,EAAE;AALL,KA7CM;AAoDXO,IAAAA,mBAAmB,EAAE;AACpBR,MAAAA,IAAI,EAAE,OADc;AAEpBC,MAAAA,OAAO,EAAE,EAFW;AAGpBM,MAAAA,KAAK,EAAE;AACNP,QAAAA,IAAI,EAAE;AADA;AAHa,KApDV;AA2DXS,IAAAA,OAAO,EAAE;AACRT,MAAAA,IAAI,EAAE,QADE;AAERU,MAAAA,OAAO,EAAE,CAFD;AAGRC,MAAAA,OAAO,EAAE;AAHD,KA3DE;AAgEXb,IAAAA,OAAO,EAAE;AACRE,MAAAA,IAAI,EAAE,QADE;AAERE,MAAAA,MAAM,EAAE,MAFA;AAGRC,MAAAA,QAAQ,EAAE;AAHF,KAhEE;AAqEXS,IAAAA,SAAS,EAAE;AACVZ,MAAAA,IAAI,EAAE,SADI;AAEVC,MAAAA,OAAO,EAAE;AAFC,KArEA;AAyEXY,IAAAA,WAAW,EAAE;AACZb,MAAAA,IAAI,EAAE,SADM;AAEZC,MAAAA,OAAO,EAAE;AAFG,KAzEF;AA6EXa,IAAAA,UAAU,EAAE;AACXd,MAAAA,IAAI,EAAE;AADK,KA7ED;AAgFXb,IAAAA,MAAM,EAAE;AACPa,MAAAA,IAAI,EAAE;AADC,KAhFG;AAmFXT,IAAAA,QAAQ,EAAE;AACTS,MAAAA,IAAI,EAAE,QADG;AAETC,MAAAA,OAAO,EAAE;AAFA,KAnFC;AAuFXP,IAAAA,WAAW,EAAE;AACZM,MAAAA,IAAI,EAAE,SADM;AAEZC,MAAAA,OAAO,EAAE;AAFG;AAvFF,GADF;;AA6FVc,EAAAA,IAAI,OAAmB;AAAA,QAAjB;AAAE9C,MAAAA;AAAF,KAAiB;AACtB,UAAM;AAAE6B,MAAAA,OAAF;AAAWW,MAAAA,OAAX;AAAoBG,MAAAA;AAApB,QAAkC3C,UAAxC;AAEA,UAAM+C,SAAS,GAAG,yBAAY,mBAAZ,EAAiC;AAClD,OAAG,WAAWP,OAAS,EAAvB,GAA4BA,OAAO,KAAKxB,SADU;AAElD,OAAG,iBAAH,GAAuBwB,OAAO,KAAKxB,SAFe;AAGlD,oBAAc2B;AAHoC,KAAjC,CAAlB;;AAKA,UAAMK,UAAU,GAAGC,2BAAcH,IAAd,CAAoB;AAAEC,MAAAA;AAAF,KAApB,CAAnB;;AACA,UAAMG,gBAAgB,GAAGC,iCAAoBL,IAApB,CAA0BE,UAA1B,CAAzB;;AAEA,WACC,sCAAaE,gBAAb,EACGA,gBAAgB,CAACE,QADpB,EAEG,CAAEC,sBAASC,OAAT,CAAkBzB,OAAlB,CAAF,IACD,4BAAC,qBAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,YADT;AAEC,MAAA,SAAS,EAAC,wBAFX;AAGC,MAAA,KAAK,EAAGA;AAHT,MAHF,CADD;AAYA;;AApHS,CAAX;AAuHA,MAAM0B,EAAE,GAAG;AACVvD,EAAAA,UAAU,EAAE;AACXG,IAAAA,MAAM,EAAE;AACP4B,MAAAA,IAAI,EAAE,OADC;AAEPC,MAAAA,OAAO,EAAE,EAFF;AAGPC,MAAAA,MAAM,EAAE,OAHD;AAIPC,MAAAA,QAAQ,EAAE,sBAJH;AAKPC,MAAAA,KAAK,EAAE;AACNzB,QAAAA,GAAG,EAAE;AACJqB,UAAAA,IAAI,EAAE,QADF;AAEJE,UAAAA,MAAM,EAAE,WAFJ;AAGJC,UAAAA,QAAQ,EAAE,KAHN;AAIJE,UAAAA,SAAS,EAAE;AAJP,SADC;AAONC,QAAAA,OAAO,EAAE;AACRN,UAAAA,IAAI,EAAE,QADE;AAERE,UAAAA,MAAM,EAAE,WAFA;AAGRC,UAAAA,QAAQ,EAAE,KAHF;AAIRE,UAAAA,SAAS,EAAE;AAJH,SAPH;AAaNvB,QAAAA,IAAI,EAAE;AACLkB,UAAAA,IAAI,EAAE,QADD;AAELE,UAAAA,MAAM,EAAE,WAFH;AAGLC,UAAAA,QAAQ,EAAE,KAHL;AAILE,UAAAA,SAAS,EAAE;AAJN,SAbA;AAmBNR,QAAAA,GAAG,EAAE;AACJG,UAAAA,IAAI,EAAE,QADF;AAEJE,UAAAA,MAAM,EAAE,WAFJ;AAGJC,UAAAA,QAAQ,EAAE,KAHN;AAIJE,UAAAA,SAAS,EAAE,KAJP;AAKJJ,UAAAA,OAAO,EAAE;AALL,SAnBC;AA0BNN,QAAAA,EAAE,EAAE;AACHK,UAAAA,IAAI,EAAE,QADH;AAEHE,UAAAA,MAAM,EAAE,WAFL;AAGHC,UAAAA,QAAQ,EAAE,KAHP;AAIHE,UAAAA,SAAS,EAAE;AAJR,SA1BE;AAgCNP,QAAAA,OAAO,EAAE;AACRE,UAAAA,IAAI,EAAE,QADE;AAERE,UAAAA,MAAM,EAAE,MAFA;AAGRC,UAAAA,QAAQ,EAAE;AAHF;AAhCH;AALA,KADG;AA6CXX,IAAAA,GAAG,EAAE;AACJQ,MAAAA,IAAI,EAAE,OADF;AAEJO,MAAAA,KAAK,EAAE;AACNP,QAAAA,IAAI,EAAE;AADA,OAFH;AAKJC,MAAAA,OAAO,EAAE;AALL,KA7CM;AAoDXQ,IAAAA,OAAO,EAAE;AACRT,MAAAA,IAAI,EAAE,QADE;AAERU,MAAAA,OAAO,EAAE,CAFD;AAGRC,MAAAA,OAAO,EAAE;AAHD,KApDE;AAyDXb,IAAAA,OAAO,EAAE;AACRE,MAAAA,IAAI,EAAE,QADE;AAERE,MAAAA,MAAM,EAAE,MAFA;AAGRC,MAAAA,QAAQ,EAAE;AAHF,KAzDE;AA8DXS,IAAAA,SAAS,EAAE;AACVZ,MAAAA,IAAI,EAAE,SADI;AAEVC,MAAAA,OAAO,EAAE;AAFC,KA9DA;AAkEXY,IAAAA,WAAW,EAAE;AACZb,MAAAA,IAAI,EAAE,SADM;AAEZC,MAAAA,OAAO,EAAE;AAFG,KAlEF;AAsEXd,IAAAA,MAAM,EAAE;AACPa,MAAAA,IAAI,EAAE;AADC,KAtEG;AAyEXT,IAAAA,QAAQ,EAAE;AACTS,MAAAA,IAAI,EAAE,QADG;AAETC,MAAAA,OAAO,EAAE;AAFA;AAzEC,GADF;AA+EVwB,EAAAA,QAAQ,EAAE;AACTC,IAAAA,MAAM,EAAE,IADC;AAETC,IAAAA,KAAK,EAAE;AAFE,GA/EA;;AAmFVZ,EAAAA,IAAI,QAAmB;AAAA,QAAjB;AAAE9C,MAAAA;AAAF,KAAiB;AACtB,UAAM;AACLG,MAAAA,MADK;AAELqC,MAAAA,OAAO,GAAGzC,sBAAsB,CAAEC,UAAF,CAF3B;AAGL2C,MAAAA,SAHK;AAILd,MAAAA,OAJK;AAKLX,MAAAA;AALK,QAMFlB,UANJ;AAOA,UAAM+C,SAAS,GAAI,WAAWP,OAAS,IACtCG,SAAS,GAAG,YAAH,GAAkB,EAC3B,EAFD;AAIA,WACC,sCAAaM,2BAAcH,IAAd,CAAoB;AAAEC,MAAAA;AAAF,KAApB,CAAb,EACC;AAAI,MAAA,SAAS,EAAC;AAAd,OACG5C,MAAM,CAACiB,GAAP,CAAcd,KAAF,IAAa;AAC1B,UAAIE,IAAJ;;AAEA,cAASU,MAAT;AACC,aAAKrB,iCAAL;AACCW,UAAAA,IAAI,GAAGF,KAAK,CAAC+B,OAAN,IAAiB/B,KAAK,CAACI,GAA9B;AACA;;AACD,aAAKZ,sCAAL;AACCU,UAAAA,IAAI,GAAGF,KAAK,CAACO,IAAb;AACA;AANF;;AASA,YAAM8C,GAAG,GACR;AACC,QAAA,GAAG,EAAGrD,KAAK,CAACI,GADb;AAEC,QAAA,GAAG,EAAGJ,KAAK,CAACsB,GAFb;AAGC,mBAAUtB,KAAK,CAACoB,EAHjB;AAIC,yBAAgBpB,KAAK,CAAC+B,OAJvB;AAKC,qBAAY/B,KAAK,CAACO,IALnB;AAMC,QAAA,SAAS,EACRP,KAAK,CAACoB,EAAN,GAAY,YAAYpB,KAAK,CAACoB,EAAI,EAAlC,GAAsC;AAPxC,QADD;AAaA,aACC;AACC,QAAA,GAAG,EAAGpB,KAAK,CAACoB,EAAN,IAAYpB,KAAK,CAACI,GADzB;AAEC,QAAA,SAAS,EAAC;AAFX,SAIC,4CACGF,IAAI,GACL;AAAG,QAAA,IAAI,EAAGA;AAAV,SAAmBmD,GAAnB,CADK,GAGLA,GAJF,EAMG,CAAEN,sBAASC,OAAT,CAAkBhD,KAAK,CAACuB,OAAxB,CAAF,IACD,4BAAC,qBAAD,CAAU,OAAV;AACC,QAAA,OAAO,EAAC,YADT;AAEC,QAAA,SAAS,EAAC,8BAFX;AAGC,QAAA,KAAK,EAAGvB,KAAK,CAACuB;AAHf,QAPF,CAJD,CADD;AAqBA,KA9CC,CADH,CADD,EAkDG,CAAEwB,sBAASC,OAAT,CAAkBzB,OAAlB,CAAF,IACD,4BAAC,qBAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,YADT;AAEC,MAAA,SAAS,EAAC,wBAFX;AAGC,MAAA,KAAK,EAAGA;AAHT,MAnDF,CADD;AA4DA,GA3JS;;AA4JV+B,EAAAA,OAAO,CAAE5D,UAAF,EAAe;AACrB,QAAK,iCAAL,EAA4B;AAC3B,aAAOiB,cAAc,CAAEjB,UAAF,CAArB;AACA;;AAED,WAAOA,UAAP;AACA;;AAlKS,CAAX;AAoKA,MAAM6D,EAAE,GAAG;AACV7D,EAAAA,UAAU,EAAE;AACXG,IAAAA,MAAM,EAAE;AACP4B,MAAAA,IAAI,EAAE,OADC;AAEPC,MAAAA,OAAO,EAAE,EAFF;AAGPC,MAAAA,MAAM,EAAE,OAHD;AAIPC,MAAAA,QAAQ,EAAE,sBAJH;AAKPC,MAAAA,KAAK,EAAE;AACNzB,QAAAA,GAAG,EAAE;AACJqB,UAAAA,IAAI,EAAE,QADF;AAEJE,UAAAA,MAAM,EAAE,WAFJ;AAGJC,UAAAA,QAAQ,EAAE,KAHN;AAIJE,UAAAA,SAAS,EAAE;AAJP,SADC;AAONC,QAAAA,OAAO,EAAE;AACRN,UAAAA,IAAI,EAAE,QADE;AAERE,UAAAA,MAAM,EAAE,WAFA;AAGRC,UAAAA,QAAQ,EAAE,KAHF;AAIRE,UAAAA,SAAS,EAAE;AAJH,SAPH;AAaNvB,QAAAA,IAAI,EAAE;AACLkB,UAAAA,IAAI,EAAE,QADD;AAELE,UAAAA,MAAM,EAAE,WAFH;AAGLC,UAAAA,QAAQ,EAAE,KAHL;AAILE,UAAAA,SAAS,EAAE;AAJN,SAbA;AAmBNR,QAAAA,GAAG,EAAE;AACJG,UAAAA,IAAI,EAAE,QADF;AAEJE,UAAAA,MAAM,EAAE,WAFJ;AAGJC,UAAAA,QAAQ,EAAE,KAHN;AAIJE,UAAAA,SAAS,EAAE,KAJP;AAKJJ,UAAAA,OAAO,EAAE;AALL,SAnBC;AA0BNN,QAAAA,EAAE,EAAE;AACHK,UAAAA,IAAI,EAAE,QADH;AAEHE,UAAAA,MAAM,EAAE,WAFL;AAGHC,UAAAA,QAAQ,EAAE,KAHP;AAIHE,UAAAA,SAAS,EAAE;AAJR,SA1BE;AAgCNP,QAAAA,OAAO,EAAE;AACRE,UAAAA,IAAI,EAAE,QADE;AAERE,UAAAA,MAAM,EAAE,MAFA;AAGRC,UAAAA,QAAQ,EAAE;AAHF;AAhCH;AALA,KADG;AA6CXX,IAAAA,GAAG,EAAE;AACJQ,MAAAA,IAAI,EAAE,OADF;AAEJO,MAAAA,KAAK,EAAE;AACNP,QAAAA,IAAI,EAAE;AADA,OAFH;AAKJC,MAAAA,OAAO,EAAE;AALL,KA7CM;AAoDXQ,IAAAA,OAAO,EAAE;AACRT,MAAAA,IAAI,EAAE,QADE;AAERU,MAAAA,OAAO,EAAE,CAFD;AAGRC,MAAAA,OAAO,EAAE;AAHD,KApDE;AAyDXb,IAAAA,OAAO,EAAE;AACRE,MAAAA,IAAI,EAAE,QADE;AAERE,MAAAA,MAAM,EAAE,MAFA;AAGRC,MAAAA,QAAQ,EAAE;AAHF,KAzDE;AA8DXS,IAAAA,SAAS,EAAE;AACVZ,MAAAA,IAAI,EAAE,SADI;AAEVC,MAAAA,OAAO,EAAE;AAFC,KA9DA;AAkEXd,IAAAA,MAAM,EAAE;AACPa,MAAAA,IAAI,EAAE,QADC;AAEPC,MAAAA,OAAO,EAAE;AAFF,KAlEG;AAsEXV,IAAAA,QAAQ,EAAE;AACTS,MAAAA,IAAI,EAAE,QADG;AAETC,MAAAA,OAAO,EAAE;AAFA;AAtEC,GADF;AA4EVwB,EAAAA,QAAQ,EAAE;AACTE,IAAAA,KAAK,EAAE;AADE,GA5EA;;AA+EVI,EAAAA,UAAU,QAAe;AAAA,QAAb;AAAE5C,MAAAA;AAAF,KAAa;AACxB,WAAO,CAAEA,MAAF,IAAYA,MAAM,KAAK,YAAvB,IAAuCA,MAAM,KAAK,OAAzD;AACA,GAjFS;;AAkFV0C,EAAAA,OAAO,CAAE5D,UAAF,EAAe;AACrB,QAAK,iCAAL,EAA4B;AAC3B,aAAOiB,cAAc,CAAEjB,UAAF,CAArB;AACA;;AAED,QAAIkB,MAAM,GAAGlB,UAAU,CAACkB,MAAxB;;AAEA,QAAK,CAAElB,UAAU,CAACkB,MAAlB,EAA2B;AAC1BA,MAAAA,MAAM,GAAG,MAAT;AACA,KAFD,MAEO,IAAKlB,UAAU,CAACkB,MAAX,KAAsB,YAA3B,EAA0C;AAChDA,MAAAA,MAAM,GAAG,MAAT;AACA,KAFM,MAEA,IAAKlB,UAAU,CAACkB,MAAX,KAAsB,OAA3B,EAAqC;AAC3CA,MAAAA,MAAM,GAAG,MAAT;AACA;;AACD,WAAO,EACN,GAAGlB,UADG;AAENkB,MAAAA;AAFM,KAAP;AAIA,GApGS;;AAqGV4B,EAAAA,IAAI,QAAmB;AAAA,QAAjB;AAAE9C,MAAAA;AAAF,KAAiB;AACtB,UAAM;AACLG,MAAAA,MADK;AAELqC,MAAAA,OAAO,GAAGzC,sBAAsB,CAAEC,UAAF,CAF3B;AAGL2C,MAAAA,SAHK;AAILd,MAAAA,OAJK;AAKLX,MAAAA;AALK,QAMFlB,UANJ;AAQA,WACC;AACC,MAAA,SAAS,EAAI,WAAWwC,OAAS,IAChCG,SAAS,GAAG,YAAH,GAAkB,EAC3B;AAHF,OAKC;AAAI,MAAA,SAAS,EAAC;AAAd,OACGxC,MAAM,CAACiB,GAAP,CAAcd,KAAF,IAAa;AAC1B,UAAIE,IAAJ;;AAEA,cAASU,MAAT;AACC,aAAK,OAAL;AACCV,UAAAA,IAAI,GAAGF,KAAK,CAAC+B,OAAN,IAAiB/B,KAAK,CAACI,GAA9B;AACA;;AACD,aAAK,YAAL;AACCF,UAAAA,IAAI,GAAGF,KAAK,CAACO,IAAb;AACA;AANF;;AASA,YAAM8C,GAAG,GACR;AACC,QAAA,GAAG,EAAGrD,KAAK,CAACI,GADb;AAEC,QAAA,GAAG,EAAGJ,KAAK,CAACsB,GAFb;AAGC,mBAAUtB,KAAK,CAACoB,EAHjB;AAIC,yBAAgBpB,KAAK,CAAC+B,OAJvB;AAKC,qBAAY/B,KAAK,CAACO,IALnB;AAMC,QAAA,SAAS,EACRP,KAAK,CAACoB,EAAN,GAAY,YAAYpB,KAAK,CAACoB,EAAI,EAAlC,GAAsC;AAPxC,QADD;AAaA,aACC;AACC,QAAA,GAAG,EAAGpB,KAAK,CAACoB,EAAN,IAAYpB,KAAK,CAACI,GADzB;AAEC,QAAA,SAAS,EAAC;AAFX,SAIC,4CACGF,IAAI,GACL;AAAG,QAAA,IAAI,EAAGA;AAAV,SAAmBmD,GAAnB,CADK,GAGLA,GAJF,EAMG,CAAEN,sBAASC,OAAT,CAAkBhD,KAAK,CAACuB,OAAxB,CAAF,IACD,4BAAC,qBAAD,CAAU,OAAV;AACC,QAAA,OAAO,EAAC,YADT;AAEC,QAAA,SAAS,EAAC,8BAFX;AAGC,QAAA,KAAK,EAAGvB,KAAK,CAACuB;AAHf,QAPF,CAJD,CADD;AAqBA,KA9CC,CADH,CALD,EAsDG,CAAEwB,sBAASC,OAAT,CAAkBzB,OAAlB,CAAF,IACD,4BAAC,qBAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,YADT;AAEC,MAAA,SAAS,EAAC,wBAFX;AAGC,MAAA,KAAK,EAAGA;AAHT,MAvDF,CADD;AAgEA;;AA9KS,CAAX;AAiLA,MAAMkC,EAAE,GAAG;AACV/D,EAAAA,UAAU,EAAE;AACXG,IAAAA,MAAM,EAAE;AACP4B,MAAAA,IAAI,EAAE,OADC;AAEPC,MAAAA,OAAO,EAAE,EAFF;AAGPC,MAAAA,MAAM,EAAE,OAHD;AAIPC,MAAAA,QAAQ,EAAE,sBAJH;AAKPC,MAAAA,KAAK,EAAE;AACNzB,QAAAA,GAAG,EAAE;AACJuB,UAAAA,MAAM,EAAE,WADJ;AAEJC,UAAAA,QAAQ,EAAE,KAFN;AAGJE,UAAAA,SAAS,EAAE;AAHP,SADC;AAMNC,QAAAA,OAAO,EAAE;AACRJ,UAAAA,MAAM,EAAE,WADA;AAERC,UAAAA,QAAQ,EAAE,KAFF;AAGRE,UAAAA,SAAS,EAAE;AAHH,SANH;AAWNvB,QAAAA,IAAI,EAAE;AACLoB,UAAAA,MAAM,EAAE,WADH;AAELC,UAAAA,QAAQ,EAAE,KAFL;AAGLE,UAAAA,SAAS,EAAE;AAHN,SAXA;AAgBNR,QAAAA,GAAG,EAAE;AACJK,UAAAA,MAAM,EAAE,WADJ;AAEJC,UAAAA,QAAQ,EAAE,KAFN;AAGJE,UAAAA,SAAS,EAAE,KAHP;AAIJJ,UAAAA,OAAO,EAAE;AAJL,SAhBC;AAsBNN,QAAAA,EAAE,EAAE;AACHO,UAAAA,MAAM,EAAE,WADL;AAEHC,UAAAA,QAAQ,EAAE,KAFP;AAGHE,UAAAA,SAAS,EAAE;AAHR,SAtBE;AA2BNP,QAAAA,OAAO,EAAE;AACRE,UAAAA,IAAI,EAAE,QADE;AAERE,UAAAA,MAAM,EAAE,MAFA;AAGRC,UAAAA,QAAQ,EAAE;AAHF;AA3BH;AALA,KADG;AAwCXX,IAAAA,GAAG,EAAE;AACJQ,MAAAA,IAAI,EAAE,OADF;AAEJC,MAAAA,OAAO,EAAE;AAFL,KAxCM;AA4CXQ,IAAAA,OAAO,EAAE;AACRT,MAAAA,IAAI,EAAE;AADE,KA5CE;AA+CXF,IAAAA,OAAO,EAAE;AACRE,MAAAA,IAAI,EAAE,QADE;AAERE,MAAAA,MAAM,EAAE,MAFA;AAGRC,MAAAA,QAAQ,EAAE;AAHF,KA/CE;AAoDXS,IAAAA,SAAS,EAAE;AACVZ,MAAAA,IAAI,EAAE,SADI;AAEVC,MAAAA,OAAO,EAAE;AAFC,KApDA;AAwDXd,IAAAA,MAAM,EAAE;AACPa,MAAAA,IAAI,EAAE,QADC;AAEPC,MAAAA,OAAO,EAAE;AAFF;AAxDG,GADF;AA8DVwB,EAAAA,QAAQ,EAAE;AACTE,IAAAA,KAAK,EAAE;AADE,GA9DA;;AAiEVI,EAAAA,UAAU,QAAY;AAAA,QAAV;AAAEvC,MAAAA;AAAF,KAAU;AACrB,WAAOA,GAAG,IAAIA,GAAG,CAACyC,IAAJ,CAAYtC,EAAF,IAAU,OAAOA,EAAP,KAAc,QAAlC,CAAd;AACA,GAnES;;AAoEVkC,EAAAA,OAAO,CAAE5D,UAAF,EAAe;AACrB,QAAK,iCAAL,EAA4B;AAC3B,aAAOiB,cAAc,CAAEjB,UAAF,CAArB;AACA;;AAED,WAAO,EACN,GAAGA,UADG;AAENuB,MAAAA,GAAG,EAAE,iBAAKvB,UAAU,CAACuB,GAAhB,EAAuBG,EAAF,IAAU;AACnC,cAAMuC,QAAQ,GAAGtC,QAAQ,CAAED,EAAF,EAAM,EAAN,CAAzB;AACA,eAAOwC,MAAM,CAACC,SAAP,CAAkBF,QAAlB,IAA+BA,QAA/B,GAA0C,IAAjD;AACA,OAHI;AAFC,KAAP;AAOA,GAhFS;;AAiFVnB,EAAAA,IAAI,QAAmB;AAAA,QAAjB;AAAE9C,MAAAA;AAAF,KAAiB;AACtB,UAAM;AACLG,MAAAA,MADK;AAELqC,MAAAA,OAAO,GAAGzC,sBAAsB,CAAEC,UAAF,CAF3B;AAGL2C,MAAAA,SAHK;AAILd,MAAAA,OAJK;AAKLX,MAAAA;AALK,QAMFlB,UANJ;AAQA,WACC;AACC,MAAA,SAAS,EAAI,WAAWwC,OAAS,IAChCG,SAAS,GAAG,YAAH,GAAkB,EAC3B;AAHF,OAKC;AAAI,MAAA,SAAS,EAAC;AAAd,OACGxC,MAAM,CAACiB,GAAP,CAAcd,KAAF,IAAa;AAC1B,UAAIE,IAAJ;;AAEA,cAASU,MAAT;AACC,aAAK,OAAL;AACCV,UAAAA,IAAI,GAAGF,KAAK,CAAC+B,OAAN,IAAiB/B,KAAK,CAACI,GAA9B;AACA;;AACD,aAAK,YAAL;AACCF,UAAAA,IAAI,GAAGF,KAAK,CAACO,IAAb;AACA;AANF;;AASA,YAAM8C,GAAG,GACR;AACC,QAAA,GAAG,EAAGrD,KAAK,CAACI,GADb;AAEC,QAAA,GAAG,EAAGJ,KAAK,CAACsB,GAFb;AAGC,mBAAUtB,KAAK,CAACoB,EAHjB;AAIC,yBAAgBpB,KAAK,CAAC+B,OAJvB;AAKC,qBAAY/B,KAAK,CAACO,IALnB;AAMC,QAAA,SAAS,EACRP,KAAK,CAACoB,EAAN,GAAY,YAAYpB,KAAK,CAACoB,EAAI,EAAlC,GAAsC;AAPxC,QADD;AAaA,aACC;AACC,QAAA,GAAG,EAAGpB,KAAK,CAACoB,EAAN,IAAYpB,KAAK,CAACI,GADzB;AAEC,QAAA,SAAS,EAAC;AAFX,SAIC,4CACGF,IAAI,GACL;AAAG,QAAA,IAAI,EAAGA;AAAV,SAAmBmD,GAAnB,CADK,GAGLA,GAJF,EAMG,CAAEN,sBAASC,OAAT,CAAkBhD,KAAK,CAACuB,OAAxB,CAAF,IACD,4BAAC,qBAAD,CAAU,OAAV;AACC,QAAA,OAAO,EAAC,YADT;AAEC,QAAA,SAAS,EAAC,8BAFX;AAGC,QAAA,KAAK,EAAGvB,KAAK,CAACuB;AAHf,QAPF,CAJD,CADD;AAqBA,KA9CC,CADH,CALD,EAsDG,CAAEwB,sBAASC,OAAT,CAAkBzB,OAAlB,CAAF,IACD,4BAAC,qBAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,YADT;AAEC,MAAA,SAAS,EAAC,wBAFX;AAGC,MAAA,KAAK,EAAGA;AAHT,MAvDF,CADD;AAgEA;;AA1JS,CAAX;AA4JA,MAAMuC,EAAE,GAAG;AACVpE,EAAAA,UAAU,EAAE;AACXG,IAAAA,MAAM,EAAE;AACP4B,MAAAA,IAAI,EAAE,OADC;AAEPC,MAAAA,OAAO,EAAE,EAFF;AAGPC,MAAAA,MAAM,EAAE,OAHD;AAIPC,MAAAA,QAAQ,EAAE,0CAJH;AAKPC,MAAAA,KAAK,EAAE;AACNzB,QAAAA,GAAG,EAAE;AACJuB,UAAAA,MAAM,EAAE,WADJ;AAEJC,UAAAA,QAAQ,EAAE,KAFN;AAGJE,UAAAA,SAAS,EAAE;AAHP,SADC;AAMNC,QAAAA,OAAO,EAAE;AACRJ,UAAAA,MAAM,EAAE,WADA;AAERC,UAAAA,QAAQ,EAAE,KAFF;AAGRE,UAAAA,SAAS,EAAE;AAHH,SANH;AAWNR,QAAAA,GAAG,EAAE;AACJK,UAAAA,MAAM,EAAE,WADJ;AAEJC,UAAAA,QAAQ,EAAE,KAFN;AAGJE,UAAAA,SAAS,EAAE,KAHP;AAIJJ,UAAAA,OAAO,EAAE;AAJL,SAXC;AAiBNN,QAAAA,EAAE,EAAE;AACHO,UAAAA,MAAM,EAAE,WADL;AAEHC,UAAAA,QAAQ,EAAE,KAFP;AAGHE,UAAAA,SAAS,EAAE;AAHR,SAjBE;AAsBNvB,QAAAA,IAAI,EAAE;AACLoB,UAAAA,MAAM,EAAE,WADH;AAELC,UAAAA,QAAQ,EAAE,KAFL;AAGLE,UAAAA,SAAS,EAAE;AAHN,SAtBA;AA2BNP,QAAAA,OAAO,EAAE;AACRE,UAAAA,IAAI,EAAE,QADE;AAERE,UAAAA,MAAM,EAAE,MAFA;AAGRC,UAAAA,QAAQ,EAAE;AAHF;AA3BH;AALA,KADG;AAwCXX,IAAAA,GAAG,EAAE;AACJQ,MAAAA,IAAI,EAAE,OADF;AAEJC,MAAAA,OAAO,EAAE;AAFL,KAxCM;AA4CXQ,IAAAA,OAAO,EAAE;AACRT,MAAAA,IAAI,EAAE;AADE,KA5CE;AA+CXY,IAAAA,SAAS,EAAE;AACVZ,MAAAA,IAAI,EAAE,SADI;AAEVC,MAAAA,OAAO,EAAE;AAFC,KA/CA;AAmDXd,IAAAA,MAAM,EAAE;AACPa,MAAAA,IAAI,EAAE,QADC;AAEPC,MAAAA,OAAO,EAAE;AAFF;AAnDG,GADF;AAyDVwB,EAAAA,QAAQ,EAAE;AACTE,IAAAA,KAAK,EAAE;AADE,GAzDA;;AA4DVZ,EAAAA,IAAI,QAAmB;AAAA,QAAjB;AAAE9C,MAAAA;AAAF,KAAiB;AACtB,UAAM;AACLG,MAAAA,MADK;AAELqC,MAAAA,OAAO,GAAGzC,sBAAsB,CAAEC,UAAF,CAF3B;AAGL2C,MAAAA,SAHK;AAILzB,MAAAA;AAJK,QAKFlB,UALJ;AAMA,WACC;AACC,MAAA,SAAS,EAAI,WAAWwC,OAAS,IAChCG,SAAS,GAAG,YAAH,GAAkB,EAC3B;AAHF,OAKGxC,MAAM,CAACiB,GAAP,CAAcd,KAAF,IAAa;AAC1B,UAAIE,IAAJ;;AAEA,cAASU,MAAT;AACC,aAAK,OAAL;AACCV,UAAAA,IAAI,GAAGF,KAAK,CAAC+B,OAAN,IAAiB/B,KAAK,CAACI,GAA9B;AACA;;AACD,aAAK,YAAL;AACCF,UAAAA,IAAI,GAAGF,KAAK,CAACO,IAAb;AACA;AANF;;AASA,YAAM8C,GAAG,GACR;AACC,QAAA,GAAG,EAAGrD,KAAK,CAACI,GADb;AAEC,QAAA,GAAG,EAAGJ,KAAK,CAACsB,GAFb;AAGC,mBAAUtB,KAAK,CAACoB,EAHjB;AAIC,yBAAgBpB,KAAK,CAAC+B,OAJvB;AAKC,qBAAY/B,KAAK,CAACO,IALnB;AAMC,QAAA,SAAS,EACRP,KAAK,CAACoB,EAAN,GAAY,YAAYpB,KAAK,CAACoB,EAAI,EAAlC,GAAsC;AAPxC,QADD;AAaA,aACC;AACC,QAAA,GAAG,EAAGpB,KAAK,CAACoB,EAAN,IAAYpB,KAAK,CAACI,GADzB;AAEC,QAAA,SAAS,EAAC;AAFX,SAIC,4CACGF,IAAI,GAAG;AAAG,QAAA,IAAI,EAAGA;AAAV,SAAmBmD,GAAnB,CAAH,GAAkCA,GADzC,EAEGrD,KAAK,CAACuB,OAAN,IAAiBvB,KAAK,CAACuB,OAAN,CAAczB,MAAd,GAAuB,CAAxC,IACD,4BAAC,qBAAD,CAAU,OAAV;AACC,QAAA,OAAO,EAAC,YADT;AAEC,QAAA,KAAK,EAAGE,KAAK,CAACuB;AAFf,QAHF,CAJD,CADD;AAgBA,KAzCC,CALH,CADD;AAkDA,GArHS;;AAsHV+B,EAAAA,OAAO,CAAE5D,UAAF,EAAe;AACrB,QAAK,iCAAL,EAA4B;AAC3B,aAAOiB,cAAc,CAAEjB,UAAF,CAArB;AACA;;AACD,WAAOA,UAAP;AACA;;AA3HS,CAAX;AA6HA,MAAMqE,EAAE,GAAG;AACVrE,EAAAA,UAAU,EAAE;AACXG,IAAAA,MAAM,EAAE;AACP4B,MAAAA,IAAI,EAAE,OADC;AAEPC,MAAAA,OAAO,EAAE,EAFF;AAGPC,MAAAA,MAAM,EAAE,OAHD;AAIPC,MAAAA,QAAQ,EAAE,0CAJH;AAKPC,MAAAA,KAAK,EAAE;AACNzB,QAAAA,GAAG,EAAE;AACJuB,UAAAA,MAAM,EAAE,WADJ;AAEJC,UAAAA,QAAQ,EAAE,KAFN;AAGJE,UAAAA,SAAS,EAAE;AAHP,SADC;AAMNR,QAAAA,GAAG,EAAE;AACJK,UAAAA,MAAM,EAAE,WADJ;AAEJC,UAAAA,QAAQ,EAAE,KAFN;AAGJE,UAAAA,SAAS,EAAE,KAHP;AAIJJ,UAAAA,OAAO,EAAE;AAJL,SANC;AAYNN,QAAAA,EAAE,EAAE;AACHO,UAAAA,MAAM,EAAE,WADL;AAEHC,UAAAA,QAAQ,EAAE,KAFP;AAGHE,UAAAA,SAAS,EAAE;AAHR,SAZE;AAiBNvB,QAAAA,IAAI,EAAE;AACLoB,UAAAA,MAAM,EAAE,WADH;AAELC,UAAAA,QAAQ,EAAE,KAFL;AAGLE,UAAAA,SAAS,EAAE;AAHN,SAjBA;AAsBNP,QAAAA,OAAO,EAAE;AACRE,UAAAA,IAAI,EAAE,QADE;AAERE,UAAAA,MAAM,EAAE,MAFA;AAGRC,UAAAA,QAAQ,EAAE;AAHF;AAtBH;AALA,KADG;AAmCXM,IAAAA,OAAO,EAAE;AACRT,MAAAA,IAAI,EAAE;AADE,KAnCE;AAsCXY,IAAAA,SAAS,EAAE;AACVZ,MAAAA,IAAI,EAAE,SADI;AAEVC,MAAAA,OAAO,EAAE;AAFC,KAtCA;AA0CXd,IAAAA,MAAM,EAAE;AACPa,MAAAA,IAAI,EAAE,QADC;AAEPC,MAAAA,OAAO,EAAE;AAFF;AA1CG,GADF;;AAgDV8B,EAAAA,UAAU,QAAoB;AAAA,QAAlB;AAAE3D,MAAAA,MAAF;AAAUoB,MAAAA;AAAV,KAAkB;AAC7B,WACCpB,MAAM,IACNA,MAAM,CAACC,MAAP,GAAgB,CADhB,KAEI,CAAEmB,GAAF,IAASpB,MAAX,IACCoB,GAAG,IAAIpB,MAAP,IAAiBoB,GAAG,CAACnB,MAAJ,KAAeD,MAAM,CAACC,MADxC,IAEDD,MAAM,CAAC6D,IAAP,CAAa,CAAEtC,EAAF,EAAM4C,KAAN,KAAiB;AAC7B,UAAK,CAAE5C,EAAF,IAAQH,GAAG,CAAE+C,KAAF,CAAH,KAAiB,IAA9B,EAAqC;AACpC,eAAO,IAAP;AACA;;AACD,aAAO3C,QAAQ,CAAED,EAAF,EAAM,EAAN,CAAR,KAAuBH,GAAG,CAAE+C,KAAF,CAAjC;AACA,KALD,CAJD,CADD;AAYA,GA7DS;;AA8DVV,EAAAA,OAAO,CAAE5D,UAAF,EAAe;AACrB,QAAK,iCAAL,EAA4B;AAC3B,aAAOiB,cAAc,CAAEjB,UAAF,CAArB;AACA;;AACD,WAAO,EACN,GAAGA,UADG;AAENuB,MAAAA,GAAG,EAAE,iBAAKvB,UAAU,CAACG,MAAhB,EAAwB,SAAc;AAAA,YAAZ;AAAEuB,UAAAA;AAAF,SAAY;;AAC1C,YAAK,CAAEA,EAAP,EAAY;AACX,iBAAO,IAAP;AACA;;AACD,eAAOC,QAAQ,CAAED,EAAF,EAAM,EAAN,CAAf;AACA,OALI;AAFC,KAAP;AASA,GA3ES;;AA4EV8B,EAAAA,QAAQ,EAAE;AACTE,IAAAA,KAAK,EAAE;AADE,GA5EA;;AA+EVZ,EAAAA,IAAI,SAAmB;AAAA,QAAjB;AAAE9C,MAAAA;AAAF,KAAiB;AACtB,UAAM;AACLG,MAAAA,MADK;AAELqC,MAAAA,OAAO,GAAGzC,sBAAsB,CAAEC,UAAF,CAF3B;AAGL2C,MAAAA,SAHK;AAILzB,MAAAA;AAJK,QAKFlB,UALJ;AAMA,WACC;AACC,MAAA,SAAS,EAAI,WAAWwC,OAAS,IAChCG,SAAS,GAAG,YAAH,GAAkB,EAC3B;AAHF,OAKGxC,MAAM,CAACiB,GAAP,CAAcd,KAAF,IAAa;AAC1B,UAAIE,IAAJ;;AAEA,cAASU,MAAT;AACC,aAAK,OAAL;AACCV,UAAAA,IAAI,GAAGF,KAAK,CAACI,GAAb;AACA;;AACD,aAAK,YAAL;AACCF,UAAAA,IAAI,GAAGF,KAAK,CAACO,IAAb;AACA;AANF;;AASA,YAAM8C,GAAG,GACR;AACC,QAAA,GAAG,EAAGrD,KAAK,CAACI,GADb;AAEC,QAAA,GAAG,EAAGJ,KAAK,CAACsB,GAFb;AAGC,mBAAUtB,KAAK,CAACoB,EAHjB;AAIC,qBAAYpB,KAAK,CAACO,IAJnB;AAKC,QAAA,SAAS,EACRP,KAAK,CAACoB,EAAN,GAAY,YAAYpB,KAAK,CAACoB,EAAI,EAAlC,GAAsC;AANxC,QADD;AAYA,aACC;AACC,QAAA,GAAG,EAAGpB,KAAK,CAACoB,EAAN,IAAYpB,KAAK,CAACI,GADzB;AAEC,QAAA,SAAS,EAAC;AAFX,SAIC,4CACGF,IAAI,GAAG;AAAG,QAAA,IAAI,EAAGA;AAAV,SAAmBmD,GAAnB,CAAH,GAAkCA,GADzC,EAEGrD,KAAK,CAACuB,OAAN,IAAiBvB,KAAK,CAACuB,OAAN,CAAczB,MAAd,GAAuB,CAAxC,IACD,4BAAC,qBAAD,CAAU,OAAV;AACC,QAAA,OAAO,EAAC,YADT;AAEC,QAAA,KAAK,EAAGE,KAAK,CAACuB;AAFf,QAHF,CAJD,CADD;AAgBA,KAxCC,CALH,CADD;AAiDA;;AAvIS,CAAX;AA0IA,MAAM0C,EAAE,GAAG;AACVvE,EAAAA,UAAU,EAAE;AACXG,IAAAA,MAAM,EAAE;AACP4B,MAAAA,IAAI,EAAE,OADC;AAEPC,MAAAA,OAAO,EAAE,EAFF;AAGPC,MAAAA,MAAM,EAAE,OAHD;AAIPC,MAAAA,QAAQ,EAAE,sDAJH;AAKPC,MAAAA,KAAK,EAAE;AACNzB,QAAAA,GAAG,EAAE;AACJuB,UAAAA,MAAM,EAAE,WADJ;AAEJG,UAAAA,SAAS,EAAE;AAFP,SADC;AAKNR,QAAAA,GAAG,EAAE;AACJK,UAAAA,MAAM,EAAE,WADJ;AAEJG,UAAAA,SAAS,EAAE,KAFP;AAGJJ,UAAAA,OAAO,EAAE;AAHL,SALC;AAUNN,QAAAA,EAAE,EAAE;AACHO,UAAAA,MAAM,EAAE,WADL;AAEHG,UAAAA,SAAS,EAAE;AAFR;AAVE;AALA,KADG;AAsBXI,IAAAA,OAAO,EAAE;AACRT,MAAAA,IAAI,EAAE;AADE,KAtBE;AAyBXY,IAAAA,SAAS,EAAE;AACVZ,MAAAA,IAAI,EAAE,SADI;AAEVC,MAAAA,OAAO,EAAE;AAFC,KAzBA;AA6BXd,IAAAA,MAAM,EAAE;AACPa,MAAAA,IAAI,EAAE,QADC;AAEPC,MAAAA,OAAO,EAAE;AAFF,KA7BG;AAiCX0B,IAAAA,KAAK,EAAE;AACN3B,MAAAA,IAAI,EAAE,QADA;AAENC,MAAAA,OAAO,EAAE;AAFH;AAjCI,GADF;AAuCVwB,EAAAA,QAAQ,EAAE;AACTE,IAAAA,KAAK,EAAE;AADE,GAvCA;;AA0CVZ,EAAAA,IAAI,SAAmB;AAAA,QAAjB;AAAE9C,MAAAA;AAAF,KAAiB;AACtB,UAAM;AACLG,MAAAA,MADK;AAELqC,MAAAA,OAAO,GAAGzC,sBAAsB,CAAEC,UAAF,CAF3B;AAGL0D,MAAAA,KAHK;AAILf,MAAAA,SAJK;AAKLzB,MAAAA;AALK,QAMFlB,UANJ;AAOA,UAAM+C,SAAS,GAAG,yBAAa,WAAWP,OAAS,EAAjC,EAAoC;AACrDgC,MAAAA,SAAS,EAAEd,KAAK,KAAK,MADgC;AAErD,oBAAcf;AAFuC,KAApC,CAAlB;AAIA,WACC;AAAK,MAAA,SAAS,EAAGI;AAAjB,OACG5C,MAAM,CAACiB,GAAP,CAAcd,KAAF,IAAa;AAC1B,UAAIE,IAAJ;;AAEA,cAASU,MAAT;AACC,aAAK,OAAL;AACCV,UAAAA,IAAI,GAAGF,KAAK,CAACI,GAAb;AACA;;AACD,aAAK,YAAL;AACCF,UAAAA,IAAI,GAAGF,KAAK,CAACO,IAAb;AACA;AANF;;AASA,YAAM8C,GAAG,GACR;AACC,QAAA,GAAG,EAAGrD,KAAK,CAACI,GADb;AAEC,QAAA,GAAG,EAAGJ,KAAK,CAACsB,GAFb;AAGC,mBAAUtB,KAAK,CAACoB;AAHjB,QADD;AAQA,aACC;AACC,QAAA,GAAG,EAAGpB,KAAK,CAACoB,EAAN,IAAYpB,KAAK,CAACI,GADzB;AAEC,QAAA,SAAS,EAAC;AAFX,SAIGF,IAAI,GAAG;AAAG,QAAA,IAAI,EAAGA;AAAV,SAAmBmD,GAAnB,CAAH,GAAkCA,GAJzC,CADD;AAQA,KA5BC,CADH,CADD;AAiCA,GAvFS;;AAwFVC,EAAAA,OAAO,CAAE5D,UAAF,EAAe;AACrB,QAAK,iCAAL,EAA4B;AAC3B,aAAOiB,cAAc,CAAEjB,UAAF,CAArB;AACA;;AAED,WAAOA,UAAP;AACA;;AA9FS,CAAX;eAiGe,CAAE8B,EAAF,EAAMyB,EAAN,EAAUM,EAAV,EAAcE,EAAd,EAAkBK,EAAlB,EAAsBC,EAAtB,EAA0BE,EAA1B,C","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\n\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport { isGalleryV2Enabled } from './shared';\n\nconst DEPRECATED_LINK_DESTINATION_MEDIA = 'file';\nconst DEPRECATED_LINK_DESTINATION_ATTACHMENT = 'post';\n\n/**\n * Original function to determine default number of columns from a block's\n * attributes.\n *\n * Used in deprecations: v1-6, for versions of the gallery block that didn't use inner blocks.\n *\n * @param {Object} attributes Block attributes.\n * @return {number} Default number of columns for the gallery.\n */\nexport function defaultColumnsNumberV1( attributes ) {\n\treturn Math.min( 3, attributes?.images?.length );\n}\n\n/**\n * Original function to determine new href and linkDestination values for an image block from the\n * supplied Gallery link destination.\n *\n * Used in deprecations: v1-6.\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// Need to determine the URL that the selected destination maps to.\n\t// Gutenberg and WordPress use different constants so the new link\n\t// destination also needs to be tweaked.\n\tswitch ( destination ) {\n\t\tcase DEPRECATED_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: LINK_DESTINATION_MEDIA,\n\t\t\t};\n\t\tcase DEPRECATED_LINK_DESTINATION_ATTACHMENT:\n\t\t\treturn {\n\t\t\t\thref: image?.link,\n\t\t\t\tlinkDestination: LINK_DESTINATION_ATTACHMENT,\n\t\t\t};\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: LINK_DESTINATION_MEDIA,\n\t\t\t};\n\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\treturn {\n\t\t\t\thref: image?.link,\n\t\t\t\tlinkDestination: 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: LINK_DESTINATION_NONE,\n\t\t\t};\n\t}\n\n\treturn {};\n}\n\nfunction runV2Migration( attributes ) {\n\tlet linkTo = attributes.linkTo ? attributes.linkTo : 'none';\n\n\tif ( linkTo === 'post' ) {\n\t\tlinkTo = 'attachment';\n\t} else if ( linkTo === 'file' ) {\n\t\tlinkTo = 'media';\n\t}\n\n\tconst imageBlocks = attributes.images.map( ( image ) => {\n\t\treturn getImageBlock( image, attributes.sizeSlug, linkTo );\n\t} );\n\n\tconst { images, ids, ...restAttributes } = attributes;\n\n\treturn [\n\t\t{\n\t\t\t...restAttributes,\n\t\t\tlinkTo,\n\t\t\tallowResize: false,\n\t\t},\n\t\timageBlocks,\n\t];\n}\n/**\n * Gets an Image block from gallery image data\n *\n * Used to migrate Galleries to nested Image InnerBlocks.\n *\n * @param {Object} image Image properties.\n * @param {string} sizeSlug Gallery sizeSlug attribute.\n * @param {string} linkTo Gallery linkTo attribute.\n * @return {Object} Image block.\n */\nexport function getImageBlock( image, sizeSlug, linkTo ) {\n\treturn createBlock( 'core/image', {\n\t\t...( image.id && { id: parseInt( image.id ) } ),\n\t\turl: image.url,\n\t\talt: image.alt,\n\t\tcaption: image.caption,\n\t\tsizeSlug,\n\t\t...getHrefAndDestination( image, linkTo ),\n\t} );\n}\n\n// In #41140 support was added to global styles for caption elements which added a `wp-element-caption` classname\n// to the gallery figcaption element.\nconst v7 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: '.blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: '.blocks-gallery-item__caption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\titems: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tdefault: [],\n\t\t},\n\t\tshortCodeTransforms: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\titems: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t\tminimum: 1,\n\t\t\tmaximum: 8,\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: '.blocks-gallery-caption',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tfixedHeight: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'large',\n\t\t},\n\t\tallowResize: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { caption, columns, imageCrop } = attributes;\n\n\t\tconst className = classnames( 'has-nested-images', {\n\t\t\t[ `columns-${ columns }` ]: columns !== undefined,\n\t\t\t[ `columns-default` ]: columns === undefined,\n\t\t\t'is-cropped': imageCrop,\n\t\t} );\n\t\tconst blockProps = useBlockProps.save( { className } );\n\t\tconst innerBlocksProps = useInnerBlocksProps.save( blockProps );\n\n\t\treturn (\n\t\t\t<figure { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\nconst v6 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: '.blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: '.blocks-gallery-item__caption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\titems: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tdefault: [],\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t\tminimum: 1,\n\t\t\tmaximum: 8,\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: '.blocks-gallery-caption',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tfixedHeight: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'large',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tcaption,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\t\tconst className = `columns-${ columns } ${\n\t\t\timageCrop ? 'is-cropped' : ''\n\t\t}`;\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save( { className } ) }>\n\t\t\t\t<ul className=\"blocks-gallery-grid\">\n\t\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\t\tlet href;\n\n\t\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\t\tcase DEPRECATED_LINK_DESTINATION_MEDIA:\n\t\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase DEPRECATED_LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst img = (\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t{ href ? (\n\t\t\t\t\t\t\t\t\t\t<a href={ href }>{ img }</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\timg\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! RichText.isEmpty( image.caption ) && (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item__caption\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</ul>\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\n\t\treturn attributes;\n\t},\n};\nconst v5 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: '.blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: '.blocks-gallery-item__caption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\titems: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tdefault: [],\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t\tminimum: 1,\n\t\t\tmaximum: 8,\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: '.blocks-gallery-caption',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'large',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tisEligible( { linkTo } ) {\n\t\treturn ! linkTo || linkTo === 'attachment' || linkTo === 'media';\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\n\t\tlet linkTo = attributes.linkTo;\n\n\t\tif ( ! attributes.linkTo ) {\n\t\t\tlinkTo = 'none';\n\t\t} else if ( attributes.linkTo === 'attachment' ) {\n\t\t\tlinkTo = 'post';\n\t\t} else if ( attributes.linkTo === 'media' ) {\n\t\t\tlinkTo = 'file';\n\t\t}\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tlinkTo,\n\t\t};\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tcaption,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\tclassName={ `columns-${ columns } ${\n\t\t\t\t\timageCrop ? 'is-cropped' : ''\n\t\t\t\t}` }\n\t\t\t>\n\t\t\t\t<ul className=\"blocks-gallery-grid\">\n\t\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\t\tlet href;\n\n\t\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst img = (\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t{ href ? (\n\t\t\t\t\t\t\t\t\t\t<a href={ href }>{ img }</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\timg\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! RichText.isEmpty( image.caption ) && (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item__caption\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</ul>\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\nconst v4 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: '.blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: '.blocks-gallery-item__caption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: '.blocks-gallery-caption',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tisEligible( { ids } ) {\n\t\treturn ids && ids.some( ( id ) => typeof id === 'string' );\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tids: map( attributes.ids, ( id ) => {\n\t\t\t\tconst parsedId = parseInt( id, 10 );\n\t\t\t\treturn Number.isInteger( parsedId ) ? parsedId : null;\n\t\t\t} ),\n\t\t};\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tcaption,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\tclassName={ `columns-${ columns } ${\n\t\t\t\t\timageCrop ? 'is-cropped' : ''\n\t\t\t\t}` }\n\t\t\t>\n\t\t\t\t<ul className=\"blocks-gallery-grid\">\n\t\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\t\tlet href;\n\n\t\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst img = (\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t{ href ? (\n\t\t\t\t\t\t\t\t\t\t<a href={ href }>{ img }</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\timg\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! RichText.isEmpty( image.caption ) && (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item__caption\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</ul>\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\nconst v3 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'ul.wp-block-gallery .blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: 'figcaption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tclassName={ `columns-${ columns } ${\n\t\t\t\t\timageCrop ? 'is-cropped' : ''\n\t\t\t\t}` }\n\t\t\t>\n\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\tlet href;\n\n\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst img = (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t{ href ? <a href={ href }>{ img }</a> : img }\n\t\t\t\t\t\t\t\t{ image.caption && image.caption.length > 0 && (\n\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\t\treturn attributes;\n\t},\n};\nconst v2 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'ul.wp-block-gallery .blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: 'figcaption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tisEligible( { images, ids } ) {\n\t\treturn (\n\t\t\timages &&\n\t\t\timages.length > 0 &&\n\t\t\t( ( ! ids && images ) ||\n\t\t\t\t( ids && images && ids.length !== images.length ) ||\n\t\t\t\timages.some( ( id, index ) => {\n\t\t\t\t\tif ( ! id && ids[ index ] !== null ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\treturn parseInt( id, 10 ) !== ids[ index ];\n\t\t\t\t} ) )\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tids: map( attributes.images, ( { id } ) => {\n\t\t\t\tif ( ! id ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\treturn parseInt( id, 10 );\n\t\t\t} ),\n\t\t};\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tclassName={ `columns-${ columns } ${\n\t\t\t\t\timageCrop ? 'is-cropped' : ''\n\t\t\t\t}` }\n\t\t\t>\n\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\tlet href;\n\n\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\thref = image.url;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst img = (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t{ href ? <a href={ href }>{ img }</a> : img }\n\t\t\t\t\t\t\t\t{ image.caption && image.caption.length > 0 && (\n\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t);\n\t},\n};\n\nconst v1 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'div.wp-block-gallery figure.blocks-gallery-image img',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\talign,\n\t\t\timageCrop,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\t\tconst className = classnames( `columns-${ columns }`, {\n\t\t\talignnone: align === 'none',\n\t\t\t'is-cropped': imageCrop,\n\t\t} );\n\t\treturn (\n\t\t\t<div className={ className }>\n\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\tlet href;\n\n\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\thref = image.url;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst img = (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<figure\n\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\tclassName=\"blocks-gallery-image\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ href ? <a href={ href }>{ img }</a> : img }\n\t\t\t\t\t\t</figure>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\n\t\treturn attributes;\n\t},\n};\n\nexport default [ v7, v6, v5, v4, v3, v2, v1 ];\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/deprecated.js"],"names":["DEPRECATED_LINK_DESTINATION_MEDIA","DEPRECATED_LINK_DESTINATION_ATTACHMENT","defaultColumnsNumberV1","attributes","Math","min","images","length","getHrefAndDestination","image","destination","href","source_url","url","linkDestination","LINK_DESTINATION_MEDIA","link","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_NONE","undefined","runV2Migration","linkTo","imageBlocks","map","getImageBlock","sizeSlug","ids","restAttributes","allowResize","id","parseInt","alt","caption","v7","type","default","source","selector","query","attribute","fullUrl","items","shortCodeTransforms","columns","minimum","maximum","imageCrop","fixedHeight","linkTarget","save","className","blockProps","useBlockProps","innerBlocksProps","useInnerBlocksProps","children","RichText","isEmpty","v6","supports","anchor","align","img","migrate","v5","isEligible","v4","some","parsedId","Number","isInteger","v3","v2","index","v1","alignnone"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\n\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport { isGalleryV2Enabled } from './shared';\n\nconst DEPRECATED_LINK_DESTINATION_MEDIA = 'file';\nconst DEPRECATED_LINK_DESTINATION_ATTACHMENT = 'post';\n\n/**\n * Original function to determine default number of columns from a block's\n * attributes.\n *\n * Used in deprecations: v1-6, for versions of the gallery block that didn't use inner blocks.\n *\n * @param {Object} attributes Block attributes.\n * @return {number} Default number of columns for the gallery.\n */\nexport function defaultColumnsNumberV1( attributes ) {\n\treturn Math.min( 3, attributes?.images?.length );\n}\n\n/**\n * Original function to determine new href and linkDestination values for an image block from the\n * supplied Gallery link destination.\n *\n * Used in deprecations: v1-6.\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// Need to determine the URL that the selected destination maps to.\n\t// Gutenberg and WordPress use different constants so the new link\n\t// destination also needs to be tweaked.\n\tswitch ( destination ) {\n\t\tcase DEPRECATED_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: LINK_DESTINATION_MEDIA,\n\t\t\t};\n\t\tcase DEPRECATED_LINK_DESTINATION_ATTACHMENT:\n\t\t\treturn {\n\t\t\t\thref: image?.link,\n\t\t\t\tlinkDestination: LINK_DESTINATION_ATTACHMENT,\n\t\t\t};\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: LINK_DESTINATION_MEDIA,\n\t\t\t};\n\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\treturn {\n\t\t\t\thref: image?.link,\n\t\t\t\tlinkDestination: 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: LINK_DESTINATION_NONE,\n\t\t\t};\n\t}\n\n\treturn {};\n}\n\nfunction runV2Migration( attributes ) {\n\tlet linkTo = attributes.linkTo ? attributes.linkTo : 'none';\n\n\tif ( linkTo === 'post' ) {\n\t\tlinkTo = 'attachment';\n\t} else if ( linkTo === 'file' ) {\n\t\tlinkTo = 'media';\n\t}\n\n\tconst imageBlocks = attributes.images.map( ( image ) => {\n\t\treturn getImageBlock( image, attributes.sizeSlug, linkTo );\n\t} );\n\n\tconst { images, ids, ...restAttributes } = attributes;\n\n\treturn [\n\t\t{\n\t\t\t...restAttributes,\n\t\t\tlinkTo,\n\t\t\tallowResize: false,\n\t\t},\n\t\timageBlocks,\n\t];\n}\n/**\n * Gets an Image block from gallery image data\n *\n * Used to migrate Galleries to nested Image InnerBlocks.\n *\n * @param {Object} image Image properties.\n * @param {string} sizeSlug Gallery sizeSlug attribute.\n * @param {string} linkTo Gallery linkTo attribute.\n * @return {Object} Image block.\n */\nexport function getImageBlock( image, sizeSlug, linkTo ) {\n\treturn createBlock( 'core/image', {\n\t\t...( image.id && { id: parseInt( image.id ) } ),\n\t\turl: image.url,\n\t\talt: image.alt,\n\t\tcaption: image.caption,\n\t\tsizeSlug,\n\t\t...getHrefAndDestination( image, linkTo ),\n\t} );\n}\n\n// In #41140 support was added to global styles for caption elements which added a `wp-element-caption` classname\n// to the gallery figcaption element.\nconst v7 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: '.blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: '.blocks-gallery-item__caption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\titems: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tdefault: [],\n\t\t},\n\t\tshortCodeTransforms: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\titems: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t\tminimum: 1,\n\t\t\tmaximum: 8,\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: '.blocks-gallery-caption',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tfixedHeight: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'large',\n\t\t},\n\t\tallowResize: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { caption, columns, imageCrop } = attributes;\n\n\t\tconst className = classnames( 'has-nested-images', {\n\t\t\t[ `columns-${ columns }` ]: columns !== undefined,\n\t\t\t[ `columns-default` ]: columns === undefined,\n\t\t\t'is-cropped': imageCrop,\n\t\t} );\n\t\tconst blockProps = useBlockProps.save( { className } );\n\t\tconst innerBlocksProps = useInnerBlocksProps.save( blockProps );\n\n\t\treturn (\n\t\t\t<figure { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\nconst v6 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: '.blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: '.blocks-gallery-item__caption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\titems: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tdefault: [],\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t\tminimum: 1,\n\t\t\tmaximum: 8,\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: '.blocks-gallery-caption',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tfixedHeight: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'large',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tcaption,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\t\tconst className = `columns-${ columns } ${\n\t\t\timageCrop ? 'is-cropped' : ''\n\t\t}`;\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save( { className } ) }>\n\t\t\t\t<ul className=\"blocks-gallery-grid\">\n\t\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\t\tlet href;\n\n\t\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\t\tcase DEPRECATED_LINK_DESTINATION_MEDIA:\n\t\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase DEPRECATED_LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst img = (\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t{ href ? (\n\t\t\t\t\t\t\t\t\t\t<a href={ href }>{ img }</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\timg\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! RichText.isEmpty( image.caption ) && (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item__caption\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</ul>\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\n\t\treturn attributes;\n\t},\n};\nconst v5 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: '.blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: '.blocks-gallery-item__caption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\titems: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tdefault: [],\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t\tminimum: 1,\n\t\t\tmaximum: 8,\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: '.blocks-gallery-caption',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'large',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tisEligible( { linkTo } ) {\n\t\treturn ! linkTo || linkTo === 'attachment' || linkTo === 'media';\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\n\t\tlet linkTo = attributes.linkTo;\n\n\t\tif ( ! attributes.linkTo ) {\n\t\t\tlinkTo = 'none';\n\t\t} else if ( attributes.linkTo === 'attachment' ) {\n\t\t\tlinkTo = 'post';\n\t\t} else if ( attributes.linkTo === 'media' ) {\n\t\t\tlinkTo = 'file';\n\t\t}\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tlinkTo,\n\t\t};\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tcaption,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\tclassName={ `columns-${ columns } ${\n\t\t\t\t\timageCrop ? 'is-cropped' : ''\n\t\t\t\t}` }\n\t\t\t>\n\t\t\t\t<ul className=\"blocks-gallery-grid\">\n\t\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\t\tlet href;\n\n\t\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst img = (\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t{ href ? (\n\t\t\t\t\t\t\t\t\t\t<a href={ href }>{ img }</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\timg\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! RichText.isEmpty( image.caption ) && (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item__caption\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</ul>\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\nconst v4 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: '.blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: '.blocks-gallery-item__caption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: '.blocks-gallery-caption',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tisEligible( { ids } ) {\n\t\treturn ids && ids.some( ( id ) => typeof id === 'string' );\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tids: ( attributes.ids ?? [] ).map( ( id ) => {\n\t\t\t\tconst parsedId = parseInt( id, 10 );\n\t\t\t\treturn Number.isInteger( parsedId ) ? parsedId : null;\n\t\t\t} ),\n\t\t};\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tcaption,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\tclassName={ `columns-${ columns } ${\n\t\t\t\t\timageCrop ? 'is-cropped' : ''\n\t\t\t\t}` }\n\t\t\t>\n\t\t\t\t<ul className=\"blocks-gallery-grid\">\n\t\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\t\tlet href;\n\n\t\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst img = (\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t{ href ? (\n\t\t\t\t\t\t\t\t\t\t<a href={ href }>{ img }</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\timg\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! RichText.isEmpty( image.caption ) && (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item__caption\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</ul>\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\nconst v3 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'ul.wp-block-gallery .blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: 'figcaption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tclassName={ `columns-${ columns } ${\n\t\t\t\t\timageCrop ? 'is-cropped' : ''\n\t\t\t\t}` }\n\t\t\t>\n\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\tlet href;\n\n\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst img = (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t{ href ? <a href={ href }>{ img }</a> : img }\n\t\t\t\t\t\t\t\t{ image.caption && image.caption.length > 0 && (\n\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\t\treturn attributes;\n\t},\n};\nconst v2 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'ul.wp-block-gallery .blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: 'figcaption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tisEligible( { images, ids } ) {\n\t\treturn (\n\t\t\timages &&\n\t\t\timages.length > 0 &&\n\t\t\t( ( ! ids && images ) ||\n\t\t\t\t( ids && images && ids.length !== images.length ) ||\n\t\t\t\timages.some( ( id, index ) => {\n\t\t\t\t\tif ( ! id && ids[ index ] !== null ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\treturn parseInt( id, 10 ) !== ids[ index ];\n\t\t\t\t} ) )\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tids: ( attributes.images ?? [] ).map( ( { id } ) => {\n\t\t\t\tif ( ! id ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\treturn parseInt( id, 10 );\n\t\t\t} ),\n\t\t};\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tclassName={ `columns-${ columns } ${\n\t\t\t\t\timageCrop ? 'is-cropped' : ''\n\t\t\t\t}` }\n\t\t\t>\n\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\tlet href;\n\n\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\thref = image.url;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst img = (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t{ href ? <a href={ href }>{ img }</a> : img }\n\t\t\t\t\t\t\t\t{ image.caption && image.caption.length > 0 && (\n\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t);\n\t},\n};\n\nconst v1 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'div.wp-block-gallery figure.blocks-gallery-image img',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\talign,\n\t\t\timageCrop,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\t\tconst className = classnames( `columns-${ columns }`, {\n\t\t\talignnone: align === 'none',\n\t\t\t'is-cropped': imageCrop,\n\t\t} );\n\t\treturn (\n\t\t\t<div className={ className }>\n\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\tlet href;\n\n\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\thref = image.url;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst img = (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<figure\n\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\tclassName=\"blocks-gallery-image\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ href ? <a href={ href }>{ img }</a> : img }\n\t\t\t\t\t\t</figure>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\n\t\treturn attributes;\n\t},\n};\n\nexport default [ v7, v6, v5, v4, v3, v2, v1 ];\n"]}
@@ -33,6 +33,8 @@ var _blob = require("@wordpress/blob");
33
33
 
34
34
  var _notices = require("@wordpress/notices");
35
35
 
36
+ var _icons = require("@wordpress/icons");
37
+
36
38
  var _sharedIcon = require("./shared-icon");
37
39
 
38
40
  var _shared = require("./shared");
@@ -77,10 +79,6 @@ const linkOptions = [{
77
79
  }];
78
80
  const ALLOWED_MEDIA_TYPES = ['image'];
79
81
  const allowedBlocks = ['core/image'];
80
- const LAYOUT = {
81
- type: 'default',
82
- alignments: []
83
- };
84
82
  const PLACEHOLDER_TEXT = _element.Platform.isNative ? (0, _i18n.__)('ADD MEDIA') : (0, _i18n.__)('Drag images, upload new ones or select files from your library.');
85
83
  const MOBILE_CONTROL_PROPS_RANGE_CONTROL = _element.Platform.isNative ? {
86
84
  type: 'stepper'
@@ -95,15 +93,37 @@ function GalleryEdit(props) {
95
93
  className,
96
94
  clientId,
97
95
  isSelected,
98
- insertBlocksAfter
96
+ insertBlocksAfter,
97
+ isContentLocked
99
98
  } = props;
100
99
  const {
101
100
  columns,
102
101
  imageCrop,
103
102
  linkTarget,
104
103
  linkTo,
105
- sizeSlug
104
+ sizeSlug,
105
+ caption
106
106
  } = attributes;
107
+ const [showCaption, setShowCaption] = (0, _element.useState)(!!caption);
108
+ const prevCaption = (0, _compose.usePrevious)(caption); // We need to show the caption when changes come from
109
+ // history navigation(undo/redo).
110
+
111
+ (0, _element.useEffect)(() => {
112
+ if (caption && !prevCaption) {
113
+ setShowCaption(true);
114
+ }
115
+ }, [caption, prevCaption]);
116
+ (0, _element.useEffect)(() => {
117
+ if (!isSelected && !caption) {
118
+ setShowCaption(false);
119
+ }
120
+ }, [isSelected, caption]); // Focus the caption when we click to add one.
121
+
122
+ const captionRef = (0, _element.useCallback)(node => {
123
+ if (node && !caption) {
124
+ node.focus();
125
+ }
126
+ }, [caption]);
107
127
  const {
108
128
  __unstableMarkNextChangeAsNotPersistent,
109
129
  replaceInnerBlocks,
@@ -424,11 +444,15 @@ function GalleryEdit(props) {
424
444
  const blockProps = (0, _blockEditor.useBlockProps)({
425
445
  className: (0, _classnames.default)(className, 'has-nested-images')
426
446
  });
447
+ const nativeInnerBlockProps = _element.Platform.isNative && {
448
+ marginHorizontal: 0,
449
+ marginVertical: 0
450
+ };
427
451
  const innerBlocksProps = (0, _blockEditor.useInnerBlocksProps)(blockProps, {
428
452
  allowedBlocks,
429
453
  orientation: 'horizontal',
430
454
  renderAppender: false,
431
- __experimentalLayout: LAYOUT
455
+ ...nativeInnerBlockProps
432
456
  });
433
457
 
434
458
  if (!hasImages) {
@@ -475,6 +499,21 @@ function GalleryEdit(props) {
475
499
  }, (0, _element.createElement)(_components.BaseControl.VisualLabel, null, (0, _i18n.__)('Image size')), (0, _element.createElement)(_primitives.View, {
476
500
  className: 'gallery-image-sizes__loading'
477
501
  }, (0, _element.createElement)(_components.Spinner, null), (0, _i18n.__)('Loading options…'))))), (0, _element.createElement)(_blockEditor.BlockControls, {
502
+ group: "block"
503
+ }, !isContentLocked && (0, _element.createElement)(_components.ToolbarButton, {
504
+ onClick: () => {
505
+ setShowCaption(!showCaption);
506
+
507
+ if (showCaption && caption) {
508
+ setAttributes({
509
+ caption: undefined
510
+ });
511
+ }
512
+ },
513
+ icon: _icons.caption,
514
+ isPressed: showCaption,
515
+ label: showCaption ? (0, _i18n.__)('Remove caption') : (0, _i18n.__)('Add caption')
516
+ })), (0, _element.createElement)(_blockEditor.BlockControls, {
478
517
  group: "other"
479
518
  }, (0, _element.createElement)(_blockEditor.MediaReplaceFlow, {
480
519
  allowedTypes: ALLOWED_MEDIA_TYPES,
@@ -489,6 +528,8 @@ function GalleryEdit(props) {
489
528
  blockGap: (_attributes$style = attributes.style) === null || _attributes$style === void 0 ? void 0 : (_attributes$style$spa = _attributes$style.spacing) === null || _attributes$style$spa === void 0 ? void 0 : _attributes$style$spa.blockGap,
490
529
  clientId: clientId
491
530
  }), (0, _element.createElement)(_gallery.default, (0, _extends2.default)({}, props, {
531
+ showCaption: showCaption,
532
+ ref: _element.Platform.isWeb ? captionRef : undefined,
492
533
  images: images,
493
534
  mediaPlaceholder: !hasImages || _element.Platform.isNative ? mediaPlaceholder : undefined,
494
535
  blockProps: innerBlocksProps,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/edit.js"],"names":["MAX_COLUMNS","linkOptions","value","LINK_DESTINATION_ATTACHMENT","label","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","allowedBlocks","LAYOUT","type","alignments","PLACEHOLDER_TEXT","Platform","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","columns","imageCrop","linkTarget","linkTo","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","clearSelectedBlock","blockEditorStore","createSuccessNotice","createErrorNotice","noticesStore","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","find","newClassName","newLinkTarget","rel","linkDestination","caption","raw","alt","alt_text","isValidFileType","file","nativeFileData","mediaTypeSelector","media_type","some","mediaType","indexOf","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","every","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","sharedIcon","title","instructions","blockProps","innerBlocksProps","orientation","renderAppender","__experimentalLayout","children","hasLinkTo","Math","min","isWeb","style","spacing","blockGap","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tSpinner,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\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' ];\nconst allowedBlocks = [ 'core/image' ];\nconst LAYOUT = { type: 'default', alignments: [] };\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\tisSelected,\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, createErrorNotice } =\n\t\tuseDispatch( 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? imageData.find( ( { id } ) => 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\t// It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.\n\t\tconst nativeFileData =\n\t\t\tPlatform.isNative && file.id\n\t\t\t\t? imageData.find( ( { id } ) => id === file.id )\n\t\t\t\t: null;\n\n\t\tconst mediaTypeSelector = nativeFileData\n\t\t\t? nativeFileData?.media_type\n\t\t\t: file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.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\tcreateErrorNotice(\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', type: 'snackbar' }\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\tcreateErrorNotice( message, { type: 'snackbar' } );\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? imageData.find( ( { id } ) => 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? imageData.find( ( { id } ) => 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\t{ ...mediaPlaceholderProps }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, 'has-nested-images' ),\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t__experimentalLayout: LAYOUT,\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn (\n\t\t\t<View { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t);\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\t__nextHasNoMarginBottom\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\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t{ 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\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\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{ 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={ innerBlocksProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</>\n\t);\n}\nexport default compose( [ withViewportMatch( { isNarrow: '< small' } ) ] )(\n\tGalleryEdit\n);\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/edit.js"],"names":["MAX_COLUMNS","linkOptions","value","LINK_DESTINATION_ATTACHMENT","label","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","allowedBlocks","PLACEHOLDER_TEXT","Platform","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","isContentLocked","columns","imageCrop","linkTarget","linkTo","sizeSlug","caption","showCaption","setShowCaption","prevCaption","captionRef","node","focus","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","clearSelectedBlock","blockEditorStore","createSuccessNotice","createErrorNotice","noticesStore","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","find","newClassName","newLinkTarget","rel","linkDestination","raw","alt","alt_text","isValidFileType","file","nativeFileData","mediaTypeSelector","media_type","some","mediaType","indexOf","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","every","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","sharedIcon","title","instructions","blockProps","nativeInnerBlockProps","marginHorizontal","marginVertical","innerBlocksProps","orientation","renderAppender","children","hasLinkTo","Math","min","isWeb","captionIcon","style","spacing","blockGap","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { compose, usePrevious } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tSpinner,\n\tToolbarButton,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n} from '@wordpress/block-editor';\nimport {\n\tPlatform,\n\tuseCallback,\n\tuseEffect,\n\tuseState,\n\tuseMemo,\n} 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';\nimport { caption as captionIcon } from '@wordpress/icons';\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' ];\nconst allowedBlocks = [ 'core/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\tisSelected,\n\t\tinsertBlocksAfter,\n\t\tisContentLocked,\n\t} = props;\n\n\tconst { columns, imageCrop, linkTarget, linkTo, sizeSlug, caption } =\n\t\tattributes;\n\tconst [ showCaption, setShowCaption ] = useState( !! caption );\n\tconst prevCaption = usePrevious( caption );\n\n\t// We need to show the caption when changes come from\n\t// history navigation(undo/redo).\n\tuseEffect( () => {\n\t\tif ( caption && ! prevCaption ) {\n\t\t\tsetShowCaption( true );\n\t\t}\n\t}, [ caption, prevCaption ] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! caption ) {\n\t\t\tsetShowCaption( false );\n\t\t}\n\t}, [ isSelected, caption ] );\n\n\t// Focus the caption when we click to add one.\n\tconst captionRef = useCallback(\n\t\t( node ) => {\n\t\t\tif ( node && ! caption ) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t},\n\t\t[ caption ]\n\t);\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, createErrorNotice } =\n\t\tuseDispatch( 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? imageData.find( ( { id } ) => 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\t// It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.\n\t\tconst nativeFileData =\n\t\t\tPlatform.isNative && file.id\n\t\t\t\t? imageData.find( ( { id } ) => id === file.id )\n\t\t\t\t: null;\n\n\t\tconst mediaTypeSelector = nativeFileData\n\t\t\t? nativeFileData?.media_type\n\t\t\t: file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.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\tcreateErrorNotice(\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', type: 'snackbar' }\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\tcreateErrorNotice( message, { type: 'snackbar' } );\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? imageData.find( ( { id } ) => 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? imageData.find( ( { id } ) => 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\t{ ...mediaPlaceholderProps }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, 'has-nested-images' ),\n\t} );\n\n\tconst nativeInnerBlockProps = Platform.isNative && {\n\t\tmarginHorizontal: 0,\n\t\tmarginVertical: 0,\n\t};\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t...nativeInnerBlockProps,\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn (\n\t\t\t<View { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t);\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\t__nextHasNoMarginBottom\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\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t{ 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\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\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=\"block\">\n\t\t\t\t{ ! isContentLocked && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetShowCaption( ! showCaption );\n\t\t\t\t\t\t\tif ( showCaption && caption ) {\n\t\t\t\t\t\t\t\tsetAttributes( { caption: undefined } );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={ captionIcon }\n\t\t\t\t\t\tisPressed={ showCaption }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tshowCaption\n\t\t\t\t\t\t\t\t? __( 'Remove caption' )\n\t\t\t\t\t\t\t\t: __( 'Add caption' )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\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{ 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\tshowCaption={ showCaption }\n\t\t\t\tref={ Platform.isWeb ? captionRef : undefined }\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={ innerBlocksProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</>\n\t);\n}\nexport default compose( [ withViewportMatch( { isNarrow: '< small' } ) ] )(\n\tGalleryEdit\n);\n"]}