@wordpress/block-library 7.18.0 → 8.0.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 (851) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/audio/edit.native.js +1 -3
  3. package/build/audio/edit.native.js.map +1 -1
  4. package/build/audio/index.js +2 -1
  5. package/build/audio/index.js.map +1 -1
  6. package/build/avatar/edit.js +1 -0
  7. package/build/avatar/edit.js.map +1 -1
  8. package/build/avatar/user-control.js +1 -0
  9. package/build/avatar/user-control.js.map +1 -1
  10. package/build/block/edit.js +14 -2
  11. package/build/block/edit.js.map +1 -1
  12. package/build/block/edit.native.js +14 -6
  13. package/build/block/edit.native.js.map +1 -1
  14. package/build/block/index.js +1 -2
  15. package/build/block/index.js.map +1 -1
  16. package/build/button/deprecated.js +16 -2
  17. package/build/button/deprecated.js.map +1 -1
  18. package/build/button/edit.js +13 -7
  19. package/build/button/edit.js.map +1 -1
  20. package/build/button/edit.native.js.map +1 -1
  21. package/build/button/index.js +4 -1
  22. package/build/button/index.js.map +1 -1
  23. package/build/button/save.js +2 -0
  24. package/build/button/save.js.map +1 -1
  25. package/build/code/transforms.js +1 -1
  26. package/build/code/transforms.js.map +1 -1
  27. package/build/columns/edit.js +1 -0
  28. package/build/columns/edit.js.map +1 -1
  29. package/build/columns/edit.native.js +13 -30
  30. package/build/columns/edit.native.js.map +1 -1
  31. package/build/columns/transforms.js +5 -0
  32. package/build/columns/transforms.js.map +1 -1
  33. package/build/comment-author-avatar/edit.js +1 -0
  34. package/build/comment-author-avatar/edit.js.map +1 -1
  35. package/build/cover/edit/index.js +3 -1
  36. package/build/cover/edit/index.js.map +1 -1
  37. package/build/cover/edit/inspector-controls.js +2 -0
  38. package/build/cover/edit/inspector-controls.js.map +1 -1
  39. package/build/cover/edit.native.js +24 -16
  40. package/build/cover/edit.native.js.map +1 -1
  41. package/build/embed/embed-controls.native.js +1 -0
  42. package/build/embed/embed-controls.native.js.map +1 -1
  43. package/build/embed/embed-preview.native.js +1 -3
  44. package/build/embed/embed-preview.native.js.map +1 -1
  45. package/build/file/inspector.js +1 -0
  46. package/build/file/inspector.js.map +1 -1
  47. package/build/gallery/edit.js +25 -13
  48. package/build/gallery/edit.js.map +1 -1
  49. package/build/gallery/gallery.native.js +1 -3
  50. package/build/gallery/gallery.native.js.map +1 -1
  51. package/build/gallery/shared.js +4 -10
  52. package/build/gallery/shared.js.map +1 -1
  53. package/build/gallery/transforms.js +1 -7
  54. package/build/gallery/transforms.js.map +1 -1
  55. package/build/gallery/use-get-media.js +1 -1
  56. package/build/gallery/use-get-media.js.map +1 -1
  57. package/build/gallery/use-get-media.native.js +3 -1
  58. package/build/gallery/use-get-media.native.js.map +1 -1
  59. package/build/gallery/v1/edit.js +26 -17
  60. package/build/gallery/v1/edit.js.map +1 -1
  61. package/build/gallery/v1/gallery.native.js +1 -3
  62. package/build/gallery/v1/gallery.native.js.map +1 -1
  63. package/build/gallery/v1/shared.js +4 -1
  64. package/build/gallery/v1/shared.js.map +1 -1
  65. package/build/group/edit.js +97 -45
  66. package/build/group/edit.js.map +1 -1
  67. package/build/group/index.js +6 -1
  68. package/build/group/index.js.map +1 -1
  69. package/build/group/placeholder.js +147 -0
  70. package/build/group/placeholder.js.map +1 -0
  71. package/build/group/variations.js +3 -3
  72. package/build/group/variations.js.map +1 -1
  73. package/build/heading/deprecated.js +152 -69
  74. package/build/heading/deprecated.js.map +1 -1
  75. package/build/heading/index.js +1 -2
  76. package/build/heading/index.js.map +1 -1
  77. package/build/heading/transforms.js +1 -2
  78. package/build/heading/transforms.js.map +1 -1
  79. package/build/html/index.js +1 -1
  80. package/build/image/edit.js +8 -5
  81. package/build/image/edit.js.map +1 -1
  82. package/build/image/edit.native.js +3 -2
  83. package/build/image/edit.native.js.map +1 -1
  84. package/build/image/image.js +12 -8
  85. package/build/image/image.js.map +1 -1
  86. package/build/index.js +3 -1
  87. package/build/index.js.map +1 -1
  88. package/build/latest-comments/edit.js +3 -1
  89. package/build/latest-comments/edit.js.map +1 -1
  90. package/build/latest-comments/index.js +5 -1
  91. package/build/latest-comments/index.js.map +1 -1
  92. package/build/latest-posts/deprecated.js +13 -0
  93. package/build/latest-posts/deprecated.js.map +1 -1
  94. package/build/latest-posts/edit.js +2 -0
  95. package/build/latest-posts/edit.js.map +1 -1
  96. package/build/latest-posts/index.js +13 -0
  97. package/build/latest-posts/index.js.map +1 -1
  98. package/build/list/transforms.js +1 -9
  99. package/build/list/transforms.js.map +1 -1
  100. package/build/list/utils.js +5 -2
  101. package/build/list/utils.js.map +1 -1
  102. package/build/list-item/edit.js +2 -1
  103. package/build/list-item/edit.js.map +1 -1
  104. package/build/list-item/index.js +4 -1
  105. package/build/list-item/index.js.map +1 -1
  106. package/build/list-item/transforms.js +22 -0
  107. package/build/list-item/transforms.js.map +1 -0
  108. package/build/list-item/utils.js +77 -1
  109. package/build/list-item/utils.js.map +1 -1
  110. package/build/media-text/edit.js +4 -2
  111. package/build/media-text/edit.js.map +1 -1
  112. package/build/navigation/edit/are-blocks-dirty.js +52 -0
  113. package/build/navigation/edit/are-blocks-dirty.js.map +1 -0
  114. package/build/navigation/edit/index.js +112 -143
  115. package/build/navigation/edit/index.js.map +1 -1
  116. package/build/navigation/edit/manage-menus-button.js +36 -0
  117. package/build/navigation/edit/manage-menus-button.js.map +1 -0
  118. package/build/navigation/edit/menu-inspector-controls.js +72 -0
  119. package/build/navigation/edit/menu-inspector-controls.js.map +1 -0
  120. package/build/navigation/edit/navigation-menu-selector.js +3 -1
  121. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  122. package/build/navigation/edit/responsive-wrapper.js +2 -6
  123. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  124. package/build/navigation/edit/unsaved-inner-blocks.js +15 -25
  125. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  126. package/build/navigation/view-modal.js +6 -2
  127. package/build/navigation/view-modal.js.map +1 -1
  128. package/build/navigation-link/edit.js +52 -299
  129. package/build/navigation-link/edit.js.map +1 -1
  130. package/build/navigation-link/link-ui.js +222 -0
  131. package/build/navigation-link/link-ui.js.map +1 -0
  132. package/build/navigation-link/transforms.js +12 -0
  133. package/build/navigation-link/transforms.js.map +1 -1
  134. package/build/navigation-link/update-attributes.js +108 -0
  135. package/build/navigation-link/update-attributes.js.map +1 -0
  136. package/build/navigation-submenu/edit.js +42 -173
  137. package/build/navigation-submenu/edit.js.map +1 -1
  138. package/build/page-list/constants.js +15 -0
  139. package/build/page-list/constants.js.map +1 -0
  140. package/build/page-list/convert-to-links-modal.js +22 -86
  141. package/build/page-list/convert-to-links-modal.js.map +1 -1
  142. package/build/page-list/convert-to-navigation-links.js +76 -0
  143. package/build/page-list/convert-to-navigation-links.js.map +1 -0
  144. package/build/page-list/edit.js +142 -78
  145. package/build/page-list/edit.js.map +1 -1
  146. package/build/page-list/index.js +6 -1
  147. package/build/page-list/index.js.map +1 -1
  148. package/build/page-list-item/edit.js +87 -0
  149. package/build/page-list-item/edit.js.map +1 -0
  150. package/build/page-list-item/index.js +85 -0
  151. package/build/page-list-item/index.js.map +1 -0
  152. package/build/page-list-item/init.js +16 -0
  153. package/build/page-list-item/init.js.map +1 -0
  154. package/build/paragraph/index.js +1 -7
  155. package/build/paragraph/index.js.map +1 -1
  156. package/build/post-author/edit.js +38 -22
  157. package/build/post-author/edit.js.map +1 -1
  158. package/build/post-content/index.js +3 -0
  159. package/build/post-content/index.js.map +1 -1
  160. package/build/post-featured-image/overlay.js +1 -0
  161. package/build/post-featured-image/overlay.js.map +1 -1
  162. package/build/post-template/index.js +8 -0
  163. package/build/post-template/index.js.map +1 -1
  164. package/build/preformatted/transforms.js +3 -1
  165. package/build/preformatted/transforms.js.map +1 -1
  166. package/build/query/deprecated.js +192 -21
  167. package/build/query/deprecated.js.map +1 -1
  168. package/build/query/edit/inspector-controls/index.js +1 -0
  169. package/build/query/edit/inspector-controls/index.js.map +1 -1
  170. package/build/query/edit/query-placeholder.js +3 -19
  171. package/build/query/edit/query-placeholder.js.map +1 -1
  172. package/build/query/index.js +0 -8
  173. package/build/query/index.js.map +1 -1
  174. package/build/query/utils.js +0 -8
  175. package/build/query/utils.js.map +1 -1
  176. package/build/rss/edit.js +3 -0
  177. package/build/rss/edit.js.map +1 -1
  178. package/build/search/edit.native.js +22 -22
  179. package/build/search/edit.native.js.map +1 -1
  180. package/build/search/index.js +9 -1
  181. package/build/search/index.js.map +1 -1
  182. package/build/site-logo/edit.js +18 -10
  183. package/build/site-logo/edit.js.map +1 -1
  184. package/build/site-logo/index.js +1 -0
  185. package/build/site-logo/index.js.map +1 -1
  186. package/build/site-title/index.js +1 -0
  187. package/build/site-title/index.js.map +1 -1
  188. package/build/social-link/social-list.js +4 -12
  189. package/build/social-link/social-list.js.map +1 -1
  190. package/build/table/edit.js +3 -1
  191. package/build/table/edit.js.map +1 -1
  192. package/build/table/index.js +17 -1
  193. package/build/table/index.js.map +1 -1
  194. package/build/table/save.js +4 -2
  195. package/build/table/save.js.map +1 -1
  196. package/build/table/state.js +24 -12
  197. package/build/table/state.js.map +1 -1
  198. package/build/table/transforms.js +3 -2
  199. package/build/table/transforms.js.map +1 -1
  200. package/build/table-of-contents/edit.js +2 -2
  201. package/build/table-of-contents/edit.js.map +1 -1
  202. package/build/tag-cloud/edit.js +2 -1
  203. package/build/tag-cloud/edit.js.map +1 -1
  204. package/build/template-part/edit/selection-modal.js +5 -2
  205. package/build/template-part/edit/selection-modal.js.map +1 -1
  206. package/build/template-part/edit/utils/hooks.js +2 -6
  207. package/build/template-part/edit/utils/hooks.js.map +1 -1
  208. package/build/template-part/variations.js +5 -0
  209. package/build/template-part/variations.js.map +1 -1
  210. package/build/text-columns/edit.js +1 -0
  211. package/build/text-columns/edit.js.map +1 -1
  212. package/build/utils/transformation-categories.native.js +1 -1
  213. package/build/utils/transformation-categories.native.js.map +1 -1
  214. package/build/video/edit.js +1 -1
  215. package/build/video/edit.js.map +1 -1
  216. package/build/video/edit.native.js +1 -3
  217. package/build/video/edit.native.js.map +1 -1
  218. package/build-module/audio/edit.native.js +1 -2
  219. package/build-module/audio/edit.native.js.map +1 -1
  220. package/build-module/audio/index.js +2 -1
  221. package/build-module/audio/index.js.map +1 -1
  222. package/build-module/avatar/edit.js +1 -0
  223. package/build-module/avatar/edit.js.map +1 -1
  224. package/build-module/avatar/user-control.js +1 -0
  225. package/build-module/avatar/user-control.js.map +1 -1
  226. package/build-module/block/edit.js +14 -2
  227. package/build-module/block/edit.js.map +1 -1
  228. package/build-module/block/edit.native.js +14 -6
  229. package/build-module/block/edit.native.js.map +1 -1
  230. package/build-module/block/index.js +1 -2
  231. package/build-module/block/index.js.map +1 -1
  232. package/build-module/button/deprecated.js +16 -2
  233. package/build-module/button/deprecated.js.map +1 -1
  234. package/build-module/button/edit.js +15 -9
  235. package/build-module/button/edit.js.map +1 -1
  236. package/build-module/button/edit.native.js +2 -1
  237. package/build-module/button/edit.native.js.map +1 -1
  238. package/build-module/button/index.js +4 -1
  239. package/build-module/button/index.js.map +1 -1
  240. package/build-module/button/save.js +2 -0
  241. package/build-module/button/save.js.map +1 -1
  242. package/build-module/code/transforms.js +1 -1
  243. package/build-module/code/transforms.js.map +1 -1
  244. package/build-module/columns/edit.js +1 -0
  245. package/build-module/columns/edit.js.map +1 -1
  246. package/build-module/columns/edit.native.js +13 -29
  247. package/build-module/columns/edit.native.js.map +1 -1
  248. package/build-module/columns/transforms.js +5 -0
  249. package/build-module/columns/transforms.js.map +1 -1
  250. package/build-module/comment-author-avatar/edit.js +1 -0
  251. package/build-module/comment-author-avatar/edit.js.map +1 -1
  252. package/build-module/cover/edit/index.js +3 -1
  253. package/build-module/cover/edit/index.js.map +1 -1
  254. package/build-module/cover/edit/inspector-controls.js +2 -0
  255. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  256. package/build-module/cover/edit.native.js +22 -14
  257. package/build-module/cover/edit.native.js.map +1 -1
  258. package/build-module/embed/embed-controls.native.js +2 -1
  259. package/build-module/embed/embed-controls.native.js.map +1 -1
  260. package/build-module/embed/embed-preview.native.js +1 -2
  261. package/build-module/embed/embed-preview.native.js.map +1 -1
  262. package/build-module/file/inspector.js +1 -0
  263. package/build-module/file/inspector.js.map +1 -1
  264. package/build-module/gallery/edit.js +25 -12
  265. package/build-module/gallery/edit.js.map +1 -1
  266. package/build-module/gallery/gallery.native.js +1 -2
  267. package/build-module/gallery/gallery.native.js.map +1 -1
  268. package/build-module/gallery/shared.js +5 -11
  269. package/build-module/gallery/shared.js.map +1 -1
  270. package/build-module/gallery/transforms.js +1 -6
  271. package/build-module/gallery/transforms.js.map +1 -1
  272. package/build-module/gallery/use-get-media.js +1 -1
  273. package/build-module/gallery/use-get-media.js.map +1 -1
  274. package/build-module/gallery/use-get-media.native.js +3 -1
  275. package/build-module/gallery/use-get-media.native.js.map +1 -1
  276. package/build-module/gallery/v1/edit.js +27 -18
  277. package/build-module/gallery/v1/edit.js.map +1 -1
  278. package/build-module/gallery/v1/gallery.native.js +1 -2
  279. package/build-module/gallery/v1/gallery.native.js.map +1 -1
  280. package/build-module/gallery/v1/shared.js +5 -2
  281. package/build-module/gallery/v1/shared.js.map +1 -1
  282. package/build-module/group/edit.js +92 -45
  283. package/build-module/group/edit.js.map +1 -1
  284. package/build-module/group/index.js +6 -1
  285. package/build-module/group/index.js.map +1 -1
  286. package/build-module/group/placeholder.js +133 -0
  287. package/build-module/group/placeholder.js.map +1 -0
  288. package/build-module/group/variations.js +3 -3
  289. package/build-module/group/variations.js.map +1 -1
  290. package/build-module/heading/deprecated.js +152 -69
  291. package/build-module/heading/deprecated.js.map +1 -1
  292. package/build-module/heading/index.js +1 -2
  293. package/build-module/heading/index.js.map +1 -1
  294. package/build-module/heading/transforms.js +1 -2
  295. package/build-module/heading/transforms.js.map +1 -1
  296. package/build-module/html/index.js +1 -1
  297. package/build-module/image/edit.js +9 -6
  298. package/build-module/image/edit.js.map +1 -1
  299. package/build-module/image/edit.native.js +2 -1
  300. package/build-module/image/edit.native.js.map +1 -1
  301. package/build-module/image/image.js +13 -9
  302. package/build-module/image/image.js.map +1 -1
  303. package/build-module/index.js +2 -1
  304. package/build-module/index.js.map +1 -1
  305. package/build-module/latest-comments/edit.js +3 -1
  306. package/build-module/latest-comments/edit.js.map +1 -1
  307. package/build-module/latest-comments/index.js +5 -1
  308. package/build-module/latest-comments/index.js.map +1 -1
  309. package/build-module/latest-posts/deprecated.js +13 -0
  310. package/build-module/latest-posts/deprecated.js.map +1 -1
  311. package/build-module/latest-posts/edit.js +2 -0
  312. package/build-module/latest-posts/edit.js.map +1 -1
  313. package/build-module/latest-posts/index.js +13 -0
  314. package/build-module/latest-posts/index.js.map +1 -1
  315. package/build-module/list/transforms.js +1 -9
  316. package/build-module/list/transforms.js.map +1 -1
  317. package/build-module/list/utils.js +5 -2
  318. package/build-module/list/utils.js.map +1 -1
  319. package/build-module/list-item/edit.js +2 -1
  320. package/build-module/list-item/edit.js.map +1 -1
  321. package/build-module/list-item/index.js +3 -1
  322. package/build-module/list-item/index.js.map +1 -1
  323. package/build-module/list-item/transforms.js +13 -0
  324. package/build-module/list-item/transforms.js.map +1 -0
  325. package/build-module/list-item/utils.js +78 -1
  326. package/build-module/list-item/utils.js.map +1 -1
  327. package/build-module/media-text/edit.js +5 -3
  328. package/build-module/media-text/edit.js.map +1 -1
  329. package/build-module/navigation/edit/are-blocks-dirty.js +44 -0
  330. package/build-module/navigation/edit/are-blocks-dirty.js.map +1 -0
  331. package/build-module/navigation/edit/index.js +111 -143
  332. package/build-module/navigation/edit/index.js.map +1 -1
  333. package/build-module/navigation/edit/manage-menus-button.js +26 -0
  334. package/build-module/navigation/edit/manage-menus-button.js.map +1 -0
  335. package/build-module/navigation/edit/menu-inspector-controls.js +59 -0
  336. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -0
  337. package/build-module/navigation/edit/navigation-menu-selector.js +3 -1
  338. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  339. package/build-module/navigation/edit/responsive-wrapper.js +2 -6
  340. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  341. package/build-module/navigation/edit/unsaved-inner-blocks.js +16 -26
  342. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  343. package/build-module/navigation/view-modal.js +6 -2
  344. package/build-module/navigation/view-modal.js.map +1 -1
  345. package/build-module/navigation-link/edit.js +56 -300
  346. package/build-module/navigation-link/edit.js.map +1 -1
  347. package/build-module/navigation-link/link-ui.js +206 -0
  348. package/build-module/navigation-link/link-ui.js.map +1 -0
  349. package/build-module/navigation-link/transforms.js +12 -0
  350. package/build-module/navigation-link/transforms.js.map +1 -1
  351. package/build-module/navigation-link/update-attributes.js +97 -0
  352. package/build-module/navigation-link/update-attributes.js.map +1 -0
  353. package/build-module/navigation-submenu/edit.js +47 -175
  354. package/build-module/navigation-submenu/edit.js.map +1 -1
  355. package/build-module/page-list/constants.js +6 -0
  356. package/build-module/page-list/constants.js.map +1 -0
  357. package/build-module/page-list/convert-to-links-modal.js +20 -81
  358. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  359. package/build-module/page-list/convert-to-navigation-links.js +66 -0
  360. package/build-module/page-list/convert-to-navigation-links.js.map +1 -0
  361. package/build-module/page-list/edit.js +144 -82
  362. package/build-module/page-list/edit.js.map +1 -1
  363. package/build-module/page-list/index.js +6 -1
  364. package/build-module/page-list/index.js.map +1 -1
  365. package/build-module/page-list-item/edit.js +74 -0
  366. package/build-module/page-list-item/edit.js.map +1 -0
  367. package/build-module/page-list-item/index.js +68 -0
  368. package/build-module/page-list-item/index.js.map +1 -0
  369. package/build-module/page-list-item/init.js +6 -0
  370. package/build-module/page-list-item/init.js.map +1 -0
  371. package/build-module/paragraph/index.js +1 -7
  372. package/build-module/paragraph/index.js.map +1 -1
  373. package/build-module/post-author/edit.js +38 -23
  374. package/build-module/post-author/edit.js.map +1 -1
  375. package/build-module/post-content/index.js +3 -0
  376. package/build-module/post-content/index.js.map +1 -1
  377. package/build-module/post-featured-image/overlay.js +1 -0
  378. package/build-module/post-featured-image/overlay.js.map +1 -1
  379. package/build-module/post-template/index.js +8 -0
  380. package/build-module/post-template/index.js.map +1 -1
  381. package/build-module/preformatted/transforms.js +3 -1
  382. package/build-module/preformatted/transforms.js.map +1 -1
  383. package/build-module/query/deprecated.js +185 -21
  384. package/build-module/query/deprecated.js.map +1 -1
  385. package/build-module/query/edit/inspector-controls/index.js +1 -0
  386. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  387. package/build-module/query/edit/query-placeholder.js +3 -19
  388. package/build-module/query/edit/query-placeholder.js.map +1 -1
  389. package/build-module/query/index.js +0 -8
  390. package/build-module/query/index.js.map +1 -1
  391. package/build-module/query/utils.js +0 -8
  392. package/build-module/query/utils.js.map +1 -1
  393. package/build-module/rss/edit.js +3 -0
  394. package/build-module/rss/edit.js.map +1 -1
  395. package/build-module/search/edit.native.js +20 -20
  396. package/build-module/search/edit.native.js.map +1 -1
  397. package/build-module/search/index.js +8 -1
  398. package/build-module/search/index.js.map +1 -1
  399. package/build-module/site-logo/edit.js +18 -9
  400. package/build-module/site-logo/edit.js.map +1 -1
  401. package/build-module/site-logo/index.js +1 -0
  402. package/build-module/site-logo/index.js.map +1 -1
  403. package/build-module/site-title/index.js +1 -0
  404. package/build-module/site-title/index.js.map +1 -1
  405. package/build-module/social-link/social-list.js +2 -11
  406. package/build-module/social-link/social-list.js.map +1 -1
  407. package/build-module/table/edit.js +3 -1
  408. package/build-module/table/edit.js.map +1 -1
  409. package/build-module/table/index.js +17 -1
  410. package/build-module/table/index.js.map +1 -1
  411. package/build-module/table/save.js +4 -2
  412. package/build-module/table/save.js.map +1 -1
  413. package/build-module/table/state.js +25 -13
  414. package/build-module/table/state.js.map +1 -1
  415. package/build-module/table/transforms.js +3 -2
  416. package/build-module/table/transforms.js.map +1 -1
  417. package/build-module/table-of-contents/edit.js +2 -2
  418. package/build-module/table-of-contents/edit.js.map +1 -1
  419. package/build-module/tag-cloud/edit.js +3 -2
  420. package/build-module/tag-cloud/edit.js.map +1 -1
  421. package/build-module/template-part/edit/selection-modal.js +6 -3
  422. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  423. package/build-module/template-part/edit/utils/hooks.js +3 -7
  424. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  425. package/build-module/template-part/variations.js +5 -0
  426. package/build-module/template-part/variations.js.map +1 -1
  427. package/build-module/text-columns/edit.js +1 -0
  428. package/build-module/text-columns/edit.js.map +1 -1
  429. package/build-module/utils/transformation-categories.native.js +1 -1
  430. package/build-module/utils/transformation-categories.native.js.map +1 -1
  431. package/build-module/video/edit.js +1 -1
  432. package/build-module/video/edit.js.map +1 -1
  433. package/build-module/video/edit.native.js +1 -2
  434. package/build-module/video/edit.native.js.map +1 -1
  435. package/build-style/archives/editor-rtl.css +12 -0
  436. package/build-style/archives/editor.css +12 -0
  437. package/build-style/archives/style-rtl.css +12 -0
  438. package/build-style/archives/style.css +12 -0
  439. package/build-style/audio/editor-rtl.css +12 -0
  440. package/build-style/audio/editor.css +12 -0
  441. package/build-style/audio/style-rtl.css +12 -0
  442. package/build-style/audio/style.css +12 -0
  443. package/build-style/audio/theme-rtl.css +12 -0
  444. package/build-style/audio/theme.css +12 -0
  445. package/build-style/avatar/editor-rtl.css +12 -0
  446. package/build-style/avatar/editor.css +12 -0
  447. package/build-style/avatar/style-rtl.css +12 -0
  448. package/build-style/avatar/style.css +12 -0
  449. package/build-style/block/editor-rtl.css +22 -0
  450. package/build-style/block/editor.css +22 -0
  451. package/build-style/button/editor-rtl.css +12 -0
  452. package/build-style/button/editor.css +12 -0
  453. package/build-style/button/style-rtl.css +12 -0
  454. package/build-style/button/style.css +12 -0
  455. package/build-style/buttons/editor-rtl.css +12 -0
  456. package/build-style/buttons/editor.css +12 -0
  457. package/build-style/buttons/style-rtl.css +12 -0
  458. package/build-style/buttons/style.css +12 -0
  459. package/build-style/calendar/style-rtl.css +12 -0
  460. package/build-style/calendar/style.css +12 -0
  461. package/build-style/categories/editor-rtl.css +12 -0
  462. package/build-style/categories/editor.css +12 -0
  463. package/build-style/categories/style-rtl.css +12 -0
  464. package/build-style/categories/style.css +12 -0
  465. package/build-style/classic-rtl.css +12 -0
  466. package/build-style/classic.css +12 -0
  467. package/build-style/code/editor-rtl.css +12 -0
  468. package/build-style/code/editor.css +12 -0
  469. package/build-style/code/style-rtl.css +12 -0
  470. package/build-style/code/style.css +12 -0
  471. package/build-style/code/theme-rtl.css +12 -0
  472. package/build-style/code/theme.css +12 -0
  473. package/build-style/columns/editor-rtl.css +12 -0
  474. package/build-style/columns/editor.css +12 -0
  475. package/build-style/columns/style-rtl.css +12 -0
  476. package/build-style/columns/style.css +12 -0
  477. package/build-style/comment-author-avatar/editor-rtl.css +12 -0
  478. package/build-style/comment-author-avatar/editor.css +12 -0
  479. package/build-style/comment-content/style-rtl.css +12 -0
  480. package/build-style/comment-content/style.css +12 -0
  481. package/build-style/comment-template/style-rtl.css +12 -0
  482. package/build-style/comment-template/style.css +12 -0
  483. package/build-style/comments/editor-rtl.css +12 -0
  484. package/build-style/comments/editor.css +12 -0
  485. package/build-style/comments/style-rtl.css +12 -0
  486. package/build-style/comments/style.css +12 -0
  487. package/build-style/comments-pagination/editor-rtl.css +12 -0
  488. package/build-style/comments-pagination/editor.css +12 -0
  489. package/build-style/comments-pagination/style-rtl.css +12 -0
  490. package/build-style/comments-pagination/style.css +12 -0
  491. package/build-style/comments-pagination-numbers/editor-rtl.css +12 -0
  492. package/build-style/comments-pagination-numbers/editor.css +12 -0
  493. package/build-style/comments-title/editor-rtl.css +12 -0
  494. package/build-style/comments-title/editor.css +12 -0
  495. package/build-style/common-rtl.css +17 -1
  496. package/build-style/common.css +17 -1
  497. package/build-style/cover/editor-rtl.css +12 -0
  498. package/build-style/cover/editor.css +12 -0
  499. package/build-style/cover/style-rtl.css +14 -1
  500. package/build-style/cover/style.css +14 -1
  501. package/build-style/editor-elements-rtl.css +12 -0
  502. package/build-style/editor-elements.css +12 -0
  503. package/build-style/editor-rtl.css +115 -21
  504. package/build-style/editor.css +115 -21
  505. package/build-style/elements-rtl.css +12 -0
  506. package/build-style/elements.css +12 -0
  507. package/build-style/embed/editor-rtl.css +12 -0
  508. package/build-style/embed/editor.css +12 -0
  509. package/build-style/embed/style-rtl.css +12 -0
  510. package/build-style/embed/style.css +12 -0
  511. package/build-style/embed/theme-rtl.css +12 -0
  512. package/build-style/embed/theme.css +12 -0
  513. package/build-style/file/editor-rtl.css +12 -0
  514. package/build-style/file/editor.css +12 -0
  515. package/build-style/file/style-rtl.css +12 -0
  516. package/build-style/file/style.css +12 -0
  517. package/build-style/freeform/editor-rtl.css +12 -0
  518. package/build-style/freeform/editor.css +12 -0
  519. package/build-style/gallery/editor-rtl.css +13 -1
  520. package/build-style/gallery/editor.css +13 -1
  521. package/build-style/gallery/style-rtl.css +16 -2
  522. package/build-style/gallery/style.css +16 -2
  523. package/build-style/gallery/theme-rtl.css +12 -0
  524. package/build-style/gallery/theme.css +12 -0
  525. package/build-style/group/editor-rtl.css +56 -0
  526. package/build-style/group/editor.css +56 -0
  527. package/build-style/group/style-rtl.css +12 -0
  528. package/build-style/group/style.css +12 -0
  529. package/build-style/group/theme-rtl.css +12 -0
  530. package/build-style/group/theme.css +12 -0
  531. package/build-style/heading/style-rtl.css +12 -0
  532. package/build-style/heading/style.css +12 -0
  533. package/build-style/html/editor-rtl.css +12 -0
  534. package/build-style/html/editor.css +12 -0
  535. package/build-style/image/editor-rtl.css +12 -9
  536. package/build-style/image/editor.css +12 -9
  537. package/build-style/image/style-rtl.css +12 -0
  538. package/build-style/image/style.css +12 -0
  539. package/build-style/image/theme-rtl.css +12 -0
  540. package/build-style/image/theme.css +12 -0
  541. package/build-style/latest-comments/style-rtl.css +13 -0
  542. package/build-style/latest-comments/style.css +13 -0
  543. package/build-style/latest-posts/editor-rtl.css +12 -0
  544. package/build-style/latest-posts/editor.css +12 -0
  545. package/build-style/latest-posts/style-rtl.css +15 -0
  546. package/build-style/latest-posts/style.css +15 -0
  547. package/build-style/list/style-rtl.css +12 -0
  548. package/build-style/list/style.css +12 -0
  549. package/build-style/media-text/editor-rtl.css +12 -0
  550. package/build-style/media-text/editor.css +12 -0
  551. package/build-style/media-text/style-rtl.css +12 -0
  552. package/build-style/media-text/style.css +12 -0
  553. package/build-style/more/editor-rtl.css +12 -0
  554. package/build-style/more/editor.css +12 -0
  555. package/build-style/navigation/editor-rtl.css +35 -0
  556. package/build-style/navigation/editor.css +35 -0
  557. package/build-style/navigation/style-rtl.css +22 -0
  558. package/build-style/navigation/style.css +22 -0
  559. package/build-style/navigation-link/editor-rtl.css +20 -1
  560. package/build-style/navigation-link/editor.css +20 -1
  561. package/build-style/navigation-link/style-rtl.css +12 -0
  562. package/build-style/navigation-link/style.css +12 -0
  563. package/build-style/navigation-submenu/editor-rtl.css +12 -0
  564. package/build-style/navigation-submenu/editor.css +12 -0
  565. package/build-style/nextpage/editor-rtl.css +12 -0
  566. package/build-style/nextpage/editor.css +12 -0
  567. package/build-style/page-list/editor-rtl.css +12 -0
  568. package/build-style/page-list/editor.css +12 -0
  569. package/build-style/page-list/style-rtl.css +12 -0
  570. package/build-style/page-list/style.css +12 -0
  571. package/build-style/paragraph/editor-rtl.css +12 -0
  572. package/build-style/paragraph/editor.css +12 -0
  573. package/build-style/paragraph/style-rtl.css +12 -0
  574. package/build-style/paragraph/style.css +12 -0
  575. package/build-style/post-author/style-rtl.css +12 -0
  576. package/build-style/post-author/style.css +12 -0
  577. package/build-style/post-comments-form/editor-rtl.css +12 -0
  578. package/build-style/post-comments-form/editor.css +12 -0
  579. package/build-style/post-comments-form/style-rtl.css +12 -0
  580. package/build-style/post-comments-form/style.css +12 -0
  581. package/build-style/post-date/style-rtl.css +12 -0
  582. package/build-style/post-date/style.css +12 -0
  583. package/build-style/post-excerpt/editor-rtl.css +12 -0
  584. package/build-style/post-excerpt/editor.css +12 -0
  585. package/build-style/post-excerpt/style-rtl.css +12 -0
  586. package/build-style/post-excerpt/style.css +12 -0
  587. package/build-style/post-featured-image/editor-rtl.css +12 -0
  588. package/build-style/post-featured-image/editor.css +12 -0
  589. package/build-style/post-featured-image/style-rtl.css +12 -0
  590. package/build-style/post-featured-image/style.css +12 -0
  591. package/build-style/post-navigation-link/style-rtl.css +12 -0
  592. package/build-style/post-navigation-link/style.css +12 -0
  593. package/build-style/post-template/editor-rtl.css +12 -0
  594. package/build-style/post-template/editor.css +12 -0
  595. package/build-style/post-template/style-rtl.css +12 -0
  596. package/build-style/post-template/style.css +12 -0
  597. package/build-style/post-terms/style-rtl.css +12 -0
  598. package/build-style/post-terms/style.css +12 -0
  599. package/build-style/post-title/style-rtl.css +12 -0
  600. package/build-style/post-title/style.css +12 -0
  601. package/build-style/preformatted/style-rtl.css +12 -0
  602. package/build-style/preformatted/style.css +12 -0
  603. package/build-style/pullquote/editor-rtl.css +12 -0
  604. package/build-style/pullquote/editor.css +12 -0
  605. package/build-style/pullquote/style-rtl.css +12 -0
  606. package/build-style/pullquote/style.css +12 -0
  607. package/build-style/pullquote/theme-rtl.css +12 -0
  608. package/build-style/pullquote/theme.css +12 -0
  609. package/build-style/query/editor-rtl.css +13 -1
  610. package/build-style/query/editor.css +13 -1
  611. package/build-style/query-pagination/editor-rtl.css +12 -0
  612. package/build-style/query-pagination/editor.css +12 -0
  613. package/build-style/query-pagination/style-rtl.css +13 -1
  614. package/build-style/query-pagination/style.css +13 -1
  615. package/build-style/query-pagination-numbers/editor-rtl.css +12 -0
  616. package/build-style/query-pagination-numbers/editor.css +12 -0
  617. package/build-style/query-title/style-rtl.css +12 -0
  618. package/build-style/query-title/style.css +12 -0
  619. package/build-style/quote/style-rtl.css +12 -0
  620. package/build-style/quote/style.css +12 -0
  621. package/build-style/quote/theme-rtl.css +12 -0
  622. package/build-style/quote/theme.css +12 -0
  623. package/build-style/read-more/style-rtl.css +12 -0
  624. package/build-style/read-more/style.css +12 -0
  625. package/build-style/reset-rtl.css +12 -0
  626. package/build-style/reset.css +12 -0
  627. package/build-style/rss/editor-rtl.css +12 -0
  628. package/build-style/rss/editor.css +12 -0
  629. package/build-style/rss/style-rtl.css +12 -0
  630. package/build-style/rss/style.css +12 -0
  631. package/build-style/search/editor-rtl.css +12 -0
  632. package/build-style/search/editor.css +12 -0
  633. package/build-style/search/style-rtl.css +12 -0
  634. package/build-style/search/style.css +12 -0
  635. package/build-style/search/theme-rtl.css +12 -0
  636. package/build-style/search/theme.css +12 -0
  637. package/build-style/separator/editor-rtl.css +12 -0
  638. package/build-style/separator/editor.css +12 -0
  639. package/build-style/separator/style-rtl.css +12 -0
  640. package/build-style/separator/style.css +12 -0
  641. package/build-style/separator/theme-rtl.css +12 -0
  642. package/build-style/separator/theme.css +12 -0
  643. package/build-style/shortcode/editor-rtl.css +13 -1
  644. package/build-style/shortcode/editor.css +13 -1
  645. package/build-style/site-logo/editor-rtl.css +12 -0
  646. package/build-style/site-logo/editor.css +12 -0
  647. package/build-style/site-logo/style-rtl.css +12 -0
  648. package/build-style/site-logo/style.css +12 -0
  649. package/build-style/site-tagline/editor-rtl.css +12 -0
  650. package/build-style/site-tagline/editor.css +12 -0
  651. package/build-style/site-title/editor-rtl.css +12 -0
  652. package/build-style/site-title/editor.css +12 -0
  653. package/build-style/site-title/style-rtl.css +12 -0
  654. package/build-style/site-title/style.css +12 -0
  655. package/build-style/social-link/editor-rtl.css +12 -0
  656. package/build-style/social-link/editor.css +12 -0
  657. package/build-style/social-links/editor-rtl.css +12 -0
  658. package/build-style/social-links/editor.css +12 -0
  659. package/build-style/social-links/style-rtl.css +12 -0
  660. package/build-style/social-links/style.css +12 -0
  661. package/build-style/spacer/editor-rtl.css +12 -0
  662. package/build-style/spacer/editor.css +12 -0
  663. package/build-style/spacer/style-rtl.css +12 -0
  664. package/build-style/spacer/style.css +12 -0
  665. package/build-style/style-rtl.css +43 -6
  666. package/build-style/style.css +43 -6
  667. package/build-style/table/editor-rtl.css +13 -8
  668. package/build-style/table/editor.css +13 -8
  669. package/build-style/table/style-rtl.css +17 -0
  670. package/build-style/table/style.css +17 -0
  671. package/build-style/table/theme-rtl.css +13 -3
  672. package/build-style/table/theme.css +13 -3
  673. package/build-style/tag-cloud/style-rtl.css +12 -0
  674. package/build-style/tag-cloud/style.css +12 -0
  675. package/build-style/template-part/editor-rtl.css +27 -1
  676. package/build-style/template-part/editor.css +27 -1
  677. package/build-style/template-part/theme-rtl.css +12 -0
  678. package/build-style/template-part/theme.css +12 -0
  679. package/build-style/text-columns/editor-rtl.css +12 -0
  680. package/build-style/text-columns/editor.css +12 -0
  681. package/build-style/text-columns/style-rtl.css +12 -0
  682. package/build-style/text-columns/style.css +12 -0
  683. package/build-style/theme-rtl.css +13 -3
  684. package/build-style/theme.css +13 -3
  685. package/build-style/verse/style-rtl.css +12 -0
  686. package/build-style/verse/style.css +12 -0
  687. package/build-style/video/editor-rtl.css +12 -0
  688. package/build-style/video/editor.css +12 -0
  689. package/build-style/video/style-rtl.css +14 -1
  690. package/build-style/video/style.css +14 -1
  691. package/build-style/video/theme-rtl.css +12 -0
  692. package/build-style/video/theme.css +12 -0
  693. package/package.json +32 -30
  694. package/src/audio/edit.native.js +1 -2
  695. package/src/audio/index.js +1 -0
  696. package/src/avatar/edit.js +1 -0
  697. package/src/avatar/index.php +1 -1
  698. package/src/avatar/user-control.js +1 -0
  699. package/src/block/block.json +1 -2
  700. package/src/block/edit.js +14 -3
  701. package/src/block/edit.native.js +24 -12
  702. package/src/block/editor.scss +17 -0
  703. package/src/block/index.php +1 -2
  704. package/src/block/test/edit.native.js +28 -32
  705. package/src/button/block.json +4 -1
  706. package/src/button/deprecated.js +18 -2
  707. package/src/button/edit.js +11 -9
  708. package/src/button/edit.native.js +1 -0
  709. package/src/button/save.js +12 -2
  710. package/src/buttons/test/edit.native.js +41 -52
  711. package/src/code/transforms.js +3 -1
  712. package/src/columns/edit.js +1 -0
  713. package/src/columns/edit.native.js +18 -26
  714. package/src/columns/test/edit.native.js +32 -32
  715. package/src/columns/transforms.js +8 -0
  716. package/src/comment-author-avatar/edit.js +1 -0
  717. package/src/cover/edit/index.js +3 -1
  718. package/src/cover/edit/inspector-controls.js +2 -0
  719. package/src/cover/edit.native.js +32 -19
  720. package/src/cover/test/edit.native.js +77 -130
  721. package/src/embed/embed-controls.native.js +1 -0
  722. package/src/embed/embed-preview.native.js +1 -2
  723. package/src/embed/test/index.native.js +251 -245
  724. package/src/file/inspector.js +1 -0
  725. package/src/file/test/__snapshots__/edit.native.js.snap +2 -6
  726. package/src/gallery/edit.js +15 -5
  727. package/src/gallery/gallery.native.js +1 -2
  728. package/src/gallery/shared.js +7 -11
  729. package/src/gallery/test/index.native.js +11 -11
  730. package/src/gallery/transforms.js +1 -6
  731. package/src/gallery/use-get-media.js +1 -1
  732. package/src/gallery/use-get-media.native.js +2 -1
  733. package/src/gallery/v1/edit.js +26 -30
  734. package/src/gallery/v1/gallery.native.js +1 -2
  735. package/src/gallery/v1/shared.js +7 -2
  736. package/src/group/block.json +6 -1
  737. package/src/group/edit.js +91 -44
  738. package/src/group/editor.scss +48 -0
  739. package/src/group/placeholder.js +168 -0
  740. package/src/group/test/__snapshots__/edit.native.js.snap +1 -1
  741. package/src/group/test/edit.native.js +3 -3
  742. package/src/group/test/placeholder.js +78 -0
  743. package/src/group/variations.js +3 -3
  744. package/src/heading/block.json +1 -2
  745. package/src/heading/deprecated.js +209 -136
  746. package/src/heading/index.php +52 -0
  747. package/src/heading/test/__snapshots__/index.native.js.snap +7 -0
  748. package/src/heading/test/index.native.js +44 -0
  749. package/src/home-link/index.php +1 -1
  750. package/src/html/block.json +1 -1
  751. package/src/image/edit.js +7 -2
  752. package/src/image/edit.native.js +2 -1
  753. package/src/image/editor.scss +0 -11
  754. package/src/image/image.js +13 -8
  755. package/src/image/test/edit.native.js +24 -20
  756. package/src/index.js +2 -0
  757. package/src/latest-comments/block.json +5 -1
  758. package/src/latest-comments/edit.js +2 -0
  759. package/src/latest-comments/style.scss +3 -0
  760. package/src/latest-posts/block.json +13 -0
  761. package/src/latest-posts/edit.js +2 -0
  762. package/src/latest-posts/style.scss +3 -0
  763. package/src/list/test/edit.native.js +55 -47
  764. package/src/list/transforms.js +0 -11
  765. package/src/list/utils.js +6 -2
  766. package/src/list-item/edit.js +1 -0
  767. package/src/list-item/index.js +2 -0
  768. package/src/list-item/transforms.js +17 -0
  769. package/src/list-item/utils.js +10 -1
  770. package/src/media-text/edit.js +5 -3
  771. package/src/missing/test/edit-integration.native.js +10 -12
  772. package/src/navigation/edit/are-blocks-dirty.js +51 -0
  773. package/src/navigation/edit/index.js +269 -310
  774. package/src/navigation/edit/manage-menus-button.js +21 -0
  775. package/src/navigation/edit/menu-inspector-controls.js +78 -0
  776. package/src/navigation/edit/navigation-menu-selector.js +5 -1
  777. package/src/navigation/edit/responsive-wrapper.js +2 -10
  778. package/src/navigation/edit/test/are-blocks-dirty.js +121 -0
  779. package/src/navigation/edit/unsaved-inner-blocks.js +17 -36
  780. package/src/navigation/editor.scss +25 -0
  781. package/src/navigation/index.php +57 -10
  782. package/src/navigation/style.scss +16 -0
  783. package/src/navigation/view-modal.js +11 -1
  784. package/src/navigation-link/edit.js +66 -329
  785. package/src/navigation-link/editor.scss +8 -0
  786. package/src/navigation-link/index.php +32 -0
  787. package/src/navigation-link/link-ui.js +213 -0
  788. package/src/navigation-link/test/edit.js +23 -82
  789. package/src/navigation-link/transforms.js +14 -0
  790. package/src/navigation-link/update-attributes.js +99 -0
  791. package/src/navigation-submenu/edit.js +57 -177
  792. package/src/navigation-submenu/index.php +40 -0
  793. package/src/page-list/block.json +6 -1
  794. package/src/page-list/constants.js +8 -0
  795. package/src/page-list/convert-to-links-modal.js +19 -76
  796. package/src/page-list/convert-to-navigation-links.js +60 -0
  797. package/src/page-list/edit.js +179 -118
  798. package/src/page-list/index.php +9 -0
  799. package/src/page-list/test/convert-to-links-modal.js +28 -34
  800. package/src/page-list-item/block.json +51 -0
  801. package/src/page-list-item/edit.js +94 -0
  802. package/src/page-list-item/index.js +24 -0
  803. package/src/page-list-item/init.js +6 -0
  804. package/src/paragraph/index.js +0 -6
  805. package/src/post-author/edit.js +47 -22
  806. package/src/post-content/block.json +3 -0
  807. package/src/post-content/index.php +1 -2
  808. package/src/post-featured-image/index.php +7 -2
  809. package/src/post-featured-image/overlay.js +1 -0
  810. package/src/post-template/block.json +8 -0
  811. package/src/preformatted/transforms.js +4 -1
  812. package/src/query/block.json +0 -8
  813. package/src/query/deprecated.js +257 -86
  814. package/src/query/edit/inspector-controls/index.js +1 -0
  815. package/src/query/edit/query-placeholder.js +4 -16
  816. package/src/query/editor.scss +1 -1
  817. package/src/query-pagination/style.scss +1 -1
  818. package/src/read-more/index.php +9 -2
  819. package/src/rss/edit.js +3 -0
  820. package/src/search/edit.native.js +31 -27
  821. package/src/search/index.js +5 -1
  822. package/src/shortcode/test/edit.native.js +15 -18
  823. package/src/site-logo/edit.js +14 -6
  824. package/src/site-logo/index.js +1 -0
  825. package/src/site-title/index.js +1 -0
  826. package/src/social-link/social-list.js +2 -7
  827. package/src/social-link/test/index.native.js +16 -22
  828. package/src/social-links/test/edit.native.js +8 -7
  829. package/src/spacer/test/index.native.js +39 -36
  830. package/src/table/block.json +15 -0
  831. package/src/table/edit.js +2 -1
  832. package/src/table/editor.scss +1 -4
  833. package/src/table/index.js +1 -0
  834. package/src/table/save.js +5 -1
  835. package/src/table/state.js +22 -7
  836. package/src/table/style.scss +7 -0
  837. package/src/table/theme.scss +1 -3
  838. package/src/table/transforms.js +2 -1
  839. package/src/table-of-contents/edit.js +2 -2
  840. package/src/tag-cloud/edit.js +3 -2
  841. package/src/template-part/edit/selection-modal.js +4 -3
  842. package/src/template-part/edit/utils/hooks.js +7 -3
  843. package/src/template-part/editor.scss +20 -2
  844. package/src/template-part/index.php +6 -2
  845. package/src/template-part/variations.js +4 -0
  846. package/src/text-columns/edit.js +1 -0
  847. package/src/utils/transformation-categories.native.js +1 -0
  848. package/src/video/edit.js +1 -1
  849. package/src/video/edit.native.js +1 -2
  850. package/test/babel-plugin.js +35 -35
  851. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/edit.js"],"names":["MAX_COLUMNS","linkOptions","value","LINK_DESTINATION_ATTACHMENT","label","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","Platform","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","columns","imageCrop","linkTarget","linkTo","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","clearSelectedBlock","blockEditorStore","createSuccessNotice","createErrorNotice","noticesStore","getBlock","getSettings","preferredStyle","select","settings","preferredStyleVariations","__experimentalPreferredStyleVariations","innerBlockImages","innerBlocks","wasBlockJustInserted","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","length","imageSizeOptions","imageAttributes","image","newClassName","newLinkTarget","rel","linkDestination","caption","raw","alt","alt_text","isValidFileType","file","some","mediaType","indexOf","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","every","processedImages","filter","newOrderMap","reduce","result","index","existingImageBlocks","find","img","newImageList","existingImg","newBlocks","concat","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","toggleOpenInNewTab","openInNewTab","noticeText","updateImagesSize","newSizeSlug","imageSize","size","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","sharedIcon","title","instructions","blockProps","hasLinkTo","Math","min","isWeb","style","spacing","blockGap","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { find } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tSpinner,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'ADD MEDIA' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t} = props;\n\n\tconst { columns, imageCrop, linkTarget, linkTo, sizeSlug } = attributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t\tclearSelectedBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { getBlock, getSettings, preferredStyle } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst preferredStyleVariations =\n\t\t\tsettings.__experimentalPreferredStyleVariations;\n\t\treturn {\n\t\t\tgetBlock: select( blockEditorStore ).getBlock,\n\t\t\tgetSettings: select( blockEditorStore ).getSettings,\n\t\t\tpreferredStyle: preferredStyleVariations?.value?.[ 'core/image' ],\n\t\t};\n\t}, [] );\n\n\tconst innerBlockImages = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).getBlock( clientId )?.innerBlocks;\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst wasBlockJustInserted = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).wasBlockJustInserted(\n\t\t\t\tclientId,\n\t\t\t\t'inserter_menu'\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t\tif ( newImages?.length > 0 ) {\n\t\t\tclearSelectedBlock();\n\t\t}\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? find( imageData, { id: imageAttributes.id } )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t} else {\n\t\t\tnewClassName = preferredStyle\n\t\t\t\t? `is-style-${ preferredStyle }`\n\t\t\t\t: undefined;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => file.type?.indexOf( mediaType ) === 0\n\t\t\t) || file.url?.indexOf( 'blob:' ) === 0\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\n\t\t);\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? find( imageData, { id: block.attributes.id } )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction getImageCropHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Thumbnails are cropped to align.' )\n\t\t\t: __( 'Thumbnails are not cropped.' );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? find( imageData, { id: block.attributes.id } )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some( ( img ) =>\n\t\t! Platform.isNative\n\t\t\t? ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t\t\t: img.url?.indexOf( 'file:' ) === 0\n\t);\n\n\t// MediaPlaceholder props are different between web and native hence, we provide a platform-specific set.\n\tconst mediaPlaceholderProps = Platform.select( {\n\t\tweb: {\n\t\t\taddToGallery: false,\n\t\t\tdisableMediaButtons: imagesUploading,\n\t\t\tvalue: {},\n\t\t},\n\t\tnative: {\n\t\t\taddToGallery: hasImageIds,\n\t\t\tisAppender: hasImages,\n\t\t\tdisableMediaButtons:\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading,\n\t\t\tvalue: hasImageIds ? images : {},\n\t\t\tautoOpenMediaUpload:\n\t\t\t\t! hasImages && isSelected && wasBlockJustInserted,\n\t\t},\n\t} );\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\thandleUpload={ false }\n\t\t\ticon={ sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tonError={ onUploadError }\n\t\t\t{ ...mediaPlaceholderProps }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, 'has-nested-images' ),\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn <View { ...blockProps }>{ mediaPlaceholder }</View>;\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Crop images' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\thelp={ getImageCropHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.isWeb && ! imageSizeOptions && hasImageIds && (\n\t\t\t\t\t\t<BaseControl className={ 'gallery-image-sizes' }>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Image size' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className={ 'gallery-image-sizes__loading' }>\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\tmultiple={ true }\n\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<GapStyles\n\t\t\t\t\tblockGap={ attributes.style?.spacing?.blockGap }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={\n\t\t\t\t\t! hasImages || Platform.isNative\n\t\t\t\t\t\t? mediaPlaceholder\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</>\n\t);\n}\nexport default compose( [ withViewportMatch( { isNarrow: '< small' } ) ] )(\n\tGalleryEdit\n);\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/edit.js"],"names":["MAX_COLUMNS","linkOptions","value","LINK_DESTINATION_ATTACHMENT","label","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","Platform","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","columns","imageCrop","linkTarget","linkTo","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","clearSelectedBlock","blockEditorStore","createSuccessNotice","createErrorNotice","noticesStore","getBlock","getSettings","preferredStyle","select","settings","preferredStyleVariations","__experimentalPreferredStyleVariations","innerBlockImages","innerBlocks","wasBlockJustInserted","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","length","imageSizeOptions","imageAttributes","image","find","newClassName","newLinkTarget","rel","linkDestination","caption","raw","alt","alt_text","isValidFileType","file","nativeFileData","mediaTypeSelector","media_type","some","mediaType","indexOf","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","every","processedImages","filter","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","concat","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","toggleOpenInNewTab","openInNewTab","noticeText","updateImagesSize","newSizeSlug","imageSize","size","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","sharedIcon","title","instructions","blockProps","hasLinkTo","Math","min","isWeb","style","spacing","blockGap","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tSpinner,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'ADD MEDIA' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t} = props;\n\n\tconst { columns, imageCrop, linkTarget, linkTo, sizeSlug } = attributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t\tclearSelectedBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { getBlock, getSettings, preferredStyle } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst preferredStyleVariations =\n\t\t\tsettings.__experimentalPreferredStyleVariations;\n\t\treturn {\n\t\t\tgetBlock: select( blockEditorStore ).getBlock,\n\t\t\tgetSettings: select( blockEditorStore ).getSettings,\n\t\t\tpreferredStyle: preferredStyleVariations?.value?.[ 'core/image' ],\n\t\t};\n\t}, [] );\n\n\tconst innerBlockImages = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).getBlock( clientId )?.innerBlocks;\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst wasBlockJustInserted = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).wasBlockJustInserted(\n\t\t\t\tclientId,\n\t\t\t\t'inserter_menu'\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t\tif ( newImages?.length > 0 ) {\n\t\t\tclearSelectedBlock();\n\t\t}\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? imageData.find( ( { id } ) => id === imageAttributes.id )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t} else {\n\t\t\tnewClassName = preferredStyle\n\t\t\t\t? `is-style-${ preferredStyle }`\n\t\t\t\t: undefined;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\t// It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.\n\t\tconst nativeFileData =\n\t\t\tPlatform.isNative && file.id\n\t\t\t\t? imageData.find( ( { id } ) => id === file.id )\n\t\t\t\t: null;\n\n\t\tconst mediaTypeSelector = nativeFileData\n\t\t\t? nativeFileData?.media_type\n\t\t\t: file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.indexOf( mediaType ) === 0\n\t\t\t) || file.url?.indexOf( 'blob:' ) === 0\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\n\t\t);\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction getImageCropHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Thumbnails are cropped to align.' )\n\t\t\t: __( 'Thumbnails are not cropped.' );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some( ( img ) =>\n\t\t! Platform.isNative\n\t\t\t? ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t\t\t: img.url?.indexOf( 'file:' ) === 0\n\t);\n\n\t// MediaPlaceholder props are different between web and native hence, we provide a platform-specific set.\n\tconst mediaPlaceholderProps = Platform.select( {\n\t\tweb: {\n\t\t\taddToGallery: false,\n\t\t\tdisableMediaButtons: imagesUploading,\n\t\t\tvalue: {},\n\t\t},\n\t\tnative: {\n\t\t\taddToGallery: hasImageIds,\n\t\t\tisAppender: hasImages,\n\t\t\tdisableMediaButtons:\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading,\n\t\t\tvalue: hasImageIds ? images : {},\n\t\t\tautoOpenMediaUpload:\n\t\t\t\t! hasImages && isSelected && wasBlockJustInserted,\n\t\t},\n\t} );\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\thandleUpload={ false }\n\t\t\ticon={ sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tonError={ onUploadError }\n\t\t\t{ ...mediaPlaceholderProps }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, 'has-nested-images' ),\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn <View { ...blockProps }>{ mediaPlaceholder }</View>;\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Crop images' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\thelp={ getImageCropHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.isWeb && ! imageSizeOptions && hasImageIds && (\n\t\t\t\t\t\t<BaseControl className={ 'gallery-image-sizes' }>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Image size' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className={ 'gallery-image-sizes__loading' }>\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\tmultiple={ true }\n\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<GapStyles\n\t\t\t\t\tblockGap={ attributes.style?.spacing?.blockGap }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={\n\t\t\t\t\t! hasImages || Platform.isNative\n\t\t\t\t\t\t? mediaPlaceholder\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</>\n\t);\n}\nexport default compose( [ withViewportMatch( { isNarrow: '< small' } ) ] )(\n\tGalleryEdit\n);\n"]}
@@ -11,8 +11,6 @@ var _element = require("@wordpress/element");
11
11
 
12
12
  var _reactNative = require("react-native");
13
13
 
14
- var _lodash = require("lodash");
15
-
16
14
  var _shared = require("./shared");
17
15
 
18
16
  var _galleryStyles = _interopRequireDefault(require("./gallery-styles.scss"));
@@ -104,7 +102,7 @@ const Gallery = props => {
104
102
  clientId: clientId,
105
103
  isSelected: isCaptionSelected,
106
104
  accessible: true,
107
- accessibilityLabelCreator: caption => (0, _lodash.isEmpty)(caption) ?
105
+ accessibilityLabelCreator: caption => !caption ?
108
106
  /* translators: accessibility text. Empty gallery caption. */
109
107
  'Gallery caption. Empty' : (0, _i18n.sprintf)(
110
108
  /* translators: accessibility text. %s: gallery caption. */
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/gallery.native.js"],"names":["TILE_SPACING","MAX_DISPLAYED_COLUMNS","MAX_DISPLAYED_COLUMNS_NARROW","Gallery","props","isCaptionSelected","setIsCaptionSelected","resizeObserver","sizes","maxWidth","setMaxWidth","mediaUploadSync","mediaPlaceholder","attributes","images","isNarrow","onBlur","insertBlocksAfter","clientId","width","align","columns","length","displayedColumns","Math","min","innerBlocksProps","contentResizeMode","allowedBlocks","orientation","renderAppender","numColumns","marginHorizontal","marginVertical","__experimentalLayout","type","alignments","gridProperties","parentWidth","focusGalleryCaption","isFullWidth","WIDE_ALIGNMENTS","full","styles","fullWidth","galleryAppender","caption"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\nimport { isEmpty } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport { defaultColumnsNumber } from './shared';\nimport styles from './gallery-styles.scss';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { BlockCaption, useInnerBlocksProps } from '@wordpress/block-editor';\nimport { useState, useEffect } from '@wordpress/element';\nimport { mediaUploadSync } from '@wordpress/react-native-bridge';\nimport { WIDE_ALIGNMENTS } from '@wordpress/components';\nimport { useResizeObserver } from '@wordpress/compose';\n\nconst TILE_SPACING = 8;\n\n// we must limit displayed columns since readable content max-width is 580px\nconst MAX_DISPLAYED_COLUMNS = 4;\nconst MAX_DISPLAYED_COLUMNS_NARROW = 2;\n\nexport const Gallery = ( props ) => {\n\tconst [ isCaptionSelected, setIsCaptionSelected ] = useState( false );\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ maxWidth, setMaxWidth ] = useState( 0 );\n\tuseEffect( mediaUploadSync, [] );\n\n\tconst {\n\t\tmediaPlaceholder,\n\t\tattributes,\n\t\timages,\n\t\tisNarrow,\n\t\tonBlur,\n\t\tinsertBlocksAfter,\n\t\tclientId,\n\t} = props;\n\n\tuseEffect( () => {\n\t\tconst { width } = sizes || {};\n\t\tif ( width ) {\n\t\t\tsetMaxWidth( width );\n\t\t}\n\t}, [ sizes ] );\n\n\tconst { align, columns = defaultColumnsNumber( images.length ) } =\n\t\tattributes;\n\n\tconst displayedColumns = Math.min(\n\t\tcolumns,\n\t\tisNarrow ? MAX_DISPLAYED_COLUMNS_NARROW : MAX_DISPLAYED_COLUMNS\n\t);\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{},\n\t\t{\n\t\t\tcontentResizeMode: 'stretch',\n\t\t\tallowedBlocks: [ 'core/image' ],\n\t\t\torientation: 'horizontal',\n\t\t\trenderAppender: false,\n\t\t\tnumColumns: displayedColumns,\n\t\t\tmarginHorizontal: TILE_SPACING,\n\t\t\tmarginVertical: TILE_SPACING,\n\t\t\t__experimentalLayout: { type: 'default', alignments: [] },\n\t\t\tgridProperties: {\n\t\t\t\tnumColumns: displayedColumns,\n\t\t\t},\n\t\t\tparentWidth: maxWidth + 2 * TILE_SPACING,\n\t\t}\n\t);\n\n\tconst focusGalleryCaption = () => {\n\t\tif ( ! isCaptionSelected ) {\n\t\t\tsetIsCaptionSelected( true );\n\t\t}\n\t};\n\n\tconst isFullWidth = align === WIDE_ALIGNMENTS.alignments.full;\n\n\treturn (\n\t\t<View style={ isFullWidth && styles.fullWidth }>\n\t\t\t{ resizeObserver }\n\t\t\t<View { ...innerBlocksProps } />\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tisFullWidth && styles.fullWidth,\n\t\t\t\t\tstyles.galleryAppender,\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t\t<BlockCaption\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisSelected={ isCaptionSelected }\n\t\t\t\taccessible={ true }\n\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\tisEmpty( caption )\n\t\t\t\t\t\t? /* translators: accessibility text. Empty gallery caption. */\n\n\t\t\t\t\t\t 'Gallery caption. Empty'\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: gallery caption. */\n\t\t\t\t\t\t\t\t__( 'Gallery caption. %s' ),\n\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t )\n\t\t\t\t}\n\t\t\t\tonFocus={ focusGalleryCaption }\n\t\t\t\tonBlur={ onBlur } // Always assign onBlur as props.\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default Gallery;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/gallery.native.js"],"names":["TILE_SPACING","MAX_DISPLAYED_COLUMNS","MAX_DISPLAYED_COLUMNS_NARROW","Gallery","props","isCaptionSelected","setIsCaptionSelected","resizeObserver","sizes","maxWidth","setMaxWidth","mediaUploadSync","mediaPlaceholder","attributes","images","isNarrow","onBlur","insertBlocksAfter","clientId","width","align","columns","length","displayedColumns","Math","min","innerBlocksProps","contentResizeMode","allowedBlocks","orientation","renderAppender","numColumns","marginHorizontal","marginVertical","__experimentalLayout","type","alignments","gridProperties","parentWidth","focusGalleryCaption","isFullWidth","WIDE_ALIGNMENTS","full","styles","fullWidth","galleryAppender","caption"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * Internal dependencies\n */\nimport { defaultColumnsNumber } from './shared';\nimport styles from './gallery-styles.scss';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { BlockCaption, useInnerBlocksProps } from '@wordpress/block-editor';\nimport { useState, useEffect } from '@wordpress/element';\nimport { mediaUploadSync } from '@wordpress/react-native-bridge';\nimport { WIDE_ALIGNMENTS } from '@wordpress/components';\nimport { useResizeObserver } from '@wordpress/compose';\n\nconst TILE_SPACING = 8;\n\n// we must limit displayed columns since readable content max-width is 580px\nconst MAX_DISPLAYED_COLUMNS = 4;\nconst MAX_DISPLAYED_COLUMNS_NARROW = 2;\n\nexport const Gallery = ( props ) => {\n\tconst [ isCaptionSelected, setIsCaptionSelected ] = useState( false );\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ maxWidth, setMaxWidth ] = useState( 0 );\n\tuseEffect( mediaUploadSync, [] );\n\n\tconst {\n\t\tmediaPlaceholder,\n\t\tattributes,\n\t\timages,\n\t\tisNarrow,\n\t\tonBlur,\n\t\tinsertBlocksAfter,\n\t\tclientId,\n\t} = props;\n\n\tuseEffect( () => {\n\t\tconst { width } = sizes || {};\n\t\tif ( width ) {\n\t\t\tsetMaxWidth( width );\n\t\t}\n\t}, [ sizes ] );\n\n\tconst { align, columns = defaultColumnsNumber( images.length ) } =\n\t\tattributes;\n\n\tconst displayedColumns = Math.min(\n\t\tcolumns,\n\t\tisNarrow ? MAX_DISPLAYED_COLUMNS_NARROW : MAX_DISPLAYED_COLUMNS\n\t);\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{},\n\t\t{\n\t\t\tcontentResizeMode: 'stretch',\n\t\t\tallowedBlocks: [ 'core/image' ],\n\t\t\torientation: 'horizontal',\n\t\t\trenderAppender: false,\n\t\t\tnumColumns: displayedColumns,\n\t\t\tmarginHorizontal: TILE_SPACING,\n\t\t\tmarginVertical: TILE_SPACING,\n\t\t\t__experimentalLayout: { type: 'default', alignments: [] },\n\t\t\tgridProperties: {\n\t\t\t\tnumColumns: displayedColumns,\n\t\t\t},\n\t\t\tparentWidth: maxWidth + 2 * TILE_SPACING,\n\t\t}\n\t);\n\n\tconst focusGalleryCaption = () => {\n\t\tif ( ! isCaptionSelected ) {\n\t\t\tsetIsCaptionSelected( true );\n\t\t}\n\t};\n\n\tconst isFullWidth = align === WIDE_ALIGNMENTS.alignments.full;\n\n\treturn (\n\t\t<View style={ isFullWidth && styles.fullWidth }>\n\t\t\t{ resizeObserver }\n\t\t\t<View { ...innerBlocksProps } />\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tisFullWidth && styles.fullWidth,\n\t\t\t\t\tstyles.galleryAppender,\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t\t<BlockCaption\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisSelected={ isCaptionSelected }\n\t\t\t\taccessible={ true }\n\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\t! caption\n\t\t\t\t\t\t? /* translators: accessibility text. Empty gallery caption. */\n\n\t\t\t\t\t\t 'Gallery caption. Empty'\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: gallery caption. */\n\t\t\t\t\t\t\t\t__( 'Gallery caption. %s' ),\n\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t )\n\t\t\t\t}\n\t\t\t\tonFocus={ focusGalleryCaption }\n\t\t\t\tonBlur={ onBlur } // Always assign onBlur as props.\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default Gallery;\n"]}
@@ -24,7 +24,10 @@ function defaultColumnsNumber(imageCount) {
24
24
 
25
25
  const pickRelevantMediaFiles = function (image) {
26
26
  let sizeSlug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'large';
27
- const imageProps = (0, _lodash.pick)(image, ['alt', 'id', 'link']);
27
+ const imageProps = Object.fromEntries(Object.entries(image !== null && image !== void 0 ? image : {}).filter(_ref => {
28
+ let [key] = _ref;
29
+ return ['alt', 'id', 'link'].includes(key);
30
+ }));
28
31
  imageProps.url = (0, _lodash.get)(image, ['sizes', sizeSlug, 'url']) || (0, _lodash.get)(image, ['media_details', 'sizes', sizeSlug, 'source_url']) || image.url || image.source_url;
29
32
  const fullUrl = (0, _lodash.get)(image, ['sizes', 'full', 'url']) || (0, _lodash.get)(image, ['media_details', 'sizes', 'full', 'source_url']);
30
33
 
@@ -55,17 +58,8 @@ function getGalleryBlockV2Enabled() {
55
58
 
56
59
 
57
60
  function isGalleryV2Enabled() {
58
- // The logic for the native version is located in a different if statement
59
- // due to a lint rule that prohibits a single conditional combining
60
- // `process.env.IS_GUTENBERG_PLUGIN` with a native platform check.
61
61
  if (_element.Platform.isNative) {
62
62
  return getGalleryBlockV2Enabled();
63
- } // Only run the Gallery version compat check if the plugin is running, otherwise
64
- // assume we are in 5.9 core and enable by default.
65
-
66
-
67
- if (process.env.IS_GUTENBERG_PLUGIN) {
68
- return getGalleryBlockV2Enabled();
69
63
  }
70
64
 
71
65
  return true;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/shared.js"],"names":["defaultColumnsNumber","imageCount","Math","min","pickRelevantMediaFiles","image","sizeSlug","imageProps","url","source_url","fullUrl","getGalleryBlockV2Enabled","window","wp","galleryBlockV2Enabled","isGalleryV2Enabled","Platform","isNative","process","env","IS_GUTENBERG_PLUGIN"],"mappings":";;;;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAGO,SAASA,oBAAT,CAA+BC,UAA/B,EAA4C;AAClD,SAAOA,UAAU,GAAGC,IAAI,CAACC,GAAL,CAAU,CAAV,EAAaF,UAAb,CAAH,GAA+B,CAAhD;AACA;;AAEM,MAAMG,sBAAsB,GAAG,UAAEC,KAAF,EAAiC;AAAA,MAAxBC,QAAwB,uEAAb,OAAa;AACtE,QAAMC,UAAU,GAAG,kBAAMF,KAAN,EAAa,CAAE,KAAF,EAAS,IAAT,EAAe,MAAf,CAAb,CAAnB;AACAE,EAAAA,UAAU,CAACC,GAAX,GACC,iBAAKH,KAAL,EAAY,CAAE,OAAF,EAAWC,QAAX,EAAqB,KAArB,CAAZ,KACA,iBAAKD,KAAL,EAAY,CAAE,eAAF,EAAmB,OAAnB,EAA4BC,QAA5B,EAAsC,YAAtC,CAAZ,CADA,IAEAD,KAAK,CAACG,GAFN,IAGAH,KAAK,CAACI,UAJP;AAKA,QAAMC,OAAO,GACZ,iBAAKL,KAAL,EAAY,CAAE,OAAF,EAAW,MAAX,EAAmB,KAAnB,CAAZ,KACA,iBAAKA,KAAL,EAAY,CAAE,eAAF,EAAmB,OAAnB,EAA4B,MAA5B,EAAoC,YAApC,CAAZ,CAFD;;AAGA,MAAKK,OAAL,EAAe;AACdH,IAAAA,UAAU,CAACG,OAAX,GAAqBA,OAArB;AACA;;AACD,SAAOH,UAAP;AACA,CAdM;;;;AAgBP,SAASI,wBAAT,GAAoC;AACnC;AACA;AACA,MAAK,CAAEC,MAAM,CAACC,EAAT,IAAe,OAAOD,MAAM,CAACC,EAAP,CAAUC,qBAAjB,KAA2C,SAA/D,EAA2E;AAC1E,UAAM,gDAAN;AACA;;AACD,SAAOF,MAAM,CAACC,EAAP,CAAUC,qBAAjB;AACA;AAED;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,kBAAT,GAA8B;AACpC;AACA;AACA;AACA,MAAKC,kBAASC,QAAd,EAAyB;AACxB,WAAON,wBAAwB,EAA/B;AACA,GANmC,CAQpC;AACA;;;AACA,MAAKO,OAAO,CAACC,GAAR,CAAYC,mBAAjB,EAAuC;AACtC,WAAOT,wBAAwB,EAA/B;AACA;;AAED,SAAO,IAAP;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport { get, pick } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Platform } from '@wordpress/element';\n\nexport function defaultColumnsNumber( imageCount ) {\n\treturn imageCount ? Math.min( 3, imageCount ) : 3;\n}\n\nexport const pickRelevantMediaFiles = ( image, sizeSlug = 'large' ) => {\n\tconst imageProps = pick( image, [ 'alt', 'id', 'link' ] );\n\timageProps.url =\n\t\tget( image, [ 'sizes', sizeSlug, 'url' ] ) ||\n\t\tget( image, [ 'media_details', 'sizes', sizeSlug, 'source_url' ] ) ||\n\t\timage.url ||\n\t\timage.source_url;\n\tconst fullUrl =\n\t\tget( image, [ 'sizes', 'full', 'url' ] ) ||\n\t\tget( image, [ 'media_details', 'sizes', 'full', 'source_url' ] );\n\tif ( fullUrl ) {\n\t\timageProps.fullUrl = fullUrl;\n\t}\n\treturn imageProps;\n};\n\nfunction getGalleryBlockV2Enabled() {\n\t// We want to fail early here, at least during beta testing phase, to ensure\n\t// there aren't instances where undefined values cause false negatives.\n\tif ( ! window.wp || typeof window.wp.galleryBlockV2Enabled !== 'boolean' ) {\n\t\tthrow 'window.wp.galleryBlockV2Enabled is not defined';\n\t}\n\treturn window.wp.galleryBlockV2Enabled;\n}\n\n/**\n * The new gallery block format is not compatible with the use_BalanceTags option\n * in WP versions <= 5.8 https://core.trac.wordpress.org/ticket/54130. The\n * window.wp.galleryBlockV2Enabled flag is set in lib/compat.php. This method\n * can be removed when minimum supported WP version >=5.9.\n */\nexport function isGalleryV2Enabled() {\n\t// The logic for the native version is located in a different if statement\n\t// due to a lint rule that prohibits a single conditional combining\n\t// `process.env.IS_GUTENBERG_PLUGIN` with a native platform check.\n\tif ( Platform.isNative ) {\n\t\treturn getGalleryBlockV2Enabled();\n\t}\n\n\t// Only run the Gallery version compat check if the plugin is running, otherwise\n\t// assume we are in 5.9 core and enable by default.\n\tif ( process.env.IS_GUTENBERG_PLUGIN ) {\n\t\treturn getGalleryBlockV2Enabled();\n\t}\n\n\treturn true;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/shared.js"],"names":["defaultColumnsNumber","imageCount","Math","min","pickRelevantMediaFiles","image","sizeSlug","imageProps","Object","fromEntries","entries","filter","key","includes","url","source_url","fullUrl","getGalleryBlockV2Enabled","window","wp","galleryBlockV2Enabled","isGalleryV2Enabled","Platform","isNative"],"mappings":";;;;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAGO,SAASA,oBAAT,CAA+BC,UAA/B,EAA4C;AAClD,SAAOA,UAAU,GAAGC,IAAI,CAACC,GAAL,CAAU,CAAV,EAAaF,UAAb,CAAH,GAA+B,CAAhD;AACA;;AAEM,MAAMG,sBAAsB,GAAG,UAAEC,KAAF,EAAiC;AAAA,MAAxBC,QAAwB,uEAAb,OAAa;AACtE,QAAMC,UAAU,GAAGC,MAAM,CAACC,WAAP,CAClBD,MAAM,CAACE,OAAP,CAAgBL,KAAhB,aAAgBA,KAAhB,cAAgBA,KAAhB,GAAyB,EAAzB,EAA8BM,MAA9B,CAAsC;AAAA,QAAE,CAAEC,GAAF,CAAF;AAAA,WACrC,CAAE,KAAF,EAAS,IAAT,EAAe,MAAf,EAAwBC,QAAxB,CAAkCD,GAAlC,CADqC;AAAA,GAAtC,CADkB,CAAnB;AAMAL,EAAAA,UAAU,CAACO,GAAX,GACC,iBAAKT,KAAL,EAAY,CAAE,OAAF,EAAWC,QAAX,EAAqB,KAArB,CAAZ,KACA,iBAAKD,KAAL,EAAY,CAAE,eAAF,EAAmB,OAAnB,EAA4BC,QAA5B,EAAsC,YAAtC,CAAZ,CADA,IAEAD,KAAK,CAACS,GAFN,IAGAT,KAAK,CAACU,UAJP;AAKA,QAAMC,OAAO,GACZ,iBAAKX,KAAL,EAAY,CAAE,OAAF,EAAW,MAAX,EAAmB,KAAnB,CAAZ,KACA,iBAAKA,KAAL,EAAY,CAAE,eAAF,EAAmB,OAAnB,EAA4B,MAA5B,EAAoC,YAApC,CAAZ,CAFD;;AAGA,MAAKW,OAAL,EAAe;AACdT,IAAAA,UAAU,CAACS,OAAX,GAAqBA,OAArB;AACA;;AACD,SAAOT,UAAP;AACA,CAnBM;;;;AAqBP,SAASU,wBAAT,GAAoC;AACnC;AACA;AACA,MAAK,CAAEC,MAAM,CAACC,EAAT,IAAe,OAAOD,MAAM,CAACC,EAAP,CAAUC,qBAAjB,KAA2C,SAA/D,EAA2E;AAC1E,UAAM,gDAAN;AACA;;AACD,SAAOF,MAAM,CAACC,EAAP,CAAUC,qBAAjB;AACA;AAED;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,kBAAT,GAA8B;AACpC,MAAKC,kBAASC,QAAd,EAAyB;AACxB,WAAON,wBAAwB,EAA/B;AACA;;AAED,SAAO,IAAP;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Platform } from '@wordpress/element';\n\nexport function defaultColumnsNumber( imageCount ) {\n\treturn imageCount ? Math.min( 3, imageCount ) : 3;\n}\n\nexport const pickRelevantMediaFiles = ( image, sizeSlug = 'large' ) => {\n\tconst imageProps = Object.fromEntries(\n\t\tObject.entries( image ?? {} ).filter( ( [ key ] ) =>\n\t\t\t[ 'alt', 'id', 'link' ].includes( key )\n\t\t)\n\t);\n\n\timageProps.url =\n\t\tget( image, [ 'sizes', sizeSlug, 'url' ] ) ||\n\t\tget( image, [ 'media_details', 'sizes', sizeSlug, 'source_url' ] ) ||\n\t\timage.url ||\n\t\timage.source_url;\n\tconst fullUrl =\n\t\tget( image, [ 'sizes', 'full', 'url' ] ) ||\n\t\tget( image, [ 'media_details', 'sizes', 'full', 'source_url' ] );\n\tif ( fullUrl ) {\n\t\timageProps.fullUrl = fullUrl;\n\t}\n\treturn imageProps;\n};\n\nfunction getGalleryBlockV2Enabled() {\n\t// We want to fail early here, at least during beta testing phase, to ensure\n\t// there aren't instances where undefined values cause false negatives.\n\tif ( ! window.wp || typeof window.wp.galleryBlockV2Enabled !== 'boolean' ) {\n\t\tthrow 'window.wp.galleryBlockV2Enabled is not defined';\n\t}\n\treturn window.wp.galleryBlockV2Enabled;\n}\n\n/**\n * The new gallery block format is not compatible with the use_BalanceTags option\n * in WP versions <= 5.8 https://core.trac.wordpress.org/ticket/54130. The\n * window.wp.galleryBlockV2Enabled flag is set in lib/compat.php. This method\n * can be removed when minimum supported WP version >=5.9.\n */\nexport function isGalleryV2Enabled() {\n\tif ( Platform.isNative ) {\n\t\treturn getGalleryBlockV2Enabled();\n\t}\n\n\treturn true;\n}\n"]}
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _lodash = require("lodash");
9
-
10
8
  var _blocks = require("@wordpress/blocks");
11
9
 
12
10
  var _blob = require("@wordpress/blob");
@@ -19,10 +17,6 @@ var _constants2 = require("./v1/constants");
19
17
 
20
18
  var _shared = require("./shared");
21
19
 
22
- /**
23
- * External dependencies
24
- */
25
-
26
20
  /**
27
21
  * WordPress dependencies
28
22
  */
@@ -147,7 +141,7 @@ const transforms = {
147
141
 
148
142
  align = attributes.every(attribute => attribute.align === align) ? align : undefined;
149
143
  sizeSlug = attributes.every(attribute => attribute.sizeSlug === sizeSlug) ? sizeSlug : undefined;
150
- const validImages = (0, _lodash.filter)(attributes, _ref4 => {
144
+ const validImages = attributes.filter(_ref4 => {
151
145
  let {
152
146
  url
153
147
  } = _ref4;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/transforms.js"],"names":["parseShortcodeIds","ids","split","map","id","parseInt","updateThirdPartyTransformToGallery","block","name","attributes","images","length","innerBlocks","url","alt","sizeSlug","linkDestination","updateThirdPartyTransformFromGallery","toBlock","fromBlocks","from","Array","isArray","galleryBlock","find","transformedBlock","includes","transforms","type","isMultiBlock","blocks","transform","align","every","attribute","undefined","validImages","image","width","height","caption","toString","tag","shortcode","named","columns","linkTo","link","DEPRECATED_LINK_DESTINATION_ATTACHMENT","DEPRECATED_LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","imageIds","imageId","isMatch","priority","files","file","indexOf","to","title","href","rel","linkClass","imageSizeSlug","linkTarget","anchor","className","index"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { filter } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_MEDIA,\n} from './constants';\nimport {\n\tLINK_DESTINATION_ATTACHMENT as DEPRECATED_LINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA as DEPRECATED_LINK_DESTINATION_MEDIA,\n} from './v1/constants';\nimport { pickRelevantMediaFiles, isGalleryV2Enabled } from './shared';\n\nconst parseShortcodeIds = ( ids ) => {\n\tif ( ! ids ) {\n\t\treturn [];\n\t}\n\n\treturn ids.split( ',' ).map( ( id ) => parseInt( id, 10 ) );\n};\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * 3rdPartyBlock -> GalleryBlock transform so this tranform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} block The transformed block.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformToGallery( block ) {\n\tif (\n\t\tisGalleryV2Enabled() &&\n\t\tblock.name === 'core/gallery' &&\n\t\tblock.attributes?.images.length > 0\n\t) {\n\t\tconst innerBlocks = block.attributes.images.map(\n\t\t\t( { url, id, alt } ) => {\n\t\t\t\treturn createBlock( 'core/image', {\n\t\t\t\t\turl,\n\t\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\t\talt,\n\t\t\t\t\tsizeSlug: block.attributes.sizeSlug,\n\t\t\t\t\tlinkDestination: block.attributes.linkDestination,\n\t\t\t\t} );\n\t\t\t}\n\t\t);\n\n\t\tdelete block.attributes.ids;\n\t\tdelete block.attributes.images;\n\t\tblock.innerBlocks = innerBlocks;\n\t}\n\n\treturn block;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-to',\n\tupdateThirdPartyTransformToGallery\n);\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * GalleryBlock -> 3rdPartyBlock transform so this transform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} toBlock The block to transform to.\n * @param {Block[]} fromBlocks The blocks to transform from.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformFromGallery( toBlock, fromBlocks ) {\n\tconst from = Array.isArray( fromBlocks ) ? fromBlocks : [ fromBlocks ];\n\tconst galleryBlock = from.find(\n\t\t( transformedBlock ) =>\n\t\t\ttransformedBlock.name === 'core/gallery' &&\n\t\t\ttransformedBlock.innerBlocks.length > 0 &&\n\t\t\t! transformedBlock.attributes.images?.length > 0 &&\n\t\t\t! toBlock.name.includes( 'core/' )\n\t);\n\n\tif ( galleryBlock ) {\n\t\tconst images = galleryBlock.innerBlocks.map(\n\t\t\t( { attributes: { url, id, alt } } ) => ( {\n\t\t\t\turl,\n\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\talt,\n\t\t\t} )\n\t\t);\n\t\tconst ids = images.map( ( { id } ) => id );\n\t\tgalleryBlock.attributes.images = images;\n\t\tgalleryBlock.attributes.ids = ids;\n\t}\n\n\treturn toBlock;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-from',\n\tupdateThirdPartyTransformFromGallery\n);\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\t// Init the align and size from the first item which may be either the placeholder or an image.\n\t\t\t\tlet { align, sizeSlug } = attributes[ 0 ];\n\t\t\t\t// Loop through all the images and check if they have the same align and size.\n\t\t\t\talign = 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 = filter( attributes, ( { url } ) => url );\n\n\t\t\t\tif ( isGalleryV2Enabled() ) {\n\t\t\t\t\tconst innerBlocks = validImages.map( ( image ) => {\n\t\t\t\t\t\t// Gallery images can't currently be resized so make sure height and width are undefined.\n\t\t\t\t\t\timage.width = undefined;\n\t\t\t\t\t\timage.height = undefined;\n\t\t\t\t\t\treturn createBlock( 'core/image', image );\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t'core/gallery',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\tsizeSlug,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerBlocks\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( 'core/gallery', {\n\t\t\t\t\timages: validImages.map(\n\t\t\t\t\t\t( { id, url, alt, caption } ) => ( {\n\t\t\t\t\t\t\tid: id.toString(),\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t} )\n\t\t\t\t\t),\n\t\t\t\t\tids: validImages.map( ( { id } ) => parseInt( id, 10 ) ),\n\t\t\t\t\talign,\n\t\t\t\t\tsizeSlug,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'shortcode',\n\t\t\ttag: 'gallery',\n\n\t\t\tattributes: {\n\t\t\t\timages: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tshortcode: ( { named: { ids } } ) => {\n\t\t\t\t\t\tif ( ! isGalleryV2Enabled() ) {\n\t\t\t\t\t\t\treturn parseShortcodeIds( ids ).map( ( id ) => ( {\n\t\t\t\t\t\t\t\tid: id.toString(),\n\t\t\t\t\t\t\t} ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tids: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tshortcode: ( { named: { ids } } ) => {\n\t\t\t\t\t\tif ( ! isGalleryV2Enabled() ) {\n\t\t\t\t\t\t\treturn parseShortcodeIds( ids );\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tcolumns: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tshortcode: ( { named: { columns = '3' } } ) => {\n\t\t\t\t\t\treturn parseInt( columns, 10 );\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlinkTo: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { link } } ) => {\n\t\t\t\t\t\tif ( ! isGalleryV2Enabled() ) {\n\t\t\t\t\t\t\tswitch ( link ) {\n\t\t\t\t\t\t\t\tcase 'post':\n\t\t\t\t\t\t\t\t\treturn DEPRECATED_LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\t\t\tcase 'file':\n\t\t\t\t\t\t\t\t\treturn DEPRECATED_LINK_DESTINATION_MEDIA;\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn DEPRECATED_LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tswitch ( link ) {\n\t\t\t\t\t\t\tcase 'post':\n\t\t\t\t\t\t\t\treturn LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\t\tcase 'file':\n\t\t\t\t\t\t\t\treturn LINK_DESTINATION_MEDIA;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\treturn LINK_DESTINATION_NONE;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\ttransform( { named: { ids, columns = 3, link } } ) {\n\t\t\t\tconst imageIds = parseShortcodeIds( ids ).map( ( id ) =>\n\t\t\t\t\tparseInt( id, 10 )\n\t\t\t\t);\n\n\t\t\t\tlet linkTo = LINK_DESTINATION_NONE;\n\t\t\t\tif ( link === 'post' ) {\n\t\t\t\t\tlinkTo = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t} else if ( link === 'file' ) {\n\t\t\t\t\tlinkTo = LINK_DESTINATION_MEDIA;\n\t\t\t\t}\n\n\t\t\t\tconst galleryBlock = createBlock(\n\t\t\t\t\t'core/gallery',\n\t\t\t\t\t{\n\t\t\t\t\t\tcolumns: parseInt( columns, 10 ),\n\t\t\t\t\t\tlinkTo,\n\t\t\t\t\t},\n\t\t\t\t\timageIds.map( ( imageId ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', { id: imageId } )\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\treturn galleryBlock;\n\t\t\t},\n\t\t\tisMatch( { named } ) {\n\t\t\t\treturn undefined !== named.ids;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t// When created by drag and dropping multiple files on an insertion point. Because multiple\n\t\t\t// files must not be transformed to a gallery when dropped within a gallery there is another transform\n\t\t\t// within the image block to handle that case. Therefore this transform has to have priority 1\n\t\t\t// set so that it overrrides the image block transformation when mulitple images are dropped outside\n\t\t\t// of a gallery block.\n\t\t\ttype: 'files',\n\t\t\tpriority: 1,\n\t\t\tisMatch( files ) {\n\t\t\t\treturn (\n\t\t\t\t\tfiles.length !== 1 &&\n\t\t\t\t\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\tif ( isGalleryV2Enabled() ) {\n\t\t\t\t\tconst innerBlocks = files.map( ( file ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\n\t\t\t\t\treturn createBlock( 'core/gallery', {}, innerBlocks );\n\t\t\t\t}\n\t\t\t\tconst block = createBlock( 'core/gallery', {\n\t\t\t\t\timages: files.map( ( file ) =>\n\t\t\t\t\t\tpickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t\treturn block;\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( { align, images, ids, sizeSlug }, innerBlocks ) => {\n\t\t\t\tif ( isGalleryV2Enabled() ) {\n\t\t\t\t\tif ( innerBlocks.length > 0 ) {\n\t\t\t\t\t\treturn innerBlocks.map(\n\t\t\t\t\t\t\t( {\n\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\t\t\t\tlinkTarget,\n\t\t\t\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\t\t\t\tlinkTarget,\n\t\t\t\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn createBlock( 'core/image', { align } );\n\t\t\t\t}\n\t\t\t\tif ( images.length > 0 ) {\n\t\t\t\t\treturn images.map( ( { url, alt, caption }, index ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\tid: ids[ index ],\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\tsizeSlug,\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn createBlock( 'core/image', { align } );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/transforms.js"],"names":["parseShortcodeIds","ids","split","map","id","parseInt","updateThirdPartyTransformToGallery","block","name","attributes","images","length","innerBlocks","url","alt","sizeSlug","linkDestination","updateThirdPartyTransformFromGallery","toBlock","fromBlocks","from","Array","isArray","galleryBlock","find","transformedBlock","includes","transforms","type","isMultiBlock","blocks","transform","align","every","attribute","undefined","validImages","filter","image","width","height","caption","toString","tag","shortcode","named","columns","linkTo","link","DEPRECATED_LINK_DESTINATION_ATTACHMENT","DEPRECATED_LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","imageIds","imageId","isMatch","priority","files","file","indexOf","to","title","href","rel","linkClass","imageSizeSlug","linkTarget","anchor","className","index"],"mappings":"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","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 {\n\tLINK_DESTINATION_ATTACHMENT as DEPRECATED_LINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA as DEPRECATED_LINK_DESTINATION_MEDIA,\n} from './v1/constants';\nimport { pickRelevantMediaFiles, isGalleryV2Enabled } from './shared';\n\nconst parseShortcodeIds = ( ids ) => {\n\tif ( ! ids ) {\n\t\treturn [];\n\t}\n\n\treturn ids.split( ',' ).map( ( id ) => parseInt( id, 10 ) );\n};\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * 3rdPartyBlock -> GalleryBlock transform so this tranform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} block The transformed block.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformToGallery( block ) {\n\tif (\n\t\tisGalleryV2Enabled() &&\n\t\tblock.name === 'core/gallery' &&\n\t\tblock.attributes?.images.length > 0\n\t) {\n\t\tconst innerBlocks = block.attributes.images.map(\n\t\t\t( { url, id, alt } ) => {\n\t\t\t\treturn createBlock( 'core/image', {\n\t\t\t\t\turl,\n\t\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\t\talt,\n\t\t\t\t\tsizeSlug: block.attributes.sizeSlug,\n\t\t\t\t\tlinkDestination: block.attributes.linkDestination,\n\t\t\t\t} );\n\t\t\t}\n\t\t);\n\n\t\tdelete block.attributes.ids;\n\t\tdelete block.attributes.images;\n\t\tblock.innerBlocks = innerBlocks;\n\t}\n\n\treturn block;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-to',\n\tupdateThirdPartyTransformToGallery\n);\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * GalleryBlock -> 3rdPartyBlock transform so this transform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} toBlock The block to transform to.\n * @param {Block[]} fromBlocks The blocks to transform from.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformFromGallery( toBlock, fromBlocks ) {\n\tconst from = Array.isArray( fromBlocks ) ? fromBlocks : [ fromBlocks ];\n\tconst galleryBlock = from.find(\n\t\t( transformedBlock ) =>\n\t\t\ttransformedBlock.name === 'core/gallery' &&\n\t\t\ttransformedBlock.innerBlocks.length > 0 &&\n\t\t\t! transformedBlock.attributes.images?.length > 0 &&\n\t\t\t! toBlock.name.includes( 'core/' )\n\t);\n\n\tif ( galleryBlock ) {\n\t\tconst images = galleryBlock.innerBlocks.map(\n\t\t\t( { attributes: { url, id, alt } } ) => ( {\n\t\t\t\turl,\n\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\talt,\n\t\t\t} )\n\t\t);\n\t\tconst ids = images.map( ( { id } ) => id );\n\t\tgalleryBlock.attributes.images = images;\n\t\tgalleryBlock.attributes.ids = ids;\n\t}\n\n\treturn toBlock;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-from',\n\tupdateThirdPartyTransformFromGallery\n);\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\t// Init the align and size from the first item which may be either the placeholder or an image.\n\t\t\t\tlet { align, sizeSlug } = attributes[ 0 ];\n\t\t\t\t// Loop through all the images and check if they have the same align and size.\n\t\t\t\talign = 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\tif ( isGalleryV2Enabled() ) {\n\t\t\t\t\tconst innerBlocks = validImages.map( ( image ) => {\n\t\t\t\t\t\t// Gallery images can't currently be resized so make sure height and width are undefined.\n\t\t\t\t\t\timage.width = undefined;\n\t\t\t\t\t\timage.height = undefined;\n\t\t\t\t\t\treturn createBlock( 'core/image', image );\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t'core/gallery',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\tsizeSlug,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerBlocks\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( 'core/gallery', {\n\t\t\t\t\timages: validImages.map(\n\t\t\t\t\t\t( { id, url, alt, caption } ) => ( {\n\t\t\t\t\t\t\tid: id.toString(),\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t} )\n\t\t\t\t\t),\n\t\t\t\t\tids: validImages.map( ( { id } ) => parseInt( id, 10 ) ),\n\t\t\t\t\talign,\n\t\t\t\t\tsizeSlug,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'shortcode',\n\t\t\ttag: 'gallery',\n\n\t\t\tattributes: {\n\t\t\t\timages: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tshortcode: ( { named: { ids } } ) => {\n\t\t\t\t\t\tif ( ! isGalleryV2Enabled() ) {\n\t\t\t\t\t\t\treturn parseShortcodeIds( ids ).map( ( id ) => ( {\n\t\t\t\t\t\t\t\tid: id.toString(),\n\t\t\t\t\t\t\t} ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tids: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tshortcode: ( { named: { ids } } ) => {\n\t\t\t\t\t\tif ( ! isGalleryV2Enabled() ) {\n\t\t\t\t\t\t\treturn parseShortcodeIds( ids );\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tcolumns: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tshortcode: ( { named: { columns = '3' } } ) => {\n\t\t\t\t\t\treturn parseInt( columns, 10 );\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlinkTo: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { link } } ) => {\n\t\t\t\t\t\tif ( ! isGalleryV2Enabled() ) {\n\t\t\t\t\t\t\tswitch ( link ) {\n\t\t\t\t\t\t\t\tcase 'post':\n\t\t\t\t\t\t\t\t\treturn DEPRECATED_LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\t\t\tcase 'file':\n\t\t\t\t\t\t\t\t\treturn DEPRECATED_LINK_DESTINATION_MEDIA;\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn DEPRECATED_LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tswitch ( link ) {\n\t\t\t\t\t\t\tcase 'post':\n\t\t\t\t\t\t\t\treturn LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\t\tcase 'file':\n\t\t\t\t\t\t\t\treturn LINK_DESTINATION_MEDIA;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\treturn LINK_DESTINATION_NONE;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\ttransform( { named: { ids, columns = 3, link } } ) {\n\t\t\t\tconst imageIds = parseShortcodeIds( ids ).map( ( id ) =>\n\t\t\t\t\tparseInt( id, 10 )\n\t\t\t\t);\n\n\t\t\t\tlet linkTo = LINK_DESTINATION_NONE;\n\t\t\t\tif ( link === 'post' ) {\n\t\t\t\t\tlinkTo = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t} else if ( link === 'file' ) {\n\t\t\t\t\tlinkTo = LINK_DESTINATION_MEDIA;\n\t\t\t\t}\n\n\t\t\t\tconst galleryBlock = createBlock(\n\t\t\t\t\t'core/gallery',\n\t\t\t\t\t{\n\t\t\t\t\t\tcolumns: parseInt( columns, 10 ),\n\t\t\t\t\t\tlinkTo,\n\t\t\t\t\t},\n\t\t\t\t\timageIds.map( ( imageId ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', { id: imageId } )\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\treturn galleryBlock;\n\t\t\t},\n\t\t\tisMatch( { named } ) {\n\t\t\t\treturn undefined !== named.ids;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t// When created by drag and dropping multiple files on an insertion point. Because multiple\n\t\t\t// files must not be transformed to a gallery when dropped within a gallery there is another transform\n\t\t\t// within the image block to handle that case. Therefore this transform has to have priority 1\n\t\t\t// set so that it overrrides the image block transformation when mulitple images are dropped outside\n\t\t\t// of a gallery block.\n\t\t\ttype: 'files',\n\t\t\tpriority: 1,\n\t\t\tisMatch( files ) {\n\t\t\t\treturn (\n\t\t\t\t\tfiles.length !== 1 &&\n\t\t\t\t\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\tif ( isGalleryV2Enabled() ) {\n\t\t\t\t\tconst innerBlocks = files.map( ( file ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\n\t\t\t\t\treturn createBlock( 'core/gallery', {}, innerBlocks );\n\t\t\t\t}\n\t\t\t\tconst block = createBlock( 'core/gallery', {\n\t\t\t\t\timages: files.map( ( file ) =>\n\t\t\t\t\t\tpickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t\treturn block;\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( { align, images, ids, sizeSlug }, innerBlocks ) => {\n\t\t\t\tif ( isGalleryV2Enabled() ) {\n\t\t\t\t\tif ( innerBlocks.length > 0 ) {\n\t\t\t\t\t\treturn innerBlocks.map(\n\t\t\t\t\t\t\t( {\n\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\t\t\t\tlinkTarget,\n\t\t\t\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\t\t\t\tlinkTarget,\n\t\t\t\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn createBlock( 'core/image', { align } );\n\t\t\t\t}\n\t\t\t\tif ( images.length > 0 ) {\n\t\t\t\t\treturn images.map( ( { url, alt, caption }, index ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\tid: ids[ index ],\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\tsizeSlug,\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn createBlock( 'core/image', { align } );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
@@ -34,7 +34,7 @@ function useGetMedia(innerBlockImages) {
34
34
 
35
35
  return (_select$getMediaItems = select(_coreData.store).getMediaItems({
36
36
  include: imageIds.join(','),
37
- per_page: imageIds.length,
37
+ per_page: -1,
38
38
  orderby: 'include'
39
39
  })) !== null && _select$getMediaItems !== void 0 ? _select$getMediaItems : EMPTY_IMAGE_MEDIA;
40
40
  }, [innerBlockImages]);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/use-get-media.js"],"names":["EMPTY_IMAGE_MEDIA","useGetMedia","innerBlockImages","select","imageIds","map","imageBlock","attributes","id","filter","undefined","length","coreStore","getMediaItems","include","join","per_page","orderby"],"mappings":";;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIA,MAAMA,iBAAiB,GAAG,EAA1B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAASC,WAAT,CAAsBC,gBAAtB,EAAyC;AACvD,SAAO,qBACJC,MAAF,IAAc;AAAA;;AACb,UAAMC,QAAQ,GAAGF,gBAAgB,CAC/BG,GADe,CACRC,UAAF,IAAkBA,UAAU,CAACC,UAAX,CAAsBC,EAD9B,EAEfC,MAFe,CAELD,EAAF,IAAUA,EAAE,KAAKE,SAFV,CAAjB;;AAIA,QAAKN,QAAQ,CAACO,MAAT,KAAoB,CAAzB,EAA6B;AAC5B,aAAOX,iBAAP;AACA;;AAED,oCACCG,MAAM,CAAES,eAAF,CAAN,CAAoBC,aAApB,CAAmC;AAClCC,MAAAA,OAAO,EAAEV,QAAQ,CAACW,IAAT,CAAe,GAAf,CADyB;AAElCC,MAAAA,QAAQ,EAAEZ,QAAQ,CAACO,MAFe;AAGlCM,MAAAA,OAAO,EAAE;AAHyB,KAAnC,CADD,yEAKQjB,iBALR;AAOA,GAjBK,EAkBN,CAAEE,gBAAF,CAlBM,CAAP;AAoBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\nconst EMPTY_IMAGE_MEDIA = [];\n\n/**\n * Retrieves the extended media info for each gallery image from the store. This is used to\n * determine which image size options are available for the current gallery.\n *\n * @param {Array} innerBlockImages An array of the innerBlock images currently in the gallery.\n *\n * @return {Array} An array of media info options for each gallery image.\n */\nexport default function useGetMedia( innerBlockImages ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst imageIds = innerBlockImages\n\t\t\t\t.map( ( imageBlock ) => imageBlock.attributes.id )\n\t\t\t\t.filter( ( id ) => id !== undefined );\n\n\t\t\tif ( imageIds.length === 0 ) {\n\t\t\t\treturn EMPTY_IMAGE_MEDIA;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\tselect( coreStore ).getMediaItems( {\n\t\t\t\t\tinclude: imageIds.join( ',' ),\n\t\t\t\t\tper_page: imageIds.length,\n\t\t\t\t\torderby: 'include',\n\t\t\t\t} ) ?? EMPTY_IMAGE_MEDIA\n\t\t\t);\n\t\t},\n\t\t[ innerBlockImages ]\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/use-get-media.js"],"names":["EMPTY_IMAGE_MEDIA","useGetMedia","innerBlockImages","select","imageIds","map","imageBlock","attributes","id","filter","undefined","length","coreStore","getMediaItems","include","join","per_page","orderby"],"mappings":";;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIA,MAAMA,iBAAiB,GAAG,EAA1B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAASC,WAAT,CAAsBC,gBAAtB,EAAyC;AACvD,SAAO,qBACJC,MAAF,IAAc;AAAA;;AACb,UAAMC,QAAQ,GAAGF,gBAAgB,CAC/BG,GADe,CACRC,UAAF,IAAkBA,UAAU,CAACC,UAAX,CAAsBC,EAD9B,EAEfC,MAFe,CAELD,EAAF,IAAUA,EAAE,KAAKE,SAFV,CAAjB;;AAIA,QAAKN,QAAQ,CAACO,MAAT,KAAoB,CAAzB,EAA6B;AAC5B,aAAOX,iBAAP;AACA;;AAED,oCACCG,MAAM,CAAES,eAAF,CAAN,CAAoBC,aAApB,CAAmC;AAClCC,MAAAA,OAAO,EAAEV,QAAQ,CAACW,IAAT,CAAe,GAAf,CADyB;AAElCC,MAAAA,QAAQ,EAAE,CAAC,CAFuB;AAGlCC,MAAAA,OAAO,EAAE;AAHyB,KAAnC,CADD,yEAKQjB,iBALR;AAOA,GAjBK,EAkBN,CAAEE,gBAAF,CAlBM,CAAP;AAoBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\nconst EMPTY_IMAGE_MEDIA = [];\n\n/**\n * Retrieves the extended media info for each gallery image from the store. This is used to\n * determine which image size options are available for the current gallery.\n *\n * @param {Array} innerBlockImages An array of the innerBlock images currently in the gallery.\n *\n * @return {Array} An array of media info options for each gallery image.\n */\nexport default function useGetMedia( innerBlockImages ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst imageIds = innerBlockImages\n\t\t\t\t.map( ( imageBlock ) => imageBlock.attributes.id )\n\t\t\t\t.filter( ( id ) => id !== undefined );\n\n\t\t\tif ( imageIds.length === 0 ) {\n\t\t\t\treturn EMPTY_IMAGE_MEDIA;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\tselect( coreStore ).getMediaItems( {\n\t\t\t\t\tinclude: imageIds.join( ',' ),\n\t\t\t\t\tper_page: -1,\n\t\t\t\t\torderby: 'include',\n\t\t\t\t} ) ?? EMPTY_IMAGE_MEDIA\n\t\t\t);\n\t\t},\n\t\t[ innerBlockImages ]\n\t);\n}\n"]}
@@ -51,7 +51,9 @@ function useGetMedia(innerBlockImages) {
51
51
 
52
52
  return (_select$getMediaItems = select(_coreData.store).getMediaItems({
53
53
  include: imageIds.join(','),
54
- per_page: imageIds.length,
54
+ per_page: imageIds.length
55
+ /* 'hard' limit necessary as unbounded queries aren't supported on native */
56
+ ,
55
57
  orderby: 'include'
56
58
  })) !== null && _select$getMediaItems !== void 0 ? _select$getMediaItems : EMPTY_IMAGE_MEDIA;
57
59
  }, [innerBlockImages]);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/use-get-media.native.js"],"names":["EMPTY_IMAGE_MEDIA","useGetMedia","innerBlockImages","select","imagesUploading","some","attributes","url","indexOf","imageIds","filter","id","undefined","map","imageBlock","length","coreStore","getMediaItems","include","join","per_page","orderby"],"mappings":";;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIA,MAAMA,iBAAiB,GAAG,EAA1B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAASC,WAAT,CAAsBC,gBAAtB,EAAyC;AACvD,SAAO,qBACJC,MAAF,IAAc;AAAA;;AACb,UAAMC,eAAe,GAAGF,gBAAgB,CAACG,IAAjB,CACvB;AAAA;;AAAA,UAAE;AAAEC,QAAAA;AAAF,OAAF;AAAA,aAAsB,CAAAA,UAAU,SAAV,IAAAA,UAAU,WAAV,+BAAAA,UAAU,CAAEC,GAAZ,oEAAiBC,OAAjB,CAA0B,OAA1B,OAAwC,CAA9D;AAAA,KADuB,CAAxB;AAGA,UAAMC,QAAQ,GAAGP,gBAAgB,CAC/BQ,MADe,CACP,SAAsB;AAAA,UAApB;AAAEJ,QAAAA;AAAF,OAAoB;AAC9B,YAAM;AAAEK,QAAAA,EAAF;AAAMJ,QAAAA;AAAN,UAAcD,UAApB;AACA,aAAOK,EAAE,KAAKC,SAAP,IAAoB,CAAAL,GAAG,SAAH,IAAAA,GAAG,WAAH,YAAAA,GAAG,CAAEC,OAAL,CAAc,OAAd,OAA4B,CAAvD;AACA,KAJe,EAKfK,GALe,CAKRC,UAAF,IAAkBA,UAAU,CAACR,UAAX,CAAsBK,EAL9B,CAAjB;;AAOA,QAAKF,QAAQ,CAACM,MAAT,KAAoB,CAApB,IAAyBX,eAA9B,EAAgD;AAC/C,aAAOJ,iBAAP;AACA;;AAED,oCACCG,MAAM,CAAEa,eAAF,CAAN,CAAoBC,aAApB,CAAmC;AAClCC,MAAAA,OAAO,EAAET,QAAQ,CAACU,IAAT,CAAe,GAAf,CADyB;AAElCC,MAAAA,QAAQ,EAAEX,QAAQ,CAACM,MAFe;AAGlCM,MAAAA,OAAO,EAAE;AAHyB,KAAnC,CADD,yEAKQrB,iBALR;AAOA,GAvBK,EAwBN,CAAEE,gBAAF,CAxBM,CAAP;AA0BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\nconst EMPTY_IMAGE_MEDIA = [];\n\n/**\n * Retrieves the extended media info for each gallery image from the store. This is used to\n * determine which image size options are available for the current gallery.\n *\n * @param {Array} innerBlockImages An array of the innerBlock images currently in the gallery.\n *\n * @return {Array} An array of media info options for each gallery image.\n */\nexport default function useGetMedia( innerBlockImages ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst imagesUploading = innerBlockImages.some(\n\t\t\t\t( { attributes } ) => attributes?.url?.indexOf( 'file:' ) === 0\n\t\t\t);\n\t\t\tconst imageIds = innerBlockImages\n\t\t\t\t.filter( ( { attributes } ) => {\n\t\t\t\t\tconst { id, url } = attributes;\n\t\t\t\t\treturn id !== undefined && url?.indexOf( 'file:' ) !== 0;\n\t\t\t\t} )\n\t\t\t\t.map( ( imageBlock ) => imageBlock.attributes.id );\n\n\t\t\tif ( imageIds.length === 0 || imagesUploading ) {\n\t\t\t\treturn EMPTY_IMAGE_MEDIA;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\tselect( coreStore ).getMediaItems( {\n\t\t\t\t\tinclude: imageIds.join( ',' ),\n\t\t\t\t\tper_page: imageIds.length,\n\t\t\t\t\torderby: 'include',\n\t\t\t\t} ) ?? EMPTY_IMAGE_MEDIA\n\t\t\t);\n\t\t},\n\t\t[ innerBlockImages ]\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/use-get-media.native.js"],"names":["EMPTY_IMAGE_MEDIA","useGetMedia","innerBlockImages","select","imagesUploading","some","attributes","url","indexOf","imageIds","filter","id","undefined","map","imageBlock","length","coreStore","getMediaItems","include","join","per_page","orderby"],"mappings":";;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIA,MAAMA,iBAAiB,GAAG,EAA1B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAASC,WAAT,CAAsBC,gBAAtB,EAAyC;AACvD,SAAO,qBACJC,MAAF,IAAc;AAAA;;AACb,UAAMC,eAAe,GAAGF,gBAAgB,CAACG,IAAjB,CACvB;AAAA;;AAAA,UAAE;AAAEC,QAAAA;AAAF,OAAF;AAAA,aAAsB,CAAAA,UAAU,SAAV,IAAAA,UAAU,WAAV,+BAAAA,UAAU,CAAEC,GAAZ,oEAAiBC,OAAjB,CAA0B,OAA1B,OAAwC,CAA9D;AAAA,KADuB,CAAxB;AAGA,UAAMC,QAAQ,GAAGP,gBAAgB,CAC/BQ,MADe,CACP,SAAsB;AAAA,UAApB;AAAEJ,QAAAA;AAAF,OAAoB;AAC9B,YAAM;AAAEK,QAAAA,EAAF;AAAMJ,QAAAA;AAAN,UAAcD,UAApB;AACA,aAAOK,EAAE,KAAKC,SAAP,IAAoB,CAAAL,GAAG,SAAH,IAAAA,GAAG,WAAH,YAAAA,GAAG,CAAEC,OAAL,CAAc,OAAd,OAA4B,CAAvD;AACA,KAJe,EAKfK,GALe,CAKRC,UAAF,IAAkBA,UAAU,CAACR,UAAX,CAAsBK,EAL9B,CAAjB;;AAOA,QAAKF,QAAQ,CAACM,MAAT,KAAoB,CAApB,IAAyBX,eAA9B,EAAgD;AAC/C,aAAOJ,iBAAP;AACA;;AAED,oCACCG,MAAM,CAAEa,eAAF,CAAN,CAAoBC,aAApB,CAAmC;AAClCC,MAAAA,OAAO,EAAET,QAAQ,CAACU,IAAT,CAAe,GAAf,CADyB;AAElCC,MAAAA,QAAQ,EACPX,QAAQ,CAACM;AAAO;AAHiB;AAIlCM,MAAAA,OAAO,EAAE;AAJyB,KAAnC,CADD,yEAMQrB,iBANR;AAQA,GAxBK,EAyBN,CAAEE,gBAAF,CAzBM,CAAP;AA2BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\nconst EMPTY_IMAGE_MEDIA = [];\n\n/**\n * Retrieves the extended media info for each gallery image from the store. This is used to\n * determine which image size options are available for the current gallery.\n *\n * @param {Array} innerBlockImages An array of the innerBlock images currently in the gallery.\n *\n * @return {Array} An array of media info options for each gallery image.\n */\nexport default function useGetMedia( innerBlockImages ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst imagesUploading = innerBlockImages.some(\n\t\t\t\t( { attributes } ) => attributes?.url?.indexOf( 'file:' ) === 0\n\t\t\t);\n\t\t\tconst imageIds = innerBlockImages\n\t\t\t\t.filter( ( { attributes } ) => {\n\t\t\t\t\tconst { id, url } = attributes;\n\t\t\t\t\treturn id !== undefined && url?.indexOf( 'file:' ) !== 0;\n\t\t\t\t} )\n\t\t\t\t.map( ( imageBlock ) => imageBlock.attributes.id );\n\n\t\t\tif ( imageIds.length === 0 || imagesUploading ) {\n\t\t\t\treturn EMPTY_IMAGE_MEDIA;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\tselect( coreStore ).getMediaItems( {\n\t\t\t\t\tinclude: imageIds.join( ',' ),\n\t\t\t\t\tper_page:\n\t\t\t\t\t\timageIds.length /* 'hard' limit necessary as unbounded queries aren't supported on native */,\n\t\t\t\t\torderby: 'include',\n\t\t\t\t} ) ?? EMPTY_IMAGE_MEDIA\n\t\t\t);\n\t\t},\n\t\t[ innerBlockImages ]\n\t);\n}\n"]}
@@ -114,13 +114,15 @@ function GalleryEdit(props) {
114
114
  });
115
115
  const resizedImages = (0, _element.useMemo)(() => {
116
116
  if (isSelected) {
117
- return (0, _lodash.reduce)(attributes.ids, (currentResizedImages, id) => {
117
+ var _attributes$ids;
118
+
119
+ return ((_attributes$ids = attributes.ids) !== null && _attributes$ids !== void 0 ? _attributes$ids : []).reduce((currentResizedImages, id) => {
118
120
  if (!id) {
119
121
  return currentResizedImages;
120
122
  }
121
123
 
122
124
  const image = getMedia(id);
123
- const sizes = (0, _lodash.reduce)(imageSizes, (currentSizes, size) => {
125
+ const sizes = imageSizes.reduce((currentSizes, size) => {
124
126
  const defaultUrl = (0, _lodash.get)(image, ['sizes', size.slug, 'url']);
125
127
  const mediaDetailsUrl = (0, _lodash.get)(image, ['media_details', 'sizes', size.slug, 'source_url']);
126
128
  return { ...currentSizes,
@@ -205,7 +207,7 @@ function GalleryEdit(props) {
205
207
 
206
208
  function onRemoveImage(index) {
207
209
  return () => {
208
- const newImages = (0, _lodash.filter)(images, (img, i) => index !== i);
210
+ const newImages = images.filter((img, i) => index !== i);
209
211
  setSelectedImage();
210
212
  setAttributes({
211
213
  images: newImages,
@@ -219,8 +221,11 @@ function GalleryEdit(props) {
219
221
  // string, so ensure comparison works correctly by converting the
220
222
  // newImage.id to a string.
221
223
  const newImageId = newImage.id.toString();
222
- const currentImage = (0, _lodash.find)(images, {
223
- id: newImageId
224
+ const currentImage = images.find(_ref2 => {
225
+ let {
226
+ id
227
+ } = _ref2;
228
+ return id === newImageId;
224
229
  });
225
230
  const currentImageCaption = currentImage ? currentImage.caption : newImage.caption;
226
231
 
@@ -228,8 +233,11 @@ function GalleryEdit(props) {
228
233
  return currentImageCaption;
229
234
  }
230
235
 
231
- const attachment = (0, _lodash.find)(attachmentCaptions, {
232
- id: newImageId
236
+ const attachment = attachmentCaptions.find(_ref3 => {
237
+ let {
238
+ id
239
+ } = _ref3;
240
+ return id === newImageId;
233
241
  }); // If the attachment caption is updated.
234
242
 
235
243
  if (attachment && attachment.caption !== newImage.caption) {
@@ -299,16 +307,16 @@ function GalleryEdit(props) {
299
307
 
300
308
  function getImagesSizeOptions() {
301
309
  const resizedImageSizes = Object.values(resizedImages);
302
- return (0, _lodash.map)((0, _lodash.filter)(imageSizes, _ref2 => {
310
+ return (0, _lodash.map)(imageSizes.filter(_ref4 => {
303
311
  let {
304
312
  slug
305
- } = _ref2;
313
+ } = _ref4;
306
314
  return resizedImageSizes.some(sizes => sizes[slug]);
307
- }), _ref3 => {
315
+ }), _ref5 => {
308
316
  let {
309
317
  name,
310
318
  slug
311
- } = _ref3;
319
+ } = _ref5;
312
320
  return {
313
321
  value: slug,
314
322
  label: name
@@ -336,22 +344,22 @@ function GalleryEdit(props) {
336
344
  }
337
345
 
338
346
  (0, _element.useEffect)(() => {
339
- if (_element.Platform.OS === 'web' && images && images.length > 0 && images.every(_ref4 => {
347
+ if (_element.Platform.OS === 'web' && images && images.length > 0 && images.every(_ref6 => {
340
348
  let {
341
349
  url
342
- } = _ref4;
350
+ } = _ref6;
343
351
  return (0, _blob.isBlobURL)(url);
344
352
  })) {
345
- const filesList = (0, _lodash.map)(images, _ref5 => {
353
+ const filesList = (0, _lodash.map)(images, _ref7 => {
346
354
  let {
347
355
  url
348
- } = _ref5;
356
+ } = _ref7;
349
357
  return (0, _blob.getBlobByURL)(url);
350
358
  });
351
- images.forEach(_ref6 => {
359
+ images.forEach(_ref8 => {
352
360
  let {
353
361
  url
354
- } = _ref6;
362
+ } = _ref8;
355
363
  return (0, _blob.revokeBlobURL)(url);
356
364
  });
357
365
  mediaUpload({
@@ -412,6 +420,7 @@ function GalleryEdit(props) {
412
420
  return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
413
421
  title: (0, _i18n.__)('Settings')
414
422
  }, images.length > 1 && (0, _element.createElement)(_components.RangeControl, (0, _extends2.default)({
423
+ __nextHasNoMarginBottom: true,
415
424
  label: (0, _i18n.__)('Columns'),
416
425
  value: columns,
417
426
  onChange: setColumnsNumber,