@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-source.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Source discriminator for \"images attached to the post\" — the only dynamic\n * source implemented so far. Kept as a named constant since it's referenced from\n * several call sites (the query builder, the descriptor, and the entry points\n * that switch a gallery into dynamic mode).\n */\nexport const ATTACHED_MEDIA = 'core/attached-media';\n\n/**\n * Default ordering for a dynamic source. `menu_order` (the manual media-library\n * order) is intentionally not used: it isn't a valid `orderby` value on the\n * media REST endpoint, so the editor preview couldn't reproduce it. Both the\n * editor query and the server resolver default to the same REST-supported order\n * so the preview matches the frontend.\n */\nexport const DEFAULT_ORDERBY = 'date';\nexport const DEFAULT_ORDER = 'desc';\n\n/**\n * Per-source copy, keyed by the `source` discriminator in a gallery's\n * `dynamicContent`. Adding a dynamic source means adding an entry here; the\n * editor components read these strings instead of hardcoding source-specific\n * wording. The fields also map onto a future \"Choose source\" control: `title`\n * becomes an option label, `description` its help text, and `emptyMessage` the\n * canvas preview when the source resolves to nothing.\n */\nconst DYNAMIC_SOURCES = {\n\t[ ATTACHED_MEDIA ]: {\n\t\t// Short label for the entry affordance / future source chooser. Mirrors\n\t\t// the \"Attached images\" media inserter category name.\n\t\ttitle: __( 'Use attached images' ),\n\t\t// Help text shown beneath the Source controls.\n\t\tdescription: __( 'Images attached to the post.' ),\n\t\t// Empty-state copy for the canvas preview.\n\t\temptyMessage: __( 'Images attached to the post will appear here.' ),\n\t},\n};\n\n/**\n * Returns the descriptor for a dynamic source, or `undefined` for an unknown or\n * not-yet-implemented source.\n *\n * @param {?string} source The `dynamicContent.source` discriminator.\n * @return {?Object} The source descriptor (`title`, `description`, `emptyMessage`).\n */\nexport function getDynamicSource( source ) {\n\treturn DYNAMIC_SOURCES[ source ];\n}\n\n/**\n * Upper bound on the number of images a dynamic source resolves, until the\n * gallery supports pagination. Kept in sync with the `posts_per_page` cap in\n * `block_core_gallery_resolve_dynamic_source()`.\n */\nexport const MAX_IMAGES = 100;\n\n/**\n * Maps a gallery's `dynamicContent` attribute to a query for the `attachment`\n * entity (i.e. `/wp/v2/media` collection params), used to resolve the source to\n * a list of media in the editor.\n *\n * The `source` key is the dispatch discriminator and `args` holds the\n * source's parameters. This `{ source, args }` shape mirrors the Block\n * Bindings metadata shape (`metadata.bindings.<key> = { source, args }`) so\n * dynamic mode can migrate to an `innerBlocks` binding with minimal change.\n * `args` keys are camelCase (the block-attribute convention, as used by the\n * Query block's `query` attribute); each source's resolver maps them to the\n * REST/transport names it needs. `core/attached-media` is a context-relative anchor\n * resolved here to the REST `parent` param. The server-side counterpart is\n * `block_core_gallery_resolve_dynamic_source()` in `index.php`.\n *\n * @param {Object} dynamicContent The gallery's `dynamicContent` attribute.\n * @param {Object} context Resolution context.\n * @param {number} context.postId The current post ID.\n * @return {Object|null} A `getEntityRecords` query, or `null` when the source\n * cannot be resolved (unknown source or missing context).\n */\nexport function getSourceQuery( dynamicContent, { postId } ) {\n\tconst { source, args = {} } = dynamicContent ?? {};\n\n\tswitch ( source ) {\n\t\tcase ATTACHED_MEDIA:\n\t\t\tif ( ! postId ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tparent: postId,\n\t\t\t\tper_page: MAX_IMAGES,\n\t\t\t\t// The gallery only accepts images, so constrain the source to\n\t\t\t\t// image media (matching the server resolver). This keeps the\n\t\t\t\t// editor preview in step with the rendered output for posts\n\t\t\t\t// that also have non-image attachments.\n\t\t\t\tmedia_type: 'image',\n\t\t\t\t// Map the camelCase `args` to the REST-named media collection\n\t\t\t\t// params. Unexpected values (only reachable via hand-edited\n\t\t\t\t// markup) are coerced back to the defaults — mirroring the server\n\t\t\t\t// resolver's allow list — so the editor preview stays in step with\n\t\t\t\t// the frontend instead of issuing an invalid REST query.\n\t\t\t\torderby:\n\t\t\t\t\targs.orderBy === 'date' || args.orderBy === 'title'\n\t\t\t\t\t\t? args.orderBy\n\t\t\t\t\t\t: DEFAULT_ORDERBY,\n\t\t\t\torder:\n\t\t\t\t\targs.order === 'asc' || args.order === 'desc'\n\t\t\t\t\t\t? args.order\n\t\t\t\t\t\t: DEFAULT_ORDER,\n\t\t\t};\n\t}\n\n\t// Unknown or not-yet-implemented source.\n\treturn null;\n}\n"],
5
- "mappings": ";AAGA,SAAS,UAAU;AAQZ,IAAM,iBAAiB;AASvB,IAAM,kBAAkB;AACxB,IAAM,gBAAgB;AAU7B,IAAM,kBAAkB;AAAA,EACvB,CAAE,cAAe,GAAG;AAAA;AAAA;AAAA,IAGnB,OAAO,GAAI,qBAAsB;AAAA;AAAA,IAEjC,aAAa,GAAI,8BAA+B;AAAA;AAAA,IAEhD,cAAc,GAAI,+CAAgD;AAAA,EACnE;AACD;AASO,SAAS,iBAAkB,QAAS;AAC1C,SAAO,gBAAiB,MAAO;AAChC;AAOO,IAAM,aAAa;AAuBnB,SAAS,eAAgB,gBAAgB,EAAE,OAAO,GAAI;AAC5D,QAAM,EAAE,QAAQ,OAAO,CAAC,EAAE,IAAI,kBAAkB,CAAC;AAEjD,UAAS,QAAS;AAAA,IACjB,KAAK;AACJ,UAAK,CAAE,QAAS;AACf,eAAO;AAAA,MACR;AACA,aAAO;AAAA,QACN,QAAQ;AAAA,QACR,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,QAKV,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMZ,SACC,KAAK,YAAY,UAAU,KAAK,YAAY,UACzC,KAAK,UACL;AAAA,QACJ,OACC,KAAK,UAAU,SAAS,KAAK,UAAU,SACpC,KAAK,QACL;AAAA,MACL;AAAA,EACF;AAGA,SAAO;AACR;",
4
+ "sourcesContent": ["import { __ } from '@wordpress/i18n';\n\n/**\n * Source discriminator for \"images attached to the post\" — the only dynamic\n * source implemented so far. Kept as a named constant since it's referenced from\n * several call sites (the query builder, the descriptor, and the entry points\n * that switch a gallery into dynamic mode).\n */\nexport const ATTACHED_MEDIA = 'core/attached-media';\n\n/**\n * Default ordering for a dynamic source. `menu_order` (the manual media-library\n * order) is intentionally not used: it isn't a valid `orderby` value on the\n * media REST endpoint, so the editor preview couldn't reproduce it. Both the\n * editor query and the server resolver default to the same REST-supported order\n * so the preview matches the frontend.\n */\nexport const DEFAULT_ORDERBY = 'date';\nexport const DEFAULT_ORDER = 'desc';\n\n/**\n * Per-source copy, keyed by the `source` discriminator in a gallery's\n * `dynamicContent`. Adding a dynamic source means adding an entry here; the\n * editor components read these strings instead of hardcoding source-specific\n * wording. The fields also map onto a future \"Choose source\" control: `title`\n * becomes an option label, `description` its help text, and `emptyMessage` the\n * canvas preview when the source resolves to nothing.\n */\nconst DYNAMIC_SOURCES = {\n\t[ ATTACHED_MEDIA ]: {\n\t\t// Short label for the entry affordance / future source chooser. Mirrors\n\t\t// the \"Attached images\" media inserter category name.\n\t\ttitle: __( 'Use attached images' ),\n\t\t// Help text shown beneath the Source controls.\n\t\tdescription: __( 'Images attached to the post.' ),\n\t\t// Empty-state copy for the canvas preview.\n\t\temptyMessage: __( 'Images attached to the post will appear here.' ),\n\t},\n};\n\n/**\n * Returns the descriptor for a dynamic source, or `undefined` for an unknown or\n * not-yet-implemented source.\n *\n * @param {?string} source The `dynamicContent.source` discriminator.\n * @return {?Object} The source descriptor (`title`, `description`, `emptyMessage`).\n */\nexport function getDynamicSource( source ) {\n\treturn DYNAMIC_SOURCES[ source ];\n}\n\n/**\n * Upper bound on the number of images a dynamic source resolves, until the\n * gallery supports pagination. Kept in sync with the `posts_per_page` cap in\n * `block_core_gallery_resolve_dynamic_source()`.\n */\nexport const MAX_IMAGES = 100;\n\n/**\n * Maps a gallery's `dynamicContent` attribute to a query for the `attachment`\n * entity (i.e. `/wp/v2/media` collection params), used to resolve the source to\n * a list of media in the editor.\n *\n * The `source` key is the dispatch discriminator and `args` holds the\n * source's parameters. This `{ source, args }` shape mirrors the Block\n * Bindings metadata shape (`metadata.bindings.<key> = { source, args }`) so\n * dynamic mode can migrate to an `innerBlocks` binding with minimal change.\n * `args` keys are camelCase (the block-attribute convention, as used by the\n * Query block's `query` attribute); each source's resolver maps them to the\n * REST/transport names it needs. `core/attached-media` is a context-relative anchor\n * resolved here to the REST `parent` param. The server-side counterpart is\n * `block_core_gallery_resolve_dynamic_source()` in `index.php`.\n *\n * @param {Object} dynamicContent The gallery's `dynamicContent` attribute.\n * @param {Object} context Resolution context.\n * @param {number} context.postId The current post ID.\n * @return {Object|null} A `getEntityRecords` query, or `null` when the source\n * cannot be resolved (unknown source or missing context).\n */\nexport function getSourceQuery( dynamicContent, { postId } ) {\n\tconst { source, args = {} } = dynamicContent ?? {};\n\n\tswitch ( source ) {\n\t\tcase ATTACHED_MEDIA:\n\t\t\tif ( ! postId ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tparent: postId,\n\t\t\t\tper_page: MAX_IMAGES,\n\t\t\t\t// The gallery only accepts images, so constrain the source to\n\t\t\t\t// image media (matching the server resolver). This keeps the\n\t\t\t\t// editor preview in step with the rendered output for posts\n\t\t\t\t// that also have non-image attachments.\n\t\t\t\tmedia_type: 'image',\n\t\t\t\t// Map the camelCase `args` to the REST-named media collection\n\t\t\t\t// params. Unexpected values (only reachable via hand-edited\n\t\t\t\t// markup) are coerced back to the defaults — mirroring the server\n\t\t\t\t// resolver's allow list — so the editor preview stays in step with\n\t\t\t\t// the frontend instead of issuing an invalid REST query.\n\t\t\t\torderby:\n\t\t\t\t\targs.orderBy === 'date' || args.orderBy === 'title'\n\t\t\t\t\t\t? args.orderBy\n\t\t\t\t\t\t: DEFAULT_ORDERBY,\n\t\t\t\torder:\n\t\t\t\t\targs.order === 'asc' || args.order === 'desc'\n\t\t\t\t\t\t? args.order\n\t\t\t\t\t\t: DEFAULT_ORDER,\n\t\t\t};\n\t}\n\n\t// Unknown or not-yet-implemented source.\n\treturn null;\n}\n"],
5
+ "mappings": ";AAAA,SAAS,UAAU;AAQZ,IAAM,iBAAiB;AASvB,IAAM,kBAAkB;AACxB,IAAM,gBAAgB;AAU7B,IAAM,kBAAkB;AAAA,EACvB,CAAE,cAAe,GAAG;AAAA;AAAA;AAAA,IAGnB,OAAO,GAAI,qBAAsB;AAAA;AAAA,IAEjC,aAAa,GAAI,8BAA+B;AAAA;AAAA,IAEhD,cAAc,GAAI,+CAAgD;AAAA,EACnE;AACD;AASO,SAAS,iBAAkB,QAAS;AAC1C,SAAO,gBAAiB,MAAO;AAChC;AAOO,IAAM,aAAa;AAuBnB,SAAS,eAAgB,gBAAgB,EAAE,OAAO,GAAI;AAC5D,QAAM,EAAE,QAAQ,OAAO,CAAC,EAAE,IAAI,kBAAkB,CAAC;AAEjD,UAAS,QAAS;AAAA,IACjB,KAAK;AACJ,UAAK,CAAE,QAAS;AACf,eAAO;AAAA,MACR;AACA,aAAO;AAAA,QACN,QAAQ;AAAA,QACR,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,QAKV,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMZ,SACC,KAAK,YAAY,UAAU,KAAK,YAAY,UACzC,KAAK,UACL;AAAA,QACJ,OACC,KAAK,UAAU,SAAS,KAAK,UAAU,SACpC,KAAK,QACL;AAAA,MACL;AAAA,EACF;AAGA,SAAO;AACR;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/gallery/edit.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToolbarDropdownMenu,\n\tButton,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tuseBlockEditingMode,\n\tBlockControls,\n\tMediaReplaceFlow,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport { useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport {\n\tlink as linkIcon,\n\tcustomLink,\n\timage as imageIcon,\n\tlinkOff,\n\tfullscreen,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_LIGHTBOX,\n\tDEFAULT_MEDIA_SIZE_SLUG,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GalleryGapCustomProperties from './gap-styles';\nimport useDynamicGallery from './use-dynamic-gallery';\nimport { GallerySourcePanel, GalleryDynamicView } from './dynamic-gallery';\nimport { getDynamicSource, ATTACHED_MEDIA } from './dynamic-source';\n\nconst MAX_COLUMNS = 8;\nconst LINK_OPTIONS = [\n\t{\n\t\ticon: customLink,\n\t\tlabel: __( 'Link images to attachment pages' ),\n\t\tvalue: LINK_DESTINATION_ATTACHMENT,\n\t\tnoticeText: __( 'Attachment Pages' ),\n\t},\n\t{\n\t\ticon: imageIcon,\n\t\tlabel: __( 'Link images to media files' ),\n\t\tvalue: LINK_DESTINATION_MEDIA,\n\t\tnoticeText: __( 'Media Files' ),\n\t},\n\t{\n\t\ticon: fullscreen,\n\t\tlabel: __( 'Enlarge on click' ),\n\t\tvalue: LINK_DESTINATION_LIGHTBOX,\n\t\tnoticeText: __( 'Lightbox effect' ),\n\t\tinfoText: __( 'Scale images with a lightbox effect' ),\n\t},\n\t{\n\t\ticon: linkOff,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tnoticeText: __( 'None' ),\n\t},\n];\nconst NAVIGATION_BUTTON_TYPE_OPTIONS = [\n\t{\n\t\tlabel: __( 'Icon' ),\n\t\tvalue: 'icon',\n\t},\n\t{\n\t\tlabel: __( 'Text' ),\n\t\tvalue: 'text',\n\t},\n\t{\n\t\tlabel: __( 'Both' ),\n\t\tvalue: 'both',\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = __(\n\t'Drag and drop images, upload, or choose from your library.'\n);\n\nconst DEFAULT_BLOCK = { name: 'core/image' };\nconst EMPTY_ARRAY = [];\n\nexport default function GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t\tisContentLocked,\n\t\tcontext,\n\t\t__unstableLayoutClassNames: layoutClassNames,\n\t} = props;\n\n\tconst postId = context?.postId;\n\tconst postType = context?.postType;\n\n\t// Entering dynamic mode is a structural change (it discards inner blocks and\n\t// switches the block's mode), so the entry point is only offered when the\n\t// block is fully editable — mirroring the dynamic view's \"Edit images\"\n\t// toolbar control. Under a content lock the mode is `'contentOnly'`/\n\t// `'disabled'`, where structural affordances are hidden.\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst [ lightboxSetting, defaultRatios, themeRatios, showDefaultRatios ] =\n\t\tuseSettings(\n\t\t\t'blocks.core/image.lightbox',\n\t\t\t'dimensions.aspectRatios.default',\n\t\t\t'dimensions.aspectRatios.theme',\n\t\t\t'dimensions.defaultAspectRatios'\n\t\t);\n\n\tconst linkOptions = ! lightboxSetting?.allowEditing\n\t\t? LINK_OPTIONS.filter(\n\t\t\t\t( option ) => option.value !== LINK_DESTINATION_LIGHTBOX\n\t\t )\n\t\t: LINK_OPTIONS;\n\n\tconst {\n\t\talign,\n\t\tnavigationButtonType,\n\t\tcolumns,\n\t\timageCrop,\n\t\trandomOrder,\n\t\tlinkTarget,\n\t\tlinkTo,\n\t\tsizeSlug,\n\t\taspectRatio,\n\t} = attributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { getBlock, getSettings, innerBlockImages, multiGallerySelection } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetBlockName,\n\t\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\t\tgetSettings: _getSettings,\n\t\t\t\t\tgetBlock: _getBlock,\n\t\t\t\t} = select( blockEditorStore );\n\t\t\t\tconst multiSelectedClientIds = getMultiSelectedBlockClientIds();\n\n\t\t\t\treturn {\n\t\t\t\t\tgetBlock: _getBlock,\n\t\t\t\t\tgetSettings: _getSettings,\n\t\t\t\t\tinnerBlockImages:\n\t\t\t\t\t\t_getBlock( clientId )?.innerBlocks ?? EMPTY_ARRAY,\n\t\t\t\t\tmultiGallerySelection:\n\t\t\t\t\t\tmultiSelectedClientIds.length &&\n\t\t\t\t\t\tmultiSelectedClientIds.every(\n\t\t\t\t\t\t\t( _clientId ) =>\n\t\t\t\t\t\t\t\tgetBlockName( _clientId ) === 'core/gallery'\n\t\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientId ]\n\t\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tconst hasImages = !! images.length;\n\tconst isDynamic = !! attributes.dynamicContent;\n\n\t// Dynamic mode (resolving images from a source instead of inner blocks):\n\t// source resolution, the editor-preview blocks, and the mode/ordering\n\t// actions.\n\tconst dynamic = useDynamicGallery( {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclientId,\n\t\tpostId,\n\t\tpostType,\n\t} );\n\n\t// State that drives counts/size options should reflect the dynamic media\n\t// when the gallery is in dynamic mode.\n\tconst displayedImageCount = isDynamic\n\t\t? dynamic.dynamicMedia.length\n\t\t: images.length;\n\n\t// Check if there is at least one image with lightbox enabled. In dynamic\n\t// mode the images inherit the gallery's link setting, so the lightbox is on\n\t// when the gallery links images to the lightbox.\n\tlet hasLightboxImages;\n\tif ( isDynamic ) {\n\t\thasLightboxImages = linkTo === LINK_DESTINATION_LIGHTBOX;\n\t} else if ( lightboxSetting?.enabled ) {\n\t\thasLightboxImages =\n\t\t\timages.filter(\n\t\t\t\t( image ) =>\n\t\t\t\t\timage.attributes?.lightbox?.enabled === undefined ||\n\t\t\t\t\timage.attributes?.lightbox?.enabled === true\n\t\t\t).length > 0;\n\t} else {\n\t\thasLightboxImages =\n\t\t\timages.filter( ( image ) => image.attributes.lightbox?.enabled )\n\t\t\t\t.length > 0;\n\t}\n\n\tconst themeOptions = themeRatios?.map( ( { name, ratio } ) => ( {\n\t\tlabel: name,\n\t\tvalue: ratio,\n\t} ) );\n\tconst defaultOptions = defaultRatios?.map( ( { name, ratio } ) => ( {\n\t\tlabel: name,\n\t\tvalue: ratio,\n\t} ) );\n\tconst aspectRatioOptions = [\n\t\t{\n\t\t\tlabel: _x(\n\t\t\t\t'Original',\n\t\t\t\t'Aspect ratio option for dimensions control'\n\t\t\t),\n\t\t\tvalue: 'auto',\n\t\t},\n\t\t...( showDefaultRatios ? defaultOptions || [] : [] ),\n\t\t...( themeOptions || [] ),\n\t];\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\tisDynamic ? dynamic.dynamicMedia : imageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? imageData.find( ( { id } ) => id === imageAttributes.id )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption:\n\t\t\t\timageAttributes.caption.length > 0\n\t\t\t\t\t? imageAttributes.caption\n\t\t\t\t\t: image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t\taspectRatio: aspectRatio === 'auto' ? undefined : aspectRatio,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\tconst mediaTypeSelector = file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.indexOf( mediaType ) === 0\n\t\t\t) || file.blob\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tblob: file.blob || createBlobURL( file ),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\tblob: image.blob,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\n\t\t);\n\n\t\t// Select the first block to scroll into view when new blocks are added.\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue,\n\t\t\t\tfalse,\n\t\t\t\tblock.attributes,\n\t\t\t\tlightboxSetting\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, {\n\t\t\tuniqueByBlock: true,\n\t\t} );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.noticeText\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction toggleRandomOrder() {\n\t\tsetAttributes( { randomOrder: ! randomOrder } );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, {\n\t\t\tuniqueByBlock: true,\n\t\t} );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, {\n\t\t\tuniqueByBlock: true,\n\t\t} );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize?.label ?? newSizeSlug\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setAspectRatio( value ) {\n\t\tsetAttributes( { aspectRatio: value } );\n\n\t\t// Update all inner image blocks with the new aspect ratio\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = {\n\t\t\t\taspectRatio: value === 'auto' ? undefined : value,\n\t\t\t};\n\t\t} );\n\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\n\t\tconst aspectRatioText = aspectRatioOptions.find(\n\t\t\t( option ) => option.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: aspect ratio setting */\n\t\t\t\t__( 'All gallery images updated to aspect ratio: %s' ),\n\t\t\t\taspectRatioText?.label || value\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-aspectRatio',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some(\n\t\t( img ) => ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t);\n\n\tconst mediaPlaceholderProps = {\n\t\taddToGallery: false,\n\t\tdisableMediaButtons: imagesUploading,\n\t\tvalue: {},\n\t};\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx(\n\t\t\tclassName,\n\t\t\t'has-nested-images',\n\t\t\t// In dynamic mode there are no inner blocks and the gallery isn't\n\t\t\t// rendered through the `Gallery` component, so the classes that\n\t\t\t// component normally composes onto the `<figure>` (see `gallery.js`)\n\t\t\t// must be added here to keep the preview's flex/crop layout matching\n\t\t\t// the static gallery and the frontend.\n\t\t\tisDynamic && [\n\t\t\t\tlayoutClassNames,\n\t\t\t\t'blocks-gallery-grid',\n\t\t\t\t{\n\t\t\t\t\t[ `align${ align }` ]: align,\n\t\t\t\t\t[ `columns-${ columns }` ]: columns !== undefined,\n\t\t\t\t\t'columns-default': columns === undefined,\n\t\t\t\t\t'is-cropped': imageCrop,\n\t\t\t\t},\n\t\t\t]\n\t\t),\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t// In dynamic mode nothing may be inserted: the images are resolved from\n\t\t// the source, not authored as inner blocks. `allowedBlocks: []` enforces\n\t\t// this in every context — unlike `templateLock: 'all'`, it isn't relaxed\n\t\t// to `contentOnly` by a content-locked ancestor — so it blocks insertion\n\t\t// and drag-and-drop (via `canInsertBlockType`). It's also what opts the\n\t\t// gallery out of the List View: a block that can't be inserted into and\n\t\t// has no inner blocks has nothing to navigate or add (see\n\t\t// `shouldRenderBlockListView`). This reaches the block's list settings\n\t\t// only while the inner blocks are mounted, which is why the dynamic view\n\t\t// still renders the (empty) inner blocks.\n\t\tallowedBlocks: isDynamic ? EMPTY_ARRAY : undefined,\n\t} );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tif ( ! hasImages && ! isDynamic ) {\n\t\treturn (\n\t\t\t<div { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\ticon={ sharedIcon }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tmultiple\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t{ ...mediaPlaceholderProps }\n\t\t\t\t>\n\t\t\t\t\t{ /*\n\t\t\t\t\t * Entry into dynamic mode. Gated on the editing mode so it's\n\t\t\t\t\t * hidden in content-only editing (where this structural change\n\t\t\t\t\t * isn't allowed), but intentionally not hidden by\n\t\t\t\t\t * `canUseDynamicSource` the way the inspector is (see\n\t\t\t\t\t * `dynamic-gallery.js`): even with no\n\t\t\t\t\t * post type to preview against, the source still resolves at\n\t\t\t\t\t * render time via `get_the_ID()` (see `index.php`) — e.g. in a\n\t\t\t\t\t * template part or pattern shown on a singular page.\n\t\t\t\t\t */ }\n\t\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={ dynamic.enableDynamicMode }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ getDynamicSource( ATTACHED_MEDIA ).title }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t</MediaPlaceholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<GallerySourcePanel\n\t\t\t\t\tdynamic={ dynamic }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\thasImages={ hasImages }\n\t\t\t\t/>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tnavigationButtonType: 'icon',\n\t\t\t\t\t\t\tcolumns: undefined,\n\t\t\t\t\t\t\timageCrop: true,\n\t\t\t\t\t\t\trandomOrder: false,\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\tsetAspectRatio( 'auto' );\n\n\t\t\t\t\t\tif ( sizeSlug !== DEFAULT_MEDIA_SIZE_SLUG ) {\n\t\t\t\t\t\t\tupdateImagesSize( DEFAULT_MEDIA_SIZE_SLUG );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( linkTarget ) {\n\t\t\t\t\t\t\ttoggleOpenInNewTab( false );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t{ displayedImageCount > 1 && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t!! columns && columns !== displayedImageCount\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonDeselect={ () => setColumnsNumber( undefined ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t\t: defaultColumnsNumber(\n\t\t\t\t\t\t\t\t\t\t\t\tdisplayedImageCount\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\tmax={ Math.min(\n\t\t\t\t\t\t\t\t\tMAX_COLUMNS,\n\t\t\t\t\t\t\t\t\tdisplayedImageCount\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\tsizeSlug !== DEFAULT_MEDIA_SIZE_SLUG\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tupdateImagesSize( DEFAULT_MEDIA_SIZE_SLUG )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\thasValue={ () => ! imageCrop }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { imageCrop: true } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\thasValue={ () => !! randomOrder }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { randomOrder: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\t\tchecked={ !! randomOrder }\n\t\t\t\t\t\t\tonChange={ toggleRandomOrder }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\tlabel={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\thasValue={ () => !! linkTarget }\n\t\t\t\t\t\t\tonDeselect={ () => toggleOpenInNewTab( false ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ aspectRatioOptions.length > 1 && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t!! aspectRatio && aspectRatio !== 'auto'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\t\t\t\tonDeselect={ () => setAspectRatio( 'auto' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Set a consistent aspect ratio for all images in the gallery.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tvalue={ aspectRatio }\n\t\t\t\t\t\t\t\toptions={ aspectRatioOptions }\n\t\t\t\t\t\t\t\tonChange={ setAspectRatio }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ lightboxSetting?.allowEditing && hasLightboxImages && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Navigation button type' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => navigationButtonType !== 'icon' }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tnavigationButtonType: 'icon',\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Navigation button type' ) }\n\t\t\t\t\t\t\t\tvalue={ navigationButtonType }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tnavigationButtonType: value,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Adjust the appearance of buttons in the lightbox.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ NAVIGATION_BUTTON_TYPE_OPTIONS.map(\n\t\t\t\t\t\t\t\t\t( option ) => (\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\t\tkey={ option.value }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<ToolbarDropdownMenu icon={ linkIcon } label={ __( 'Link' ) }>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ linkOptions.map( ( linkItem ) => {\n\t\t\t\t\t\t\t\tconst isOptionSelected =\n\t\t\t\t\t\t\t\t\tlinkTo === linkItem.value;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tkey={ linkItem.value }\n\t\t\t\t\t\t\t\t\t\tisSelected={ isOptionSelected }\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t'components-dropdown-menu__menu-item',\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t'is-active': isOptionSelected,\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\t\t\t\t\ticon={ linkItem.icon }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetLinkTo( linkItem.value );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t\tinfo={ linkItem.infoText }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ linkItem.label }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t</BlockControls>\n\t\t\t<>\n\t\t\t\t{ ! multiGallerySelection && ! isDynamic && (\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t) }\n\t\t\t\t<GalleryGapCustomProperties\n\t\t\t\t\tstyle={ attributes.style }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</>\n\t\t\t{ isDynamic ? (\n\t\t\t\t<GalleryDynamicView\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tdynamic={ dynamic }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tinnerBlocksProps={ innerBlocksProps }\n\t\t\t\t\tmultiGallerySelection={ multiGallerySelection }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Gallery\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tisContentLocked={ isContentLocked }\n\t\t\t\t\timages={ images }\n\t\t\t\t\tblockProps={ innerBlocksProps }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tmultiGallerySelection={ multiGallerySelection }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport {\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToolbarDropdownMenu,\n\tButton,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tuseBlockEditingMode,\n\tBlockControls,\n\tMediaReplaceFlow,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport { useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport {\n\tlink as linkIcon,\n\tcustomLink,\n\timage as imageIcon,\n\tlinkOff,\n\tfullscreen,\n} from '@wordpress/icons';\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_LIGHTBOX,\n\tDEFAULT_MEDIA_SIZE_SLUG,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GalleryGapCustomProperties from './gap-styles';\nimport useDynamicGallery from './use-dynamic-gallery';\nimport { GallerySourcePanel, GalleryDynamicView } from './dynamic-gallery';\nimport { getDynamicSource, ATTACHED_MEDIA } from './dynamic-source';\n\nconst MAX_COLUMNS = 8;\nconst LINK_OPTIONS = [\n\t{\n\t\ticon: customLink,\n\t\tlabel: __( 'Link images to attachment pages' ),\n\t\tvalue: LINK_DESTINATION_ATTACHMENT,\n\t\tnoticeText: __( 'Attachment Pages' ),\n\t},\n\t{\n\t\ticon: imageIcon,\n\t\tlabel: __( 'Link images to media files' ),\n\t\tvalue: LINK_DESTINATION_MEDIA,\n\t\tnoticeText: __( 'Media Files' ),\n\t},\n\t{\n\t\ticon: fullscreen,\n\t\tlabel: __( 'Enlarge on click' ),\n\t\tvalue: LINK_DESTINATION_LIGHTBOX,\n\t\tnoticeText: __( 'Lightbox effect' ),\n\t\tinfoText: __( 'Scale images with a lightbox effect' ),\n\t},\n\t{\n\t\ticon: linkOff,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tnoticeText: __( 'None' ),\n\t},\n];\nconst NAVIGATION_BUTTON_TYPE_OPTIONS = [\n\t{\n\t\tlabel: __( 'Icon' ),\n\t\tvalue: 'icon',\n\t},\n\t{\n\t\tlabel: __( 'Text' ),\n\t\tvalue: 'text',\n\t},\n\t{\n\t\tlabel: __( 'Both' ),\n\t\tvalue: 'both',\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = __(\n\t'Drag and drop images, upload, or choose from your library.'\n);\n\nconst DEFAULT_BLOCK = { name: 'core/image' };\nconst EMPTY_ARRAY = [];\n\nexport default function GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t\tisContentLocked,\n\t\tcontext,\n\t\t__unstableLayoutClassNames: layoutClassNames,\n\t} = props;\n\n\tconst postId = context?.postId;\n\tconst postType = context?.postType;\n\n\t// Entering dynamic mode is a structural change (it discards inner blocks and\n\t// switches the block's mode), so the entry point is only offered when the\n\t// block is fully editable — mirroring the dynamic view's \"Edit images\"\n\t// toolbar control. Under a content lock the mode is `'contentOnly'`/\n\t// `'disabled'`, where structural affordances are hidden.\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst [ lightboxSetting, defaultRatios, themeRatios, showDefaultRatios ] =\n\t\tuseSettings(\n\t\t\t'blocks.core/image.lightbox',\n\t\t\t'dimensions.aspectRatios.default',\n\t\t\t'dimensions.aspectRatios.theme',\n\t\t\t'dimensions.defaultAspectRatios'\n\t\t);\n\n\tconst linkOptions = ! lightboxSetting?.allowEditing\n\t\t? LINK_OPTIONS.filter(\n\t\t\t\t( option ) => option.value !== LINK_DESTINATION_LIGHTBOX\n\t\t )\n\t\t: LINK_OPTIONS;\n\n\tconst {\n\t\talign,\n\t\tnavigationButtonType,\n\t\tcolumns,\n\t\timageCrop,\n\t\trandomOrder,\n\t\tlinkTarget,\n\t\tlinkTo,\n\t\tsizeSlug,\n\t\taspectRatio,\n\t} = attributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { getBlock, getSettings, innerBlockImages, multiGallerySelection } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetBlockName,\n\t\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\t\tgetSettings: _getSettings,\n\t\t\t\t\tgetBlock: _getBlock,\n\t\t\t\t} = select( blockEditorStore );\n\t\t\t\tconst multiSelectedClientIds = getMultiSelectedBlockClientIds();\n\n\t\t\t\treturn {\n\t\t\t\t\tgetBlock: _getBlock,\n\t\t\t\t\tgetSettings: _getSettings,\n\t\t\t\t\tinnerBlockImages:\n\t\t\t\t\t\t_getBlock( clientId )?.innerBlocks ?? EMPTY_ARRAY,\n\t\t\t\t\tmultiGallerySelection:\n\t\t\t\t\t\tmultiSelectedClientIds.length &&\n\t\t\t\t\t\tmultiSelectedClientIds.every(\n\t\t\t\t\t\t\t( _clientId ) =>\n\t\t\t\t\t\t\t\tgetBlockName( _clientId ) === 'core/gallery'\n\t\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientId ]\n\t\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tconst hasImages = !! images.length;\n\tconst isDynamic = !! attributes.dynamicContent;\n\n\t// Dynamic mode (resolving images from a source instead of inner blocks):\n\t// source resolution, the editor-preview blocks, and the mode/ordering\n\t// actions.\n\tconst dynamic = useDynamicGallery( {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclientId,\n\t\tpostId,\n\t\tpostType,\n\t} );\n\n\t// State that drives counts/size options should reflect the dynamic media\n\t// when the gallery is in dynamic mode.\n\tconst displayedImageCount = isDynamic\n\t\t? dynamic.dynamicMedia.length\n\t\t: images.length;\n\n\t// Check if there is at least one image with lightbox enabled. In dynamic\n\t// mode the images inherit the gallery's link setting, so the lightbox is on\n\t// when the gallery links images to the lightbox.\n\tlet hasLightboxImages;\n\tif ( isDynamic ) {\n\t\thasLightboxImages = linkTo === LINK_DESTINATION_LIGHTBOX;\n\t} else if ( lightboxSetting?.enabled ) {\n\t\thasLightboxImages =\n\t\t\timages.filter(\n\t\t\t\t( image ) =>\n\t\t\t\t\timage.attributes?.lightbox?.enabled === undefined ||\n\t\t\t\t\timage.attributes?.lightbox?.enabled === true\n\t\t\t).length > 0;\n\t} else {\n\t\thasLightboxImages =\n\t\t\timages.filter( ( image ) => image.attributes.lightbox?.enabled )\n\t\t\t\t.length > 0;\n\t}\n\n\tconst themeOptions = themeRatios?.map( ( { name, ratio } ) => ( {\n\t\tlabel: name,\n\t\tvalue: ratio,\n\t} ) );\n\tconst defaultOptions = defaultRatios?.map( ( { name, ratio } ) => ( {\n\t\tlabel: name,\n\t\tvalue: ratio,\n\t} ) );\n\tconst aspectRatioOptions = [\n\t\t{\n\t\t\tlabel: _x(\n\t\t\t\t'Original',\n\t\t\t\t'Aspect ratio option for dimensions control'\n\t\t\t),\n\t\t\tvalue: 'auto',\n\t\t},\n\t\t...( showDefaultRatios ? defaultOptions || [] : [] ),\n\t\t...( themeOptions || [] ),\n\t];\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\tisDynamic ? dynamic.dynamicMedia : imageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? imageData.find( ( { id } ) => id === imageAttributes.id )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption:\n\t\t\t\timageAttributes.caption.length > 0\n\t\t\t\t\t? imageAttributes.caption\n\t\t\t\t\t: image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t\taspectRatio: aspectRatio === 'auto' ? undefined : aspectRatio,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\tconst mediaTypeSelector = file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.indexOf( mediaType ) === 0\n\t\t\t) || file.blob\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tblob: file.blob || createBlobURL( file ),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\tblob: image.blob,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\n\t\t);\n\n\t\t// Select the first block to scroll into view when new blocks are added.\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue,\n\t\t\t\tfalse,\n\t\t\t\tblock.attributes,\n\t\t\t\tlightboxSetting\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, {\n\t\t\tuniqueByBlock: true,\n\t\t} );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.noticeText\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction toggleRandomOrder() {\n\t\tsetAttributes( { randomOrder: ! randomOrder } );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, {\n\t\t\tuniqueByBlock: true,\n\t\t} );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, {\n\t\t\tuniqueByBlock: true,\n\t\t} );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize?.label ?? newSizeSlug\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setAspectRatio( value ) {\n\t\tsetAttributes( { aspectRatio: value } );\n\n\t\t// Update all inner image blocks with the new aspect ratio\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = {\n\t\t\t\taspectRatio: value === 'auto' ? undefined : value,\n\t\t\t};\n\t\t} );\n\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\n\t\tconst aspectRatioText = aspectRatioOptions.find(\n\t\t\t( option ) => option.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: aspect ratio setting */\n\t\t\t\t__( 'All gallery images updated to aspect ratio: %s' ),\n\t\t\t\taspectRatioText?.label || value\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-aspectRatio',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some(\n\t\t( img ) => ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t);\n\n\tconst mediaPlaceholderProps = {\n\t\taddToGallery: false,\n\t\tdisableMediaButtons: imagesUploading,\n\t\tvalue: {},\n\t};\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx(\n\t\t\tclassName,\n\t\t\t'has-nested-images',\n\t\t\t// In dynamic mode there are no inner blocks and the gallery isn't\n\t\t\t// rendered through the `Gallery` component, so the classes that\n\t\t\t// component normally composes onto the `<figure>` (see `gallery.js`)\n\t\t\t// must be added here to keep the preview's flex/crop layout matching\n\t\t\t// the static gallery and the frontend.\n\t\t\tisDynamic && [\n\t\t\t\tlayoutClassNames,\n\t\t\t\t'blocks-gallery-grid',\n\t\t\t\t{\n\t\t\t\t\t[ `align${ align }` ]: align,\n\t\t\t\t\t[ `columns-${ columns }` ]: columns !== undefined,\n\t\t\t\t\t'columns-default': columns === undefined,\n\t\t\t\t\t'is-cropped': imageCrop,\n\t\t\t\t},\n\t\t\t]\n\t\t),\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t// In dynamic mode nothing may be inserted: the images are resolved from\n\t\t// the source, not authored as inner blocks. `allowedBlocks: []` enforces\n\t\t// this in every context — unlike `templateLock: 'all'`, it isn't relaxed\n\t\t// to `contentOnly` by a content-locked ancestor — so it blocks insertion\n\t\t// and drag-and-drop (via `canInsertBlockType`). It's also what opts the\n\t\t// gallery out of the List View: a block that can't be inserted into and\n\t\t// has no inner blocks has nothing to navigate or add (see\n\t\t// `shouldRenderBlockListView`). This reaches the block's list settings\n\t\t// only while the inner blocks are mounted, which is why the dynamic view\n\t\t// still renders the (empty) inner blocks.\n\t\tallowedBlocks: isDynamic ? EMPTY_ARRAY : undefined,\n\t} );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tif ( ! hasImages && ! isDynamic ) {\n\t\treturn (\n\t\t\t<div { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\ticon={ sharedIcon }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tmultiple\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t{ ...mediaPlaceholderProps }\n\t\t\t\t>\n\t\t\t\t\t{ /*\n\t\t\t\t\t * Entry into dynamic mode. Gated on the editing mode so it's\n\t\t\t\t\t * hidden in content-only editing (where this structural change\n\t\t\t\t\t * isn't allowed), but intentionally not hidden by\n\t\t\t\t\t * `canUseDynamicSource` the way the inspector is (see\n\t\t\t\t\t * `dynamic-gallery.js`): even with no\n\t\t\t\t\t * post type to preview against, the source still resolves at\n\t\t\t\t\t * render time via `get_the_ID()` (see `index.php`) — e.g. in a\n\t\t\t\t\t * template part or pattern shown on a singular page.\n\t\t\t\t\t */ }\n\t\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={ dynamic.enableDynamicMode }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ getDynamicSource( ATTACHED_MEDIA ).title }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t</MediaPlaceholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<GallerySourcePanel\n\t\t\t\t\tdynamic={ dynamic }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\thasImages={ hasImages }\n\t\t\t\t/>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tnavigationButtonType: 'icon',\n\t\t\t\t\t\t\tcolumns: undefined,\n\t\t\t\t\t\t\timageCrop: true,\n\t\t\t\t\t\t\trandomOrder: false,\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\tsetAspectRatio( 'auto' );\n\n\t\t\t\t\t\tif ( sizeSlug !== DEFAULT_MEDIA_SIZE_SLUG ) {\n\t\t\t\t\t\t\tupdateImagesSize( DEFAULT_MEDIA_SIZE_SLUG );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( linkTarget ) {\n\t\t\t\t\t\t\ttoggleOpenInNewTab( false );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t{ displayedImageCount > 1 && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t!! columns && columns !== displayedImageCount\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonDeselect={ () => setColumnsNumber( undefined ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t\t: defaultColumnsNumber(\n\t\t\t\t\t\t\t\t\t\t\t\tdisplayedImageCount\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\tmax={ Math.min(\n\t\t\t\t\t\t\t\t\tMAX_COLUMNS,\n\t\t\t\t\t\t\t\t\tdisplayedImageCount\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\tsizeSlug !== DEFAULT_MEDIA_SIZE_SLUG\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tupdateImagesSize( DEFAULT_MEDIA_SIZE_SLUG )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\thasValue={ () => ! imageCrop }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { imageCrop: true } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\thasValue={ () => !! randomOrder }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { randomOrder: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\t\tchecked={ !! randomOrder }\n\t\t\t\t\t\t\tonChange={ toggleRandomOrder }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\tlabel={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\thasValue={ () => !! linkTarget }\n\t\t\t\t\t\t\tonDeselect={ () => toggleOpenInNewTab( false ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ aspectRatioOptions.length > 1 && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t!! aspectRatio && aspectRatio !== 'auto'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\t\t\t\tonDeselect={ () => setAspectRatio( 'auto' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Set a consistent aspect ratio for all images in the gallery.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tvalue={ aspectRatio }\n\t\t\t\t\t\t\t\toptions={ aspectRatioOptions }\n\t\t\t\t\t\t\t\tonChange={ setAspectRatio }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ lightboxSetting?.allowEditing && hasLightboxImages && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Navigation button type' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => navigationButtonType !== 'icon' }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tnavigationButtonType: 'icon',\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Navigation button type' ) }\n\t\t\t\t\t\t\t\tvalue={ navigationButtonType }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tnavigationButtonType: value,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Adjust the appearance of buttons in the lightbox.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ NAVIGATION_BUTTON_TYPE_OPTIONS.map(\n\t\t\t\t\t\t\t\t\t( option ) => (\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\t\tkey={ option.value }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<ToolbarDropdownMenu icon={ linkIcon } label={ __( 'Link' ) }>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ linkOptions.map( ( linkItem ) => {\n\t\t\t\t\t\t\t\tconst isOptionSelected =\n\t\t\t\t\t\t\t\t\tlinkTo === linkItem.value;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tkey={ linkItem.value }\n\t\t\t\t\t\t\t\t\t\tisSelected={ isOptionSelected }\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t'components-dropdown-menu__menu-item',\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t'is-active': isOptionSelected,\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\t\t\t\t\ticon={ linkItem.icon }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetLinkTo( linkItem.value );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t\tinfo={ linkItem.infoText }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ linkItem.label }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t</BlockControls>\n\t\t\t<>\n\t\t\t\t{ ! multiGallerySelection && ! isDynamic && (\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t) }\n\t\t\t\t<GalleryGapCustomProperties\n\t\t\t\t\tstyle={ attributes.style }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</>\n\t\t\t{ isDynamic ? (\n\t\t\t\t<GalleryDynamicView\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tdynamic={ dynamic }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tinnerBlocksProps={ innerBlocksProps }\n\t\t\t\t\tmultiGallerySelection={ multiGallerySelection }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Gallery\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tisContentLocked={ isContentLocked }\n\t\t\t\t\timages={ images }\n\t\t\t\t\tblockProps={ innerBlocksProps }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tmultiGallerySelection={ multiGallerySelection }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -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": ";AAGA,OAAO,UAAU;AAKjB,SAAS,UAAU;AAKnB,SAAS,eAAe;AAiBtB,SAeC,KAfD;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,WAAY;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,OAAQ,GAAI,sBAAuB;AAAA,YACnC,aAAc,GAAI,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,OAAO,UAAU;AACjB,SAAS,UAAU;AACnB,SAAS,eAAe;AAiBtB,SAeC,KAfD;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,WAAY;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,OAAQ,GAAI,sBAAuB;AAAA,YACnC,aAAc,GAAI,qBAAsB;AAAA;AAAA,QACzC;AAAA;AAAA;AAAA,EACD;AAEF;",
6
6
  "names": []
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": ";AAGA;AAAA,EACC,gCAAgC;AAAA,EAChC,eAAe;AAAA,EACf,SAAS;AAAA,EACT;AAAA,EACA;AAAA,OACM;AACP,SAAS,iBAAiB;AAC1B,SAAS,eAAe,qCAAqC;AAK7D,SAAS,cAAc;AAEvB,IAAM,EAAE,0BAA0B,IAAI,OAAQ,6BAA8B;AAC5E,IAAM,EAAE,oBAAoB,IAAI,OAAQ,sBAAuB;AAC/D,IAAM,qBAAqB;AAI3B,IAAM,iBAAiB;AAEvB,SAAS,iCAAkC,UAAU,UAAW;AAC/D,MAAI,SAAS;AACb,MAAK,UAAW;AACf,aACC,OAAO,aAAa,WACjB,eAAgB,QAAS,KAAK,iBAC9B,eAAgB,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,IAAI,YAAa,UAAW;AACrD,QAAM,eAAe;AAAA,IACpB,CAAE,WACD,OAAQ,gBAAiB,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,mBAAkB,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,EACC,gCAAgC;AAAA,EAChC,eAAe;AAAA,EACf,SAAS;AAAA,EACT;AAAA,EACA;AAAA,OACM;AACP,SAAS,iBAAiB;AAC1B,SAAS,eAAe,qCAAqC;AAC7D,SAAS,cAAc;AAEvB,IAAM,EAAE,0BAA0B,IAAI,OAAQ,6BAA8B;AAC5E,IAAM,EAAE,oBAAoB,IAAI,OAAQ,sBAAuB;AAC/D,IAAM,qBAAqB;AAI3B,IAAM,iBAAiB;AAEvB,SAAS,iCAAkC,UAAU,UAAW;AAC/D,MAAI,SAAS;AACb,MAAK,UAAW;AACf,aACC,OAAO,aAAa,WACjB,eAAgB,QAAS,KAAK,iBAC9B,eAAgB,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,IAAI,YAAa,UAAW;AACrD,QAAM,eAAe;AAAA,IACpB,CAAE,WACD,OAAQ,gBAAiB,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,mBAAkB,EAAE,KAAK,IAAI,CAAE;AAE/B,SAAO;AACR;",
6
6
  "names": []
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": ";AAGA,SAAS,WAAW,YAAY;AAKhC,OAAO,eAAe;AACtB,OAAO,gBAAgB;AACvB,OAAO,UAAU;AACjB,OAAO,cAAc;AACrB,OAAO,UAAU;AACjB,OAAO,gBAAgB;AACvB,OAAO,gBAAgB;AAEvB,IAAM,EAAE,KAAK,IAAI;AAIV,IAAM,WAAW;AAAA,EACvB;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;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEO,IAAM,OAAO,MAAM,UAAW,EAAE,MAAM,UAAU,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,SAAS,WAAW,YAAY;AAChC,OAAO,eAAe;AACtB,OAAO,gBAAgB;AACvB,OAAO,UAAU;AACjB,OAAO,cAAc;AACrB,OAAO,UAAU;AACjB,OAAO,gBAAgB;AACvB,OAAO,gBAAgB;AAEvB,IAAM,EAAE,KAAK,IAAI;AAIV,IAAM,WAAW;AAAA,EACvB;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;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEO,IAAM,OAAO,MAAM,UAAW,EAAE,MAAM,UAAU,SAAS,CAAE;",
6
6
  "names": []
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": ";AAGA,SAAS,YAAY;AAErB,IAAO,eAAQ,KAAK;",
4
+ "sourcesContent": ["import { init } from './';\n\nexport default init();\n"],
5
+ "mappings": ";AAAA,SAAS,YAAY;AAErB,IAAO,eAAQ,KAAK;",
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": ";AAGA,OAAO,UAAU;AAKjB;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAML,cA4BA,YA5BA;AAJa,SAAR,oBAAsC,EAAE,WAAW,GAAI;AAC7D,QAAM,EAAE,SAAS,SAAS,WAAW,eAAe,IAAI;AAExD,QAAM,iBAAiB,CAAE,SAAS,QAAS,OAAQ,KAClD;AAAA,IAAC,SAAS;AAAA,IAAT;AAAA,MACA,SAAQ;AAAA,MACR,WAAY;AAAA,QACX;AAAA,QACA,kCAAmC,SAAU;AAAA,MAC9C;AAAA,MACA,OAAQ;AAAA;AAAA,EACT;AAQD,MAAK,gBAAiB;AACrB,WAAO,kBAAkB;AAAA,EAC1B;AAEA,QAAM,YAAY,KAAM,qBAAqB;AAAA,IAC5C,CAAE,WAAY,OAAQ,EAAG,GAAG,YAAY;AAAA,IACxC,CAAE,iBAAkB,GAAG,YAAY;AAAA,IACnC,cAAc;AAAA,EACf,CAAE;AACF,QAAM,aAAa,cAAc,KAAM,EAAE,UAAU,CAAE;AACrD,QAAM,mBAAmB,oBAAoB,KAAM,UAAW;AAE9D,SACC,qBAAC,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,OAAO,UAAU;AACjB;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAML,cA4BA,YA5BA;AAJa,SAAR,oBAAsC,EAAE,WAAW,GAAI;AAC7D,QAAM,EAAE,SAAS,SAAS,WAAW,eAAe,IAAI;AAExD,QAAM,iBAAiB,CAAE,SAAS,QAAS,OAAQ,KAClD;AAAA,IAAC,SAAS;AAAA,IAAT;AAAA,MACA,SAAQ;AAAA,MACR,WAAY;AAAA,QACX;AAAA,QACA,kCAAmC,SAAU;AAAA,MAC9C;AAAA,MACA,OAAQ;AAAA;AAAA,EACT;AAQD,MAAK,gBAAiB;AACrB,WAAO,kBAAkB;AAAA,EAC1B;AAEA,QAAM,YAAY,KAAM,qBAAqB;AAAA,IAC5C,CAAE,WAAY,OAAQ,EAAG,GAAG,YAAY;AAAA,IACxC,CAAE,iBAAkB,GAAG,YAAY;AAAA,IACnC,cAAc;AAAA,EACf,CAAE;AACF,QAAM,aAAa,cAAc,KAAM,EAAE,UAAU,CAAE;AACrD,QAAM,mBAAmB,oBAAoB,KAAM,UAAW;AAE9D,SACC,qBAAC,YAAS,GAAG,kBACV;AAAA,qBAAiB;AAAA,IACjB;AAAA,KACH;AAEF;",
6
6
  "names": []
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": ";AAGA,SAAS,iBAAiB;AAC1B,SAAS,WAAW,YAAY;AAEN;AAAnB,IAAM,aAAa,oBAAC,aAAU,MAAc;",
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,SAAS,iBAAiB;AAC1B,SAAS,WAAW,YAAY;AAEN;AAAnB,IAAM,aAAa,oBAAC,aAAU,MAAc;",
6
6
  "names": []
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": ";AAGA,SAAS,mBAAmB;AAC5B,SAAS,qBAAqB;AAC9B,SAAS,iBAAiB;AAK1B;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,SAAS,4BAA4B;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,eAClB;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,eAAO,YAAa,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;AACA;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;AACA;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,iBAAO,YAAa,cAAc,KAAM;AAAA,QACzC,CAAE;AAEF,eAAO;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,eAAe;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,YACf,YAAa,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,SAChC,YAAa,cAAc;AAAA,YAC1B,MAAM,cAAe,IAAK;AAAA,UAC3B,CAAE;AAAA,QACH;AAEA,eAAO,YAAa,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,MACC,YAAa,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,eAAO,YAAa,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,eAAO;AAAA,UACN;AAAA,UACA;AAAA,YACC,GAAG;AAAA,YACH,QAAQ;AAAA,cACP,MAAM;AAAA,cACN,aACC,WACA,qBAAsB,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
  }
@@ -1,6 +1,6 @@
1
1
  // packages/block-library/src/gallery/use-dynamic-gallery.js
2
2
  import { useMemo } from "@wordpress/element";
3
- import { useDispatch, useSelect } from "@wordpress/data";
3
+ import { useDispatch, useSelect, useRegistry } from "@wordpress/data";
4
4
  import { store as blockEditorStore } from "@wordpress/block-editor";
5
5
  import { store as coreStore } from "@wordpress/core-data";
6
6
  import { createBlock } from "@wordpress/blocks";
@@ -56,7 +56,8 @@ function useDynamicGallery({
56
56
  const sourceDescriptor = getDynamicSource(dynamicContent?.source);
57
57
  const sourceOrderby = dynamicContent?.args?.orderBy ?? DEFAULT_ORDERBY;
58
58
  const sourceOrder = dynamicContent?.args?.order ?? DEFAULT_ORDER;
59
- const { replaceInnerBlocks } = useDispatch(blockEditorStore);
59
+ const registry = useRegistry();
60
+ const { replaceInnerBlocks, __unstableMarkNextChangeAsNotPersistent } = useDispatch(blockEditorStore);
60
61
  const query = useMemo(
61
62
  () => dynamicContent ? getSourceQuery(dynamicContent, { postId }) : null,
62
63
  [dynamicContent, postId]
@@ -112,15 +113,21 @@ function useDynamicGallery({
112
113
  ]
113
114
  );
114
115
  function enableDynamicMode() {
115
- setAttributes({ dynamicContent: { source: ATTACHED_MEDIA } });
116
- replaceInnerBlocks(clientId, []);
116
+ registry.batch(() => {
117
+ setAttributes({ dynamicContent: { source: ATTACHED_MEDIA } });
118
+ __unstableMarkNextChangeAsNotPersistent();
119
+ replaceInnerBlocks(clientId, []);
120
+ });
117
121
  }
118
122
  function convertToStatic() {
119
- replaceInnerBlocks(
120
- clientId,
121
- buildImageBlocks(dynamicMedia, imageAttributes)
122
- );
123
- setAttributes({ dynamicContent: void 0 });
123
+ registry.batch(() => {
124
+ replaceInnerBlocks(
125
+ clientId,
126
+ buildImageBlocks(dynamicMedia, imageAttributes)
127
+ );
128
+ __unstableMarkNextChangeAsNotPersistent();
129
+ setAttributes({ dynamicContent: void 0 });
130
+ });
124
131
  }
125
132
  function setSourceOrder(nextOrderby, nextOrder) {
126
133
  const nextArgs = { ...dynamicContent?.args };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/gallery/use-dynamic-gallery.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport { getUpdatedLinkTargetSettings } from '../image/utils';\nimport {\n\tgetSourceQuery,\n\tgetDynamicSource,\n\tATTACHED_MEDIA,\n\tDEFAULT_ORDERBY,\n\tDEFAULT_ORDER,\n\tMAX_IMAGES,\n} from './dynamic-source';\n\nconst EMPTY_ARRAY = [];\n\n/**\n * Builds the attributes for a `core/image` block from a media (attachment)\n * record, applying the gallery-wide settings that affect how the image renders.\n *\n * Used to construct the (non-persisted) image blocks previewed in dynamic mode,\n * and the real image blocks created when a dynamic gallery is converted\n * (\"pinned\") back to individual images. The frontend equivalent is\n * `block_core_gallery_render_dynamic_image()` in `index.php`.\n *\n * @param {Object} media A media object as returned by the REST API.\n * @param {Object} galleryAttributes The gallery block's attributes.\n * @return {Object} Attributes to pass to `createBlock( 'core/image', ... )`.\n */\nfunction buildImageBlockAttributes( media, galleryAttributes ) {\n\tconst { sizeSlug, linkTo, linkTarget, aspectRatio } = galleryAttributes;\n\tconst hasAspectRatio = !! aspectRatio && aspectRatio !== 'auto';\n\n\treturn {\n\t\tid: media.id,\n\t\t...pickRelevantMediaFiles( media, sizeSlug ),\n\t\t...getHrefAndDestination( media, linkTo ),\n\t\t...getUpdatedLinkTargetSettings( linkTarget, galleryAttributes ),\n\t\tsizeSlug,\n\t\t// Raw caption, mirroring the frontend (`index.php`). Gap: the REST API\n\t\t// exposes no caption run through `wp_get_attachment_caption`, so neither\n\t\t// side applies that filter.\n\t\tcaption: media.caption?.raw || '',\n\t\talt: media.alt_text || '',\n\t\taspectRatio: hasAspectRatio ? aspectRatio : undefined,\n\t\t// Pair `scale` with `aspectRatio` so the image crops rather than stretches,\n\t\t// matching the image block's UI and the frontend (`index.php`).\n\t\tscale: hasAspectRatio ? 'cover' : undefined,\n\t};\n}\n\n/**\n * Builds a set of `core/image` blocks from the resolved media, applying the\n * gallery-wide settings. Each call mints fresh client IDs, so it can produce\n * both the editor preview and the materialized inner blocks on convert.\n *\n * @param {Object[]} media Media records from the REST API.\n * @param {Object} galleryAttributes The image-relevant gallery attributes.\n * @return {Object[]} New `core/image` block instances.\n */\nfunction buildImageBlocks( media, galleryAttributes ) {\n\treturn media.map( ( mediaItem ) =>\n\t\tcreateBlock(\n\t\t\t'core/image',\n\t\t\tbuildImageBlockAttributes( mediaItem, galleryAttributes )\n\t\t)\n\t);\n}\n\n/**\n * Bundles the Gallery block's \"dynamic mode\" source resolution and actions.\n *\n * Dynamic mode resolves the gallery's images from a configured source\n * (`attributes.dynamicContent`) instead of from manually-added inner image\n * blocks. This hook centralizes the shared, single-instance pieces — the source\n * resolution (one `getEntityRecords`), the editor-preview blocks, and the\n * mode/ordering actions — out of the block's `edit` component. Transient UI\n * concerns (e.g. the convert-to-dynamic confirmation) live in the components\n * that own them.\n *\n * @param {Object} options\n * @param {Object} options.attributes The gallery block attributes.\n * @param {Function} options.setAttributes The block's `setAttributes`.\n * @param {string} options.clientId The block client ID.\n * @param {?number} options.postId The current post ID (from block context).\n * @param {?string} options.postType The current post type (from block context).\n * @return {Object} Dynamic-mode source data and actions.\n */\nexport default function useDynamicGallery( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tpostId,\n\tpostType,\n} ) {\n\tconst { dynamicContent } = attributes;\n\n\t// Whether dynamic mode makes sense in the current editing context. A\n\t// `postType` means the block will resolve against some post at render time —\n\t// either a concrete post (post/page editor, Query Loop item) or a post-bound\n\t// template (`single`, `page`) whose post is filled in by `get_the_ID()` on the\n\t// frontend (see `index.php`). Without it (template part, pattern, generic\n\t// template) there's no post to attach to, so the source can never resolve.\n\tconst canUseDynamicSource = !! postType;\n\n\t// The descriptor for the configured source (its `title`/`description`/\n\t// `emptyMessage`), resolved once here so consumers read the copy without\n\t// re-deriving it from `dynamicContent`. `undefined` for an unknown source.\n\tconst sourceDescriptor = getDynamicSource( dynamicContent?.source );\n\n\t// Current source ordering, falling back to the shared defaults when unset.\n\tconst sourceOrderby = dynamicContent?.args?.orderBy ?? DEFAULT_ORDERBY;\n\tconst sourceOrder = dynamicContent?.args?.order ?? DEFAULT_ORDER;\n\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\n\t// Resolve the configured source to a media query. `null` (static mode, or an\n\t// unresolvable source) short-circuits the select below so no request fires.\n\tconst query = useMemo(\n\t\t() =>\n\t\t\tdynamicContent\n\t\t\t\t? getSourceQuery( dynamicContent, { postId } )\n\t\t\t\t: null,\n\t\t[ dynamicContent, postId ]\n\t);\n\n\tconst { dynamicMedia, dynamicMediaTotal, isResolvingDynamic } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! query ) {\n\t\t\t\treturn {\n\t\t\t\t\tdynamicMedia: EMPTY_ARRAY,\n\t\t\t\t\tdynamicMediaTotal: 0,\n\t\t\t\t\tisResolvingDynamic: false,\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst selectorArgs = [ 'postType', 'attachment', query ];\n\t\t\treturn {\n\t\t\t\tdynamicMedia:\n\t\t\t\t\tselect( coreStore ).getEntityRecords( ...selectorArgs ) ??\n\t\t\t\t\tEMPTY_ARRAY,\n\t\t\t\t// Total matching attachments (the `X-WP-Total` header), which the\n\t\t\t\t// query's `per_page` cap doesn't bound — so it reveals when the\n\t\t\t\t// post has more attached images than are shown.\n\t\t\t\tdynamicMediaTotal:\n\t\t\t\t\tselect( coreStore ).getEntityRecordsTotalItems(\n\t\t\t\t\t\t...selectorArgs\n\t\t\t\t\t) ?? 0,\n\t\t\t\tisResolvingDynamic: ! select( coreStore ).hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\tselectorArgs\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ query ]\n\t);\n\n\t// The source caps results at `MAX_IMAGES` (matching the frontend), so flag\n\t// when the post has more attached images than the gallery can show.\n\tconst hasMoreImagesThanCap = dynamicMediaTotal > MAX_IMAGES;\n\n\t// The only gallery settings that affect how an image renders, and so the\n\t// only ones `buildImageBlockAttributes` reads. Depending on this narrowed\n\t// set (rather than the whole `attributes` object) keeps the preview from\n\t// rebuilding on unrelated edits, e.g. typing in the gallery caption.\n\tconst { sizeSlug, linkTo, linkTarget, aspectRatio } = attributes;\n\tconst imageAttributes = useMemo(\n\t\t() => ( { sizeSlug, linkTo, linkTarget, aspectRatio } ),\n\t\t[ sizeSlug, linkTo, linkTarget, aspectRatio ]\n\t);\n\n\t// The (non-persisted) `core/image` blocks used for the editor preview.\n\t// Rebuilt when the resolved media or an image-relevant setting changes.\n\tconst dynamicImageBlocks = useMemo(\n\t\t() => buildImageBlocks( dynamicMedia, imageAttributes ),\n\t\t[ dynamicMedia, imageAttributes ]\n\t);\n\n\t// Context the gallery provides to its (previewed) image blocks.\n\tconst galleryContext = useMemo(\n\t\t() => ( {\n\t\t\tallowResize: attributes.allowResize ?? false,\n\t\t\timageCrop: attributes.imageCrop,\n\t\t\tfixedHeight: attributes.fixedHeight,\n\t\t\tnavigationButtonType: attributes.navigationButtonType,\n\t\t} ),\n\t\t[\n\t\t\tattributes.allowResize,\n\t\t\tattributes.imageCrop,\n\t\t\tattributes.fixedHeight,\n\t\t\tattributes.navigationButtonType,\n\t\t]\n\t);\n\n\t// Switches the gallery into dynamic mode, displaying images attached to the\n\t// current post. Clearing the inner blocks removes the manually-added images:\n\t// they're the gallery's image data, so there's nothing else to reset. The\n\t// legacy `images`/`ids` attributes aren't touched — they're back-compat shims\n\t// for the pre-innerBlocks format (see `deprecated.js`/`transforms.js`), empty\n\t// on any gallery reachable here.\n\tfunction enableDynamicMode() {\n\t\tsetAttributes( { dynamicContent: { source: ATTACHED_MEDIA } } );\n\t\treplaceInnerBlocks( clientId, [] );\n\t}\n\n\t// \"Pins\" a dynamic gallery: materializes the currently-resolved media as\n\t// real, editable image blocks and leaves dynamic mode.\n\tfunction convertToStatic() {\n\t\t// Build fresh blocks rather than reusing the preview's `dynamicImageBlocks`\n\t\t// so the materialized inner blocks get their own client IDs, distinct from\n\t\t// the (disabled) preview instances.\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\tbuildImageBlocks( dynamicMedia, imageAttributes )\n\t\t);\n\t\tsetAttributes( { dynamicContent: undefined } );\n\t}\n\n\t// Updates the source ordering within `dynamicContent.args`. Passing\n\t// `undefined` (or the default order) strips the keys so they aren't\n\t// persisted redundantly and the ToolsPanel item reads as unset.\n\tfunction setSourceOrder( nextOrderby, nextOrder ) {\n\t\tconst nextArgs = { ...dynamicContent?.args };\n\t\tdelete nextArgs.orderBy;\n\t\tdelete nextArgs.order;\n\t\tif (\n\t\t\tnextOrderby !== undefined &&\n\t\t\t( nextOrderby !== DEFAULT_ORDERBY || nextOrder !== DEFAULT_ORDER )\n\t\t) {\n\t\t\tnextArgs.orderBy = nextOrderby;\n\t\t\tnextArgs.order = nextOrder;\n\t\t}\n\t\tconst nextSource = { ...dynamicContent };\n\t\tif ( Object.keys( nextArgs ).length ) {\n\t\t\tnextSource.args = nextArgs;\n\t\t} else {\n\t\t\tdelete nextSource.args;\n\t\t}\n\t\tsetAttributes( { dynamicContent: nextSource } );\n\t}\n\n\t// Resets the source to its bare form: keeps the source kind, drops its args.\n\tfunction resetSource() {\n\t\tsetAttributes( {\n\t\t\tdynamicContent: { source: dynamicContent.source },\n\t\t} );\n\t}\n\n\treturn {\n\t\tdynamicContent,\n\t\tcanUseDynamicSource,\n\t\tsourceDescriptor,\n\t\thasMoreImagesThanCap,\n\t\tdynamicMediaTotal,\n\t\tsourceOrderby,\n\t\tsourceOrder,\n\t\tdynamicMedia,\n\t\tdynamicImageBlocks,\n\t\tisResolvingDynamic,\n\t\tgalleryContext,\n\t\tenableDynamicMode,\n\t\tconvertToStatic,\n\t\tsetSourceOrder,\n\t\tresetSource,\n\t};\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { useMemo } from '@wordpress/element';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { createBlock } from '@wordpress/blocks';\nimport { pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport { getUpdatedLinkTargetSettings } from '../image/utils';\nimport {\n\tgetSourceQuery,\n\tgetDynamicSource,\n\tATTACHED_MEDIA,\n\tDEFAULT_ORDERBY,\n\tDEFAULT_ORDER,\n\tMAX_IMAGES,\n} from './dynamic-source';\n\nconst EMPTY_ARRAY = [];\n\n/**\n * Builds the attributes for a `core/image` block from a media (attachment)\n * record, applying the gallery-wide settings that affect how the image renders.\n *\n * Used to construct the (non-persisted) image blocks previewed in dynamic mode,\n * and the real image blocks created when a dynamic gallery is converted\n * (\"pinned\") back to individual images. The frontend equivalent is\n * `block_core_gallery_render_dynamic_image()` in `index.php`.\n *\n * @param {Object} media A media object as returned by the REST API.\n * @param {Object} galleryAttributes The gallery block's attributes.\n * @return {Object} Attributes to pass to `createBlock( 'core/image', ... )`.\n */\nfunction buildImageBlockAttributes( media, galleryAttributes ) {\n\tconst { sizeSlug, linkTo, linkTarget, aspectRatio } = galleryAttributes;\n\tconst hasAspectRatio = !! aspectRatio && aspectRatio !== 'auto';\n\n\treturn {\n\t\tid: media.id,\n\t\t...pickRelevantMediaFiles( media, sizeSlug ),\n\t\t...getHrefAndDestination( media, linkTo ),\n\t\t...getUpdatedLinkTargetSettings( linkTarget, galleryAttributes ),\n\t\tsizeSlug,\n\t\t// Raw caption, mirroring the frontend (`index.php`). Gap: the REST API\n\t\t// exposes no caption run through `wp_get_attachment_caption`, so neither\n\t\t// side applies that filter.\n\t\tcaption: media.caption?.raw || '',\n\t\talt: media.alt_text || '',\n\t\taspectRatio: hasAspectRatio ? aspectRatio : undefined,\n\t\t// Pair `scale` with `aspectRatio` so the image crops rather than stretches,\n\t\t// matching the image block's UI and the frontend (`index.php`).\n\t\tscale: hasAspectRatio ? 'cover' : undefined,\n\t};\n}\n\n/**\n * Builds a set of `core/image` blocks from the resolved media, applying the\n * gallery-wide settings. Each call mints fresh client IDs, so it can produce\n * both the editor preview and the materialized inner blocks on convert.\n *\n * @param {Object[]} media Media records from the REST API.\n * @param {Object} galleryAttributes The image-relevant gallery attributes.\n * @return {Object[]} New `core/image` block instances.\n */\nfunction buildImageBlocks( media, galleryAttributes ) {\n\treturn media.map( ( mediaItem ) =>\n\t\tcreateBlock(\n\t\t\t'core/image',\n\t\t\tbuildImageBlockAttributes( mediaItem, galleryAttributes )\n\t\t)\n\t);\n}\n\n/**\n * Bundles the Gallery block's \"dynamic mode\" source resolution and actions.\n *\n * Dynamic mode resolves the gallery's images from a configured source\n * (`attributes.dynamicContent`) instead of from manually-added inner image\n * blocks. This hook centralizes the shared, single-instance pieces — the source\n * resolution (one `getEntityRecords`), the editor-preview blocks, and the\n * mode/ordering actions — out of the block's `edit` component. Transient UI\n * concerns (e.g. the convert-to-dynamic confirmation) live in the components\n * that own them.\n *\n * @param {Object} options\n * @param {Object} options.attributes The gallery block attributes.\n * @param {Function} options.setAttributes The block's `setAttributes`.\n * @param {string} options.clientId The block client ID.\n * @param {?number} options.postId The current post ID (from block context).\n * @param {?string} options.postType The current post type (from block context).\n * @return {Object} Dynamic-mode source data and actions.\n */\nexport default function useDynamicGallery( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tpostId,\n\tpostType,\n} ) {\n\tconst { dynamicContent } = attributes;\n\n\t// Whether dynamic mode makes sense in the current editing context. A\n\t// `postType` means the block will resolve against some post at render time —\n\t// either a concrete post (post/page editor, Query Loop item) or a post-bound\n\t// template (`single`, `page`) whose post is filled in by `get_the_ID()` on the\n\t// frontend (see `index.php`). Without it (template part, pattern, generic\n\t// template) there's no post to attach to, so the source can never resolve.\n\tconst canUseDynamicSource = !! postType;\n\n\t// The descriptor for the configured source (its `title`/`description`/\n\t// `emptyMessage`), resolved once here so consumers read the copy without\n\t// re-deriving it from `dynamicContent`. `undefined` for an unknown source.\n\tconst sourceDescriptor = getDynamicSource( dynamicContent?.source );\n\n\t// Current source ordering, falling back to the shared defaults when unset.\n\tconst sourceOrderby = dynamicContent?.args?.orderBy ?? DEFAULT_ORDERBY;\n\tconst sourceOrder = dynamicContent?.args?.order ?? DEFAULT_ORDER;\n\n\tconst registry = useRegistry();\n\tconst { replaceInnerBlocks, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\t// Resolve the configured source to a media query. `null` (static mode, or an\n\t// unresolvable source) short-circuits the select below so no request fires.\n\tconst query = useMemo(\n\t\t() =>\n\t\t\tdynamicContent\n\t\t\t\t? getSourceQuery( dynamicContent, { postId } )\n\t\t\t\t: null,\n\t\t[ dynamicContent, postId ]\n\t);\n\n\tconst { dynamicMedia, dynamicMediaTotal, isResolvingDynamic } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! query ) {\n\t\t\t\treturn {\n\t\t\t\t\tdynamicMedia: EMPTY_ARRAY,\n\t\t\t\t\tdynamicMediaTotal: 0,\n\t\t\t\t\tisResolvingDynamic: false,\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst selectorArgs = [ 'postType', 'attachment', query ];\n\t\t\treturn {\n\t\t\t\tdynamicMedia:\n\t\t\t\t\tselect( coreStore ).getEntityRecords( ...selectorArgs ) ??\n\t\t\t\t\tEMPTY_ARRAY,\n\t\t\t\t// Total matching attachments (the `X-WP-Total` header), which the\n\t\t\t\t// query's `per_page` cap doesn't bound — so it reveals when the\n\t\t\t\t// post has more attached images than are shown.\n\t\t\t\tdynamicMediaTotal:\n\t\t\t\t\tselect( coreStore ).getEntityRecordsTotalItems(\n\t\t\t\t\t\t...selectorArgs\n\t\t\t\t\t) ?? 0,\n\t\t\t\tisResolvingDynamic: ! select( coreStore ).hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\tselectorArgs\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ query ]\n\t);\n\n\t// The source caps results at `MAX_IMAGES` (matching the frontend), so flag\n\t// when the post has more attached images than the gallery can show.\n\tconst hasMoreImagesThanCap = dynamicMediaTotal > MAX_IMAGES;\n\n\t// The only gallery settings that affect how an image renders, and so the\n\t// only ones `buildImageBlockAttributes` reads. Depending on this narrowed\n\t// set (rather than the whole `attributes` object) keeps the preview from\n\t// rebuilding on unrelated edits, e.g. typing in the gallery caption.\n\tconst { sizeSlug, linkTo, linkTarget, aspectRatio } = attributes;\n\tconst imageAttributes = useMemo(\n\t\t() => ( { sizeSlug, linkTo, linkTarget, aspectRatio } ),\n\t\t[ sizeSlug, linkTo, linkTarget, aspectRatio ]\n\t);\n\n\t// The (non-persisted) `core/image` blocks used for the editor preview.\n\t// Rebuilt when the resolved media or an image-relevant setting changes.\n\tconst dynamicImageBlocks = useMemo(\n\t\t() => buildImageBlocks( dynamicMedia, imageAttributes ),\n\t\t[ dynamicMedia, imageAttributes ]\n\t);\n\n\t// Context the gallery provides to its (previewed) image blocks.\n\tconst galleryContext = useMemo(\n\t\t() => ( {\n\t\t\tallowResize: attributes.allowResize ?? false,\n\t\t\timageCrop: attributes.imageCrop,\n\t\t\tfixedHeight: attributes.fixedHeight,\n\t\t\tnavigationButtonType: attributes.navigationButtonType,\n\t\t} ),\n\t\t[\n\t\t\tattributes.allowResize,\n\t\t\tattributes.imageCrop,\n\t\t\tattributes.fixedHeight,\n\t\t\tattributes.navigationButtonType,\n\t\t]\n\t);\n\n\t// Switches the gallery into dynamic mode, displaying images attached to the\n\t// current post. Clearing the inner blocks removes the manually-added images:\n\t// they're the gallery's image data, so there's nothing else to reset. The\n\t// legacy `images`/`ids` attributes aren't touched — they're back-compat shims\n\t// for the pre-innerBlocks format (see `deprecated.js`/`transforms.js`), empty\n\t// on any gallery reachable here.\n\tfunction enableDynamicMode() {\n\t\t// Batch the attribute change and the inner-block reset into a single\n\t\t// undo level: they're two halves of one mode switch, so one undo should\n\t\t// revert both. Marking the second dispatch non-persistent stops it from\n\t\t// opening a second undo level, which would otherwise leave the gallery\n\t\t// in a half-switched state (dynamic source set, images still present).\n\t\tregistry.batch( () => {\n\t\t\tsetAttributes( { dynamicContent: { source: ATTACHED_MEDIA } } );\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t} );\n\t}\n\n\t// \"Pins\" a dynamic gallery: materializes the currently-resolved media as\n\t// real, editable image blocks and leaves dynamic mode.\n\tfunction convertToStatic() {\n\t\t// Batch the inner-block materialization and the attribute change into a\n\t\t// single undo level so one undo reverts the whole conversion (see\n\t\t// `enableDynamicMode`). Build fresh blocks rather than reusing the\n\t\t// preview's `dynamicImageBlocks` so the materialized inner blocks get\n\t\t// their own client IDs, distinct from the (disabled) preview instances.\n\t\tregistry.batch( () => {\n\t\t\treplaceInnerBlocks(\n\t\t\t\tclientId,\n\t\t\t\tbuildImageBlocks( dynamicMedia, imageAttributes )\n\t\t\t);\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { dynamicContent: undefined } );\n\t\t} );\n\t}\n\n\t// Updates the source ordering within `dynamicContent.args`. Passing\n\t// `undefined` (or the default order) strips the keys so they aren't\n\t// persisted redundantly and the ToolsPanel item reads as unset.\n\tfunction setSourceOrder( nextOrderby, nextOrder ) {\n\t\tconst nextArgs = { ...dynamicContent?.args };\n\t\tdelete nextArgs.orderBy;\n\t\tdelete nextArgs.order;\n\t\tif (\n\t\t\tnextOrderby !== undefined &&\n\t\t\t( nextOrderby !== DEFAULT_ORDERBY || nextOrder !== DEFAULT_ORDER )\n\t\t) {\n\t\t\tnextArgs.orderBy = nextOrderby;\n\t\t\tnextArgs.order = nextOrder;\n\t\t}\n\t\tconst nextSource = { ...dynamicContent };\n\t\tif ( Object.keys( nextArgs ).length ) {\n\t\t\tnextSource.args = nextArgs;\n\t\t} else {\n\t\t\tdelete nextSource.args;\n\t\t}\n\t\tsetAttributes( { dynamicContent: nextSource } );\n\t}\n\n\t// Resets the source to its bare form: keeps the source kind, drops its args.\n\tfunction resetSource() {\n\t\tsetAttributes( {\n\t\t\tdynamicContent: { source: dynamicContent.source },\n\t\t} );\n\t}\n\n\treturn {\n\t\tdynamicContent,\n\t\tcanUseDynamicSource,\n\t\tsourceDescriptor,\n\t\thasMoreImagesThanCap,\n\t\tdynamicMediaTotal,\n\t\tsourceOrderby,\n\t\tsourceOrder,\n\t\tdynamicMedia,\n\t\tdynamicImageBlocks,\n\t\tisResolvingDynamic,\n\t\tgalleryContext,\n\t\tenableDynamicMode,\n\t\tconvertToStatic,\n\t\tsetSourceOrder,\n\t\tresetSource,\n\t};\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }