@wordpress/block-library 10.3.0 → 10.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2627) hide show
  1. package/CHANGELOG.md +101 -0
  2. package/README.md +0 -3
  3. package/build/accordion/edit.cjs +1 -3
  4. package/build/accordion/edit.cjs.map +2 -2
  5. package/build/accordion/index.cjs +3 -0
  6. package/build/accordion/index.cjs.map +2 -2
  7. package/build/accordion/init.cjs.map +2 -2
  8. package/build/accordion/save.cjs.map +2 -2
  9. package/build/accordion/view.cjs.map +2 -2
  10. package/build/accordion-heading/deprecated.cjs.map +2 -2
  11. package/build/accordion-heading/edit.cjs.map +2 -2
  12. package/build/accordion-heading/index.cjs.map +2 -2
  13. package/build/accordion-heading/init.cjs.map +2 -2
  14. package/build/accordion-heading/save.cjs.map +2 -2
  15. package/build/accordion-item/edit.cjs +1 -4
  16. package/build/accordion-item/edit.cjs.map +2 -2
  17. package/build/accordion-item/index.cjs +3 -0
  18. package/build/accordion-item/index.cjs.map +2 -2
  19. package/build/accordion-item/init.cjs.map +2 -2
  20. package/build/accordion-item/save.cjs.map +2 -2
  21. package/build/accordion-panel/edit.cjs +0 -1
  22. package/build/accordion-panel/edit.cjs.map +2 -2
  23. package/build/accordion-panel/index.cjs +2 -0
  24. package/build/accordion-panel/index.cjs.map +2 -2
  25. package/build/accordion-panel/init.cjs.map +2 -2
  26. package/build/accordion-panel/save.cjs.map +2 -2
  27. package/build/archives/edit.cjs.map +2 -2
  28. package/build/archives/index.cjs.map +2 -2
  29. package/build/archives/init.cjs.map +2 -2
  30. package/build/audio/deprecated.cjs.map +2 -2
  31. package/build/audio/edit.cjs.map +2 -2
  32. package/build/audio/index.cjs.map +2 -2
  33. package/build/audio/init.cjs.map +2 -2
  34. package/build/audio/save.cjs.map +2 -2
  35. package/build/audio/transforms.cjs.map +2 -2
  36. package/build/avatar/edit.cjs.map +2 -2
  37. package/build/avatar/hooks.cjs.map +2 -2
  38. package/build/avatar/index.cjs.map +2 -2
  39. package/build/avatar/init.cjs.map +2 -2
  40. package/build/avatar/user-control.cjs.map +2 -2
  41. package/build/block/edit.cjs +1 -1
  42. package/build/block/edit.cjs.map +2 -2
  43. package/build/block/index.cjs.map +2 -2
  44. package/build/block/init.cjs.map +2 -2
  45. package/build/block-keyboard-shortcuts/index.cjs.map +2 -2
  46. package/build/breadcrumbs/edit.cjs.map +2 -2
  47. package/build/breadcrumbs/index.cjs.map +2 -2
  48. package/build/button/deprecated.cjs.map +2 -2
  49. package/build/button/edit.cjs.map +2 -2
  50. package/build/button/get-updated-link-attributes.cjs.map +2 -2
  51. package/build/button/index.cjs.map +2 -2
  52. package/build/button/init.cjs.map +2 -2
  53. package/build/button/save.cjs.map +2 -2
  54. package/build/buttons/deprecated.cjs.map +2 -2
  55. package/build/buttons/edit.cjs +1 -14
  56. package/build/buttons/edit.cjs.map +2 -2
  57. package/build/buttons/index.cjs +3 -0
  58. package/build/buttons/index.cjs.map +2 -2
  59. package/build/buttons/init.cjs.map +2 -2
  60. package/build/buttons/save.cjs.map +2 -2
  61. package/build/buttons/transforms.cjs.map +2 -2
  62. package/build/calendar/edit.cjs.map +2 -2
  63. package/build/calendar/index.cjs.map +2 -2
  64. package/build/calendar/init.cjs.map +2 -2
  65. package/build/calendar/transforms.cjs.map +2 -2
  66. package/build/categories/edit.cjs.map +2 -2
  67. package/build/categories/index.cjs.map +2 -2
  68. package/build/categories/init.cjs.map +2 -2
  69. package/build/categories/variations.cjs.map +2 -2
  70. package/build/code/edit.cjs.map +2 -2
  71. package/build/code/index.cjs.map +2 -2
  72. package/build/code/init.cjs.map +2 -2
  73. package/build/code/save.cjs.map +2 -2
  74. package/build/code/transforms.cjs.map +2 -2
  75. package/build/code/utils.cjs.map +2 -2
  76. package/build/column/deprecated.cjs.map +2 -2
  77. package/build/column/edit.cjs.map +2 -2
  78. package/build/column/index.cjs.map +2 -2
  79. package/build/column/init.cjs.map +2 -2
  80. package/build/column/save.cjs.map +2 -2
  81. package/build/columns/deprecated.cjs.map +2 -2
  82. package/build/columns/edit.cjs.map +2 -2
  83. package/build/columns/index.cjs.map +2 -2
  84. package/build/columns/init.cjs.map +2 -2
  85. package/build/columns/save.cjs.map +2 -2
  86. package/build/columns/transforms.cjs.map +2 -2
  87. package/build/columns/variations.cjs.map +2 -2
  88. package/build/comment-author-avatar/edit.cjs.map +2 -2
  89. package/build/comment-author-avatar/index.cjs.map +2 -2
  90. package/build/comment-author-avatar/init.cjs.map +2 -2
  91. package/build/comment-author-name/deprecated.cjs.map +2 -2
  92. package/build/comment-author-name/edit.cjs.map +2 -2
  93. package/build/comment-author-name/index.cjs.map +2 -2
  94. package/build/comment-author-name/init.cjs.map +2 -2
  95. package/build/comment-content/deprecated.cjs.map +2 -2
  96. package/build/comment-content/edit.cjs.map +2 -2
  97. package/build/comment-content/index.cjs.map +2 -2
  98. package/build/comment-content/init.cjs.map +2 -2
  99. package/build/comment-date/deprecated.cjs.map +2 -2
  100. package/build/comment-date/edit.cjs.map +2 -2
  101. package/build/comment-date/index.cjs.map +2 -2
  102. package/build/comment-date/init.cjs.map +2 -2
  103. package/build/comment-edit-link/deprecated.cjs.map +2 -2
  104. package/build/comment-edit-link/edit.cjs.map +2 -2
  105. package/build/comment-edit-link/index.cjs.map +2 -2
  106. package/build/comment-edit-link/init.cjs.map +2 -2
  107. package/build/comment-reply-link/deprecated.cjs.map +2 -2
  108. package/build/comment-reply-link/edit.cjs.map +2 -2
  109. package/build/comment-reply-link/index.cjs.map +2 -2
  110. package/build/comment-reply-link/init.cjs.map +2 -2
  111. package/build/comment-template/edit.cjs +1 -12
  112. package/build/comment-template/edit.cjs.map +2 -2
  113. package/build/comment-template/hooks.cjs.map +2 -2
  114. package/build/comment-template/index.cjs +9 -0
  115. package/build/comment-template/index.cjs.map +2 -2
  116. package/build/comment-template/init.cjs.map +2 -2
  117. package/build/comment-template/save.cjs.map +2 -2
  118. package/build/comments/deprecated.cjs.map +2 -2
  119. package/build/comments/edit/comments-inspector-controls.cjs.map +2 -2
  120. package/build/comments/edit/comments-legacy.cjs.map +2 -2
  121. package/build/comments/edit/index.cjs +1 -4
  122. package/build/comments/edit/index.cjs.map +3 -3
  123. package/build/comments/edit/placeholder.cjs.map +2 -2
  124. package/build/comments/index.cjs +2 -0
  125. package/build/comments/index.cjs.map +3 -3
  126. package/build/comments/init.cjs.map +2 -2
  127. package/build/comments/save.cjs.map +2 -2
  128. package/build/comments-pagination/comments-pagination-arrow-controls.cjs.map +2 -2
  129. package/build/comments-pagination/edit.cjs +1 -8
  130. package/build/comments-pagination/edit.cjs.map +2 -2
  131. package/build/comments-pagination/index.cjs +6 -0
  132. package/build/comments-pagination/index.cjs.map +2 -2
  133. package/build/comments-pagination/init.cjs.map +2 -2
  134. package/build/comments-pagination/save.cjs.map +2 -2
  135. package/build/comments-pagination-next/edit.cjs.map +2 -2
  136. package/build/comments-pagination-next/index.cjs.map +2 -2
  137. package/build/comments-pagination-next/init.cjs.map +2 -2
  138. package/build/comments-pagination-numbers/edit.cjs.map +2 -2
  139. package/build/comments-pagination-numbers/index.cjs.map +2 -2
  140. package/build/comments-pagination-numbers/init.cjs.map +2 -2
  141. package/build/comments-pagination-previous/edit.cjs.map +2 -2
  142. package/build/comments-pagination-previous/index.cjs.map +2 -2
  143. package/build/comments-pagination-previous/init.cjs.map +2 -2
  144. package/build/comments-title/deprecated.cjs.map +2 -2
  145. package/build/comments-title/edit.cjs.map +2 -2
  146. package/build/comments-title/index.cjs.map +2 -2
  147. package/build/comments-title/init.cjs.map +2 -2
  148. package/build/cover/deprecated.cjs.map +2 -2
  149. package/build/cover/edit/block-controls.cjs.map +2 -2
  150. package/build/cover/edit/color-utils.cjs.map +2 -2
  151. package/build/cover/edit/cover-placeholder.cjs.map +2 -2
  152. package/build/cover/edit/embed-video-url-input.cjs.map +2 -2
  153. package/build/cover/edit/index.cjs.map +2 -2
  154. package/build/cover/edit/inspector-controls.cjs.map +2 -2
  155. package/build/cover/edit/resizable-cover-popover.cjs.map +2 -2
  156. package/build/cover/embed-video-utils.cjs.map +2 -2
  157. package/build/cover/index.cjs.map +2 -2
  158. package/build/cover/init.cjs.map +2 -2
  159. package/build/cover/save.cjs.map +2 -2
  160. package/build/cover/shared.cjs.map +2 -2
  161. package/build/cover/transforms.cjs.map +2 -2
  162. package/build/cover/variations.cjs.map +2 -2
  163. package/build/details/edit.cjs +2 -12
  164. package/build/details/edit.cjs.map +3 -3
  165. package/build/details/index.cjs +9 -0
  166. package/build/details/index.cjs.map +2 -2
  167. package/build/details/init.cjs.map +2 -2
  168. package/build/details/save.cjs.map +2 -2
  169. package/build/details/transforms.cjs.map +2 -2
  170. package/build/embed/deprecated.cjs +1 -1
  171. package/build/embed/deprecated.cjs.map +2 -2
  172. package/build/embed/edit.cjs.map +2 -2
  173. package/build/embed/embed-controls.cjs.map +2 -2
  174. package/build/embed/embed-loading.cjs.map +2 -2
  175. package/build/embed/embed-placeholder.cjs.map +2 -2
  176. package/build/embed/embed-preview.cjs.map +2 -2
  177. package/build/embed/icons.cjs.map +2 -2
  178. package/build/embed/index.cjs.map +2 -2
  179. package/build/embed/init.cjs.map +2 -2
  180. package/build/embed/save.cjs.map +2 -2
  181. package/build/embed/transforms.cjs.map +2 -2
  182. package/build/embed/util.cjs +2 -4
  183. package/build/embed/util.cjs.map +3 -3
  184. package/build/embed/variations.cjs.map +2 -2
  185. package/build/embed/wp-embed-preview.cjs.map +2 -2
  186. package/build/file/deprecated.cjs.map +2 -2
  187. package/build/file/edit.cjs.map +2 -2
  188. package/build/file/index.cjs.map +2 -2
  189. package/build/file/init.cjs.map +2 -2
  190. package/build/file/inspector.cjs.map +2 -2
  191. package/build/file/save.cjs.map +2 -2
  192. package/build/file/transforms.cjs.map +2 -2
  193. package/build/file/variations.cjs.map +2 -2
  194. package/build/file/view.cjs.map +2 -2
  195. package/build/footnotes/edit.cjs +6 -1
  196. package/build/footnotes/edit.cjs.map +2 -2
  197. package/build/footnotes/format.cjs.map +2 -2
  198. package/build/footnotes/index.cjs.map +2 -2
  199. package/build/footnotes/init.cjs.map +2 -2
  200. package/build/form/deprecated.cjs.map +2 -2
  201. package/build/form/edit.cjs +0 -31
  202. package/build/form/edit.cjs.map +2 -2
  203. package/build/form/icons.cjs.map +2 -2
  204. package/build/form/index.cjs +32 -0
  205. package/build/form/index.cjs.map +2 -2
  206. package/build/form/init.cjs.map +2 -2
  207. package/build/form/save.cjs.map +2 -2
  208. package/build/form/utils.cjs.map +2 -2
  209. package/build/form/variations.cjs.map +2 -2
  210. package/build/form-input/deprecated.cjs.map +2 -2
  211. package/build/form-input/edit.cjs.map +2 -2
  212. package/build/form-input/icons.cjs.map +2 -2
  213. package/build/form-input/index.cjs.map +2 -2
  214. package/build/form-input/init.cjs.map +2 -2
  215. package/build/form-input/save.cjs.map +2 -2
  216. package/build/form-input/variations.cjs.map +2 -2
  217. package/build/form-submission-notification/edit.cjs +0 -11
  218. package/build/form-submission-notification/edit.cjs.map +2 -2
  219. package/build/form-submission-notification/index.cjs +12 -0
  220. package/build/form-submission-notification/index.cjs.map +2 -2
  221. package/build/form-submission-notification/init.cjs.map +2 -2
  222. package/build/form-submission-notification/save.cjs.map +2 -2
  223. package/build/form-submission-notification/variations.cjs.map +2 -2
  224. package/build/form-submit-button/edit.cjs +0 -18
  225. package/build/form-submit-button/edit.cjs.map +2 -2
  226. package/build/form-submit-button/index.cjs +18 -0
  227. package/build/form-submit-button/index.cjs.map +2 -2
  228. package/build/form-submit-button/init.cjs.map +2 -2
  229. package/build/form-submit-button/save.cjs.map +2 -2
  230. package/build/freeform/convert-to-blocks-button.cjs.map +2 -2
  231. package/build/freeform/edit.cjs.map +2 -2
  232. package/build/freeform/index.cjs.map +2 -2
  233. package/build/freeform/init.cjs.map +2 -2
  234. package/build/freeform/modal.cjs.map +2 -2
  235. package/build/freeform/save.cjs.map +2 -2
  236. package/build/gallery/deprecated.cjs.map +2 -2
  237. package/build/gallery/dynamic-gallery.cjs.map +2 -2
  238. package/build/gallery/dynamic-source.cjs.map +2 -2
  239. package/build/gallery/edit.cjs.map +2 -2
  240. package/build/gallery/gallery.cjs.map +2 -2
  241. package/build/gallery/gap-styles.cjs.map +2 -2
  242. package/build/gallery/index.cjs.map +2 -2
  243. package/build/gallery/init.cjs.map +2 -2
  244. package/build/gallery/save.cjs.map +2 -2
  245. package/build/gallery/shared-icon.cjs.map +2 -2
  246. package/build/gallery/transforms.cjs.map +2 -2
  247. package/build/gallery/use-dynamic-gallery.cjs.map +2 -2
  248. package/build/gallery/use-get-media.cjs.map +2 -2
  249. package/build/gallery/use-get-new-images.cjs.map +2 -2
  250. package/build/gallery/use-image-sizes.cjs.map +2 -2
  251. package/build/gallery/utils.cjs.map +2 -2
  252. package/build/gallery/variations.cjs.map +2 -2
  253. package/build/group/block.json +0 -1
  254. package/build/group/deprecated.cjs.map +2 -2
  255. package/build/group/edit.cjs.map +2 -2
  256. package/build/group/index.cjs.map +2 -2
  257. package/build/group/init.cjs.map +2 -2
  258. package/build/group/placeholder.cjs.map +2 -2
  259. package/build/group/save.cjs.map +2 -2
  260. package/build/group/transforms.cjs.map +2 -2
  261. package/build/group/variations.cjs.map +2 -2
  262. package/build/heading/autogenerate-anchors.cjs.map +2 -2
  263. package/build/heading/deprecated.cjs.map +2 -2
  264. package/build/heading/edit.cjs.map +2 -2
  265. package/build/heading/index.cjs.map +2 -2
  266. package/build/heading/init.cjs.map +2 -2
  267. package/build/heading/save.cjs.map +2 -2
  268. package/build/heading/transforms.cjs.map +2 -2
  269. package/build/heading/variations.cjs.map +2 -2
  270. package/build/home-link/edit.cjs.map +2 -2
  271. package/build/home-link/index.cjs.map +2 -2
  272. package/build/home-link/init.cjs.map +2 -2
  273. package/build/home-link/save.cjs.map +2 -2
  274. package/build/html/edit.cjs.map +2 -2
  275. package/build/html/index.cjs.map +2 -2
  276. package/build/html/init.cjs.map +2 -2
  277. package/build/html/modal.cjs.map +2 -2
  278. package/build/html/preview.cjs.map +2 -2
  279. package/build/html/transforms.cjs.map +2 -2
  280. package/build/icon/components/custom-inserter/icon-grid.cjs.map +2 -2
  281. package/build/icon/components/custom-inserter/index.cjs.map +2 -2
  282. package/build/icon/edit.cjs.map +2 -2
  283. package/build/icon/icon.cjs.map +2 -2
  284. package/build/icon/index.cjs.map +2 -2
  285. package/build/image/deprecated.cjs.map +2 -2
  286. package/build/image/edit.cjs +4 -1
  287. package/build/image/edit.cjs.map +2 -2
  288. package/build/image/image.cjs.map +2 -2
  289. package/build/image/index.cjs.map +2 -2
  290. package/build/image/init.cjs.map +2 -2
  291. package/build/image/save.cjs.map +2 -2
  292. package/build/image/transforms.cjs.map +2 -2
  293. package/build/image/use-max-width-observer.cjs.map +2 -2
  294. package/build/image/use-open-image-media-editor-modal.cjs.map +2 -2
  295. package/build/image/utils.cjs.map +2 -2
  296. package/build/image/view.cjs.map +2 -2
  297. package/build/index.cjs.map +2 -2
  298. package/build/latest-comments/deprecated.cjs.map +2 -2
  299. package/build/latest-comments/edit.cjs.map +2 -2
  300. package/build/latest-comments/index.cjs.map +2 -2
  301. package/build/latest-comments/init.cjs.map +2 -2
  302. package/build/latest-posts/deprecated.cjs.map +2 -2
  303. package/build/latest-posts/edit.cjs.map +2 -2
  304. package/build/latest-posts/index.cjs.map +2 -2
  305. package/build/latest-posts/init.cjs.map +2 -2
  306. package/build/list/deprecated.cjs.map +2 -2
  307. package/build/list/edit.cjs +5 -4
  308. package/build/list/edit.cjs.map +2 -2
  309. package/build/list/index.cjs +3 -0
  310. package/build/list/index.cjs.map +2 -2
  311. package/build/list/init.cjs.map +2 -2
  312. package/build/list/ordered-list-settings.cjs.map +2 -2
  313. package/build/list/save.cjs.map +2 -2
  314. package/build/list/tag-name.cjs.map +2 -2
  315. package/build/list/transforms.cjs.map +2 -2
  316. package/build/list/utils.cjs.map +2 -2
  317. package/build/list-item/edit.cjs.map +2 -2
  318. package/build/list-item/hooks/use-enter.cjs.map +2 -2
  319. package/build/list-item/hooks/use-indent-list-item.cjs.map +2 -2
  320. package/build/list-item/hooks/use-merge.cjs.map +2 -2
  321. package/build/list-item/hooks/use-outdent-list-item.cjs.map +2 -2
  322. package/build/list-item/hooks/use-space.cjs.map +2 -2
  323. package/build/list-item/index.cjs.map +2 -2
  324. package/build/list-item/init.cjs.map +2 -2
  325. package/build/list-item/save.cjs.map +2 -2
  326. package/build/list-item/transforms.cjs.map +2 -2
  327. package/build/lock-unlock.cjs.map +2 -2
  328. package/build/loginout/edit.cjs.map +2 -2
  329. package/build/loginout/index.cjs.map +2 -2
  330. package/build/loginout/init.cjs.map +2 -2
  331. package/build/math/deprecated.cjs.map +2 -2
  332. package/build/math/edit.cjs.map +2 -2
  333. package/build/math/index.cjs.map +2 -2
  334. package/build/math/init.cjs.map +2 -2
  335. package/build/math/save.cjs.map +2 -2
  336. package/build/media-text/constants.cjs.map +2 -2
  337. package/build/media-text/deprecated.cjs.map +2 -2
  338. package/build/media-text/edit.cjs +1 -1
  339. package/build/media-text/edit.cjs.map +2 -2
  340. package/build/media-text/index.cjs +2 -0
  341. package/build/media-text/index.cjs.map +2 -2
  342. package/build/media-text/init.cjs.map +2 -2
  343. package/build/media-text/media-container.cjs.map +2 -2
  344. package/build/media-text/save.cjs.map +2 -2
  345. package/build/media-text/transforms.cjs.map +2 -2
  346. package/build/missing/edit.cjs.map +2 -2
  347. package/build/missing/index.cjs.map +2 -2
  348. package/build/missing/init.cjs.map +2 -2
  349. package/build/missing/save.cjs.map +2 -2
  350. package/build/more/edit.cjs.map +2 -2
  351. package/build/more/index.cjs.map +2 -2
  352. package/build/more/init.cjs.map +2 -2
  353. package/build/more/save.cjs.map +2 -2
  354. package/build/more/transforms.cjs.map +2 -2
  355. package/build/navigation/deprecated.cjs.map +2 -2
  356. package/build/navigation/edit/accessible-description.cjs.map +2 -2
  357. package/build/navigation/edit/accessible-menu-description.cjs.map +2 -2
  358. package/build/navigation/edit/deleted-navigation-warning.cjs.map +2 -2
  359. package/build/navigation/edit/deleted-overlay-warning.cjs.map +2 -2
  360. package/build/navigation/edit/index.cjs.map +2 -2
  361. package/build/navigation/edit/inner-blocks.cjs.map +2 -2
  362. package/build/navigation/edit/leaf-more-menu.cjs +33 -23
  363. package/build/navigation/edit/leaf-more-menu.cjs.map +2 -2
  364. package/build/navigation/edit/manage-menus-button.cjs.map +2 -2
  365. package/build/navigation/edit/menu-inspector-controls.cjs.map +2 -2
  366. package/build/navigation/edit/navigation-link-ui.cjs +29 -18
  367. package/build/navigation/edit/navigation-link-ui.cjs.map +2 -2
  368. package/build/navigation/edit/navigation-list-view-header.cjs.map +2 -2
  369. package/build/navigation/edit/navigation-menu-delete-control.cjs.map +2 -2
  370. package/build/navigation/edit/navigation-menu-name-control.cjs.map +2 -2
  371. package/build/navigation/edit/navigation-menu-selector.cjs.map +2 -2
  372. package/build/navigation/edit/overlay-menu-icon.cjs.map +2 -2
  373. package/build/navigation/edit/overlay-menu-preview-button.cjs.map +2 -2
  374. package/build/navigation/edit/overlay-menu-preview-controls.cjs.map +2 -2
  375. package/build/navigation/edit/overlay-menu-preview.cjs.map +2 -2
  376. package/build/navigation/edit/overlay-panel.cjs.map +2 -2
  377. package/build/navigation/edit/overlay-preview.cjs.map +2 -2
  378. package/build/navigation/edit/overlay-template-part-selector.cjs.map +2 -2
  379. package/build/navigation/edit/overlay-visibility-control.cjs.map +2 -2
  380. package/build/navigation/edit/placeholder/index.cjs.map +2 -2
  381. package/build/navigation/edit/placeholder/placeholder-preview.cjs.map +2 -2
  382. package/build/navigation/edit/responsive-wrapper.cjs.map +2 -2
  383. package/build/navigation/edit/unsaved-inner-blocks.cjs.map +2 -2
  384. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.cjs.map +2 -2
  385. package/build/navigation/edit/use-create-navigation-menu.cjs.map +2 -2
  386. package/build/navigation/edit/use-create-overlay.cjs.map +2 -2
  387. package/build/navigation/edit/use-generate-default-navigation-title.cjs.map +2 -2
  388. package/build/navigation/edit/use-inner-blocks.cjs.map +2 -2
  389. package/build/navigation/edit/use-layout-custom-properties.cjs.map +2 -2
  390. package/build/navigation/edit/use-navigation-notice.cjs.map +2 -2
  391. package/build/navigation/edit/utils.cjs.map +2 -2
  392. package/build/navigation/index.cjs.map +2 -2
  393. package/build/navigation/init.cjs.map +2 -2
  394. package/build/navigation/menu-items-to-blocks.cjs.map +2 -2
  395. package/build/navigation/save.cjs.map +2 -2
  396. package/build/navigation/use-navigation-menu.cjs.map +2 -2
  397. package/build/navigation/use-template-part-area-label.cjs.map +2 -2
  398. package/build/navigation/view.cjs.map +2 -2
  399. package/build/navigation-link/edit.cjs.map +2 -2
  400. package/build/navigation-link/hooks.cjs.map +2 -2
  401. package/build/navigation-link/icons.cjs.map +2 -2
  402. package/build/navigation-link/index.cjs.map +2 -2
  403. package/build/navigation-link/init.cjs.map +2 -2
  404. package/build/navigation-link/link-ui/block-inserter.cjs.map +2 -2
  405. package/build/navigation-link/link-ui/dialog-wrapper.cjs.map +2 -2
  406. package/build/navigation-link/link-ui/index.cjs.map +2 -2
  407. package/build/navigation-link/link-ui/page-creator.cjs.map +2 -2
  408. package/build/navigation-link/save.cjs.map +2 -2
  409. package/build/navigation-link/shared/controls.cjs.map +2 -2
  410. package/build/navigation-link/shared/invalid-draft-display.cjs.map +2 -2
  411. package/build/navigation-link/shared/update-attributes.cjs.map +2 -2
  412. package/build/navigation-link/shared/use-enable-link-status-validation.cjs.map +2 -2
  413. package/build/navigation-link/shared/use-entity-binding.cjs.map +2 -2
  414. package/build/navigation-link/shared/use-handle-link-change.cjs.map +2 -2
  415. package/build/navigation-link/shared/use-is-dragging-within.cjs.map +2 -2
  416. package/build/navigation-link/shared/use-is-invalid-link.cjs.map +2 -2
  417. package/build/navigation-link/shared/use-link-preview.cjs.map +2 -2
  418. package/build/navigation-link/transforms.cjs.map +2 -2
  419. package/build/navigation-overlay-close/edit.cjs.map +2 -2
  420. package/build/navigation-overlay-close/icon.cjs.map +2 -2
  421. package/build/navigation-overlay-close/index.cjs.map +2 -2
  422. package/build/navigation-submenu/edit.cjs.map +2 -2
  423. package/build/navigation-submenu/icons.cjs.map +2 -2
  424. package/build/navigation-submenu/index.cjs.map +2 -2
  425. package/build/navigation-submenu/init.cjs.map +2 -2
  426. package/build/navigation-submenu/save.cjs.map +2 -2
  427. package/build/navigation-submenu/transforms.cjs.map +2 -2
  428. package/build/nextpage/edit.cjs.map +2 -2
  429. package/build/nextpage/index.cjs.map +2 -2
  430. package/build/nextpage/init.cjs.map +2 -2
  431. package/build/nextpage/save.cjs.map +2 -2
  432. package/build/nextpage/transforms.cjs.map +2 -2
  433. package/build/page-list/edit.cjs +48 -34
  434. package/build/page-list/edit.cjs.map +3 -3
  435. package/build/page-list/index.cjs.map +2 -2
  436. package/build/page-list/init.cjs.map +2 -2
  437. package/build/page-list/use-convert-to-navigation-links.cjs.map +2 -2
  438. package/build/page-list-item/edit.cjs.map +2 -2
  439. package/build/page-list-item/index.cjs.map +2 -2
  440. package/build/page-list-item/init.cjs.map +2 -2
  441. package/build/paragraph/deprecated-attributes.cjs.map +2 -2
  442. package/build/paragraph/deprecated.cjs.map +2 -2
  443. package/build/paragraph/edit.cjs +4 -7
  444. package/build/paragraph/edit.cjs.map +3 -3
  445. package/build/paragraph/index.cjs +1 -4
  446. package/build/paragraph/index.cjs.map +2 -2
  447. package/build/paragraph/init.cjs.map +2 -2
  448. package/build/paragraph/save.cjs.map +2 -2
  449. package/build/paragraph/transforms.cjs.map +2 -2
  450. package/build/paragraph/use-enter.cjs.map +2 -2
  451. package/build/pattern/edit.cjs.map +2 -2
  452. package/build/pattern/index.cjs.map +2 -2
  453. package/build/pattern/init.cjs.map +2 -2
  454. package/build/pattern/recursion-detector.cjs.map +2 -2
  455. package/build/playlist/block.json +1 -0
  456. package/build/playlist/context.cjs +1 -2
  457. package/build/playlist/context.cjs.map +2 -2
  458. package/build/playlist/edit.cjs +7 -8
  459. package/build/playlist/edit.cjs.map +2 -2
  460. package/build/playlist/index.cjs +3 -1
  461. package/build/playlist/index.cjs.map +3 -3
  462. package/build/playlist/init.cjs.map +2 -2
  463. package/build/playlist/save.cjs.map +2 -2
  464. package/build/playlist/transforms.cjs +66 -0
  465. package/build/playlist/transforms.cjs.map +7 -0
  466. package/build/playlist/utils.cjs.map +2 -2
  467. package/build/playlist/view.cjs.map +2 -2
  468. package/build/playlist-track/edit.cjs +1 -14
  469. package/build/playlist-track/edit.cjs.map +2 -2
  470. package/build/playlist-track/index.cjs +1 -1
  471. package/build/playlist-track/index.cjs.map +2 -2
  472. package/build/playlist-track/init.cjs.map +2 -2
  473. package/build/post-author/edit.cjs.map +2 -2
  474. package/build/post-author/index.cjs.map +2 -2
  475. package/build/post-author/init.cjs.map +2 -2
  476. package/build/post-author/utils.cjs.map +2 -2
  477. package/build/post-author-biography/deprecated.cjs.map +2 -2
  478. package/build/post-author-biography/edit.cjs.map +2 -2
  479. package/build/post-author-biography/index.cjs.map +2 -2
  480. package/build/post-author-biography/init.cjs.map +2 -2
  481. package/build/post-author-name/deprecated.cjs.map +2 -2
  482. package/build/post-author-name/edit.cjs.map +2 -2
  483. package/build/post-author-name/index.cjs.map +2 -2
  484. package/build/post-author-name/init.cjs.map +2 -2
  485. package/build/post-author-name/transforms.cjs.map +2 -2
  486. package/build/post-comment/edit.cjs +1 -11
  487. package/build/post-comment/edit.cjs.map +2 -2
  488. package/build/post-comment/index.cjs +9 -0
  489. package/build/post-comment/index.cjs.map +2 -2
  490. package/build/post-comment/init.cjs.map +2 -2
  491. package/build/post-comment/save.cjs.map +2 -2
  492. package/build/post-comments-count/deprecated.cjs.map +2 -2
  493. package/build/post-comments-count/edit.cjs.map +2 -2
  494. package/build/post-comments-count/index.cjs.map +2 -2
  495. package/build/post-comments-count/init.cjs.map +2 -2
  496. package/build/post-comments-count/transforms.cjs.map +2 -2
  497. package/build/post-comments-form/deprecated.cjs.map +2 -2
  498. package/build/post-comments-form/edit.cjs.map +2 -2
  499. package/build/post-comments-form/form.cjs.map +2 -2
  500. package/build/post-comments-form/index.cjs.map +2 -2
  501. package/build/post-comments-form/init.cjs.map +2 -2
  502. package/build/post-comments-link/deprecated.cjs.map +2 -2
  503. package/build/post-comments-link/edit.cjs.map +2 -2
  504. package/build/post-comments-link/index.cjs.map +2 -2
  505. package/build/post-comments-link/init.cjs.map +2 -2
  506. package/build/post-comments-link/transforms.cjs.map +2 -2
  507. package/build/post-content/edit.cjs +1 -4
  508. package/build/post-content/edit.cjs.map +2 -2
  509. package/build/post-content/index.cjs.map +2 -2
  510. package/build/post-content/init.cjs.map +2 -2
  511. package/build/post-date/deprecated.cjs.map +2 -2
  512. package/build/post-date/edit.cjs.map +2 -2
  513. package/build/post-date/index.cjs.map +2 -2
  514. package/build/post-date/init.cjs.map +2 -2
  515. package/build/post-date/variations.cjs.map +2 -2
  516. package/build/post-excerpt/deprecated.cjs.map +2 -2
  517. package/build/post-excerpt/edit.cjs.map +2 -2
  518. package/build/post-excerpt/index.cjs.map +2 -2
  519. package/build/post-excerpt/init.cjs.map +2 -2
  520. package/build/post-excerpt/transforms.cjs.map +2 -2
  521. package/build/post-featured-image/dimension-controls.cjs.map +2 -2
  522. package/build/post-featured-image/edit.cjs.map +2 -2
  523. package/build/post-featured-image/index.cjs.map +2 -2
  524. package/build/post-featured-image/init.cjs.map +2 -2
  525. package/build/post-featured-image/overlay-controls.cjs.map +2 -2
  526. package/build/post-featured-image/overlay.cjs.map +2 -2
  527. package/build/post-navigation-link/deprecated.cjs.map +2 -2
  528. package/build/post-navigation-link/edit.cjs.map +2 -2
  529. package/build/post-navigation-link/index.cjs +2 -0
  530. package/build/post-navigation-link/index.cjs.map +3 -3
  531. package/build/post-navigation-link/init.cjs.map +2 -2
  532. package/build/post-navigation-link/variations.cjs.map +2 -2
  533. package/build/post-template/edit.cjs +1 -18
  534. package/build/post-template/edit.cjs.map +2 -2
  535. package/build/post-template/index.cjs +18 -0
  536. package/build/post-template/index.cjs.map +2 -2
  537. package/build/post-template/init.cjs.map +2 -2
  538. package/build/post-template/save.cjs.map +2 -2
  539. package/build/post-terms/deprecated.cjs.map +2 -2
  540. package/build/post-terms/edit.cjs.map +2 -2
  541. package/build/post-terms/hooks.cjs.map +2 -2
  542. package/build/post-terms/index.cjs.map +2 -2
  543. package/build/post-terms/init.cjs.map +2 -2
  544. package/build/post-terms/use-post-terms.cjs.map +2 -2
  545. package/build/post-time-to-read/deprecated.cjs.map +2 -2
  546. package/build/post-time-to-read/edit.cjs.map +2 -2
  547. package/build/post-time-to-read/index.cjs.map +2 -2
  548. package/build/post-time-to-read/init.cjs.map +2 -2
  549. package/build/post-time-to-read/variations.cjs.map +2 -2
  550. package/build/post-title/deprecated.cjs.map +2 -2
  551. package/build/post-title/edit.cjs.map +2 -2
  552. package/build/post-title/index.cjs.map +2 -2
  553. package/build/post-title/init.cjs.map +2 -2
  554. package/build/preformatted/edit.cjs.map +2 -2
  555. package/build/preformatted/index.cjs.map +2 -2
  556. package/build/preformatted/init.cjs.map +2 -2
  557. package/build/preformatted/save.cjs.map +2 -2
  558. package/build/preformatted/transforms.cjs.map +2 -2
  559. package/build/private-apis.cjs.map +2 -2
  560. package/build/pullquote/deprecated.cjs.map +2 -2
  561. package/build/pullquote/edit.cjs.map +2 -2
  562. package/build/pullquote/index.cjs.map +2 -2
  563. package/build/pullquote/init.cjs.map +2 -2
  564. package/build/pullquote/save.cjs.map +2 -2
  565. package/build/pullquote/transforms.cjs.map +2 -2
  566. package/build/query/deprecated.cjs.map +2 -2
  567. package/build/query/edit/enhanced-pagination-modal.cjs.map +2 -2
  568. package/build/query/edit/index.cjs.map +2 -2
  569. package/build/query/edit/inspector-controls/author-control.cjs.map +2 -2
  570. package/build/query/edit/inspector-controls/enhanced-pagination-control.cjs.map +2 -2
  571. package/build/query/edit/inspector-controls/format-controls.cjs.map +2 -2
  572. package/build/query/edit/inspector-controls/index.cjs.map +2 -2
  573. package/build/query/edit/inspector-controls/offset-controls.cjs.map +2 -2
  574. package/build/query/edit/inspector-controls/order-control.cjs.map +2 -2
  575. package/build/query/edit/inspector-controls/pages-control.cjs.map +2 -2
  576. package/build/query/edit/inspector-controls/parent-control.cjs.map +2 -2
  577. package/build/query/edit/inspector-controls/per-page-control.cjs.map +2 -2
  578. package/build/query/edit/inspector-controls/sticky-control.cjs.map +2 -2
  579. package/build/query/edit/inspector-controls/taxonomy-controls.cjs.map +2 -2
  580. package/build/query/edit/pattern-selection.cjs.map +2 -2
  581. package/build/query/edit/query-content.cjs +1 -4
  582. package/build/query/edit/query-content.cjs.map +2 -2
  583. package/build/query/edit/query-placeholder.cjs.map +2 -2
  584. package/build/query/edit/query-toolbar.cjs.map +2 -2
  585. package/build/query/icons.cjs.map +2 -2
  586. package/build/query/index.cjs.map +2 -2
  587. package/build/query/init.cjs.map +2 -2
  588. package/build/query/save.cjs.map +2 -2
  589. package/build/query/utils.cjs.map +2 -2
  590. package/build/query/variations.cjs.map +2 -2
  591. package/build/query/view.cjs.map +2 -2
  592. package/build/query-no-results/edit.cjs +1 -14
  593. package/build/query-no-results/edit.cjs.map +2 -2
  594. package/build/query-no-results/index.cjs +11 -0
  595. package/build/query-no-results/index.cjs.map +2 -2
  596. package/build/query-no-results/init.cjs.map +2 -2
  597. package/build/query-no-results/save.cjs.map +2 -2
  598. package/build/query-pagination/deprecated.cjs.map +2 -2
  599. package/build/query-pagination/edit.cjs +1 -8
  600. package/build/query-pagination/edit.cjs.map +2 -2
  601. package/build/query-pagination/index.cjs +6 -0
  602. package/build/query-pagination/index.cjs.map +2 -2
  603. package/build/query-pagination/init.cjs.map +2 -2
  604. package/build/query-pagination/query-pagination-arrow-controls.cjs.map +2 -2
  605. package/build/query-pagination/query-pagination-label-control.cjs.map +2 -2
  606. package/build/query-pagination/save.cjs.map +2 -2
  607. package/build/query-pagination-next/edit.cjs.map +2 -2
  608. package/build/query-pagination-next/index.cjs.map +2 -2
  609. package/build/query-pagination-next/init.cjs.map +2 -2
  610. package/build/query-pagination-numbers/edit.cjs.map +2 -2
  611. package/build/query-pagination-numbers/index.cjs.map +2 -2
  612. package/build/query-pagination-numbers/init.cjs.map +2 -2
  613. package/build/query-pagination-previous/edit.cjs.map +2 -2
  614. package/build/query-pagination-previous/index.cjs.map +2 -2
  615. package/build/query-pagination-previous/init.cjs.map +2 -2
  616. package/build/query-title/deprecated.cjs.map +2 -2
  617. package/build/query-title/edit.cjs.map +2 -2
  618. package/build/query-title/index.cjs.map +2 -2
  619. package/build/query-title/init.cjs.map +2 -2
  620. package/build/query-title/use-archive-label.cjs.map +2 -2
  621. package/build/query-title/use-post-type-label.cjs.map +2 -2
  622. package/build/query-title/variations.cjs.map +2 -2
  623. package/build/query-total/edit.cjs.map +2 -2
  624. package/build/query-total/icons.cjs.map +2 -2
  625. package/build/query-total/index.cjs.map +2 -2
  626. package/build/query-total/init.cjs.map +2 -2
  627. package/build/quote/deprecated.cjs.map +2 -2
  628. package/build/quote/edit.cjs +15 -5
  629. package/build/quote/edit.cjs.map +2 -2
  630. package/build/quote/index.cjs +3 -0
  631. package/build/quote/index.cjs.map +2 -2
  632. package/build/quote/init.cjs.map +2 -2
  633. package/build/quote/save.cjs.map +2 -2
  634. package/build/quote/transforms.cjs.map +2 -2
  635. package/build/read-more/edit.cjs.map +2 -2
  636. package/build/read-more/index.cjs.map +2 -2
  637. package/build/read-more/init.cjs.map +2 -2
  638. package/build/rss/edit.cjs.map +2 -2
  639. package/build/rss/index.cjs.map +2 -2
  640. package/build/rss/init.cjs.map +2 -2
  641. package/build/search/edit.cjs.map +2 -2
  642. package/build/search/index.cjs.map +2 -2
  643. package/build/search/init.cjs.map +2 -2
  644. package/build/search/variations.cjs.map +2 -2
  645. package/build/search/view.cjs.map +2 -2
  646. package/build/separator/deprecated.cjs.map +2 -2
  647. package/build/separator/edit.cjs.map +2 -2
  648. package/build/separator/index.cjs.map +2 -2
  649. package/build/separator/init.cjs.map +2 -2
  650. package/build/separator/save.cjs.map +2 -2
  651. package/build/separator/transforms.cjs.map +2 -2
  652. package/build/separator/use-deprecated-opacity.cjs.map +2 -2
  653. package/build/shortcode/edit.cjs.map +2 -2
  654. package/build/shortcode/index.cjs.map +2 -2
  655. package/build/shortcode/init.cjs.map +2 -2
  656. package/build/shortcode/save.cjs.map +2 -2
  657. package/build/shortcode/transforms.cjs.map +2 -2
  658. package/build/site-logo/edit.cjs.map +2 -2
  659. package/build/site-logo/index.cjs.map +2 -2
  660. package/build/site-logo/init.cjs.map +2 -2
  661. package/build/site-logo/transforms.cjs.map +2 -2
  662. package/build/site-tagline/deprecated.cjs.map +2 -2
  663. package/build/site-tagline/edit.cjs.map +2 -2
  664. package/build/site-tagline/icon.cjs.map +2 -2
  665. package/build/site-tagline/index.cjs.map +2 -2
  666. package/build/site-tagline/init.cjs.map +2 -2
  667. package/build/site-title/deprecated.cjs.map +2 -2
  668. package/build/site-title/edit.cjs.map +2 -2
  669. package/build/site-title/index.cjs.map +2 -2
  670. package/build/site-title/init.cjs.map +2 -2
  671. package/build/site-title/transforms.cjs.map +2 -2
  672. package/build/social-link/edit.cjs.map +2 -2
  673. package/build/social-link/icons/amazon.cjs.map +2 -2
  674. package/build/social-link/icons/bandcamp.cjs.map +2 -2
  675. package/build/social-link/icons/behance.cjs.map +2 -2
  676. package/build/social-link/icons/bluesky.cjs.map +2 -2
  677. package/build/social-link/icons/chain.cjs.map +2 -2
  678. package/build/social-link/icons/codepen.cjs.map +2 -2
  679. package/build/social-link/icons/deviantart.cjs.map +2 -2
  680. package/build/social-link/icons/discord.cjs.map +2 -2
  681. package/build/social-link/icons/dribbble.cjs.map +2 -2
  682. package/build/social-link/icons/dropbox.cjs.map +2 -2
  683. package/build/social-link/icons/etsy.cjs.map +2 -2
  684. package/build/social-link/icons/facebook.cjs.map +2 -2
  685. package/build/social-link/icons/feed.cjs.map +2 -2
  686. package/build/social-link/icons/fivehundredpx.cjs.map +2 -2
  687. package/build/social-link/icons/flickr.cjs.map +2 -2
  688. package/build/social-link/icons/foursquare.cjs.map +2 -2
  689. package/build/social-link/icons/github.cjs.map +2 -2
  690. package/build/social-link/icons/goodreads.cjs.map +2 -2
  691. package/build/social-link/icons/google.cjs.map +2 -2
  692. package/build/social-link/icons/gravatar.cjs.map +2 -2
  693. package/build/social-link/icons/instagram.cjs.map +2 -2
  694. package/build/social-link/icons/lastfm.cjs.map +2 -2
  695. package/build/social-link/icons/linkedin.cjs.map +2 -2
  696. package/build/social-link/icons/mail.cjs.map +2 -2
  697. package/build/social-link/icons/mastodon.cjs.map +2 -2
  698. package/build/social-link/icons/medium.cjs.map +2 -2
  699. package/build/social-link/icons/meetup.cjs.map +2 -2
  700. package/build/social-link/icons/patreon.cjs.map +2 -2
  701. package/build/social-link/icons/pinterest.cjs.map +2 -2
  702. package/build/social-link/icons/pocket.cjs.map +2 -2
  703. package/build/social-link/icons/reddit.cjs.map +2 -2
  704. package/build/social-link/icons/skype.cjs.map +2 -2
  705. package/build/social-link/icons/snapchat.cjs.map +2 -2
  706. package/build/social-link/icons/soundcloud.cjs.map +2 -2
  707. package/build/social-link/icons/spotify.cjs.map +2 -2
  708. package/build/social-link/icons/telegram.cjs.map +2 -2
  709. package/build/social-link/icons/threads.cjs.map +2 -2
  710. package/build/social-link/icons/tiktok.cjs.map +2 -2
  711. package/build/social-link/icons/tumblr.cjs.map +2 -2
  712. package/build/social-link/icons/twitch.cjs.map +2 -2
  713. package/build/social-link/icons/twitter.cjs.map +2 -2
  714. package/build/social-link/icons/vimeo.cjs.map +2 -2
  715. package/build/social-link/icons/vk.cjs.map +2 -2
  716. package/build/social-link/icons/whatsapp.cjs.map +2 -2
  717. package/build/social-link/icons/wordpress.cjs.map +2 -2
  718. package/build/social-link/icons/x.cjs.map +2 -2
  719. package/build/social-link/icons/yelp.cjs.map +2 -2
  720. package/build/social-link/icons/youtube.cjs.map +2 -2
  721. package/build/social-link/index.cjs.map +2 -2
  722. package/build/social-link/init.cjs.map +2 -2
  723. package/build/social-link/social-list.cjs.map +2 -2
  724. package/build/social-link/variations.cjs.map +2 -2
  725. package/build/social-links/deprecated.cjs.map +2 -2
  726. package/build/social-links/edit.cjs.map +2 -2
  727. package/build/social-links/index.cjs.map +2 -2
  728. package/build/social-links/init.cjs.map +2 -2
  729. package/build/social-links/save.cjs.map +2 -2
  730. package/build/spacer/controls.cjs.map +2 -2
  731. package/build/spacer/deprecated.cjs.map +2 -2
  732. package/build/spacer/edit.cjs.map +2 -2
  733. package/build/spacer/index.cjs.map +2 -2
  734. package/build/spacer/init.cjs.map +2 -2
  735. package/build/spacer/save.cjs.map +2 -2
  736. package/build/spacer/transforms.cjs.map +2 -2
  737. package/build/tab-list/edit.cjs.map +2 -2
  738. package/build/tab-list/index.cjs.map +2 -2
  739. package/build/tab-list/init.cjs.map +2 -2
  740. package/build/tab-list/save.cjs.map +2 -2
  741. package/build/tab-list/tab-movers.cjs.map +2 -2
  742. package/build/tab-panel/controls.cjs.map +2 -2
  743. package/build/tab-panel/edit.cjs +1 -4
  744. package/build/tab-panel/edit.cjs.map +2 -2
  745. package/build/tab-panel/index.cjs +21 -0
  746. package/build/tab-panel/index.cjs.map +2 -2
  747. package/build/tab-panel/init.cjs.map +2 -2
  748. package/build/tab-panel/save.cjs.map +2 -2
  749. package/build/tab-panels/edit.cjs +0 -6
  750. package/build/tab-panels/edit.cjs.map +2 -2
  751. package/build/tab-panels/index.cjs +2 -0
  752. package/build/tab-panels/index.cjs.map +2 -2
  753. package/build/tab-panels/init.cjs.map +2 -2
  754. package/build/tab-panels/save.cjs.map +2 -2
  755. package/build/table/deprecated.cjs.map +2 -2
  756. package/build/table/edit.cjs.map +2 -2
  757. package/build/table/index.cjs.map +2 -2
  758. package/build/table/init.cjs.map +2 -2
  759. package/build/table/save.cjs.map +2 -2
  760. package/build/table/transforms.cjs.map +2 -2
  761. package/build/table-of-contents/edit.cjs +84 -54
  762. package/build/table-of-contents/edit.cjs.map +3 -3
  763. package/build/table-of-contents/hooks.cjs.map +2 -2
  764. package/build/table-of-contents/index.cjs.map +2 -2
  765. package/build/table-of-contents/init.cjs.map +2 -2
  766. package/build/table-of-contents/list.cjs.map +2 -2
  767. package/build/table-of-contents/save.cjs.map +2 -2
  768. package/build/table-of-contents/utils.cjs +25 -0
  769. package/build/table-of-contents/utils.cjs.map +2 -2
  770. package/build/tabs/edit.cjs +0 -2
  771. package/build/tabs/edit.cjs.map +2 -2
  772. package/build/tabs/index.cjs +3 -0
  773. package/build/tabs/index.cjs.map +2 -2
  774. package/build/tabs/init.cjs.map +2 -2
  775. package/build/tabs/save.cjs.map +2 -2
  776. package/build/tabs/tab-toolbar-controls.cjs.map +2 -2
  777. package/build/tabs/use-tab-actions.cjs +1 -2
  778. package/build/tabs/use-tab-actions.cjs.map +2 -2
  779. package/build/tabs/use-tab-list-items-sync.cjs.map +2 -2
  780. package/build/tabs/view.cjs +7 -1
  781. package/build/tabs/view.cjs.map +2 -2
  782. package/build/tag-cloud/edit.cjs.map +2 -2
  783. package/build/tag-cloud/index.cjs.map +2 -2
  784. package/build/tag-cloud/init.cjs.map +2 -2
  785. package/build/tag-cloud/transforms.cjs.map +2 -2
  786. package/build/template-part/edit/advanced-controls.cjs.map +2 -2
  787. package/build/template-part/edit/import-controls.cjs.map +2 -2
  788. package/build/template-part/edit/index.cjs.map +2 -2
  789. package/build/template-part/edit/inner-blocks.cjs.map +2 -2
  790. package/build/template-part/edit/placeholder.cjs.map +2 -2
  791. package/build/template-part/edit/selection-modal.cjs.map +2 -2
  792. package/build/template-part/edit/title-modal.cjs.map +2 -2
  793. package/build/template-part/edit/utils/get-template-part-icon.cjs.map +2 -2
  794. package/build/template-part/edit/utils/hooks.cjs.map +2 -2
  795. package/build/template-part/edit/utils/map-template-part-to-block-pattern.cjs.map +2 -2
  796. package/build/template-part/edit/utils/transformers.cjs.map +2 -2
  797. package/build/template-part/index.cjs.map +2 -2
  798. package/build/template-part/init.cjs.map +2 -2
  799. package/build/template-part/variations.cjs.map +2 -2
  800. package/build/term-count/edit.cjs.map +2 -2
  801. package/build/term-count/icons.cjs.map +2 -2
  802. package/build/term-count/index.cjs.map +2 -2
  803. package/build/term-count/init.cjs.map +2 -2
  804. package/build/term-count/use-term-count.cjs.map +2 -2
  805. package/build/term-description/deprecated.cjs.map +2 -2
  806. package/build/term-description/edit.cjs.map +2 -2
  807. package/build/term-description/index.cjs.map +2 -2
  808. package/build/term-description/init.cjs.map +2 -2
  809. package/build/term-description/use-term-description.cjs.map +2 -2
  810. package/build/term-name/deprecated.cjs.map +2 -2
  811. package/build/term-name/edit.cjs.map +2 -2
  812. package/build/term-name/index.cjs.map +2 -2
  813. package/build/term-name/use-term-name.cjs.map +2 -2
  814. package/build/term-template/edit.cjs +1 -2
  815. package/build/term-template/edit.cjs.map +2 -2
  816. package/build/term-template/index.cjs +2 -0
  817. package/build/term-template/index.cjs.map +2 -2
  818. package/build/term-template/save.cjs.map +2 -2
  819. package/build/terms-query/edit/index.cjs.map +2 -2
  820. package/build/terms-query/edit/inspector-controls/advanced-controls.cjs.map +2 -2
  821. package/build/terms-query/edit/inspector-controls/empty-terms-control.cjs.map +2 -2
  822. package/build/terms-query/edit/inspector-controls/include-control.cjs.map +2 -2
  823. package/build/terms-query/edit/inspector-controls/index.cjs.map +2 -2
  824. package/build/terms-query/edit/inspector-controls/inherit-control.cjs.map +2 -2
  825. package/build/terms-query/edit/inspector-controls/max-terms-control.cjs.map +2 -2
  826. package/build/terms-query/edit/inspector-controls/nested-terms-control.cjs.map +2 -2
  827. package/build/terms-query/edit/inspector-controls/order-control.cjs.map +2 -2
  828. package/build/terms-query/edit/inspector-controls/taxonomy-control.cjs.map +2 -2
  829. package/build/terms-query/edit/terms-query-content.cjs +1 -4
  830. package/build/terms-query/edit/terms-query-content.cjs.map +2 -2
  831. package/build/terms-query/edit/terms-query-placeholder.cjs.map +2 -2
  832. package/build/terms-query/index.cjs +2 -0
  833. package/build/terms-query/index.cjs.map +2 -2
  834. package/build/terms-query/save.cjs.map +2 -2
  835. package/build/terms-query/utils.cjs.map +2 -2
  836. package/build/terms-query/variations.cjs.map +2 -2
  837. package/build/text-columns/edit.cjs.map +2 -2
  838. package/build/text-columns/index.cjs.map +2 -2
  839. package/build/text-columns/init.cjs.map +2 -2
  840. package/build/text-columns/save.cjs.map +2 -2
  841. package/build/text-columns/transforms.cjs.map +2 -2
  842. package/build/utils/caption.cjs.map +2 -2
  843. package/build/utils/deprecated-text-align-attributes.cjs.map +2 -2
  844. package/build/utils/get-transformed-attributes.cjs.map +2 -2
  845. package/build/utils/hooks.cjs.map +2 -2
  846. package/build/utils/html-renderer.cjs.map +2 -2
  847. package/build/utils/init-block.cjs.map +2 -2
  848. package/build/utils/is-within-overlay.cjs.map +2 -2
  849. package/build/utils/media-control.cjs.map +2 -2
  850. package/build/utils/migrate-font-family.cjs.map +2 -2
  851. package/build/utils/poster-image.cjs.map +2 -2
  852. package/build/utils/search-patterns.cjs.map +2 -2
  853. package/build/utils/style-state.cjs.map +2 -2
  854. package/build/utils/waveform-player.cjs.map +2 -2
  855. package/build/utils/waveform-utils.cjs.map +2 -2
  856. package/build/verse/deprecated.cjs.map +2 -2
  857. package/build/verse/edit.cjs.map +2 -2
  858. package/build/verse/index.cjs.map +2 -2
  859. package/build/verse/init.cjs.map +2 -2
  860. package/build/verse/save.cjs.map +2 -2
  861. package/build/verse/transforms.cjs.map +2 -2
  862. package/build/video/deprecated.cjs.map +2 -2
  863. package/build/video/edit-common-settings.cjs.map +2 -2
  864. package/build/video/edit.cjs +1 -1
  865. package/build/video/edit.cjs.map +2 -2
  866. package/build/video/index.cjs.map +2 -2
  867. package/build/video/init.cjs.map +2 -2
  868. package/build/video/save.cjs.map +2 -2
  869. package/build/video/tracks-editor.cjs.map +2 -2
  870. package/build/video/transforms.cjs.map +2 -2
  871. package/build/video/variations.cjs +1 -1
  872. package/build/video/variations.cjs.map +2 -2
  873. package/build-module/accordion/edit.mjs +1 -3
  874. package/build-module/accordion/edit.mjs.map +2 -2
  875. package/build-module/accordion/index.mjs +3 -0
  876. package/build-module/accordion/index.mjs.map +2 -2
  877. package/build-module/accordion/init.mjs.map +2 -2
  878. package/build-module/accordion/save.mjs.map +2 -2
  879. package/build-module/accordion/view.mjs.map +2 -2
  880. package/build-module/accordion-heading/deprecated.mjs.map +2 -2
  881. package/build-module/accordion-heading/edit.mjs.map +2 -2
  882. package/build-module/accordion-heading/index.mjs.map +2 -2
  883. package/build-module/accordion-heading/init.mjs.map +2 -2
  884. package/build-module/accordion-heading/save.mjs.map +2 -2
  885. package/build-module/accordion-item/edit.mjs +1 -4
  886. package/build-module/accordion-item/edit.mjs.map +2 -2
  887. package/build-module/accordion-item/index.mjs +3 -0
  888. package/build-module/accordion-item/index.mjs.map +2 -2
  889. package/build-module/accordion-item/init.mjs.map +2 -2
  890. package/build-module/accordion-item/save.mjs.map +2 -2
  891. package/build-module/accordion-panel/edit.mjs +0 -1
  892. package/build-module/accordion-panel/edit.mjs.map +2 -2
  893. package/build-module/accordion-panel/index.mjs +2 -0
  894. package/build-module/accordion-panel/index.mjs.map +2 -2
  895. package/build-module/accordion-panel/init.mjs.map +2 -2
  896. package/build-module/accordion-panel/save.mjs.map +2 -2
  897. package/build-module/archives/edit.mjs.map +2 -2
  898. package/build-module/archives/index.mjs.map +2 -2
  899. package/build-module/archives/init.mjs.map +2 -2
  900. package/build-module/audio/deprecated.mjs.map +2 -2
  901. package/build-module/audio/edit.mjs.map +2 -2
  902. package/build-module/audio/index.mjs.map +2 -2
  903. package/build-module/audio/init.mjs.map +2 -2
  904. package/build-module/audio/save.mjs.map +2 -2
  905. package/build-module/audio/transforms.mjs.map +2 -2
  906. package/build-module/avatar/edit.mjs.map +2 -2
  907. package/build-module/avatar/hooks.mjs.map +2 -2
  908. package/build-module/avatar/index.mjs.map +2 -2
  909. package/build-module/avatar/init.mjs.map +2 -2
  910. package/build-module/avatar/user-control.mjs.map +2 -2
  911. package/build-module/block/edit.mjs +1 -1
  912. package/build-module/block/edit.mjs.map +2 -2
  913. package/build-module/block/index.mjs.map +2 -2
  914. package/build-module/block/init.mjs.map +2 -2
  915. package/build-module/block-keyboard-shortcuts/index.mjs.map +2 -2
  916. package/build-module/breadcrumbs/edit.mjs.map +2 -2
  917. package/build-module/breadcrumbs/index.mjs.map +2 -2
  918. package/build-module/button/deprecated.mjs.map +2 -2
  919. package/build-module/button/edit.mjs.map +2 -2
  920. package/build-module/button/get-updated-link-attributes.mjs.map +2 -2
  921. package/build-module/button/index.mjs.map +2 -2
  922. package/build-module/button/init.mjs.map +2 -2
  923. package/build-module/button/save.mjs.map +2 -2
  924. package/build-module/buttons/deprecated.mjs.map +2 -2
  925. package/build-module/buttons/edit.mjs +1 -14
  926. package/build-module/buttons/edit.mjs.map +2 -2
  927. package/build-module/buttons/index.mjs +3 -0
  928. package/build-module/buttons/index.mjs.map +2 -2
  929. package/build-module/buttons/init.mjs.map +2 -2
  930. package/build-module/buttons/save.mjs.map +2 -2
  931. package/build-module/buttons/transforms.mjs.map +2 -2
  932. package/build-module/calendar/edit.mjs.map +2 -2
  933. package/build-module/calendar/index.mjs.map +2 -2
  934. package/build-module/calendar/init.mjs.map +2 -2
  935. package/build-module/calendar/transforms.mjs.map +2 -2
  936. package/build-module/categories/edit.mjs.map +2 -2
  937. package/build-module/categories/index.mjs.map +2 -2
  938. package/build-module/categories/init.mjs.map +2 -2
  939. package/build-module/categories/variations.mjs.map +2 -2
  940. package/build-module/code/edit.mjs.map +2 -2
  941. package/build-module/code/index.mjs.map +2 -2
  942. package/build-module/code/init.mjs.map +2 -2
  943. package/build-module/code/save.mjs.map +2 -2
  944. package/build-module/code/transforms.mjs.map +2 -2
  945. package/build-module/code/utils.mjs.map +2 -2
  946. package/build-module/column/deprecated.mjs.map +2 -2
  947. package/build-module/column/edit.mjs.map +2 -2
  948. package/build-module/column/index.mjs.map +2 -2
  949. package/build-module/column/init.mjs.map +2 -2
  950. package/build-module/column/save.mjs.map +2 -2
  951. package/build-module/columns/deprecated.mjs.map +2 -2
  952. package/build-module/columns/edit.mjs.map +2 -2
  953. package/build-module/columns/index.mjs.map +2 -2
  954. package/build-module/columns/init.mjs.map +2 -2
  955. package/build-module/columns/save.mjs.map +2 -2
  956. package/build-module/columns/transforms.mjs.map +2 -2
  957. package/build-module/columns/variations.mjs.map +2 -2
  958. package/build-module/comment-author-avatar/edit.mjs.map +2 -2
  959. package/build-module/comment-author-avatar/index.mjs.map +2 -2
  960. package/build-module/comment-author-avatar/init.mjs.map +2 -2
  961. package/build-module/comment-author-name/deprecated.mjs.map +2 -2
  962. package/build-module/comment-author-name/edit.mjs.map +2 -2
  963. package/build-module/comment-author-name/index.mjs.map +2 -2
  964. package/build-module/comment-author-name/init.mjs.map +2 -2
  965. package/build-module/comment-content/deprecated.mjs.map +2 -2
  966. package/build-module/comment-content/edit.mjs.map +2 -2
  967. package/build-module/comment-content/index.mjs.map +2 -2
  968. package/build-module/comment-content/init.mjs.map +2 -2
  969. package/build-module/comment-date/deprecated.mjs.map +2 -2
  970. package/build-module/comment-date/edit.mjs.map +2 -2
  971. package/build-module/comment-date/index.mjs.map +2 -2
  972. package/build-module/comment-date/init.mjs.map +2 -2
  973. package/build-module/comment-edit-link/deprecated.mjs.map +2 -2
  974. package/build-module/comment-edit-link/edit.mjs.map +2 -2
  975. package/build-module/comment-edit-link/index.mjs.map +2 -2
  976. package/build-module/comment-edit-link/init.mjs.map +2 -2
  977. package/build-module/comment-reply-link/deprecated.mjs.map +2 -2
  978. package/build-module/comment-reply-link/edit.mjs.map +2 -2
  979. package/build-module/comment-reply-link/index.mjs.map +2 -2
  980. package/build-module/comment-reply-link/init.mjs.map +2 -2
  981. package/build-module/comment-template/edit.mjs +1 -12
  982. package/build-module/comment-template/edit.mjs.map +2 -2
  983. package/build-module/comment-template/hooks.mjs.map +2 -2
  984. package/build-module/comment-template/index.mjs +9 -0
  985. package/build-module/comment-template/index.mjs.map +2 -2
  986. package/build-module/comment-template/init.mjs.map +2 -2
  987. package/build-module/comment-template/save.mjs.map +2 -2
  988. package/build-module/comments/deprecated.mjs.map +2 -2
  989. package/build-module/comments/edit/comments-inspector-controls.mjs.map +2 -2
  990. package/build-module/comments/edit/comments-legacy.mjs.map +2 -2
  991. package/build-module/comments/edit/index.mjs +1 -4
  992. package/build-module/comments/edit/index.mjs.map +2 -2
  993. package/build-module/comments/edit/placeholder.mjs.map +2 -2
  994. package/build-module/comments/index.mjs +2 -0
  995. package/build-module/comments/index.mjs.map +2 -2
  996. package/build-module/comments/init.mjs.map +2 -2
  997. package/build-module/comments/save.mjs.map +2 -2
  998. package/build-module/comments-pagination/comments-pagination-arrow-controls.mjs.map +2 -2
  999. package/build-module/comments-pagination/edit.mjs +1 -8
  1000. package/build-module/comments-pagination/edit.mjs.map +2 -2
  1001. package/build-module/comments-pagination/index.mjs +6 -0
  1002. package/build-module/comments-pagination/index.mjs.map +2 -2
  1003. package/build-module/comments-pagination/init.mjs.map +2 -2
  1004. package/build-module/comments-pagination/save.mjs.map +2 -2
  1005. package/build-module/comments-pagination-next/edit.mjs.map +2 -2
  1006. package/build-module/comments-pagination-next/index.mjs.map +2 -2
  1007. package/build-module/comments-pagination-next/init.mjs.map +2 -2
  1008. package/build-module/comments-pagination-numbers/edit.mjs.map +2 -2
  1009. package/build-module/comments-pagination-numbers/index.mjs.map +2 -2
  1010. package/build-module/comments-pagination-numbers/init.mjs.map +2 -2
  1011. package/build-module/comments-pagination-previous/edit.mjs.map +2 -2
  1012. package/build-module/comments-pagination-previous/index.mjs.map +2 -2
  1013. package/build-module/comments-pagination-previous/init.mjs.map +2 -2
  1014. package/build-module/comments-title/deprecated.mjs.map +2 -2
  1015. package/build-module/comments-title/edit.mjs.map +2 -2
  1016. package/build-module/comments-title/index.mjs.map +2 -2
  1017. package/build-module/comments-title/init.mjs.map +2 -2
  1018. package/build-module/cover/deprecated.mjs.map +2 -2
  1019. package/build-module/cover/edit/block-controls.mjs.map +2 -2
  1020. package/build-module/cover/edit/color-utils.mjs.map +2 -2
  1021. package/build-module/cover/edit/cover-placeholder.mjs.map +2 -2
  1022. package/build-module/cover/edit/embed-video-url-input.mjs.map +2 -2
  1023. package/build-module/cover/edit/index.mjs.map +2 -2
  1024. package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
  1025. package/build-module/cover/edit/resizable-cover-popover.mjs.map +2 -2
  1026. package/build-module/cover/embed-video-utils.mjs.map +2 -2
  1027. package/build-module/cover/index.mjs.map +2 -2
  1028. package/build-module/cover/init.mjs.map +2 -2
  1029. package/build-module/cover/save.mjs.map +2 -2
  1030. package/build-module/cover/shared.mjs.map +2 -2
  1031. package/build-module/cover/transforms.mjs.map +2 -2
  1032. package/build-module/cover/variations.mjs.map +2 -2
  1033. package/build-module/details/edit.mjs +2 -13
  1034. package/build-module/details/edit.mjs.map +2 -2
  1035. package/build-module/details/index.mjs +9 -0
  1036. package/build-module/details/index.mjs.map +2 -2
  1037. package/build-module/details/init.mjs.map +2 -2
  1038. package/build-module/details/save.mjs.map +2 -2
  1039. package/build-module/details/transforms.mjs.map +2 -2
  1040. package/build-module/embed/deprecated.mjs +1 -1
  1041. package/build-module/embed/deprecated.mjs.map +2 -2
  1042. package/build-module/embed/edit.mjs.map +2 -2
  1043. package/build-module/embed/embed-controls.mjs.map +2 -2
  1044. package/build-module/embed/embed-loading.mjs.map +2 -2
  1045. package/build-module/embed/embed-placeholder.mjs.map +2 -2
  1046. package/build-module/embed/embed-preview.mjs.map +2 -2
  1047. package/build-module/embed/icons.mjs.map +2 -2
  1048. package/build-module/embed/index.mjs.map +2 -2
  1049. package/build-module/embed/init.mjs.map +2 -2
  1050. package/build-module/embed/save.mjs.map +2 -2
  1051. package/build-module/embed/transforms.mjs.map +2 -2
  1052. package/build-module/embed/util.mjs +1 -3
  1053. package/build-module/embed/util.mjs.map +2 -2
  1054. package/build-module/embed/variations.mjs.map +2 -2
  1055. package/build-module/embed/wp-embed-preview.mjs.map +2 -2
  1056. package/build-module/file/deprecated.mjs.map +2 -2
  1057. package/build-module/file/edit.mjs.map +2 -2
  1058. package/build-module/file/index.mjs.map +2 -2
  1059. package/build-module/file/init.mjs.map +2 -2
  1060. package/build-module/file/inspector.mjs.map +2 -2
  1061. package/build-module/file/save.mjs.map +2 -2
  1062. package/build-module/file/transforms.mjs.map +2 -2
  1063. package/build-module/file/variations.mjs.map +2 -2
  1064. package/build-module/file/view.mjs.map +2 -2
  1065. package/build-module/footnotes/edit.mjs +6 -1
  1066. package/build-module/footnotes/edit.mjs.map +2 -2
  1067. package/build-module/footnotes/format.mjs.map +2 -2
  1068. package/build-module/footnotes/index.mjs.map +2 -2
  1069. package/build-module/footnotes/init.mjs.map +2 -2
  1070. package/build-module/form/deprecated.mjs.map +2 -2
  1071. package/build-module/form/edit.mjs +0 -34
  1072. package/build-module/form/edit.mjs.map +2 -2
  1073. package/build-module/form/icons.mjs.map +2 -2
  1074. package/build-module/form/index.mjs +35 -0
  1075. package/build-module/form/index.mjs.map +2 -2
  1076. package/build-module/form/init.mjs.map +2 -2
  1077. package/build-module/form/save.mjs.map +2 -2
  1078. package/build-module/form/utils.mjs.map +2 -2
  1079. package/build-module/form/variations.mjs.map +2 -2
  1080. package/build-module/form-input/deprecated.mjs.map +2 -2
  1081. package/build-module/form-input/edit.mjs.map +2 -2
  1082. package/build-module/form-input/icons.mjs.map +2 -2
  1083. package/build-module/form-input/index.mjs.map +2 -2
  1084. package/build-module/form-input/init.mjs.map +2 -2
  1085. package/build-module/form-input/save.mjs.map +2 -2
  1086. package/build-module/form-input/variations.mjs.map +2 -2
  1087. package/build-module/form-submission-notification/edit.mjs +0 -11
  1088. package/build-module/form-submission-notification/edit.mjs.map +2 -2
  1089. package/build-module/form-submission-notification/index.mjs +12 -0
  1090. package/build-module/form-submission-notification/index.mjs.map +2 -2
  1091. package/build-module/form-submission-notification/init.mjs.map +2 -2
  1092. package/build-module/form-submission-notification/save.mjs.map +2 -2
  1093. package/build-module/form-submission-notification/variations.mjs.map +2 -2
  1094. package/build-module/form-submit-button/edit.mjs +0 -18
  1095. package/build-module/form-submit-button/edit.mjs.map +2 -2
  1096. package/build-module/form-submit-button/index.mjs +18 -0
  1097. package/build-module/form-submit-button/index.mjs.map +2 -2
  1098. package/build-module/form-submit-button/init.mjs.map +2 -2
  1099. package/build-module/form-submit-button/save.mjs.map +2 -2
  1100. package/build-module/freeform/convert-to-blocks-button.mjs.map +2 -2
  1101. package/build-module/freeform/edit.mjs.map +2 -2
  1102. package/build-module/freeform/index.mjs.map +2 -2
  1103. package/build-module/freeform/init.mjs.map +2 -2
  1104. package/build-module/freeform/modal.mjs.map +2 -2
  1105. package/build-module/freeform/save.mjs.map +2 -2
  1106. package/build-module/gallery/deprecated.mjs.map +2 -2
  1107. package/build-module/gallery/dynamic-gallery.mjs.map +2 -2
  1108. package/build-module/gallery/dynamic-source.mjs.map +2 -2
  1109. package/build-module/gallery/edit.mjs.map +2 -2
  1110. package/build-module/gallery/gallery.mjs.map +2 -2
  1111. package/build-module/gallery/gap-styles.mjs.map +2 -2
  1112. package/build-module/gallery/index.mjs.map +2 -2
  1113. package/build-module/gallery/init.mjs.map +2 -2
  1114. package/build-module/gallery/save.mjs.map +2 -2
  1115. package/build-module/gallery/shared-icon.mjs.map +2 -2
  1116. package/build-module/gallery/transforms.mjs.map +2 -2
  1117. package/build-module/gallery/use-dynamic-gallery.mjs.map +2 -2
  1118. package/build-module/gallery/use-get-media.mjs.map +2 -2
  1119. package/build-module/gallery/use-get-new-images.mjs.map +2 -2
  1120. package/build-module/gallery/use-image-sizes.mjs.map +2 -2
  1121. package/build-module/gallery/utils.mjs.map +2 -2
  1122. package/build-module/gallery/variations.mjs.map +2 -2
  1123. package/build-module/group/block.json +0 -1
  1124. package/build-module/group/deprecated.mjs.map +2 -2
  1125. package/build-module/group/edit.mjs.map +2 -2
  1126. package/build-module/group/index.mjs.map +2 -2
  1127. package/build-module/group/init.mjs.map +2 -2
  1128. package/build-module/group/placeholder.mjs.map +2 -2
  1129. package/build-module/group/save.mjs.map +2 -2
  1130. package/build-module/group/transforms.mjs.map +2 -2
  1131. package/build-module/group/variations.mjs.map +2 -2
  1132. package/build-module/heading/autogenerate-anchors.mjs.map +2 -2
  1133. package/build-module/heading/deprecated.mjs.map +2 -2
  1134. package/build-module/heading/edit.mjs.map +2 -2
  1135. package/build-module/heading/index.mjs.map +2 -2
  1136. package/build-module/heading/init.mjs.map +2 -2
  1137. package/build-module/heading/save.mjs.map +2 -2
  1138. package/build-module/heading/transforms.mjs.map +2 -2
  1139. package/build-module/heading/variations.mjs.map +2 -2
  1140. package/build-module/home-link/edit.mjs.map +2 -2
  1141. package/build-module/home-link/index.mjs.map +2 -2
  1142. package/build-module/home-link/init.mjs.map +2 -2
  1143. package/build-module/home-link/save.mjs.map +2 -2
  1144. package/build-module/html/edit.mjs.map +2 -2
  1145. package/build-module/html/index.mjs.map +2 -2
  1146. package/build-module/html/init.mjs.map +2 -2
  1147. package/build-module/html/modal.mjs.map +2 -2
  1148. package/build-module/html/preview.mjs.map +2 -2
  1149. package/build-module/html/transforms.mjs.map +2 -2
  1150. package/build-module/icon/components/custom-inserter/icon-grid.mjs.map +2 -2
  1151. package/build-module/icon/components/custom-inserter/index.mjs.map +2 -2
  1152. package/build-module/icon/edit.mjs.map +2 -2
  1153. package/build-module/icon/icon.mjs.map +2 -2
  1154. package/build-module/icon/index.mjs.map +2 -2
  1155. package/build-module/image/deprecated.mjs.map +2 -2
  1156. package/build-module/image/edit.mjs +4 -1
  1157. package/build-module/image/edit.mjs.map +2 -2
  1158. package/build-module/image/image.mjs.map +2 -2
  1159. package/build-module/image/index.mjs.map +2 -2
  1160. package/build-module/image/init.mjs.map +2 -2
  1161. package/build-module/image/save.mjs.map +2 -2
  1162. package/build-module/image/transforms.mjs.map +2 -2
  1163. package/build-module/image/use-max-width-observer.mjs.map +2 -2
  1164. package/build-module/image/use-open-image-media-editor-modal.mjs.map +2 -2
  1165. package/build-module/image/utils.mjs.map +2 -2
  1166. package/build-module/image/view.mjs.map +2 -2
  1167. package/build-module/index.mjs.map +2 -2
  1168. package/build-module/latest-comments/deprecated.mjs.map +2 -2
  1169. package/build-module/latest-comments/edit.mjs.map +2 -2
  1170. package/build-module/latest-comments/index.mjs.map +2 -2
  1171. package/build-module/latest-comments/init.mjs.map +2 -2
  1172. package/build-module/latest-posts/deprecated.mjs.map +2 -2
  1173. package/build-module/latest-posts/edit.mjs.map +2 -2
  1174. package/build-module/latest-posts/index.mjs.map +2 -2
  1175. package/build-module/latest-posts/init.mjs.map +2 -2
  1176. package/build-module/list/deprecated.mjs.map +2 -2
  1177. package/build-module/list/edit.mjs +5 -4
  1178. package/build-module/list/edit.mjs.map +2 -2
  1179. package/build-module/list/index.mjs +3 -0
  1180. package/build-module/list/index.mjs.map +2 -2
  1181. package/build-module/list/init.mjs.map +2 -2
  1182. package/build-module/list/ordered-list-settings.mjs.map +2 -2
  1183. package/build-module/list/save.mjs.map +2 -2
  1184. package/build-module/list/tag-name.mjs.map +2 -2
  1185. package/build-module/list/transforms.mjs.map +2 -2
  1186. package/build-module/list/utils.mjs.map +2 -2
  1187. package/build-module/list-item/edit.mjs.map +2 -2
  1188. package/build-module/list-item/hooks/use-enter.mjs.map +2 -2
  1189. package/build-module/list-item/hooks/use-indent-list-item.mjs.map +2 -2
  1190. package/build-module/list-item/hooks/use-merge.mjs.map +2 -2
  1191. package/build-module/list-item/hooks/use-outdent-list-item.mjs.map +2 -2
  1192. package/build-module/list-item/hooks/use-space.mjs.map +2 -2
  1193. package/build-module/list-item/index.mjs.map +2 -2
  1194. package/build-module/list-item/init.mjs.map +2 -2
  1195. package/build-module/list-item/save.mjs.map +2 -2
  1196. package/build-module/list-item/transforms.mjs.map +2 -2
  1197. package/build-module/lock-unlock.mjs.map +2 -2
  1198. package/build-module/loginout/edit.mjs.map +2 -2
  1199. package/build-module/loginout/index.mjs.map +2 -2
  1200. package/build-module/loginout/init.mjs.map +2 -2
  1201. package/build-module/math/deprecated.mjs.map +2 -2
  1202. package/build-module/math/edit.mjs.map +2 -2
  1203. package/build-module/math/index.mjs.map +2 -2
  1204. package/build-module/math/init.mjs.map +2 -2
  1205. package/build-module/math/save.mjs.map +2 -2
  1206. package/build-module/media-text/constants.mjs.map +2 -2
  1207. package/build-module/media-text/deprecated.mjs.map +2 -2
  1208. package/build-module/media-text/edit.mjs +2 -3
  1209. package/build-module/media-text/edit.mjs.map +2 -2
  1210. package/build-module/media-text/index.mjs +2 -0
  1211. package/build-module/media-text/index.mjs.map +2 -2
  1212. package/build-module/media-text/init.mjs.map +2 -2
  1213. package/build-module/media-text/media-container.mjs.map +2 -2
  1214. package/build-module/media-text/save.mjs.map +2 -2
  1215. package/build-module/media-text/transforms.mjs.map +2 -2
  1216. package/build-module/missing/edit.mjs.map +2 -2
  1217. package/build-module/missing/index.mjs.map +2 -2
  1218. package/build-module/missing/init.mjs.map +2 -2
  1219. package/build-module/missing/save.mjs.map +2 -2
  1220. package/build-module/more/edit.mjs.map +2 -2
  1221. package/build-module/more/index.mjs.map +2 -2
  1222. package/build-module/more/init.mjs.map +2 -2
  1223. package/build-module/more/save.mjs.map +2 -2
  1224. package/build-module/more/transforms.mjs.map +2 -2
  1225. package/build-module/navigation/deprecated.mjs.map +2 -2
  1226. package/build-module/navigation/edit/accessible-description.mjs.map +2 -2
  1227. package/build-module/navigation/edit/accessible-menu-description.mjs.map +2 -2
  1228. package/build-module/navigation/edit/deleted-navigation-warning.mjs.map +2 -2
  1229. package/build-module/navigation/edit/deleted-overlay-warning.mjs.map +2 -2
  1230. package/build-module/navigation/edit/index.mjs.map +2 -2
  1231. package/build-module/navigation/edit/inner-blocks.mjs.map +2 -2
  1232. package/build-module/navigation/edit/leaf-more-menu.mjs +33 -23
  1233. package/build-module/navigation/edit/leaf-more-menu.mjs.map +2 -2
  1234. package/build-module/navigation/edit/manage-menus-button.mjs.map +2 -2
  1235. package/build-module/navigation/edit/menu-inspector-controls.mjs.map +2 -2
  1236. package/build-module/navigation/edit/navigation-link-ui.mjs +30 -19
  1237. package/build-module/navigation/edit/navigation-link-ui.mjs.map +2 -2
  1238. package/build-module/navigation/edit/navigation-list-view-header.mjs.map +2 -2
  1239. package/build-module/navigation/edit/navigation-menu-delete-control.mjs.map +2 -2
  1240. package/build-module/navigation/edit/navigation-menu-name-control.mjs.map +2 -2
  1241. package/build-module/navigation/edit/navigation-menu-selector.mjs.map +2 -2
  1242. package/build-module/navigation/edit/overlay-menu-icon.mjs.map +2 -2
  1243. package/build-module/navigation/edit/overlay-menu-preview-button.mjs.map +2 -2
  1244. package/build-module/navigation/edit/overlay-menu-preview-controls.mjs.map +2 -2
  1245. package/build-module/navigation/edit/overlay-menu-preview.mjs.map +2 -2
  1246. package/build-module/navigation/edit/overlay-panel.mjs.map +2 -2
  1247. package/build-module/navigation/edit/overlay-preview.mjs.map +2 -2
  1248. package/build-module/navigation/edit/overlay-template-part-selector.mjs.map +2 -2
  1249. package/build-module/navigation/edit/overlay-visibility-control.mjs.map +2 -2
  1250. package/build-module/navigation/edit/placeholder/index.mjs.map +2 -2
  1251. package/build-module/navigation/edit/placeholder/placeholder-preview.mjs.map +2 -2
  1252. package/build-module/navigation/edit/responsive-wrapper.mjs.map +2 -2
  1253. package/build-module/navigation/edit/unsaved-inner-blocks.mjs.map +2 -2
  1254. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.mjs.map +2 -2
  1255. package/build-module/navigation/edit/use-create-navigation-menu.mjs.map +2 -2
  1256. package/build-module/navigation/edit/use-create-overlay.mjs.map +2 -2
  1257. package/build-module/navigation/edit/use-generate-default-navigation-title.mjs.map +2 -2
  1258. package/build-module/navigation/edit/use-inner-blocks.mjs.map +2 -2
  1259. package/build-module/navigation/edit/use-layout-custom-properties.mjs.map +2 -2
  1260. package/build-module/navigation/edit/use-navigation-notice.mjs.map +2 -2
  1261. package/build-module/navigation/edit/utils.mjs.map +2 -2
  1262. package/build-module/navigation/index.mjs.map +2 -2
  1263. package/build-module/navigation/init.mjs.map +2 -2
  1264. package/build-module/navigation/menu-items-to-blocks.mjs.map +2 -2
  1265. package/build-module/navigation/save.mjs.map +2 -2
  1266. package/build-module/navigation/use-navigation-menu.mjs.map +2 -2
  1267. package/build-module/navigation/use-template-part-area-label.mjs.map +2 -2
  1268. package/build-module/navigation/view.mjs.map +2 -2
  1269. package/build-module/navigation-link/edit.mjs.map +2 -2
  1270. package/build-module/navigation-link/hooks.mjs.map +2 -2
  1271. package/build-module/navigation-link/icons.mjs.map +2 -2
  1272. package/build-module/navigation-link/index.mjs.map +2 -2
  1273. package/build-module/navigation-link/init.mjs.map +2 -2
  1274. package/build-module/navigation-link/link-ui/block-inserter.mjs.map +2 -2
  1275. package/build-module/navigation-link/link-ui/dialog-wrapper.mjs.map +2 -2
  1276. package/build-module/navigation-link/link-ui/index.mjs.map +2 -2
  1277. package/build-module/navigation-link/link-ui/page-creator.mjs.map +2 -2
  1278. package/build-module/navigation-link/save.mjs.map +2 -2
  1279. package/build-module/navigation-link/shared/controls.mjs.map +2 -2
  1280. package/build-module/navigation-link/shared/invalid-draft-display.mjs.map +2 -2
  1281. package/build-module/navigation-link/shared/update-attributes.mjs.map +2 -2
  1282. package/build-module/navigation-link/shared/use-enable-link-status-validation.mjs.map +2 -2
  1283. package/build-module/navigation-link/shared/use-entity-binding.mjs.map +2 -2
  1284. package/build-module/navigation-link/shared/use-handle-link-change.mjs.map +2 -2
  1285. package/build-module/navigation-link/shared/use-is-dragging-within.mjs.map +2 -2
  1286. package/build-module/navigation-link/shared/use-is-invalid-link.mjs.map +2 -2
  1287. package/build-module/navigation-link/shared/use-link-preview.mjs.map +2 -2
  1288. package/build-module/navigation-link/transforms.mjs.map +2 -2
  1289. package/build-module/navigation-overlay-close/edit.mjs.map +2 -2
  1290. package/build-module/navigation-overlay-close/icon.mjs.map +2 -2
  1291. package/build-module/navigation-overlay-close/index.mjs.map +2 -2
  1292. package/build-module/navigation-submenu/edit.mjs.map +2 -2
  1293. package/build-module/navigation-submenu/icons.mjs.map +2 -2
  1294. package/build-module/navigation-submenu/index.mjs.map +2 -2
  1295. package/build-module/navigation-submenu/init.mjs.map +2 -2
  1296. package/build-module/navigation-submenu/save.mjs.map +2 -2
  1297. package/build-module/navigation-submenu/transforms.mjs.map +2 -2
  1298. package/build-module/nextpage/edit.mjs.map +2 -2
  1299. package/build-module/nextpage/index.mjs.map +2 -2
  1300. package/build-module/nextpage/init.mjs.map +2 -2
  1301. package/build-module/nextpage/save.mjs.map +2 -2
  1302. package/build-module/nextpage/transforms.mjs.map +2 -2
  1303. package/build-module/page-list/edit.mjs +51 -39
  1304. package/build-module/page-list/edit.mjs.map +2 -2
  1305. package/build-module/page-list/index.mjs.map +2 -2
  1306. package/build-module/page-list/init.mjs.map +2 -2
  1307. package/build-module/page-list/use-convert-to-navigation-links.mjs.map +2 -2
  1308. package/build-module/page-list-item/edit.mjs.map +2 -2
  1309. package/build-module/page-list-item/index.mjs.map +2 -2
  1310. package/build-module/page-list-item/init.mjs.map +2 -2
  1311. package/build-module/paragraph/deprecated-attributes.mjs.map +2 -2
  1312. package/build-module/paragraph/deprecated.mjs.map +2 -2
  1313. package/build-module/paragraph/edit.mjs +4 -8
  1314. package/build-module/paragraph/edit.mjs.map +2 -2
  1315. package/build-module/paragraph/index.mjs +1 -4
  1316. package/build-module/paragraph/index.mjs.map +2 -2
  1317. package/build-module/paragraph/init.mjs.map +2 -2
  1318. package/build-module/paragraph/save.mjs.map +2 -2
  1319. package/build-module/paragraph/transforms.mjs.map +2 -2
  1320. package/build-module/paragraph/use-enter.mjs.map +2 -2
  1321. package/build-module/pattern/edit.mjs.map +2 -2
  1322. package/build-module/pattern/index.mjs.map +2 -2
  1323. package/build-module/pattern/init.mjs.map +2 -2
  1324. package/build-module/pattern/recursion-detector.mjs.map +2 -2
  1325. package/build-module/playlist/block.json +1 -0
  1326. package/build-module/playlist/context.mjs +1 -2
  1327. package/build-module/playlist/context.mjs.map +2 -2
  1328. package/build-module/playlist/edit.mjs +7 -8
  1329. package/build-module/playlist/edit.mjs.map +2 -2
  1330. package/build-module/playlist/index.mjs +3 -1
  1331. package/build-module/playlist/index.mjs.map +2 -2
  1332. package/build-module/playlist/init.mjs.map +2 -2
  1333. package/build-module/playlist/save.mjs.map +2 -2
  1334. package/build-module/playlist/transforms.mjs +45 -0
  1335. package/build-module/playlist/transforms.mjs.map +7 -0
  1336. package/build-module/playlist/utils.mjs.map +2 -2
  1337. package/build-module/playlist/view.mjs.map +2 -2
  1338. package/build-module/playlist-track/edit.mjs +1 -14
  1339. package/build-module/playlist-track/edit.mjs.map +2 -2
  1340. package/build-module/playlist-track/index.mjs +1 -1
  1341. package/build-module/playlist-track/index.mjs.map +2 -2
  1342. package/build-module/playlist-track/init.mjs.map +2 -2
  1343. package/build-module/post-author/edit.mjs.map +2 -2
  1344. package/build-module/post-author/index.mjs.map +2 -2
  1345. package/build-module/post-author/init.mjs.map +2 -2
  1346. package/build-module/post-author/utils.mjs.map +2 -2
  1347. package/build-module/post-author-biography/deprecated.mjs.map +2 -2
  1348. package/build-module/post-author-biography/edit.mjs.map +2 -2
  1349. package/build-module/post-author-biography/index.mjs.map +2 -2
  1350. package/build-module/post-author-biography/init.mjs.map +2 -2
  1351. package/build-module/post-author-name/deprecated.mjs.map +2 -2
  1352. package/build-module/post-author-name/edit.mjs.map +2 -2
  1353. package/build-module/post-author-name/index.mjs.map +2 -2
  1354. package/build-module/post-author-name/init.mjs.map +2 -2
  1355. package/build-module/post-author-name/transforms.mjs.map +2 -2
  1356. package/build-module/post-comment/edit.mjs +1 -11
  1357. package/build-module/post-comment/edit.mjs.map +2 -2
  1358. package/build-module/post-comment/index.mjs +9 -0
  1359. package/build-module/post-comment/index.mjs.map +2 -2
  1360. package/build-module/post-comment/init.mjs.map +2 -2
  1361. package/build-module/post-comment/save.mjs.map +2 -2
  1362. package/build-module/post-comments-count/deprecated.mjs.map +2 -2
  1363. package/build-module/post-comments-count/edit.mjs.map +2 -2
  1364. package/build-module/post-comments-count/index.mjs.map +2 -2
  1365. package/build-module/post-comments-count/init.mjs.map +2 -2
  1366. package/build-module/post-comments-count/transforms.mjs.map +2 -2
  1367. package/build-module/post-comments-form/deprecated.mjs.map +2 -2
  1368. package/build-module/post-comments-form/edit.mjs.map +2 -2
  1369. package/build-module/post-comments-form/form.mjs.map +2 -2
  1370. package/build-module/post-comments-form/index.mjs.map +2 -2
  1371. package/build-module/post-comments-form/init.mjs.map +2 -2
  1372. package/build-module/post-comments-link/deprecated.mjs.map +2 -2
  1373. package/build-module/post-comments-link/edit.mjs.map +2 -2
  1374. package/build-module/post-comments-link/index.mjs.map +2 -2
  1375. package/build-module/post-comments-link/init.mjs.map +2 -2
  1376. package/build-module/post-comments-link/transforms.mjs.map +2 -2
  1377. package/build-module/post-content/edit.mjs +1 -5
  1378. package/build-module/post-content/edit.mjs.map +2 -2
  1379. package/build-module/post-content/index.mjs.map +2 -2
  1380. package/build-module/post-content/init.mjs.map +2 -2
  1381. package/build-module/post-date/deprecated.mjs.map +2 -2
  1382. package/build-module/post-date/edit.mjs.map +2 -2
  1383. package/build-module/post-date/index.mjs.map +2 -2
  1384. package/build-module/post-date/init.mjs.map +2 -2
  1385. package/build-module/post-date/variations.mjs.map +2 -2
  1386. package/build-module/post-excerpt/deprecated.mjs.map +2 -2
  1387. package/build-module/post-excerpt/edit.mjs.map +2 -2
  1388. package/build-module/post-excerpt/index.mjs.map +2 -2
  1389. package/build-module/post-excerpt/init.mjs.map +2 -2
  1390. package/build-module/post-excerpt/transforms.mjs.map +2 -2
  1391. package/build-module/post-featured-image/dimension-controls.mjs.map +2 -2
  1392. package/build-module/post-featured-image/edit.mjs.map +2 -2
  1393. package/build-module/post-featured-image/index.mjs.map +2 -2
  1394. package/build-module/post-featured-image/init.mjs.map +2 -2
  1395. package/build-module/post-featured-image/overlay-controls.mjs.map +2 -2
  1396. package/build-module/post-featured-image/overlay.mjs.map +2 -2
  1397. package/build-module/post-navigation-link/deprecated.mjs.map +2 -2
  1398. package/build-module/post-navigation-link/edit.mjs.map +2 -2
  1399. package/build-module/post-navigation-link/index.mjs +2 -0
  1400. package/build-module/post-navigation-link/index.mjs.map +2 -2
  1401. package/build-module/post-navigation-link/init.mjs.map +2 -2
  1402. package/build-module/post-navigation-link/variations.mjs.map +2 -2
  1403. package/build-module/post-template/edit.mjs +1 -18
  1404. package/build-module/post-template/edit.mjs.map +2 -2
  1405. package/build-module/post-template/index.mjs +18 -0
  1406. package/build-module/post-template/index.mjs.map +2 -2
  1407. package/build-module/post-template/init.mjs.map +2 -2
  1408. package/build-module/post-template/save.mjs.map +2 -2
  1409. package/build-module/post-terms/deprecated.mjs.map +2 -2
  1410. package/build-module/post-terms/edit.mjs.map +2 -2
  1411. package/build-module/post-terms/hooks.mjs.map +2 -2
  1412. package/build-module/post-terms/index.mjs.map +2 -2
  1413. package/build-module/post-terms/init.mjs.map +2 -2
  1414. package/build-module/post-terms/use-post-terms.mjs.map +2 -2
  1415. package/build-module/post-time-to-read/deprecated.mjs.map +2 -2
  1416. package/build-module/post-time-to-read/edit.mjs.map +2 -2
  1417. package/build-module/post-time-to-read/index.mjs.map +2 -2
  1418. package/build-module/post-time-to-read/init.mjs.map +2 -2
  1419. package/build-module/post-time-to-read/variations.mjs.map +2 -2
  1420. package/build-module/post-title/deprecated.mjs.map +2 -2
  1421. package/build-module/post-title/edit.mjs.map +2 -2
  1422. package/build-module/post-title/index.mjs.map +2 -2
  1423. package/build-module/post-title/init.mjs.map +2 -2
  1424. package/build-module/preformatted/edit.mjs.map +2 -2
  1425. package/build-module/preformatted/index.mjs.map +2 -2
  1426. package/build-module/preformatted/init.mjs.map +2 -2
  1427. package/build-module/preformatted/save.mjs.map +2 -2
  1428. package/build-module/preformatted/transforms.mjs.map +2 -2
  1429. package/build-module/private-apis.mjs.map +2 -2
  1430. package/build-module/pullquote/deprecated.mjs.map +2 -2
  1431. package/build-module/pullquote/edit.mjs.map +2 -2
  1432. package/build-module/pullquote/index.mjs.map +2 -2
  1433. package/build-module/pullquote/init.mjs.map +2 -2
  1434. package/build-module/pullquote/save.mjs.map +2 -2
  1435. package/build-module/pullquote/transforms.mjs.map +2 -2
  1436. package/build-module/query/deprecated.mjs.map +2 -2
  1437. package/build-module/query/edit/enhanced-pagination-modal.mjs.map +2 -2
  1438. package/build-module/query/edit/index.mjs.map +2 -2
  1439. package/build-module/query/edit/inspector-controls/author-control.mjs.map +2 -2
  1440. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.mjs.map +2 -2
  1441. package/build-module/query/edit/inspector-controls/format-controls.mjs.map +2 -2
  1442. package/build-module/query/edit/inspector-controls/index.mjs.map +2 -2
  1443. package/build-module/query/edit/inspector-controls/offset-controls.mjs.map +2 -2
  1444. package/build-module/query/edit/inspector-controls/order-control.mjs.map +2 -2
  1445. package/build-module/query/edit/inspector-controls/pages-control.mjs.map +2 -2
  1446. package/build-module/query/edit/inspector-controls/parent-control.mjs.map +2 -2
  1447. package/build-module/query/edit/inspector-controls/per-page-control.mjs.map +2 -2
  1448. package/build-module/query/edit/inspector-controls/sticky-control.mjs.map +2 -2
  1449. package/build-module/query/edit/inspector-controls/taxonomy-controls.mjs.map +2 -2
  1450. package/build-module/query/edit/pattern-selection.mjs.map +2 -2
  1451. package/build-module/query/edit/query-content.mjs +1 -4
  1452. package/build-module/query/edit/query-content.mjs.map +2 -2
  1453. package/build-module/query/edit/query-placeholder.mjs.map +2 -2
  1454. package/build-module/query/edit/query-toolbar.mjs.map +2 -2
  1455. package/build-module/query/icons.mjs.map +2 -2
  1456. package/build-module/query/index.mjs.map +2 -2
  1457. package/build-module/query/init.mjs.map +2 -2
  1458. package/build-module/query/save.mjs.map +2 -2
  1459. package/build-module/query/utils.mjs.map +2 -2
  1460. package/build-module/query/variations.mjs.map +2 -2
  1461. package/build-module/query/view.mjs.map +2 -2
  1462. package/build-module/query-no-results/edit.mjs +1 -14
  1463. package/build-module/query-no-results/edit.mjs.map +2 -2
  1464. package/build-module/query-no-results/index.mjs +11 -0
  1465. package/build-module/query-no-results/index.mjs.map +2 -2
  1466. package/build-module/query-no-results/init.mjs.map +2 -2
  1467. package/build-module/query-no-results/save.mjs.map +2 -2
  1468. package/build-module/query-pagination/deprecated.mjs.map +2 -2
  1469. package/build-module/query-pagination/edit.mjs +1 -8
  1470. package/build-module/query-pagination/edit.mjs.map +2 -2
  1471. package/build-module/query-pagination/index.mjs +6 -0
  1472. package/build-module/query-pagination/index.mjs.map +2 -2
  1473. package/build-module/query-pagination/init.mjs.map +2 -2
  1474. package/build-module/query-pagination/query-pagination-arrow-controls.mjs.map +2 -2
  1475. package/build-module/query-pagination/query-pagination-label-control.mjs.map +2 -2
  1476. package/build-module/query-pagination/save.mjs.map +2 -2
  1477. package/build-module/query-pagination-next/edit.mjs.map +2 -2
  1478. package/build-module/query-pagination-next/index.mjs.map +2 -2
  1479. package/build-module/query-pagination-next/init.mjs.map +2 -2
  1480. package/build-module/query-pagination-numbers/edit.mjs.map +2 -2
  1481. package/build-module/query-pagination-numbers/index.mjs.map +2 -2
  1482. package/build-module/query-pagination-numbers/init.mjs.map +2 -2
  1483. package/build-module/query-pagination-previous/edit.mjs.map +2 -2
  1484. package/build-module/query-pagination-previous/index.mjs.map +2 -2
  1485. package/build-module/query-pagination-previous/init.mjs.map +2 -2
  1486. package/build-module/query-title/deprecated.mjs.map +2 -2
  1487. package/build-module/query-title/edit.mjs.map +2 -2
  1488. package/build-module/query-title/index.mjs.map +2 -2
  1489. package/build-module/query-title/init.mjs.map +2 -2
  1490. package/build-module/query-title/use-archive-label.mjs.map +2 -2
  1491. package/build-module/query-title/use-post-type-label.mjs.map +2 -2
  1492. package/build-module/query-title/variations.mjs.map +2 -2
  1493. package/build-module/query-total/edit.mjs.map +2 -2
  1494. package/build-module/query-total/icons.mjs.map +2 -2
  1495. package/build-module/query-total/index.mjs.map +2 -2
  1496. package/build-module/query-total/init.mjs.map +2 -2
  1497. package/build-module/quote/deprecated.mjs.map +2 -2
  1498. package/build-module/quote/edit.mjs +16 -6
  1499. package/build-module/quote/edit.mjs.map +2 -2
  1500. package/build-module/quote/index.mjs +3 -0
  1501. package/build-module/quote/index.mjs.map +2 -2
  1502. package/build-module/quote/init.mjs.map +2 -2
  1503. package/build-module/quote/save.mjs.map +2 -2
  1504. package/build-module/quote/transforms.mjs.map +2 -2
  1505. package/build-module/read-more/edit.mjs.map +2 -2
  1506. package/build-module/read-more/index.mjs.map +2 -2
  1507. package/build-module/read-more/init.mjs.map +2 -2
  1508. package/build-module/rss/edit.mjs.map +2 -2
  1509. package/build-module/rss/index.mjs.map +2 -2
  1510. package/build-module/rss/init.mjs.map +2 -2
  1511. package/build-module/search/edit.mjs.map +2 -2
  1512. package/build-module/search/index.mjs.map +2 -2
  1513. package/build-module/search/init.mjs.map +2 -2
  1514. package/build-module/search/variations.mjs.map +2 -2
  1515. package/build-module/search/view.mjs.map +2 -2
  1516. package/build-module/separator/deprecated.mjs.map +2 -2
  1517. package/build-module/separator/edit.mjs.map +2 -2
  1518. package/build-module/separator/index.mjs.map +2 -2
  1519. package/build-module/separator/init.mjs.map +2 -2
  1520. package/build-module/separator/save.mjs.map +2 -2
  1521. package/build-module/separator/transforms.mjs.map +2 -2
  1522. package/build-module/separator/use-deprecated-opacity.mjs.map +2 -2
  1523. package/build-module/shortcode/edit.mjs.map +2 -2
  1524. package/build-module/shortcode/index.mjs.map +2 -2
  1525. package/build-module/shortcode/init.mjs.map +2 -2
  1526. package/build-module/shortcode/save.mjs.map +2 -2
  1527. package/build-module/shortcode/transforms.mjs.map +2 -2
  1528. package/build-module/site-logo/edit.mjs.map +2 -2
  1529. package/build-module/site-logo/index.mjs.map +2 -2
  1530. package/build-module/site-logo/init.mjs.map +2 -2
  1531. package/build-module/site-logo/transforms.mjs.map +2 -2
  1532. package/build-module/site-tagline/deprecated.mjs.map +2 -2
  1533. package/build-module/site-tagline/edit.mjs.map +2 -2
  1534. package/build-module/site-tagline/icon.mjs.map +2 -2
  1535. package/build-module/site-tagline/index.mjs.map +2 -2
  1536. package/build-module/site-tagline/init.mjs.map +2 -2
  1537. package/build-module/site-title/deprecated.mjs.map +2 -2
  1538. package/build-module/site-title/edit.mjs.map +2 -2
  1539. package/build-module/site-title/index.mjs.map +2 -2
  1540. package/build-module/site-title/init.mjs.map +2 -2
  1541. package/build-module/site-title/transforms.mjs.map +2 -2
  1542. package/build-module/social-link/edit.mjs.map +2 -2
  1543. package/build-module/social-link/icons/amazon.mjs.map +2 -2
  1544. package/build-module/social-link/icons/bandcamp.mjs.map +2 -2
  1545. package/build-module/social-link/icons/behance.mjs.map +2 -2
  1546. package/build-module/social-link/icons/bluesky.mjs.map +2 -2
  1547. package/build-module/social-link/icons/chain.mjs.map +2 -2
  1548. package/build-module/social-link/icons/codepen.mjs.map +2 -2
  1549. package/build-module/social-link/icons/deviantart.mjs.map +2 -2
  1550. package/build-module/social-link/icons/discord.mjs.map +2 -2
  1551. package/build-module/social-link/icons/dribbble.mjs.map +2 -2
  1552. package/build-module/social-link/icons/dropbox.mjs.map +2 -2
  1553. package/build-module/social-link/icons/etsy.mjs.map +2 -2
  1554. package/build-module/social-link/icons/facebook.mjs.map +2 -2
  1555. package/build-module/social-link/icons/feed.mjs.map +2 -2
  1556. package/build-module/social-link/icons/fivehundredpx.mjs.map +2 -2
  1557. package/build-module/social-link/icons/flickr.mjs.map +2 -2
  1558. package/build-module/social-link/icons/foursquare.mjs.map +2 -2
  1559. package/build-module/social-link/icons/github.mjs.map +2 -2
  1560. package/build-module/social-link/icons/goodreads.mjs.map +2 -2
  1561. package/build-module/social-link/icons/google.mjs.map +2 -2
  1562. package/build-module/social-link/icons/gravatar.mjs.map +2 -2
  1563. package/build-module/social-link/icons/instagram.mjs.map +2 -2
  1564. package/build-module/social-link/icons/lastfm.mjs.map +2 -2
  1565. package/build-module/social-link/icons/linkedin.mjs.map +2 -2
  1566. package/build-module/social-link/icons/mail.mjs.map +2 -2
  1567. package/build-module/social-link/icons/mastodon.mjs.map +2 -2
  1568. package/build-module/social-link/icons/medium.mjs.map +2 -2
  1569. package/build-module/social-link/icons/meetup.mjs.map +2 -2
  1570. package/build-module/social-link/icons/patreon.mjs.map +2 -2
  1571. package/build-module/social-link/icons/pinterest.mjs.map +2 -2
  1572. package/build-module/social-link/icons/pocket.mjs.map +2 -2
  1573. package/build-module/social-link/icons/reddit.mjs.map +2 -2
  1574. package/build-module/social-link/icons/skype.mjs.map +2 -2
  1575. package/build-module/social-link/icons/snapchat.mjs.map +2 -2
  1576. package/build-module/social-link/icons/soundcloud.mjs.map +2 -2
  1577. package/build-module/social-link/icons/spotify.mjs.map +2 -2
  1578. package/build-module/social-link/icons/telegram.mjs.map +2 -2
  1579. package/build-module/social-link/icons/threads.mjs.map +2 -2
  1580. package/build-module/social-link/icons/tiktok.mjs.map +2 -2
  1581. package/build-module/social-link/icons/tumblr.mjs.map +2 -2
  1582. package/build-module/social-link/icons/twitch.mjs.map +2 -2
  1583. package/build-module/social-link/icons/twitter.mjs.map +2 -2
  1584. package/build-module/social-link/icons/vimeo.mjs.map +2 -2
  1585. package/build-module/social-link/icons/vk.mjs.map +2 -2
  1586. package/build-module/social-link/icons/whatsapp.mjs.map +2 -2
  1587. package/build-module/social-link/icons/wordpress.mjs.map +2 -2
  1588. package/build-module/social-link/icons/x.mjs.map +2 -2
  1589. package/build-module/social-link/icons/yelp.mjs.map +2 -2
  1590. package/build-module/social-link/icons/youtube.mjs.map +2 -2
  1591. package/build-module/social-link/index.mjs.map +2 -2
  1592. package/build-module/social-link/init.mjs.map +2 -2
  1593. package/build-module/social-link/social-list.mjs.map +2 -2
  1594. package/build-module/social-link/variations.mjs.map +2 -2
  1595. package/build-module/social-links/deprecated.mjs.map +2 -2
  1596. package/build-module/social-links/edit.mjs.map +2 -2
  1597. package/build-module/social-links/index.mjs.map +2 -2
  1598. package/build-module/social-links/init.mjs.map +2 -2
  1599. package/build-module/social-links/save.mjs.map +2 -2
  1600. package/build-module/spacer/controls.mjs.map +2 -2
  1601. package/build-module/spacer/deprecated.mjs.map +2 -2
  1602. package/build-module/spacer/edit.mjs.map +2 -2
  1603. package/build-module/spacer/index.mjs.map +2 -2
  1604. package/build-module/spacer/init.mjs.map +2 -2
  1605. package/build-module/spacer/save.mjs.map +2 -2
  1606. package/build-module/spacer/transforms.mjs.map +2 -2
  1607. package/build-module/tab-list/edit.mjs.map +2 -2
  1608. package/build-module/tab-list/index.mjs.map +2 -2
  1609. package/build-module/tab-list/init.mjs.map +2 -2
  1610. package/build-module/tab-list/save.mjs.map +2 -2
  1611. package/build-module/tab-list/tab-movers.mjs.map +2 -2
  1612. package/build-module/tab-panel/controls.mjs.map +2 -2
  1613. package/build-module/tab-panel/edit.mjs +1 -4
  1614. package/build-module/tab-panel/edit.mjs.map +2 -2
  1615. package/build-module/tab-panel/index.mjs +21 -0
  1616. package/build-module/tab-panel/index.mjs.map +2 -2
  1617. package/build-module/tab-panel/init.mjs.map +2 -2
  1618. package/build-module/tab-panel/save.mjs.map +2 -2
  1619. package/build-module/tab-panels/edit.mjs +0 -6
  1620. package/build-module/tab-panels/edit.mjs.map +2 -2
  1621. package/build-module/tab-panels/index.mjs +2 -0
  1622. package/build-module/tab-panels/index.mjs.map +2 -2
  1623. package/build-module/tab-panels/init.mjs.map +2 -2
  1624. package/build-module/tab-panels/save.mjs.map +2 -2
  1625. package/build-module/table/deprecated.mjs.map +2 -2
  1626. package/build-module/table/edit.mjs.map +2 -2
  1627. package/build-module/table/index.mjs.map +2 -2
  1628. package/build-module/table/init.mjs.map +2 -2
  1629. package/build-module/table/save.mjs.map +2 -2
  1630. package/build-module/table/transforms.mjs.map +2 -2
  1631. package/build-module/table-of-contents/edit.mjs +87 -56
  1632. package/build-module/table-of-contents/edit.mjs.map +2 -2
  1633. package/build-module/table-of-contents/hooks.mjs.map +2 -2
  1634. package/build-module/table-of-contents/index.mjs.map +2 -2
  1635. package/build-module/table-of-contents/init.mjs.map +2 -2
  1636. package/build-module/table-of-contents/list.mjs.map +2 -2
  1637. package/build-module/table-of-contents/save.mjs.map +2 -2
  1638. package/build-module/table-of-contents/utils.mjs +24 -0
  1639. package/build-module/table-of-contents/utils.mjs.map +2 -2
  1640. package/build-module/tabs/edit.mjs +0 -2
  1641. package/build-module/tabs/edit.mjs.map +2 -2
  1642. package/build-module/tabs/index.mjs +3 -0
  1643. package/build-module/tabs/index.mjs.map +2 -2
  1644. package/build-module/tabs/init.mjs.map +2 -2
  1645. package/build-module/tabs/save.mjs.map +2 -2
  1646. package/build-module/tabs/tab-toolbar-controls.mjs.map +2 -2
  1647. package/build-module/tabs/use-tab-actions.mjs +1 -2
  1648. package/build-module/tabs/use-tab-actions.mjs.map +2 -2
  1649. package/build-module/tabs/use-tab-list-items-sync.mjs.map +2 -2
  1650. package/build-module/tabs/view.mjs +7 -1
  1651. package/build-module/tabs/view.mjs.map +2 -2
  1652. package/build-module/tag-cloud/edit.mjs.map +2 -2
  1653. package/build-module/tag-cloud/index.mjs.map +2 -2
  1654. package/build-module/tag-cloud/init.mjs.map +2 -2
  1655. package/build-module/tag-cloud/transforms.mjs.map +2 -2
  1656. package/build-module/template-part/edit/advanced-controls.mjs.map +2 -2
  1657. package/build-module/template-part/edit/import-controls.mjs.map +2 -2
  1658. package/build-module/template-part/edit/index.mjs.map +2 -2
  1659. package/build-module/template-part/edit/inner-blocks.mjs.map +2 -2
  1660. package/build-module/template-part/edit/placeholder.mjs.map +2 -2
  1661. package/build-module/template-part/edit/selection-modal.mjs.map +2 -2
  1662. package/build-module/template-part/edit/title-modal.mjs.map +2 -2
  1663. package/build-module/template-part/edit/utils/get-template-part-icon.mjs.map +2 -2
  1664. package/build-module/template-part/edit/utils/hooks.mjs.map +2 -2
  1665. package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.mjs.map +2 -2
  1666. package/build-module/template-part/edit/utils/transformers.mjs.map +2 -2
  1667. package/build-module/template-part/index.mjs.map +2 -2
  1668. package/build-module/template-part/init.mjs.map +2 -2
  1669. package/build-module/template-part/variations.mjs.map +2 -2
  1670. package/build-module/term-count/edit.mjs.map +2 -2
  1671. package/build-module/term-count/icons.mjs.map +2 -2
  1672. package/build-module/term-count/index.mjs.map +2 -2
  1673. package/build-module/term-count/init.mjs.map +2 -2
  1674. package/build-module/term-count/use-term-count.mjs.map +2 -2
  1675. package/build-module/term-description/deprecated.mjs.map +2 -2
  1676. package/build-module/term-description/edit.mjs.map +2 -2
  1677. package/build-module/term-description/index.mjs.map +2 -2
  1678. package/build-module/term-description/init.mjs.map +2 -2
  1679. package/build-module/term-description/use-term-description.mjs.map +2 -2
  1680. package/build-module/term-name/deprecated.mjs.map +2 -2
  1681. package/build-module/term-name/edit.mjs.map +2 -2
  1682. package/build-module/term-name/index.mjs.map +2 -2
  1683. package/build-module/term-name/use-term-name.mjs.map +2 -2
  1684. package/build-module/term-template/edit.mjs +1 -2
  1685. package/build-module/term-template/edit.mjs.map +2 -2
  1686. package/build-module/term-template/index.mjs +2 -0
  1687. package/build-module/term-template/index.mjs.map +2 -2
  1688. package/build-module/term-template/save.mjs.map +2 -2
  1689. package/build-module/terms-query/edit/index.mjs.map +2 -2
  1690. package/build-module/terms-query/edit/inspector-controls/advanced-controls.mjs.map +2 -2
  1691. package/build-module/terms-query/edit/inspector-controls/empty-terms-control.mjs.map +2 -2
  1692. package/build-module/terms-query/edit/inspector-controls/include-control.mjs.map +2 -2
  1693. package/build-module/terms-query/edit/inspector-controls/index.mjs.map +2 -2
  1694. package/build-module/terms-query/edit/inspector-controls/inherit-control.mjs.map +2 -2
  1695. package/build-module/terms-query/edit/inspector-controls/max-terms-control.mjs.map +2 -2
  1696. package/build-module/terms-query/edit/inspector-controls/nested-terms-control.mjs.map +2 -2
  1697. package/build-module/terms-query/edit/inspector-controls/order-control.mjs.map +2 -2
  1698. package/build-module/terms-query/edit/inspector-controls/taxonomy-control.mjs.map +2 -2
  1699. package/build-module/terms-query/edit/terms-query-content.mjs +1 -4
  1700. package/build-module/terms-query/edit/terms-query-content.mjs.map +2 -2
  1701. package/build-module/terms-query/edit/terms-query-placeholder.mjs.map +2 -2
  1702. package/build-module/terms-query/index.mjs +2 -0
  1703. package/build-module/terms-query/index.mjs.map +2 -2
  1704. package/build-module/terms-query/save.mjs.map +2 -2
  1705. package/build-module/terms-query/utils.mjs.map +2 -2
  1706. package/build-module/terms-query/variations.mjs.map +2 -2
  1707. package/build-module/text-columns/edit.mjs.map +2 -2
  1708. package/build-module/text-columns/index.mjs.map +2 -2
  1709. package/build-module/text-columns/init.mjs.map +2 -2
  1710. package/build-module/text-columns/save.mjs.map +2 -2
  1711. package/build-module/text-columns/transforms.mjs.map +2 -2
  1712. package/build-module/utils/caption.mjs.map +2 -2
  1713. package/build-module/utils/deprecated-text-align-attributes.mjs.map +2 -2
  1714. package/build-module/utils/get-transformed-attributes.mjs.map +2 -2
  1715. package/build-module/utils/hooks.mjs.map +2 -2
  1716. package/build-module/utils/html-renderer.mjs.map +2 -2
  1717. package/build-module/utils/init-block.mjs.map +2 -2
  1718. package/build-module/utils/is-within-overlay.mjs.map +2 -2
  1719. package/build-module/utils/media-control.mjs.map +2 -2
  1720. package/build-module/utils/migrate-font-family.mjs.map +2 -2
  1721. package/build-module/utils/poster-image.mjs.map +2 -2
  1722. package/build-module/utils/search-patterns.mjs.map +2 -2
  1723. package/build-module/utils/style-state.mjs.map +2 -2
  1724. package/build-module/utils/waveform-player.mjs.map +2 -2
  1725. package/build-module/utils/waveform-utils.mjs.map +2 -2
  1726. package/build-module/verse/deprecated.mjs.map +2 -2
  1727. package/build-module/verse/edit.mjs.map +2 -2
  1728. package/build-module/verse/index.mjs.map +2 -2
  1729. package/build-module/verse/init.mjs.map +2 -2
  1730. package/build-module/verse/save.mjs.map +2 -2
  1731. package/build-module/verse/transforms.mjs.map +2 -2
  1732. package/build-module/video/deprecated.mjs.map +2 -2
  1733. package/build-module/video/edit-common-settings.mjs.map +2 -2
  1734. package/build-module/video/edit.mjs +1 -1
  1735. package/build-module/video/edit.mjs.map +2 -2
  1736. package/build-module/video/index.mjs.map +2 -2
  1737. package/build-module/video/init.mjs.map +2 -2
  1738. package/build-module/video/save.mjs.map +2 -2
  1739. package/build-module/video/tracks-editor.mjs.map +2 -2
  1740. package/build-module/video/transforms.mjs.map +2 -2
  1741. package/build-module/video/variations.mjs +1 -1
  1742. package/build-module/video/variations.mjs.map +2 -2
  1743. package/build-style/editor-rtl.css +0 -12
  1744. package/build-style/editor.css +0 -12
  1745. package/build-style/navigation-overlay-close/style-rtl.css +11 -0
  1746. package/build-style/navigation-overlay-close/style.css +11 -0
  1747. package/build-style/page-list/editor-rtl.css +0 -62
  1748. package/build-style/page-list/editor.css +0 -62
  1749. package/build-style/post-author-biography/style-rtl.css +1 -0
  1750. package/build-style/post-author-biography/style.css +1 -0
  1751. package/build-style/style-rtl.css +12 -0
  1752. package/build-style/style.css +12 -0
  1753. package/build-types/lock-unlock.d.ts.map +1 -1
  1754. package/build-types/table-of-contents/list.d.ts +0 -6
  1755. package/build-types/table-of-contents/list.d.ts.map +1 -1
  1756. package/build-types/table-of-contents/utils.d.ts +11 -0
  1757. package/build-types/table-of-contents/utils.d.ts.map +1 -1
  1758. package/package.json +42 -41
  1759. package/src/accordion/edit.js +0 -9
  1760. package/src/accordion/index.js +4 -7
  1761. package/src/accordion/init.js +0 -3
  1762. package/src/accordion/save.js +0 -3
  1763. package/src/accordion/view.js +0 -3
  1764. package/src/accordion-heading/deprecated.js +0 -3
  1765. package/src/accordion-heading/edit.js +0 -7
  1766. package/src/accordion-heading/index.js +0 -7
  1767. package/src/accordion-heading/init.js +0 -3
  1768. package/src/accordion-heading/save.js +0 -7
  1769. package/src/accordion-item/edit.js +0 -14
  1770. package/src/accordion-item/index.js +4 -7
  1771. package/src/accordion-item/init.js +0 -3
  1772. package/src/accordion-item/save.js +0 -6
  1773. package/src/accordion-panel/edit.js +0 -4
  1774. package/src/accordion-panel/index.js +3 -7
  1775. package/src/accordion-panel/init.js +0 -3
  1776. package/src/accordion-panel/save.js +0 -3
  1777. package/src/archives/edit.js +0 -7
  1778. package/src/archives/index.js +0 -7
  1779. package/src/archives/init.js +0 -3
  1780. package/src/audio/deprecated.js +0 -3
  1781. package/src/audio/edit.js +0 -11
  1782. package/src/audio/index.js +0 -7
  1783. package/src/audio/init.js +0 -3
  1784. package/src/audio/save.js +0 -3
  1785. package/src/audio/transforms.js +0 -3
  1786. package/src/avatar/edit.js +0 -11
  1787. package/src/avatar/hooks.js +0 -7
  1788. package/src/avatar/index.js +0 -7
  1789. package/src/avatar/init.js +0 -3
  1790. package/src/avatar/user-control.js +0 -3
  1791. package/src/block/edit.js +1 -12
  1792. package/src/block/index.js +0 -7
  1793. package/src/block/init.js +0 -3
  1794. package/src/block-keyboard-shortcuts/index.js +0 -3
  1795. package/src/breadcrumbs/edit.js +0 -7
  1796. package/src/breadcrumbs/index.js +0 -7
  1797. package/src/button/deprecated.js +0 -11
  1798. package/src/button/edit.js +0 -4
  1799. package/src/button/get-updated-link-attributes.js +0 -7
  1800. package/src/button/index.js +0 -7
  1801. package/src/button/init.js +0 -3
  1802. package/src/button/save.js +0 -7
  1803. package/src/button/test/get-experimental-label.js +0 -3
  1804. package/src/button/test/get-updated-link-attributes.js +0 -3
  1805. package/src/button/test/utils.js +0 -3
  1806. package/src/buttons/deprecated.js +0 -6
  1807. package/src/buttons/edit.js +0 -20
  1808. package/src/buttons/index.js +4 -7
  1809. package/src/buttons/init.js +0 -3
  1810. package/src/buttons/save.js +0 -7
  1811. package/src/buttons/transforms.js +0 -7
  1812. package/src/calendar/edit.js +0 -11
  1813. package/src/calendar/index.js +0 -7
  1814. package/src/calendar/init.js +0 -3
  1815. package/src/calendar/transforms.js +0 -3
  1816. package/src/categories/edit.js +0 -11
  1817. package/src/categories/index.js +0 -7
  1818. package/src/categories/init.js +0 -3
  1819. package/src/categories/variations.js +0 -3
  1820. package/src/code/edit.js +0 -3
  1821. package/src/code/index.js +0 -7
  1822. package/src/code/init.js +0 -3
  1823. package/src/code/save.js +0 -7
  1824. package/src/code/test/utils.js +0 -3
  1825. package/src/code/transforms.js +0 -7
  1826. package/src/code/utils.js +0 -3
  1827. package/src/column/deprecated.js +0 -7
  1828. package/src/column/edit.js +0 -11
  1829. package/src/column/index.js +0 -7
  1830. package/src/column/init.js +0 -3
  1831. package/src/column/save.js +0 -7
  1832. package/src/columns/deprecated.js +0 -7
  1833. package/src/columns/edit.js +0 -12
  1834. package/src/columns/index.js +0 -7
  1835. package/src/columns/init.js +0 -3
  1836. package/src/columns/save.js +0 -7
  1837. package/src/columns/test/transforms.js +0 -7
  1838. package/src/columns/test/utils.js +0 -7
  1839. package/src/columns/transforms.js +0 -3
  1840. package/src/columns/variations.js +0 -3
  1841. package/src/comment-author-avatar/edit.js +0 -3
  1842. package/src/comment-author-avatar/index.js +0 -7
  1843. package/src/comment-author-avatar/init.js +0 -3
  1844. package/src/comment-author-name/deprecated.js +0 -3
  1845. package/src/comment-author-name/edit.js +0 -7
  1846. package/src/comment-author-name/index.js +0 -7
  1847. package/src/comment-author-name/init.js +0 -3
  1848. package/src/comment-content/deprecated.js +0 -3
  1849. package/src/comment-content/edit.js +0 -7
  1850. package/src/comment-content/index.js +0 -7
  1851. package/src/comment-content/init.js +0 -3
  1852. package/src/comment-date/deprecated.js +0 -3
  1853. package/src/comment-date/edit.js +0 -7
  1854. package/src/comment-date/index.js +0 -7
  1855. package/src/comment-date/init.js +0 -3
  1856. package/src/comment-edit-link/deprecated.js +0 -3
  1857. package/src/comment-edit-link/edit.js +0 -7
  1858. package/src/comment-edit-link/index.js +0 -7
  1859. package/src/comment-edit-link/init.js +0 -3
  1860. package/src/comment-reply-link/deprecated.js +0 -3
  1861. package/src/comment-reply-link/edit.js +0 -7
  1862. package/src/comment-reply-link/index.js +0 -7
  1863. package/src/comment-reply-link/init.js +0 -3
  1864. package/src/comment-template/edit.js +1 -20
  1865. package/src/comment-template/hooks.js +0 -3
  1866. package/src/comment-template/index.js +10 -7
  1867. package/src/comment-template/init.js +0 -3
  1868. package/src/comment-template/save.js +0 -3
  1869. package/src/comment-template/test/index.js +0 -3
  1870. package/src/comments/deprecated.js +0 -3
  1871. package/src/comments/edit/comments-inspector-controls.js +0 -7
  1872. package/src/comments/edit/comments-legacy.js +0 -11
  1873. package/src/comments/edit/index.js +1 -11
  1874. package/src/comments/edit/placeholder.js +0 -7
  1875. package/src/comments/index.js +2 -7
  1876. package/src/comments/init.js +0 -3
  1877. package/src/comments/save.js +0 -3
  1878. package/src/comments-pagination/comments-pagination-arrow-controls.js +0 -3
  1879. package/src/comments-pagination/edit.js +1 -16
  1880. package/src/comments-pagination/index.js +7 -7
  1881. package/src/comments-pagination/init.js +0 -3
  1882. package/src/comments-pagination/save.js +0 -3
  1883. package/src/comments-pagination-next/edit.js +0 -3
  1884. package/src/comments-pagination-next/index.js +0 -7
  1885. package/src/comments-pagination-next/init.js +0 -3
  1886. package/src/comments-pagination-numbers/edit.js +0 -3
  1887. package/src/comments-pagination-numbers/index.js +0 -7
  1888. package/src/comments-pagination-numbers/init.js +0 -3
  1889. package/src/comments-pagination-previous/edit.js +0 -3
  1890. package/src/comments-pagination-previous/index.js +0 -7
  1891. package/src/comments-pagination-previous/init.js +0 -3
  1892. package/src/comments-title/deprecated.js +0 -3
  1893. package/src/comments-title/edit.js +0 -7
  1894. package/src/comments-title/index.js +0 -7
  1895. package/src/comments-title/init.js +0 -3
  1896. package/src/cover/deprecated.js +0 -11
  1897. package/src/cover/edit/block-controls.js +0 -8
  1898. package/src/cover/edit/color-utils.js +0 -7
  1899. package/src/cover/edit/cover-placeholder.js +0 -7
  1900. package/src/cover/edit/embed-video-url-input.js +0 -7
  1901. package/src/cover/edit/index.js +0 -11
  1902. package/src/cover/edit/inspector-controls.js +0 -7
  1903. package/src/cover/edit/resizable-cover-popover.js +0 -11
  1904. package/src/cover/embed-video-utils.js +0 -7
  1905. package/src/cover/index.js +0 -7
  1906. package/src/cover/index.php +1 -1
  1907. package/src/cover/init.js +0 -3
  1908. package/src/cover/save.js +0 -11
  1909. package/src/cover/shared.js +0 -3
  1910. package/src/cover/test/edit.js +0 -7
  1911. package/src/cover/test/transforms.js +0 -7
  1912. package/src/cover/transforms.js +0 -7
  1913. package/src/cover/variations.js +0 -3
  1914. package/src/details/edit.js +1 -21
  1915. package/src/details/index.js +10 -7
  1916. package/src/details/init.js +0 -3
  1917. package/src/details/save.js +0 -3
  1918. package/src/details/transforms.js +0 -3
  1919. package/src/embed/deprecated.js +1 -12
  1920. package/src/embed/edit.js +0 -11
  1921. package/src/embed/embed-controls.js +0 -7
  1922. package/src/embed/embed-loading.js +0 -3
  1923. package/src/embed/embed-placeholder.js +0 -3
  1924. package/src/embed/embed-preview.js +0 -15
  1925. package/src/embed/icons.js +0 -3
  1926. package/src/embed/index.js +0 -3
  1927. package/src/embed/init.js +0 -3
  1928. package/src/embed/save.js +0 -7
  1929. package/src/embed/test/index.js +0 -7
  1930. package/src/embed/transforms.js +0 -7
  1931. package/src/embed/util.js +1 -14
  1932. package/src/embed/variations.js +0 -7
  1933. package/src/embed/wp-embed-preview.js +0 -3
  1934. package/src/file/deprecated.js +0 -7
  1935. package/src/file/edit.js +0 -11
  1936. package/src/file/index.js +0 -7
  1937. package/src/file/init.js +0 -3
  1938. package/src/file/inspector.js +0 -7
  1939. package/src/file/save.js +0 -7
  1940. package/src/file/transforms.js +0 -3
  1941. package/src/file/variations.js +0 -3
  1942. package/src/file/view.js +0 -6
  1943. package/src/footnotes/edit.js +11 -4
  1944. package/src/footnotes/format.js +0 -11
  1945. package/src/footnotes/index.js +0 -7
  1946. package/src/footnotes/init.js +0 -3
  1947. package/src/form/deprecated.js +0 -3
  1948. package/src/form/edit.js +0 -42
  1949. package/src/form/icons.js +0 -3
  1950. package/src/form/index.js +36 -7
  1951. package/src/form/init.js +0 -3
  1952. package/src/form/save.js +0 -3
  1953. package/src/form/utils.js +0 -3
  1954. package/src/form/variations.js +0 -7
  1955. package/src/form-input/deprecated.js +0 -7
  1956. package/src/form-input/edit.js +0 -11
  1957. package/src/form-input/icons.js +0 -3
  1958. package/src/form-input/index.js +0 -3
  1959. package/src/form-input/init.js +0 -3
  1960. package/src/form-input/save.js +0 -7
  1961. package/src/form-input/variations.js +0 -3
  1962. package/src/form-submission-notification/edit.js +0 -19
  1963. package/src/form-submission-notification/index.js +13 -7
  1964. package/src/form-submission-notification/init.js +0 -3
  1965. package/src/form-submission-notification/save.js +0 -7
  1966. package/src/form-submission-notification/variations.js +0 -3
  1967. package/src/form-submit-button/edit.js +0 -21
  1968. package/src/form-submit-button/index.js +19 -3
  1969. package/src/form-submit-button/init.js +0 -3
  1970. package/src/form-submit-button/save.js +0 -3
  1971. package/src/freeform/convert-to-blocks-button.js +0 -3
  1972. package/src/freeform/edit.js +0 -7
  1973. package/src/freeform/index.js +0 -7
  1974. package/src/freeform/init.js +0 -3
  1975. package/src/freeform/modal.js +0 -3
  1976. package/src/freeform/save.js +0 -3
  1977. package/src/gallery/deprecated.js +0 -12
  1978. package/src/gallery/dynamic-gallery.js +0 -7
  1979. package/src/gallery/dynamic-source.js +0 -3
  1980. package/src/gallery/edit.js +0 -11
  1981. package/src/gallery/gallery.js +0 -11
  1982. package/src/gallery/gap-styles.js +0 -7
  1983. package/src/gallery/index.js +0 -7
  1984. package/src/gallery/init.js +0 -3
  1985. package/src/gallery/save.js +0 -7
  1986. package/src/gallery/shared-icon.js +0 -3
  1987. package/src/gallery/test/dynamic-source.js +0 -3
  1988. package/src/gallery/test/transforms.js +0 -7
  1989. package/src/gallery/test/use-get-new-images.js +0 -7
  1990. package/src/gallery/transforms.js +0 -7
  1991. package/src/gallery/use-dynamic-gallery.js +0 -7
  1992. package/src/gallery/use-get-media.js +0 -3
  1993. package/src/gallery/use-get-new-images.js +0 -3
  1994. package/src/gallery/use-image-sizes.js +0 -3
  1995. package/src/gallery/utils.js +0 -3
  1996. package/src/gallery/variations.js +0 -7
  1997. package/src/group/block.json +0 -1
  1998. package/src/group/deprecated.js +0 -7
  1999. package/src/group/edit.js +0 -7
  2000. package/src/group/index.js +0 -7
  2001. package/src/group/init.js +0 -3
  2002. package/src/group/placeholder.js +0 -3
  2003. package/src/group/save.js +0 -3
  2004. package/src/group/test/placeholder.js +0 -7
  2005. package/src/group/transforms.js +0 -3
  2006. package/src/group/variations.js +0 -3
  2007. package/src/heading/autogenerate-anchors.js +0 -3
  2008. package/src/heading/deprecated.js +0 -11
  2009. package/src/heading/edit.js +0 -7
  2010. package/src/heading/index.js +0 -7
  2011. package/src/heading/init.js +0 -3
  2012. package/src/heading/save.js +0 -3
  2013. package/src/heading/test/shared.js +0 -3
  2014. package/src/heading/transforms.js +0 -7
  2015. package/src/heading/variations.js +0 -3
  2016. package/src/home-link/edit.js +0 -11
  2017. package/src/home-link/index.js +0 -7
  2018. package/src/home-link/init.js +0 -3
  2019. package/src/home-link/save.js +0 -3
  2020. package/src/html/edit.js +0 -7
  2021. package/src/html/index.js +0 -7
  2022. package/src/html/init.js +0 -3
  2023. package/src/html/modal.js +0 -7
  2024. package/src/html/preview.js +0 -3
  2025. package/src/html/test/index.js +0 -7
  2026. package/src/html/test/utils.js +0 -3
  2027. package/src/html/transforms.js +0 -3
  2028. package/src/icon/components/custom-inserter/icon-grid.js +0 -7
  2029. package/src/icon/components/custom-inserter/index.js +0 -7
  2030. package/src/icon/edit.js +0 -11
  2031. package/src/icon/icon.js +0 -3
  2032. package/src/icon/index.js +0 -3
  2033. package/src/image/deprecated.js +0 -11
  2034. package/src/image/edit.js +9 -16
  2035. package/src/image/image.js +0 -11
  2036. package/src/image/index.js +0 -7
  2037. package/src/image/init.js +0 -3
  2038. package/src/image/save.js +0 -11
  2039. package/src/image/test/transforms.js +0 -3
  2040. package/src/image/test/use-open-image-media-editor-modal.js +0 -11
  2041. package/src/image/transforms.js +0 -3
  2042. package/src/image/use-max-width-observer.js +0 -3
  2043. package/src/image/use-open-image-media-editor-modal.js +0 -7
  2044. package/src/image/utils.js +0 -3
  2045. package/src/image/view.js +0 -7
  2046. package/src/index.js +0 -12
  2047. package/src/latest-comments/deprecated.js +0 -4
  2048. package/src/latest-comments/edit.js +0 -7
  2049. package/src/latest-comments/index.js +0 -7
  2050. package/src/latest-comments/index.php +4 -1
  2051. package/src/latest-comments/init.js +0 -3
  2052. package/src/latest-posts/deprecated.js +0 -3
  2053. package/src/latest-posts/edit.js +0 -11
  2054. package/src/latest-posts/index.js +0 -7
  2055. package/src/latest-posts/init.js +0 -3
  2056. package/src/latest-posts/test/deprecated.js +0 -7
  2057. package/src/list/deprecated.js +0 -7
  2058. package/src/list/edit.js +11 -11
  2059. package/src/list/index.js +4 -7
  2060. package/src/list/init.js +0 -3
  2061. package/src/list/ordered-list-settings.js +0 -7
  2062. package/src/list/save.js +0 -3
  2063. package/src/list/tag-name.js +0 -3
  2064. package/src/list/transforms.js +0 -7
  2065. package/src/list/utils.js +0 -3
  2066. package/src/list-item/edit.js +0 -7
  2067. package/src/list-item/hooks/use-enter.js +0 -7
  2068. package/src/list-item/hooks/use-indent-list-item.js +0 -3
  2069. package/src/list-item/hooks/use-merge.js +0 -7
  2070. package/src/list-item/hooks/use-outdent-list-item.js +0 -3
  2071. package/src/list-item/hooks/use-space.js +0 -7
  2072. package/src/list-item/index.js +0 -7
  2073. package/src/list-item/init.js +0 -3
  2074. package/src/list-item/save.js +0 -3
  2075. package/src/list-item/transforms.js +0 -3
  2076. package/src/lock-unlock.ts +0 -3
  2077. package/src/loginout/edit.js +0 -6
  2078. package/src/loginout/index.js +0 -7
  2079. package/src/loginout/init.js +0 -3
  2080. package/src/math/deprecated.js +0 -3
  2081. package/src/math/edit.js +0 -7
  2082. package/src/math/index.js +0 -7
  2083. package/src/math/init.js +0 -3
  2084. package/src/math/save.js +0 -3
  2085. package/src/media-text/constants.js +0 -3
  2086. package/src/media-text/deprecated.js +0 -11
  2087. package/src/media-text/edit.js +1 -13
  2088. package/src/media-text/index.js +2 -7
  2089. package/src/media-text/init.js +0 -3
  2090. package/src/media-text/media-container.js +0 -11
  2091. package/src/media-text/save.js +0 -11
  2092. package/src/media-text/test/image-fill.js +0 -3
  2093. package/src/media-text/transforms.js +0 -3
  2094. package/src/missing/edit.js +0 -3
  2095. package/src/missing/index.js +0 -7
  2096. package/src/missing/init.js +0 -3
  2097. package/src/missing/save.js +0 -3
  2098. package/src/more/edit.js +0 -7
  2099. package/src/more/index.js +0 -7
  2100. package/src/more/init.js +0 -3
  2101. package/src/more/save.js +0 -3
  2102. package/src/more/transforms.js +0 -3
  2103. package/src/navigation/deprecated.js +0 -7
  2104. package/src/navigation/edit/accessible-description.js +0 -3
  2105. package/src/navigation/edit/accessible-menu-description.js +0 -7
  2106. package/src/navigation/edit/deleted-navigation-warning.js +0 -3
  2107. package/src/navigation/edit/deleted-overlay-warning.js +0 -3
  2108. package/src/navigation/edit/index.js +0 -11
  2109. package/src/navigation/edit/inner-blocks.js +0 -7
  2110. package/src/navigation/edit/leaf-more-menu.js +70 -66
  2111. package/src/navigation/edit/manage-menus-button.js +0 -3
  2112. package/src/navigation/edit/menu-inspector-controls.js +0 -7
  2113. package/src/navigation/edit/navigation-link-ui.js +34 -26
  2114. package/src/navigation/edit/navigation-list-view-header.js +0 -7
  2115. package/src/navigation/edit/navigation-menu-delete-control.js +0 -3
  2116. package/src/navigation/edit/navigation-menu-name-control.js +0 -3
  2117. package/src/navigation/edit/navigation-menu-selector.js +0 -7
  2118. package/src/navigation/edit/overlay-menu-icon.js +0 -3
  2119. package/src/navigation/edit/overlay-menu-preview-button.js +0 -7
  2120. package/src/navigation/edit/overlay-menu-preview-controls.js +0 -7
  2121. package/src/navigation/edit/overlay-menu-preview.js +0 -7
  2122. package/src/navigation/edit/overlay-panel.js +0 -7
  2123. package/src/navigation/edit/overlay-preview.js +0 -7
  2124. package/src/navigation/edit/overlay-template-part-selector.js +0 -7
  2125. package/src/navigation/edit/overlay-visibility-control.js +0 -3
  2126. package/src/navigation/edit/placeholder/index.js +0 -7
  2127. package/src/navigation/edit/placeholder/placeholder-preview.js +0 -3
  2128. package/src/navigation/edit/responsive-wrapper.js +0 -11
  2129. package/src/navigation/edit/test/are-blocks-dirty.js +0 -3
  2130. package/src/navigation/edit/test/layout-custom-properties.js +0 -11
  2131. package/src/navigation/edit/test/navigation-menu-selector.js +0 -11
  2132. package/src/navigation/edit/test/overlay-template-part-selector.js +0 -11
  2133. package/src/navigation/edit/test/responsive-wrapper.js +0 -11
  2134. package/src/navigation/edit/test/use-create-overlay.js +0 -11
  2135. package/src/navigation/edit/test/utils.js +0 -3
  2136. package/src/navigation/edit/unsaved-inner-blocks.js +0 -7
  2137. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +0 -7
  2138. package/src/navigation/edit/use-create-navigation-menu.js +0 -7
  2139. package/src/navigation/edit/use-create-overlay.js +0 -7
  2140. package/src/navigation/edit/use-generate-default-navigation-title.js +0 -7
  2141. package/src/navigation/edit/use-inner-blocks.js +0 -3
  2142. package/src/navigation/edit/use-layout-custom-properties.js +0 -7
  2143. package/src/navigation/edit/use-navigation-notice.js +0 -3
  2144. package/src/navigation/edit/utils.js +0 -3
  2145. package/src/navigation/index.js +0 -7
  2146. package/src/navigation/index.php +14 -3
  2147. package/src/navigation/init.js +0 -3
  2148. package/src/navigation/menu-items-to-blocks.js +0 -7
  2149. package/src/navigation/save.js +0 -3
  2150. package/src/navigation/test/menu-items-to-blocks.js +0 -3
  2151. package/src/navigation/test/use-navigation-menu.js +0 -7
  2152. package/src/navigation/use-navigation-menu.js +0 -7
  2153. package/src/navigation/use-template-part-area-label.js +0 -8
  2154. package/src/navigation/view.js +0 -3
  2155. package/src/navigation-link/edit.js +0 -11
  2156. package/src/navigation-link/hooks.js +0 -3
  2157. package/src/navigation-link/icons.js +0 -3
  2158. package/src/navigation-link/index.js +0 -7
  2159. package/src/navigation-link/init.js +0 -3
  2160. package/src/navigation-link/link-ui/block-inserter.js +0 -7
  2161. package/src/navigation-link/link-ui/dialog-wrapper.js +0 -3
  2162. package/src/navigation-link/link-ui/index.js +0 -7
  2163. package/src/navigation-link/link-ui/page-creator.js +0 -7
  2164. package/src/navigation-link/save.js +0 -3
  2165. package/src/navigation-link/shared/controls.js +0 -7
  2166. package/src/navigation-link/shared/invalid-draft-display.js +0 -7
  2167. package/src/navigation-link/shared/test/controls.js +0 -7
  2168. package/src/navigation-link/shared/test/update-attributes.test.js +0 -3
  2169. package/src/navigation-link/shared/test/use-enable-link-status-validation.test.js +0 -9
  2170. package/src/navigation-link/shared/test/use-entity-binding.js +0 -11
  2171. package/src/navigation-link/shared/test/use-handle-link-change.test.js +0 -14
  2172. package/src/navigation-link/shared/test/use-link-preview.test.js +0 -14
  2173. package/src/navigation-link/shared/update-attributes.js +0 -3
  2174. package/src/navigation-link/shared/use-enable-link-status-validation.js +0 -3
  2175. package/src/navigation-link/shared/use-entity-binding.js +0 -3
  2176. package/src/navigation-link/shared/use-handle-link-change.js +0 -7
  2177. package/src/navigation-link/shared/use-is-dragging-within.js +0 -3
  2178. package/src/navigation-link/shared/use-is-invalid-link.js +0 -3
  2179. package/src/navigation-link/shared/use-link-preview.js +0 -7
  2180. package/src/navigation-link/test/block-labelling.js +0 -3
  2181. package/src/navigation-link/test/hooks.js +1 -7
  2182. package/src/navigation-link/transforms.js +0 -3
  2183. package/src/navigation-overlay-close/edit.js +0 -7
  2184. package/src/navigation-overlay-close/icon.js +0 -3
  2185. package/src/navigation-overlay-close/index.js +0 -7
  2186. package/src/navigation-overlay-close/style.scss +14 -0
  2187. package/src/navigation-submenu/edit.js +0 -11
  2188. package/src/navigation-submenu/icons.js +0 -3
  2189. package/src/navigation-submenu/index.js +0 -7
  2190. package/src/navigation-submenu/init.js +0 -3
  2191. package/src/navigation-submenu/save.js +0 -3
  2192. package/src/navigation-submenu/transforms.js +0 -3
  2193. package/src/nextpage/edit.js +0 -3
  2194. package/src/nextpage/index.js +0 -7
  2195. package/src/nextpage/init.js +0 -3
  2196. package/src/nextpage/save.js +0 -3
  2197. package/src/nextpage/transforms.js +0 -3
  2198. package/src/page-list/edit.js +57 -48
  2199. package/src/page-list/editor.scss +0 -15
  2200. package/src/page-list/index.js +0 -7
  2201. package/src/page-list/init.js +0 -3
  2202. package/src/page-list/test/convert-to-navigation-links.js +0 -4
  2203. package/src/page-list/use-convert-to-navigation-links.js +0 -7
  2204. package/src/page-list-item/edit.js +0 -10
  2205. package/src/page-list-item/index.js +0 -7
  2206. package/src/page-list-item/init.js +0 -3
  2207. package/src/paragraph/deprecated-attributes.js +0 -3
  2208. package/src/paragraph/deprecated.js +0 -8
  2209. package/src/paragraph/edit.js +5 -24
  2210. package/src/paragraph/index.js +1 -11
  2211. package/src/paragraph/init.js +0 -3
  2212. package/src/paragraph/save.js +0 -7
  2213. package/src/paragraph/transforms.js +0 -7
  2214. package/src/paragraph/use-enter.js +0 -7
  2215. package/src/pattern/edit.js +0 -7
  2216. package/src/pattern/index.js +0 -3
  2217. package/src/pattern/init.js +0 -3
  2218. package/src/pattern/recursion-detector.js +0 -4
  2219. package/src/pattern/test/index.js +0 -3
  2220. package/src/playlist/block.json +1 -0
  2221. package/src/playlist/context.js +0 -4
  2222. package/src/playlist/edit.js +6 -18
  2223. package/src/playlist/index.js +2 -7
  2224. package/src/playlist/init.js +0 -3
  2225. package/src/playlist/save.js +0 -7
  2226. package/src/playlist/test/edit-component.js +97 -16
  2227. package/src/playlist/test/edit.js +0 -3
  2228. package/src/playlist/test/transforms.js +189 -0
  2229. package/src/playlist/transforms.js +46 -0
  2230. package/src/playlist/utils.js +0 -3
  2231. package/src/playlist/view.js +0 -7
  2232. package/src/playlist-track/edit.js +1 -22
  2233. package/src/playlist-track/index.js +1 -8
  2234. package/src/playlist-track/init.js +0 -3
  2235. package/src/playlist-track/test/edit.js +2 -43
  2236. package/src/post-author/edit.js +0 -11
  2237. package/src/post-author/index.js +0 -7
  2238. package/src/post-author/init.js +0 -3
  2239. package/src/post-author/utils.js +0 -7
  2240. package/src/post-author-biography/deprecated.js +0 -3
  2241. package/src/post-author-biography/edit.js +0 -7
  2242. package/src/post-author-biography/index.js +0 -7
  2243. package/src/post-author-biography/init.js +0 -3
  2244. package/src/post-author-biography/style.scss +1 -0
  2245. package/src/post-author-name/deprecated.js +0 -3
  2246. package/src/post-author-name/edit.js +0 -11
  2247. package/src/post-author-name/index.js +0 -7
  2248. package/src/post-author-name/init.js +0 -3
  2249. package/src/post-author-name/transforms.js +0 -3
  2250. package/src/post-comment/edit.js +1 -15
  2251. package/src/post-comment/index.js +10 -7
  2252. package/src/post-comment/init.js +0 -3
  2253. package/src/post-comment/save.js +0 -3
  2254. package/src/post-comments-count/deprecated.js +0 -3
  2255. package/src/post-comments-count/edit.js +0 -3
  2256. package/src/post-comments-count/index.js +0 -7
  2257. package/src/post-comments-count/init.js +0 -3
  2258. package/src/post-comments-count/transforms.js +0 -3
  2259. package/src/post-comments-form/deprecated.js +0 -3
  2260. package/src/post-comments-form/edit.js +0 -7
  2261. package/src/post-comments-form/form.js +0 -7
  2262. package/src/post-comments-form/index.js +0 -7
  2263. package/src/post-comments-form/init.js +0 -3
  2264. package/src/post-comments-link/deprecated.js +0 -3
  2265. package/src/post-comments-link/edit.js +0 -3
  2266. package/src/post-comments-link/index.js +0 -7
  2267. package/src/post-comments-link/init.js +0 -3
  2268. package/src/post-comments-link/transforms.js +0 -3
  2269. package/src/post-content/edit.js +0 -13
  2270. package/src/post-content/index.js +0 -7
  2271. package/src/post-content/index.php +12 -2
  2272. package/src/post-content/init.js +0 -3
  2273. package/src/post-date/deprecated.js +0 -7
  2274. package/src/post-date/edit.js +0 -7
  2275. package/src/post-date/index.js +0 -7
  2276. package/src/post-date/index.php +1 -1
  2277. package/src/post-date/init.js +0 -3
  2278. package/src/post-date/test/edit.js +0 -3
  2279. package/src/post-date/variations.js +0 -3
  2280. package/src/post-excerpt/deprecated.js +0 -3
  2281. package/src/post-excerpt/edit.js +0 -11
  2282. package/src/post-excerpt/index.js +0 -7
  2283. package/src/post-excerpt/init.js +0 -3
  2284. package/src/post-excerpt/transforms.js +0 -3
  2285. package/src/post-featured-image/dimension-controls.js +0 -7
  2286. package/src/post-featured-image/edit.js +0 -11
  2287. package/src/post-featured-image/index.js +0 -7
  2288. package/src/post-featured-image/init.js +0 -3
  2289. package/src/post-featured-image/overlay-controls.js +0 -3
  2290. package/src/post-featured-image/overlay.js +0 -11
  2291. package/src/post-navigation-link/deprecated.js +0 -3
  2292. package/src/post-navigation-link/edit.js +0 -7
  2293. package/src/post-navigation-link/index.js +2 -7
  2294. package/src/post-navigation-link/init.js +0 -3
  2295. package/src/post-navigation-link/variations.js +0 -3
  2296. package/src/post-template/edit.js +1 -26
  2297. package/src/post-template/index.js +19 -7
  2298. package/src/post-template/init.js +0 -3
  2299. package/src/post-template/save.js +0 -3
  2300. package/src/post-terms/deprecated.js +0 -3
  2301. package/src/post-terms/edit.js +0 -7
  2302. package/src/post-terms/hooks.js +0 -3
  2303. package/src/post-terms/index.js +0 -7
  2304. package/src/post-terms/init.js +0 -3
  2305. package/src/post-terms/use-post-terms.js +0 -3
  2306. package/src/post-time-to-read/deprecated.js +0 -3
  2307. package/src/post-time-to-read/edit.js +0 -7
  2308. package/src/post-time-to-read/index.js +0 -7
  2309. package/src/post-time-to-read/init.js +0 -3
  2310. package/src/post-time-to-read/variations.js +0 -3
  2311. package/src/post-title/deprecated.js +0 -3
  2312. package/src/post-title/edit.js +0 -7
  2313. package/src/post-title/index.js +0 -7
  2314. package/src/post-title/init.js +0 -3
  2315. package/src/preformatted/edit.js +0 -3
  2316. package/src/preformatted/index.js +0 -7
  2317. package/src/preformatted/init.js +0 -3
  2318. package/src/preformatted/save.js +0 -3
  2319. package/src/preformatted/transforms.js +0 -3
  2320. package/src/private-apis.js +0 -3
  2321. package/src/pullquote/deprecated.js +0 -11
  2322. package/src/pullquote/edit.js +0 -7
  2323. package/src/pullquote/index.js +0 -7
  2324. package/src/pullquote/init.js +0 -3
  2325. package/src/pullquote/save.js +0 -3
  2326. package/src/pullquote/transforms.js +0 -3
  2327. package/src/query/deprecated.js +0 -7
  2328. package/src/query/edit/enhanced-pagination-modal.js +0 -7
  2329. package/src/query/edit/index.js +0 -7
  2330. package/src/query/edit/inspector-controls/author-control.js +0 -7
  2331. package/src/query/edit/inspector-controls/enhanced-pagination-control.js +0 -7
  2332. package/src/query/edit/inspector-controls/format-controls.js +0 -3
  2333. package/src/query/edit/inspector-controls/index.js +0 -7
  2334. package/src/query/edit/inspector-controls/offset-controls.js +0 -3
  2335. package/src/query/edit/inspector-controls/order-control.js +0 -3
  2336. package/src/query/edit/inspector-controls/pages-control.js +0 -3
  2337. package/src/query/edit/inspector-controls/parent-control.js +0 -7
  2338. package/src/query/edit/inspector-controls/per-page-control.js +0 -3
  2339. package/src/query/edit/inspector-controls/sticky-control.js +0 -3
  2340. package/src/query/edit/inspector-controls/taxonomy-controls.js +0 -7
  2341. package/src/query/edit/pattern-selection.js +0 -7
  2342. package/src/query/edit/query-content.js +1 -11
  2343. package/src/query/edit/query-placeholder.js +0 -7
  2344. package/src/query/edit/query-toolbar.js +0 -7
  2345. package/src/query/icons.js +0 -3
  2346. package/src/query/index.js +0 -7
  2347. package/src/query/index.php +4 -3
  2348. package/src/query/init.js +0 -3
  2349. package/src/query/save.js +0 -3
  2350. package/src/query/test/utils.js +0 -3
  2351. package/src/query/utils.js +0 -3
  2352. package/src/query/variations.js +0 -7
  2353. package/src/query/view.js +0 -3
  2354. package/src/query-no-results/edit.js +1 -18
  2355. package/src/query-no-results/index.js +12 -7
  2356. package/src/query-no-results/init.js +0 -3
  2357. package/src/query-no-results/save.js +0 -3
  2358. package/src/query-pagination/deprecated.js +0 -3
  2359. package/src/query-pagination/edit.js +1 -16
  2360. package/src/query-pagination/index.js +7 -7
  2361. package/src/query-pagination/init.js +0 -3
  2362. package/src/query-pagination/query-pagination-arrow-controls.js +0 -3
  2363. package/src/query-pagination/query-pagination-label-control.js +0 -3
  2364. package/src/query-pagination/save.js +0 -3
  2365. package/src/query-pagination-next/edit.js +0 -3
  2366. package/src/query-pagination-next/index.js +0 -7
  2367. package/src/query-pagination-next/init.js +0 -3
  2368. package/src/query-pagination-numbers/edit.js +0 -7
  2369. package/src/query-pagination-numbers/index.js +0 -7
  2370. package/src/query-pagination-numbers/init.js +0 -3
  2371. package/src/query-pagination-previous/edit.js +0 -3
  2372. package/src/query-pagination-previous/index.js +0 -7
  2373. package/src/query-pagination-previous/init.js +0 -3
  2374. package/src/query-title/deprecated.js +0 -3
  2375. package/src/query-title/edit.js +0 -7
  2376. package/src/query-title/index.js +0 -7
  2377. package/src/query-title/init.js +0 -3
  2378. package/src/query-title/use-archive-label.js +0 -3
  2379. package/src/query-title/use-post-type-label.js +0 -3
  2380. package/src/query-title/variations.js +0 -3
  2381. package/src/query-total/edit.js +0 -7
  2382. package/src/query-total/icons.js +0 -3
  2383. package/src/query-total/index.js +0 -3
  2384. package/src/query-total/init.js +0 -3
  2385. package/src/quote/deprecated.js +0 -7
  2386. package/src/quote/edit.js +23 -18
  2387. package/src/quote/index.js +4 -7
  2388. package/src/quote/init.js +0 -3
  2389. package/src/quote/save.js +0 -7
  2390. package/src/quote/test/migrate.js +0 -7
  2391. package/src/quote/transforms.js +0 -3
  2392. package/src/read-more/edit.js +0 -7
  2393. package/src/read-more/index.js +0 -7
  2394. package/src/read-more/init.js +0 -3
  2395. package/src/rss/edit.js +0 -7
  2396. package/src/rss/index.js +0 -7
  2397. package/src/rss/init.js +0 -3
  2398. package/src/search/edit.js +0 -11
  2399. package/src/search/index.js +0 -7
  2400. package/src/search/init.js +0 -3
  2401. package/src/search/variations.js +0 -3
  2402. package/src/search/view.js +0 -3
  2403. package/src/separator/deprecated.js +0 -7
  2404. package/src/separator/edit.js +0 -11
  2405. package/src/separator/index.js +0 -7
  2406. package/src/separator/init.js +0 -3
  2407. package/src/separator/save.js +0 -7
  2408. package/src/separator/test/edit.js +0 -11
  2409. package/src/separator/transforms.js +0 -3
  2410. package/src/separator/use-deprecated-opacity.js +0 -3
  2411. package/src/shortcode/edit.js +0 -3
  2412. package/src/shortcode/index.js +0 -7
  2413. package/src/shortcode/init.js +0 -3
  2414. package/src/shortcode/save.js +0 -3
  2415. package/src/shortcode/transforms.js +0 -3
  2416. package/src/site-logo/edit.js +0 -11
  2417. package/src/site-logo/index.js +0 -7
  2418. package/src/site-logo/init.js +0 -3
  2419. package/src/site-logo/transforms.js +0 -3
  2420. package/src/site-tagline/deprecated.js +0 -3
  2421. package/src/site-tagline/edit.js +0 -3
  2422. package/src/site-tagline/icon.js +0 -3
  2423. package/src/site-tagline/index.js +0 -3
  2424. package/src/site-tagline/init.js +0 -3
  2425. package/src/site-title/deprecated.js +0 -3
  2426. package/src/site-title/edit.js +0 -7
  2427. package/src/site-title/index.js +0 -7
  2428. package/src/site-title/init.js +0 -3
  2429. package/src/site-title/transforms.js +0 -3
  2430. package/src/social-link/edit.js +0 -11
  2431. package/src/social-link/icons/amazon.js +0 -3
  2432. package/src/social-link/icons/bandcamp.js +0 -4
  2433. package/src/social-link/icons/behance.js +0 -3
  2434. package/src/social-link/icons/bluesky.js +0 -3
  2435. package/src/social-link/icons/chain.js +0 -3
  2436. package/src/social-link/icons/codepen.js +0 -3
  2437. package/src/social-link/icons/deviantart.js +0 -3
  2438. package/src/social-link/icons/discord.js +0 -3
  2439. package/src/social-link/icons/dribbble.js +0 -3
  2440. package/src/social-link/icons/dropbox.js +0 -3
  2441. package/src/social-link/icons/etsy.js +0 -3
  2442. package/src/social-link/icons/facebook.js +0 -3
  2443. package/src/social-link/icons/feed.js +0 -3
  2444. package/src/social-link/icons/fivehundredpx.js +0 -3
  2445. package/src/social-link/icons/flickr.js +0 -3
  2446. package/src/social-link/icons/foursquare.js +0 -3
  2447. package/src/social-link/icons/github.js +0 -3
  2448. package/src/social-link/icons/goodreads.js +0 -3
  2449. package/src/social-link/icons/google.js +0 -3
  2450. package/src/social-link/icons/gravatar.js +0 -3
  2451. package/src/social-link/icons/instagram.js +0 -3
  2452. package/src/social-link/icons/lastfm.js +0 -3
  2453. package/src/social-link/icons/linkedin.js +0 -3
  2454. package/src/social-link/icons/mail.js +0 -3
  2455. package/src/social-link/icons/mastodon.js +0 -3
  2456. package/src/social-link/icons/medium.js +0 -3
  2457. package/src/social-link/icons/meetup.js +0 -3
  2458. package/src/social-link/icons/patreon.js +0 -3
  2459. package/src/social-link/icons/pinterest.js +0 -3
  2460. package/src/social-link/icons/pocket.js +0 -3
  2461. package/src/social-link/icons/reddit.js +0 -3
  2462. package/src/social-link/icons/skype.js +0 -3
  2463. package/src/social-link/icons/snapchat.js +0 -3
  2464. package/src/social-link/icons/soundcloud.js +0 -3
  2465. package/src/social-link/icons/spotify.js +0 -3
  2466. package/src/social-link/icons/telegram.js +0 -3
  2467. package/src/social-link/icons/threads.js +0 -3
  2468. package/src/social-link/icons/tiktok.js +0 -3
  2469. package/src/social-link/icons/tumblr.js +0 -3
  2470. package/src/social-link/icons/twitch.js +0 -3
  2471. package/src/social-link/icons/twitter.js +0 -3
  2472. package/src/social-link/icons/vimeo.js +0 -3
  2473. package/src/social-link/icons/vk.js +0 -3
  2474. package/src/social-link/icons/whatsapp.js +0 -3
  2475. package/src/social-link/icons/wordpress.js +0 -3
  2476. package/src/social-link/icons/x.js +0 -3
  2477. package/src/social-link/icons/yelp.js +0 -3
  2478. package/src/social-link/icons/youtube.js +0 -3
  2479. package/src/social-link/index.js +0 -7
  2480. package/src/social-link/init.js +0 -3
  2481. package/src/social-link/social-list.js +0 -7
  2482. package/src/social-link/variations.js +0 -7
  2483. package/src/social-links/deprecated.js +0 -7
  2484. package/src/social-links/edit.js +0 -11
  2485. package/src/social-links/index.js +0 -7
  2486. package/src/social-links/init.js +0 -3
  2487. package/src/social-links/save.js +0 -7
  2488. package/src/spacer/controls.js +0 -7
  2489. package/src/spacer/deprecated.js +0 -3
  2490. package/src/spacer/edit.js +0 -11
  2491. package/src/spacer/index.js +0 -7
  2492. package/src/spacer/init.js +0 -3
  2493. package/src/spacer/save.js +0 -3
  2494. package/src/spacer/transforms.js +0 -3
  2495. package/src/tab-list/edit.js +0 -11
  2496. package/src/tab-list/index.js +0 -7
  2497. package/src/tab-list/init.js +0 -3
  2498. package/src/tab-list/save.js +0 -7
  2499. package/src/tab-list/tab-movers.js +0 -7
  2500. package/src/tab-panel/controls.js +0 -7
  2501. package/src/tab-panel/edit.js +1 -12
  2502. package/src/tab-panel/index.js +25 -7
  2503. package/src/tab-panel/init.js +0 -3
  2504. package/src/tab-panel/save.js +0 -3
  2505. package/src/tab-panels/edit.js +0 -19
  2506. package/src/tab-panels/index.js +8 -7
  2507. package/src/tab-panels/init.js +0 -3
  2508. package/src/tab-panels/save.js +0 -3
  2509. package/src/table/deprecated.js +0 -7
  2510. package/src/table/edit.js +0 -11
  2511. package/src/table/index.js +0 -7
  2512. package/src/table/init.js +0 -3
  2513. package/src/table/save.js +0 -7
  2514. package/src/table/test/state.js +0 -7
  2515. package/src/table/test/utils.js +0 -3
  2516. package/src/table/transforms.js +0 -7
  2517. package/src/table-of-contents/edit.js +91 -78
  2518. package/src/table-of-contents/hooks.js +0 -7
  2519. package/src/table-of-contents/index.js +0 -7
  2520. package/src/table-of-contents/init.js +0 -3
  2521. package/src/table-of-contents/list.tsx +0 -7
  2522. package/src/table-of-contents/save.js +0 -7
  2523. package/src/table-of-contents/utils.ts +43 -0
  2524. package/src/tabs/edit.js +12 -22
  2525. package/src/tabs/index.js +4 -7
  2526. package/src/tabs/init.js +0 -3
  2527. package/src/tabs/save.js +0 -3
  2528. package/src/tabs/tab-toolbar-controls.js +0 -7
  2529. package/src/tabs/use-tab-actions.js +1 -5
  2530. package/src/tabs/use-tab-list-items-sync.js +0 -3
  2531. package/src/tabs/view.js +7 -4
  2532. package/src/tag-cloud/edit.js +0 -7
  2533. package/src/tag-cloud/index.js +0 -7
  2534. package/src/tag-cloud/init.js +0 -3
  2535. package/src/tag-cloud/transforms.js +0 -3
  2536. package/src/template-part/edit/advanced-controls.js +0 -7
  2537. package/src/template-part/edit/import-controls.js +0 -7
  2538. package/src/template-part/edit/index.js +0 -7
  2539. package/src/template-part/edit/inner-blocks.js +0 -3
  2540. package/src/template-part/edit/placeholder.js +0 -7
  2541. package/src/template-part/edit/selection-modal.js +0 -7
  2542. package/src/template-part/edit/title-modal.js +0 -3
  2543. package/src/template-part/edit/utils/get-template-part-icon.js +0 -3
  2544. package/src/template-part/edit/utils/hooks.js +0 -11
  2545. package/src/template-part/edit/utils/map-template-part-to-block-pattern.js +0 -7
  2546. package/src/template-part/edit/utils/transformers.js +0 -3
  2547. package/src/template-part/index.js +0 -11
  2548. package/src/template-part/init.js +0 -3
  2549. package/src/template-part/variations.js +0 -7
  2550. package/src/term-count/edit.js +0 -7
  2551. package/src/term-count/icons.js +0 -3
  2552. package/src/term-count/index.js +0 -7
  2553. package/src/term-count/init.js +0 -3
  2554. package/src/term-count/use-term-count.js +0 -3
  2555. package/src/term-description/deprecated.js +0 -3
  2556. package/src/term-description/edit.js +0 -7
  2557. package/src/term-description/index.js +0 -7
  2558. package/src/term-description/init.js +0 -3
  2559. package/src/term-description/use-term-description.js +0 -3
  2560. package/src/term-name/deprecated.js +0 -3
  2561. package/src/term-name/edit.js +0 -7
  2562. package/src/term-name/index.js +0 -7
  2563. package/src/term-name/use-term-name.js +0 -3
  2564. package/src/term-template/edit.js +1 -10
  2565. package/src/term-template/index.js +3 -7
  2566. package/src/term-template/save.js +0 -3
  2567. package/src/terms-query/edit/index.js +0 -7
  2568. package/src/terms-query/edit/inspector-controls/advanced-controls.js +0 -7
  2569. package/src/terms-query/edit/inspector-controls/empty-terms-control.js +0 -3
  2570. package/src/terms-query/edit/inspector-controls/include-control.js +0 -3
  2571. package/src/terms-query/edit/inspector-controls/index.js +0 -7
  2572. package/src/terms-query/edit/inspector-controls/inherit-control.js +0 -3
  2573. package/src/terms-query/edit/inspector-controls/max-terms-control.js +0 -3
  2574. package/src/terms-query/edit/inspector-controls/nested-terms-control.js +0 -3
  2575. package/src/terms-query/edit/inspector-controls/order-control.js +0 -3
  2576. package/src/terms-query/edit/inspector-controls/taxonomy-control.js +0 -7
  2577. package/src/terms-query/edit/terms-query-content.js +1 -12
  2578. package/src/terms-query/edit/terms-query-placeholder.js +0 -3
  2579. package/src/terms-query/index.js +3 -7
  2580. package/src/terms-query/save.js +0 -3
  2581. package/src/terms-query/utils.js +0 -3
  2582. package/src/terms-query/variations.js +0 -3
  2583. package/src/text-columns/edit.js +0 -3
  2584. package/src/text-columns/index.js +0 -3
  2585. package/src/text-columns/init.js +0 -3
  2586. package/src/text-columns/save.js +0 -3
  2587. package/src/text-columns/transforms.js +0 -3
  2588. package/src/utils/caption.js +0 -7
  2589. package/src/utils/deprecated-text-align-attributes.js +0 -3
  2590. package/src/utils/get-transformed-attributes.js +0 -3
  2591. package/src/utils/hooks.js +0 -3
  2592. package/src/utils/html-renderer.js +0 -7
  2593. package/src/utils/init-block.js +0 -3
  2594. package/src/utils/is-within-overlay.js +0 -7
  2595. package/src/utils/media-control.js +0 -3
  2596. package/src/utils/migrate-font-family.js +0 -7
  2597. package/src/utils/poster-image.js +0 -7
  2598. package/src/utils/search-patterns.js +0 -3
  2599. package/src/utils/style-state.js +0 -7
  2600. package/src/utils/test/search-patterns.js +0 -3
  2601. package/src/utils/test/style-state.js +0 -3
  2602. package/src/utils/test/waveform-player-dependency.js +203 -0
  2603. package/src/utils/test/waveform-player.js +0 -7
  2604. package/src/utils/test/waveform-utils.js +0 -7
  2605. package/src/utils/waveform-player.js +0 -7
  2606. package/src/utils/waveform-utils.js +0 -4
  2607. package/src/verse/deprecated.js +0 -11
  2608. package/src/verse/edit.js +0 -7
  2609. package/src/verse/index.js +0 -7
  2610. package/src/verse/init.js +0 -3
  2611. package/src/verse/save.js +0 -3
  2612. package/src/verse/transforms.js +0 -3
  2613. package/src/video/deprecated.js +0 -7
  2614. package/src/video/edit-common-settings.js +0 -3
  2615. package/src/video/edit.js +31 -40
  2616. package/src/video/index.js +0 -7
  2617. package/src/video/init.js +0 -3
  2618. package/src/video/save.js +0 -7
  2619. package/src/video/test/variations.js +0 -3
  2620. package/src/video/tracks-editor.js +0 -7
  2621. package/src/video/transforms.js +0 -3
  2622. package/src/video/variations.js +1 -4
  2623. package/build/page-list/convert-to-links-modal.cjs +0 -89
  2624. package/build/page-list/convert-to-links-modal.cjs.map +0 -7
  2625. package/build-module/page-list/convert-to-links-modal.mjs +0 -63
  2626. package/build-module/page-list/convert-to-links-modal.mjs.map +0 -7
  2627. package/src/page-list/convert-to-links-modal.js +0 -53
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/gallery/deprecated.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\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';\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,\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,\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 = clsx( '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\treturn runV2Migration( 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\treturn runV2Migration( attributes );\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\treturn runV2Migration( attributes );\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\treturn runV2Migration( 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\treturn runV2Migration( attributes );\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 = clsx( `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\treturn runV2Migration( attributes );\n\t},\n};\n\nexport default [ v7, v6, v5, v4, v3, v2, v1 ];\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport {\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\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,\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,\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 = clsx( '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\treturn runV2Migration( 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\treturn runV2Migration( attributes );\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\treturn runV2Migration( attributes );\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\treturn runV2Migration( 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\treturn runV2Migration( attributes );\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 = clsx( `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\treturn runV2Migration( attributes );\n\t},\n};\n\nexport default [ v7, v6, v5, v4, v3, v2, v1 ];\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/gallery/dynamic-gallery.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport {\n\tButton,\n\tNotice,\n\tPanelBody,\n\tPlaceholder,\n\tSelectControl,\n\tSpinner,\n\tToolbarButton,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport {\n\tBlockContextProvider,\n\tBlockControls,\n\tuseBlockEditingMode,\n\t__experimentalUseBlockPreview as useBlockPreview,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { Caption } from '../utils/caption';\nimport { DEFAULT_ORDERBY, DEFAULT_ORDER, MAX_IMAGES } from './dynamic-source';\n\n/**\n * Ordering options for a dynamic gallery source. Each value is a composite\n * `\"orderby/order\"` string mapping to the matching `/wp/v2/media` collection\n * params. `menu_order` is deliberately omitted — it isn't a valid REST `orderby`\n * value, so the editor preview couldn't reproduce it (see `dynamic-source.js`).\n */\nconst ORDER_OPTIONS = [\n\t{ label: __( 'Newest to oldest' ), value: 'date/desc' },\n\t{ label: __( 'Oldest to newest' ), value: 'date/asc' },\n\t{\n\t\t/* translators: Label for ordering images by title in ascending order. */\n\t\tlabel: __( 'A → Z' ),\n\t\tvalue: 'title/asc',\n\t},\n\t{\n\t\t/* translators: Label for ordering images by title in descending order. */\n\t\tlabel: __( 'Z → A' ),\n\t\tvalue: 'title/desc',\n\t},\n];\n\n/**\n * \"Order by\" control for a dynamic gallery, mirroring the Query Loop block's\n * `OrderControl`: a single `SelectControl` whose value composites `orderby` and\n * `order`, split apart again on change.\n *\n * @param {Object} props\n * @param {string} props.orderby Current `orderby` value.\n * @param {string} props.order Current `order` value (`asc`/`desc`).\n * @param {Function} props.onChange Called with `{ orderby, order }` on change.\n */\nfunction OrderControl( { orderby, order, onChange } ) {\n\treturn (\n\t\t<SelectControl\n\t\t\tlabel={ __( 'Order by' ) }\n\t\t\tvalue={ `${ orderby }/${ order }` }\n\t\t\toptions={ ORDER_OPTIONS }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tconst [ newOrderby, newOrder ] = value.split( '/' );\n\t\t\t\tonChange( { orderby: newOrderby, order: newOrder } );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\n/**\n * Confirmation for leaving dynamic mode, shown from both the block toolbar and\n * the Source panel so the two entry points explain the change identically.\n *\n * Detaching keeps the images the gallery currently shows but breaks the link to\n * its source, so it's worth confirming — mirroring the dialog `GallerySourcePanel`\n * shows for the opposite direction.\n *\n * @param {Object} props\n * @param {Function} props.onConfirm Called when the user confirms detaching.\n * @param {Function} props.onCancel Called when the user dismisses the dialog.\n */\nfunction DetachGalleryDialog( { onConfirm, onCancel } ) {\n\treturn (\n\t\t<ConfirmDialog\n\t\t\tisOpen\n\t\t\ttitle={ __( 'Detach Gallery' ) }\n\t\t\t__experimentalHideHeader={ false }\n\t\t\tconfirmButtonText={ __( 'Detach' ) }\n\t\t\tonConfirm={ onConfirm }\n\t\t\tonCancel={ onCancel }\n\t\t\tsize=\"medium\"\n\t\t>\n\t\t\t{ __(\n\t\t\t\t'The gallery displays the images attached to the post. Detaching will enable you to add, delete, or reorder images. However, new attachments will no longer be added automatically.'\n\t\t\t) }\n\t\t</ConfirmDialog>\n\t);\n}\n\n/**\n * The Gallery block's \"Source\" inspector panel.\n *\n * In dynamic mode it shows the resolved source, a control to detach the gallery\n * from it, and the source ordering. In static mode it offers the entry point\n * into dynamic mode. Either direction is a one-way change, so both are behind a\n * confirmation dialog this panel owns. Rendered inside the block's\n * `InspectorControls`, alongside the Settings panel.\n *\n * @param {Object} props\n * @param {Object} props.dynamic The `useDynamicGallery` result.\n * @param {Object} props.dropdownMenuProps Shared ToolsPanel dropdown menu props.\n * @param {boolean} props.hasImages Whether the gallery has manually-added images.\n */\nexport function GallerySourcePanel( {\n\tdynamic,\n\tdropdownMenuProps,\n\thasImages,\n} ) {\n\tconst {\n\t\tdynamicContent,\n\t\tcanUseDynamicSource,\n\t\tsourceDescriptor,\n\t\tsourceOrderby,\n\t\tsourceOrder,\n\t\tsetSourceOrder,\n\t\tconvertToStatic,\n\t\tenableDynamicMode,\n\t\tresetSource,\n\t\tisResolvingDynamic,\n\t\thasMoreImagesThanCap,\n\t\tdynamicMediaTotal,\n\t} = dynamic;\n\tconst isDynamic = !! dynamicContent;\n\n\tconst [ isConfirming, setIsConfirming ] = useState( false );\n\tconst [ isConfirmingDetach, setIsConfirmingDetach ] = useState( false );\n\n\t// Entering dynamic mode discards any hand-added images, so confirm first\n\t// when there are images to lose; otherwise switch straight away.\n\tfunction requestEnableDynamicMode() {\n\t\tif ( hasImages ) {\n\t\t\tsetIsConfirming( true );\n\t\t} else {\n\t\t\tenableDynamicMode();\n\t\t}\n\t}\n\n\tif ( isDynamic ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Source' ) }\n\t\t\t\t\tresetAll={ resetSource }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<div className=\"wp-block-gallery__source-settings\">\n\t\t\t\t\t\t<p className=\"wp-block-gallery__source-description\">\n\t\t\t\t\t\t\t{ sourceDescriptor?.description ??\n\t\t\t\t\t\t\t\t__( 'Dynamic images.' ) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={ () => setIsConfirmingDetach( true ) }\n\t\t\t\t\t\t\t// Guard the race where the media is still resolving:\n\t\t\t\t\t\t\t// detaching now would map over an incomplete (or\n\t\t\t\t\t\t\t// empty) list and produce a gallery missing images.\n\t\t\t\t\t\t\tdisabled={ isResolvingDynamic }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Detach Gallery' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t\t{ hasMoreImagesThanCap && (\n\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\tclassName=\"wp-block-gallery__source-notice\"\n\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t/* translators: 1: number of images shown. 2: total number of matching images. */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Only the first %1$d of %2$d images will be displayed.'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tMAX_IMAGES,\n\t\t\t\t\t\t\t\tdynamicMediaTotal\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Notice>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Order by' ) }\n\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\tsourceOrderby !== DEFAULT_ORDERBY ||\n\t\t\t\t\t\t\tsourceOrder !== DEFAULT_ORDER\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetSourceOrder( undefined, undefined )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<OrderControl\n\t\t\t\t\t\t\torderby={ sourceOrderby }\n\t\t\t\t\t\t\torder={ sourceOrder }\n\t\t\t\t\t\t\tonChange={ ( { orderby, order } ) =>\n\t\t\t\t\t\t\t\tsetSourceOrder( orderby, order )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t\t{ isConfirmingDetach && (\n\t\t\t\t\t<DetachGalleryDialog\n\t\t\t\t\t\tonConfirm={ () => {\n\t\t\t\t\t\t\tconvertToStatic();\n\t\t\t\t\t\t\tsetIsConfirmingDetach( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonCancel={ () => setIsConfirmingDetach( false ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}\n\n\t// In static mode this panel is just an entry into dynamic mode, so hide it\n\t// when there's no post type to preview against. This is intentionally\n\t// stricter than the placeholder's entry button (see `edit.js`), which stays\n\t// available anywhere because the source resolves at render time.\n\tif ( ! canUseDynamicSource ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<PanelBody title={ __( 'Source' ) }>\n\t\t\t\t<div className=\"wp-block-gallery__source-settings\">\n\t\t\t\t\t{ /*\n\t\t\t\t\t * Hardcoded on purpose: this single-source entry button (and\n\t\t\t\t\t * its confirm dialog below) is temporary. Once more sources\n\t\t\t\t\t * exist it becomes a \"Choose source\" select whose options read\n\t\t\t\t\t * from each source descriptor's `title`, with help text\n\t\t\t\t\t * carrying the per-source explanation this string does today.\n\t\t\t\t\t */ }\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tonClick={ requestEnableDynamicMode }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Use images attached to the post' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</PanelBody>\n\t\t\t{ isConfirming && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tisOpen\n\t\t\t\t\ttitle={ __( 'Use images attached to the post?' ) }\n\t\t\t\t\t__experimentalHideHeader={ false }\n\t\t\t\t\tconfirmButtonText={ __( 'Use attached images' ) }\n\t\t\t\t\tonConfirm={ () => {\n\t\t\t\t\t\tenableDynamicMode();\n\t\t\t\t\t\tsetIsConfirming( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonCancel={ () => setIsConfirming( false ) }\n\t\t\t\t\tsize=\"medium\"\n\t\t\t\t>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'The images in this gallery will be replaced, but will remain in the media library.'\n\t\t\t\t\t) }\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\n/**\n * Renders the resolved image blocks as a read-only preview.\n *\n * `useBlockPreview` returns a `useDisabled` ref that makes its subtree inert, so\n * previewed images (including any links) aren't interactive in the editor. The\n * ref needs a real element, yet the images must stay flex children of the gallery\n * `<figure>` and sit beside an editable caption. `display: contents` resolves\n * this: the wrapper carries the ref but generates no box, so the image figures\n * remain the figure's flex items and only they are disabled — the caption sibling\n * stays editable. This relies on the gallery's image styles using descendant\n * (not direct-child) selectors, which the box-less wrapper leaves intact.\n *\n * @param {Object} props\n * @param {Object[]} props.imageBlocks Non-persisted `core/image` blocks to preview.\n */\nfunction GalleryImagesPreview( { imageBlocks } ) {\n\tconst { children, ref, className } = useBlockPreview( {\n\t\tblocks: imageBlocks,\n\t} );\n\treturn (\n\t\t<div\n\t\t\tref={ ref }\n\t\t\tclassName={ className }\n\t\t\tstyle={ { display: 'contents' } }\n\t\t>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\n/**\n * Renders a dynamic-mode gallery on the canvas:\n *\n * - a block-toolbar control to detach the gallery from its source, confirmed in\n * a dialog;\n * - the gallery `<figure>` wrapper holding a non-editable preview of the\n * resolved media (or a placeholder while resolving / when nothing is found),\n * with the gallery's provided context so the previewed images inherit\n * gallery-wide settings;\n * - an editable gallery-level caption, alongside the read-only preview;\n * - the (empty) inner blocks kept mounted so the container's `allowedBlocks: []`\n * keeps syncing to block list settings (which blocks insertion and hides the\n * List View).\n *\n * @param {Object} props\n * @param {Object} props.dynamic The `useDynamicGallery` result.\n * @param {Object} props.blockProps The gallery's `useBlockProps()` result.\n * @param {Object} props.innerBlocksProps The gallery's `useInnerBlocksProps()` result.\n * @param {Object} props.attributes The gallery block attributes.\n * @param {Function} props.setAttributes The block's `setAttributes`.\n * @param {boolean} props.isSelected Whether the gallery block is selected.\n * @param {Function} props.insertBlocksAfter Inserts blocks after the gallery.\n * @param {boolean} props.isContentLocked Whether the gallery is content-locked.\n * @param {boolean} props.multiGallerySelection Whether multiple galleries are selected.\n */\nexport function GalleryDynamicView( {\n\tdynamic,\n\tblockProps,\n\tinnerBlocksProps,\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tinsertBlocksAfter,\n\tisContentLocked,\n\tmultiGallerySelection,\n} ) {\n\tconst {\n\t\tsourceDescriptor,\n\t\tdynamicImageBlocks,\n\t\tgalleryContext,\n\t\tisResolvingDynamic,\n\t\tconvertToStatic,\n\t} = dynamic;\n\n\t// Detaching the gallery materializes editable inner blocks, which is a\n\t// structural change. Only offer it when the block is fully editable:\n\t// under a content lock (e.g. inside a `contentOnly` group) the editing mode\n\t// is `'contentOnly'`/`'disabled'`, where structural toolbar controls are\n\t// hidden and the conversion shouldn't be possible.\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst [ isConfirmingDetach, setIsConfirmingDetach ] = useState( false );\n\n\t// Empty-state copy for the preview. Framed as forward-looking (\"… will appear\n\t// here\") rather than as an error, since the same empty result covers both a\n\t// post with no matching images and a template with no post in context yet —\n\t// in either case the source simply resolves to nothing right now. The per-\n\t// source wording comes from the source descriptor.\n\tconst emptyInstructions = isResolvingDynamic\n\t\t? __( 'Loading images…' )\n\t\t: sourceDescriptor?.emptyMessage ??\n\t\t __( 'Dynamic images will appear here.' );\n\n\treturn (\n\t\t<>\n\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ () => setIsConfirmingDetach( true ) }\n\t\t\t\t\t\t\t// Same guard as the inspector's \"Detach Gallery\": both end in\n\t\t\t\t\t\t\t// `convertToStatic`, which would map over a\n\t\t\t\t\t\t\t// still-resolving (or empty) media list.\n\t\t\t\t\t\t\t// (`ToolbarButton` stays focusable when disabled by\n\t\t\t\t\t\t\t// default.)\n\t\t\t\t\t\t\tdisabled={ isResolvingDynamic }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Detach' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t{ isConfirmingDetach && (\n\t\t\t\t\t\t<DetachGalleryDialog\n\t\t\t\t\t\t\tonConfirm={ () => {\n\t\t\t\t\t\t\t\tconvertToStatic();\n\t\t\t\t\t\t\t\tsetIsConfirmingDetach( false );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonCancel={ () => setIsConfirmingDetach( false ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ dynamicImageBlocks.length ? (\n\t\t\t\t\t<BlockContextProvider value={ galleryContext }>\n\t\t\t\t\t\t<GalleryImagesPreview\n\t\t\t\t\t\t\timageBlocks={ dynamicImageBlocks }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t) : (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\ticon={ sharedIcon }\n\t\t\t\t\t\tlabel={ __( 'Gallery' ) }\n\t\t\t\t\t\tinstructions={ emptyInstructions }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isResolvingDynamic && <Spinner /> }\n\t\t\t\t\t</Placeholder>\n\t\t\t\t) }\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tshowToolbarButton={\n\t\t\t\t\t\t! multiGallerySelection && ! isContentLocked\n\t\t\t\t\t}\n\t\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\t\tlabel={ __( 'Gallery caption text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add gallery caption' ) }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t\t{ /*\n\t\t\t * Dynamic mode shows a preview instead of real inner blocks, but the\n\t\t\t * empty inner blocks are still rendered here for their side effect:\n\t\t\t * the `allowedBlocks: []` passed to `useInnerBlocksProps` only syncs\n\t\t\t * to block list settings while the inner blocks are mounted (via\n\t\t\t * `useNestedSettingsUpdate`). That setting is what blocks insertion\n\t\t\t * (`canInsertBlockType`) and hides the now-unusable List View\n\t\t\t * (`shouldRenderBlockListView`). With no inner blocks and no appender,\n\t\t\t * this renders no output of its own.\n\t\t\t */ }\n\t\t\t{ innerBlocksProps.children }\n\t\t</>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { __, sprintf } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport {\n\tButton,\n\tNotice,\n\tPanelBody,\n\tPlaceholder,\n\tSelectControl,\n\tSpinner,\n\tToolbarButton,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport {\n\tBlockContextProvider,\n\tBlockControls,\n\tuseBlockEditingMode,\n\t__experimentalUseBlockPreview as useBlockPreview,\n} from '@wordpress/block-editor';\nimport { sharedIcon } from './shared-icon';\nimport { Caption } from '../utils/caption';\nimport { DEFAULT_ORDERBY, DEFAULT_ORDER, MAX_IMAGES } from './dynamic-source';\n\n/**\n * Ordering options for a dynamic gallery source. Each value is a composite\n * `\"orderby/order\"` string mapping to the matching `/wp/v2/media` collection\n * params. `menu_order` is deliberately omitted — it isn't a valid REST `orderby`\n * value, so the editor preview couldn't reproduce it (see `dynamic-source.js`).\n */\nconst ORDER_OPTIONS = [\n\t{ label: __( 'Newest to oldest' ), value: 'date/desc' },\n\t{ label: __( 'Oldest to newest' ), value: 'date/asc' },\n\t{\n\t\t/* translators: Label for ordering images by title in ascending order. */\n\t\tlabel: __( 'A → Z' ),\n\t\tvalue: 'title/asc',\n\t},\n\t{\n\t\t/* translators: Label for ordering images by title in descending order. */\n\t\tlabel: __( 'Z → A' ),\n\t\tvalue: 'title/desc',\n\t},\n];\n\n/**\n * \"Order by\" control for a dynamic gallery, mirroring the Query Loop block's\n * `OrderControl`: a single `SelectControl` whose value composites `orderby` and\n * `order`, split apart again on change.\n *\n * @param {Object} props\n * @param {string} props.orderby Current `orderby` value.\n * @param {string} props.order Current `order` value (`asc`/`desc`).\n * @param {Function} props.onChange Called with `{ orderby, order }` on change.\n */\nfunction OrderControl( { orderby, order, onChange } ) {\n\treturn (\n\t\t<SelectControl\n\t\t\tlabel={ __( 'Order by' ) }\n\t\t\tvalue={ `${ orderby }/${ order }` }\n\t\t\toptions={ ORDER_OPTIONS }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tconst [ newOrderby, newOrder ] = value.split( '/' );\n\t\t\t\tonChange( { orderby: newOrderby, order: newOrder } );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\n/**\n * Confirmation for leaving dynamic mode, shown from both the block toolbar and\n * the Source panel so the two entry points explain the change identically.\n *\n * Detaching keeps the images the gallery currently shows but breaks the link to\n * its source, so it's worth confirming — mirroring the dialog `GallerySourcePanel`\n * shows for the opposite direction.\n *\n * @param {Object} props\n * @param {Function} props.onConfirm Called when the user confirms detaching.\n * @param {Function} props.onCancel Called when the user dismisses the dialog.\n */\nfunction DetachGalleryDialog( { onConfirm, onCancel } ) {\n\treturn (\n\t\t<ConfirmDialog\n\t\t\tisOpen\n\t\t\ttitle={ __( 'Detach Gallery' ) }\n\t\t\t__experimentalHideHeader={ false }\n\t\t\tconfirmButtonText={ __( 'Detach' ) }\n\t\t\tonConfirm={ onConfirm }\n\t\t\tonCancel={ onCancel }\n\t\t\tsize=\"medium\"\n\t\t>\n\t\t\t{ __(\n\t\t\t\t'The gallery displays the images attached to the post. Detaching will enable you to add, delete, or reorder images. However, new attachments will no longer be added automatically.'\n\t\t\t) }\n\t\t</ConfirmDialog>\n\t);\n}\n\n/**\n * The Gallery block's \"Source\" inspector panel.\n *\n * In dynamic mode it shows the resolved source, a control to detach the gallery\n * from it, and the source ordering. In static mode it offers the entry point\n * into dynamic mode. Either direction is a one-way change, so both are behind a\n * confirmation dialog this panel owns. Rendered inside the block's\n * `InspectorControls`, alongside the Settings panel.\n *\n * @param {Object} props\n * @param {Object} props.dynamic The `useDynamicGallery` result.\n * @param {Object} props.dropdownMenuProps Shared ToolsPanel dropdown menu props.\n * @param {boolean} props.hasImages Whether the gallery has manually-added images.\n */\nexport function GallerySourcePanel( {\n\tdynamic,\n\tdropdownMenuProps,\n\thasImages,\n} ) {\n\tconst {\n\t\tdynamicContent,\n\t\tcanUseDynamicSource,\n\t\tsourceDescriptor,\n\t\tsourceOrderby,\n\t\tsourceOrder,\n\t\tsetSourceOrder,\n\t\tconvertToStatic,\n\t\tenableDynamicMode,\n\t\tresetSource,\n\t\tisResolvingDynamic,\n\t\thasMoreImagesThanCap,\n\t\tdynamicMediaTotal,\n\t} = dynamic;\n\tconst isDynamic = !! dynamicContent;\n\n\tconst [ isConfirming, setIsConfirming ] = useState( false );\n\tconst [ isConfirmingDetach, setIsConfirmingDetach ] = useState( false );\n\n\t// Entering dynamic mode discards any hand-added images, so confirm first\n\t// when there are images to lose; otherwise switch straight away.\n\tfunction requestEnableDynamicMode() {\n\t\tif ( hasImages ) {\n\t\t\tsetIsConfirming( true );\n\t\t} else {\n\t\t\tenableDynamicMode();\n\t\t}\n\t}\n\n\tif ( isDynamic ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Source' ) }\n\t\t\t\t\tresetAll={ resetSource }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<div className=\"wp-block-gallery__source-settings\">\n\t\t\t\t\t\t<p className=\"wp-block-gallery__source-description\">\n\t\t\t\t\t\t\t{ sourceDescriptor?.description ??\n\t\t\t\t\t\t\t\t__( 'Dynamic images.' ) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={ () => setIsConfirmingDetach( true ) }\n\t\t\t\t\t\t\t// Guard the race where the media is still resolving:\n\t\t\t\t\t\t\t// detaching now would map over an incomplete (or\n\t\t\t\t\t\t\t// empty) list and produce a gallery missing images.\n\t\t\t\t\t\t\tdisabled={ isResolvingDynamic }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Detach Gallery' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t\t{ hasMoreImagesThanCap && (\n\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\tclassName=\"wp-block-gallery__source-notice\"\n\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t/* translators: 1: number of images shown. 2: total number of matching images. */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Only the first %1$d of %2$d images will be displayed.'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tMAX_IMAGES,\n\t\t\t\t\t\t\t\tdynamicMediaTotal\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Notice>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Order by' ) }\n\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\tsourceOrderby !== DEFAULT_ORDERBY ||\n\t\t\t\t\t\t\tsourceOrder !== DEFAULT_ORDER\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetSourceOrder( undefined, undefined )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<OrderControl\n\t\t\t\t\t\t\torderby={ sourceOrderby }\n\t\t\t\t\t\t\torder={ sourceOrder }\n\t\t\t\t\t\t\tonChange={ ( { orderby, order } ) =>\n\t\t\t\t\t\t\t\tsetSourceOrder( orderby, order )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t\t{ isConfirmingDetach && (\n\t\t\t\t\t<DetachGalleryDialog\n\t\t\t\t\t\tonConfirm={ () => {\n\t\t\t\t\t\t\tconvertToStatic();\n\t\t\t\t\t\t\tsetIsConfirmingDetach( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonCancel={ () => setIsConfirmingDetach( false ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}\n\n\t// In static mode this panel is just an entry into dynamic mode, so hide it\n\t// when there's no post type to preview against. This is intentionally\n\t// stricter than the placeholder's entry button (see `edit.js`), which stays\n\t// available anywhere because the source resolves at render time.\n\tif ( ! canUseDynamicSource ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<PanelBody title={ __( 'Source' ) }>\n\t\t\t\t<div className=\"wp-block-gallery__source-settings\">\n\t\t\t\t\t{ /*\n\t\t\t\t\t * Hardcoded on purpose: this single-source entry button (and\n\t\t\t\t\t * its confirm dialog below) is temporary. Once more sources\n\t\t\t\t\t * exist it becomes a \"Choose source\" select whose options read\n\t\t\t\t\t * from each source descriptor's `title`, with help text\n\t\t\t\t\t * carrying the per-source explanation this string does today.\n\t\t\t\t\t */ }\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tonClick={ requestEnableDynamicMode }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Use images attached to the post' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</PanelBody>\n\t\t\t{ isConfirming && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tisOpen\n\t\t\t\t\ttitle={ __( 'Use images attached to the post?' ) }\n\t\t\t\t\t__experimentalHideHeader={ false }\n\t\t\t\t\tconfirmButtonText={ __( 'Use attached images' ) }\n\t\t\t\t\tonConfirm={ () => {\n\t\t\t\t\t\tenableDynamicMode();\n\t\t\t\t\t\tsetIsConfirming( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonCancel={ () => setIsConfirming( false ) }\n\t\t\t\t\tsize=\"medium\"\n\t\t\t\t>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'The images in this gallery will be replaced, but will remain in the media library.'\n\t\t\t\t\t) }\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\n/**\n * Renders the resolved image blocks as a read-only preview.\n *\n * `useBlockPreview` returns a `useDisabled` ref that makes its subtree inert, so\n * previewed images (including any links) aren't interactive in the editor. The\n * ref needs a real element, yet the images must stay flex children of the gallery\n * `<figure>` and sit beside an editable caption. `display: contents` resolves\n * this: the wrapper carries the ref but generates no box, so the image figures\n * remain the figure's flex items and only they are disabled — the caption sibling\n * stays editable. This relies on the gallery's image styles using descendant\n * (not direct-child) selectors, which the box-less wrapper leaves intact.\n *\n * @param {Object} props\n * @param {Object[]} props.imageBlocks Non-persisted `core/image` blocks to preview.\n */\nfunction GalleryImagesPreview( { imageBlocks } ) {\n\tconst { children, ref, className } = useBlockPreview( {\n\t\tblocks: imageBlocks,\n\t} );\n\treturn (\n\t\t<div\n\t\t\tref={ ref }\n\t\t\tclassName={ className }\n\t\t\tstyle={ { display: 'contents' } }\n\t\t>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\n/**\n * Renders a dynamic-mode gallery on the canvas:\n *\n * - a block-toolbar control to detach the gallery from its source, confirmed in\n * a dialog;\n * - the gallery `<figure>` wrapper holding a non-editable preview of the\n * resolved media (or a placeholder while resolving / when nothing is found),\n * with the gallery's provided context so the previewed images inherit\n * gallery-wide settings;\n * - an editable gallery-level caption, alongside the read-only preview;\n * - the (empty) inner blocks kept mounted so the container's `allowedBlocks: []`\n * keeps syncing to block list settings (which blocks insertion and hides the\n * List View).\n *\n * @param {Object} props\n * @param {Object} props.dynamic The `useDynamicGallery` result.\n * @param {Object} props.blockProps The gallery's `useBlockProps()` result.\n * @param {Object} props.innerBlocksProps The gallery's `useInnerBlocksProps()` result.\n * @param {Object} props.attributes The gallery block attributes.\n * @param {Function} props.setAttributes The block's `setAttributes`.\n * @param {boolean} props.isSelected Whether the gallery block is selected.\n * @param {Function} props.insertBlocksAfter Inserts blocks after the gallery.\n * @param {boolean} props.isContentLocked Whether the gallery is content-locked.\n * @param {boolean} props.multiGallerySelection Whether multiple galleries are selected.\n */\nexport function GalleryDynamicView( {\n\tdynamic,\n\tblockProps,\n\tinnerBlocksProps,\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tinsertBlocksAfter,\n\tisContentLocked,\n\tmultiGallerySelection,\n} ) {\n\tconst {\n\t\tsourceDescriptor,\n\t\tdynamicImageBlocks,\n\t\tgalleryContext,\n\t\tisResolvingDynamic,\n\t\tconvertToStatic,\n\t} = dynamic;\n\n\t// Detaching the gallery materializes editable inner blocks, which is a\n\t// structural change. Only offer it when the block is fully editable:\n\t// under a content lock (e.g. inside a `contentOnly` group) the editing mode\n\t// is `'contentOnly'`/`'disabled'`, where structural toolbar controls are\n\t// hidden and the conversion shouldn't be possible.\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst [ isConfirmingDetach, setIsConfirmingDetach ] = useState( false );\n\n\t// Empty-state copy for the preview. Framed as forward-looking (\"… will appear\n\t// here\") rather than as an error, since the same empty result covers both a\n\t// post with no matching images and a template with no post in context yet —\n\t// in either case the source simply resolves to nothing right now. The per-\n\t// source wording comes from the source descriptor.\n\tconst emptyInstructions = isResolvingDynamic\n\t\t? __( 'Loading images…' )\n\t\t: sourceDescriptor?.emptyMessage ??\n\t\t __( 'Dynamic images will appear here.' );\n\n\treturn (\n\t\t<>\n\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ () => setIsConfirmingDetach( true ) }\n\t\t\t\t\t\t\t// Same guard as the inspector's \"Detach Gallery\": both end in\n\t\t\t\t\t\t\t// `convertToStatic`, which would map over a\n\t\t\t\t\t\t\t// still-resolving (or empty) media list.\n\t\t\t\t\t\t\t// (`ToolbarButton` stays focusable when disabled by\n\t\t\t\t\t\t\t// default.)\n\t\t\t\t\t\t\tdisabled={ isResolvingDynamic }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Detach' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t{ isConfirmingDetach && (\n\t\t\t\t\t\t<DetachGalleryDialog\n\t\t\t\t\t\t\tonConfirm={ () => {\n\t\t\t\t\t\t\t\tconvertToStatic();\n\t\t\t\t\t\t\t\tsetIsConfirmingDetach( false );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonCancel={ () => setIsConfirmingDetach( false ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ dynamicImageBlocks.length ? (\n\t\t\t\t\t<BlockContextProvider value={ galleryContext }>\n\t\t\t\t\t\t<GalleryImagesPreview\n\t\t\t\t\t\t\timageBlocks={ dynamicImageBlocks }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t) : (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\ticon={ sharedIcon }\n\t\t\t\t\t\tlabel={ __( 'Gallery' ) }\n\t\t\t\t\t\tinstructions={ emptyInstructions }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isResolvingDynamic && <Spinner /> }\n\t\t\t\t\t</Placeholder>\n\t\t\t\t) }\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tshowToolbarButton={\n\t\t\t\t\t\t! multiGallerySelection && ! isContentLocked\n\t\t\t\t\t}\n\t\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\t\tlabel={ __( 'Gallery caption text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add gallery caption' ) }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t\t{ /*\n\t\t\t * Dynamic mode shows a preview instead of real inner blocks, but the\n\t\t\t * empty inner blocks are still rendered here for their side effect:\n\t\t\t * the `allowedBlocks: []` passed to `useInnerBlocksProps` only syncs\n\t\t\t * to block list settings while the inner blocks are mounted (via\n\t\t\t * `useNestedSettingsUpdate`). That setting is what blocks insertion\n\t\t\t * (`canInsertBlockType`) and hides the now-unusable List View\n\t\t\t * (`shouldRenderBlockListView`). With no inner blocks and no appender,\n\t\t\t * this renders no output of its own.\n\t\t\t */ }\n\t\t\t{ innerBlocksProps.children }\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/gallery/dynamic-source.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Source discriminator for \"images attached to the post\" — the only dynamic\n * source implemented so far. Kept as a named constant since it's referenced from\n * several call sites (the query builder, the descriptor, and the entry points\n * that switch a gallery into dynamic mode).\n */\nexport const ATTACHED_MEDIA = 'core/attached-media';\n\n/**\n * Default ordering for a dynamic source. `menu_order` (the manual media-library\n * order) is intentionally not used: it isn't a valid `orderby` value on the\n * media REST endpoint, so the editor preview couldn't reproduce it. Both the\n * editor query and the server resolver default to the same REST-supported order\n * so the preview matches the frontend.\n */\nexport const DEFAULT_ORDERBY = 'date';\nexport const DEFAULT_ORDER = 'desc';\n\n/**\n * Per-source copy, keyed by the `source` discriminator in a gallery's\n * `dynamicContent`. Adding a dynamic source means adding an entry here; the\n * editor components read these strings instead of hardcoding source-specific\n * wording. The fields also map onto a future \"Choose source\" control: `title`\n * becomes an option label, `description` its help text, and `emptyMessage` the\n * canvas preview when the source resolves to nothing.\n */\nconst DYNAMIC_SOURCES = {\n\t[ ATTACHED_MEDIA ]: {\n\t\t// Short label for the entry affordance / future source chooser. Mirrors\n\t\t// the \"Attached images\" media inserter category name.\n\t\ttitle: __( 'Use attached images' ),\n\t\t// Help text shown beneath the Source controls.\n\t\tdescription: __( 'Images attached to the post.' ),\n\t\t// Empty-state copy for the canvas preview.\n\t\temptyMessage: __( 'Images attached to the post will appear here.' ),\n\t},\n};\n\n/**\n * Returns the descriptor for a dynamic source, or `undefined` for an unknown or\n * not-yet-implemented source.\n *\n * @param {?string} source The `dynamicContent.source` discriminator.\n * @return {?Object} The source descriptor (`title`, `description`, `emptyMessage`).\n */\nexport function getDynamicSource( source ) {\n\treturn DYNAMIC_SOURCES[ source ];\n}\n\n/**\n * Upper bound on the number of images a dynamic source resolves, until the\n * gallery supports pagination. Kept in sync with the `posts_per_page` cap in\n * `block_core_gallery_resolve_dynamic_source()`.\n */\nexport const MAX_IMAGES = 100;\n\n/**\n * Maps a gallery's `dynamicContent` attribute to a query for the `attachment`\n * entity (i.e. `/wp/v2/media` collection params), used to resolve the source to\n * a list of media in the editor.\n *\n * The `source` key is the dispatch discriminator and `args` holds the\n * source's parameters. This `{ source, args }` shape mirrors the Block\n * Bindings metadata shape (`metadata.bindings.<key> = { source, args }`) so\n * dynamic mode can migrate to an `innerBlocks` binding with minimal change.\n * `args` keys are camelCase (the block-attribute convention, as used by the\n * Query block's `query` attribute); each source's resolver maps them to the\n * REST/transport names it needs. `core/attached-media` is a context-relative anchor\n * resolved here to the REST `parent` param. The server-side counterpart is\n * `block_core_gallery_resolve_dynamic_source()` in `index.php`.\n *\n * @param {Object} dynamicContent The gallery's `dynamicContent` attribute.\n * @param {Object} context Resolution context.\n * @param {number} context.postId The current post ID.\n * @return {Object|null} A `getEntityRecords` query, or `null` when the source\n * cannot be resolved (unknown source or missing context).\n */\nexport function getSourceQuery( dynamicContent, { postId } ) {\n\tconst { source, args = {} } = dynamicContent ?? {};\n\n\tswitch ( source ) {\n\t\tcase ATTACHED_MEDIA:\n\t\t\tif ( ! postId ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tparent: postId,\n\t\t\t\tper_page: MAX_IMAGES,\n\t\t\t\t// The gallery only accepts images, so constrain the source to\n\t\t\t\t// image media (matching the server resolver). This keeps the\n\t\t\t\t// editor preview in step with the rendered output for posts\n\t\t\t\t// that also have non-image attachments.\n\t\t\t\tmedia_type: 'image',\n\t\t\t\t// Map the camelCase `args` to the REST-named media collection\n\t\t\t\t// params. Unexpected values (only reachable via hand-edited\n\t\t\t\t// markup) are coerced back to the defaults — mirroring the server\n\t\t\t\t// resolver's allow list — so the editor preview stays in step with\n\t\t\t\t// the frontend instead of issuing an invalid REST query.\n\t\t\t\torderby:\n\t\t\t\t\targs.orderBy === 'date' || args.orderBy === 'title'\n\t\t\t\t\t\t? args.orderBy\n\t\t\t\t\t\t: DEFAULT_ORDERBY,\n\t\t\t\torder:\n\t\t\t\t\targs.order === 'asc' || args.order === 'desc'\n\t\t\t\t\t\t? args.order\n\t\t\t\t\t\t: DEFAULT_ORDER,\n\t\t\t};\n\t}\n\n\t// Unknown or not-yet-implemented source.\n\treturn null;\n}\n"],
5
- "mappings": ";AAGA,SAAS,UAAU;AAQZ,IAAM,iBAAiB;AASvB,IAAM,kBAAkB;AACxB,IAAM,gBAAgB;AAU7B,IAAM,kBAAkB;AAAA,EACvB,CAAE,cAAe,GAAG;AAAA;AAAA;AAAA,IAGnB,OAAO,GAAI,qBAAsB;AAAA;AAAA,IAEjC,aAAa,GAAI,8BAA+B;AAAA;AAAA,IAEhD,cAAc,GAAI,+CAAgD;AAAA,EACnE;AACD;AASO,SAAS,iBAAkB,QAAS;AAC1C,SAAO,gBAAiB,MAAO;AAChC;AAOO,IAAM,aAAa;AAuBnB,SAAS,eAAgB,gBAAgB,EAAE,OAAO,GAAI;AAC5D,QAAM,EAAE,QAAQ,OAAO,CAAC,EAAE,IAAI,kBAAkB,CAAC;AAEjD,UAAS,QAAS;AAAA,IACjB,KAAK;AACJ,UAAK,CAAE,QAAS;AACf,eAAO;AAAA,MACR;AACA,aAAO;AAAA,QACN,QAAQ;AAAA,QACR,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,QAKV,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMZ,SACC,KAAK,YAAY,UAAU,KAAK,YAAY,UACzC,KAAK,UACL;AAAA,QACJ,OACC,KAAK,UAAU,SAAS,KAAK,UAAU,SACpC,KAAK,QACL;AAAA,MACL;AAAA,EACF;AAGA,SAAO;AACR;",
4
+ "sourcesContent": ["import { __ } from '@wordpress/i18n';\n\n/**\n * Source discriminator for \"images attached to the post\" — the only dynamic\n * source implemented so far. Kept as a named constant since it's referenced from\n * several call sites (the query builder, the descriptor, and the entry points\n * that switch a gallery into dynamic mode).\n */\nexport const ATTACHED_MEDIA = 'core/attached-media';\n\n/**\n * Default ordering for a dynamic source. `menu_order` (the manual media-library\n * order) is intentionally not used: it isn't a valid `orderby` value on the\n * media REST endpoint, so the editor preview couldn't reproduce it. Both the\n * editor query and the server resolver default to the same REST-supported order\n * so the preview matches the frontend.\n */\nexport const DEFAULT_ORDERBY = 'date';\nexport const DEFAULT_ORDER = 'desc';\n\n/**\n * Per-source copy, keyed by the `source` discriminator in a gallery's\n * `dynamicContent`. Adding a dynamic source means adding an entry here; the\n * editor components read these strings instead of hardcoding source-specific\n * wording. The fields also map onto a future \"Choose source\" control: `title`\n * becomes an option label, `description` its help text, and `emptyMessage` the\n * canvas preview when the source resolves to nothing.\n */\nconst DYNAMIC_SOURCES = {\n\t[ ATTACHED_MEDIA ]: {\n\t\t// Short label for the entry affordance / future source chooser. Mirrors\n\t\t// the \"Attached images\" media inserter category name.\n\t\ttitle: __( 'Use attached images' ),\n\t\t// Help text shown beneath the Source controls.\n\t\tdescription: __( 'Images attached to the post.' ),\n\t\t// Empty-state copy for the canvas preview.\n\t\temptyMessage: __( 'Images attached to the post will appear here.' ),\n\t},\n};\n\n/**\n * Returns the descriptor for a dynamic source, or `undefined` for an unknown or\n * not-yet-implemented source.\n *\n * @param {?string} source The `dynamicContent.source` discriminator.\n * @return {?Object} The source descriptor (`title`, `description`, `emptyMessage`).\n */\nexport function getDynamicSource( source ) {\n\treturn DYNAMIC_SOURCES[ source ];\n}\n\n/**\n * Upper bound on the number of images a dynamic source resolves, until the\n * gallery supports pagination. Kept in sync with the `posts_per_page` cap in\n * `block_core_gallery_resolve_dynamic_source()`.\n */\nexport const MAX_IMAGES = 100;\n\n/**\n * Maps a gallery's `dynamicContent` attribute to a query for the `attachment`\n * entity (i.e. `/wp/v2/media` collection params), used to resolve the source to\n * a list of media in the editor.\n *\n * The `source` key is the dispatch discriminator and `args` holds the\n * source's parameters. This `{ source, args }` shape mirrors the Block\n * Bindings metadata shape (`metadata.bindings.<key> = { source, args }`) so\n * dynamic mode can migrate to an `innerBlocks` binding with minimal change.\n * `args` keys are camelCase (the block-attribute convention, as used by the\n * Query block's `query` attribute); each source's resolver maps them to the\n * REST/transport names it needs. `core/attached-media` is a context-relative anchor\n * resolved here to the REST `parent` param. The server-side counterpart is\n * `block_core_gallery_resolve_dynamic_source()` in `index.php`.\n *\n * @param {Object} dynamicContent The gallery's `dynamicContent` attribute.\n * @param {Object} context Resolution context.\n * @param {number} context.postId The current post ID.\n * @return {Object|null} A `getEntityRecords` query, or `null` when the source\n * cannot be resolved (unknown source or missing context).\n */\nexport function getSourceQuery( dynamicContent, { postId } ) {\n\tconst { source, args = {} } = dynamicContent ?? {};\n\n\tswitch ( source ) {\n\t\tcase ATTACHED_MEDIA:\n\t\t\tif ( ! postId ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tparent: postId,\n\t\t\t\tper_page: MAX_IMAGES,\n\t\t\t\t// The gallery only accepts images, so constrain the source to\n\t\t\t\t// image media (matching the server resolver). This keeps the\n\t\t\t\t// editor preview in step with the rendered output for posts\n\t\t\t\t// that also have non-image attachments.\n\t\t\t\tmedia_type: 'image',\n\t\t\t\t// Map the camelCase `args` to the REST-named media collection\n\t\t\t\t// params. Unexpected values (only reachable via hand-edited\n\t\t\t\t// markup) are coerced back to the defaults — mirroring the server\n\t\t\t\t// resolver's allow list — so the editor preview stays in step with\n\t\t\t\t// the frontend instead of issuing an invalid REST query.\n\t\t\t\torderby:\n\t\t\t\t\targs.orderBy === 'date' || args.orderBy === 'title'\n\t\t\t\t\t\t? args.orderBy\n\t\t\t\t\t\t: DEFAULT_ORDERBY,\n\t\t\t\torder:\n\t\t\t\t\targs.order === 'asc' || args.order === 'desc'\n\t\t\t\t\t\t? args.order\n\t\t\t\t\t\t: DEFAULT_ORDER,\n\t\t\t};\n\t}\n\n\t// Unknown or not-yet-implemented source.\n\treturn null;\n}\n"],
5
+ "mappings": ";AAAA,SAAS,UAAU;AAQZ,IAAM,iBAAiB;AASvB,IAAM,kBAAkB;AACxB,IAAM,gBAAgB;AAU7B,IAAM,kBAAkB;AAAA,EACvB,CAAE,cAAe,GAAG;AAAA;AAAA;AAAA,IAGnB,OAAO,GAAI,qBAAsB;AAAA;AAAA,IAEjC,aAAa,GAAI,8BAA+B;AAAA;AAAA,IAEhD,cAAc,GAAI,+CAAgD;AAAA,EACnE;AACD;AASO,SAAS,iBAAkB,QAAS;AAC1C,SAAO,gBAAiB,MAAO;AAChC;AAOO,IAAM,aAAa;AAuBnB,SAAS,eAAgB,gBAAgB,EAAE,OAAO,GAAI;AAC5D,QAAM,EAAE,QAAQ,OAAO,CAAC,EAAE,IAAI,kBAAkB,CAAC;AAEjD,UAAS,QAAS;AAAA,IACjB,KAAK;AACJ,UAAK,CAAE,QAAS;AACf,eAAO;AAAA,MACR;AACA,aAAO;AAAA,QACN,QAAQ;AAAA,QACR,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,QAKV,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMZ,SACC,KAAK,YAAY,UAAU,KAAK,YAAY,UACzC,KAAK,UACL;AAAA,QACJ,OACC,KAAK,UAAU,SAAS,KAAK,UAAU,SACpC,KAAK,QACL;AAAA,MACL;AAAA,EACF;AAGA,SAAO;AACR;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/gallery/edit.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToolbarDropdownMenu,\n\tButton,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tuseBlockEditingMode,\n\tBlockControls,\n\tMediaReplaceFlow,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport { useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport {\n\tlink as linkIcon,\n\tcustomLink,\n\timage as imageIcon,\n\tlinkOff,\n\tfullscreen,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\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\tLINK_DESTINATION_LIGHTBOX,\n\tDEFAULT_MEDIA_SIZE_SLUG,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GalleryGapCustomProperties from './gap-styles';\nimport useDynamicGallery from './use-dynamic-gallery';\nimport { GallerySourcePanel, GalleryDynamicView } from './dynamic-gallery';\nimport { getDynamicSource, ATTACHED_MEDIA } from './dynamic-source';\n\nconst MAX_COLUMNS = 8;\nconst LINK_OPTIONS = [\n\t{\n\t\ticon: customLink,\n\t\tlabel: __( 'Link images to attachment pages' ),\n\t\tvalue: LINK_DESTINATION_ATTACHMENT,\n\t\tnoticeText: __( 'Attachment Pages' ),\n\t},\n\t{\n\t\ticon: imageIcon,\n\t\tlabel: __( 'Link images to media files' ),\n\t\tvalue: LINK_DESTINATION_MEDIA,\n\t\tnoticeText: __( 'Media Files' ),\n\t},\n\t{\n\t\ticon: fullscreen,\n\t\tlabel: __( 'Enlarge on click' ),\n\t\tvalue: LINK_DESTINATION_LIGHTBOX,\n\t\tnoticeText: __( 'Lightbox effect' ),\n\t\tinfoText: __( 'Scale images with a lightbox effect' ),\n\t},\n\t{\n\t\ticon: linkOff,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tnoticeText: __( 'None' ),\n\t},\n];\nconst NAVIGATION_BUTTON_TYPE_OPTIONS = [\n\t{\n\t\tlabel: __( 'Icon' ),\n\t\tvalue: 'icon',\n\t},\n\t{\n\t\tlabel: __( 'Text' ),\n\t\tvalue: 'text',\n\t},\n\t{\n\t\tlabel: __( 'Both' ),\n\t\tvalue: 'both',\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = __(\n\t'Drag and drop images, upload, or choose from your library.'\n);\n\nconst DEFAULT_BLOCK = { name: 'core/image' };\nconst EMPTY_ARRAY = [];\n\nexport default function 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\tcontext,\n\t\t__unstableLayoutClassNames: layoutClassNames,\n\t} = props;\n\n\tconst postId = context?.postId;\n\tconst postType = context?.postType;\n\n\t// Entering dynamic mode is a structural change (it discards inner blocks and\n\t// switches the block's mode), so the entry point is only offered when the\n\t// block is fully editable — mirroring the dynamic view's \"Edit images\"\n\t// toolbar control. Under a content lock the mode is `'contentOnly'`/\n\t// `'disabled'`, where structural affordances are hidden.\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst [ lightboxSetting, defaultRatios, themeRatios, showDefaultRatios ] =\n\t\tuseSettings(\n\t\t\t'blocks.core/image.lightbox',\n\t\t\t'dimensions.aspectRatios.default',\n\t\t\t'dimensions.aspectRatios.theme',\n\t\t\t'dimensions.defaultAspectRatios'\n\t\t);\n\n\tconst linkOptions = ! lightboxSetting?.allowEditing\n\t\t? LINK_OPTIONS.filter(\n\t\t\t\t( option ) => option.value !== LINK_DESTINATION_LIGHTBOX\n\t\t )\n\t\t: LINK_OPTIONS;\n\n\tconst {\n\t\talign,\n\t\tnavigationButtonType,\n\t\tcolumns,\n\t\timageCrop,\n\t\trandomOrder,\n\t\tlinkTarget,\n\t\tlinkTo,\n\t\tsizeSlug,\n\t\taspectRatio,\n\t} = attributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { getBlock, getSettings, innerBlockImages, multiGallerySelection } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetBlockName,\n\t\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\t\tgetSettings: _getSettings,\n\t\t\t\t\tgetBlock: _getBlock,\n\t\t\t\t} = select( blockEditorStore );\n\t\t\t\tconst multiSelectedClientIds = getMultiSelectedBlockClientIds();\n\n\t\t\t\treturn {\n\t\t\t\t\tgetBlock: _getBlock,\n\t\t\t\t\tgetSettings: _getSettings,\n\t\t\t\t\tinnerBlockImages:\n\t\t\t\t\t\t_getBlock( clientId )?.innerBlocks ?? EMPTY_ARRAY,\n\t\t\t\t\tmultiGallerySelection:\n\t\t\t\t\t\tmultiSelectedClientIds.length &&\n\t\t\t\t\t\tmultiSelectedClientIds.every(\n\t\t\t\t\t\t\t( _clientId ) =>\n\t\t\t\t\t\t\t\tgetBlockName( _clientId ) === 'core/gallery'\n\t\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientId ]\n\t\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\tconst hasImages = !! images.length;\n\tconst isDynamic = !! attributes.dynamicContent;\n\n\t// Dynamic mode (resolving images from a source instead of inner blocks):\n\t// source resolution, the editor-preview blocks, and the mode/ordering\n\t// actions.\n\tconst dynamic = useDynamicGallery( {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclientId,\n\t\tpostId,\n\t\tpostType,\n\t} );\n\n\t// State that drives counts/size options should reflect the dynamic media\n\t// when the gallery is in dynamic mode.\n\tconst displayedImageCount = isDynamic\n\t\t? dynamic.dynamicMedia.length\n\t\t: images.length;\n\n\t// Check if there is at least one image with lightbox enabled. In dynamic\n\t// mode the images inherit the gallery's link setting, so the lightbox is on\n\t// when the gallery links images to the lightbox.\n\tlet hasLightboxImages;\n\tif ( isDynamic ) {\n\t\thasLightboxImages = linkTo === LINK_DESTINATION_LIGHTBOX;\n\t} else if ( lightboxSetting?.enabled ) {\n\t\thasLightboxImages =\n\t\t\timages.filter(\n\t\t\t\t( image ) =>\n\t\t\t\t\timage.attributes?.lightbox?.enabled === undefined ||\n\t\t\t\t\timage.attributes?.lightbox?.enabled === true\n\t\t\t).length > 0;\n\t} else {\n\t\thasLightboxImages =\n\t\t\timages.filter( ( image ) => image.attributes.lightbox?.enabled )\n\t\t\t\t.length > 0;\n\t}\n\n\tconst themeOptions = themeRatios?.map( ( { name, ratio } ) => ( {\n\t\tlabel: name,\n\t\tvalue: ratio,\n\t} ) );\n\tconst defaultOptions = defaultRatios?.map( ( { name, ratio } ) => ( {\n\t\tlabel: name,\n\t\tvalue: ratio,\n\t} ) );\n\tconst aspectRatioOptions = [\n\t\t{\n\t\t\tlabel: _x(\n\t\t\t\t'Original',\n\t\t\t\t'Aspect ratio option for dimensions control'\n\t\t\t),\n\t\t\tvalue: 'auto',\n\t\t},\n\t\t...( showDefaultRatios ? defaultOptions || [] : [] ),\n\t\t...( themeOptions || [] ),\n\t];\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}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\tisDynamic ? dynamic.dynamicMedia : imageData,\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}\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:\n\t\t\t\timageAttributes.caption.length > 0\n\t\t\t\t\t? imageAttributes.caption\n\t\t\t\t\t: image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t\taspectRatio: aspectRatio === 'auto' ? undefined : aspectRatio,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\tconst mediaTypeSelector = 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.blob\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 {\n\t\t\t\t\t\t\tblob: 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 {\n\t\t\t\t\t\tblob: file.blob || 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\tblob: image.blob,\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\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\n\t\t// Select the first block to scroll into view when new blocks are added.\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\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\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue,\n\t\t\t\tfalse,\n\t\t\t\tblock.attributes,\n\t\t\t\tlightboxSetting\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, {\n\t\t\tuniqueByBlock: true,\n\t\t} );\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.noticeText\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 toggleRandomOrder() {\n\t\tsetAttributes( { randomOrder: ! randomOrder } );\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, {\n\t\t\tuniqueByBlock: true,\n\t\t} );\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, {\n\t\t\tuniqueByBlock: true,\n\t\t} );\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 ?? newSizeSlug\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\tfunction setAspectRatio( value ) {\n\t\tsetAttributes( { aspectRatio: value } );\n\n\t\t// Update all inner image blocks with the new aspect ratio\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = {\n\t\t\t\taspectRatio: value === 'auto' ? undefined : value,\n\t\t\t};\n\t\t} );\n\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\n\t\tconst aspectRatioText = aspectRatioOptions.find(\n\t\t\t( option ) => option.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: aspect ratio setting */\n\t\t\t\t__( 'All gallery images updated to aspect ratio: %s' ),\n\t\t\t\taspectRatioText?.label || value\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-aspectRatio',\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 hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some(\n\t\t( img ) => ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t);\n\n\tconst mediaPlaceholderProps = {\n\t\taddToGallery: false,\n\t\tdisableMediaButtons: imagesUploading,\n\t\tvalue: {},\n\t};\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx(\n\t\t\tclassName,\n\t\t\t'has-nested-images',\n\t\t\t// In dynamic mode there are no inner blocks and the gallery isn't\n\t\t\t// rendered through the `Gallery` component, so the classes that\n\t\t\t// component normally composes onto the `<figure>` (see `gallery.js`)\n\t\t\t// must be added here to keep the preview's flex/crop layout matching\n\t\t\t// the static gallery and the frontend.\n\t\t\tisDynamic && [\n\t\t\t\tlayoutClassNames,\n\t\t\t\t'blocks-gallery-grid',\n\t\t\t\t{\n\t\t\t\t\t[ `align${ align }` ]: align,\n\t\t\t\t\t[ `columns-${ columns }` ]: columns !== undefined,\n\t\t\t\t\t'columns-default': columns === undefined,\n\t\t\t\t\t'is-cropped': imageCrop,\n\t\t\t\t},\n\t\t\t]\n\t\t),\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t// In dynamic mode nothing may be inserted: the images are resolved from\n\t\t// the source, not authored as inner blocks. `allowedBlocks: []` enforces\n\t\t// this in every context — unlike `templateLock: 'all'`, it isn't relaxed\n\t\t// to `contentOnly` by a content-locked ancestor — so it blocks insertion\n\t\t// and drag-and-drop (via `canInsertBlockType`). It's also what opts the\n\t\t// gallery out of the List View: a block that can't be inserted into and\n\t\t// has no inner blocks has nothing to navigate or add (see\n\t\t// `shouldRenderBlockListView`). This reaches the block's list settings\n\t\t// only while the inner blocks are mounted, which is why the dynamic view\n\t\t// still renders the (empty) inner blocks.\n\t\tallowedBlocks: isDynamic ? EMPTY_ARRAY : undefined,\n\t} );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tif ( ! hasImages && ! isDynamic ) {\n\t\treturn (\n\t\t\t<div { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\ticon={ sharedIcon }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tmultiple\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t{ ...mediaPlaceholderProps }\n\t\t\t\t>\n\t\t\t\t\t{ /*\n\t\t\t\t\t * Entry into dynamic mode. Gated on the editing mode so it's\n\t\t\t\t\t * hidden in content-only editing (where this structural change\n\t\t\t\t\t * isn't allowed), but intentionally not hidden by\n\t\t\t\t\t * `canUseDynamicSource` the way the inspector is (see\n\t\t\t\t\t * `dynamic-gallery.js`): even with no\n\t\t\t\t\t * post type to preview against, the source still resolves at\n\t\t\t\t\t * render time via `get_the_ID()` (see `index.php`) — e.g. in a\n\t\t\t\t\t * template part or pattern shown on a singular page.\n\t\t\t\t\t */ }\n\t\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={ dynamic.enableDynamicMode }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ getDynamicSource( ATTACHED_MEDIA ).title }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t</MediaPlaceholder>\n\t\t\t</div>\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<GallerySourcePanel\n\t\t\t\t\tdynamic={ dynamic }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\thasImages={ hasImages }\n\t\t\t\t/>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tnavigationButtonType: 'icon',\n\t\t\t\t\t\t\tcolumns: undefined,\n\t\t\t\t\t\t\timageCrop: true,\n\t\t\t\t\t\t\trandomOrder: false,\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\tsetAspectRatio( 'auto' );\n\n\t\t\t\t\t\tif ( sizeSlug !== DEFAULT_MEDIA_SIZE_SLUG ) {\n\t\t\t\t\t\t\tupdateImagesSize( DEFAULT_MEDIA_SIZE_SLUG );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( linkTarget ) {\n\t\t\t\t\t\t\ttoggleOpenInNewTab( false );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t{ displayedImageCount > 1 && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t!! columns && columns !== displayedImageCount\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonDeselect={ () => setColumnsNumber( undefined ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t\t: defaultColumnsNumber(\n\t\t\t\t\t\t\t\t\t\t\t\tdisplayedImageCount\n\t\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\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\tmax={ Math.min(\n\t\t\t\t\t\t\t\t\tMAX_COLUMNS,\n\t\t\t\t\t\t\t\t\tdisplayedImageCount\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\tsizeSlug !== DEFAULT_MEDIA_SIZE_SLUG\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tupdateImagesSize( DEFAULT_MEDIA_SIZE_SLUG )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\thasValue={ () => ! imageCrop }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { imageCrop: true } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\thasValue={ () => !! randomOrder }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { randomOrder: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\t\tchecked={ !! randomOrder }\n\t\t\t\t\t\t\tonChange={ toggleRandomOrder }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\tlabel={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\thasValue={ () => !! linkTarget }\n\t\t\t\t\t\t\tonDeselect={ () => toggleOpenInNewTab( false ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ aspectRatioOptions.length > 1 && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t!! aspectRatio && aspectRatio !== 'auto'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\t\t\t\tonDeselect={ () => setAspectRatio( 'auto' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Set a consistent aspect ratio for all images in the gallery.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tvalue={ aspectRatio }\n\t\t\t\t\t\t\t\toptions={ aspectRatioOptions }\n\t\t\t\t\t\t\t\tonChange={ setAspectRatio }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ lightboxSetting?.allowEditing && hasLightboxImages && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Navigation button type' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => navigationButtonType !== 'icon' }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tnavigationButtonType: 'icon',\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Navigation button type' ) }\n\t\t\t\t\t\t\t\tvalue={ navigationButtonType }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tnavigationButtonType: value,\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\tisBlock\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Adjust the appearance of buttons in the lightbox.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ NAVIGATION_BUTTON_TYPE_OPTIONS.map(\n\t\t\t\t\t\t\t\t\t( option ) => (\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\t\tkey={ option.value }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<ToolbarDropdownMenu icon={ linkIcon } label={ __( 'Link' ) }>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ linkOptions.map( ( linkItem ) => {\n\t\t\t\t\t\t\t\tconst isOptionSelected =\n\t\t\t\t\t\t\t\t\tlinkTo === linkItem.value;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tkey={ linkItem.value }\n\t\t\t\t\t\t\t\t\t\tisSelected={ isOptionSelected }\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t'components-dropdown-menu__menu-item',\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t'is-active': isOptionSelected,\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\t\t\t\t\ticon={ linkItem.icon }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetLinkTo( linkItem.value );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t\tinfo={ linkItem.infoText }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ linkItem.label }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t</BlockControls>\n\t\t\t<>\n\t\t\t\t{ ! multiGallerySelection && ! isDynamic && (\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t) }\n\t\t\t\t<GalleryGapCustomProperties\n\t\t\t\t\tstyle={ attributes.style }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</>\n\t\t\t{ isDynamic ? (\n\t\t\t\t<GalleryDynamicView\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tdynamic={ dynamic }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tinnerBlocksProps={ innerBlocksProps }\n\t\t\t\t\tmultiGallerySelection={ multiGallerySelection }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Gallery\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tisContentLocked={ isContentLocked }\n\t\t\t\t\timages={ images }\n\t\t\t\t\tblockProps={ innerBlocksProps }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tmultiGallerySelection={ multiGallerySelection }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport {\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToolbarDropdownMenu,\n\tButton,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tuseBlockEditingMode,\n\tBlockControls,\n\tMediaReplaceFlow,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport { useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport {\n\tlink as linkIcon,\n\tcustomLink,\n\timage as imageIcon,\n\tlinkOff,\n\tfullscreen,\n} from '@wordpress/icons';\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\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\tLINK_DESTINATION_LIGHTBOX,\n\tDEFAULT_MEDIA_SIZE_SLUG,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GalleryGapCustomProperties from './gap-styles';\nimport useDynamicGallery from './use-dynamic-gallery';\nimport { GallerySourcePanel, GalleryDynamicView } from './dynamic-gallery';\nimport { getDynamicSource, ATTACHED_MEDIA } from './dynamic-source';\n\nconst MAX_COLUMNS = 8;\nconst LINK_OPTIONS = [\n\t{\n\t\ticon: customLink,\n\t\tlabel: __( 'Link images to attachment pages' ),\n\t\tvalue: LINK_DESTINATION_ATTACHMENT,\n\t\tnoticeText: __( 'Attachment Pages' ),\n\t},\n\t{\n\t\ticon: imageIcon,\n\t\tlabel: __( 'Link images to media files' ),\n\t\tvalue: LINK_DESTINATION_MEDIA,\n\t\tnoticeText: __( 'Media Files' ),\n\t},\n\t{\n\t\ticon: fullscreen,\n\t\tlabel: __( 'Enlarge on click' ),\n\t\tvalue: LINK_DESTINATION_LIGHTBOX,\n\t\tnoticeText: __( 'Lightbox effect' ),\n\t\tinfoText: __( 'Scale images with a lightbox effect' ),\n\t},\n\t{\n\t\ticon: linkOff,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tnoticeText: __( 'None' ),\n\t},\n];\nconst NAVIGATION_BUTTON_TYPE_OPTIONS = [\n\t{\n\t\tlabel: __( 'Icon' ),\n\t\tvalue: 'icon',\n\t},\n\t{\n\t\tlabel: __( 'Text' ),\n\t\tvalue: 'text',\n\t},\n\t{\n\t\tlabel: __( 'Both' ),\n\t\tvalue: 'both',\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = __(\n\t'Drag and drop images, upload, or choose from your library.'\n);\n\nconst DEFAULT_BLOCK = { name: 'core/image' };\nconst EMPTY_ARRAY = [];\n\nexport default function 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\tcontext,\n\t\t__unstableLayoutClassNames: layoutClassNames,\n\t} = props;\n\n\tconst postId = context?.postId;\n\tconst postType = context?.postType;\n\n\t// Entering dynamic mode is a structural change (it discards inner blocks and\n\t// switches the block's mode), so the entry point is only offered when the\n\t// block is fully editable — mirroring the dynamic view's \"Edit images\"\n\t// toolbar control. Under a content lock the mode is `'contentOnly'`/\n\t// `'disabled'`, where structural affordances are hidden.\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst [ lightboxSetting, defaultRatios, themeRatios, showDefaultRatios ] =\n\t\tuseSettings(\n\t\t\t'blocks.core/image.lightbox',\n\t\t\t'dimensions.aspectRatios.default',\n\t\t\t'dimensions.aspectRatios.theme',\n\t\t\t'dimensions.defaultAspectRatios'\n\t\t);\n\n\tconst linkOptions = ! lightboxSetting?.allowEditing\n\t\t? LINK_OPTIONS.filter(\n\t\t\t\t( option ) => option.value !== LINK_DESTINATION_LIGHTBOX\n\t\t )\n\t\t: LINK_OPTIONS;\n\n\tconst {\n\t\talign,\n\t\tnavigationButtonType,\n\t\tcolumns,\n\t\timageCrop,\n\t\trandomOrder,\n\t\tlinkTarget,\n\t\tlinkTo,\n\t\tsizeSlug,\n\t\taspectRatio,\n\t} = attributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { getBlock, getSettings, innerBlockImages, multiGallerySelection } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetBlockName,\n\t\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\t\tgetSettings: _getSettings,\n\t\t\t\t\tgetBlock: _getBlock,\n\t\t\t\t} = select( blockEditorStore );\n\t\t\t\tconst multiSelectedClientIds = getMultiSelectedBlockClientIds();\n\n\t\t\t\treturn {\n\t\t\t\t\tgetBlock: _getBlock,\n\t\t\t\t\tgetSettings: _getSettings,\n\t\t\t\t\tinnerBlockImages:\n\t\t\t\t\t\t_getBlock( clientId )?.innerBlocks ?? EMPTY_ARRAY,\n\t\t\t\t\tmultiGallerySelection:\n\t\t\t\t\t\tmultiSelectedClientIds.length &&\n\t\t\t\t\t\tmultiSelectedClientIds.every(\n\t\t\t\t\t\t\t( _clientId ) =>\n\t\t\t\t\t\t\t\tgetBlockName( _clientId ) === 'core/gallery'\n\t\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientId ]\n\t\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\tconst hasImages = !! images.length;\n\tconst isDynamic = !! attributes.dynamicContent;\n\n\t// Dynamic mode (resolving images from a source instead of inner blocks):\n\t// source resolution, the editor-preview blocks, and the mode/ordering\n\t// actions.\n\tconst dynamic = useDynamicGallery( {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclientId,\n\t\tpostId,\n\t\tpostType,\n\t} );\n\n\t// State that drives counts/size options should reflect the dynamic media\n\t// when the gallery is in dynamic mode.\n\tconst displayedImageCount = isDynamic\n\t\t? dynamic.dynamicMedia.length\n\t\t: images.length;\n\n\t// Check if there is at least one image with lightbox enabled. In dynamic\n\t// mode the images inherit the gallery's link setting, so the lightbox is on\n\t// when the gallery links images to the lightbox.\n\tlet hasLightboxImages;\n\tif ( isDynamic ) {\n\t\thasLightboxImages = linkTo === LINK_DESTINATION_LIGHTBOX;\n\t} else if ( lightboxSetting?.enabled ) {\n\t\thasLightboxImages =\n\t\t\timages.filter(\n\t\t\t\t( image ) =>\n\t\t\t\t\timage.attributes?.lightbox?.enabled === undefined ||\n\t\t\t\t\timage.attributes?.lightbox?.enabled === true\n\t\t\t).length > 0;\n\t} else {\n\t\thasLightboxImages =\n\t\t\timages.filter( ( image ) => image.attributes.lightbox?.enabled )\n\t\t\t\t.length > 0;\n\t}\n\n\tconst themeOptions = themeRatios?.map( ( { name, ratio } ) => ( {\n\t\tlabel: name,\n\t\tvalue: ratio,\n\t} ) );\n\tconst defaultOptions = defaultRatios?.map( ( { name, ratio } ) => ( {\n\t\tlabel: name,\n\t\tvalue: ratio,\n\t} ) );\n\tconst aspectRatioOptions = [\n\t\t{\n\t\t\tlabel: _x(\n\t\t\t\t'Original',\n\t\t\t\t'Aspect ratio option for dimensions control'\n\t\t\t),\n\t\t\tvalue: 'auto',\n\t\t},\n\t\t...( showDefaultRatios ? defaultOptions || [] : [] ),\n\t\t...( themeOptions || [] ),\n\t];\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}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\tisDynamic ? dynamic.dynamicMedia : imageData,\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}\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:\n\t\t\t\timageAttributes.caption.length > 0\n\t\t\t\t\t? imageAttributes.caption\n\t\t\t\t\t: image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t\taspectRatio: aspectRatio === 'auto' ? undefined : aspectRatio,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\tconst mediaTypeSelector = 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.blob\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 {\n\t\t\t\t\t\t\tblob: 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 {\n\t\t\t\t\t\tblob: file.blob || 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\tblob: image.blob,\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\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\n\t\t// Select the first block to scroll into view when new blocks are added.\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\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\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue,\n\t\t\t\tfalse,\n\t\t\t\tblock.attributes,\n\t\t\t\tlightboxSetting\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, {\n\t\t\tuniqueByBlock: true,\n\t\t} );\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.noticeText\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 toggleRandomOrder() {\n\t\tsetAttributes( { randomOrder: ! randomOrder } );\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, {\n\t\t\tuniqueByBlock: true,\n\t\t} );\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, {\n\t\t\tuniqueByBlock: true,\n\t\t} );\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 ?? newSizeSlug\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\tfunction setAspectRatio( value ) {\n\t\tsetAttributes( { aspectRatio: value } );\n\n\t\t// Update all inner image blocks with the new aspect ratio\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = {\n\t\t\t\taspectRatio: value === 'auto' ? undefined : value,\n\t\t\t};\n\t\t} );\n\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\n\t\tconst aspectRatioText = aspectRatioOptions.find(\n\t\t\t( option ) => option.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: aspect ratio setting */\n\t\t\t\t__( 'All gallery images updated to aspect ratio: %s' ),\n\t\t\t\taspectRatioText?.label || value\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-aspectRatio',\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 hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some(\n\t\t( img ) => ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t);\n\n\tconst mediaPlaceholderProps = {\n\t\taddToGallery: false,\n\t\tdisableMediaButtons: imagesUploading,\n\t\tvalue: {},\n\t};\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx(\n\t\t\tclassName,\n\t\t\t'has-nested-images',\n\t\t\t// In dynamic mode there are no inner blocks and the gallery isn't\n\t\t\t// rendered through the `Gallery` component, so the classes that\n\t\t\t// component normally composes onto the `<figure>` (see `gallery.js`)\n\t\t\t// must be added here to keep the preview's flex/crop layout matching\n\t\t\t// the static gallery and the frontend.\n\t\t\tisDynamic && [\n\t\t\t\tlayoutClassNames,\n\t\t\t\t'blocks-gallery-grid',\n\t\t\t\t{\n\t\t\t\t\t[ `align${ align }` ]: align,\n\t\t\t\t\t[ `columns-${ columns }` ]: columns !== undefined,\n\t\t\t\t\t'columns-default': columns === undefined,\n\t\t\t\t\t'is-cropped': imageCrop,\n\t\t\t\t},\n\t\t\t]\n\t\t),\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t// In dynamic mode nothing may be inserted: the images are resolved from\n\t\t// the source, not authored as inner blocks. `allowedBlocks: []` enforces\n\t\t// this in every context — unlike `templateLock: 'all'`, it isn't relaxed\n\t\t// to `contentOnly` by a content-locked ancestor — so it blocks insertion\n\t\t// and drag-and-drop (via `canInsertBlockType`). It's also what opts the\n\t\t// gallery out of the List View: a block that can't be inserted into and\n\t\t// has no inner blocks has nothing to navigate or add (see\n\t\t// `shouldRenderBlockListView`). This reaches the block's list settings\n\t\t// only while the inner blocks are mounted, which is why the dynamic view\n\t\t// still renders the (empty) inner blocks.\n\t\tallowedBlocks: isDynamic ? EMPTY_ARRAY : undefined,\n\t} );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tif ( ! hasImages && ! isDynamic ) {\n\t\treturn (\n\t\t\t<div { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\ticon={ sharedIcon }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tmultiple\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t{ ...mediaPlaceholderProps }\n\t\t\t\t>\n\t\t\t\t\t{ /*\n\t\t\t\t\t * Entry into dynamic mode. Gated on the editing mode so it's\n\t\t\t\t\t * hidden in content-only editing (where this structural change\n\t\t\t\t\t * isn't allowed), but intentionally not hidden by\n\t\t\t\t\t * `canUseDynamicSource` the way the inspector is (see\n\t\t\t\t\t * `dynamic-gallery.js`): even with no\n\t\t\t\t\t * post type to preview against, the source still resolves at\n\t\t\t\t\t * render time via `get_the_ID()` (see `index.php`) — e.g. in a\n\t\t\t\t\t * template part or pattern shown on a singular page.\n\t\t\t\t\t */ }\n\t\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={ dynamic.enableDynamicMode }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ getDynamicSource( ATTACHED_MEDIA ).title }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t</MediaPlaceholder>\n\t\t\t</div>\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<GallerySourcePanel\n\t\t\t\t\tdynamic={ dynamic }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\thasImages={ hasImages }\n\t\t\t\t/>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tnavigationButtonType: 'icon',\n\t\t\t\t\t\t\tcolumns: undefined,\n\t\t\t\t\t\t\timageCrop: true,\n\t\t\t\t\t\t\trandomOrder: false,\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\tsetAspectRatio( 'auto' );\n\n\t\t\t\t\t\tif ( sizeSlug !== DEFAULT_MEDIA_SIZE_SLUG ) {\n\t\t\t\t\t\t\tupdateImagesSize( DEFAULT_MEDIA_SIZE_SLUG );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( linkTarget ) {\n\t\t\t\t\t\t\ttoggleOpenInNewTab( false );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t{ displayedImageCount > 1 && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t!! columns && columns !== displayedImageCount\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonDeselect={ () => setColumnsNumber( undefined ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t\t: defaultColumnsNumber(\n\t\t\t\t\t\t\t\t\t\t\t\tdisplayedImageCount\n\t\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\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\tmax={ Math.min(\n\t\t\t\t\t\t\t\t\tMAX_COLUMNS,\n\t\t\t\t\t\t\t\t\tdisplayedImageCount\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\tsizeSlug !== DEFAULT_MEDIA_SIZE_SLUG\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tupdateImagesSize( DEFAULT_MEDIA_SIZE_SLUG )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\thasValue={ () => ! imageCrop }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { imageCrop: true } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\thasValue={ () => !! randomOrder }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { randomOrder: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\t\tchecked={ !! randomOrder }\n\t\t\t\t\t\t\tonChange={ toggleRandomOrder }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\tlabel={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\thasValue={ () => !! linkTarget }\n\t\t\t\t\t\t\tonDeselect={ () => toggleOpenInNewTab( false ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ aspectRatioOptions.length > 1 && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t!! aspectRatio && aspectRatio !== 'auto'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\t\t\t\tonDeselect={ () => setAspectRatio( 'auto' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Set a consistent aspect ratio for all images in the gallery.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tvalue={ aspectRatio }\n\t\t\t\t\t\t\t\toptions={ aspectRatioOptions }\n\t\t\t\t\t\t\t\tonChange={ setAspectRatio }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ lightboxSetting?.allowEditing && hasLightboxImages && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Navigation button type' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => navigationButtonType !== 'icon' }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tnavigationButtonType: 'icon',\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Navigation button type' ) }\n\t\t\t\t\t\t\t\tvalue={ navigationButtonType }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tnavigationButtonType: value,\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\tisBlock\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Adjust the appearance of buttons in the lightbox.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ NAVIGATION_BUTTON_TYPE_OPTIONS.map(\n\t\t\t\t\t\t\t\t\t( option ) => (\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\t\tkey={ option.value }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<ToolbarDropdownMenu icon={ linkIcon } label={ __( 'Link' ) }>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ linkOptions.map( ( linkItem ) => {\n\t\t\t\t\t\t\t\tconst isOptionSelected =\n\t\t\t\t\t\t\t\t\tlinkTo === linkItem.value;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tkey={ linkItem.value }\n\t\t\t\t\t\t\t\t\t\tisSelected={ isOptionSelected }\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t'components-dropdown-menu__menu-item',\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t'is-active': isOptionSelected,\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\t\t\t\t\ticon={ linkItem.icon }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetLinkTo( linkItem.value );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t\tinfo={ linkItem.infoText }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ linkItem.label }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t</BlockControls>\n\t\t\t<>\n\t\t\t\t{ ! multiGallerySelection && ! isDynamic && (\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t) }\n\t\t\t\t<GalleryGapCustomProperties\n\t\t\t\t\tstyle={ attributes.style }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</>\n\t\t\t{ isDynamic ? (\n\t\t\t\t<GalleryDynamicView\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tdynamic={ dynamic }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tinnerBlocksProps={ innerBlocksProps }\n\t\t\t\t\tmultiGallerySelection={ multiGallerySelection }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Gallery\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tisContentLocked={ isContentLocked }\n\t\t\t\t\timages={ images }\n\t\t\t\t\tblockProps={ innerBlocksProps }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tmultiGallerySelection={ multiGallerySelection }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }