@wordpress/block-library 10.2.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 (2756) hide show
  1. package/CHANGELOG.md +117 -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/block.json +1 -0
  22. package/build/accordion-panel/edit.cjs +0 -1
  23. package/build/accordion-panel/edit.cjs.map +2 -2
  24. package/build/accordion-panel/index.cjs +2 -0
  25. package/build/accordion-panel/index.cjs.map +2 -2
  26. package/build/accordion-panel/init.cjs.map +2 -2
  27. package/build/accordion-panel/save.cjs.map +2 -2
  28. package/build/archives/edit.cjs.map +2 -2
  29. package/build/archives/index.cjs.map +2 -2
  30. package/build/archives/init.cjs.map +2 -2
  31. package/build/audio/deprecated.cjs.map +2 -2
  32. package/build/audio/edit.cjs.map +2 -2
  33. package/build/audio/index.cjs.map +2 -2
  34. package/build/audio/init.cjs.map +2 -2
  35. package/build/audio/save.cjs.map +2 -2
  36. package/build/audio/transforms.cjs.map +2 -2
  37. package/build/avatar/edit.cjs.map +2 -2
  38. package/build/avatar/hooks.cjs.map +2 -2
  39. package/build/avatar/index.cjs.map +2 -2
  40. package/build/avatar/init.cjs.map +2 -2
  41. package/build/avatar/user-control.cjs.map +2 -2
  42. package/build/block/edit.cjs +1 -1
  43. package/build/block/edit.cjs.map +2 -2
  44. package/build/block/index.cjs.map +2 -2
  45. package/build/block/init.cjs.map +2 -2
  46. package/build/block-keyboard-shortcuts/index.cjs.map +2 -2
  47. package/build/breadcrumbs/edit.cjs.map +2 -2
  48. package/build/breadcrumbs/index.cjs.map +2 -2
  49. package/build/button/deprecated.cjs.map +2 -2
  50. package/build/button/edit.cjs.map +2 -2
  51. package/build/button/get-updated-link-attributes.cjs.map +2 -2
  52. package/build/button/index.cjs.map +2 -2
  53. package/build/button/init.cjs.map +2 -2
  54. package/build/button/save.cjs.map +2 -2
  55. package/build/buttons/deprecated.cjs.map +2 -2
  56. package/build/buttons/edit.cjs +1 -14
  57. package/build/buttons/edit.cjs.map +2 -2
  58. package/build/buttons/index.cjs +3 -0
  59. package/build/buttons/index.cjs.map +2 -2
  60. package/build/buttons/init.cjs.map +2 -2
  61. package/build/buttons/save.cjs.map +2 -2
  62. package/build/buttons/transforms.cjs.map +2 -2
  63. package/build/calendar/edit.cjs.map +2 -2
  64. package/build/calendar/index.cjs.map +2 -2
  65. package/build/calendar/init.cjs.map +2 -2
  66. package/build/calendar/transforms.cjs.map +2 -2
  67. package/build/categories/edit.cjs.map +2 -2
  68. package/build/categories/index.cjs.map +2 -2
  69. package/build/categories/init.cjs.map +2 -2
  70. package/build/categories/variations.cjs.map +2 -2
  71. package/build/code/edit.cjs +3 -1
  72. package/build/code/edit.cjs.map +2 -2
  73. package/build/code/index.cjs.map +2 -2
  74. package/build/code/init.cjs.map +2 -2
  75. package/build/code/save.cjs.map +2 -2
  76. package/build/code/transforms.cjs.map +2 -2
  77. package/build/code/utils.cjs.map +2 -2
  78. package/build/column/deprecated.cjs.map +2 -2
  79. package/build/column/edit.cjs.map +2 -2
  80. package/build/column/index.cjs.map +2 -2
  81. package/build/column/init.cjs.map +2 -2
  82. package/build/column/save.cjs.map +2 -2
  83. package/build/columns/deprecated.cjs.map +2 -2
  84. package/build/columns/edit.cjs.map +2 -2
  85. package/build/columns/index.cjs.map +2 -2
  86. package/build/columns/init.cjs.map +2 -2
  87. package/build/columns/save.cjs.map +2 -2
  88. package/build/columns/transforms.cjs.map +2 -2
  89. package/build/columns/variations.cjs.map +2 -2
  90. package/build/comment-author-avatar/edit.cjs.map +2 -2
  91. package/build/comment-author-avatar/index.cjs.map +2 -2
  92. package/build/comment-author-avatar/init.cjs.map +2 -2
  93. package/build/comment-author-name/deprecated.cjs.map +2 -2
  94. package/build/comment-author-name/edit.cjs.map +2 -2
  95. package/build/comment-author-name/index.cjs.map +2 -2
  96. package/build/comment-author-name/init.cjs.map +2 -2
  97. package/build/comment-content/deprecated.cjs.map +2 -2
  98. package/build/comment-content/edit.cjs.map +2 -2
  99. package/build/comment-content/index.cjs.map +2 -2
  100. package/build/comment-content/init.cjs.map +2 -2
  101. package/build/comment-date/deprecated.cjs.map +2 -2
  102. package/build/comment-date/edit.cjs.map +2 -2
  103. package/build/comment-date/index.cjs.map +2 -2
  104. package/build/comment-date/init.cjs.map +2 -2
  105. package/build/comment-edit-link/deprecated.cjs.map +2 -2
  106. package/build/comment-edit-link/edit.cjs.map +2 -2
  107. package/build/comment-edit-link/index.cjs.map +2 -2
  108. package/build/comment-edit-link/init.cjs.map +2 -2
  109. package/build/comment-reply-link/deprecated.cjs.map +2 -2
  110. package/build/comment-reply-link/edit.cjs.map +2 -2
  111. package/build/comment-reply-link/index.cjs.map +2 -2
  112. package/build/comment-reply-link/init.cjs.map +2 -2
  113. package/build/comment-template/edit.cjs +1 -12
  114. package/build/comment-template/edit.cjs.map +2 -2
  115. package/build/comment-template/hooks.cjs.map +2 -2
  116. package/build/comment-template/index.cjs +9 -0
  117. package/build/comment-template/index.cjs.map +2 -2
  118. package/build/comment-template/init.cjs.map +2 -2
  119. package/build/comment-template/save.cjs.map +2 -2
  120. package/build/comments/deprecated.cjs.map +2 -2
  121. package/build/comments/edit/comments-inspector-controls.cjs.map +2 -2
  122. package/build/comments/edit/comments-legacy.cjs.map +2 -2
  123. package/build/comments/edit/index.cjs +1 -4
  124. package/build/comments/edit/index.cjs.map +3 -3
  125. package/build/comments/edit/placeholder.cjs.map +2 -2
  126. package/build/comments/index.cjs +2 -0
  127. package/build/comments/index.cjs.map +3 -3
  128. package/build/comments/init.cjs.map +2 -2
  129. package/build/comments/save.cjs.map +2 -2
  130. package/build/comments-pagination/comments-pagination-arrow-controls.cjs.map +2 -2
  131. package/build/comments-pagination/edit.cjs +1 -8
  132. package/build/comments-pagination/edit.cjs.map +2 -2
  133. package/build/comments-pagination/index.cjs +6 -0
  134. package/build/comments-pagination/index.cjs.map +2 -2
  135. package/build/comments-pagination/init.cjs.map +2 -2
  136. package/build/comments-pagination/save.cjs.map +2 -2
  137. package/build/comments-pagination-next/edit.cjs.map +2 -2
  138. package/build/comments-pagination-next/index.cjs.map +2 -2
  139. package/build/comments-pagination-next/init.cjs.map +2 -2
  140. package/build/comments-pagination-numbers/edit.cjs.map +2 -2
  141. package/build/comments-pagination-numbers/index.cjs.map +2 -2
  142. package/build/comments-pagination-numbers/init.cjs.map +2 -2
  143. package/build/comments-pagination-previous/edit.cjs.map +2 -2
  144. package/build/comments-pagination-previous/index.cjs.map +2 -2
  145. package/build/comments-pagination-previous/init.cjs.map +2 -2
  146. package/build/comments-title/deprecated.cjs.map +2 -2
  147. package/build/comments-title/edit.cjs.map +2 -2
  148. package/build/comments-title/index.cjs.map +2 -2
  149. package/build/comments-title/init.cjs.map +2 -2
  150. package/build/cover/block.json +1 -0
  151. package/build/cover/deprecated.cjs.map +2 -2
  152. package/build/cover/edit/block-controls.cjs +3 -1
  153. package/build/cover/edit/block-controls.cjs.map +2 -2
  154. package/build/cover/edit/color-utils.cjs.map +2 -2
  155. package/build/cover/edit/cover-placeholder.cjs.map +2 -2
  156. package/build/cover/edit/embed-video-url-input.cjs.map +2 -2
  157. package/build/cover/edit/index.cjs +75 -31
  158. package/build/cover/edit/index.cjs.map +2 -2
  159. package/build/cover/edit/inspector-controls.cjs.map +2 -2
  160. package/build/cover/edit/resizable-cover-popover.cjs.map +2 -2
  161. package/build/cover/embed-video-utils.cjs.map +2 -2
  162. package/build/cover/index.cjs.map +2 -2
  163. package/build/cover/init.cjs.map +2 -2
  164. package/build/cover/save.cjs.map +2 -2
  165. package/build/cover/shared.cjs.map +2 -2
  166. package/build/cover/transforms.cjs.map +2 -2
  167. package/build/cover/variations.cjs.map +2 -2
  168. package/build/details/edit.cjs +2 -12
  169. package/build/details/edit.cjs.map +3 -3
  170. package/build/details/index.cjs +9 -0
  171. package/build/details/index.cjs.map +2 -2
  172. package/build/details/init.cjs.map +2 -2
  173. package/build/details/save.cjs.map +2 -2
  174. package/build/details/transforms.cjs.map +2 -2
  175. package/build/embed/deprecated.cjs +1 -1
  176. package/build/embed/deprecated.cjs.map +2 -2
  177. package/build/embed/edit.cjs +1 -1
  178. package/build/embed/edit.cjs.map +2 -2
  179. package/build/embed/embed-controls.cjs.map +2 -2
  180. package/build/embed/embed-loading.cjs.map +2 -2
  181. package/build/embed/embed-placeholder.cjs +1 -1
  182. package/build/embed/embed-placeholder.cjs.map +2 -2
  183. package/build/embed/embed-preview.cjs.map +2 -2
  184. package/build/embed/icons.cjs.map +2 -2
  185. package/build/embed/index.cjs.map +2 -2
  186. package/build/embed/init.cjs.map +2 -2
  187. package/build/embed/save.cjs.map +2 -2
  188. package/build/embed/transforms.cjs.map +2 -2
  189. package/build/embed/util.cjs +2 -4
  190. package/build/embed/util.cjs.map +3 -3
  191. package/build/embed/variations.cjs.map +2 -2
  192. package/build/embed/wp-embed-preview.cjs.map +2 -2
  193. package/build/file/deprecated.cjs.map +2 -2
  194. package/build/file/edit.cjs.map +2 -2
  195. package/build/file/index.cjs.map +2 -2
  196. package/build/file/init.cjs.map +2 -2
  197. package/build/file/inspector.cjs.map +2 -2
  198. package/build/file/save.cjs.map +2 -2
  199. package/build/file/transforms.cjs.map +2 -2
  200. package/build/file/variations.cjs.map +2 -2
  201. package/build/file/view.cjs.map +2 -2
  202. package/build/footnotes/edit.cjs +6 -1
  203. package/build/footnotes/edit.cjs.map +2 -2
  204. package/build/footnotes/format.cjs.map +2 -2
  205. package/build/footnotes/index.cjs.map +2 -2
  206. package/build/footnotes/init.cjs.map +2 -2
  207. package/build/form/deprecated.cjs.map +2 -2
  208. package/build/form/edit.cjs +0 -31
  209. package/build/form/edit.cjs.map +2 -2
  210. package/build/form/icons.cjs.map +2 -2
  211. package/build/form/index.cjs +32 -0
  212. package/build/form/index.cjs.map +2 -2
  213. package/build/form/init.cjs.map +2 -2
  214. package/build/form/save.cjs.map +2 -2
  215. package/build/form/utils.cjs.map +2 -2
  216. package/build/form/variations.cjs.map +2 -2
  217. package/build/form-input/deprecated.cjs.map +2 -2
  218. package/build/form-input/edit.cjs.map +2 -2
  219. package/build/form-input/icons.cjs.map +2 -2
  220. package/build/form-input/index.cjs.map +2 -2
  221. package/build/form-input/init.cjs.map +2 -2
  222. package/build/form-input/save.cjs.map +2 -2
  223. package/build/form-input/variations.cjs.map +2 -2
  224. package/build/form-submission-notification/edit.cjs +0 -11
  225. package/build/form-submission-notification/edit.cjs.map +2 -2
  226. package/build/form-submission-notification/index.cjs +12 -0
  227. package/build/form-submission-notification/index.cjs.map +2 -2
  228. package/build/form-submission-notification/init.cjs.map +2 -2
  229. package/build/form-submission-notification/save.cjs.map +2 -2
  230. package/build/form-submission-notification/variations.cjs.map +2 -2
  231. package/build/form-submit-button/edit.cjs +0 -18
  232. package/build/form-submit-button/edit.cjs.map +2 -2
  233. package/build/form-submit-button/index.cjs +18 -0
  234. package/build/form-submit-button/index.cjs.map +2 -2
  235. package/build/form-submit-button/init.cjs.map +2 -2
  236. package/build/form-submit-button/save.cjs.map +2 -2
  237. package/build/freeform/convert-to-blocks-button.cjs.map +2 -2
  238. package/build/freeform/edit.cjs.map +2 -2
  239. package/build/freeform/index.cjs.map +2 -2
  240. package/build/freeform/init.cjs.map +2 -2
  241. package/build/freeform/modal.cjs.map +2 -2
  242. package/build/freeform/save.cjs.map +2 -2
  243. package/build/gallery/deprecated.cjs.map +2 -2
  244. package/build/gallery/dynamic-gallery.cjs +104 -61
  245. package/build/gallery/dynamic-gallery.cjs.map +3 -3
  246. package/build/gallery/dynamic-source.cjs.map +2 -2
  247. package/build/gallery/edit.cjs.map +2 -2
  248. package/build/gallery/gallery.cjs.map +2 -2
  249. package/build/gallery/gap-styles.cjs.map +2 -2
  250. package/build/gallery/index.cjs.map +2 -2
  251. package/build/gallery/init.cjs.map +2 -2
  252. package/build/gallery/save.cjs.map +2 -2
  253. package/build/gallery/shared-icon.cjs.map +2 -2
  254. package/build/gallery/transforms.cjs.map +2 -2
  255. package/build/gallery/use-dynamic-gallery.cjs +15 -8
  256. package/build/gallery/use-dynamic-gallery.cjs.map +2 -2
  257. package/build/gallery/use-get-media.cjs.map +2 -2
  258. package/build/gallery/use-get-new-images.cjs.map +2 -2
  259. package/build/gallery/use-image-sizes.cjs.map +2 -2
  260. package/build/gallery/utils.cjs.map +2 -2
  261. package/build/gallery/variations.cjs.map +2 -2
  262. package/build/group/block.json +0 -1
  263. package/build/group/deprecated.cjs.map +2 -2
  264. package/build/group/edit.cjs.map +2 -2
  265. package/build/group/index.cjs.map +2 -2
  266. package/build/group/init.cjs.map +2 -2
  267. package/build/group/placeholder.cjs.map +2 -2
  268. package/build/group/save.cjs.map +2 -2
  269. package/build/group/transforms.cjs.map +2 -2
  270. package/build/group/variations.cjs.map +2 -2
  271. package/build/heading/autogenerate-anchors.cjs.map +2 -2
  272. package/build/heading/deprecated.cjs.map +2 -2
  273. package/build/heading/edit.cjs +1 -1
  274. package/build/heading/edit.cjs.map +2 -2
  275. package/build/heading/index.cjs.map +2 -2
  276. package/build/heading/init.cjs.map +2 -2
  277. package/build/heading/save.cjs.map +2 -2
  278. package/build/heading/transforms.cjs.map +2 -2
  279. package/build/heading/variations.cjs.map +2 -2
  280. package/build/home-link/edit.cjs.map +2 -2
  281. package/build/home-link/index.cjs.map +2 -2
  282. package/build/home-link/init.cjs.map +2 -2
  283. package/build/home-link/save.cjs.map +2 -2
  284. package/build/html/edit.cjs.map +2 -2
  285. package/build/html/index.cjs.map +2 -2
  286. package/build/html/init.cjs.map +2 -2
  287. package/build/html/modal.cjs +63 -54
  288. package/build/html/modal.cjs.map +3 -3
  289. package/build/html/preview.cjs.map +2 -2
  290. package/build/html/transforms.cjs.map +2 -2
  291. package/build/icon/block.json +5 -3
  292. package/build/icon/components/custom-inserter/icon-grid.cjs.map +2 -2
  293. package/build/icon/components/custom-inserter/index.cjs.map +2 -2
  294. package/build/icon/edit.cjs.map +2 -2
  295. package/build/icon/icon.cjs.map +2 -2
  296. package/build/icon/index.cjs.map +2 -2
  297. package/build/image/deprecated.cjs.map +2 -2
  298. package/build/image/edit.cjs +5 -2
  299. package/build/image/edit.cjs.map +2 -2
  300. package/build/image/image.cjs +29 -5
  301. package/build/image/image.cjs.map +3 -3
  302. package/build/image/index.cjs.map +2 -2
  303. package/build/image/init.cjs.map +2 -2
  304. package/build/image/save.cjs.map +2 -2
  305. package/build/image/transforms.cjs.map +2 -2
  306. package/build/image/use-max-width-observer.cjs.map +2 -2
  307. package/build/image/use-open-image-media-editor-modal.cjs +6 -2
  308. package/build/image/use-open-image-media-editor-modal.cjs.map +2 -2
  309. package/build/image/utils.cjs.map +2 -2
  310. package/build/image/view.cjs.map +2 -2
  311. package/build/index.cjs.map +2 -2
  312. package/build/latest-comments/deprecated.cjs.map +2 -2
  313. package/build/latest-comments/edit.cjs.map +2 -2
  314. package/build/latest-comments/index.cjs.map +2 -2
  315. package/build/latest-comments/init.cjs.map +2 -2
  316. package/build/latest-posts/deprecated.cjs.map +2 -2
  317. package/build/latest-posts/edit.cjs.map +2 -2
  318. package/build/latest-posts/index.cjs.map +2 -2
  319. package/build/latest-posts/init.cjs.map +2 -2
  320. package/build/list/deprecated.cjs.map +2 -2
  321. package/build/list/edit.cjs +5 -4
  322. package/build/list/edit.cjs.map +2 -2
  323. package/build/list/index.cjs +3 -0
  324. package/build/list/index.cjs.map +2 -2
  325. package/build/list/init.cjs.map +2 -2
  326. package/build/list/ordered-list-settings.cjs.map +2 -2
  327. package/build/list/save.cjs.map +2 -2
  328. package/build/list/tag-name.cjs.map +2 -2
  329. package/build/list/transforms.cjs.map +2 -2
  330. package/build/list/utils.cjs.map +2 -2
  331. package/build/list-item/edit.cjs.map +2 -2
  332. package/build/list-item/hooks/use-enter.cjs.map +2 -2
  333. package/build/list-item/hooks/use-indent-list-item.cjs +10 -2
  334. package/build/list-item/hooks/use-indent-list-item.cjs.map +2 -2
  335. package/build/list-item/hooks/use-merge.cjs.map +2 -2
  336. package/build/list-item/hooks/use-outdent-list-item.cjs.map +2 -2
  337. package/build/list-item/hooks/use-space.cjs.map +2 -2
  338. package/build/list-item/index.cjs.map +2 -2
  339. package/build/list-item/init.cjs.map +2 -2
  340. package/build/list-item/save.cjs.map +2 -2
  341. package/build/list-item/transforms.cjs.map +2 -2
  342. package/build/lock-unlock.cjs.map +2 -2
  343. package/build/loginout/edit.cjs.map +2 -2
  344. package/build/loginout/index.cjs.map +2 -2
  345. package/build/loginout/init.cjs.map +2 -2
  346. package/build/math/deprecated.cjs.map +2 -2
  347. package/build/math/edit.cjs +39 -56
  348. package/build/math/edit.cjs.map +3 -3
  349. package/build/math/index.cjs.map +2 -2
  350. package/build/math/init.cjs.map +2 -2
  351. package/build/math/save.cjs.map +2 -2
  352. package/build/media-text/constants.cjs.map +2 -2
  353. package/build/media-text/deprecated.cjs.map +2 -2
  354. package/build/media-text/edit.cjs +3 -2
  355. package/build/media-text/edit.cjs.map +2 -2
  356. package/build/media-text/index.cjs +2 -0
  357. package/build/media-text/index.cjs.map +2 -2
  358. package/build/media-text/init.cjs.map +2 -2
  359. package/build/media-text/media-container.cjs.map +2 -2
  360. package/build/media-text/save.cjs.map +2 -2
  361. package/build/media-text/transforms.cjs.map +2 -2
  362. package/build/missing/edit.cjs.map +2 -2
  363. package/build/missing/index.cjs.map +2 -2
  364. package/build/missing/init.cjs.map +2 -2
  365. package/build/missing/save.cjs.map +2 -2
  366. package/build/more/edit.cjs +2 -2
  367. package/build/more/edit.cjs.map +2 -2
  368. package/build/more/index.cjs.map +2 -2
  369. package/build/more/init.cjs.map +2 -2
  370. package/build/more/save.cjs.map +2 -2
  371. package/build/more/transforms.cjs.map +2 -2
  372. package/build/navigation/deprecated.cjs.map +2 -2
  373. package/build/navigation/edit/accessible-description.cjs.map +2 -2
  374. package/build/navigation/edit/accessible-menu-description.cjs.map +2 -2
  375. package/build/navigation/edit/deleted-navigation-warning.cjs.map +2 -2
  376. package/build/navigation/edit/deleted-overlay-warning.cjs.map +2 -2
  377. package/build/navigation/edit/index.cjs +30 -16
  378. package/build/navigation/edit/index.cjs.map +3 -3
  379. package/build/navigation/edit/inner-blocks.cjs.map +2 -2
  380. package/build/navigation/edit/leaf-more-menu.cjs +33 -23
  381. package/build/navigation/edit/leaf-more-menu.cjs.map +2 -2
  382. package/build/navigation/edit/manage-menus-button.cjs.map +2 -2
  383. package/build/navigation/edit/menu-inspector-controls.cjs.map +2 -2
  384. package/build/navigation/edit/navigation-link-ui.cjs +29 -18
  385. package/build/navigation/edit/navigation-link-ui.cjs.map +2 -2
  386. package/build/navigation/edit/navigation-list-view-header.cjs.map +2 -2
  387. package/build/navigation/edit/navigation-menu-delete-control.cjs.map +2 -2
  388. package/build/navigation/edit/navigation-menu-name-control.cjs.map +2 -2
  389. package/build/navigation/edit/navigation-menu-selector.cjs.map +2 -2
  390. package/build/navigation/edit/overlay-menu-icon.cjs.map +2 -2
  391. package/build/navigation/edit/overlay-menu-preview-button.cjs.map +2 -2
  392. package/build/navigation/edit/overlay-menu-preview-controls.cjs.map +2 -2
  393. package/build/navigation/edit/overlay-menu-preview.cjs.map +2 -2
  394. package/build/navigation/edit/overlay-panel.cjs.map +2 -2
  395. package/build/navigation/edit/overlay-preview.cjs.map +2 -2
  396. package/build/navigation/edit/overlay-template-part-selector.cjs.map +2 -2
  397. package/build/navigation/edit/overlay-visibility-control.cjs.map +2 -2
  398. package/build/navigation/edit/placeholder/index.cjs.map +2 -2
  399. package/build/navigation/edit/placeholder/placeholder-preview.cjs.map +2 -2
  400. package/build/navigation/edit/responsive-wrapper.cjs.map +2 -2
  401. package/build/navigation/edit/unsaved-inner-blocks.cjs.map +2 -2
  402. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.cjs.map +2 -2
  403. package/build/navigation/edit/use-create-navigation-menu.cjs.map +2 -2
  404. package/build/navigation/edit/use-create-overlay.cjs.map +2 -2
  405. package/build/navigation/edit/use-generate-default-navigation-title.cjs.map +2 -2
  406. package/build/navigation/edit/use-inner-blocks.cjs.map +2 -2
  407. package/build/navigation/edit/use-layout-custom-properties.cjs +72 -0
  408. package/build/navigation/edit/use-layout-custom-properties.cjs.map +7 -0
  409. package/build/navigation/edit/use-navigation-notice.cjs.map +2 -2
  410. package/build/navigation/edit/utils.cjs.map +2 -2
  411. package/build/navigation/index.cjs.map +2 -2
  412. package/build/navigation/init.cjs.map +2 -2
  413. package/build/navigation/menu-items-to-blocks.cjs.map +2 -2
  414. package/build/navigation/save.cjs.map +2 -2
  415. package/build/navigation/use-navigation-menu.cjs.map +2 -2
  416. package/build/navigation/use-template-part-area-label.cjs.map +2 -2
  417. package/build/navigation/view.cjs +9 -6
  418. package/build/navigation/view.cjs.map +2 -2
  419. package/build/navigation-link/edit.cjs +3 -3
  420. package/build/navigation-link/edit.cjs.map +2 -2
  421. package/build/navigation-link/hooks.cjs.map +2 -2
  422. package/build/navigation-link/icons.cjs.map +2 -2
  423. package/build/navigation-link/index.cjs.map +2 -2
  424. package/build/navigation-link/init.cjs.map +2 -2
  425. package/build/navigation-link/link-ui/block-inserter.cjs.map +2 -2
  426. package/build/navigation-link/link-ui/dialog-wrapper.cjs.map +2 -2
  427. package/build/navigation-link/link-ui/index.cjs +2 -2
  428. package/build/navigation-link/link-ui/index.cjs.map +2 -2
  429. package/build/navigation-link/link-ui/page-creator.cjs.map +2 -2
  430. package/build/navigation-link/save.cjs.map +2 -2
  431. package/build/navigation-link/shared/controls.cjs.map +2 -2
  432. package/build/navigation-link/shared/invalid-draft-display.cjs.map +2 -2
  433. package/build/navigation-link/shared/update-attributes.cjs.map +2 -2
  434. package/build/navigation-link/shared/use-enable-link-status-validation.cjs.map +2 -2
  435. package/build/navigation-link/shared/use-entity-binding.cjs.map +2 -2
  436. package/build/navigation-link/shared/use-handle-link-change.cjs.map +2 -2
  437. package/build/navigation-link/shared/use-is-dragging-within.cjs.map +2 -2
  438. package/build/navigation-link/shared/use-is-invalid-link.cjs.map +2 -2
  439. package/build/navigation-link/shared/use-link-preview.cjs.map +2 -2
  440. package/build/navigation-link/transforms.cjs.map +2 -2
  441. package/build/navigation-overlay-close/edit.cjs.map +2 -2
  442. package/build/navigation-overlay-close/icon.cjs.map +2 -2
  443. package/build/navigation-overlay-close/index.cjs.map +2 -2
  444. package/build/navigation-submenu/edit.cjs.map +2 -2
  445. package/build/navigation-submenu/icons.cjs.map +2 -2
  446. package/build/navigation-submenu/index.cjs.map +2 -2
  447. package/build/navigation-submenu/init.cjs.map +2 -2
  448. package/build/navigation-submenu/save.cjs.map +2 -2
  449. package/build/navigation-submenu/transforms.cjs.map +2 -2
  450. package/build/nextpage/edit.cjs.map +2 -2
  451. package/build/nextpage/index.cjs.map +2 -2
  452. package/build/nextpage/init.cjs.map +2 -2
  453. package/build/nextpage/save.cjs.map +2 -2
  454. package/build/nextpage/transforms.cjs.map +2 -2
  455. package/build/page-list/edit.cjs +48 -34
  456. package/build/page-list/edit.cjs.map +3 -3
  457. package/build/page-list/index.cjs.map +2 -2
  458. package/build/page-list/init.cjs.map +2 -2
  459. package/build/page-list/use-convert-to-navigation-links.cjs.map +2 -2
  460. package/build/page-list-item/edit.cjs.map +2 -2
  461. package/build/page-list-item/index.cjs.map +2 -2
  462. package/build/page-list-item/init.cjs.map +2 -2
  463. package/build/paragraph/block.json +0 -1
  464. package/build/paragraph/deprecated-attributes.cjs.map +2 -2
  465. package/build/paragraph/deprecated.cjs.map +2 -2
  466. package/build/paragraph/edit.cjs +4 -4
  467. package/build/paragraph/edit.cjs.map +2 -2
  468. package/build/paragraph/index.cjs.map +2 -2
  469. package/build/paragraph/init.cjs.map +2 -2
  470. package/build/paragraph/save.cjs.map +2 -2
  471. package/build/paragraph/transforms.cjs.map +2 -2
  472. package/build/paragraph/use-enter.cjs.map +2 -2
  473. package/build/pattern/edit.cjs.map +2 -2
  474. package/build/pattern/index.cjs.map +2 -2
  475. package/build/pattern/init.cjs.map +2 -2
  476. package/build/pattern/recursion-detector.cjs.map +2 -2
  477. package/build/playlist/block.json +1 -0
  478. package/build/playlist/context.cjs.map +2 -2
  479. package/build/playlist/edit.cjs +115 -29
  480. package/build/playlist/edit.cjs.map +2 -2
  481. package/build/playlist/index.cjs +3 -1
  482. package/build/playlist/index.cjs.map +3 -3
  483. package/build/playlist/init.cjs.map +2 -2
  484. package/build/playlist/save.cjs.map +2 -2
  485. package/build/playlist/transforms.cjs +66 -0
  486. package/build/playlist/transforms.cjs.map +7 -0
  487. package/build/playlist/utils.cjs +19 -4
  488. package/build/playlist/utils.cjs.map +2 -2
  489. package/build/playlist/view.cjs.map +2 -2
  490. package/build/playlist-track/edit.cjs +7 -5
  491. package/build/playlist-track/edit.cjs.map +2 -2
  492. package/build/playlist-track/index.cjs +1 -1
  493. package/build/playlist-track/index.cjs.map +2 -2
  494. package/build/playlist-track/init.cjs.map +2 -2
  495. package/build/post-author/edit.cjs.map +2 -2
  496. package/build/post-author/index.cjs.map +2 -2
  497. package/build/post-author/init.cjs.map +2 -2
  498. package/build/post-author/utils.cjs.map +2 -2
  499. package/build/post-author-biography/deprecated.cjs.map +2 -2
  500. package/build/post-author-biography/edit.cjs.map +2 -2
  501. package/build/post-author-biography/index.cjs.map +2 -2
  502. package/build/post-author-biography/init.cjs.map +2 -2
  503. package/build/post-author-name/deprecated.cjs.map +2 -2
  504. package/build/post-author-name/edit.cjs.map +2 -2
  505. package/build/post-author-name/index.cjs.map +2 -2
  506. package/build/post-author-name/init.cjs.map +2 -2
  507. package/build/post-author-name/transforms.cjs.map +2 -2
  508. package/build/post-comment/edit.cjs +1 -11
  509. package/build/post-comment/edit.cjs.map +2 -2
  510. package/build/post-comment/index.cjs +9 -0
  511. package/build/post-comment/index.cjs.map +2 -2
  512. package/build/post-comment/init.cjs.map +2 -2
  513. package/build/post-comment/save.cjs.map +2 -2
  514. package/build/post-comments-count/deprecated.cjs.map +2 -2
  515. package/build/post-comments-count/edit.cjs.map +2 -2
  516. package/build/post-comments-count/index.cjs.map +2 -2
  517. package/build/post-comments-count/init.cjs.map +2 -2
  518. package/build/post-comments-count/transforms.cjs.map +2 -2
  519. package/build/post-comments-form/deprecated.cjs.map +2 -2
  520. package/build/post-comments-form/edit.cjs.map +2 -2
  521. package/build/post-comments-form/form.cjs.map +2 -2
  522. package/build/post-comments-form/index.cjs.map +2 -2
  523. package/build/post-comments-form/init.cjs.map +2 -2
  524. package/build/post-comments-link/deprecated.cjs.map +2 -2
  525. package/build/post-comments-link/edit.cjs.map +2 -2
  526. package/build/post-comments-link/index.cjs.map +2 -2
  527. package/build/post-comments-link/init.cjs.map +2 -2
  528. package/build/post-comments-link/transforms.cjs.map +2 -2
  529. package/build/post-content/edit.cjs +33 -15
  530. package/build/post-content/edit.cjs.map +2 -2
  531. package/build/post-content/index.cjs.map +2 -2
  532. package/build/post-content/init.cjs.map +2 -2
  533. package/build/post-date/deprecated.cjs.map +2 -2
  534. package/build/post-date/edit.cjs.map +2 -2
  535. package/build/post-date/index.cjs.map +2 -2
  536. package/build/post-date/init.cjs.map +2 -2
  537. package/build/post-date/variations.cjs.map +2 -2
  538. package/build/post-excerpt/deprecated.cjs.map +2 -2
  539. package/build/post-excerpt/edit.cjs.map +2 -2
  540. package/build/post-excerpt/index.cjs.map +2 -2
  541. package/build/post-excerpt/init.cjs.map +2 -2
  542. package/build/post-excerpt/transforms.cjs.map +2 -2
  543. package/build/post-featured-image/dimension-controls.cjs.map +2 -2
  544. package/build/post-featured-image/edit.cjs +3 -2
  545. package/build/post-featured-image/edit.cjs.map +2 -2
  546. package/build/post-featured-image/index.cjs.map +2 -2
  547. package/build/post-featured-image/init.cjs.map +2 -2
  548. package/build/post-featured-image/overlay-controls.cjs.map +2 -2
  549. package/build/post-featured-image/overlay.cjs.map +2 -2
  550. package/build/post-navigation-link/deprecated.cjs.map +2 -2
  551. package/build/post-navigation-link/edit.cjs.map +2 -2
  552. package/build/post-navigation-link/index.cjs +2 -0
  553. package/build/post-navigation-link/index.cjs.map +3 -3
  554. package/build/post-navigation-link/init.cjs.map +2 -2
  555. package/build/post-navigation-link/variations.cjs.map +2 -2
  556. package/build/post-template/edit.cjs +1 -18
  557. package/build/post-template/edit.cjs.map +2 -2
  558. package/build/post-template/index.cjs +18 -0
  559. package/build/post-template/index.cjs.map +2 -2
  560. package/build/post-template/init.cjs.map +2 -2
  561. package/build/post-template/save.cjs.map +2 -2
  562. package/build/post-terms/deprecated.cjs.map +2 -2
  563. package/build/post-terms/edit.cjs +2 -2
  564. package/build/post-terms/edit.cjs.map +2 -2
  565. package/build/post-terms/hooks.cjs.map +2 -2
  566. package/build/post-terms/index.cjs.map +2 -2
  567. package/build/post-terms/init.cjs.map +2 -2
  568. package/build/post-terms/use-post-terms.cjs.map +2 -2
  569. package/build/post-time-to-read/deprecated.cjs.map +2 -2
  570. package/build/post-time-to-read/edit.cjs.map +2 -2
  571. package/build/post-time-to-read/index.cjs.map +2 -2
  572. package/build/post-time-to-read/init.cjs.map +2 -2
  573. package/build/post-time-to-read/variations.cjs.map +2 -2
  574. package/build/post-title/deprecated.cjs.map +2 -2
  575. package/build/post-title/edit.cjs +2 -2
  576. package/build/post-title/edit.cjs.map +2 -2
  577. package/build/post-title/index.cjs.map +2 -2
  578. package/build/post-title/init.cjs.map +2 -2
  579. package/build/preformatted/edit.cjs +3 -1
  580. package/build/preformatted/edit.cjs.map +2 -2
  581. package/build/preformatted/index.cjs.map +2 -2
  582. package/build/preformatted/init.cjs.map +2 -2
  583. package/build/preformatted/save.cjs.map +2 -2
  584. package/build/preformatted/transforms.cjs.map +2 -2
  585. package/build/private-apis.cjs.map +2 -2
  586. package/build/pullquote/deprecated.cjs.map +2 -2
  587. package/build/pullquote/edit.cjs +5 -3
  588. package/build/pullquote/edit.cjs.map +2 -2
  589. package/build/pullquote/index.cjs.map +2 -2
  590. package/build/pullquote/init.cjs.map +2 -2
  591. package/build/pullquote/save.cjs.map +2 -2
  592. package/build/pullquote/transforms.cjs.map +2 -2
  593. package/build/query/deprecated.cjs.map +2 -2
  594. package/build/query/edit/enhanced-pagination-modal.cjs.map +2 -2
  595. package/build/query/edit/index.cjs.map +2 -2
  596. package/build/query/edit/inspector-controls/author-control.cjs.map +2 -2
  597. package/build/query/edit/inspector-controls/enhanced-pagination-control.cjs.map +2 -2
  598. package/build/query/edit/inspector-controls/format-controls.cjs.map +2 -2
  599. package/build/query/edit/inspector-controls/index.cjs +4 -1
  600. package/build/query/edit/inspector-controls/index.cjs.map +2 -2
  601. package/build/query/edit/inspector-controls/offset-controls.cjs +1 -1
  602. package/build/query/edit/inspector-controls/offset-controls.cjs.map +2 -2
  603. package/build/query/edit/inspector-controls/order-control.cjs.map +2 -2
  604. package/build/query/edit/inspector-controls/pages-control.cjs.map +2 -2
  605. package/build/query/edit/inspector-controls/parent-control.cjs.map +2 -2
  606. package/build/query/edit/inspector-controls/per-page-control.cjs.map +2 -2
  607. package/build/query/edit/inspector-controls/sticky-control.cjs.map +2 -2
  608. package/build/query/edit/inspector-controls/taxonomy-controls.cjs.map +2 -2
  609. package/build/query/edit/pattern-selection.cjs.map +2 -2
  610. package/build/query/edit/query-content.cjs +1 -4
  611. package/build/query/edit/query-content.cjs.map +2 -2
  612. package/build/query/edit/query-placeholder.cjs.map +2 -2
  613. package/build/query/edit/query-toolbar.cjs.map +2 -2
  614. package/build/query/icons.cjs.map +2 -2
  615. package/build/query/index.cjs.map +2 -2
  616. package/build/query/init.cjs.map +2 -2
  617. package/build/query/save.cjs.map +2 -2
  618. package/build/query/utils.cjs.map +2 -2
  619. package/build/query/variations.cjs.map +2 -2
  620. package/build/query/view.cjs.map +2 -2
  621. package/build/query-no-results/edit.cjs +1 -14
  622. package/build/query-no-results/edit.cjs.map +2 -2
  623. package/build/query-no-results/index.cjs +11 -0
  624. package/build/query-no-results/index.cjs.map +2 -2
  625. package/build/query-no-results/init.cjs.map +2 -2
  626. package/build/query-no-results/save.cjs.map +2 -2
  627. package/build/query-pagination/deprecated.cjs.map +2 -2
  628. package/build/query-pagination/edit.cjs +1 -8
  629. package/build/query-pagination/edit.cjs.map +2 -2
  630. package/build/query-pagination/index.cjs +6 -0
  631. package/build/query-pagination/index.cjs.map +2 -2
  632. package/build/query-pagination/init.cjs.map +2 -2
  633. package/build/query-pagination/query-pagination-arrow-controls.cjs.map +2 -2
  634. package/build/query-pagination/query-pagination-label-control.cjs.map +2 -2
  635. package/build/query-pagination/save.cjs.map +2 -2
  636. package/build/query-pagination-next/edit.cjs.map +2 -2
  637. package/build/query-pagination-next/index.cjs.map +2 -2
  638. package/build/query-pagination-next/init.cjs.map +2 -2
  639. package/build/query-pagination-numbers/edit.cjs.map +2 -2
  640. package/build/query-pagination-numbers/index.cjs.map +2 -2
  641. package/build/query-pagination-numbers/init.cjs.map +2 -2
  642. package/build/query-pagination-previous/edit.cjs.map +2 -2
  643. package/build/query-pagination-previous/index.cjs.map +2 -2
  644. package/build/query-pagination-previous/init.cjs.map +2 -2
  645. package/build/query-title/deprecated.cjs.map +2 -2
  646. package/build/query-title/edit.cjs.map +2 -2
  647. package/build/query-title/index.cjs.map +2 -2
  648. package/build/query-title/init.cjs.map +2 -2
  649. package/build/query-title/use-archive-label.cjs.map +2 -2
  650. package/build/query-title/use-post-type-label.cjs.map +2 -2
  651. package/build/query-title/variations.cjs.map +2 -2
  652. package/build/query-total/edit.cjs.map +2 -2
  653. package/build/query-total/icons.cjs.map +2 -2
  654. package/build/query-total/index.cjs.map +2 -2
  655. package/build/query-total/init.cjs.map +2 -2
  656. package/build/quote/deprecated.cjs.map +2 -2
  657. package/build/quote/edit.cjs +15 -5
  658. package/build/quote/edit.cjs.map +2 -2
  659. package/build/quote/index.cjs +3 -0
  660. package/build/quote/index.cjs.map +2 -2
  661. package/build/quote/init.cjs.map +2 -2
  662. package/build/quote/save.cjs.map +2 -2
  663. package/build/quote/transforms.cjs.map +2 -2
  664. package/build/read-more/edit.cjs +3 -1
  665. package/build/read-more/edit.cjs.map +2 -2
  666. package/build/read-more/index.cjs.map +2 -2
  667. package/build/read-more/init.cjs.map +2 -2
  668. package/build/rss/edit.cjs.map +2 -2
  669. package/build/rss/index.cjs.map +2 -2
  670. package/build/rss/init.cjs.map +2 -2
  671. package/build/search/edit.cjs.map +2 -2
  672. package/build/search/index.cjs.map +2 -2
  673. package/build/search/init.cjs.map +2 -2
  674. package/build/search/variations.cjs.map +2 -2
  675. package/build/search/view.cjs.map +2 -2
  676. package/build/separator/deprecated.cjs.map +2 -2
  677. package/build/separator/edit.cjs.map +2 -2
  678. package/build/separator/index.cjs.map +2 -2
  679. package/build/separator/init.cjs.map +2 -2
  680. package/build/separator/save.cjs.map +2 -2
  681. package/build/separator/transforms.cjs.map +2 -2
  682. package/build/separator/use-deprecated-opacity.cjs.map +2 -2
  683. package/build/shortcode/edit.cjs.map +2 -2
  684. package/build/shortcode/index.cjs.map +2 -2
  685. package/build/shortcode/init.cjs.map +2 -2
  686. package/build/shortcode/save.cjs.map +2 -2
  687. package/build/shortcode/transforms.cjs.map +2 -2
  688. package/build/site-logo/edit.cjs.map +2 -2
  689. package/build/site-logo/index.cjs.map +2 -2
  690. package/build/site-logo/init.cjs.map +2 -2
  691. package/build/site-logo/transforms.cjs.map +2 -2
  692. package/build/site-tagline/deprecated.cjs.map +2 -2
  693. package/build/site-tagline/edit.cjs +3 -1
  694. package/build/site-tagline/edit.cjs.map +2 -2
  695. package/build/site-tagline/icon.cjs.map +2 -2
  696. package/build/site-tagline/index.cjs.map +2 -2
  697. package/build/site-tagline/init.cjs.map +2 -2
  698. package/build/site-title/deprecated.cjs.map +2 -2
  699. package/build/site-title/edit.cjs +3 -1
  700. package/build/site-title/edit.cjs.map +2 -2
  701. package/build/site-title/index.cjs.map +2 -2
  702. package/build/site-title/init.cjs.map +2 -2
  703. package/build/site-title/transforms.cjs.map +2 -2
  704. package/build/social-link/edit.cjs.map +2 -2
  705. package/build/social-link/icons/amazon.cjs.map +2 -2
  706. package/build/social-link/icons/bandcamp.cjs.map +2 -2
  707. package/build/social-link/icons/behance.cjs.map +2 -2
  708. package/build/social-link/icons/bluesky.cjs.map +2 -2
  709. package/build/social-link/icons/chain.cjs.map +2 -2
  710. package/build/social-link/icons/codepen.cjs.map +2 -2
  711. package/build/social-link/icons/deviantart.cjs.map +2 -2
  712. package/build/social-link/icons/discord.cjs.map +2 -2
  713. package/build/social-link/icons/dribbble.cjs.map +2 -2
  714. package/build/social-link/icons/dropbox.cjs.map +2 -2
  715. package/build/social-link/icons/etsy.cjs.map +2 -2
  716. package/build/social-link/icons/facebook.cjs.map +2 -2
  717. package/build/social-link/icons/feed.cjs.map +2 -2
  718. package/build/social-link/icons/fivehundredpx.cjs.map +2 -2
  719. package/build/social-link/icons/flickr.cjs.map +2 -2
  720. package/build/social-link/icons/foursquare.cjs.map +2 -2
  721. package/build/social-link/icons/github.cjs.map +2 -2
  722. package/build/social-link/icons/goodreads.cjs.map +2 -2
  723. package/build/social-link/icons/google.cjs.map +2 -2
  724. package/build/social-link/icons/gravatar.cjs.map +2 -2
  725. package/build/social-link/icons/instagram.cjs.map +2 -2
  726. package/build/social-link/icons/lastfm.cjs.map +2 -2
  727. package/build/social-link/icons/linkedin.cjs.map +2 -2
  728. package/build/social-link/icons/mail.cjs.map +2 -2
  729. package/build/social-link/icons/mastodon.cjs.map +2 -2
  730. package/build/social-link/icons/medium.cjs.map +2 -2
  731. package/build/social-link/icons/meetup.cjs.map +2 -2
  732. package/build/social-link/icons/patreon.cjs.map +2 -2
  733. package/build/social-link/icons/pinterest.cjs.map +2 -2
  734. package/build/social-link/icons/pocket.cjs.map +2 -2
  735. package/build/social-link/icons/reddit.cjs.map +2 -2
  736. package/build/social-link/icons/skype.cjs.map +2 -2
  737. package/build/social-link/icons/snapchat.cjs.map +2 -2
  738. package/build/social-link/icons/soundcloud.cjs.map +2 -2
  739. package/build/social-link/icons/spotify.cjs.map +2 -2
  740. package/build/social-link/icons/telegram.cjs.map +2 -2
  741. package/build/social-link/icons/threads.cjs.map +2 -2
  742. package/build/social-link/icons/tiktok.cjs.map +2 -2
  743. package/build/social-link/icons/tumblr.cjs.map +2 -2
  744. package/build/social-link/icons/twitch.cjs.map +2 -2
  745. package/build/social-link/icons/twitter.cjs.map +2 -2
  746. package/build/social-link/icons/vimeo.cjs.map +2 -2
  747. package/build/social-link/icons/vk.cjs.map +2 -2
  748. package/build/social-link/icons/whatsapp.cjs.map +2 -2
  749. package/build/social-link/icons/wordpress.cjs.map +2 -2
  750. package/build/social-link/icons/x.cjs.map +2 -2
  751. package/build/social-link/icons/yelp.cjs.map +2 -2
  752. package/build/social-link/icons/youtube.cjs.map +2 -2
  753. package/build/social-link/index.cjs.map +2 -2
  754. package/build/social-link/init.cjs.map +2 -2
  755. package/build/social-link/social-list.cjs.map +2 -2
  756. package/build/social-link/variations.cjs.map +2 -2
  757. package/build/social-links/deprecated.cjs.map +2 -2
  758. package/build/social-links/edit.cjs +11 -4
  759. package/build/social-links/edit.cjs.map +2 -2
  760. package/build/social-links/index.cjs.map +2 -2
  761. package/build/social-links/init.cjs.map +2 -2
  762. package/build/social-links/save.cjs.map +2 -2
  763. package/build/spacer/controls.cjs.map +2 -2
  764. package/build/spacer/deprecated.cjs.map +2 -2
  765. package/build/spacer/edit.cjs.map +2 -2
  766. package/build/spacer/index.cjs.map +2 -2
  767. package/build/spacer/init.cjs.map +2 -2
  768. package/build/spacer/save.cjs.map +2 -2
  769. package/build/spacer/transforms.cjs.map +2 -2
  770. package/build/tab-list/block.json +2 -1
  771. package/build/tab-list/edit.cjs +2 -0
  772. package/build/tab-list/edit.cjs.map +3 -3
  773. package/build/tab-list/index.cjs.map +2 -2
  774. package/build/tab-list/init.cjs.map +2 -2
  775. package/build/tab-list/save.cjs.map +2 -2
  776. package/build/tab-list/tab-movers.cjs +87 -0
  777. package/build/tab-list/tab-movers.cjs.map +7 -0
  778. package/build/tab-panel/controls.cjs.map +2 -2
  779. package/build/tab-panel/edit.cjs +1 -12
  780. package/build/tab-panel/edit.cjs.map +2 -2
  781. package/build/tab-panel/index.cjs +21 -0
  782. package/build/tab-panel/index.cjs.map +2 -2
  783. package/build/tab-panel/init.cjs.map +2 -2
  784. package/build/tab-panel/save.cjs.map +2 -2
  785. package/build/tab-panels/edit.cjs +0 -6
  786. package/build/tab-panels/edit.cjs.map +2 -2
  787. package/build/tab-panels/index.cjs +2 -0
  788. package/build/tab-panels/index.cjs.map +2 -2
  789. package/build/tab-panels/init.cjs.map +2 -2
  790. package/build/tab-panels/save.cjs.map +2 -2
  791. package/build/table/deprecated.cjs.map +2 -2
  792. package/build/table/edit.cjs +1 -1
  793. package/build/table/edit.cjs.map +2 -2
  794. package/build/table/index.cjs.map +2 -2
  795. package/build/table/init.cjs.map +2 -2
  796. package/build/table/save.cjs.map +2 -2
  797. package/build/table/transforms.cjs.map +2 -2
  798. package/build/table-of-contents/edit.cjs +84 -54
  799. package/build/table-of-contents/edit.cjs.map +3 -3
  800. package/build/table-of-contents/hooks.cjs.map +2 -2
  801. package/build/table-of-contents/index.cjs.map +2 -2
  802. package/build/table-of-contents/init.cjs.map +2 -2
  803. package/build/table-of-contents/list.cjs.map +2 -2
  804. package/build/table-of-contents/save.cjs.map +2 -2
  805. package/build/table-of-contents/utils.cjs +25 -0
  806. package/build/table-of-contents/utils.cjs.map +2 -2
  807. package/build/tabs/edit.cjs +0 -2
  808. package/build/tabs/edit.cjs.map +2 -2
  809. package/build/tabs/index.cjs +3 -0
  810. package/build/tabs/index.cjs.map +2 -2
  811. package/build/tabs/init.cjs.map +2 -2
  812. package/build/tabs/save.cjs.map +2 -2
  813. package/build/tabs/tab-toolbar-controls.cjs.map +2 -2
  814. package/build/tabs/use-tab-actions.cjs +24 -3
  815. package/build/tabs/use-tab-actions.cjs.map +2 -2
  816. package/build/tabs/use-tab-list-items-sync.cjs.map +2 -2
  817. package/build/tabs/view.cjs +7 -1
  818. package/build/tabs/view.cjs.map +2 -2
  819. package/build/tag-cloud/edit.cjs.map +2 -2
  820. package/build/tag-cloud/index.cjs.map +2 -2
  821. package/build/tag-cloud/init.cjs.map +2 -2
  822. package/build/tag-cloud/transforms.cjs.map +2 -2
  823. package/build/template-part/edit/advanced-controls.cjs.map +2 -2
  824. package/build/template-part/edit/import-controls.cjs.map +2 -2
  825. package/build/template-part/edit/index.cjs.map +2 -2
  826. package/build/template-part/edit/inner-blocks.cjs.map +2 -2
  827. package/build/template-part/edit/placeholder.cjs.map +2 -2
  828. package/build/template-part/edit/selection-modal.cjs.map +2 -2
  829. package/build/template-part/edit/title-modal.cjs.map +2 -2
  830. package/build/template-part/edit/utils/get-template-part-icon.cjs.map +2 -2
  831. package/build/template-part/edit/utils/hooks.cjs.map +2 -2
  832. package/build/template-part/edit/utils/map-template-part-to-block-pattern.cjs.map +2 -2
  833. package/build/template-part/edit/utils/transformers.cjs.map +2 -2
  834. package/build/template-part/index.cjs.map +2 -2
  835. package/build/template-part/init.cjs.map +2 -2
  836. package/build/template-part/variations.cjs.map +2 -2
  837. package/build/term-count/edit.cjs.map +2 -2
  838. package/build/term-count/icons.cjs.map +2 -2
  839. package/build/term-count/index.cjs.map +2 -2
  840. package/build/term-count/init.cjs.map +2 -2
  841. package/build/term-count/use-term-count.cjs.map +2 -2
  842. package/build/term-description/deprecated.cjs.map +2 -2
  843. package/build/term-description/edit.cjs.map +2 -2
  844. package/build/term-description/index.cjs.map +2 -2
  845. package/build/term-description/init.cjs.map +2 -2
  846. package/build/term-description/use-term-description.cjs.map +2 -2
  847. package/build/term-name/deprecated.cjs.map +2 -2
  848. package/build/term-name/edit.cjs.map +2 -2
  849. package/build/term-name/index.cjs.map +2 -2
  850. package/build/term-name/use-term-name.cjs.map +2 -2
  851. package/build/term-template/edit.cjs +1 -2
  852. package/build/term-template/edit.cjs.map +2 -2
  853. package/build/term-template/index.cjs +2 -0
  854. package/build/term-template/index.cjs.map +2 -2
  855. package/build/term-template/save.cjs.map +2 -2
  856. package/build/terms-query/edit/index.cjs.map +2 -2
  857. package/build/terms-query/edit/inspector-controls/advanced-controls.cjs.map +2 -2
  858. package/build/terms-query/edit/inspector-controls/empty-terms-control.cjs.map +2 -2
  859. package/build/terms-query/edit/inspector-controls/include-control.cjs.map +2 -2
  860. package/build/terms-query/edit/inspector-controls/index.cjs.map +2 -2
  861. package/build/terms-query/edit/inspector-controls/inherit-control.cjs.map +2 -2
  862. package/build/terms-query/edit/inspector-controls/max-terms-control.cjs.map +2 -2
  863. package/build/terms-query/edit/inspector-controls/nested-terms-control.cjs.map +2 -2
  864. package/build/terms-query/edit/inspector-controls/order-control.cjs.map +2 -2
  865. package/build/terms-query/edit/inspector-controls/taxonomy-control.cjs.map +2 -2
  866. package/build/terms-query/edit/terms-query-content.cjs +1 -4
  867. package/build/terms-query/edit/terms-query-content.cjs.map +2 -2
  868. package/build/terms-query/edit/terms-query-placeholder.cjs.map +2 -2
  869. package/build/terms-query/index.cjs +2 -0
  870. package/build/terms-query/index.cjs.map +2 -2
  871. package/build/terms-query/save.cjs.map +2 -2
  872. package/build/terms-query/utils.cjs.map +2 -2
  873. package/build/terms-query/variations.cjs.map +2 -2
  874. package/build/text-columns/edit.cjs.map +2 -2
  875. package/build/text-columns/index.cjs.map +2 -2
  876. package/build/text-columns/init.cjs.map +2 -2
  877. package/build/text-columns/save.cjs.map +2 -2
  878. package/build/text-columns/transforms.cjs.map +2 -2
  879. package/build/utils/caption.cjs +2 -2
  880. package/build/utils/caption.cjs.map +2 -2
  881. package/build/utils/deprecated-text-align-attributes.cjs.map +2 -2
  882. package/build/utils/get-transformed-attributes.cjs.map +2 -2
  883. package/build/utils/hooks.cjs.map +2 -2
  884. package/build/utils/html-renderer.cjs.map +2 -2
  885. package/build/utils/init-block.cjs.map +2 -2
  886. package/build/utils/is-within-overlay.cjs.map +2 -2
  887. package/build/utils/media-control.cjs.map +2 -2
  888. package/build/utils/migrate-font-family.cjs.map +2 -2
  889. package/build/utils/poster-image.cjs.map +2 -2
  890. package/build/utils/search-patterns.cjs.map +2 -2
  891. package/build/utils/style-state.cjs.map +2 -2
  892. package/build/utils/waveform-player.cjs.map +2 -2
  893. package/build/utils/waveform-utils.cjs.map +2 -2
  894. package/build/verse/deprecated.cjs.map +2 -2
  895. package/build/verse/edit.cjs +3 -1
  896. package/build/verse/edit.cjs.map +2 -2
  897. package/build/verse/index.cjs.map +2 -2
  898. package/build/verse/init.cjs.map +2 -2
  899. package/build/verse/save.cjs.map +2 -2
  900. package/build/verse/transforms.cjs.map +2 -2
  901. package/build/video/deprecated.cjs.map +2 -2
  902. package/build/video/edit-common-settings.cjs.map +2 -2
  903. package/build/video/edit.cjs +1 -1
  904. package/build/video/edit.cjs.map +2 -2
  905. package/build/video/index.cjs.map +2 -2
  906. package/build/video/init.cjs.map +2 -2
  907. package/build/video/save.cjs.map +2 -2
  908. package/build/video/tracks-editor.cjs +0 -1
  909. package/build/video/tracks-editor.cjs.map +2 -2
  910. package/build/video/transforms.cjs.map +2 -2
  911. package/build/video/variations.cjs +1 -1
  912. package/build/video/variations.cjs.map +2 -2
  913. package/build-module/accordion/edit.mjs +1 -3
  914. package/build-module/accordion/edit.mjs.map +2 -2
  915. package/build-module/accordion/index.mjs +3 -0
  916. package/build-module/accordion/index.mjs.map +2 -2
  917. package/build-module/accordion/init.mjs.map +2 -2
  918. package/build-module/accordion/save.mjs.map +2 -2
  919. package/build-module/accordion/view.mjs.map +2 -2
  920. package/build-module/accordion-heading/deprecated.mjs.map +2 -2
  921. package/build-module/accordion-heading/edit.mjs.map +2 -2
  922. package/build-module/accordion-heading/index.mjs.map +2 -2
  923. package/build-module/accordion-heading/init.mjs.map +2 -2
  924. package/build-module/accordion-heading/save.mjs.map +2 -2
  925. package/build-module/accordion-item/edit.mjs +1 -4
  926. package/build-module/accordion-item/edit.mjs.map +2 -2
  927. package/build-module/accordion-item/index.mjs +3 -0
  928. package/build-module/accordion-item/index.mjs.map +2 -2
  929. package/build-module/accordion-item/init.mjs.map +2 -2
  930. package/build-module/accordion-item/save.mjs.map +2 -2
  931. package/build-module/accordion-panel/block.json +1 -0
  932. package/build-module/accordion-panel/edit.mjs +0 -1
  933. package/build-module/accordion-panel/edit.mjs.map +2 -2
  934. package/build-module/accordion-panel/index.mjs +2 -0
  935. package/build-module/accordion-panel/index.mjs.map +2 -2
  936. package/build-module/accordion-panel/init.mjs.map +2 -2
  937. package/build-module/accordion-panel/save.mjs.map +2 -2
  938. package/build-module/archives/edit.mjs.map +2 -2
  939. package/build-module/archives/index.mjs.map +2 -2
  940. package/build-module/archives/init.mjs.map +2 -2
  941. package/build-module/audio/deprecated.mjs.map +2 -2
  942. package/build-module/audio/edit.mjs.map +2 -2
  943. package/build-module/audio/index.mjs.map +2 -2
  944. package/build-module/audio/init.mjs.map +2 -2
  945. package/build-module/audio/save.mjs.map +2 -2
  946. package/build-module/audio/transforms.mjs.map +2 -2
  947. package/build-module/avatar/edit.mjs.map +2 -2
  948. package/build-module/avatar/hooks.mjs.map +2 -2
  949. package/build-module/avatar/index.mjs.map +2 -2
  950. package/build-module/avatar/init.mjs.map +2 -2
  951. package/build-module/avatar/user-control.mjs.map +2 -2
  952. package/build-module/block/edit.mjs +1 -1
  953. package/build-module/block/edit.mjs.map +2 -2
  954. package/build-module/block/index.mjs.map +2 -2
  955. package/build-module/block/init.mjs.map +2 -2
  956. package/build-module/block-keyboard-shortcuts/index.mjs.map +2 -2
  957. package/build-module/breadcrumbs/edit.mjs.map +2 -2
  958. package/build-module/breadcrumbs/index.mjs.map +2 -2
  959. package/build-module/button/deprecated.mjs.map +2 -2
  960. package/build-module/button/edit.mjs.map +2 -2
  961. package/build-module/button/get-updated-link-attributes.mjs.map +2 -2
  962. package/build-module/button/index.mjs.map +2 -2
  963. package/build-module/button/init.mjs.map +2 -2
  964. package/build-module/button/save.mjs.map +2 -2
  965. package/build-module/buttons/deprecated.mjs.map +2 -2
  966. package/build-module/buttons/edit.mjs +1 -14
  967. package/build-module/buttons/edit.mjs.map +2 -2
  968. package/build-module/buttons/index.mjs +3 -0
  969. package/build-module/buttons/index.mjs.map +2 -2
  970. package/build-module/buttons/init.mjs.map +2 -2
  971. package/build-module/buttons/save.mjs.map +2 -2
  972. package/build-module/buttons/transforms.mjs.map +2 -2
  973. package/build-module/calendar/edit.mjs.map +2 -2
  974. package/build-module/calendar/index.mjs.map +2 -2
  975. package/build-module/calendar/init.mjs.map +2 -2
  976. package/build-module/calendar/transforms.mjs.map +2 -2
  977. package/build-module/categories/edit.mjs.map +2 -2
  978. package/build-module/categories/index.mjs.map +2 -2
  979. package/build-module/categories/init.mjs.map +2 -2
  980. package/build-module/categories/variations.mjs.map +2 -2
  981. package/build-module/code/edit.mjs +3 -1
  982. package/build-module/code/edit.mjs.map +2 -2
  983. package/build-module/code/index.mjs.map +2 -2
  984. package/build-module/code/init.mjs.map +2 -2
  985. package/build-module/code/save.mjs.map +2 -2
  986. package/build-module/code/transforms.mjs.map +2 -2
  987. package/build-module/code/utils.mjs.map +2 -2
  988. package/build-module/column/deprecated.mjs.map +2 -2
  989. package/build-module/column/edit.mjs.map +2 -2
  990. package/build-module/column/index.mjs.map +2 -2
  991. package/build-module/column/init.mjs.map +2 -2
  992. package/build-module/column/save.mjs.map +2 -2
  993. package/build-module/columns/deprecated.mjs.map +2 -2
  994. package/build-module/columns/edit.mjs.map +2 -2
  995. package/build-module/columns/index.mjs.map +2 -2
  996. package/build-module/columns/init.mjs.map +2 -2
  997. package/build-module/columns/save.mjs.map +2 -2
  998. package/build-module/columns/transforms.mjs.map +2 -2
  999. package/build-module/columns/variations.mjs.map +2 -2
  1000. package/build-module/comment-author-avatar/edit.mjs.map +2 -2
  1001. package/build-module/comment-author-avatar/index.mjs.map +2 -2
  1002. package/build-module/comment-author-avatar/init.mjs.map +2 -2
  1003. package/build-module/comment-author-name/deprecated.mjs.map +2 -2
  1004. package/build-module/comment-author-name/edit.mjs.map +2 -2
  1005. package/build-module/comment-author-name/index.mjs.map +2 -2
  1006. package/build-module/comment-author-name/init.mjs.map +2 -2
  1007. package/build-module/comment-content/deprecated.mjs.map +2 -2
  1008. package/build-module/comment-content/edit.mjs.map +2 -2
  1009. package/build-module/comment-content/index.mjs.map +2 -2
  1010. package/build-module/comment-content/init.mjs.map +2 -2
  1011. package/build-module/comment-date/deprecated.mjs.map +2 -2
  1012. package/build-module/comment-date/edit.mjs.map +2 -2
  1013. package/build-module/comment-date/index.mjs.map +2 -2
  1014. package/build-module/comment-date/init.mjs.map +2 -2
  1015. package/build-module/comment-edit-link/deprecated.mjs.map +2 -2
  1016. package/build-module/comment-edit-link/edit.mjs.map +2 -2
  1017. package/build-module/comment-edit-link/index.mjs.map +2 -2
  1018. package/build-module/comment-edit-link/init.mjs.map +2 -2
  1019. package/build-module/comment-reply-link/deprecated.mjs.map +2 -2
  1020. package/build-module/comment-reply-link/edit.mjs.map +2 -2
  1021. package/build-module/comment-reply-link/index.mjs.map +2 -2
  1022. package/build-module/comment-reply-link/init.mjs.map +2 -2
  1023. package/build-module/comment-template/edit.mjs +1 -12
  1024. package/build-module/comment-template/edit.mjs.map +2 -2
  1025. package/build-module/comment-template/hooks.mjs.map +2 -2
  1026. package/build-module/comment-template/index.mjs +9 -0
  1027. package/build-module/comment-template/index.mjs.map +2 -2
  1028. package/build-module/comment-template/init.mjs.map +2 -2
  1029. package/build-module/comment-template/save.mjs.map +2 -2
  1030. package/build-module/comments/deprecated.mjs.map +2 -2
  1031. package/build-module/comments/edit/comments-inspector-controls.mjs.map +2 -2
  1032. package/build-module/comments/edit/comments-legacy.mjs.map +2 -2
  1033. package/build-module/comments/edit/index.mjs +1 -4
  1034. package/build-module/comments/edit/index.mjs.map +2 -2
  1035. package/build-module/comments/edit/placeholder.mjs.map +2 -2
  1036. package/build-module/comments/index.mjs +2 -0
  1037. package/build-module/comments/index.mjs.map +2 -2
  1038. package/build-module/comments/init.mjs.map +2 -2
  1039. package/build-module/comments/save.mjs.map +2 -2
  1040. package/build-module/comments-pagination/comments-pagination-arrow-controls.mjs.map +2 -2
  1041. package/build-module/comments-pagination/edit.mjs +1 -8
  1042. package/build-module/comments-pagination/edit.mjs.map +2 -2
  1043. package/build-module/comments-pagination/index.mjs +6 -0
  1044. package/build-module/comments-pagination/index.mjs.map +2 -2
  1045. package/build-module/comments-pagination/init.mjs.map +2 -2
  1046. package/build-module/comments-pagination/save.mjs.map +2 -2
  1047. package/build-module/comments-pagination-next/edit.mjs.map +2 -2
  1048. package/build-module/comments-pagination-next/index.mjs.map +2 -2
  1049. package/build-module/comments-pagination-next/init.mjs.map +2 -2
  1050. package/build-module/comments-pagination-numbers/edit.mjs.map +2 -2
  1051. package/build-module/comments-pagination-numbers/index.mjs.map +2 -2
  1052. package/build-module/comments-pagination-numbers/init.mjs.map +2 -2
  1053. package/build-module/comments-pagination-previous/edit.mjs.map +2 -2
  1054. package/build-module/comments-pagination-previous/index.mjs.map +2 -2
  1055. package/build-module/comments-pagination-previous/init.mjs.map +2 -2
  1056. package/build-module/comments-title/deprecated.mjs.map +2 -2
  1057. package/build-module/comments-title/edit.mjs.map +2 -2
  1058. package/build-module/comments-title/index.mjs.map +2 -2
  1059. package/build-module/comments-title/init.mjs.map +2 -2
  1060. package/build-module/cover/block.json +1 -0
  1061. package/build-module/cover/deprecated.mjs.map +2 -2
  1062. package/build-module/cover/edit/block-controls.mjs +3 -1
  1063. package/build-module/cover/edit/block-controls.mjs.map +2 -2
  1064. package/build-module/cover/edit/color-utils.mjs.map +2 -2
  1065. package/build-module/cover/edit/cover-placeholder.mjs.map +2 -2
  1066. package/build-module/cover/edit/embed-video-url-input.mjs.map +2 -2
  1067. package/build-module/cover/edit/index.mjs +78 -34
  1068. package/build-module/cover/edit/index.mjs.map +2 -2
  1069. package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
  1070. package/build-module/cover/edit/resizable-cover-popover.mjs.map +2 -2
  1071. package/build-module/cover/embed-video-utils.mjs.map +2 -2
  1072. package/build-module/cover/index.mjs.map +2 -2
  1073. package/build-module/cover/init.mjs.map +2 -2
  1074. package/build-module/cover/save.mjs.map +2 -2
  1075. package/build-module/cover/shared.mjs.map +2 -2
  1076. package/build-module/cover/transforms.mjs.map +2 -2
  1077. package/build-module/cover/variations.mjs.map +2 -2
  1078. package/build-module/details/edit.mjs +2 -13
  1079. package/build-module/details/edit.mjs.map +2 -2
  1080. package/build-module/details/index.mjs +9 -0
  1081. package/build-module/details/index.mjs.map +2 -2
  1082. package/build-module/details/init.mjs.map +2 -2
  1083. package/build-module/details/save.mjs.map +2 -2
  1084. package/build-module/details/transforms.mjs.map +2 -2
  1085. package/build-module/embed/deprecated.mjs +1 -1
  1086. package/build-module/embed/deprecated.mjs.map +2 -2
  1087. package/build-module/embed/edit.mjs +1 -1
  1088. package/build-module/embed/edit.mjs.map +2 -2
  1089. package/build-module/embed/embed-controls.mjs.map +2 -2
  1090. package/build-module/embed/embed-loading.mjs.map +2 -2
  1091. package/build-module/embed/embed-placeholder.mjs +1 -1
  1092. package/build-module/embed/embed-placeholder.mjs.map +2 -2
  1093. package/build-module/embed/embed-preview.mjs.map +2 -2
  1094. package/build-module/embed/icons.mjs.map +2 -2
  1095. package/build-module/embed/index.mjs.map +2 -2
  1096. package/build-module/embed/init.mjs.map +2 -2
  1097. package/build-module/embed/save.mjs.map +2 -2
  1098. package/build-module/embed/transforms.mjs.map +2 -2
  1099. package/build-module/embed/util.mjs +1 -3
  1100. package/build-module/embed/util.mjs.map +2 -2
  1101. package/build-module/embed/variations.mjs.map +2 -2
  1102. package/build-module/embed/wp-embed-preview.mjs.map +2 -2
  1103. package/build-module/file/deprecated.mjs.map +2 -2
  1104. package/build-module/file/edit.mjs.map +2 -2
  1105. package/build-module/file/index.mjs.map +2 -2
  1106. package/build-module/file/init.mjs.map +2 -2
  1107. package/build-module/file/inspector.mjs.map +2 -2
  1108. package/build-module/file/save.mjs.map +2 -2
  1109. package/build-module/file/transforms.mjs.map +2 -2
  1110. package/build-module/file/variations.mjs.map +2 -2
  1111. package/build-module/file/view.mjs.map +2 -2
  1112. package/build-module/footnotes/edit.mjs +6 -1
  1113. package/build-module/footnotes/edit.mjs.map +2 -2
  1114. package/build-module/footnotes/format.mjs.map +2 -2
  1115. package/build-module/footnotes/index.mjs.map +2 -2
  1116. package/build-module/footnotes/init.mjs.map +2 -2
  1117. package/build-module/form/deprecated.mjs.map +2 -2
  1118. package/build-module/form/edit.mjs +0 -34
  1119. package/build-module/form/edit.mjs.map +2 -2
  1120. package/build-module/form/icons.mjs.map +2 -2
  1121. package/build-module/form/index.mjs +35 -0
  1122. package/build-module/form/index.mjs.map +2 -2
  1123. package/build-module/form/init.mjs.map +2 -2
  1124. package/build-module/form/save.mjs.map +2 -2
  1125. package/build-module/form/utils.mjs.map +2 -2
  1126. package/build-module/form/variations.mjs.map +2 -2
  1127. package/build-module/form-input/deprecated.mjs.map +2 -2
  1128. package/build-module/form-input/edit.mjs.map +2 -2
  1129. package/build-module/form-input/icons.mjs.map +2 -2
  1130. package/build-module/form-input/index.mjs.map +2 -2
  1131. package/build-module/form-input/init.mjs.map +2 -2
  1132. package/build-module/form-input/save.mjs.map +2 -2
  1133. package/build-module/form-input/variations.mjs.map +2 -2
  1134. package/build-module/form-submission-notification/edit.mjs +0 -11
  1135. package/build-module/form-submission-notification/edit.mjs.map +2 -2
  1136. package/build-module/form-submission-notification/index.mjs +12 -0
  1137. package/build-module/form-submission-notification/index.mjs.map +2 -2
  1138. package/build-module/form-submission-notification/init.mjs.map +2 -2
  1139. package/build-module/form-submission-notification/save.mjs.map +2 -2
  1140. package/build-module/form-submission-notification/variations.mjs.map +2 -2
  1141. package/build-module/form-submit-button/edit.mjs +0 -18
  1142. package/build-module/form-submit-button/edit.mjs.map +2 -2
  1143. package/build-module/form-submit-button/index.mjs +18 -0
  1144. package/build-module/form-submit-button/index.mjs.map +2 -2
  1145. package/build-module/form-submit-button/init.mjs.map +2 -2
  1146. package/build-module/form-submit-button/save.mjs.map +2 -2
  1147. package/build-module/freeform/convert-to-blocks-button.mjs.map +2 -2
  1148. package/build-module/freeform/edit.mjs.map +2 -2
  1149. package/build-module/freeform/index.mjs.map +2 -2
  1150. package/build-module/freeform/init.mjs.map +2 -2
  1151. package/build-module/freeform/modal.mjs.map +2 -2
  1152. package/build-module/freeform/save.mjs.map +2 -2
  1153. package/build-module/gallery/deprecated.mjs.map +2 -2
  1154. package/build-module/gallery/dynamic-gallery.mjs +104 -61
  1155. package/build-module/gallery/dynamic-gallery.mjs.map +2 -2
  1156. package/build-module/gallery/dynamic-source.mjs.map +2 -2
  1157. package/build-module/gallery/edit.mjs.map +2 -2
  1158. package/build-module/gallery/gallery.mjs.map +2 -2
  1159. package/build-module/gallery/gap-styles.mjs.map +2 -2
  1160. package/build-module/gallery/index.mjs.map +2 -2
  1161. package/build-module/gallery/init.mjs.map +2 -2
  1162. package/build-module/gallery/save.mjs.map +2 -2
  1163. package/build-module/gallery/shared-icon.mjs.map +2 -2
  1164. package/build-module/gallery/transforms.mjs.map +2 -2
  1165. package/build-module/gallery/use-dynamic-gallery.mjs +16 -9
  1166. package/build-module/gallery/use-dynamic-gallery.mjs.map +2 -2
  1167. package/build-module/gallery/use-get-media.mjs.map +2 -2
  1168. package/build-module/gallery/use-get-new-images.mjs.map +2 -2
  1169. package/build-module/gallery/use-image-sizes.mjs.map +2 -2
  1170. package/build-module/gallery/utils.mjs.map +2 -2
  1171. package/build-module/gallery/variations.mjs.map +2 -2
  1172. package/build-module/group/block.json +0 -1
  1173. package/build-module/group/deprecated.mjs.map +2 -2
  1174. package/build-module/group/edit.mjs.map +2 -2
  1175. package/build-module/group/index.mjs.map +2 -2
  1176. package/build-module/group/init.mjs.map +2 -2
  1177. package/build-module/group/placeholder.mjs.map +2 -2
  1178. package/build-module/group/save.mjs.map +2 -2
  1179. package/build-module/group/transforms.mjs.map +2 -2
  1180. package/build-module/group/variations.mjs.map +2 -2
  1181. package/build-module/heading/autogenerate-anchors.mjs.map +2 -2
  1182. package/build-module/heading/deprecated.mjs.map +2 -2
  1183. package/build-module/heading/edit.mjs +1 -1
  1184. package/build-module/heading/edit.mjs.map +2 -2
  1185. package/build-module/heading/index.mjs.map +2 -2
  1186. package/build-module/heading/init.mjs.map +2 -2
  1187. package/build-module/heading/save.mjs.map +2 -2
  1188. package/build-module/heading/transforms.mjs.map +2 -2
  1189. package/build-module/heading/variations.mjs.map +2 -2
  1190. package/build-module/home-link/edit.mjs.map +2 -2
  1191. package/build-module/home-link/index.mjs.map +2 -2
  1192. package/build-module/home-link/init.mjs.map +2 -2
  1193. package/build-module/home-link/save.mjs.map +2 -2
  1194. package/build-module/html/edit.mjs.map +2 -2
  1195. package/build-module/html/index.mjs.map +2 -2
  1196. package/build-module/html/init.mjs.map +2 -2
  1197. package/build-module/html/modal.mjs +68 -55
  1198. package/build-module/html/modal.mjs.map +2 -2
  1199. package/build-module/html/preview.mjs.map +2 -2
  1200. package/build-module/html/transforms.mjs.map +2 -2
  1201. package/build-module/icon/block.json +5 -3
  1202. package/build-module/icon/components/custom-inserter/icon-grid.mjs.map +2 -2
  1203. package/build-module/icon/components/custom-inserter/index.mjs.map +2 -2
  1204. package/build-module/icon/edit.mjs.map +2 -2
  1205. package/build-module/icon/icon.mjs.map +2 -2
  1206. package/build-module/icon/index.mjs.map +2 -2
  1207. package/build-module/image/deprecated.mjs.map +2 -2
  1208. package/build-module/image/edit.mjs +5 -2
  1209. package/build-module/image/edit.mjs.map +2 -2
  1210. package/build-module/image/image.mjs +19 -5
  1211. package/build-module/image/image.mjs.map +2 -2
  1212. package/build-module/image/index.mjs.map +2 -2
  1213. package/build-module/image/init.mjs.map +2 -2
  1214. package/build-module/image/save.mjs.map +2 -2
  1215. package/build-module/image/transforms.mjs.map +2 -2
  1216. package/build-module/image/use-max-width-observer.mjs.map +2 -2
  1217. package/build-module/image/use-open-image-media-editor-modal.mjs +6 -2
  1218. package/build-module/image/use-open-image-media-editor-modal.mjs.map +2 -2
  1219. package/build-module/image/utils.mjs.map +2 -2
  1220. package/build-module/image/view.mjs.map +2 -2
  1221. package/build-module/index.mjs.map +2 -2
  1222. package/build-module/latest-comments/deprecated.mjs.map +2 -2
  1223. package/build-module/latest-comments/edit.mjs.map +2 -2
  1224. package/build-module/latest-comments/index.mjs.map +2 -2
  1225. package/build-module/latest-comments/init.mjs.map +2 -2
  1226. package/build-module/latest-posts/deprecated.mjs.map +2 -2
  1227. package/build-module/latest-posts/edit.mjs.map +2 -2
  1228. package/build-module/latest-posts/index.mjs.map +2 -2
  1229. package/build-module/latest-posts/init.mjs.map +2 -2
  1230. package/build-module/list/deprecated.mjs.map +2 -2
  1231. package/build-module/list/edit.mjs +5 -4
  1232. package/build-module/list/edit.mjs.map +2 -2
  1233. package/build-module/list/index.mjs +3 -0
  1234. package/build-module/list/index.mjs.map +2 -2
  1235. package/build-module/list/init.mjs.map +2 -2
  1236. package/build-module/list/ordered-list-settings.mjs.map +2 -2
  1237. package/build-module/list/save.mjs.map +2 -2
  1238. package/build-module/list/tag-name.mjs.map +2 -2
  1239. package/build-module/list/transforms.mjs.map +2 -2
  1240. package/build-module/list/utils.mjs.map +2 -2
  1241. package/build-module/list-item/edit.mjs.map +2 -2
  1242. package/build-module/list-item/hooks/use-enter.mjs.map +2 -2
  1243. package/build-module/list-item/hooks/use-indent-list-item.mjs +10 -2
  1244. package/build-module/list-item/hooks/use-indent-list-item.mjs.map +2 -2
  1245. package/build-module/list-item/hooks/use-merge.mjs.map +2 -2
  1246. package/build-module/list-item/hooks/use-outdent-list-item.mjs.map +2 -2
  1247. package/build-module/list-item/hooks/use-space.mjs.map +2 -2
  1248. package/build-module/list-item/index.mjs.map +2 -2
  1249. package/build-module/list-item/init.mjs.map +2 -2
  1250. package/build-module/list-item/save.mjs.map +2 -2
  1251. package/build-module/list-item/transforms.mjs.map +2 -2
  1252. package/build-module/lock-unlock.mjs.map +2 -2
  1253. package/build-module/loginout/edit.mjs.map +2 -2
  1254. package/build-module/loginout/index.mjs.map +2 -2
  1255. package/build-module/loginout/init.mjs.map +2 -2
  1256. package/build-module/math/deprecated.mjs.map +2 -2
  1257. package/build-module/math/edit.mjs +41 -60
  1258. package/build-module/math/edit.mjs.map +2 -2
  1259. package/build-module/math/index.mjs.map +2 -2
  1260. package/build-module/math/init.mjs.map +2 -2
  1261. package/build-module/math/save.mjs.map +2 -2
  1262. package/build-module/media-text/constants.mjs.map +2 -2
  1263. package/build-module/media-text/deprecated.mjs.map +2 -2
  1264. package/build-module/media-text/edit.mjs +4 -4
  1265. package/build-module/media-text/edit.mjs.map +2 -2
  1266. package/build-module/media-text/index.mjs +2 -0
  1267. package/build-module/media-text/index.mjs.map +2 -2
  1268. package/build-module/media-text/init.mjs.map +2 -2
  1269. package/build-module/media-text/media-container.mjs.map +2 -2
  1270. package/build-module/media-text/save.mjs.map +2 -2
  1271. package/build-module/media-text/transforms.mjs.map +2 -2
  1272. package/build-module/missing/edit.mjs.map +2 -2
  1273. package/build-module/missing/index.mjs.map +2 -2
  1274. package/build-module/missing/init.mjs.map +2 -2
  1275. package/build-module/missing/save.mjs.map +2 -2
  1276. package/build-module/more/edit.mjs +2 -2
  1277. package/build-module/more/edit.mjs.map +2 -2
  1278. package/build-module/more/index.mjs.map +2 -2
  1279. package/build-module/more/init.mjs.map +2 -2
  1280. package/build-module/more/save.mjs.map +2 -2
  1281. package/build-module/more/transforms.mjs.map +2 -2
  1282. package/build-module/navigation/deprecated.mjs.map +2 -2
  1283. package/build-module/navigation/edit/accessible-description.mjs.map +2 -2
  1284. package/build-module/navigation/edit/accessible-menu-description.mjs.map +2 -2
  1285. package/build-module/navigation/edit/deleted-navigation-warning.mjs.map +2 -2
  1286. package/build-module/navigation/edit/deleted-overlay-warning.mjs.map +2 -2
  1287. package/build-module/navigation/edit/index.mjs +30 -16
  1288. package/build-module/navigation/edit/index.mjs.map +2 -2
  1289. package/build-module/navigation/edit/inner-blocks.mjs.map +2 -2
  1290. package/build-module/navigation/edit/leaf-more-menu.mjs +33 -23
  1291. package/build-module/navigation/edit/leaf-more-menu.mjs.map +2 -2
  1292. package/build-module/navigation/edit/manage-menus-button.mjs.map +2 -2
  1293. package/build-module/navigation/edit/menu-inspector-controls.mjs.map +2 -2
  1294. package/build-module/navigation/edit/navigation-link-ui.mjs +30 -19
  1295. package/build-module/navigation/edit/navigation-link-ui.mjs.map +2 -2
  1296. package/build-module/navigation/edit/navigation-list-view-header.mjs.map +2 -2
  1297. package/build-module/navigation/edit/navigation-menu-delete-control.mjs.map +2 -2
  1298. package/build-module/navigation/edit/navigation-menu-name-control.mjs.map +2 -2
  1299. package/build-module/navigation/edit/navigation-menu-selector.mjs.map +2 -2
  1300. package/build-module/navigation/edit/overlay-menu-icon.mjs.map +2 -2
  1301. package/build-module/navigation/edit/overlay-menu-preview-button.mjs.map +2 -2
  1302. package/build-module/navigation/edit/overlay-menu-preview-controls.mjs.map +2 -2
  1303. package/build-module/navigation/edit/overlay-menu-preview.mjs.map +2 -2
  1304. package/build-module/navigation/edit/overlay-panel.mjs.map +2 -2
  1305. package/build-module/navigation/edit/overlay-preview.mjs.map +2 -2
  1306. package/build-module/navigation/edit/overlay-template-part-selector.mjs.map +2 -2
  1307. package/build-module/navigation/edit/overlay-visibility-control.mjs.map +2 -2
  1308. package/build-module/navigation/edit/placeholder/index.mjs.map +2 -2
  1309. package/build-module/navigation/edit/placeholder/placeholder-preview.mjs.map +2 -2
  1310. package/build-module/navigation/edit/responsive-wrapper.mjs.map +2 -2
  1311. package/build-module/navigation/edit/unsaved-inner-blocks.mjs.map +2 -2
  1312. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.mjs.map +2 -2
  1313. package/build-module/navigation/edit/use-create-navigation-menu.mjs.map +2 -2
  1314. package/build-module/navigation/edit/use-create-overlay.mjs.map +2 -2
  1315. package/build-module/navigation/edit/use-generate-default-navigation-title.mjs.map +2 -2
  1316. package/build-module/navigation/edit/use-inner-blocks.mjs.map +2 -2
  1317. package/build-module/navigation/edit/use-layout-custom-properties.mjs +51 -0
  1318. package/build-module/navigation/edit/use-layout-custom-properties.mjs.map +7 -0
  1319. package/build-module/navigation/edit/use-navigation-notice.mjs.map +2 -2
  1320. package/build-module/navigation/edit/utils.mjs.map +2 -2
  1321. package/build-module/navigation/index.mjs.map +2 -2
  1322. package/build-module/navigation/init.mjs.map +2 -2
  1323. package/build-module/navigation/menu-items-to-blocks.mjs.map +2 -2
  1324. package/build-module/navigation/save.mjs.map +2 -2
  1325. package/build-module/navigation/use-navigation-menu.mjs.map +2 -2
  1326. package/build-module/navigation/use-template-part-area-label.mjs.map +2 -2
  1327. package/build-module/navigation/view.mjs +9 -6
  1328. package/build-module/navigation/view.mjs.map +2 -2
  1329. package/build-module/navigation-link/edit.mjs +3 -3
  1330. package/build-module/navigation-link/edit.mjs.map +2 -2
  1331. package/build-module/navigation-link/hooks.mjs.map +2 -2
  1332. package/build-module/navigation-link/icons.mjs.map +2 -2
  1333. package/build-module/navigation-link/index.mjs.map +2 -2
  1334. package/build-module/navigation-link/init.mjs.map +2 -2
  1335. package/build-module/navigation-link/link-ui/block-inserter.mjs.map +2 -2
  1336. package/build-module/navigation-link/link-ui/dialog-wrapper.mjs.map +2 -2
  1337. package/build-module/navigation-link/link-ui/index.mjs +2 -2
  1338. package/build-module/navigation-link/link-ui/index.mjs.map +2 -2
  1339. package/build-module/navigation-link/link-ui/page-creator.mjs.map +2 -2
  1340. package/build-module/navigation-link/save.mjs.map +2 -2
  1341. package/build-module/navigation-link/shared/controls.mjs.map +2 -2
  1342. package/build-module/navigation-link/shared/invalid-draft-display.mjs.map +2 -2
  1343. package/build-module/navigation-link/shared/update-attributes.mjs.map +2 -2
  1344. package/build-module/navigation-link/shared/use-enable-link-status-validation.mjs.map +2 -2
  1345. package/build-module/navigation-link/shared/use-entity-binding.mjs.map +2 -2
  1346. package/build-module/navigation-link/shared/use-handle-link-change.mjs.map +2 -2
  1347. package/build-module/navigation-link/shared/use-is-dragging-within.mjs.map +2 -2
  1348. package/build-module/navigation-link/shared/use-is-invalid-link.mjs.map +2 -2
  1349. package/build-module/navigation-link/shared/use-link-preview.mjs.map +2 -2
  1350. package/build-module/navigation-link/transforms.mjs.map +2 -2
  1351. package/build-module/navigation-overlay-close/edit.mjs.map +2 -2
  1352. package/build-module/navigation-overlay-close/icon.mjs.map +2 -2
  1353. package/build-module/navigation-overlay-close/index.mjs.map +2 -2
  1354. package/build-module/navigation-submenu/edit.mjs.map +2 -2
  1355. package/build-module/navigation-submenu/icons.mjs.map +2 -2
  1356. package/build-module/navigation-submenu/index.mjs.map +2 -2
  1357. package/build-module/navigation-submenu/init.mjs.map +2 -2
  1358. package/build-module/navigation-submenu/save.mjs.map +2 -2
  1359. package/build-module/navigation-submenu/transforms.mjs.map +2 -2
  1360. package/build-module/nextpage/edit.mjs.map +2 -2
  1361. package/build-module/nextpage/index.mjs.map +2 -2
  1362. package/build-module/nextpage/init.mjs.map +2 -2
  1363. package/build-module/nextpage/save.mjs.map +2 -2
  1364. package/build-module/nextpage/transforms.mjs.map +2 -2
  1365. package/build-module/page-list/edit.mjs +51 -39
  1366. package/build-module/page-list/edit.mjs.map +2 -2
  1367. package/build-module/page-list/index.mjs.map +2 -2
  1368. package/build-module/page-list/init.mjs.map +2 -2
  1369. package/build-module/page-list/use-convert-to-navigation-links.mjs.map +2 -2
  1370. package/build-module/page-list-item/edit.mjs.map +2 -2
  1371. package/build-module/page-list-item/index.mjs.map +2 -2
  1372. package/build-module/page-list-item/init.mjs.map +2 -2
  1373. package/build-module/paragraph/block.json +0 -1
  1374. package/build-module/paragraph/deprecated-attributes.mjs.map +2 -2
  1375. package/build-module/paragraph/deprecated.mjs.map +2 -2
  1376. package/build-module/paragraph/edit.mjs +4 -4
  1377. package/build-module/paragraph/edit.mjs.map +2 -2
  1378. package/build-module/paragraph/index.mjs.map +2 -2
  1379. package/build-module/paragraph/init.mjs.map +2 -2
  1380. package/build-module/paragraph/save.mjs.map +2 -2
  1381. package/build-module/paragraph/transforms.mjs.map +2 -2
  1382. package/build-module/paragraph/use-enter.mjs.map +2 -2
  1383. package/build-module/pattern/edit.mjs.map +2 -2
  1384. package/build-module/pattern/index.mjs.map +2 -2
  1385. package/build-module/pattern/init.mjs.map +2 -2
  1386. package/build-module/pattern/recursion-detector.mjs.map +2 -2
  1387. package/build-module/playlist/block.json +1 -0
  1388. package/build-module/playlist/context.mjs.map +2 -2
  1389. package/build-module/playlist/edit.mjs +115 -30
  1390. package/build-module/playlist/edit.mjs.map +2 -2
  1391. package/build-module/playlist/index.mjs +3 -1
  1392. package/build-module/playlist/index.mjs.map +2 -2
  1393. package/build-module/playlist/init.mjs.map +2 -2
  1394. package/build-module/playlist/save.mjs.map +2 -2
  1395. package/build-module/playlist/transforms.mjs +45 -0
  1396. package/build-module/playlist/transforms.mjs.map +7 -0
  1397. package/build-module/playlist/utils.mjs +19 -4
  1398. package/build-module/playlist/utils.mjs.map +2 -2
  1399. package/build-module/playlist/view.mjs.map +2 -2
  1400. package/build-module/playlist-track/edit.mjs +7 -5
  1401. package/build-module/playlist-track/edit.mjs.map +2 -2
  1402. package/build-module/playlist-track/index.mjs +1 -1
  1403. package/build-module/playlist-track/index.mjs.map +2 -2
  1404. package/build-module/playlist-track/init.mjs.map +2 -2
  1405. package/build-module/post-author/edit.mjs.map +2 -2
  1406. package/build-module/post-author/index.mjs.map +2 -2
  1407. package/build-module/post-author/init.mjs.map +2 -2
  1408. package/build-module/post-author/utils.mjs.map +2 -2
  1409. package/build-module/post-author-biography/deprecated.mjs.map +2 -2
  1410. package/build-module/post-author-biography/edit.mjs.map +2 -2
  1411. package/build-module/post-author-biography/index.mjs.map +2 -2
  1412. package/build-module/post-author-biography/init.mjs.map +2 -2
  1413. package/build-module/post-author-name/deprecated.mjs.map +2 -2
  1414. package/build-module/post-author-name/edit.mjs.map +2 -2
  1415. package/build-module/post-author-name/index.mjs.map +2 -2
  1416. package/build-module/post-author-name/init.mjs.map +2 -2
  1417. package/build-module/post-author-name/transforms.mjs.map +2 -2
  1418. package/build-module/post-comment/edit.mjs +1 -11
  1419. package/build-module/post-comment/edit.mjs.map +2 -2
  1420. package/build-module/post-comment/index.mjs +9 -0
  1421. package/build-module/post-comment/index.mjs.map +2 -2
  1422. package/build-module/post-comment/init.mjs.map +2 -2
  1423. package/build-module/post-comment/save.mjs.map +2 -2
  1424. package/build-module/post-comments-count/deprecated.mjs.map +2 -2
  1425. package/build-module/post-comments-count/edit.mjs.map +2 -2
  1426. package/build-module/post-comments-count/index.mjs.map +2 -2
  1427. package/build-module/post-comments-count/init.mjs.map +2 -2
  1428. package/build-module/post-comments-count/transforms.mjs.map +2 -2
  1429. package/build-module/post-comments-form/deprecated.mjs.map +2 -2
  1430. package/build-module/post-comments-form/edit.mjs.map +2 -2
  1431. package/build-module/post-comments-form/form.mjs.map +2 -2
  1432. package/build-module/post-comments-form/index.mjs.map +2 -2
  1433. package/build-module/post-comments-form/init.mjs.map +2 -2
  1434. package/build-module/post-comments-link/deprecated.mjs.map +2 -2
  1435. package/build-module/post-comments-link/edit.mjs.map +2 -2
  1436. package/build-module/post-comments-link/index.mjs.map +2 -2
  1437. package/build-module/post-comments-link/init.mjs.map +2 -2
  1438. package/build-module/post-comments-link/transforms.mjs.map +2 -2
  1439. package/build-module/post-content/edit.mjs +33 -15
  1440. package/build-module/post-content/edit.mjs.map +2 -2
  1441. package/build-module/post-content/index.mjs.map +2 -2
  1442. package/build-module/post-content/init.mjs.map +2 -2
  1443. package/build-module/post-date/deprecated.mjs.map +2 -2
  1444. package/build-module/post-date/edit.mjs.map +2 -2
  1445. package/build-module/post-date/index.mjs.map +2 -2
  1446. package/build-module/post-date/init.mjs.map +2 -2
  1447. package/build-module/post-date/variations.mjs.map +2 -2
  1448. package/build-module/post-excerpt/deprecated.mjs.map +2 -2
  1449. package/build-module/post-excerpt/edit.mjs.map +2 -2
  1450. package/build-module/post-excerpt/index.mjs.map +2 -2
  1451. package/build-module/post-excerpt/init.mjs.map +2 -2
  1452. package/build-module/post-excerpt/transforms.mjs.map +2 -2
  1453. package/build-module/post-featured-image/dimension-controls.mjs.map +2 -2
  1454. package/build-module/post-featured-image/edit.mjs +3 -2
  1455. package/build-module/post-featured-image/edit.mjs.map +2 -2
  1456. package/build-module/post-featured-image/index.mjs.map +2 -2
  1457. package/build-module/post-featured-image/init.mjs.map +2 -2
  1458. package/build-module/post-featured-image/overlay-controls.mjs.map +2 -2
  1459. package/build-module/post-featured-image/overlay.mjs.map +2 -2
  1460. package/build-module/post-navigation-link/deprecated.mjs.map +2 -2
  1461. package/build-module/post-navigation-link/edit.mjs.map +2 -2
  1462. package/build-module/post-navigation-link/index.mjs +2 -0
  1463. package/build-module/post-navigation-link/index.mjs.map +2 -2
  1464. package/build-module/post-navigation-link/init.mjs.map +2 -2
  1465. package/build-module/post-navigation-link/variations.mjs.map +2 -2
  1466. package/build-module/post-template/edit.mjs +1 -18
  1467. package/build-module/post-template/edit.mjs.map +2 -2
  1468. package/build-module/post-template/index.mjs +18 -0
  1469. package/build-module/post-template/index.mjs.map +2 -2
  1470. package/build-module/post-template/init.mjs.map +2 -2
  1471. package/build-module/post-template/save.mjs.map +2 -2
  1472. package/build-module/post-terms/deprecated.mjs.map +2 -2
  1473. package/build-module/post-terms/edit.mjs +2 -2
  1474. package/build-module/post-terms/edit.mjs.map +2 -2
  1475. package/build-module/post-terms/hooks.mjs.map +2 -2
  1476. package/build-module/post-terms/index.mjs.map +2 -2
  1477. package/build-module/post-terms/init.mjs.map +2 -2
  1478. package/build-module/post-terms/use-post-terms.mjs.map +2 -2
  1479. package/build-module/post-time-to-read/deprecated.mjs.map +2 -2
  1480. package/build-module/post-time-to-read/edit.mjs.map +2 -2
  1481. package/build-module/post-time-to-read/index.mjs.map +2 -2
  1482. package/build-module/post-time-to-read/init.mjs.map +2 -2
  1483. package/build-module/post-time-to-read/variations.mjs.map +2 -2
  1484. package/build-module/post-title/deprecated.mjs.map +2 -2
  1485. package/build-module/post-title/edit.mjs +2 -2
  1486. package/build-module/post-title/edit.mjs.map +2 -2
  1487. package/build-module/post-title/index.mjs.map +2 -2
  1488. package/build-module/post-title/init.mjs.map +2 -2
  1489. package/build-module/preformatted/edit.mjs +3 -1
  1490. package/build-module/preformatted/edit.mjs.map +2 -2
  1491. package/build-module/preformatted/index.mjs.map +2 -2
  1492. package/build-module/preformatted/init.mjs.map +2 -2
  1493. package/build-module/preformatted/save.mjs.map +2 -2
  1494. package/build-module/preformatted/transforms.mjs.map +2 -2
  1495. package/build-module/private-apis.mjs.map +2 -2
  1496. package/build-module/pullquote/deprecated.mjs.map +2 -2
  1497. package/build-module/pullquote/edit.mjs +5 -3
  1498. package/build-module/pullquote/edit.mjs.map +2 -2
  1499. package/build-module/pullquote/index.mjs.map +2 -2
  1500. package/build-module/pullquote/init.mjs.map +2 -2
  1501. package/build-module/pullquote/save.mjs.map +2 -2
  1502. package/build-module/pullquote/transforms.mjs.map +2 -2
  1503. package/build-module/query/deprecated.mjs.map +2 -2
  1504. package/build-module/query/edit/enhanced-pagination-modal.mjs.map +2 -2
  1505. package/build-module/query/edit/index.mjs.map +2 -2
  1506. package/build-module/query/edit/inspector-controls/author-control.mjs.map +2 -2
  1507. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.mjs.map +2 -2
  1508. package/build-module/query/edit/inspector-controls/format-controls.mjs.map +2 -2
  1509. package/build-module/query/edit/inspector-controls/index.mjs +5 -2
  1510. package/build-module/query/edit/inspector-controls/index.mjs.map +2 -2
  1511. package/build-module/query/edit/inspector-controls/offset-controls.mjs +2 -2
  1512. package/build-module/query/edit/inspector-controls/offset-controls.mjs.map +2 -2
  1513. package/build-module/query/edit/inspector-controls/order-control.mjs.map +2 -2
  1514. package/build-module/query/edit/inspector-controls/pages-control.mjs.map +2 -2
  1515. package/build-module/query/edit/inspector-controls/parent-control.mjs.map +2 -2
  1516. package/build-module/query/edit/inspector-controls/per-page-control.mjs.map +2 -2
  1517. package/build-module/query/edit/inspector-controls/sticky-control.mjs.map +2 -2
  1518. package/build-module/query/edit/inspector-controls/taxonomy-controls.mjs.map +2 -2
  1519. package/build-module/query/edit/pattern-selection.mjs.map +2 -2
  1520. package/build-module/query/edit/query-content.mjs +1 -4
  1521. package/build-module/query/edit/query-content.mjs.map +2 -2
  1522. package/build-module/query/edit/query-placeholder.mjs.map +2 -2
  1523. package/build-module/query/edit/query-toolbar.mjs.map +2 -2
  1524. package/build-module/query/icons.mjs.map +2 -2
  1525. package/build-module/query/index.mjs.map +2 -2
  1526. package/build-module/query/init.mjs.map +2 -2
  1527. package/build-module/query/save.mjs.map +2 -2
  1528. package/build-module/query/utils.mjs.map +2 -2
  1529. package/build-module/query/variations.mjs.map +2 -2
  1530. package/build-module/query/view.mjs.map +2 -2
  1531. package/build-module/query-no-results/edit.mjs +1 -14
  1532. package/build-module/query-no-results/edit.mjs.map +2 -2
  1533. package/build-module/query-no-results/index.mjs +11 -0
  1534. package/build-module/query-no-results/index.mjs.map +2 -2
  1535. package/build-module/query-no-results/init.mjs.map +2 -2
  1536. package/build-module/query-no-results/save.mjs.map +2 -2
  1537. package/build-module/query-pagination/deprecated.mjs.map +2 -2
  1538. package/build-module/query-pagination/edit.mjs +1 -8
  1539. package/build-module/query-pagination/edit.mjs.map +2 -2
  1540. package/build-module/query-pagination/index.mjs +6 -0
  1541. package/build-module/query-pagination/index.mjs.map +2 -2
  1542. package/build-module/query-pagination/init.mjs.map +2 -2
  1543. package/build-module/query-pagination/query-pagination-arrow-controls.mjs.map +2 -2
  1544. package/build-module/query-pagination/query-pagination-label-control.mjs.map +2 -2
  1545. package/build-module/query-pagination/save.mjs.map +2 -2
  1546. package/build-module/query-pagination-next/edit.mjs.map +2 -2
  1547. package/build-module/query-pagination-next/index.mjs.map +2 -2
  1548. package/build-module/query-pagination-next/init.mjs.map +2 -2
  1549. package/build-module/query-pagination-numbers/edit.mjs.map +2 -2
  1550. package/build-module/query-pagination-numbers/index.mjs.map +2 -2
  1551. package/build-module/query-pagination-numbers/init.mjs.map +2 -2
  1552. package/build-module/query-pagination-previous/edit.mjs.map +2 -2
  1553. package/build-module/query-pagination-previous/index.mjs.map +2 -2
  1554. package/build-module/query-pagination-previous/init.mjs.map +2 -2
  1555. package/build-module/query-title/deprecated.mjs.map +2 -2
  1556. package/build-module/query-title/edit.mjs.map +2 -2
  1557. package/build-module/query-title/index.mjs.map +2 -2
  1558. package/build-module/query-title/init.mjs.map +2 -2
  1559. package/build-module/query-title/use-archive-label.mjs.map +2 -2
  1560. package/build-module/query-title/use-post-type-label.mjs.map +2 -2
  1561. package/build-module/query-title/variations.mjs.map +2 -2
  1562. package/build-module/query-total/edit.mjs.map +2 -2
  1563. package/build-module/query-total/icons.mjs.map +2 -2
  1564. package/build-module/query-total/index.mjs.map +2 -2
  1565. package/build-module/query-total/init.mjs.map +2 -2
  1566. package/build-module/quote/deprecated.mjs.map +2 -2
  1567. package/build-module/quote/edit.mjs +16 -6
  1568. package/build-module/quote/edit.mjs.map +2 -2
  1569. package/build-module/quote/index.mjs +3 -0
  1570. package/build-module/quote/index.mjs.map +2 -2
  1571. package/build-module/quote/init.mjs.map +2 -2
  1572. package/build-module/quote/save.mjs.map +2 -2
  1573. package/build-module/quote/transforms.mjs.map +2 -2
  1574. package/build-module/read-more/edit.mjs +3 -1
  1575. package/build-module/read-more/edit.mjs.map +2 -2
  1576. package/build-module/read-more/index.mjs.map +2 -2
  1577. package/build-module/read-more/init.mjs.map +2 -2
  1578. package/build-module/rss/edit.mjs.map +2 -2
  1579. package/build-module/rss/index.mjs.map +2 -2
  1580. package/build-module/rss/init.mjs.map +2 -2
  1581. package/build-module/search/edit.mjs.map +2 -2
  1582. package/build-module/search/index.mjs.map +2 -2
  1583. package/build-module/search/init.mjs.map +2 -2
  1584. package/build-module/search/variations.mjs.map +2 -2
  1585. package/build-module/search/view.mjs.map +2 -2
  1586. package/build-module/separator/deprecated.mjs.map +2 -2
  1587. package/build-module/separator/edit.mjs.map +2 -2
  1588. package/build-module/separator/index.mjs.map +2 -2
  1589. package/build-module/separator/init.mjs.map +2 -2
  1590. package/build-module/separator/save.mjs.map +2 -2
  1591. package/build-module/separator/transforms.mjs.map +2 -2
  1592. package/build-module/separator/use-deprecated-opacity.mjs.map +2 -2
  1593. package/build-module/shortcode/edit.mjs.map +2 -2
  1594. package/build-module/shortcode/index.mjs.map +2 -2
  1595. package/build-module/shortcode/init.mjs.map +2 -2
  1596. package/build-module/shortcode/save.mjs.map +2 -2
  1597. package/build-module/shortcode/transforms.mjs.map +2 -2
  1598. package/build-module/site-logo/edit.mjs.map +2 -2
  1599. package/build-module/site-logo/index.mjs.map +2 -2
  1600. package/build-module/site-logo/init.mjs.map +2 -2
  1601. package/build-module/site-logo/transforms.mjs.map +2 -2
  1602. package/build-module/site-tagline/deprecated.mjs.map +2 -2
  1603. package/build-module/site-tagline/edit.mjs +3 -1
  1604. package/build-module/site-tagline/edit.mjs.map +2 -2
  1605. package/build-module/site-tagline/icon.mjs.map +2 -2
  1606. package/build-module/site-tagline/index.mjs.map +2 -2
  1607. package/build-module/site-tagline/init.mjs.map +2 -2
  1608. package/build-module/site-title/deprecated.mjs.map +2 -2
  1609. package/build-module/site-title/edit.mjs +3 -1
  1610. package/build-module/site-title/edit.mjs.map +2 -2
  1611. package/build-module/site-title/index.mjs.map +2 -2
  1612. package/build-module/site-title/init.mjs.map +2 -2
  1613. package/build-module/site-title/transforms.mjs.map +2 -2
  1614. package/build-module/social-link/edit.mjs.map +2 -2
  1615. package/build-module/social-link/icons/amazon.mjs.map +2 -2
  1616. package/build-module/social-link/icons/bandcamp.mjs.map +2 -2
  1617. package/build-module/social-link/icons/behance.mjs.map +2 -2
  1618. package/build-module/social-link/icons/bluesky.mjs.map +2 -2
  1619. package/build-module/social-link/icons/chain.mjs.map +2 -2
  1620. package/build-module/social-link/icons/codepen.mjs.map +2 -2
  1621. package/build-module/social-link/icons/deviantart.mjs.map +2 -2
  1622. package/build-module/social-link/icons/discord.mjs.map +2 -2
  1623. package/build-module/social-link/icons/dribbble.mjs.map +2 -2
  1624. package/build-module/social-link/icons/dropbox.mjs.map +2 -2
  1625. package/build-module/social-link/icons/etsy.mjs.map +2 -2
  1626. package/build-module/social-link/icons/facebook.mjs.map +2 -2
  1627. package/build-module/social-link/icons/feed.mjs.map +2 -2
  1628. package/build-module/social-link/icons/fivehundredpx.mjs.map +2 -2
  1629. package/build-module/social-link/icons/flickr.mjs.map +2 -2
  1630. package/build-module/social-link/icons/foursquare.mjs.map +2 -2
  1631. package/build-module/social-link/icons/github.mjs.map +2 -2
  1632. package/build-module/social-link/icons/goodreads.mjs.map +2 -2
  1633. package/build-module/social-link/icons/google.mjs.map +2 -2
  1634. package/build-module/social-link/icons/gravatar.mjs.map +2 -2
  1635. package/build-module/social-link/icons/instagram.mjs.map +2 -2
  1636. package/build-module/social-link/icons/lastfm.mjs.map +2 -2
  1637. package/build-module/social-link/icons/linkedin.mjs.map +2 -2
  1638. package/build-module/social-link/icons/mail.mjs.map +2 -2
  1639. package/build-module/social-link/icons/mastodon.mjs.map +2 -2
  1640. package/build-module/social-link/icons/medium.mjs.map +2 -2
  1641. package/build-module/social-link/icons/meetup.mjs.map +2 -2
  1642. package/build-module/social-link/icons/patreon.mjs.map +2 -2
  1643. package/build-module/social-link/icons/pinterest.mjs.map +2 -2
  1644. package/build-module/social-link/icons/pocket.mjs.map +2 -2
  1645. package/build-module/social-link/icons/reddit.mjs.map +2 -2
  1646. package/build-module/social-link/icons/skype.mjs.map +2 -2
  1647. package/build-module/social-link/icons/snapchat.mjs.map +2 -2
  1648. package/build-module/social-link/icons/soundcloud.mjs.map +2 -2
  1649. package/build-module/social-link/icons/spotify.mjs.map +2 -2
  1650. package/build-module/social-link/icons/telegram.mjs.map +2 -2
  1651. package/build-module/social-link/icons/threads.mjs.map +2 -2
  1652. package/build-module/social-link/icons/tiktok.mjs.map +2 -2
  1653. package/build-module/social-link/icons/tumblr.mjs.map +2 -2
  1654. package/build-module/social-link/icons/twitch.mjs.map +2 -2
  1655. package/build-module/social-link/icons/twitter.mjs.map +2 -2
  1656. package/build-module/social-link/icons/vimeo.mjs.map +2 -2
  1657. package/build-module/social-link/icons/vk.mjs.map +2 -2
  1658. package/build-module/social-link/icons/whatsapp.mjs.map +2 -2
  1659. package/build-module/social-link/icons/wordpress.mjs.map +2 -2
  1660. package/build-module/social-link/icons/x.mjs.map +2 -2
  1661. package/build-module/social-link/icons/yelp.mjs.map +2 -2
  1662. package/build-module/social-link/icons/youtube.mjs.map +2 -2
  1663. package/build-module/social-link/index.mjs.map +2 -2
  1664. package/build-module/social-link/init.mjs.map +2 -2
  1665. package/build-module/social-link/social-list.mjs.map +2 -2
  1666. package/build-module/social-link/variations.mjs.map +2 -2
  1667. package/build-module/social-links/deprecated.mjs.map +2 -2
  1668. package/build-module/social-links/edit.mjs +11 -4
  1669. package/build-module/social-links/edit.mjs.map +2 -2
  1670. package/build-module/social-links/index.mjs.map +2 -2
  1671. package/build-module/social-links/init.mjs.map +2 -2
  1672. package/build-module/social-links/save.mjs.map +2 -2
  1673. package/build-module/spacer/controls.mjs.map +2 -2
  1674. package/build-module/spacer/deprecated.mjs.map +2 -2
  1675. package/build-module/spacer/edit.mjs.map +2 -2
  1676. package/build-module/spacer/index.mjs.map +2 -2
  1677. package/build-module/spacer/init.mjs.map +2 -2
  1678. package/build-module/spacer/save.mjs.map +2 -2
  1679. package/build-module/spacer/transforms.mjs.map +2 -2
  1680. package/build-module/tab-list/block.json +2 -1
  1681. package/build-module/tab-list/edit.mjs +2 -0
  1682. package/build-module/tab-list/edit.mjs.map +2 -2
  1683. package/build-module/tab-list/index.mjs.map +2 -2
  1684. package/build-module/tab-list/init.mjs.map +2 -2
  1685. package/build-module/tab-list/save.mjs.map +2 -2
  1686. package/build-module/tab-list/tab-movers.mjs +59 -0
  1687. package/build-module/tab-list/tab-movers.mjs.map +7 -0
  1688. package/build-module/tab-panel/controls.mjs.map +2 -2
  1689. package/build-module/tab-panel/edit.mjs +1 -12
  1690. package/build-module/tab-panel/edit.mjs.map +2 -2
  1691. package/build-module/tab-panel/index.mjs +21 -0
  1692. package/build-module/tab-panel/index.mjs.map +2 -2
  1693. package/build-module/tab-panel/init.mjs.map +2 -2
  1694. package/build-module/tab-panel/save.mjs.map +2 -2
  1695. package/build-module/tab-panels/edit.mjs +0 -6
  1696. package/build-module/tab-panels/edit.mjs.map +2 -2
  1697. package/build-module/tab-panels/index.mjs +2 -0
  1698. package/build-module/tab-panels/index.mjs.map +2 -2
  1699. package/build-module/tab-panels/init.mjs.map +2 -2
  1700. package/build-module/tab-panels/save.mjs.map +2 -2
  1701. package/build-module/table/deprecated.mjs.map +2 -2
  1702. package/build-module/table/edit.mjs +1 -1
  1703. package/build-module/table/edit.mjs.map +2 -2
  1704. package/build-module/table/index.mjs.map +2 -2
  1705. package/build-module/table/init.mjs.map +2 -2
  1706. package/build-module/table/save.mjs.map +2 -2
  1707. package/build-module/table/transforms.mjs.map +2 -2
  1708. package/build-module/table-of-contents/edit.mjs +87 -56
  1709. package/build-module/table-of-contents/edit.mjs.map +2 -2
  1710. package/build-module/table-of-contents/hooks.mjs.map +2 -2
  1711. package/build-module/table-of-contents/index.mjs.map +2 -2
  1712. package/build-module/table-of-contents/init.mjs.map +2 -2
  1713. package/build-module/table-of-contents/list.mjs.map +2 -2
  1714. package/build-module/table-of-contents/save.mjs.map +2 -2
  1715. package/build-module/table-of-contents/utils.mjs +24 -0
  1716. package/build-module/table-of-contents/utils.mjs.map +2 -2
  1717. package/build-module/tabs/edit.mjs +0 -2
  1718. package/build-module/tabs/edit.mjs.map +2 -2
  1719. package/build-module/tabs/index.mjs +3 -0
  1720. package/build-module/tabs/index.mjs.map +2 -2
  1721. package/build-module/tabs/init.mjs.map +2 -2
  1722. package/build-module/tabs/save.mjs.map +2 -2
  1723. package/build-module/tabs/tab-toolbar-controls.mjs.map +2 -2
  1724. package/build-module/tabs/use-tab-actions.mjs +24 -3
  1725. package/build-module/tabs/use-tab-actions.mjs.map +2 -2
  1726. package/build-module/tabs/use-tab-list-items-sync.mjs.map +2 -2
  1727. package/build-module/tabs/view.mjs +7 -1
  1728. package/build-module/tabs/view.mjs.map +2 -2
  1729. package/build-module/tag-cloud/edit.mjs.map +2 -2
  1730. package/build-module/tag-cloud/index.mjs.map +2 -2
  1731. package/build-module/tag-cloud/init.mjs.map +2 -2
  1732. package/build-module/tag-cloud/transforms.mjs.map +2 -2
  1733. package/build-module/template-part/edit/advanced-controls.mjs.map +2 -2
  1734. package/build-module/template-part/edit/import-controls.mjs.map +2 -2
  1735. package/build-module/template-part/edit/index.mjs.map +2 -2
  1736. package/build-module/template-part/edit/inner-blocks.mjs.map +2 -2
  1737. package/build-module/template-part/edit/placeholder.mjs.map +2 -2
  1738. package/build-module/template-part/edit/selection-modal.mjs.map +2 -2
  1739. package/build-module/template-part/edit/title-modal.mjs.map +2 -2
  1740. package/build-module/template-part/edit/utils/get-template-part-icon.mjs.map +2 -2
  1741. package/build-module/template-part/edit/utils/hooks.mjs.map +2 -2
  1742. package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.mjs.map +2 -2
  1743. package/build-module/template-part/edit/utils/transformers.mjs.map +2 -2
  1744. package/build-module/template-part/index.mjs.map +2 -2
  1745. package/build-module/template-part/init.mjs.map +2 -2
  1746. package/build-module/template-part/variations.mjs.map +2 -2
  1747. package/build-module/term-count/edit.mjs.map +2 -2
  1748. package/build-module/term-count/icons.mjs.map +2 -2
  1749. package/build-module/term-count/index.mjs.map +2 -2
  1750. package/build-module/term-count/init.mjs.map +2 -2
  1751. package/build-module/term-count/use-term-count.mjs.map +2 -2
  1752. package/build-module/term-description/deprecated.mjs.map +2 -2
  1753. package/build-module/term-description/edit.mjs.map +2 -2
  1754. package/build-module/term-description/index.mjs.map +2 -2
  1755. package/build-module/term-description/init.mjs.map +2 -2
  1756. package/build-module/term-description/use-term-description.mjs.map +2 -2
  1757. package/build-module/term-name/deprecated.mjs.map +2 -2
  1758. package/build-module/term-name/edit.mjs.map +2 -2
  1759. package/build-module/term-name/index.mjs.map +2 -2
  1760. package/build-module/term-name/use-term-name.mjs.map +2 -2
  1761. package/build-module/term-template/edit.mjs +1 -2
  1762. package/build-module/term-template/edit.mjs.map +2 -2
  1763. package/build-module/term-template/index.mjs +2 -0
  1764. package/build-module/term-template/index.mjs.map +2 -2
  1765. package/build-module/term-template/save.mjs.map +2 -2
  1766. package/build-module/terms-query/edit/index.mjs.map +2 -2
  1767. package/build-module/terms-query/edit/inspector-controls/advanced-controls.mjs.map +2 -2
  1768. package/build-module/terms-query/edit/inspector-controls/empty-terms-control.mjs.map +2 -2
  1769. package/build-module/terms-query/edit/inspector-controls/include-control.mjs.map +2 -2
  1770. package/build-module/terms-query/edit/inspector-controls/index.mjs.map +2 -2
  1771. package/build-module/terms-query/edit/inspector-controls/inherit-control.mjs.map +2 -2
  1772. package/build-module/terms-query/edit/inspector-controls/max-terms-control.mjs.map +2 -2
  1773. package/build-module/terms-query/edit/inspector-controls/nested-terms-control.mjs.map +2 -2
  1774. package/build-module/terms-query/edit/inspector-controls/order-control.mjs.map +2 -2
  1775. package/build-module/terms-query/edit/inspector-controls/taxonomy-control.mjs.map +2 -2
  1776. package/build-module/terms-query/edit/terms-query-content.mjs +1 -4
  1777. package/build-module/terms-query/edit/terms-query-content.mjs.map +2 -2
  1778. package/build-module/terms-query/edit/terms-query-placeholder.mjs.map +2 -2
  1779. package/build-module/terms-query/index.mjs +2 -0
  1780. package/build-module/terms-query/index.mjs.map +2 -2
  1781. package/build-module/terms-query/save.mjs.map +2 -2
  1782. package/build-module/terms-query/utils.mjs.map +2 -2
  1783. package/build-module/terms-query/variations.mjs.map +2 -2
  1784. package/build-module/text-columns/edit.mjs.map +2 -2
  1785. package/build-module/text-columns/index.mjs.map +2 -2
  1786. package/build-module/text-columns/init.mjs.map +2 -2
  1787. package/build-module/text-columns/save.mjs.map +2 -2
  1788. package/build-module/text-columns/transforms.mjs.map +2 -2
  1789. package/build-module/utils/caption.mjs +2 -2
  1790. package/build-module/utils/caption.mjs.map +2 -2
  1791. package/build-module/utils/deprecated-text-align-attributes.mjs.map +2 -2
  1792. package/build-module/utils/get-transformed-attributes.mjs.map +2 -2
  1793. package/build-module/utils/hooks.mjs.map +2 -2
  1794. package/build-module/utils/html-renderer.mjs.map +2 -2
  1795. package/build-module/utils/init-block.mjs.map +2 -2
  1796. package/build-module/utils/is-within-overlay.mjs.map +2 -2
  1797. package/build-module/utils/media-control.mjs.map +2 -2
  1798. package/build-module/utils/migrate-font-family.mjs.map +2 -2
  1799. package/build-module/utils/poster-image.mjs.map +2 -2
  1800. package/build-module/utils/search-patterns.mjs.map +2 -2
  1801. package/build-module/utils/style-state.mjs.map +2 -2
  1802. package/build-module/utils/waveform-player.mjs.map +2 -2
  1803. package/build-module/utils/waveform-utils.mjs.map +2 -2
  1804. package/build-module/verse/deprecated.mjs.map +2 -2
  1805. package/build-module/verse/edit.mjs +3 -1
  1806. package/build-module/verse/edit.mjs.map +2 -2
  1807. package/build-module/verse/index.mjs.map +2 -2
  1808. package/build-module/verse/init.mjs.map +2 -2
  1809. package/build-module/verse/save.mjs.map +2 -2
  1810. package/build-module/verse/transforms.mjs.map +2 -2
  1811. package/build-module/video/deprecated.mjs.map +2 -2
  1812. package/build-module/video/edit-common-settings.mjs.map +2 -2
  1813. package/build-module/video/edit.mjs +1 -1
  1814. package/build-module/video/edit.mjs.map +2 -2
  1815. package/build-module/video/index.mjs.map +2 -2
  1816. package/build-module/video/init.mjs.map +2 -2
  1817. package/build-module/video/save.mjs.map +2 -2
  1818. package/build-module/video/tracks-editor.mjs +0 -1
  1819. package/build-module/video/tracks-editor.mjs.map +2 -2
  1820. package/build-module/video/transforms.mjs.map +2 -2
  1821. package/build-module/video/variations.mjs +1 -1
  1822. package/build-module/video/variations.mjs.map +2 -2
  1823. package/build-style/cover/editor-rtl.css +3 -0
  1824. package/build-style/cover/editor.css +3 -0
  1825. package/build-style/editor-rtl.css +18 -53
  1826. package/build-style/editor.css +18 -53
  1827. package/build-style/icon/editor-rtl.css +1 -4
  1828. package/build-style/icon/editor.css +1 -4
  1829. package/build-style/image/editor-rtl.css +3 -32
  1830. package/build-style/image/editor.css +3 -32
  1831. package/build-style/navigation-overlay-close/style-rtl.css +11 -0
  1832. package/build-style/navigation-overlay-close/style.css +11 -0
  1833. package/build-style/page-list/editor-rtl.css +0 -62
  1834. package/build-style/page-list/editor.css +0 -62
  1835. package/build-style/playlist/editor-rtl.css +0 -5
  1836. package/build-style/playlist/editor.css +0 -5
  1837. package/build-style/playlist/style-rtl.css +44 -4
  1838. package/build-style/playlist/style.css +44 -4
  1839. package/build-style/post-author-biography/style-rtl.css +1 -0
  1840. package/build-style/post-author-biography/style.css +1 -0
  1841. package/build-style/pullquote/editor-rtl.css +4 -0
  1842. package/build-style/pullquote/editor.css +4 -0
  1843. package/build-style/style-rtl.css +56 -4
  1844. package/build-style/style.css +56 -4
  1845. package/build-style/tab-list/editor-rtl.css +101 -0
  1846. package/build-style/tab-list/editor.css +101 -0
  1847. package/build-types/lock-unlock.d.ts.map +1 -1
  1848. package/build-types/table-of-contents/list.d.ts +0 -6
  1849. package/build-types/table-of-contents/list.d.ts.map +1 -1
  1850. package/build-types/table-of-contents/utils.d.ts +11 -0
  1851. package/build-types/table-of-contents/utils.d.ts.map +1 -1
  1852. package/package.json +44 -43
  1853. package/src/accordion/edit.js +0 -9
  1854. package/src/accordion/index.js +4 -7
  1855. package/src/accordion/init.js +0 -3
  1856. package/src/accordion/save.js +0 -3
  1857. package/src/accordion/view.js +0 -3
  1858. package/src/accordion-heading/deprecated.js +0 -3
  1859. package/src/accordion-heading/edit.js +0 -7
  1860. package/src/accordion-heading/index.js +0 -7
  1861. package/src/accordion-heading/init.js +0 -3
  1862. package/src/accordion-heading/save.js +0 -7
  1863. package/src/accordion-item/edit.js +0 -14
  1864. package/src/accordion-item/index.js +4 -7
  1865. package/src/accordion-item/init.js +0 -3
  1866. package/src/accordion-item/save.js +0 -6
  1867. package/src/accordion-panel/block.json +1 -0
  1868. package/src/accordion-panel/edit.js +0 -4
  1869. package/src/accordion-panel/index.js +3 -7
  1870. package/src/accordion-panel/init.js +0 -3
  1871. package/src/accordion-panel/save.js +0 -3
  1872. package/src/archives/edit.js +0 -7
  1873. package/src/archives/index.js +0 -7
  1874. package/src/archives/init.js +0 -3
  1875. package/src/audio/deprecated.js +0 -3
  1876. package/src/audio/edit.js +0 -11
  1877. package/src/audio/index.js +0 -7
  1878. package/src/audio/init.js +0 -3
  1879. package/src/audio/save.js +0 -3
  1880. package/src/audio/transforms.js +0 -3
  1881. package/src/avatar/edit.js +0 -11
  1882. package/src/avatar/hooks.js +0 -7
  1883. package/src/avatar/index.js +0 -7
  1884. package/src/avatar/init.js +0 -3
  1885. package/src/avatar/user-control.js +0 -3
  1886. package/src/block/edit.js +1 -12
  1887. package/src/block/index.js +0 -7
  1888. package/src/block/init.js +0 -3
  1889. package/src/block-keyboard-shortcuts/index.js +0 -3
  1890. package/src/breadcrumbs/edit.js +0 -7
  1891. package/src/breadcrumbs/index.js +0 -7
  1892. package/src/breadcrumbs/index.php +3 -1
  1893. package/src/button/deprecated.js +0 -11
  1894. package/src/button/edit.js +0 -4
  1895. package/src/button/get-updated-link-attributes.js +0 -7
  1896. package/src/button/index.js +0 -7
  1897. package/src/button/index.php +1 -1
  1898. package/src/button/init.js +0 -3
  1899. package/src/button/save.js +0 -7
  1900. package/src/button/test/get-experimental-label.js +0 -3
  1901. package/src/button/test/get-updated-link-attributes.js +0 -3
  1902. package/src/button/test/utils.js +0 -3
  1903. package/src/buttons/deprecated.js +0 -6
  1904. package/src/buttons/edit.js +0 -20
  1905. package/src/buttons/index.js +4 -7
  1906. package/src/buttons/init.js +0 -3
  1907. package/src/buttons/save.js +0 -7
  1908. package/src/buttons/transforms.js +0 -7
  1909. package/src/calendar/edit.js +0 -11
  1910. package/src/calendar/index.js +0 -7
  1911. package/src/calendar/init.js +0 -3
  1912. package/src/calendar/transforms.js +0 -3
  1913. package/src/categories/edit.js +0 -11
  1914. package/src/categories/index.js +0 -7
  1915. package/src/categories/init.js +0 -3
  1916. package/src/categories/variations.js +0 -3
  1917. package/src/code/edit.js +7 -5
  1918. package/src/code/index.js +0 -7
  1919. package/src/code/init.js +0 -3
  1920. package/src/code/save.js +0 -7
  1921. package/src/code/test/utils.js +0 -3
  1922. package/src/code/transforms.js +0 -7
  1923. package/src/code/utils.js +0 -3
  1924. package/src/column/deprecated.js +0 -7
  1925. package/src/column/edit.js +0 -11
  1926. package/src/column/index.js +0 -7
  1927. package/src/column/init.js +0 -3
  1928. package/src/column/save.js +0 -7
  1929. package/src/columns/deprecated.js +0 -7
  1930. package/src/columns/edit.js +0 -12
  1931. package/src/columns/index.js +0 -7
  1932. package/src/columns/init.js +0 -3
  1933. package/src/columns/save.js +0 -7
  1934. package/src/columns/test/transforms.js +0 -7
  1935. package/src/columns/test/utils.js +0 -7
  1936. package/src/columns/transforms.js +0 -3
  1937. package/src/columns/variations.js +0 -3
  1938. package/src/comment-author-avatar/edit.js +0 -3
  1939. package/src/comment-author-avatar/index.js +0 -7
  1940. package/src/comment-author-avatar/init.js +0 -3
  1941. package/src/comment-author-name/deprecated.js +0 -3
  1942. package/src/comment-author-name/edit.js +0 -7
  1943. package/src/comment-author-name/index.js +0 -7
  1944. package/src/comment-author-name/init.js +0 -3
  1945. package/src/comment-content/deprecated.js +0 -3
  1946. package/src/comment-content/edit.js +0 -7
  1947. package/src/comment-content/index.js +0 -7
  1948. package/src/comment-content/init.js +0 -3
  1949. package/src/comment-date/deprecated.js +0 -3
  1950. package/src/comment-date/edit.js +0 -7
  1951. package/src/comment-date/index.js +0 -7
  1952. package/src/comment-date/init.js +0 -3
  1953. package/src/comment-edit-link/deprecated.js +0 -3
  1954. package/src/comment-edit-link/edit.js +0 -7
  1955. package/src/comment-edit-link/index.js +0 -7
  1956. package/src/comment-edit-link/init.js +0 -3
  1957. package/src/comment-reply-link/deprecated.js +0 -3
  1958. package/src/comment-reply-link/edit.js +0 -7
  1959. package/src/comment-reply-link/index.js +0 -7
  1960. package/src/comment-reply-link/init.js +0 -3
  1961. package/src/comment-template/edit.js +1 -20
  1962. package/src/comment-template/hooks.js +0 -3
  1963. package/src/comment-template/index.js +10 -7
  1964. package/src/comment-template/init.js +0 -3
  1965. package/src/comment-template/save.js +0 -3
  1966. package/src/comment-template/test/index.js +0 -3
  1967. package/src/comments/deprecated.js +0 -3
  1968. package/src/comments/edit/comments-inspector-controls.js +0 -7
  1969. package/src/comments/edit/comments-legacy.js +0 -11
  1970. package/src/comments/edit/index.js +1 -11
  1971. package/src/comments/edit/placeholder.js +0 -7
  1972. package/src/comments/index.js +2 -7
  1973. package/src/comments/init.js +0 -3
  1974. package/src/comments/save.js +0 -3
  1975. package/src/comments-pagination/comments-pagination-arrow-controls.js +0 -3
  1976. package/src/comments-pagination/edit.js +1 -16
  1977. package/src/comments-pagination/index.js +7 -7
  1978. package/src/comments-pagination/init.js +0 -3
  1979. package/src/comments-pagination/save.js +0 -3
  1980. package/src/comments-pagination-next/edit.js +0 -3
  1981. package/src/comments-pagination-next/index.js +0 -7
  1982. package/src/comments-pagination-next/init.js +0 -3
  1983. package/src/comments-pagination-numbers/edit.js +0 -3
  1984. package/src/comments-pagination-numbers/index.js +0 -7
  1985. package/src/comments-pagination-numbers/init.js +0 -3
  1986. package/src/comments-pagination-previous/edit.js +0 -3
  1987. package/src/comments-pagination-previous/index.js +0 -7
  1988. package/src/comments-pagination-previous/init.js +0 -3
  1989. package/src/comments-title/deprecated.js +0 -3
  1990. package/src/comments-title/edit.js +0 -7
  1991. package/src/comments-title/index.js +0 -7
  1992. package/src/comments-title/init.js +0 -3
  1993. package/src/cover/block.json +1 -0
  1994. package/src/cover/deprecated.js +0 -11
  1995. package/src/cover/edit/block-controls.js +5 -8
  1996. package/src/cover/edit/color-utils.js +0 -7
  1997. package/src/cover/edit/cover-placeholder.js +0 -7
  1998. package/src/cover/edit/embed-video-url-input.js +0 -7
  1999. package/src/cover/edit/index.js +100 -46
  2000. package/src/cover/edit/inspector-controls.js +0 -7
  2001. package/src/cover/edit/resizable-cover-popover.js +0 -11
  2002. package/src/cover/editor.scss +6 -0
  2003. package/src/cover/embed-video-utils.js +0 -7
  2004. package/src/cover/index.js +0 -7
  2005. package/src/cover/index.php +10 -3
  2006. package/src/cover/init.js +0 -3
  2007. package/src/cover/save.js +0 -11
  2008. package/src/cover/shared.js +0 -3
  2009. package/src/cover/test/edit.js +0 -7
  2010. package/src/cover/test/transforms.js +0 -7
  2011. package/src/cover/transforms.js +0 -7
  2012. package/src/cover/variations.js +0 -3
  2013. package/src/details/edit.js +1 -21
  2014. package/src/details/index.js +10 -7
  2015. package/src/details/init.js +0 -3
  2016. package/src/details/save.js +0 -3
  2017. package/src/details/transforms.js +0 -3
  2018. package/src/editor.scss +1 -0
  2019. package/src/embed/deprecated.js +1 -12
  2020. package/src/embed/edit.js +3 -12
  2021. package/src/embed/embed-controls.js +0 -7
  2022. package/src/embed/embed-loading.js +0 -3
  2023. package/src/embed/embed-placeholder.js +9 -10
  2024. package/src/embed/embed-preview.js +0 -15
  2025. package/src/embed/icons.js +0 -3
  2026. package/src/embed/index.js +0 -3
  2027. package/src/embed/init.js +0 -3
  2028. package/src/embed/save.js +0 -7
  2029. package/src/embed/test/index.js +0 -7
  2030. package/src/embed/transforms.js +0 -7
  2031. package/src/embed/util.js +1 -14
  2032. package/src/embed/variations.js +0 -7
  2033. package/src/embed/wp-embed-preview.js +0 -3
  2034. package/src/file/deprecated.js +0 -7
  2035. package/src/file/edit.js +0 -11
  2036. package/src/file/index.js +0 -7
  2037. package/src/file/init.js +0 -3
  2038. package/src/file/inspector.js +0 -7
  2039. package/src/file/save.js +0 -7
  2040. package/src/file/transforms.js +0 -3
  2041. package/src/file/variations.js +0 -3
  2042. package/src/file/view.js +0 -6
  2043. package/src/footnotes/edit.js +11 -4
  2044. package/src/footnotes/format.js +0 -11
  2045. package/src/footnotes/index.js +0 -7
  2046. package/src/footnotes/init.js +0 -3
  2047. package/src/form/deprecated.js +0 -3
  2048. package/src/form/edit.js +0 -42
  2049. package/src/form/icons.js +0 -3
  2050. package/src/form/index.js +36 -7
  2051. package/src/form/index.php +6 -4
  2052. package/src/form/init.js +0 -3
  2053. package/src/form/save.js +0 -3
  2054. package/src/form/utils.js +0 -3
  2055. package/src/form/variations.js +0 -7
  2056. package/src/form-input/deprecated.js +0 -7
  2057. package/src/form-input/edit.js +0 -11
  2058. package/src/form-input/icons.js +0 -3
  2059. package/src/form-input/index.js +0 -3
  2060. package/src/form-input/init.js +0 -3
  2061. package/src/form-input/save.js +0 -7
  2062. package/src/form-input/variations.js +0 -3
  2063. package/src/form-submission-notification/edit.js +0 -19
  2064. package/src/form-submission-notification/index.js +13 -7
  2065. package/src/form-submission-notification/init.js +0 -3
  2066. package/src/form-submission-notification/save.js +0 -7
  2067. package/src/form-submission-notification/variations.js +0 -3
  2068. package/src/form-submit-button/edit.js +0 -21
  2069. package/src/form-submit-button/index.js +19 -3
  2070. package/src/form-submit-button/init.js +0 -3
  2071. package/src/form-submit-button/save.js +0 -3
  2072. package/src/freeform/convert-to-blocks-button.js +0 -3
  2073. package/src/freeform/edit.js +0 -7
  2074. package/src/freeform/index.js +0 -7
  2075. package/src/freeform/init.js +0 -3
  2076. package/src/freeform/modal.js +0 -3
  2077. package/src/freeform/save.js +0 -3
  2078. package/src/gallery/deprecated.js +0 -12
  2079. package/src/gallery/dynamic-gallery.js +133 -81
  2080. package/src/gallery/dynamic-source.js +0 -3
  2081. package/src/gallery/edit.js +0 -11
  2082. package/src/gallery/gallery.js +0 -11
  2083. package/src/gallery/gap-styles.js +0 -7
  2084. package/src/gallery/index.js +0 -7
  2085. package/src/gallery/init.js +0 -3
  2086. package/src/gallery/save.js +0 -7
  2087. package/src/gallery/shared-icon.js +0 -3
  2088. package/src/gallery/test/dynamic-source.js +0 -3
  2089. package/src/gallery/test/transforms.js +0 -7
  2090. package/src/gallery/test/use-get-new-images.js +0 -7
  2091. package/src/gallery/transforms.js +0 -7
  2092. package/src/gallery/use-dynamic-gallery.js +27 -19
  2093. package/src/gallery/use-get-media.js +0 -3
  2094. package/src/gallery/use-get-new-images.js +0 -3
  2095. package/src/gallery/use-image-sizes.js +0 -3
  2096. package/src/gallery/utils.js +0 -3
  2097. package/src/gallery/variations.js +0 -7
  2098. package/src/group/block.json +0 -1
  2099. package/src/group/deprecated.js +0 -7
  2100. package/src/group/edit.js +0 -7
  2101. package/src/group/index.js +0 -7
  2102. package/src/group/init.js +0 -3
  2103. package/src/group/placeholder.js +0 -3
  2104. package/src/group/save.js +0 -3
  2105. package/src/group/test/placeholder.js +0 -7
  2106. package/src/group/transforms.js +0 -3
  2107. package/src/group/variations.js +0 -3
  2108. package/src/heading/autogenerate-anchors.js +0 -3
  2109. package/src/heading/deprecated.js +0 -11
  2110. package/src/heading/edit.js +1 -8
  2111. package/src/heading/index.js +0 -7
  2112. package/src/heading/init.js +0 -3
  2113. package/src/heading/save.js +0 -3
  2114. package/src/heading/test/shared.js +0 -3
  2115. package/src/heading/transforms.js +0 -7
  2116. package/src/heading/variations.js +0 -3
  2117. package/src/home-link/edit.js +0 -11
  2118. package/src/home-link/index.js +0 -7
  2119. package/src/home-link/init.js +0 -3
  2120. package/src/home-link/save.js +0 -3
  2121. package/src/html/edit.js +0 -7
  2122. package/src/html/index.js +0 -7
  2123. package/src/html/init.js +0 -3
  2124. package/src/html/modal.js +13 -9
  2125. package/src/html/preview.js +0 -3
  2126. package/src/html/test/index.js +0 -7
  2127. package/src/html/test/utils.js +0 -3
  2128. package/src/html/transforms.js +0 -3
  2129. package/src/icon/README.md +1 -3
  2130. package/src/icon/block.json +5 -3
  2131. package/src/icon/components/custom-inserter/icon-grid.js +0 -7
  2132. package/src/icon/components/custom-inserter/index.js +0 -7
  2133. package/src/icon/edit.js +0 -11
  2134. package/src/icon/editor.scss +1 -4
  2135. package/src/icon/icon.js +0 -3
  2136. package/src/icon/index.js +0 -3
  2137. package/src/image/deprecated.js +0 -11
  2138. package/src/image/edit.js +10 -21
  2139. package/src/image/editor.scss +6 -46
  2140. package/src/image/image.js +33 -10
  2141. package/src/image/index.js +0 -7
  2142. package/src/image/init.js +0 -3
  2143. package/src/image/save.js +0 -11
  2144. package/src/image/test/transforms.js +0 -3
  2145. package/src/image/test/use-open-image-media-editor-modal.js +37 -12
  2146. package/src/image/transforms.js +0 -3
  2147. package/src/image/use-max-width-observer.js +0 -3
  2148. package/src/image/use-open-image-media-editor-modal.js +8 -8
  2149. package/src/image/utils.js +0 -3
  2150. package/src/image/view.js +0 -7
  2151. package/src/index.js +0 -12
  2152. package/src/latest-comments/deprecated.js +0 -4
  2153. package/src/latest-comments/edit.js +0 -7
  2154. package/src/latest-comments/index.js +0 -7
  2155. package/src/latest-comments/index.php +4 -1
  2156. package/src/latest-comments/init.js +0 -3
  2157. package/src/latest-posts/deprecated.js +0 -3
  2158. package/src/latest-posts/edit.js +0 -11
  2159. package/src/latest-posts/index.js +0 -7
  2160. package/src/latest-posts/index.php +3 -2
  2161. package/src/latest-posts/init.js +0 -3
  2162. package/src/latest-posts/test/deprecated.js +0 -7
  2163. package/src/list/deprecated.js +0 -7
  2164. package/src/list/edit.js +11 -11
  2165. package/src/list/index.js +4 -7
  2166. package/src/list/init.js +0 -3
  2167. package/src/list/ordered-list-settings.js +0 -7
  2168. package/src/list/save.js +0 -3
  2169. package/src/list/tag-name.js +0 -3
  2170. package/src/list/transforms.js +0 -7
  2171. package/src/list/utils.js +0 -3
  2172. package/src/list-item/edit.js +0 -7
  2173. package/src/list-item/hooks/use-enter.js +0 -7
  2174. package/src/list-item/hooks/use-indent-list-item.js +10 -4
  2175. package/src/list-item/hooks/use-merge.js +0 -7
  2176. package/src/list-item/hooks/use-outdent-list-item.js +0 -3
  2177. package/src/list-item/hooks/use-space.js +0 -7
  2178. package/src/list-item/index.js +0 -7
  2179. package/src/list-item/init.js +0 -3
  2180. package/src/list-item/save.js +0 -3
  2181. package/src/list-item/transforms.js +0 -3
  2182. package/src/lock-unlock.ts +0 -3
  2183. package/src/loginout/edit.js +0 -6
  2184. package/src/loginout/index.js +0 -7
  2185. package/src/loginout/init.js +0 -3
  2186. package/src/math/deprecated.js +0 -3
  2187. package/src/math/edit.js +42 -66
  2188. package/src/math/index.js +0 -7
  2189. package/src/math/init.js +0 -3
  2190. package/src/math/save.js +0 -3
  2191. package/src/media-text/constants.js +0 -3
  2192. package/src/media-text/deprecated.js +0 -11
  2193. package/src/media-text/edit.js +2 -13
  2194. package/src/media-text/index.js +2 -7
  2195. package/src/media-text/index.php +11 -2
  2196. package/src/media-text/init.js +0 -3
  2197. package/src/media-text/media-container.js +0 -11
  2198. package/src/media-text/save.js +0 -11
  2199. package/src/media-text/test/image-fill.js +0 -3
  2200. package/src/media-text/transforms.js +0 -3
  2201. package/src/missing/edit.js +0 -3
  2202. package/src/missing/index.js +0 -7
  2203. package/src/missing/init.js +0 -3
  2204. package/src/missing/save.js +0 -3
  2205. package/src/more/edit.js +7 -11
  2206. package/src/more/index.js +0 -7
  2207. package/src/more/init.js +0 -3
  2208. package/src/more/save.js +0 -3
  2209. package/src/more/transforms.js +0 -3
  2210. package/src/navigation/deprecated.js +0 -7
  2211. package/src/navigation/edit/accessible-description.js +0 -3
  2212. package/src/navigation/edit/accessible-menu-description.js +0 -7
  2213. package/src/navigation/edit/deleted-navigation-warning.js +0 -3
  2214. package/src/navigation/edit/deleted-overlay-warning.js +0 -3
  2215. package/src/navigation/edit/index.js +52 -47
  2216. package/src/navigation/edit/inner-blocks.js +0 -7
  2217. package/src/navigation/edit/leaf-more-menu.js +70 -66
  2218. package/src/navigation/edit/manage-menus-button.js +0 -3
  2219. package/src/navigation/edit/menu-inspector-controls.js +0 -7
  2220. package/src/navigation/edit/navigation-link-ui.js +34 -26
  2221. package/src/navigation/edit/navigation-list-view-header.js +0 -7
  2222. package/src/navigation/edit/navigation-menu-delete-control.js +0 -3
  2223. package/src/navigation/edit/navigation-menu-name-control.js +0 -3
  2224. package/src/navigation/edit/navigation-menu-selector.js +0 -7
  2225. package/src/navigation/edit/overlay-menu-icon.js +0 -3
  2226. package/src/navigation/edit/overlay-menu-preview-button.js +0 -7
  2227. package/src/navigation/edit/overlay-menu-preview-controls.js +0 -7
  2228. package/src/navigation/edit/overlay-menu-preview.js +0 -7
  2229. package/src/navigation/edit/overlay-panel.js +0 -7
  2230. package/src/navigation/edit/overlay-preview.js +0 -7
  2231. package/src/navigation/edit/overlay-template-part-selector.js +0 -7
  2232. package/src/navigation/edit/overlay-visibility-control.js +0 -3
  2233. package/src/navigation/edit/placeholder/index.js +0 -7
  2234. package/src/navigation/edit/placeholder/placeholder-preview.js +0 -3
  2235. package/src/navigation/edit/responsive-wrapper.js +0 -11
  2236. package/src/navigation/edit/test/are-blocks-dirty.js +0 -3
  2237. package/src/navigation/edit/test/layout-custom-properties.js +127 -0
  2238. package/src/navigation/edit/test/navigation-menu-selector.js +0 -11
  2239. package/src/navigation/edit/test/overlay-template-part-selector.js +0 -11
  2240. package/src/navigation/edit/test/responsive-wrapper.js +0 -11
  2241. package/src/navigation/edit/test/use-create-overlay.js +0 -11
  2242. package/src/navigation/edit/test/utils.js +0 -3
  2243. package/src/navigation/edit/unsaved-inner-blocks.js +0 -7
  2244. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +0 -7
  2245. package/src/navigation/edit/use-create-navigation-menu.js +0 -7
  2246. package/src/navigation/edit/use-create-overlay.js +0 -7
  2247. package/src/navigation/edit/use-generate-default-navigation-title.js +0 -7
  2248. package/src/navigation/edit/use-inner-blocks.js +0 -3
  2249. package/src/navigation/edit/use-layout-custom-properties.js +77 -0
  2250. package/src/navigation/edit/use-navigation-notice.js +0 -3
  2251. package/src/navigation/edit/utils.js +0 -3
  2252. package/src/navigation/index.js +0 -7
  2253. package/src/navigation/index.php +137 -15
  2254. package/src/navigation/init.js +0 -3
  2255. package/src/navigation/menu-items-to-blocks.js +0 -7
  2256. package/src/navigation/save.js +0 -3
  2257. package/src/navigation/test/menu-items-to-blocks.js +0 -3
  2258. package/src/navigation/test/use-navigation-menu.js +0 -7
  2259. package/src/navigation/test/view.js +51 -0
  2260. package/src/navigation/use-navigation-menu.js +0 -7
  2261. package/src/navigation/use-template-part-area-label.js +0 -8
  2262. package/src/navigation/view.js +15 -17
  2263. package/src/navigation-link/edit.js +11 -18
  2264. package/src/navigation-link/hooks.js +0 -3
  2265. package/src/navigation-link/icons.js +0 -3
  2266. package/src/navigation-link/index.js +0 -7
  2267. package/src/navigation-link/index.php +64 -0
  2268. package/src/navigation-link/init.js +0 -3
  2269. package/src/navigation-link/link-ui/block-inserter.js +0 -7
  2270. package/src/navigation-link/link-ui/dialog-wrapper.js +0 -3
  2271. package/src/navigation-link/link-ui/index.js +2 -8
  2272. package/src/navigation-link/link-ui/page-creator.js +0 -7
  2273. package/src/navigation-link/save.js +0 -3
  2274. package/src/navigation-link/shared/controls.js +0 -7
  2275. package/src/navigation-link/shared/invalid-draft-display.js +0 -7
  2276. package/src/navigation-link/shared/test/controls.js +0 -7
  2277. package/src/navigation-link/shared/test/update-attributes.test.js +0 -3
  2278. package/src/navigation-link/shared/test/use-enable-link-status-validation.test.js +0 -9
  2279. package/src/navigation-link/shared/test/use-entity-binding.js +0 -11
  2280. package/src/navigation-link/shared/test/use-handle-link-change.test.js +0 -14
  2281. package/src/navigation-link/shared/test/use-link-preview.test.js +0 -14
  2282. package/src/navigation-link/shared/update-attributes.js +0 -3
  2283. package/src/navigation-link/shared/use-enable-link-status-validation.js +0 -3
  2284. package/src/navigation-link/shared/use-entity-binding.js +0 -3
  2285. package/src/navigation-link/shared/use-handle-link-change.js +0 -7
  2286. package/src/navigation-link/shared/use-is-dragging-within.js +0 -3
  2287. package/src/navigation-link/shared/use-is-invalid-link.js +0 -3
  2288. package/src/navigation-link/shared/use-link-preview.js +0 -7
  2289. package/src/navigation-link/test/__snapshots__/hooks.js.snap +1 -1
  2290. package/src/navigation-link/test/block-labelling.js +0 -3
  2291. package/src/navigation-link/test/hooks.js +1 -7
  2292. package/src/navigation-link/transforms.js +0 -3
  2293. package/src/navigation-overlay-close/edit.js +0 -7
  2294. package/src/navigation-overlay-close/icon.js +0 -3
  2295. package/src/navigation-overlay-close/index.js +0 -7
  2296. package/src/navigation-overlay-close/style.scss +14 -0
  2297. package/src/navigation-submenu/edit.js +0 -11
  2298. package/src/navigation-submenu/icons.js +0 -3
  2299. package/src/navigation-submenu/index.js +0 -7
  2300. package/src/navigation-submenu/init.js +0 -3
  2301. package/src/navigation-submenu/save.js +0 -3
  2302. package/src/navigation-submenu/transforms.js +0 -3
  2303. package/src/nextpage/edit.js +0 -3
  2304. package/src/nextpage/index.js +0 -7
  2305. package/src/nextpage/init.js +0 -3
  2306. package/src/nextpage/save.js +0 -3
  2307. package/src/nextpage/transforms.js +0 -3
  2308. package/src/page-list/edit.js +57 -48
  2309. package/src/page-list/editor.scss +0 -15
  2310. package/src/page-list/index.js +0 -7
  2311. package/src/page-list/index.php +4 -3
  2312. package/src/page-list/init.js +0 -3
  2313. package/src/page-list/test/convert-to-navigation-links.js +0 -4
  2314. package/src/page-list/use-convert-to-navigation-links.js +0 -7
  2315. package/src/page-list-item/edit.js +0 -10
  2316. package/src/page-list-item/index.js +0 -7
  2317. package/src/page-list-item/init.js +0 -3
  2318. package/src/paragraph/README.md +0 -1
  2319. package/src/paragraph/block.json +0 -1
  2320. package/src/paragraph/deprecated-attributes.js +0 -3
  2321. package/src/paragraph/deprecated.js +0 -8
  2322. package/src/paragraph/edit.js +5 -17
  2323. package/src/paragraph/index.js +0 -7
  2324. package/src/paragraph/init.js +0 -3
  2325. package/src/paragraph/save.js +0 -7
  2326. package/src/paragraph/transforms.js +0 -7
  2327. package/src/paragraph/use-enter.js +0 -7
  2328. package/src/pattern/edit.js +0 -7
  2329. package/src/pattern/index.js +0 -3
  2330. package/src/pattern/index.php +5 -5
  2331. package/src/pattern/init.js +0 -3
  2332. package/src/pattern/recursion-detector.js +0 -4
  2333. package/src/pattern/test/index.js +0 -3
  2334. package/src/playlist/block.json +1 -0
  2335. package/src/playlist/context.js +0 -3
  2336. package/src/playlist/edit.js +153 -61
  2337. package/src/playlist/editor.scss +0 -7
  2338. package/src/playlist/index.js +2 -7
  2339. package/src/playlist/index.php +14 -9
  2340. package/src/playlist/init.js +0 -3
  2341. package/src/playlist/save.js +0 -7
  2342. package/src/playlist/style.scss +3 -0
  2343. package/src/playlist/test/edit-component.js +220 -0
  2344. package/src/playlist/test/edit.js +30 -3
  2345. package/src/playlist/test/transforms.js +189 -0
  2346. package/src/playlist/transforms.js +46 -0
  2347. package/src/playlist/utils.js +25 -7
  2348. package/src/playlist/view.js +0 -7
  2349. package/src/playlist-track/edit.js +7 -11
  2350. package/src/playlist-track/index.js +1 -8
  2351. package/src/playlist-track/index.php +8 -7
  2352. package/src/playlist-track/init.js +0 -3
  2353. package/src/playlist-track/test/edit.js +55 -12
  2354. package/src/post-author/edit.js +0 -11
  2355. package/src/post-author/index.js +0 -7
  2356. package/src/post-author/init.js +0 -3
  2357. package/src/post-author/utils.js +0 -7
  2358. package/src/post-author-biography/deprecated.js +0 -3
  2359. package/src/post-author-biography/edit.js +0 -7
  2360. package/src/post-author-biography/index.js +0 -7
  2361. package/src/post-author-biography/init.js +0 -3
  2362. package/src/post-author-biography/style.scss +1 -0
  2363. package/src/post-author-name/deprecated.js +0 -3
  2364. package/src/post-author-name/edit.js +0 -11
  2365. package/src/post-author-name/index.js +0 -7
  2366. package/src/post-author-name/init.js +0 -3
  2367. package/src/post-author-name/transforms.js +0 -3
  2368. package/src/post-comment/edit.js +1 -15
  2369. package/src/post-comment/index.js +10 -7
  2370. package/src/post-comment/init.js +0 -3
  2371. package/src/post-comment/save.js +0 -3
  2372. package/src/post-comments-count/deprecated.js +0 -3
  2373. package/src/post-comments-count/edit.js +0 -3
  2374. package/src/post-comments-count/index.js +0 -7
  2375. package/src/post-comments-count/init.js +0 -3
  2376. package/src/post-comments-count/transforms.js +0 -3
  2377. package/src/post-comments-form/deprecated.js +0 -3
  2378. package/src/post-comments-form/edit.js +0 -7
  2379. package/src/post-comments-form/form.js +0 -7
  2380. package/src/post-comments-form/index.js +0 -7
  2381. package/src/post-comments-form/init.js +0 -3
  2382. package/src/post-comments-link/deprecated.js +0 -3
  2383. package/src/post-comments-link/edit.js +0 -3
  2384. package/src/post-comments-link/index.js +0 -7
  2385. package/src/post-comments-link/init.js +0 -3
  2386. package/src/post-comments-link/transforms.js +0 -3
  2387. package/src/post-content/edit.js +39 -23
  2388. package/src/post-content/index.js +0 -7
  2389. package/src/post-content/index.php +12 -2
  2390. package/src/post-content/init.js +0 -3
  2391. package/src/post-date/deprecated.js +0 -7
  2392. package/src/post-date/edit.js +0 -7
  2393. package/src/post-date/index.js +0 -7
  2394. package/src/post-date/index.php +1 -1
  2395. package/src/post-date/init.js +0 -3
  2396. package/src/post-date/test/edit.js +0 -3
  2397. package/src/post-date/variations.js +0 -3
  2398. package/src/post-excerpt/deprecated.js +0 -3
  2399. package/src/post-excerpt/edit.js +0 -11
  2400. package/src/post-excerpt/index.js +0 -7
  2401. package/src/post-excerpt/index.php +4 -1
  2402. package/src/post-excerpt/init.js +0 -3
  2403. package/src/post-excerpt/transforms.js +0 -3
  2404. package/src/post-featured-image/dimension-controls.js +0 -7
  2405. package/src/post-featured-image/edit.js +3 -13
  2406. package/src/post-featured-image/index.js +0 -7
  2407. package/src/post-featured-image/index.php +4 -1
  2408. package/src/post-featured-image/init.js +0 -3
  2409. package/src/post-featured-image/overlay-controls.js +0 -3
  2410. package/src/post-featured-image/overlay.js +0 -11
  2411. package/src/post-navigation-link/deprecated.js +0 -3
  2412. package/src/post-navigation-link/edit.js +0 -7
  2413. package/src/post-navigation-link/index.js +2 -7
  2414. package/src/post-navigation-link/init.js +0 -3
  2415. package/src/post-navigation-link/variations.js +0 -3
  2416. package/src/post-template/edit.js +1 -26
  2417. package/src/post-template/index.js +19 -7
  2418. package/src/post-template/init.js +0 -3
  2419. package/src/post-template/save.js +0 -3
  2420. package/src/post-terms/deprecated.js +0 -3
  2421. package/src/post-terms/edit.js +7 -11
  2422. package/src/post-terms/hooks.js +0 -3
  2423. package/src/post-terms/index.js +0 -7
  2424. package/src/post-terms/init.js +0 -3
  2425. package/src/post-terms/use-post-terms.js +0 -3
  2426. package/src/post-time-to-read/deprecated.js +0 -3
  2427. package/src/post-time-to-read/edit.js +0 -7
  2428. package/src/post-time-to-read/index.js +0 -7
  2429. package/src/post-time-to-read/init.js +0 -3
  2430. package/src/post-time-to-read/variations.js +0 -3
  2431. package/src/post-title/deprecated.js +0 -3
  2432. package/src/post-title/edit.js +5 -10
  2433. package/src/post-title/index.js +0 -7
  2434. package/src/post-title/init.js +0 -3
  2435. package/src/preformatted/edit.js +7 -5
  2436. package/src/preformatted/index.js +0 -7
  2437. package/src/preformatted/init.js +0 -3
  2438. package/src/preformatted/save.js +0 -3
  2439. package/src/preformatted/transforms.js +0 -3
  2440. package/src/private-apis.js +0 -3
  2441. package/src/pullquote/deprecated.js +0 -11
  2442. package/src/pullquote/edit.js +9 -11
  2443. package/src/pullquote/editor.scss +6 -0
  2444. package/src/pullquote/index.js +0 -7
  2445. package/src/pullquote/init.js +0 -3
  2446. package/src/pullquote/save.js +0 -3
  2447. package/src/pullquote/transforms.js +0 -3
  2448. package/src/query/deprecated.js +0 -7
  2449. package/src/query/edit/enhanced-pagination-modal.js +0 -7
  2450. package/src/query/edit/index.js +0 -7
  2451. package/src/query/edit/inspector-controls/author-control.js +0 -7
  2452. package/src/query/edit/inspector-controls/enhanced-pagination-control.js +0 -7
  2453. package/src/query/edit/inspector-controls/format-controls.js +0 -3
  2454. package/src/query/edit/inspector-controls/index.js +5 -9
  2455. package/src/query/edit/inspector-controls/offset-controls.js +2 -5
  2456. package/src/query/edit/inspector-controls/order-control.js +0 -3
  2457. package/src/query/edit/inspector-controls/pages-control.js +0 -3
  2458. package/src/query/edit/inspector-controls/parent-control.js +0 -7
  2459. package/src/query/edit/inspector-controls/per-page-control.js +0 -3
  2460. package/src/query/edit/inspector-controls/sticky-control.js +0 -3
  2461. package/src/query/edit/inspector-controls/taxonomy-controls.js +0 -7
  2462. package/src/query/edit/pattern-selection.js +0 -7
  2463. package/src/query/edit/query-content.js +1 -11
  2464. package/src/query/edit/query-placeholder.js +0 -7
  2465. package/src/query/edit/query-toolbar.js +0 -7
  2466. package/src/query/icons.js +0 -3
  2467. package/src/query/index.js +0 -7
  2468. package/src/query/index.php +4 -3
  2469. package/src/query/init.js +0 -3
  2470. package/src/query/save.js +0 -3
  2471. package/src/query/test/utils.js +0 -3
  2472. package/src/query/utils.js +0 -3
  2473. package/src/query/variations.js +0 -7
  2474. package/src/query/view.js +0 -3
  2475. package/src/query-no-results/edit.js +1 -18
  2476. package/src/query-no-results/index.js +12 -7
  2477. package/src/query-no-results/init.js +0 -3
  2478. package/src/query-no-results/save.js +0 -3
  2479. package/src/query-pagination/deprecated.js +0 -3
  2480. package/src/query-pagination/edit.js +1 -16
  2481. package/src/query-pagination/index.js +7 -7
  2482. package/src/query-pagination/init.js +0 -3
  2483. package/src/query-pagination/query-pagination-arrow-controls.js +0 -3
  2484. package/src/query-pagination/query-pagination-label-control.js +0 -3
  2485. package/src/query-pagination/save.js +0 -3
  2486. package/src/query-pagination-next/edit.js +0 -3
  2487. package/src/query-pagination-next/index.js +0 -7
  2488. package/src/query-pagination-next/init.js +0 -3
  2489. package/src/query-pagination-numbers/edit.js +0 -7
  2490. package/src/query-pagination-numbers/index.js +0 -7
  2491. package/src/query-pagination-numbers/init.js +0 -3
  2492. package/src/query-pagination-previous/edit.js +0 -3
  2493. package/src/query-pagination-previous/index.js +0 -7
  2494. package/src/query-pagination-previous/init.js +0 -3
  2495. package/src/query-title/deprecated.js +0 -3
  2496. package/src/query-title/edit.js +0 -7
  2497. package/src/query-title/index.js +0 -7
  2498. package/src/query-title/init.js +0 -3
  2499. package/src/query-title/use-archive-label.js +0 -3
  2500. package/src/query-title/use-post-type-label.js +0 -3
  2501. package/src/query-title/variations.js +0 -3
  2502. package/src/query-total/edit.js +0 -7
  2503. package/src/query-total/icons.js +0 -3
  2504. package/src/query-total/index.js +0 -3
  2505. package/src/query-total/init.js +0 -3
  2506. package/src/quote/deprecated.js +0 -7
  2507. package/src/quote/edit.js +23 -18
  2508. package/src/quote/index.js +4 -7
  2509. package/src/quote/init.js +0 -3
  2510. package/src/quote/save.js +0 -7
  2511. package/src/quote/test/migrate.js +0 -7
  2512. package/src/quote/transforms.js +0 -3
  2513. package/src/read-more/edit.js +7 -9
  2514. package/src/read-more/index.js +0 -7
  2515. package/src/read-more/init.js +0 -3
  2516. package/src/rss/edit.js +0 -7
  2517. package/src/rss/index.js +0 -7
  2518. package/src/rss/index.php +9 -3
  2519. package/src/rss/init.js +0 -3
  2520. package/src/search/edit.js +0 -11
  2521. package/src/search/index.js +0 -7
  2522. package/src/search/init.js +0 -3
  2523. package/src/search/variations.js +0 -3
  2524. package/src/search/view.js +0 -3
  2525. package/src/separator/deprecated.js +0 -7
  2526. package/src/separator/edit.js +0 -11
  2527. package/src/separator/index.js +0 -7
  2528. package/src/separator/init.js +0 -3
  2529. package/src/separator/save.js +0 -7
  2530. package/src/separator/test/edit.js +0 -11
  2531. package/src/separator/transforms.js +0 -3
  2532. package/src/separator/use-deprecated-opacity.js +0 -3
  2533. package/src/shortcode/edit.js +0 -3
  2534. package/src/shortcode/index.js +0 -7
  2535. package/src/shortcode/init.js +0 -3
  2536. package/src/shortcode/save.js +0 -3
  2537. package/src/shortcode/transforms.js +0 -3
  2538. package/src/site-logo/edit.js +0 -11
  2539. package/src/site-logo/index.js +0 -7
  2540. package/src/site-logo/init.js +0 -3
  2541. package/src/site-logo/transforms.js +0 -3
  2542. package/src/site-tagline/deprecated.js +0 -3
  2543. package/src/site-tagline/edit.js +7 -5
  2544. package/src/site-tagline/icon.js +0 -3
  2545. package/src/site-tagline/index.js +0 -3
  2546. package/src/site-tagline/init.js +0 -3
  2547. package/src/site-title/deprecated.js +0 -3
  2548. package/src/site-title/edit.js +7 -9
  2549. package/src/site-title/index.js +0 -7
  2550. package/src/site-title/init.js +0 -3
  2551. package/src/site-title/transforms.js +0 -3
  2552. package/src/social-link/edit.js +0 -11
  2553. package/src/social-link/icons/amazon.js +0 -3
  2554. package/src/social-link/icons/bandcamp.js +0 -4
  2555. package/src/social-link/icons/behance.js +0 -3
  2556. package/src/social-link/icons/bluesky.js +0 -3
  2557. package/src/social-link/icons/chain.js +0 -3
  2558. package/src/social-link/icons/codepen.js +0 -3
  2559. package/src/social-link/icons/deviantart.js +0 -3
  2560. package/src/social-link/icons/discord.js +0 -3
  2561. package/src/social-link/icons/dribbble.js +0 -3
  2562. package/src/social-link/icons/dropbox.js +0 -3
  2563. package/src/social-link/icons/etsy.js +0 -3
  2564. package/src/social-link/icons/facebook.js +0 -3
  2565. package/src/social-link/icons/feed.js +0 -3
  2566. package/src/social-link/icons/fivehundredpx.js +0 -3
  2567. package/src/social-link/icons/flickr.js +0 -3
  2568. package/src/social-link/icons/foursquare.js +0 -3
  2569. package/src/social-link/icons/github.js +0 -3
  2570. package/src/social-link/icons/goodreads.js +0 -3
  2571. package/src/social-link/icons/google.js +0 -3
  2572. package/src/social-link/icons/gravatar.js +0 -3
  2573. package/src/social-link/icons/instagram.js +0 -3
  2574. package/src/social-link/icons/lastfm.js +0 -3
  2575. package/src/social-link/icons/linkedin.js +0 -3
  2576. package/src/social-link/icons/mail.js +0 -3
  2577. package/src/social-link/icons/mastodon.js +0 -3
  2578. package/src/social-link/icons/medium.js +0 -3
  2579. package/src/social-link/icons/meetup.js +0 -3
  2580. package/src/social-link/icons/patreon.js +0 -3
  2581. package/src/social-link/icons/pinterest.js +0 -3
  2582. package/src/social-link/icons/pocket.js +0 -3
  2583. package/src/social-link/icons/reddit.js +0 -3
  2584. package/src/social-link/icons/skype.js +0 -3
  2585. package/src/social-link/icons/snapchat.js +0 -3
  2586. package/src/social-link/icons/soundcloud.js +0 -3
  2587. package/src/social-link/icons/spotify.js +0 -3
  2588. package/src/social-link/icons/telegram.js +0 -3
  2589. package/src/social-link/icons/threads.js +0 -3
  2590. package/src/social-link/icons/tiktok.js +0 -3
  2591. package/src/social-link/icons/tumblr.js +0 -3
  2592. package/src/social-link/icons/twitch.js +0 -3
  2593. package/src/social-link/icons/twitter.js +0 -3
  2594. package/src/social-link/icons/vimeo.js +0 -3
  2595. package/src/social-link/icons/vk.js +0 -3
  2596. package/src/social-link/icons/whatsapp.js +0 -3
  2597. package/src/social-link/icons/wordpress.js +0 -3
  2598. package/src/social-link/icons/x.js +0 -3
  2599. package/src/social-link/icons/yelp.js +0 -3
  2600. package/src/social-link/icons/youtube.js +0 -3
  2601. package/src/social-link/index.js +0 -7
  2602. package/src/social-link/index.php +19 -9
  2603. package/src/social-link/init.js +0 -3
  2604. package/src/social-link/social-list.js +0 -7
  2605. package/src/social-link/variations.js +0 -7
  2606. package/src/social-links/deprecated.js +0 -7
  2607. package/src/social-links/edit.js +21 -23
  2608. package/src/social-links/index.js +0 -7
  2609. package/src/social-links/init.js +0 -3
  2610. package/src/social-links/save.js +0 -7
  2611. package/src/spacer/controls.js +0 -7
  2612. package/src/spacer/deprecated.js +0 -3
  2613. package/src/spacer/edit.js +0 -11
  2614. package/src/spacer/index.js +0 -7
  2615. package/src/spacer/init.js +0 -3
  2616. package/src/spacer/save.js +0 -3
  2617. package/src/spacer/transforms.js +0 -3
  2618. package/src/tab-list/block.json +2 -1
  2619. package/src/tab-list/edit.js +2 -11
  2620. package/src/tab-list/editor.scss +9 -0
  2621. package/src/tab-list/index.js +0 -7
  2622. package/src/tab-list/init.js +0 -3
  2623. package/src/tab-list/save.js +0 -7
  2624. package/src/tab-list/tab-movers.js +65 -0
  2625. package/src/tab-panel/controls.js +0 -7
  2626. package/src/tab-panel/edit.js +1 -20
  2627. package/src/tab-panel/index.js +25 -7
  2628. package/src/tab-panel/init.js +0 -3
  2629. package/src/tab-panel/save.js +0 -3
  2630. package/src/tab-panels/edit.js +0 -19
  2631. package/src/tab-panels/index.js +8 -7
  2632. package/src/tab-panels/init.js +0 -3
  2633. package/src/tab-panels/save.js +0 -3
  2634. package/src/table/deprecated.js +0 -7
  2635. package/src/table/edit.js +1 -12
  2636. package/src/table/index.js +0 -7
  2637. package/src/table/init.js +0 -3
  2638. package/src/table/save.js +0 -7
  2639. package/src/table/test/state.js +0 -7
  2640. package/src/table/test/utils.js +0 -3
  2641. package/src/table/transforms.js +0 -7
  2642. package/src/table-of-contents/edit.js +91 -78
  2643. package/src/table-of-contents/hooks.js +0 -7
  2644. package/src/table-of-contents/index.js +0 -7
  2645. package/src/table-of-contents/index.php +386 -1
  2646. package/src/table-of-contents/init.js +0 -3
  2647. package/src/table-of-contents/list.tsx +0 -7
  2648. package/src/table-of-contents/save.js +0 -7
  2649. package/src/table-of-contents/utils.ts +43 -0
  2650. package/src/tabs/edit.js +12 -22
  2651. package/src/tabs/index.js +4 -7
  2652. package/src/tabs/init.js +0 -3
  2653. package/src/tabs/save.js +0 -3
  2654. package/src/tabs/tab-toolbar-controls.js +0 -7
  2655. package/src/tabs/use-tab-actions.js +33 -8
  2656. package/src/tabs/use-tab-list-items-sync.js +0 -3
  2657. package/src/tabs/view.js +7 -4
  2658. package/src/tag-cloud/edit.js +0 -7
  2659. package/src/tag-cloud/index.js +0 -7
  2660. package/src/tag-cloud/index.php +3 -2
  2661. package/src/tag-cloud/init.js +0 -3
  2662. package/src/tag-cloud/transforms.js +0 -3
  2663. package/src/template-part/edit/advanced-controls.js +0 -7
  2664. package/src/template-part/edit/import-controls.js +0 -7
  2665. package/src/template-part/edit/index.js +0 -7
  2666. package/src/template-part/edit/inner-blocks.js +0 -3
  2667. package/src/template-part/edit/placeholder.js +0 -7
  2668. package/src/template-part/edit/selection-modal.js +0 -7
  2669. package/src/template-part/edit/title-modal.js +0 -3
  2670. package/src/template-part/edit/utils/get-template-part-icon.js +0 -3
  2671. package/src/template-part/edit/utils/hooks.js +0 -11
  2672. package/src/template-part/edit/utils/map-template-part-to-block-pattern.js +0 -7
  2673. package/src/template-part/edit/utils/transformers.js +0 -3
  2674. package/src/template-part/index.js +0 -11
  2675. package/src/template-part/index.php +2 -1
  2676. package/src/template-part/init.js +0 -3
  2677. package/src/template-part/variations.js +0 -7
  2678. package/src/term-count/edit.js +0 -7
  2679. package/src/term-count/icons.js +0 -3
  2680. package/src/term-count/index.js +0 -7
  2681. package/src/term-count/init.js +0 -3
  2682. package/src/term-count/use-term-count.js +0 -3
  2683. package/src/term-description/deprecated.js +0 -3
  2684. package/src/term-description/edit.js +0 -7
  2685. package/src/term-description/index.js +0 -7
  2686. package/src/term-description/init.js +0 -3
  2687. package/src/term-description/use-term-description.js +0 -3
  2688. package/src/term-name/deprecated.js +0 -3
  2689. package/src/term-name/edit.js +0 -7
  2690. package/src/term-name/index.js +0 -7
  2691. package/src/term-name/use-term-name.js +0 -3
  2692. package/src/term-template/edit.js +1 -10
  2693. package/src/term-template/index.js +3 -7
  2694. package/src/term-template/save.js +0 -3
  2695. package/src/terms-query/edit/index.js +0 -7
  2696. package/src/terms-query/edit/inspector-controls/advanced-controls.js +0 -7
  2697. package/src/terms-query/edit/inspector-controls/empty-terms-control.js +0 -3
  2698. package/src/terms-query/edit/inspector-controls/include-control.js +0 -3
  2699. package/src/terms-query/edit/inspector-controls/index.js +0 -7
  2700. package/src/terms-query/edit/inspector-controls/inherit-control.js +0 -3
  2701. package/src/terms-query/edit/inspector-controls/max-terms-control.js +0 -3
  2702. package/src/terms-query/edit/inspector-controls/nested-terms-control.js +0 -3
  2703. package/src/terms-query/edit/inspector-controls/order-control.js +0 -3
  2704. package/src/terms-query/edit/inspector-controls/taxonomy-control.js +0 -7
  2705. package/src/terms-query/edit/terms-query-content.js +1 -12
  2706. package/src/terms-query/edit/terms-query-placeholder.js +0 -3
  2707. package/src/terms-query/index.js +3 -7
  2708. package/src/terms-query/save.js +0 -3
  2709. package/src/terms-query/utils.js +0 -3
  2710. package/src/terms-query/variations.js +0 -3
  2711. package/src/text-columns/edit.js +0 -3
  2712. package/src/text-columns/index.js +0 -3
  2713. package/src/text-columns/init.js +0 -3
  2714. package/src/text-columns/save.js +0 -3
  2715. package/src/text-columns/transforms.js +0 -3
  2716. package/src/utils/caption.js +7 -11
  2717. package/src/utils/deprecated-text-align-attributes.js +0 -3
  2718. package/src/utils/get-transformed-attributes.js +0 -3
  2719. package/src/utils/hooks.js +0 -3
  2720. package/src/utils/html-renderer.js +0 -7
  2721. package/src/utils/init-block.js +0 -3
  2722. package/src/utils/is-within-overlay.js +0 -7
  2723. package/src/utils/media-control.js +0 -3
  2724. package/src/utils/migrate-font-family.js +0 -7
  2725. package/src/utils/poster-image.js +0 -7
  2726. package/src/utils/search-patterns.js +0 -3
  2727. package/src/utils/style-state.js +0 -7
  2728. package/src/utils/test/search-patterns.js +0 -3
  2729. package/src/utils/test/style-state.js +0 -3
  2730. package/src/utils/test/waveform-player-dependency.js +203 -0
  2731. package/src/utils/test/waveform-player.js +0 -7
  2732. package/src/utils/test/waveform-utils.js +63 -7
  2733. package/src/utils/waveform-player.js +0 -7
  2734. package/src/utils/waveform-utils.js +0 -4
  2735. package/src/verse/deprecated.js +0 -11
  2736. package/src/verse/edit.js +7 -9
  2737. package/src/verse/index.js +0 -7
  2738. package/src/verse/init.js +0 -3
  2739. package/src/verse/save.js +0 -3
  2740. package/src/verse/transforms.js +0 -3
  2741. package/src/video/deprecated.js +0 -7
  2742. package/src/video/edit-common-settings.js +0 -3
  2743. package/src/video/edit.js +31 -40
  2744. package/src/video/index.js +0 -7
  2745. package/src/video/index.php +2 -2
  2746. package/src/video/init.js +0 -3
  2747. package/src/video/save.js +0 -7
  2748. package/src/video/test/variations.js +0 -3
  2749. package/src/video/tracks-editor.js +0 -8
  2750. package/src/video/transforms.js +0 -3
  2751. package/src/video/variations.js +1 -4
  2752. package/build/page-list/convert-to-links-modal.cjs +0 -89
  2753. package/build/page-list/convert-to-links-modal.cjs.map +0 -7
  2754. package/build-module/page-list/convert-to-links-modal.mjs +0 -63
  2755. package/build-module/page-list/convert-to-links-modal.mjs.map +0 -7
  2756. 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/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 * The Gallery block's \"Source\" inspector panel.\n *\n * In dynamic mode it shows the resolved source, a control to convert back to\n * individual images, and the source ordering. In static mode it offers the\n * entry point into dynamic mode — and, since switching discards any hand-added\n * images, owns the confirmation dialog for that one-way change. Rendered inside\n * the block's `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\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<ToolsPanel\n\t\t\t\tlabel={ __( 'Source' ) }\n\t\t\t\tresetAll={ resetSource }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<div className=\"wp-block-gallery__source-settings\">\n\t\t\t\t\t<p className=\"wp-block-gallery__source-description\">\n\t\t\t\t\t\t{ sourceDescriptor?.description ??\n\t\t\t\t\t\t\t__( 'Dynamic images.' ) }\n\t\t\t\t\t</p>\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={ convertToStatic }\n\t\t\t\t\t\t// Guard the race where the media is still resolving:\n\t\t\t\t\t\t// converting now would map over an incomplete (or empty)\n\t\t\t\t\t\t// list and produce a gallery missing images.\n\t\t\t\t\t\tdisabled={ isResolvingDynamic }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Convert to individual images' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t\t{ hasMoreImagesThanCap && (\n\t\t\t\t\t<Notice\n\t\t\t\t\t\tclassName=\"wp-block-gallery__source-notice\"\n\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ sprintf(\n\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__(\n\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),\n\t\t\t\t\t\t\tMAX_IMAGES,\n\t\t\t\t\t\t\tdynamicMediaTotal\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Notice>\n\t\t\t\t) }\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\tlabel={ __( 'Order by' ) }\n\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\tsourceOrderby !== DEFAULT_ORDERBY ||\n\t\t\t\t\t\tsourceOrder !== DEFAULT_ORDER\n\t\t\t\t\t}\n\t\t\t\t\tonDeselect={ () => setSourceOrder( undefined, undefined ) }\n\t\t\t\t>\n\t\t\t\t\t<OrderControl\n\t\t\t\t\t\torderby={ sourceOrderby }\n\t\t\t\t\t\torder={ sourceOrder }\n\t\t\t\t\t\tonChange={ ( { orderby, order } ) =>\n\t\t\t\t\t\t\tsetSourceOrder( orderby, order )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</ToolsPanel>\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 convert back to individual images;\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// Converting to a static gallery materializes editable inner blocks, which\n\t// is a 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\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<BlockControls group=\"other\">\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ convertToStatic }\n\t\t\t\t\t\t// Same guard as the inspector's \"Convert to individual\n\t\t\t\t\t\t// images\": both call `convertToStatic`, which would map over\n\t\t\t\t\t\t// a still-resolving (or empty) media list. (`ToolbarButton`\n\t\t\t\t\t\t// stays focusable when disabled by default.)\n\t\t\t\t\t\tdisabled={ isResolvingDynamic }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Convert to images' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</BlockControls>\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
- "names": ["ToolsPanel", "ToolsPanelItem", "ConfirmDialog", "useBlockPreview"]
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
+ "names": ["ConfirmDialog", "ToolsPanel", "ToolsPanelItem", "useBlockPreview"]
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": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AAQZ,IAAM,iBAAiB;AASvB,IAAM,kBAAkB;AACxB,IAAM,gBAAgB;AAU7B,IAAM,kBAAkB;AAAA,EACvB,CAAE,cAAe,GAAG;AAAA;AAAA;AAAA,IAGnB,WAAO,gBAAI,qBAAsB;AAAA;AAAA,IAEjC,iBAAa,gBAAI,8BAA+B;AAAA;AAAA,IAEhD,kBAAc,gBAAI,+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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAmB;AAQZ,IAAM,iBAAiB;AASvB,IAAM,kBAAkB;AACxB,IAAM,gBAAgB;AAU7B,IAAM,kBAAkB;AAAA,EACvB,CAAE,cAAe,GAAG;AAAA;AAAA;AAAA,IAGnB,WAAO,gBAAI,qBAAsB;AAAA;AAAA,IAEjC,iBAAa,gBAAI,8BAA+B;AAAA;AAAA,IAEhD,kBAAc,gBAAI,+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": ["import_utils", "imageIcon", "blockEditorStore", "noticesStore", "useGetMedia", "useGetNewImages", "useDynamicGallery", "useImageSizes", "clsx", "ToolsPanel", "ToolsPanelItem", "ToggleGroupControl", "ToggleGroupControlOption", "linkIcon", "GalleryGapCustomProperties", "Gallery"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/gallery/gallery.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { Caption } from '../utils/caption';\n\nexport default function Gallery( props ) {\n\tconst {\n\t\tattributes,\n\t\tisSelected,\n\t\tsetAttributes,\n\t\tinsertBlocksAfter,\n\t\tblockProps,\n\t\t__unstableLayoutClassNames: layoutClassNames,\n\t\tisContentLocked,\n\t\tmultiGallerySelection,\n\t} = props;\n\n\tconst { align, columns, imageCrop } = attributes;\n\n\treturn (\n\t\t<figure\n\t\t\t{ ...blockProps }\n\t\t\tclassName={ clsx(\n\t\t\t\tblockProps.className,\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\t\t{ blockProps.children }\n\t\t\t<Caption\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tshowToolbarButton={\n\t\t\t\t\t! multiGallerySelection && ! isContentLocked\n\t\t\t\t}\n\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\tlabel={ __( 'Gallery caption text' ) }\n\t\t\t\tplaceholder={ __( 'Add gallery caption' ) }\n\t\t\t/>\n\t\t</figure>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAiB;AAKjB,kBAAmB;AAKnB,qBAAwB;AAiBtB;AAfa,SAAR,QAA0B,OAAQ;AACxC,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,4BAA4B;AAAA,IAC5B;AAAA,IACA;AAAA,EACD,IAAI;AAEJ,QAAM,EAAE,OAAO,SAAS,UAAU,IAAI;AAEtC,SACC;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACL,eAAY,YAAAA;AAAA,QACX,WAAW;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,UACC,CAAE,QAAS,KAAM,EAAG,GAAG;AAAA,UACvB,CAAE,WAAY,OAAQ,EAAG,GAAG,YAAY;AAAA,UACxC,CAAE,iBAAkB,GAAG,YAAY;AAAA,UACnC,cAAc;AAAA,QACf;AAAA,MACD;AAAA,MAEE;AAAA,mBAAW;AAAA,QACb;AAAA,UAAC;AAAA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,mBACC,CAAE,yBAAyB,CAAE;AAAA,YAE9B,WAAU;AAAA,YACV,WAAQ,gBAAI,sBAAuB;AAAA,YACnC,iBAAc,gBAAI,qBAAsB;AAAA;AAAA,QACzC;AAAA;AAAA;AAAA,EACD;AAEF;",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport { __ } from '@wordpress/i18n';\nimport { Caption } from '../utils/caption';\n\nexport default function Gallery( props ) {\n\tconst {\n\t\tattributes,\n\t\tisSelected,\n\t\tsetAttributes,\n\t\tinsertBlocksAfter,\n\t\tblockProps,\n\t\t__unstableLayoutClassNames: layoutClassNames,\n\t\tisContentLocked,\n\t\tmultiGallerySelection,\n\t} = props;\n\n\tconst { align, columns, imageCrop } = attributes;\n\n\treturn (\n\t\t<figure\n\t\t\t{ ...blockProps }\n\t\t\tclassName={ clsx(\n\t\t\t\tblockProps.className,\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\t\t{ blockProps.children }\n\t\t\t<Caption\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tshowToolbarButton={\n\t\t\t\t\t! multiGallerySelection && ! isContentLocked\n\t\t\t\t}\n\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\tlabel={ __( 'Gallery caption text' ) }\n\t\t\t\tplaceholder={ __( 'Add gallery caption' ) }\n\t\t\t/>\n\t\t</figure>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiB;AACjB,kBAAmB;AACnB,qBAAwB;AAiBtB;AAfa,SAAR,QAA0B,OAAQ;AACxC,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,4BAA4B;AAAA,IAC5B;AAAA,IACA;AAAA,EACD,IAAI;AAEJ,QAAM,EAAE,OAAO,SAAS,UAAU,IAAI;AAEtC,SACC;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACL,eAAY,YAAAA;AAAA,QACX,WAAW;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,UACC,CAAE,QAAS,KAAM,EAAG,GAAG;AAAA,UACvB,CAAE,WAAY,OAAQ,EAAG,GAAG,YAAY;AAAA,UACxC,CAAE,iBAAkB,GAAG,YAAY;AAAA,UACnC,cAAc;AAAA,QACf;AAAA,MACD;AAAA,MAEE;AAAA,mBAAW;AAAA,QACb;AAAA,UAAC;AAAA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,mBACC,CAAE,yBAAyB,CAAE;AAAA,YAE9B,WAAU;AAAA,YACV,WAAQ,gBAAI,sBAAuB;AAAA,YACnC,iBAAc,gBAAI,qBAAsB;AAAA;AAAA,QACzC;AAAA;AAAA;AAAA,EACD;AAEF;",
6
6
  "names": ["clsx"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/gallery/gap-styles.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalGetGapCSSValue as getGapCSSValue,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\tuseStyleOverride,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { privateApis as globalStylesEnginePrivateApis } from '@wordpress/global-styles-engine';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { getResponsiveMediaQueries } = unlock( globalStylesEnginePrivateApis );\nconst { globalStylesDataKey } = unlock( blockEditorPrivateApis );\nconst GALLERY_BLOCK_NAME = 'core/gallery';\n\n// --gallery-block--gutter-size is deprecated. --wp--style--gallery-gap-default should be used by themes that want to set a default\n// gap on the gallery.\nconst FALLBACK_VALUE = `var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) )`;\n\nfunction getGalleryGapCustomPropertyStyle( selector, blockGap ) {\n\tlet column = FALLBACK_VALUE;\n\tif ( blockGap ) {\n\t\tcolumn =\n\t\t\ttypeof blockGap === 'string'\n\t\t\t\t? getGapCSSValue( blockGap ) || FALLBACK_VALUE\n\t\t\t\t: getGapCSSValue( blockGap?.left ) || FALLBACK_VALUE;\n\t}\n\n\t// The unstable gallery gap calculation requires a real value (such as `0px`) and not `0`.\n\treturn `${ selector } {\n\t\t--wp--style--unstable-gallery-gap: ${ column === '0' ? '0px' : column }\n\t}`;\n}\n\nfunction getBlockGapValue( style ) {\n\tif ( ! Object.hasOwn( style?.spacing || {}, 'blockGap' ) ) {\n\t\treturn undefined;\n\t}\n\n\treturn style.spacing.blockGap;\n}\n\nexport default function GalleryGapCustomProperties( { style, clientId } ) {\n\tconst selector = `#block-${ clientId }`;\n\tconst [ viewportSettings ] = useSettings( 'viewport' );\n\tconst globalStyles = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings()?.[ globalStylesDataKey ],\n\t\t[]\n\t);\n\tconst globalGalleryStyles =\n\t\tglobalStyles?.blocks?.[ GALLERY_BLOCK_NAME ] || {};\n\tconst styleBlockGap = getBlockGapValue( style );\n\tconst globalGalleryBlockGap =\n\t\tglobalGalleryStyles?.spacing?.blockGap ?? FALLBACK_VALUE;\n\t// Prefer the block's own gap value, then Gallery global styles. Missing\n\t// values fall back to the Gallery blockGap default.\n\tconst blockGap =\n\t\tstyleBlockGap === undefined ? globalGalleryBlockGap : styleBlockGap;\n\tlet gap = getGalleryGapCustomPropertyStyle( selector, blockGap );\n\n\tObject.entries( getResponsiveMediaQueries( viewportSettings ) ).forEach(\n\t\t( [ viewport, mediaQuery ] ) => {\n\t\t\tconst styleViewportBlockGap = getBlockGapValue(\n\t\t\t\tstyle?.[ viewport ]\n\t\t\t);\n\t\t\t// Viewport-specific block values win. Gallery global viewport values\n\t\t\t// only apply when the block has no base gap, so they do not override an instance value.\n\t\t\tconst globalViewportBlockGap =\n\t\t\t\tstyleBlockGap === undefined\n\t\t\t\t\t? globalGalleryStyles?.[ viewport ]?.spacing?.blockGap\n\t\t\t\t\t: undefined;\n\t\t\tconst viewportBlockGap =\n\t\t\t\tstyleViewportBlockGap === undefined\n\t\t\t\t\t? globalViewportBlockGap\n\t\t\t\t\t: styleViewportBlockGap;\n\t\t\tif ( viewportBlockGap === undefined || viewportBlockGap === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tgap += `${ mediaQuery }{${ getGalleryGapCustomPropertyStyle(\n\t\t\t\tselector,\n\t\t\t\tviewportBlockGap\n\t\t\t) }}`;\n\t\t}\n\t);\n\n\tuseStyleOverride( { css: gap } );\n\n\treturn null;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAMO;AACP,kBAA0B;AAC1B,kCAA6D;AAK7D,yBAAuB;AAEvB,IAAM,EAAE,0BAA0B,QAAI,2BAAQ,4BAAAA,WAA8B;AAC5E,IAAM,EAAE,oBAAoB,QAAI,2BAAQ,oBAAAC,WAAuB;AAC/D,IAAM,qBAAqB;AAI3B,IAAM,iBAAiB;AAEvB,SAAS,iCAAkC,UAAU,UAAW;AAC/D,MAAI,SAAS;AACb,MAAK,UAAW;AACf,aACC,OAAO,aAAa,eACjB,oBAAAC,8BAAgB,QAAS,KAAK,qBAC9B,oBAAAA,8BAAgB,UAAU,IAAK,KAAK;AAAA,EACzC;AAGA,SAAO,GAAI,QAAS;AAAA,uCACmB,WAAW,MAAM,QAAQ,MAAO;AAAA;AAExE;AAEA,SAAS,iBAAkB,OAAQ;AAClC,MAAK,CAAE,OAAO,OAAQ,OAAO,WAAW,CAAC,GAAG,UAAW,GAAI;AAC1D,WAAO;AAAA,EACR;AAEA,SAAO,MAAM,QAAQ;AACtB;AAEe,SAAR,2BAA6C,EAAE,OAAO,SAAS,GAAI;AACzE,QAAM,WAAW,UAAW,QAAS;AACrC,QAAM,CAAE,gBAAiB,QAAI,iCAAa,UAAW;AACrD,QAAM,mBAAe;AAAA,IACpB,CAAE,WACD,OAAQ,oBAAAC,KAAiB,EAAE,YAAY,IAAK,mBAAoB;AAAA,IACjE,CAAC;AAAA,EACF;AACA,QAAM,sBACL,cAAc,SAAU,kBAAmB,KAAK,CAAC;AAClD,QAAM,gBAAgB,iBAAkB,KAAM;AAC9C,QAAM,wBACL,qBAAqB,SAAS,YAAY;AAG3C,QAAM,WACL,kBAAkB,SAAY,wBAAwB;AACvD,MAAI,MAAM,iCAAkC,UAAU,QAAS;AAE/D,SAAO,QAAS,0BAA2B,gBAAiB,CAAE,EAAE;AAAA,IAC/D,CAAE,CAAE,UAAU,UAAW,MAAO;AAC/B,YAAM,wBAAwB;AAAA,QAC7B,QAAS,QAAS;AAAA,MACnB;AAGA,YAAM,yBACL,kBAAkB,SACf,sBAAuB,QAAS,GAAG,SAAS,WAC5C;AACJ,YAAM,mBACL,0BAA0B,SACvB,yBACA;AACJ,UAAK,qBAAqB,UAAa,qBAAqB,MAAO;AAClE;AAAA,MACD;AAEA,aAAO,GAAI,UAAW,IAAK;AAAA,QAC1B;AAAA,QACA;AAAA,MACD,CAAE;AAAA,IACH;AAAA,EACD;AAEA,4CAAkB,EAAE,KAAK,IAAI,CAAE;AAE/B,SAAO;AACR;",
4
+ "sourcesContent": ["import {\n\t__experimentalGetGapCSSValue as getGapCSSValue,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\tuseStyleOverride,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { privateApis as globalStylesEnginePrivateApis } from '@wordpress/global-styles-engine';\nimport { unlock } from '../lock-unlock';\n\nconst { getResponsiveMediaQueries } = unlock( globalStylesEnginePrivateApis );\nconst { globalStylesDataKey } = unlock( blockEditorPrivateApis );\nconst GALLERY_BLOCK_NAME = 'core/gallery';\n\n// --gallery-block--gutter-size is deprecated. --wp--style--gallery-gap-default should be used by themes that want to set a default\n// gap on the gallery.\nconst FALLBACK_VALUE = `var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) )`;\n\nfunction getGalleryGapCustomPropertyStyle( selector, blockGap ) {\n\tlet column = FALLBACK_VALUE;\n\tif ( blockGap ) {\n\t\tcolumn =\n\t\t\ttypeof blockGap === 'string'\n\t\t\t\t? getGapCSSValue( blockGap ) || FALLBACK_VALUE\n\t\t\t\t: getGapCSSValue( blockGap?.left ) || FALLBACK_VALUE;\n\t}\n\n\t// The unstable gallery gap calculation requires a real value (such as `0px`) and not `0`.\n\treturn `${ selector } {\n\t\t--wp--style--unstable-gallery-gap: ${ column === '0' ? '0px' : column }\n\t}`;\n}\n\nfunction getBlockGapValue( style ) {\n\tif ( ! Object.hasOwn( style?.spacing || {}, 'blockGap' ) ) {\n\t\treturn undefined;\n\t}\n\n\treturn style.spacing.blockGap;\n}\n\nexport default function GalleryGapCustomProperties( { style, clientId } ) {\n\tconst selector = `#block-${ clientId }`;\n\tconst [ viewportSettings ] = useSettings( 'viewport' );\n\tconst globalStyles = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings()?.[ globalStylesDataKey ],\n\t\t[]\n\t);\n\tconst globalGalleryStyles =\n\t\tglobalStyles?.blocks?.[ GALLERY_BLOCK_NAME ] || {};\n\tconst styleBlockGap = getBlockGapValue( style );\n\tconst globalGalleryBlockGap =\n\t\tglobalGalleryStyles?.spacing?.blockGap ?? FALLBACK_VALUE;\n\t// Prefer the block's own gap value, then Gallery global styles. Missing\n\t// values fall back to the Gallery blockGap default.\n\tconst blockGap =\n\t\tstyleBlockGap === undefined ? globalGalleryBlockGap : styleBlockGap;\n\tlet gap = getGalleryGapCustomPropertyStyle( selector, blockGap );\n\n\tObject.entries( getResponsiveMediaQueries( viewportSettings ) ).forEach(\n\t\t( [ viewport, mediaQuery ] ) => {\n\t\t\tconst styleViewportBlockGap = getBlockGapValue(\n\t\t\t\tstyle?.[ viewport ]\n\t\t\t);\n\t\t\t// Viewport-specific block values win. Gallery global viewport values\n\t\t\t// only apply when the block has no base gap, so they do not override an instance value.\n\t\t\tconst globalViewportBlockGap =\n\t\t\t\tstyleBlockGap === undefined\n\t\t\t\t\t? globalGalleryStyles?.[ viewport ]?.spacing?.blockGap\n\t\t\t\t\t: undefined;\n\t\t\tconst viewportBlockGap =\n\t\t\t\tstyleViewportBlockGap === undefined\n\t\t\t\t\t? globalViewportBlockGap\n\t\t\t\t\t: styleViewportBlockGap;\n\t\t\tif ( viewportBlockGap === undefined || viewportBlockGap === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tgap += `${ mediaQuery }{${ getGalleryGapCustomPropertyStyle(\n\t\t\t\tselector,\n\t\t\t\tviewportBlockGap\n\t\t\t) }}`;\n\t\t}\n\t);\n\n\tuseStyleOverride( { css: gap } );\n\n\treturn null;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAMO;AACP,kBAA0B;AAC1B,kCAA6D;AAC7D,yBAAuB;AAEvB,IAAM,EAAE,0BAA0B,QAAI,2BAAQ,4BAAAA,WAA8B;AAC5E,IAAM,EAAE,oBAAoB,QAAI,2BAAQ,oBAAAC,WAAuB;AAC/D,IAAM,qBAAqB;AAI3B,IAAM,iBAAiB;AAEvB,SAAS,iCAAkC,UAAU,UAAW;AAC/D,MAAI,SAAS;AACb,MAAK,UAAW;AACf,aACC,OAAO,aAAa,eACjB,oBAAAC,8BAAgB,QAAS,KAAK,qBAC9B,oBAAAA,8BAAgB,UAAU,IAAK,KAAK;AAAA,EACzC;AAGA,SAAO,GAAI,QAAS;AAAA,uCACmB,WAAW,MAAM,QAAQ,MAAO;AAAA;AAExE;AAEA,SAAS,iBAAkB,OAAQ;AAClC,MAAK,CAAE,OAAO,OAAQ,OAAO,WAAW,CAAC,GAAG,UAAW,GAAI;AAC1D,WAAO;AAAA,EACR;AAEA,SAAO,MAAM,QAAQ;AACtB;AAEe,SAAR,2BAA6C,EAAE,OAAO,SAAS,GAAI;AACzE,QAAM,WAAW,UAAW,QAAS;AACrC,QAAM,CAAE,gBAAiB,QAAI,iCAAa,UAAW;AACrD,QAAM,mBAAe;AAAA,IACpB,CAAE,WACD,OAAQ,oBAAAC,KAAiB,EAAE,YAAY,IAAK,mBAAoB;AAAA,IACjE,CAAC;AAAA,EACF;AACA,QAAM,sBACL,cAAc,SAAU,kBAAmB,KAAK,CAAC;AAClD,QAAM,gBAAgB,iBAAkB,KAAM;AAC9C,QAAM,wBACL,qBAAqB,SAAS,YAAY;AAG3C,QAAM,WACL,kBAAkB,SAAY,wBAAwB;AACvD,MAAI,MAAM,iCAAkC,UAAU,QAAS;AAE/D,SAAO,QAAS,0BAA2B,gBAAiB,CAAE,EAAE;AAAA,IAC/D,CAAE,CAAE,UAAU,UAAW,MAAO;AAC/B,YAAM,wBAAwB;AAAA,QAC7B,QAAS,QAAS;AAAA,MACnB;AAGA,YAAM,yBACL,kBAAkB,SACf,sBAAuB,QAAS,GAAG,SAAS,WAC5C;AACJ,YAAM,mBACL,0BAA0B,SACvB,yBACA;AACJ,UAAK,qBAAqB,UAAa,qBAAqB,MAAO;AAClE;AAAA,MACD;AAEA,aAAO,GAAI,UAAW,IAAK;AAAA,QAC1B;AAAA,QACA;AAAA,MACD,CAAE;AAAA,IACH;AAAA,EACD;AAEA,4CAAkB,EAAE,KAAK,IAAI,CAAE;AAE/B,SAAO;AACR;",
6
6
  "names": ["globalStylesEnginePrivateApis", "blockEditorPrivateApis", "getGapCSSValue", "blockEditorStore"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/gallery/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { gallery as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcolumns: 2,\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/image',\n\t\t\t\tattributes: {\n\t\t\t\t\turl: 'https://s.w.org/images/core/5.3/Glacial_lakes%2C_Bhutan.jpg',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/image',\n\t\t\t\tattributes: {\n\t\t\t\t\turl: 'https://s.w.org/images/core/5.3/Sediment_off_the_Yucatan_Peninsula.jpg',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tvariations,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,mBAAgC;AAKhC,wBAAsB;AACtB,wBAAuB;AACvB,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AACjB,wBAAuB;AACvB,wBAAuB;AAEvB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAC;AAAA,EACA,SAAS;AAAA,IACR,YAAY;AAAA,MACX,SAAS;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACZ;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,KAAK;AAAA,QACN;AAAA,MACD;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,KAAK;AAAA,QACN;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,8BAAAC;AAAA,EACA,8BAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,8BAAAC;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
4
+ "sourcesContent": ["import { gallery as icon } from '@wordpress/icons';\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcolumns: 2,\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/image',\n\t\t\t\tattributes: {\n\t\t\t\t\turl: 'https://s.w.org/images/core/5.3/Glacial_lakes%2C_Bhutan.jpg',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/image',\n\t\t\t\tattributes: {\n\t\t\t\t\turl: 'https://s.w.org/images/core/5.3/Sediment_off_the_Yucatan_Peninsula.jpg',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tvariations,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,mBAAgC;AAChC,wBAAsB;AACtB,wBAAuB;AACvB,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AACjB,wBAAuB;AACvB,wBAAuB;AAEvB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAC;AAAA,EACA,SAAS;AAAA,IACR,YAAY;AAAA,MACX,SAAS;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACZ;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,KAAK;AAAA,QACN;AAAA,MACD;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,KAAK;AAAA,QACN;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,8BAAAC;AAAA,EACA,8BAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,8BAAAC;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
6
6
  "names": ["metadata", "icon", "transforms", "variations", "edit", "save", "deprecated", "initBlock", "metadata"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/gallery/init.js"],
4
- "sourcesContent": ["/**\n * Internal dependencies\n */\nimport { init } from './';\n\nexport default init();\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,eAAqB;AAErB,IAAO,mBAAQ,eAAK;",
4
+ "sourcesContent": ["import { init } from './';\n\nexport default init();\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAAqB;AAErB,IAAO,mBAAQ,eAAK;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/gallery/save.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\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\n\nexport default function saveWithInnerBlocks( { attributes } ) {\n\tconst { caption, columns, imageCrop, dynamicContent } = attributes;\n\n\tconst captionElement = ! RichText.isEmpty( caption ) && (\n\t\t<RichText.Content\n\t\t\ttagName=\"figcaption\"\n\t\t\tclassName={ clsx(\n\t\t\t\t'blocks-gallery-caption',\n\t\t\t\t__experimentalGetElementClassName( 'caption' )\n\t\t\t) }\n\t\t\tvalue={ caption }\n\t\t/>\n\t);\n\n\t// In dynamic mode the images are resolved at render time and the `<figure>`\n\t// wrapper is built by the server render callback (`block_core_gallery_render()`),\n\t// so persist only the gallery-level caption. It still sources from\n\t// `.blocks-gallery-caption`, so it round-trips; the render callback drops it in\n\t// after the resolved images. Nothing is saved when there's no caption.\n\tif ( dynamicContent ) {\n\t\treturn captionElement || null;\n\t}\n\n\tconst className = clsx( 'has-nested-images', {\n\t\t[ `columns-${ columns }` ]: columns !== undefined,\n\t\t[ `columns-default` ]: columns === undefined,\n\t\t'is-cropped': imageCrop,\n\t} );\n\tconst blockProps = useBlockProps.save( { className } );\n\tconst innerBlocksProps = useInnerBlocksProps.save( blockProps );\n\n\treturn (\n\t\t<figure { ...innerBlocksProps }>\n\t\t\t{ innerBlocksProps.children }\n\t\t\t{ captionElement }\n\t\t</figure>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAiB;AAKjB,0BAKO;AAML;AAJa,SAAR,oBAAsC,EAAE,WAAW,GAAI;AAC7D,QAAM,EAAE,SAAS,SAAS,WAAW,eAAe,IAAI;AAExD,QAAM,iBAAiB,CAAE,6BAAS,QAAS,OAAQ,KAClD;AAAA,IAAC,6BAAS;AAAA,IAAT;AAAA,MACA,SAAQ;AAAA,MACR,eAAY,YAAAA;AAAA,QACX;AAAA,YACA,uDAAmC,SAAU;AAAA,MAC9C;AAAA,MACA,OAAQ;AAAA;AAAA,EACT;AAQD,MAAK,gBAAiB;AACrB,WAAO,kBAAkB;AAAA,EAC1B;AAEA,QAAM,gBAAY,YAAAA,SAAM,qBAAqB;AAAA,IAC5C,CAAE,WAAY,OAAQ,EAAG,GAAG,YAAY;AAAA,IACxC,CAAE,iBAAkB,GAAG,YAAY;AAAA,IACnC,cAAc;AAAA,EACf,CAAE;AACF,QAAM,aAAa,kCAAc,KAAM,EAAE,UAAU,CAAE;AACrD,QAAM,mBAAmB,wCAAoB,KAAM,UAAW;AAE9D,SACC,6CAAC,YAAS,GAAG,kBACV;AAAA,qBAAiB;AAAA,IACjB;AAAA,KACH;AAEF;",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport {\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\n\nexport default function saveWithInnerBlocks( { attributes } ) {\n\tconst { caption, columns, imageCrop, dynamicContent } = attributes;\n\n\tconst captionElement = ! RichText.isEmpty( caption ) && (\n\t\t<RichText.Content\n\t\t\ttagName=\"figcaption\"\n\t\t\tclassName={ clsx(\n\t\t\t\t'blocks-gallery-caption',\n\t\t\t\t__experimentalGetElementClassName( 'caption' )\n\t\t\t) }\n\t\t\tvalue={ caption }\n\t\t/>\n\t);\n\n\t// In dynamic mode the images are resolved at render time and the `<figure>`\n\t// wrapper is built by the server render callback (`block_core_gallery_render()`),\n\t// so persist only the gallery-level caption. It still sources from\n\t// `.blocks-gallery-caption`, so it round-trips; the render callback drops it in\n\t// after the resolved images. Nothing is saved when there's no caption.\n\tif ( dynamicContent ) {\n\t\treturn captionElement || null;\n\t}\n\n\tconst className = clsx( 'has-nested-images', {\n\t\t[ `columns-${ columns }` ]: columns !== undefined,\n\t\t[ `columns-default` ]: columns === undefined,\n\t\t'is-cropped': imageCrop,\n\t} );\n\tconst blockProps = useBlockProps.save( { className } );\n\tconst innerBlocksProps = useInnerBlocksProps.save( blockProps );\n\n\treturn (\n\t\t<figure { ...innerBlocksProps }>\n\t\t\t{ innerBlocksProps.children }\n\t\t\t{ captionElement }\n\t\t</figure>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiB;AACjB,0BAKO;AAML;AAJa,SAAR,oBAAsC,EAAE,WAAW,GAAI;AAC7D,QAAM,EAAE,SAAS,SAAS,WAAW,eAAe,IAAI;AAExD,QAAM,iBAAiB,CAAE,6BAAS,QAAS,OAAQ,KAClD;AAAA,IAAC,6BAAS;AAAA,IAAT;AAAA,MACA,SAAQ;AAAA,MACR,eAAY,YAAAA;AAAA,QACX;AAAA,YACA,uDAAmC,SAAU;AAAA,MAC9C;AAAA,MACA,OAAQ;AAAA;AAAA,EACT;AAQD,MAAK,gBAAiB;AACrB,WAAO,kBAAkB;AAAA,EAC1B;AAEA,QAAM,gBAAY,YAAAA,SAAM,qBAAqB;AAAA,IAC5C,CAAE,WAAY,OAAQ,EAAG,GAAG,YAAY;AAAA,IACxC,CAAE,iBAAkB,GAAG,YAAY;AAAA,IACnC,cAAc;AAAA,EACf,CAAE;AACF,QAAM,aAAa,kCAAc,KAAM,EAAE,UAAU,CAAE;AACrD,QAAM,mBAAmB,wCAAoB,KAAM,UAAW;AAE9D,SACC,6CAAC,YAAS,GAAG,kBACV;AAAA,qBAAiB;AAAA,IACjB;AAAA,KACH;AAEF;",
6
6
  "names": ["clsx"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/gallery/shared-icon.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { BlockIcon } from '@wordpress/block-editor';\nimport { gallery as icon } from '@wordpress/icons';\n\nexport const sharedIcon = <BlockIcon icon={ icon } />;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAA0B;AAC1B,mBAAgC;AAEN;AAAnB,IAAM,aAAa,4CAAC,iCAAU,MAAO,aAAAA,SAAO;",
4
+ "sourcesContent": ["import { BlockIcon } from '@wordpress/block-editor';\nimport { gallery as icon } from '@wordpress/icons';\n\nexport const sharedIcon = <BlockIcon icon={ icon } />;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA0B;AAC1B,mBAAgC;AAEN;AAAnB,IAAM,aAAa,4CAAC,iCAAU,MAAO,aAAAA,SAAO;",
6
6
  "names": ["icon"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/gallery/transforms.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_MEDIA,\n} from './constants';\nimport { defaultColumnsNumber } from './shared';\n\nconst parseShortcodeIds = ( ids ) => {\n\tif ( ! ids ) {\n\t\treturn [];\n\t}\n\n\treturn ids.split( ',' ).map( ( id ) => parseInt( id, 10 ) );\n};\n\nconst cloneInnerBlocks = ( innerBlocks ) =>\n\tinnerBlocks.map( ( innerBlock ) =>\n\t\tcreateBlock(\n\t\t\tinnerBlock.name,\n\t\t\tinnerBlock.attributes,\n\t\t\tcloneInnerBlocks( innerBlock.innerBlocks || [] )\n\t\t)\n\t);\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * 3rdPartyBlock -> GalleryBlock transform so this transform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} block The transformed block.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformToGallery( block ) {\n\tif (\n\t\tblock.name === 'core/gallery' &&\n\t\tblock.attributes?.images.length > 0\n\t) {\n\t\tconst innerBlocks = block.attributes.images.map(\n\t\t\t( { url, id, alt } ) => {\n\t\t\t\treturn createBlock( 'core/image', {\n\t\t\t\t\turl,\n\t\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\t\talt,\n\t\t\t\t\tsizeSlug: block.attributes.sizeSlug,\n\t\t\t\t\tlinkDestination: block.attributes.linkDestination,\n\t\t\t\t} );\n\t\t\t}\n\t\t);\n\n\t\tdelete block.attributes.ids;\n\t\tdelete block.attributes.images;\n\t\tblock.innerBlocks = innerBlocks;\n\t}\n\n\treturn block;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-to',\n\tupdateThirdPartyTransformToGallery\n);\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * GalleryBlock -> 3rdPartyBlock transform so this transform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} toBlock The block to transform to.\n * @param {Block[]} fromBlocks The blocks to transform from.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformFromGallery( toBlock, fromBlocks ) {\n\tconst from = Array.isArray( fromBlocks ) ? fromBlocks : [ fromBlocks ];\n\tconst galleryBlock = from.find(\n\t\t( transformedBlock ) =>\n\t\t\ttransformedBlock.name === 'core/gallery' &&\n\t\t\ttransformedBlock.innerBlocks.length > 0 &&\n\t\t\t! transformedBlock.attributes.images?.length > 0 &&\n\t\t\t! toBlock.name.includes( 'core/' )\n\t);\n\n\tif ( galleryBlock ) {\n\t\tconst images = galleryBlock.innerBlocks.map(\n\t\t\t( { attributes: { url, id, alt } } ) => ( {\n\t\t\t\turl,\n\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\talt,\n\t\t\t} )\n\t\t);\n\t\tconst ids = images.map( ( { id } ) => id );\n\t\tgalleryBlock.attributes.images = images;\n\t\tgalleryBlock.attributes.ids = ids;\n\t}\n\n\treturn toBlock;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-from',\n\tupdateThirdPartyTransformFromGallery\n);\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\t// Init the align and size from the first item which may be either the placeholder or an image.\n\t\t\t\tlet { align, sizeSlug } = attributes[ 0 ];\n\t\t\t\t// Loop through all the images and check if they have the same align and size.\n\t\t\t\talign = attributes.every(\n\t\t\t\t\t( attribute ) => attribute.align === align\n\t\t\t\t)\n\t\t\t\t\t? align\n\t\t\t\t\t: undefined;\n\t\t\t\tsizeSlug = attributes.every(\n\t\t\t\t\t( attribute ) => attribute.sizeSlug === sizeSlug\n\t\t\t\t)\n\t\t\t\t\t? sizeSlug\n\t\t\t\t\t: undefined;\n\n\t\t\t\tconst validImages = attributes.filter( ( { url } ) => url );\n\n\t\t\t\tconst innerBlocks = validImages.map( ( image ) => {\n\t\t\t\t\t// Gallery images can't currently be resized so make sure height and width are undefined.\n\t\t\t\t\timage.width = undefined;\n\t\t\t\t\timage.height = undefined;\n\t\t\t\t\treturn createBlock( 'core/image', image );\n\t\t\t\t} );\n\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/gallery',\n\t\t\t\t\t{\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tsizeSlug,\n\t\t\t\t\t},\n\t\t\t\t\tinnerBlocks\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'shortcode',\n\t\t\ttag: 'gallery',\n\t\t\ttransform( { named: { ids, columns = 3, link, orderby, size } } ) {\n\t\t\t\tconst imageIds = parseShortcodeIds( ids ).map( ( id ) =>\n\t\t\t\t\tparseInt( id, 10 )\n\t\t\t\t);\n\n\t\t\t\tlet linkTo = LINK_DESTINATION_NONE;\n\t\t\t\tif ( link === 'post' ) {\n\t\t\t\t\tlinkTo = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t} else if ( link === 'file' ) {\n\t\t\t\t\tlinkTo = LINK_DESTINATION_MEDIA;\n\t\t\t\t}\n\n\t\t\t\tconst galleryBlock = createBlock(\n\t\t\t\t\t'core/gallery',\n\t\t\t\t\t{\n\t\t\t\t\t\tcolumns: parseInt( columns, 10 ),\n\t\t\t\t\t\tlinkTo,\n\t\t\t\t\t\trandomOrder: orderby === 'rand',\n\t\t\t\t\t\t...( size && { sizeSlug: size } ),\n\t\t\t\t\t},\n\t\t\t\t\timageIds.map( ( imageId ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\tid: imageId,\n\t\t\t\t\t\t\t...( size && { sizeSlug: size } ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\treturn galleryBlock;\n\t\t\t},\n\t\t\tisMatch( { named } ) {\n\t\t\t\treturn undefined !== named.ids;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t// When created by drag and dropping multiple files on an insertion point. Because multiple\n\t\t\t// files must not be transformed to a gallery when dropped within a gallery there is another transform\n\t\t\t// within the image block to handle that case. Therefore this transform has to have priority 1\n\t\t\t// set so that it overrides the image block transformation when multiple images are dropped outside\n\t\t\t// of a gallery block.\n\t\t\ttype: 'files',\n\t\t\tpriority: 1,\n\t\t\tisMatch( files ) {\n\t\t\t\treturn (\n\t\t\t\t\tfiles.length !== 1 &&\n\t\t\t\t\tfiles.every(\n\t\t\t\t\t\t( file ) => file.type.indexOf( 'image/' ) === 0\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform( files ) {\n\t\t\t\tconst innerBlocks = files.map( ( file ) =>\n\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t} )\n\t\t\t\t);\n\n\t\t\t\treturn createBlock( 'core/gallery', {}, innerBlocks );\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( { align }, innerBlocks ) => {\n\t\t\t\tif ( innerBlocks.length > 0 ) {\n\t\t\t\t\treturn innerBlocks.map(\n\t\t\t\t\t\t( {\n\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\t\t\tlinkTarget,\n\t\t\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\t\t\tlinkTarget,\n\t\t\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn createBlock( 'core/image', { align } );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\tvariationName: 'group-grid',\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\tconst {\n\t\t\t\t\tallowResize,\n\t\t\t\t\taspectRatio,\n\t\t\t\t\tcaption,\n\t\t\t\t\tcolumns,\n\t\t\t\t\tfixedHeight,\n\t\t\t\t\tids,\n\t\t\t\t\timageCrop,\n\t\t\t\t\timages,\n\t\t\t\t\tlinkTarget,\n\t\t\t\t\tlinkTo,\n\t\t\t\t\tnavigationButtonType,\n\t\t\t\t\trandomOrder,\n\t\t\t\t\tshortCodeTransforms,\n\t\t\t\t\tsizeSlug,\n\t\t\t\t\t...rest\n\t\t\t\t} = attributes;\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\t...rest,\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\ttype: 'grid',\n\t\t\t\t\t\t\tcolumnCount:\n\t\t\t\t\t\t\t\tcolumns ??\n\t\t\t\t\t\t\t\tdefaultColumnsNumber( innerBlocks.length ),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tcloneInnerBlocks( innerBlocks )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAA4B;AAC5B,kBAA8B;AAC9B,mBAA0B;AAK1B,uBAIO;AACP,oBAAqC;AAErC,IAAM,oBAAoB,CAAE,QAAS;AACpC,MAAK,CAAE,KAAM;AACZ,WAAO,CAAC;AAAA,EACT;AAEA,SAAO,IAAI,MAAO,GAAI,EAAE,IAAK,CAAE,OAAQ,SAAU,IAAI,EAAG,CAAE;AAC3D;AAEA,IAAM,mBAAmB,CAAE,gBAC1B,YAAY;AAAA,EAAK,CAAE,mBAClB;AAAA,IACC,WAAW;AAAA,IACX,WAAW;AAAA,IACX,iBAAkB,WAAW,eAAe,CAAC,CAAE;AAAA,EAChD;AACD;AAgBD,SAAS,mCAAoC,OAAQ;AACpD,MACC,MAAM,SAAS,kBACf,MAAM,YAAY,OAAO,SAAS,GACjC;AACD,UAAM,cAAc,MAAM,WAAW,OAAO;AAAA,MAC3C,CAAE,EAAE,KAAK,IAAI,IAAI,MAAO;AACvB,mBAAO,2BAAa,cAAc;AAAA,UACjC;AAAA,UACA,IAAI,KAAK,SAAU,IAAI,EAAG,IAAI;AAAA,UAC9B;AAAA,UACA,UAAU,MAAM,WAAW;AAAA,UAC3B,iBAAiB,MAAM,WAAW;AAAA,QACnC,CAAE;AAAA,MACH;AAAA,IACD;AAEA,WAAO,MAAM,WAAW;AACxB,WAAO,MAAM,WAAW;AACxB,UAAM,cAAc;AAAA,EACrB;AAEA,SAAO;AACR;AAAA,IACA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AACD;AAiBA,SAAS,qCAAsC,SAAS,YAAa;AACpE,QAAM,OAAO,MAAM,QAAS,UAAW,IAAI,aAAa,CAAE,UAAW;AACrE,QAAM,eAAe,KAAK;AAAA,IACzB,CAAE,qBACD,iBAAiB,SAAS,kBAC1B,iBAAiB,YAAY,SAAS,KACtC,CAAE,iBAAiB,WAAW,QAAQ,SAAS,KAC/C,CAAE,QAAQ,KAAK,SAAU,OAAQ;AAAA,EACnC;AAEA,MAAK,cAAe;AACnB,UAAM,SAAS,aAAa,YAAY;AAAA,MACvC,CAAE,EAAE,YAAY,EAAE,KAAK,IAAI,IAAI,EAAE,OAAS;AAAA,QACzC;AAAA,QACA,IAAI,KAAK,SAAU,IAAI,EAAG,IAAI;AAAA,QAC9B;AAAA,MACD;AAAA,IACD;AACA,UAAM,MAAM,OAAO,IAAK,CAAE,EAAE,GAAG,MAAO,EAAG;AACzC,iBAAa,WAAW,SAAS;AACjC,iBAAa,WAAW,MAAM;AAAA,EAC/B;AAEA,SAAO;AACR;AAAA,IACA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AACD;AAEA,IAAM,aAAa;AAAA,EAClB,MAAM;AAAA,IACL;AAAA,MACC,MAAM;AAAA,MACN,cAAc;AAAA,MACd,QAAQ,CAAE,YAAa;AAAA,MACvB,WAAW,CAAE,eAAgB;AAE5B,YAAI,EAAE,OAAO,SAAS,IAAI,WAAY,CAAE;AAExC,gBAAQ,WAAW;AAAA,UAClB,CAAE,cAAe,UAAU,UAAU;AAAA,QACtC,IACG,QACA;AACH,mBAAW,WAAW;AAAA,UACrB,CAAE,cAAe,UAAU,aAAa;AAAA,QACzC,IACG,WACA;AAEH,cAAM,cAAc,WAAW,OAAQ,CAAE,EAAE,IAAI,MAAO,GAAI;AAE1D,cAAM,cAAc,YAAY,IAAK,CAAE,UAAW;AAEjD,gBAAM,QAAQ;AACd,gBAAM,SAAS;AACf,qBAAO,2BAAa,cAAc,KAAM;AAAA,QACzC,CAAE;AAEF,mBAAO;AAAA,UACN;AAAA,UACA;AAAA,YACC;AAAA,YACA;AAAA,UACD;AAAA,UACA;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,KAAK;AAAA,MACL,UAAW,EAAE,OAAO,EAAE,KAAK,UAAU,GAAG,MAAM,SAAS,KAAK,EAAE,GAAI;AACjE,cAAM,WAAW,kBAAmB,GAAI,EAAE;AAAA,UAAK,CAAE,OAChD,SAAU,IAAI,EAAG;AAAA,QAClB;AAEA,YAAI,SAAS;AACb,YAAK,SAAS,QAAS;AACtB,mBAAS;AAAA,QACV,WAAY,SAAS,QAAS;AAC7B,mBAAS;AAAA,QACV;AAEA,cAAM,mBAAe;AAAA,UACpB;AAAA,UACA;AAAA,YACC,SAAS,SAAU,SAAS,EAAG;AAAA,YAC/B;AAAA,YACA,aAAa,YAAY;AAAA,YACzB,GAAK,QAAQ,EAAE,UAAU,KAAK;AAAA,UAC/B;AAAA,UACA,SAAS;AAAA,YAAK,CAAE,gBACf,2BAAa,cAAc;AAAA,cAC1B,IAAI;AAAA,cACJ,GAAK,QAAQ,EAAE,UAAU,KAAK;AAAA,YAC/B,CAAE;AAAA,UACH;AAAA,QACD;AAEA,eAAO;AAAA,MACR;AAAA,MACA,QAAS,EAAE,MAAM,GAAI;AACpB,eAAO,WAAc,MAAM;AAAA,MAC5B;AAAA,IACD;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAMC,MAAM;AAAA,MACN,UAAU;AAAA,MACV,QAAS,OAAQ;AAChB,eACC,MAAM,WAAW,KACjB,MAAM;AAAA,UACL,CAAE,SAAU,KAAK,KAAK,QAAS,QAAS,MAAM;AAAA,QAC/C;AAAA,MAEF;AAAA,MACA,UAAW,OAAQ;AAClB,cAAM,cAAc,MAAM;AAAA,UAAK,CAAE,aAChC,2BAAa,cAAc;AAAA,YAC1B,UAAM,2BAAe,IAAK;AAAA,UAC3B,CAAE;AAAA,QACH;AAEA,mBAAO,2BAAa,gBAAgB,CAAC,GAAG,WAAY;AAAA,MACrD;AAAA,IACD;AAAA,EACD;AAAA,EACA,IAAI;AAAA,IACH;AAAA,MACC,MAAM;AAAA,MACN,QAAQ,CAAE,YAAa;AAAA,MACvB,WAAW,CAAE,EAAE,MAAM,GAAG,gBAAiB;AACxC,YAAK,YAAY,SAAS,GAAI;AAC7B,iBAAO,YAAY;AAAA,YAClB,CAAE;AAAA,cACD,YAAY;AAAA,gBACX;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA,UAAU;AAAA,gBACV;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACD;AAAA,YACD,UACC,2BAAa,cAAc;AAAA,cAC1B;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA,UAAU;AAAA,cACV;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACD,CAAE;AAAA,UACJ;AAAA,QACD;AACA,mBAAO,2BAAa,cAAc,EAAE,MAAM,CAAE;AAAA,MAC7C;AAAA,IACD;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,QAAQ,CAAE,YAAa;AAAA,MACvB,eAAe;AAAA,MACf,WAAW,CAAE,YAAY,gBAAiB;AACzC,cAAM;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,GAAG;AAAA,QACJ,IAAI;AACJ,mBAAO;AAAA,UACN;AAAA,UACA;AAAA,YACC,GAAG;AAAA,YACH,QAAQ;AAAA,cACP,MAAM;AAAA,cACN,aACC,eACA,oCAAsB,YAAY,MAAO;AAAA,YAC3C;AAAA,UACD;AAAA,UACA,iBAAkB,WAAY;AAAA,QAC/B;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD;AAEA,IAAO,qBAAQ;",
4
+ "sourcesContent": ["import { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { addFilter } from '@wordpress/hooks';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_MEDIA,\n} from './constants';\nimport { defaultColumnsNumber } from './shared';\n\nconst parseShortcodeIds = ( ids ) => {\n\tif ( ! ids ) {\n\t\treturn [];\n\t}\n\n\treturn ids.split( ',' ).map( ( id ) => parseInt( id, 10 ) );\n};\n\nconst cloneInnerBlocks = ( innerBlocks ) =>\n\tinnerBlocks.map( ( innerBlock ) =>\n\t\tcreateBlock(\n\t\t\tinnerBlock.name,\n\t\t\tinnerBlock.attributes,\n\t\t\tcloneInnerBlocks( innerBlock.innerBlocks || [] )\n\t\t)\n\t);\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * 3rdPartyBlock -> GalleryBlock transform so this transform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} block The transformed block.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformToGallery( block ) {\n\tif (\n\t\tblock.name === 'core/gallery' &&\n\t\tblock.attributes?.images.length > 0\n\t) {\n\t\tconst innerBlocks = block.attributes.images.map(\n\t\t\t( { url, id, alt } ) => {\n\t\t\t\treturn createBlock( 'core/image', {\n\t\t\t\t\turl,\n\t\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\t\talt,\n\t\t\t\t\tsizeSlug: block.attributes.sizeSlug,\n\t\t\t\t\tlinkDestination: block.attributes.linkDestination,\n\t\t\t\t} );\n\t\t\t}\n\t\t);\n\n\t\tdelete block.attributes.ids;\n\t\tdelete block.attributes.images;\n\t\tblock.innerBlocks = innerBlocks;\n\t}\n\n\treturn block;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-to',\n\tupdateThirdPartyTransformToGallery\n);\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * GalleryBlock -> 3rdPartyBlock transform so this transform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} toBlock The block to transform to.\n * @param {Block[]} fromBlocks The blocks to transform from.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformFromGallery( toBlock, fromBlocks ) {\n\tconst from = Array.isArray( fromBlocks ) ? fromBlocks : [ fromBlocks ];\n\tconst galleryBlock = from.find(\n\t\t( transformedBlock ) =>\n\t\t\ttransformedBlock.name === 'core/gallery' &&\n\t\t\ttransformedBlock.innerBlocks.length > 0 &&\n\t\t\t! transformedBlock.attributes.images?.length > 0 &&\n\t\t\t! toBlock.name.includes( 'core/' )\n\t);\n\n\tif ( galleryBlock ) {\n\t\tconst images = galleryBlock.innerBlocks.map(\n\t\t\t( { attributes: { url, id, alt } } ) => ( {\n\t\t\t\turl,\n\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\talt,\n\t\t\t} )\n\t\t);\n\t\tconst ids = images.map( ( { id } ) => id );\n\t\tgalleryBlock.attributes.images = images;\n\t\tgalleryBlock.attributes.ids = ids;\n\t}\n\n\treturn toBlock;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-from',\n\tupdateThirdPartyTransformFromGallery\n);\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\t// Init the align and size from the first item which may be either the placeholder or an image.\n\t\t\t\tlet { align, sizeSlug } = attributes[ 0 ];\n\t\t\t\t// Loop through all the images and check if they have the same align and size.\n\t\t\t\talign = attributes.every(\n\t\t\t\t\t( attribute ) => attribute.align === align\n\t\t\t\t)\n\t\t\t\t\t? align\n\t\t\t\t\t: undefined;\n\t\t\t\tsizeSlug = attributes.every(\n\t\t\t\t\t( attribute ) => attribute.sizeSlug === sizeSlug\n\t\t\t\t)\n\t\t\t\t\t? sizeSlug\n\t\t\t\t\t: undefined;\n\n\t\t\t\tconst validImages = attributes.filter( ( { url } ) => url );\n\n\t\t\t\tconst innerBlocks = validImages.map( ( image ) => {\n\t\t\t\t\t// Gallery images can't currently be resized so make sure height and width are undefined.\n\t\t\t\t\timage.width = undefined;\n\t\t\t\t\timage.height = undefined;\n\t\t\t\t\treturn createBlock( 'core/image', image );\n\t\t\t\t} );\n\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/gallery',\n\t\t\t\t\t{\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tsizeSlug,\n\t\t\t\t\t},\n\t\t\t\t\tinnerBlocks\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'shortcode',\n\t\t\ttag: 'gallery',\n\t\t\ttransform( { named: { ids, columns = 3, link, orderby, size } } ) {\n\t\t\t\tconst imageIds = parseShortcodeIds( ids ).map( ( id ) =>\n\t\t\t\t\tparseInt( id, 10 )\n\t\t\t\t);\n\n\t\t\t\tlet linkTo = LINK_DESTINATION_NONE;\n\t\t\t\tif ( link === 'post' ) {\n\t\t\t\t\tlinkTo = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t} else if ( link === 'file' ) {\n\t\t\t\t\tlinkTo = LINK_DESTINATION_MEDIA;\n\t\t\t\t}\n\n\t\t\t\tconst galleryBlock = createBlock(\n\t\t\t\t\t'core/gallery',\n\t\t\t\t\t{\n\t\t\t\t\t\tcolumns: parseInt( columns, 10 ),\n\t\t\t\t\t\tlinkTo,\n\t\t\t\t\t\trandomOrder: orderby === 'rand',\n\t\t\t\t\t\t...( size && { sizeSlug: size } ),\n\t\t\t\t\t},\n\t\t\t\t\timageIds.map( ( imageId ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\tid: imageId,\n\t\t\t\t\t\t\t...( size && { sizeSlug: size } ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\treturn galleryBlock;\n\t\t\t},\n\t\t\tisMatch( { named } ) {\n\t\t\t\treturn undefined !== named.ids;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t// When created by drag and dropping multiple files on an insertion point. Because multiple\n\t\t\t// files must not be transformed to a gallery when dropped within a gallery there is another transform\n\t\t\t// within the image block to handle that case. Therefore this transform has to have priority 1\n\t\t\t// set so that it overrides the image block transformation when multiple images are dropped outside\n\t\t\t// of a gallery block.\n\t\t\ttype: 'files',\n\t\t\tpriority: 1,\n\t\t\tisMatch( files ) {\n\t\t\t\treturn (\n\t\t\t\t\tfiles.length !== 1 &&\n\t\t\t\t\tfiles.every(\n\t\t\t\t\t\t( file ) => file.type.indexOf( 'image/' ) === 0\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform( files ) {\n\t\t\t\tconst innerBlocks = files.map( ( file ) =>\n\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t} )\n\t\t\t\t);\n\n\t\t\t\treturn createBlock( 'core/gallery', {}, innerBlocks );\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( { align }, innerBlocks ) => {\n\t\t\t\tif ( innerBlocks.length > 0 ) {\n\t\t\t\t\treturn innerBlocks.map(\n\t\t\t\t\t\t( {\n\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\t\t\tlinkTarget,\n\t\t\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\t\t\tlinkTarget,\n\t\t\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn createBlock( 'core/image', { align } );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\tvariationName: 'group-grid',\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\tconst {\n\t\t\t\t\tallowResize,\n\t\t\t\t\taspectRatio,\n\t\t\t\t\tcaption,\n\t\t\t\t\tcolumns,\n\t\t\t\t\tfixedHeight,\n\t\t\t\t\tids,\n\t\t\t\t\timageCrop,\n\t\t\t\t\timages,\n\t\t\t\t\tlinkTarget,\n\t\t\t\t\tlinkTo,\n\t\t\t\t\tnavigationButtonType,\n\t\t\t\t\trandomOrder,\n\t\t\t\t\tshortCodeTransforms,\n\t\t\t\t\tsizeSlug,\n\t\t\t\t\t...rest\n\t\t\t\t} = attributes;\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\t...rest,\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\ttype: 'grid',\n\t\t\t\t\t\t\tcolumnCount:\n\t\t\t\t\t\t\t\tcolumns ??\n\t\t\t\t\t\t\t\tdefaultColumnsNumber( innerBlocks.length ),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tcloneInnerBlocks( innerBlocks )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }