@wordpress/block-library 7.12.2-next.d6164808d3.0 → 7.14.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 (1627) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/README.md +67 -61
  3. package/babel-plugin.js +1 -1
  4. package/build/archives/index.js +24 -1
  5. package/build/archives/index.js.map +1 -1
  6. package/build/archives/init.js +16 -0
  7. package/build/archives/init.js.map +1 -0
  8. package/build/audio/edit.js +10 -7
  9. package/build/audio/edit.js.map +1 -1
  10. package/build/audio/index.js +17 -9
  11. package/build/audio/index.js.map +1 -1
  12. package/build/audio/init.js +16 -0
  13. package/build/audio/init.js.map +1 -0
  14. package/build/audio/transforms.native.js +1 -1
  15. package/build/audio/transforms.native.js.map +1 -1
  16. package/build/avatar/index.js +13 -2
  17. package/build/avatar/index.js.map +1 -1
  18. package/build/avatar/init.js +16 -0
  19. package/build/avatar/init.js.map +1 -0
  20. package/build/block/edit.js +1 -4
  21. package/build/block/edit.js.map +1 -1
  22. package/build/block/index.js +11 -1
  23. package/build/block/index.js.map +1 -1
  24. package/build/block/init.js +16 -0
  25. package/build/block/init.js.map +1 -0
  26. package/build/button/edit.js +1 -1
  27. package/build/button/edit.js.map +1 -1
  28. package/build/button/index.js +16 -1
  29. package/build/button/index.js.map +1 -1
  30. package/build/button/init.js +16 -0
  31. package/build/button/init.js.map +1 -0
  32. package/build/buttons/edit.js +22 -4
  33. package/build/buttons/edit.js.map +1 -1
  34. package/build/buttons/index.js +24 -1
  35. package/build/buttons/index.js.map +1 -1
  36. package/build/buttons/init.js +16 -0
  37. package/build/buttons/init.js.map +1 -0
  38. package/build/buttons/save.js +27 -2
  39. package/build/buttons/save.js.map +1 -1
  40. package/build/buttons/transforms.js +13 -0
  41. package/build/buttons/transforms.js.map +1 -1
  42. package/build/buttons/transforms.native.js +1 -1
  43. package/build/buttons/transforms.native.js.map +1 -1
  44. package/build/calendar/index.js +24 -2
  45. package/build/calendar/index.js.map +1 -1
  46. package/build/calendar/init.js +16 -0
  47. package/build/calendar/init.js.map +1 -0
  48. package/build/categories/edit.js +26 -20
  49. package/build/categories/edit.js.map +1 -1
  50. package/build/categories/index.js +15 -1
  51. package/build/categories/index.js.map +1 -1
  52. package/build/categories/init.js +16 -0
  53. package/build/categories/init.js.map +1 -0
  54. package/build/code/index.js +11 -1
  55. package/build/code/index.js.map +1 -1
  56. package/build/code/init.js +16 -0
  57. package/build/code/init.js.map +1 -0
  58. package/build/code/transforms.js +12 -0
  59. package/build/code/transforms.js.map +1 -1
  60. package/build/code/transforms.native.js +1 -1
  61. package/build/code/transforms.native.js.map +1 -1
  62. package/build/column/edit.js +1 -1
  63. package/build/column/edit.js.map +1 -1
  64. package/build/column/index.js +12 -2
  65. package/build/column/index.js.map +1 -1
  66. package/build/column/init.js +16 -0
  67. package/build/column/init.js.map +1 -0
  68. package/build/columns/index.js +13 -2
  69. package/build/columns/index.js.map +1 -1
  70. package/build/columns/init.js +16 -0
  71. package/build/columns/init.js.map +1 -0
  72. package/build/columns/transforms.js +10 -1
  73. package/build/columns/transforms.js.map +1 -1
  74. package/build/columns/transforms.native.js +1 -1
  75. package/build/columns/transforms.native.js.map +1 -1
  76. package/build/comment-author-avatar/index.js +11 -1
  77. package/build/comment-author-avatar/index.js.map +1 -1
  78. package/build/comment-author-avatar/init.js +16 -0
  79. package/build/comment-author-avatar/init.js.map +1 -0
  80. package/build/comment-author-name/index.js +11 -1
  81. package/build/comment-author-name/index.js.map +1 -1
  82. package/build/comment-author-name/init.js +16 -0
  83. package/build/comment-author-name/init.js.map +1 -0
  84. package/build/comment-content/index.js +11 -1
  85. package/build/comment-content/index.js.map +1 -1
  86. package/build/comment-content/init.js +16 -0
  87. package/build/comment-content/init.js.map +1 -0
  88. package/build/comment-date/edit.js +1 -1
  89. package/build/comment-date/edit.js.map +1 -1
  90. package/build/comment-date/index.js +15 -1
  91. package/build/comment-date/index.js.map +1 -1
  92. package/build/comment-date/init.js +16 -0
  93. package/build/comment-date/init.js.map +1 -0
  94. package/build/comment-edit-link/index.js +15 -1
  95. package/build/comment-edit-link/index.js.map +1 -1
  96. package/build/comment-edit-link/init.js +16 -0
  97. package/build/comment-edit-link/init.js.map +1 -0
  98. package/build/comment-reply-link/index.js +15 -1
  99. package/build/comment-reply-link/index.js.map +1 -1
  100. package/build/comment-reply-link/init.js +16 -0
  101. package/build/comment-reply-link/init.js.map +1 -0
  102. package/build/comment-template/index.js +11 -1
  103. package/build/comment-template/index.js.map +1 -1
  104. package/build/comment-template/init.js +16 -0
  105. package/build/comment-template/init.js.map +1 -0
  106. package/build/comments/edit/comments-legacy.js +1 -1
  107. package/build/comments/edit/comments-legacy.js.map +1 -1
  108. package/build/comments/index.js +11 -1
  109. package/build/comments/index.js.map +1 -1
  110. package/build/comments/init.js +16 -0
  111. package/build/comments/init.js.map +1 -0
  112. package/build/comments-pagination/edit.js +2 -1
  113. package/build/comments-pagination/edit.js.map +1 -1
  114. package/build/comments-pagination/index.js +11 -1
  115. package/build/comments-pagination/index.js.map +1 -1
  116. package/build/comments-pagination/init.js +16 -0
  117. package/build/comments-pagination/init.js.map +1 -0
  118. package/build/comments-pagination-next/index.js +11 -1
  119. package/build/comments-pagination-next/index.js.map +1 -1
  120. package/build/comments-pagination-next/init.js +16 -0
  121. package/build/comments-pagination-next/init.js.map +1 -0
  122. package/build/comments-pagination-numbers/index.js +11 -1
  123. package/build/comments-pagination-numbers/index.js.map +1 -1
  124. package/build/comments-pagination-numbers/init.js +16 -0
  125. package/build/comments-pagination-numbers/init.js.map +1 -0
  126. package/build/comments-pagination-previous/index.js +11 -1
  127. package/build/comments-pagination-previous/index.js.map +1 -1
  128. package/build/comments-pagination-previous/init.js +16 -0
  129. package/build/comments-pagination-previous/init.js.map +1 -0
  130. package/build/comments-title/index.js +11 -1
  131. package/build/comments-title/index.js.map +1 -1
  132. package/build/comments-title/init.js +16 -0
  133. package/build/comments-title/init.js.map +1 -0
  134. package/build/cover/index.js +12 -2
  135. package/build/cover/index.js.map +1 -1
  136. package/build/cover/init.js +16 -0
  137. package/build/cover/init.js.map +1 -0
  138. package/build/cover/transforms.native.js +1 -1
  139. package/build/cover/transforms.native.js.map +1 -1
  140. package/build/embed/deprecated.js +1 -6
  141. package/build/embed/deprecated.js.map +1 -1
  142. package/build/embed/index.js +12 -7
  143. package/build/embed/index.js.map +1 -1
  144. package/build/embed/init.js +16 -0
  145. package/build/embed/init.js.map +1 -0
  146. package/build/embed/transforms.js +1 -6
  147. package/build/embed/transforms.js.map +1 -1
  148. package/build/embed/transforms.native.js +1 -1
  149. package/build/embed/transforms.native.js.map +1 -1
  150. package/build/embed/util.js +1 -6
  151. package/build/embed/util.js.map +1 -1
  152. package/build/file/deprecated.js +115 -3
  153. package/build/file/deprecated.js.map +1 -1
  154. package/build/file/edit.js +7 -7
  155. package/build/file/edit.js.map +1 -1
  156. package/build/file/index.js +11 -1
  157. package/build/file/index.js.map +1 -1
  158. package/build/file/init.js +16 -0
  159. package/build/file/init.js.map +1 -0
  160. package/build/file/save.js +1 -5
  161. package/build/file/save.js.map +1 -1
  162. package/build/file/transforms.native.js +1 -1
  163. package/build/file/transforms.native.js.map +1 -1
  164. package/build/freeform/index.js +11 -1
  165. package/build/freeform/index.js.map +1 -1
  166. package/build/freeform/init.js +16 -0
  167. package/build/freeform/init.js.map +1 -0
  168. package/build/gallery/edit.js +11 -12
  169. package/build/gallery/edit.js.map +1 -1
  170. package/build/gallery/gap-styles.js +5 -4
  171. package/build/gallery/gap-styles.js.map +1 -1
  172. package/build/gallery/index.js +13 -1
  173. package/build/gallery/index.js.map +1 -1
  174. package/build/gallery/init.js +16 -0
  175. package/build/gallery/init.js.map +1 -0
  176. package/build/gallery/transforms.native.js +1 -1
  177. package/build/gallery/transforms.native.js.map +1 -1
  178. package/build/gallery/v1/edit.js +1 -1
  179. package/build/gallery/v1/edit.js.map +1 -1
  180. package/build/gallery/v1/gallery-image.js +10 -2
  181. package/build/gallery/v1/gallery-image.js.map +1 -1
  182. package/build/group/index.js +12 -2
  183. package/build/group/index.js.map +1 -1
  184. package/build/group/init.js +16 -0
  185. package/build/group/init.js.map +1 -0
  186. package/build/heading/index.js +12 -1
  187. package/build/heading/index.js.map +1 -1
  188. package/build/heading/init.js +16 -0
  189. package/build/heading/init.js.map +1 -0
  190. package/build/heading/transforms.js +1 -0
  191. package/build/heading/transforms.js.map +1 -1
  192. package/build/heading/transforms.native.js +1 -1
  193. package/build/heading/transforms.native.js.map +1 -1
  194. package/build/home-link/index.js +25 -2
  195. package/build/home-link/index.js.map +1 -1
  196. package/build/home-link/init.js +16 -0
  197. package/build/home-link/init.js.map +1 -0
  198. package/build/html/index.js +11 -1
  199. package/build/html/index.js.map +1 -1
  200. package/build/html/init.js +16 -0
  201. package/build/html/init.js.map +1 -0
  202. package/build/image/edit.js +30 -14
  203. package/build/image/edit.js.map +1 -1
  204. package/build/image/image.js +5 -4
  205. package/build/image/image.js.map +1 -1
  206. package/build/image/index.js +11 -6
  207. package/build/image/index.js.map +1 -1
  208. package/build/image/init.js +16 -0
  209. package/build/image/init.js.map +1 -0
  210. package/build/image/transforms.js +2 -1
  211. package/build/image/transforms.js.map +1 -1
  212. package/build/image/transforms.native.js +1 -1
  213. package/build/image/transforms.native.js.map +1 -1
  214. package/build/image/use-client-width.js +3 -1
  215. package/build/image/use-client-width.js.map +1 -1
  216. package/build/index.js +19 -32
  217. package/build/index.js.map +1 -1
  218. package/build/index.native.js +11 -57
  219. package/build/index.native.js.map +1 -1
  220. package/build/latest-comments/index.js +11 -1
  221. package/build/latest-comments/index.js.map +1 -1
  222. package/build/latest-comments/init.js +16 -0
  223. package/build/latest-comments/init.js.map +1 -0
  224. package/build/latest-posts/deprecated.js +14 -1
  225. package/build/latest-posts/deprecated.js.map +1 -1
  226. package/build/latest-posts/edit.js +1 -1
  227. package/build/latest-posts/edit.js.map +1 -1
  228. package/build/latest-posts/index.js +25 -2
  229. package/build/latest-posts/index.js.map +1 -1
  230. package/build/latest-posts/init.js +16 -0
  231. package/build/latest-posts/init.js.map +1 -0
  232. package/build/list/deprecated.js +84 -1
  233. package/build/list/deprecated.js.map +1 -1
  234. package/build/list/edit.js +149 -135
  235. package/build/list/edit.js.map +1 -1
  236. package/build/list/index.js +46 -36
  237. package/build/list/index.js.map +1 -1
  238. package/build/list/init.js +16 -0
  239. package/build/list/init.js.map +1 -0
  240. package/build/list/save.js +1 -5
  241. package/build/list/save.js.map +1 -1
  242. package/build/list/{v2/tag-name.js → tag-name.js} +0 -0
  243. package/build/list/tag-name.js.map +1 -0
  244. package/build/list/{v2/tag-name.native.js → tag-name.native.js} +0 -0
  245. package/build/list/tag-name.native.js.map +1 -0
  246. package/build/list/transforms.js +61 -95
  247. package/build/list/transforms.js.map +1 -1
  248. package/build/list/transforms.native.js +1 -1
  249. package/build/list/transforms.native.js.map +1 -1
  250. package/build/list/{v2/migrate.js → utils.js} +9 -10
  251. package/build/list/utils.js.map +1 -0
  252. package/build/list-item/edit.native.js +45 -11
  253. package/build/list-item/edit.native.js.map +1 -1
  254. package/build/list-item/hooks/use-copy.js +2 -0
  255. package/build/list-item/hooks/use-copy.js.map +1 -1
  256. package/build/list-item/hooks/use-enter.native.js +81 -0
  257. package/build/list-item/hooks/use-enter.native.js.map +1 -0
  258. package/build/list-item/hooks/use-merge.js +0 -1
  259. package/build/list-item/hooks/use-merge.js.map +1 -1
  260. package/build/list-item/hooks/use-outdent-list-item.js +3 -4
  261. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  262. package/build/list-item/hooks/use-space.js +10 -1
  263. package/build/list-item/hooks/use-space.js.map +1 -1
  264. package/build/list-item/index.js +11 -2
  265. package/build/list-item/index.js.map +1 -1
  266. package/build/list-item/init.js +16 -0
  267. package/build/list-item/init.js.map +1 -0
  268. package/build/list-item/utils.js +8 -4
  269. package/build/list-item/utils.js.map +1 -1
  270. package/build/loginout/index.js +11 -1
  271. package/build/loginout/index.js.map +1 -1
  272. package/build/loginout/init.js +16 -0
  273. package/build/loginout/init.js.map +1 -0
  274. package/build/media-text/index.js +25 -6
  275. package/build/media-text/index.js.map +1 -1
  276. package/build/media-text/init.js +16 -0
  277. package/build/media-text/init.js.map +1 -0
  278. package/build/media-text/media-container.js +9 -6
  279. package/build/media-text/media-container.js.map +1 -1
  280. package/build/media-text/transforms.native.js +1 -1
  281. package/build/media-text/transforms.native.js.map +1 -1
  282. package/build/missing/index.js +11 -1
  283. package/build/missing/index.js.map +1 -1
  284. package/build/missing/init.js +16 -0
  285. package/build/missing/init.js.map +1 -0
  286. package/build/more/index.js +11 -1
  287. package/build/more/index.js.map +1 -1
  288. package/build/more/init.js +16 -0
  289. package/build/more/init.js.map +1 -0
  290. package/build/more/transforms.native.js +1 -1
  291. package/build/more/transforms.native.js.map +1 -1
  292. package/build/navigation/edit/index.js +124 -71
  293. package/build/navigation/edit/index.js.map +1 -1
  294. package/build/navigation/edit/navigation-menu-selector.js +85 -31
  295. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  296. package/build/navigation/edit/overlay-menu-icon.js +21 -1
  297. package/build/navigation/edit/overlay-menu-icon.js.map +1 -1
  298. package/build/navigation/edit/overlay-menu-preview.js +71 -0
  299. package/build/navigation/edit/overlay-menu-preview.js.map +1 -0
  300. package/build/navigation/edit/responsive-wrapper.js +11 -6
  301. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  302. package/build/navigation/edit/unsaved-inner-blocks.js +4 -15
  303. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  304. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +21 -1
  305. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  306. package/build/navigation/edit/use-create-navigation-menu.js +2 -1
  307. package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
  308. package/build/navigation/index.js +16 -1
  309. package/build/navigation/index.js.map +1 -1
  310. package/build/navigation/init.js +16 -0
  311. package/build/navigation/init.js.map +1 -0
  312. package/build/navigation/use-navigation-menu.js +7 -6
  313. package/build/navigation/use-navigation-menu.js.map +1 -1
  314. package/build/navigation-link/edit.js +15 -2
  315. package/build/navigation-link/edit.js.map +1 -1
  316. package/build/navigation-link/index.js +29 -5
  317. package/build/navigation-link/index.js.map +1 -1
  318. package/build/navigation-link/init.js +16 -0
  319. package/build/navigation-link/init.js.map +1 -0
  320. package/build/navigation-submenu/edit.js +1 -1
  321. package/build/navigation-submenu/edit.js.map +1 -1
  322. package/build/navigation-submenu/index.js +11 -1
  323. package/build/navigation-submenu/index.js.map +1 -1
  324. package/build/navigation-submenu/init.js +16 -0
  325. package/build/navigation-submenu/init.js.map +1 -0
  326. package/build/nextpage/index.js +11 -1
  327. package/build/nextpage/index.js.map +1 -1
  328. package/build/nextpage/init.js +16 -0
  329. package/build/nextpage/init.js.map +1 -0
  330. package/build/nextpage/transforms.native.js +1 -1
  331. package/build/nextpage/transforms.native.js.map +1 -1
  332. package/build/page-list/index.js +11 -1
  333. package/build/page-list/index.js.map +1 -1
  334. package/build/page-list/init.js +16 -0
  335. package/build/page-list/init.js.map +1 -0
  336. package/build/paragraph/index.js +13 -1
  337. package/build/paragraph/index.js.map +1 -1
  338. package/build/paragraph/init.js +16 -0
  339. package/build/paragraph/init.js.map +1 -0
  340. package/build/paragraph/transforms.js +2 -0
  341. package/build/paragraph/transforms.js.map +1 -1
  342. package/build/paragraph/transforms.native.js +1 -1
  343. package/build/paragraph/transforms.native.js.map +1 -1
  344. package/build/pattern/index.js +11 -1
  345. package/build/pattern/index.js.map +1 -1
  346. package/build/pattern/init.js +16 -0
  347. package/build/pattern/init.js.map +1 -0
  348. package/build/post-author/edit.js +1 -3
  349. package/build/post-author/edit.js.map +1 -1
  350. package/build/post-author/index.js +16 -2
  351. package/build/post-author/index.js.map +1 -1
  352. package/build/post-author/init.js +16 -0
  353. package/build/post-author/init.js.map +1 -0
  354. package/build/post-author-biography/index.js +16 -2
  355. package/build/post-author-biography/index.js.map +1 -1
  356. package/build/post-author-biography/init.js +16 -0
  357. package/build/post-author-biography/init.js.map +1 -0
  358. package/build/post-author-name/index.js +16 -2
  359. package/build/post-author-name/index.js.map +1 -1
  360. package/build/post-author-name/init.js +16 -0
  361. package/build/post-author-name/init.js.map +1 -0
  362. package/build/post-comment/index.js +11 -1
  363. package/build/post-comment/index.js.map +1 -1
  364. package/build/post-comment/init.js +16 -0
  365. package/build/post-comment/init.js.map +1 -0
  366. package/build/post-comments-count/index.js +11 -1
  367. package/build/post-comments-count/index.js.map +1 -1
  368. package/build/post-comments-count/init.js +16 -0
  369. package/build/post-comments-count/init.js.map +1 -0
  370. package/build/post-comments-form/index.js +11 -1
  371. package/build/post-comments-form/index.js.map +1 -1
  372. package/build/post-comments-form/init.js +16 -0
  373. package/build/post-comments-form/init.js.map +1 -0
  374. package/build/post-comments-link/index.js +11 -1
  375. package/build/post-comments-link/index.js.map +1 -1
  376. package/build/post-comments-link/init.js +16 -0
  377. package/build/post-comments-link/init.js.map +1 -0
  378. package/build/post-content/index.js +25 -2
  379. package/build/post-content/index.js.map +1 -1
  380. package/build/post-content/init.js +16 -0
  381. package/build/post-content/init.js.map +1 -0
  382. package/build/post-date/edit.js +1 -1
  383. package/build/post-date/edit.js.map +1 -1
  384. package/build/post-date/index.js +11 -1
  385. package/build/post-date/index.js.map +1 -1
  386. package/build/post-date/init.js +16 -0
  387. package/build/post-date/init.js.map +1 -0
  388. package/build/post-excerpt/index.js +15 -3
  389. package/build/post-excerpt/index.js.map +1 -1
  390. package/build/post-excerpt/init.js +16 -0
  391. package/build/post-excerpt/init.js.map +1 -0
  392. package/build/post-featured-image/edit.js +16 -2
  393. package/build/post-featured-image/edit.js.map +1 -1
  394. package/build/post-featured-image/index.js +27 -1
  395. package/build/post-featured-image/index.js.map +1 -1
  396. package/build/post-featured-image/init.js +16 -0
  397. package/build/post-featured-image/init.js.map +1 -0
  398. package/build/post-featured-image/overlay.js +118 -0
  399. package/build/post-featured-image/overlay.js.map +1 -0
  400. package/build/post-featured-image/utils.js +18 -0
  401. package/build/post-featured-image/utils.js.map +1 -0
  402. package/build/post-navigation-link/index.js +11 -1
  403. package/build/post-navigation-link/index.js.map +1 -1
  404. package/build/post-navigation-link/init.js +16 -0
  405. package/build/post-navigation-link/init.js.map +1 -0
  406. package/build/post-template/edit.js +37 -3
  407. package/build/post-template/edit.js.map +1 -1
  408. package/build/post-template/index.js +11 -1
  409. package/build/post-template/index.js.map +1 -1
  410. package/build/post-template/init.js +16 -0
  411. package/build/post-template/init.js.map +1 -0
  412. package/build/post-terms/edit.js +0 -1
  413. package/build/post-terms/edit.js.map +1 -1
  414. package/build/post-terms/index.js +15 -4
  415. package/build/post-terms/index.js.map +1 -1
  416. package/build/post-terms/init.js +16 -0
  417. package/build/post-terms/init.js.map +1 -0
  418. package/build/post-terms/use-post-terms.js +4 -24
  419. package/build/post-terms/use-post-terms.js.map +1 -1
  420. package/build/post-title/index.js +11 -1
  421. package/build/post-title/index.js.map +1 -1
  422. package/build/post-title/init.js +16 -0
  423. package/build/post-title/init.js.map +1 -0
  424. package/build/preformatted/index.js +11 -1
  425. package/build/preformatted/index.js.map +1 -1
  426. package/build/preformatted/init.js +16 -0
  427. package/build/preformatted/init.js.map +1 -0
  428. package/build/preformatted/transforms.native.js +1 -1
  429. package/build/preformatted/transforms.native.js.map +1 -1
  430. package/build/pullquote/index.js +11 -1
  431. package/build/pullquote/index.js.map +1 -1
  432. package/build/pullquote/init.js +16 -0
  433. package/build/pullquote/init.js.map +1 -0
  434. package/build/pullquote/transforms.native.js +1 -1
  435. package/build/pullquote/transforms.native.js.map +1 -1
  436. package/build/query/edit/inspector-controls/index.js +23 -26
  437. package/build/query/edit/inspector-controls/index.js.map +1 -1
  438. package/build/query/index.js +18 -5
  439. package/build/query/index.js.map +1 -1
  440. package/build/query/init.js +16 -0
  441. package/build/query/init.js.map +1 -0
  442. package/build/query/utils.js +117 -3
  443. package/build/query/utils.js.map +1 -1
  444. package/build/query-no-results/index.js +24 -1
  445. package/build/query-no-results/index.js.map +1 -1
  446. package/build/query-no-results/init.js +16 -0
  447. package/build/query-no-results/init.js.map +1 -0
  448. package/build/query-pagination/edit.js +2 -1
  449. package/build/query-pagination/edit.js.map +1 -1
  450. package/build/query-pagination/index.js +24 -1
  451. package/build/query-pagination/index.js.map +1 -1
  452. package/build/query-pagination/init.js +16 -0
  453. package/build/query-pagination/init.js.map +1 -0
  454. package/build/query-pagination-next/index.js +15 -3
  455. package/build/query-pagination-next/index.js.map +1 -1
  456. package/build/query-pagination-next/init.js +16 -0
  457. package/build/query-pagination-next/init.js.map +1 -0
  458. package/build/query-pagination-numbers/index.js +15 -3
  459. package/build/query-pagination-numbers/index.js.map +1 -1
  460. package/build/query-pagination-numbers/init.js +16 -0
  461. package/build/query-pagination-numbers/init.js.map +1 -0
  462. package/build/query-pagination-previous/index.js +15 -3
  463. package/build/query-pagination-previous/index.js.map +1 -1
  464. package/build/query-pagination-previous/init.js +16 -0
  465. package/build/query-pagination-previous/init.js.map +1 -0
  466. package/build/query-title/index.js +17 -2
  467. package/build/query-title/index.js.map +1 -1
  468. package/build/query-title/init.js +16 -0
  469. package/build/query-title/init.js.map +1 -0
  470. package/build/quote/index.js +15 -3
  471. package/build/quote/index.js.map +1 -1
  472. package/build/quote/init.js +16 -0
  473. package/build/quote/init.js.map +1 -0
  474. package/build/quote/transforms.js +7 -0
  475. package/build/quote/transforms.js.map +1 -1
  476. package/build/quote/transforms.native.js +1 -1
  477. package/build/quote/transforms.native.js.map +1 -1
  478. package/build/read-more/index.js +11 -1
  479. package/build/read-more/index.js.map +1 -1
  480. package/build/read-more/init.js +16 -0
  481. package/build/read-more/init.js.map +1 -0
  482. package/build/rss/index.js +11 -1
  483. package/build/rss/index.js.map +1 -1
  484. package/build/rss/init.js +16 -0
  485. package/build/rss/init.js.map +1 -0
  486. package/build/search/edit.js +19 -8
  487. package/build/search/edit.js.map +1 -1
  488. package/build/search/index.js +26 -1
  489. package/build/search/index.js.map +1 -1
  490. package/build/search/init.js +16 -0
  491. package/build/search/init.js.map +1 -0
  492. package/build/separator/index.js +11 -1
  493. package/build/separator/index.js.map +1 -1
  494. package/build/separator/init.js +16 -0
  495. package/build/separator/init.js.map +1 -0
  496. package/build/separator/transforms.native.js +1 -1
  497. package/build/separator/transforms.native.js.map +1 -1
  498. package/build/shortcode/index.js +11 -1
  499. package/build/shortcode/index.js.map +1 -1
  500. package/build/shortcode/init.js +16 -0
  501. package/build/shortcode/init.js.map +1 -0
  502. package/build/shortcode/transforms.native.js +1 -1
  503. package/build/shortcode/transforms.native.js.map +1 -1
  504. package/build/site-logo/index.js +15 -1
  505. package/build/site-logo/index.js.map +1 -1
  506. package/build/site-logo/init.js +16 -0
  507. package/build/site-logo/init.js.map +1 -0
  508. package/build/site-tagline/index.js +12 -1
  509. package/build/site-tagline/index.js.map +1 -1
  510. package/build/site-tagline/init.js +16 -0
  511. package/build/site-tagline/init.js.map +1 -0
  512. package/build/site-title/index.js +12 -1
  513. package/build/site-title/index.js.map +1 -1
  514. package/build/site-title/init.js +16 -0
  515. package/build/site-title/init.js.map +1 -0
  516. package/build/social-link/index.js +11 -1
  517. package/build/social-link/index.js.map +1 -1
  518. package/build/social-link/init.js +16 -0
  519. package/build/social-link/init.js.map +1 -0
  520. package/build/social-links/edit.js +43 -10
  521. package/build/social-links/edit.js.map +1 -1
  522. package/build/social-links/index.js +22 -2
  523. package/build/social-links/index.js.map +1 -1
  524. package/build/social-links/init.js +16 -0
  525. package/build/social-links/init.js.map +1 -0
  526. package/build/spacer/index.js +11 -1
  527. package/build/spacer/index.js.map +1 -1
  528. package/build/spacer/init.js +16 -0
  529. package/build/spacer/init.js.map +1 -0
  530. package/build/table/index.js +14 -7
  531. package/build/table/index.js.map +1 -1
  532. package/build/table/init.js +16 -0
  533. package/build/table/init.js.map +1 -0
  534. package/build/table-of-contents/index.js +24 -1
  535. package/build/table-of-contents/index.js.map +1 -1
  536. package/build/table-of-contents/init.js +16 -0
  537. package/build/table-of-contents/init.js.map +1 -0
  538. package/build/tag-cloud/index.js +11 -1
  539. package/build/tag-cloud/index.js.map +1 -1
  540. package/build/tag-cloud/init.js +16 -0
  541. package/build/tag-cloud/init.js.map +1 -0
  542. package/build/template-part/edit/index.js +1 -6
  543. package/build/template-part/edit/index.js.map +1 -1
  544. package/build/template-part/index.js +32 -21
  545. package/build/template-part/index.js.map +1 -1
  546. package/build/template-part/init.js +16 -0
  547. package/build/template-part/init.js.map +1 -0
  548. package/build/term-description/index.js +17 -1
  549. package/build/term-description/index.js.map +1 -1
  550. package/build/term-description/init.js +16 -0
  551. package/build/term-description/init.js.map +1 -0
  552. package/build/text-columns/index.js +11 -1
  553. package/build/text-columns/index.js.map +1 -1
  554. package/build/text-columns/init.js +16 -0
  555. package/build/text-columns/init.js.map +1 -0
  556. package/build/text-columns/transforms.native.js +1 -1
  557. package/build/text-columns/transforms.native.js.map +1 -1
  558. package/build/utils/init-block.js +37 -0
  559. package/build/utils/init-block.js.map +1 -0
  560. package/build/utils/init-block.native.js +51 -0
  561. package/build/utils/init-block.native.js.map +1 -0
  562. package/build/{is-block-metadata-experimental.js → utils/is-block-metadata-experimental.js} +0 -0
  563. package/build/utils/is-block-metadata-experimental.js.map +1 -0
  564. package/build/utils/migrate-font-family.js +11 -18
  565. package/build/utils/migrate-font-family.js.map +1 -1
  566. package/build/{transformationCategories.native.js → utils/transformation-categories.native.js} +1 -1
  567. package/build/utils/transformation-categories.native.js.map +1 -0
  568. package/build/verse/index.js +12 -1
  569. package/build/verse/index.js.map +1 -1
  570. package/build/verse/init.js +16 -0
  571. package/build/verse/init.js.map +1 -0
  572. package/build/verse/transforms.native.js +1 -1
  573. package/build/verse/transforms.native.js.map +1 -1
  574. package/build/video/edit.js +12 -11
  575. package/build/video/edit.js.map +1 -1
  576. package/build/video/index.js +18 -9
  577. package/build/video/index.js.map +1 -1
  578. package/build/video/init.js +16 -0
  579. package/build/video/init.js.map +1 -0
  580. package/build/video/transforms.native.js +1 -1
  581. package/build/video/transforms.native.js.map +1 -1
  582. package/build-module/archives/index.js +19 -0
  583. package/build-module/archives/index.js.map +1 -1
  584. package/build-module/archives/init.js +6 -0
  585. package/build-module/archives/init.js.map +1 -0
  586. package/build-module/audio/edit.js +11 -8
  587. package/build-module/audio/edit.js.map +1 -1
  588. package/build-module/audio/index.js +12 -8
  589. package/build-module/audio/index.js.map +1 -1
  590. package/build-module/audio/init.js +6 -0
  591. package/build-module/audio/init.js.map +1 -0
  592. package/build-module/audio/transforms.native.js +1 -1
  593. package/build-module/audio/transforms.native.js.map +1 -1
  594. package/build-module/avatar/index.js +8 -1
  595. package/build-module/avatar/index.js.map +1 -1
  596. package/build-module/avatar/init.js +6 -0
  597. package/build-module/avatar/init.js.map +1 -0
  598. package/build-module/block/edit.js +2 -5
  599. package/build-module/block/edit.js.map +1 -1
  600. package/build-module/block/index.js +6 -0
  601. package/build-module/block/index.js.map +1 -1
  602. package/build-module/block/init.js +6 -0
  603. package/build-module/block/init.js.map +1 -0
  604. package/build-module/button/edit.js +1 -1
  605. package/build-module/button/edit.js.map +1 -1
  606. package/build-module/button/index.js +11 -0
  607. package/build-module/button/index.js.map +1 -1
  608. package/build-module/button/init.js +6 -0
  609. package/build-module/button/init.js.map +1 -0
  610. package/build-module/buttons/edit.js +19 -4
  611. package/build-module/buttons/edit.js.map +1 -1
  612. package/build-module/buttons/index.js +19 -0
  613. package/build-module/buttons/index.js.map +1 -1
  614. package/build-module/buttons/init.js +6 -0
  615. package/build-module/buttons/init.js.map +1 -0
  616. package/build-module/buttons/save.js +22 -2
  617. package/build-module/buttons/save.js.map +1 -1
  618. package/build-module/buttons/transforms.js +13 -0
  619. package/build-module/buttons/transforms.js.map +1 -1
  620. package/build-module/buttons/transforms.native.js +1 -1
  621. package/build-module/buttons/transforms.native.js.map +1 -1
  622. package/build-module/calendar/index.js +19 -1
  623. package/build-module/calendar/index.js.map +1 -1
  624. package/build-module/calendar/init.js +6 -0
  625. package/build-module/calendar/init.js.map +1 -0
  626. package/build-module/categories/edit.js +23 -20
  627. package/build-module/categories/edit.js.map +1 -1
  628. package/build-module/categories/index.js +10 -0
  629. package/build-module/categories/index.js.map +1 -1
  630. package/build-module/categories/init.js +6 -0
  631. package/build-module/categories/init.js.map +1 -0
  632. package/build-module/code/index.js +6 -0
  633. package/build-module/code/index.js.map +1 -1
  634. package/build-module/code/init.js +6 -0
  635. package/build-module/code/init.js.map +1 -0
  636. package/build-module/code/transforms.js +12 -0
  637. package/build-module/code/transforms.js.map +1 -1
  638. package/build-module/code/transforms.native.js +1 -1
  639. package/build-module/code/transforms.native.js.map +1 -1
  640. package/build-module/column/edit.js +1 -1
  641. package/build-module/column/edit.js.map +1 -1
  642. package/build-module/column/index.js +7 -1
  643. package/build-module/column/index.js.map +1 -1
  644. package/build-module/column/init.js +6 -0
  645. package/build-module/column/init.js.map +1 -0
  646. package/build-module/columns/index.js +8 -1
  647. package/build-module/columns/index.js.map +1 -1
  648. package/build-module/columns/init.js +6 -0
  649. package/build-module/columns/init.js.map +1 -0
  650. package/build-module/columns/transforms.js +10 -1
  651. package/build-module/columns/transforms.js.map +1 -1
  652. package/build-module/columns/transforms.native.js +1 -1
  653. package/build-module/columns/transforms.native.js.map +1 -1
  654. package/build-module/comment-author-avatar/index.js +6 -0
  655. package/build-module/comment-author-avatar/index.js.map +1 -1
  656. package/build-module/comment-author-avatar/init.js +6 -0
  657. package/build-module/comment-author-avatar/init.js.map +1 -0
  658. package/build-module/comment-author-name/index.js +6 -0
  659. package/build-module/comment-author-name/index.js.map +1 -1
  660. package/build-module/comment-author-name/init.js +6 -0
  661. package/build-module/comment-author-name/init.js.map +1 -0
  662. package/build-module/comment-content/index.js +6 -0
  663. package/build-module/comment-content/index.js.map +1 -1
  664. package/build-module/comment-content/init.js +6 -0
  665. package/build-module/comment-content/init.js.map +1 -0
  666. package/build-module/comment-date/edit.js +1 -1
  667. package/build-module/comment-date/edit.js.map +1 -1
  668. package/build-module/comment-date/index.js +10 -0
  669. package/build-module/comment-date/index.js.map +1 -1
  670. package/build-module/comment-date/init.js +6 -0
  671. package/build-module/comment-date/init.js.map +1 -0
  672. package/build-module/comment-edit-link/index.js +10 -0
  673. package/build-module/comment-edit-link/index.js.map +1 -1
  674. package/build-module/comment-edit-link/init.js +6 -0
  675. package/build-module/comment-edit-link/init.js.map +1 -0
  676. package/build-module/comment-reply-link/index.js +10 -0
  677. package/build-module/comment-reply-link/index.js.map +1 -1
  678. package/build-module/comment-reply-link/init.js +6 -0
  679. package/build-module/comment-reply-link/init.js.map +1 -0
  680. package/build-module/comment-template/index.js +6 -0
  681. package/build-module/comment-template/index.js.map +1 -1
  682. package/build-module/comment-template/init.js +6 -0
  683. package/build-module/comment-template/init.js.map +1 -0
  684. package/build-module/comments/edit/comments-legacy.js +1 -1
  685. package/build-module/comments/edit/comments-legacy.js.map +1 -1
  686. package/build-module/comments/index.js +6 -0
  687. package/build-module/comments/index.js.map +1 -1
  688. package/build-module/comments/init.js +6 -0
  689. package/build-module/comments/init.js.map +1 -0
  690. package/build-module/comments-pagination/edit.js +2 -1
  691. package/build-module/comments-pagination/edit.js.map +1 -1
  692. package/build-module/comments-pagination/index.js +6 -0
  693. package/build-module/comments-pagination/index.js.map +1 -1
  694. package/build-module/comments-pagination/init.js +6 -0
  695. package/build-module/comments-pagination/init.js.map +1 -0
  696. package/build-module/comments-pagination-next/index.js +6 -0
  697. package/build-module/comments-pagination-next/index.js.map +1 -1
  698. package/build-module/comments-pagination-next/init.js +6 -0
  699. package/build-module/comments-pagination-next/init.js.map +1 -0
  700. package/build-module/comments-pagination-numbers/index.js +6 -0
  701. package/build-module/comments-pagination-numbers/index.js.map +1 -1
  702. package/build-module/comments-pagination-numbers/init.js +6 -0
  703. package/build-module/comments-pagination-numbers/init.js.map +1 -0
  704. package/build-module/comments-pagination-previous/index.js +6 -0
  705. package/build-module/comments-pagination-previous/index.js.map +1 -1
  706. package/build-module/comments-pagination-previous/init.js +6 -0
  707. package/build-module/comments-pagination-previous/init.js.map +1 -0
  708. package/build-module/comments-title/index.js +6 -0
  709. package/build-module/comments-title/index.js.map +1 -1
  710. package/build-module/comments-title/init.js +6 -0
  711. package/build-module/comments-title/init.js.map +1 -0
  712. package/build-module/cover/index.js +7 -1
  713. package/build-module/cover/index.js.map +1 -1
  714. package/build-module/cover/init.js +6 -0
  715. package/build-module/cover/init.js.map +1 -0
  716. package/build-module/cover/transforms.native.js +1 -1
  717. package/build-module/cover/transforms.native.js.map +1 -1
  718. package/build-module/embed/deprecated.js +1 -6
  719. package/build-module/embed/deprecated.js.map +1 -1
  720. package/build-module/embed/index.js +7 -6
  721. package/build-module/embed/index.js.map +1 -1
  722. package/build-module/embed/init.js +6 -0
  723. package/build-module/embed/init.js.map +1 -0
  724. package/build-module/embed/transforms.js +1 -6
  725. package/build-module/embed/transforms.js.map +1 -1
  726. package/build-module/embed/transforms.native.js +1 -1
  727. package/build-module/embed/transforms.native.js.map +1 -1
  728. package/build-module/embed/util.js +1 -6
  729. package/build-module/embed/util.js.map +1 -1
  730. package/build-module/file/deprecated.js +113 -4
  731. package/build-module/file/deprecated.js.map +1 -1
  732. package/build-module/file/edit.js +8 -7
  733. package/build-module/file/edit.js.map +1 -1
  734. package/build-module/file/index.js +6 -0
  735. package/build-module/file/index.js.map +1 -1
  736. package/build-module/file/init.js +6 -0
  737. package/build-module/file/init.js.map +1 -0
  738. package/build-module/file/save.js +1 -4
  739. package/build-module/file/save.js.map +1 -1
  740. package/build-module/file/transforms.native.js +1 -1
  741. package/build-module/file/transforms.native.js.map +1 -1
  742. package/build-module/freeform/index.js +6 -0
  743. package/build-module/freeform/index.js.map +1 -1
  744. package/build-module/freeform/init.js +6 -0
  745. package/build-module/freeform/init.js.map +1 -0
  746. package/build-module/gallery/edit.js +12 -13
  747. package/build-module/gallery/edit.js.map +1 -1
  748. package/build-module/gallery/gap-styles.js +6 -5
  749. package/build-module/gallery/gap-styles.js.map +1 -1
  750. package/build-module/gallery/index.js +8 -0
  751. package/build-module/gallery/index.js.map +1 -1
  752. package/build-module/gallery/init.js +6 -0
  753. package/build-module/gallery/init.js.map +1 -0
  754. package/build-module/gallery/transforms.native.js +1 -1
  755. package/build-module/gallery/transforms.native.js.map +1 -1
  756. package/build-module/gallery/v1/edit.js +2 -2
  757. package/build-module/gallery/v1/edit.js.map +1 -1
  758. package/build-module/gallery/v1/gallery-image.js +11 -3
  759. package/build-module/gallery/v1/gallery-image.js.map +1 -1
  760. package/build-module/group/index.js +7 -1
  761. package/build-module/group/index.js.map +1 -1
  762. package/build-module/group/init.js +6 -0
  763. package/build-module/group/init.js.map +1 -0
  764. package/build-module/heading/index.js +7 -0
  765. package/build-module/heading/index.js.map +1 -1
  766. package/build-module/heading/init.js +6 -0
  767. package/build-module/heading/init.js.map +1 -0
  768. package/build-module/heading/transforms.js +1 -0
  769. package/build-module/heading/transforms.js.map +1 -1
  770. package/build-module/heading/transforms.native.js +1 -1
  771. package/build-module/heading/transforms.native.js.map +1 -1
  772. package/build-module/home-link/index.js +20 -1
  773. package/build-module/home-link/index.js.map +1 -1
  774. package/build-module/home-link/init.js +6 -0
  775. package/build-module/home-link/init.js.map +1 -0
  776. package/build-module/html/index.js +6 -0
  777. package/build-module/html/index.js.map +1 -1
  778. package/build-module/html/init.js +6 -0
  779. package/build-module/html/init.js.map +1 -0
  780. package/build-module/image/edit.js +32 -16
  781. package/build-module/image/edit.js.map +1 -1
  782. package/build-module/image/image.js +5 -4
  783. package/build-module/image/image.js.map +1 -1
  784. package/build-module/image/index.js +6 -5
  785. package/build-module/image/index.js.map +1 -1
  786. package/build-module/image/init.js +6 -0
  787. package/build-module/image/init.js.map +1 -0
  788. package/build-module/image/transforms.js +2 -1
  789. package/build-module/image/transforms.js.map +1 -1
  790. package/build-module/image/transforms.native.js +1 -1
  791. package/build-module/image/transforms.native.js.map +1 -1
  792. package/build-module/image/use-client-width.js +3 -1
  793. package/build-module/image/use-client-width.js.map +1 -1
  794. package/build-module/index.js +20 -33
  795. package/build-module/index.js.map +1 -1
  796. package/build-module/index.native.js +9 -52
  797. package/build-module/index.native.js.map +1 -1
  798. package/build-module/latest-comments/index.js +6 -0
  799. package/build-module/latest-comments/index.js.map +1 -1
  800. package/build-module/latest-comments/init.js +6 -0
  801. package/build-module/latest-comments/init.js.map +1 -0
  802. package/build-module/latest-posts/deprecated.js +14 -1
  803. package/build-module/latest-posts/deprecated.js.map +1 -1
  804. package/build-module/latest-posts/edit.js +2 -4
  805. package/build-module/latest-posts/edit.js.map +1 -1
  806. package/build-module/latest-posts/index.js +20 -1
  807. package/build-module/latest-posts/index.js.map +1 -1
  808. package/build-module/latest-posts/init.js +6 -0
  809. package/build-module/latest-posts/init.js.map +1 -0
  810. package/build-module/list/deprecated.js +83 -1
  811. package/build-module/list/deprecated.js.map +1 -1
  812. package/build-module/list/edit.js +147 -134
  813. package/build-module/list/edit.js.map +1 -1
  814. package/build-module/list/index.js +43 -32
  815. package/build-module/list/index.js.map +1 -1
  816. package/build-module/list/init.js +6 -0
  817. package/build-module/list/init.js.map +1 -0
  818. package/build-module/list/save.js +2 -6
  819. package/build-module/list/save.js.map +1 -1
  820. package/build-module/list/{v2/tag-name.js → tag-name.js} +0 -0
  821. package/build-module/list/tag-name.js.map +1 -0
  822. package/build-module/list/{v2/tag-name.native.js → tag-name.native.js} +0 -0
  823. package/build-module/list/tag-name.native.js.map +1 -0
  824. package/build-module/list/transforms.js +62 -97
  825. package/build-module/list/transforms.js.map +1 -1
  826. package/build-module/list/transforms.native.js +1 -1
  827. package/build-module/list/transforms.native.js.map +1 -1
  828. package/build-module/list/{v2/migrate.js → utils.js} +9 -9
  829. package/build-module/list/utils.js.map +1 -0
  830. package/build-module/list-item/edit.native.js +45 -13
  831. package/build-module/list-item/edit.native.js.map +1 -1
  832. package/build-module/list-item/hooks/use-copy.js +2 -0
  833. package/build-module/list-item/hooks/use-copy.js.map +1 -1
  834. package/build-module/list-item/hooks/use-enter.native.js +67 -0
  835. package/build-module/list-item/hooks/use-enter.native.js.map +1 -0
  836. package/build-module/list-item/hooks/use-merge.js +0 -1
  837. package/build-module/list-item/hooks/use-merge.js.map +1 -1
  838. package/build-module/list-item/hooks/use-outdent-list-item.js +4 -5
  839. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  840. package/build-module/list-item/hooks/use-space.js +10 -1
  841. package/build-module/list-item/hooks/use-space.js.map +1 -1
  842. package/build-module/list-item/index.js +6 -1
  843. package/build-module/list-item/index.js.map +1 -1
  844. package/build-module/list-item/init.js +6 -0
  845. package/build-module/list-item/init.js.map +1 -0
  846. package/build-module/list-item/utils.js +8 -4
  847. package/build-module/list-item/utils.js.map +1 -1
  848. package/build-module/loginout/index.js +6 -0
  849. package/build-module/loginout/index.js.map +1 -1
  850. package/build-module/loginout/init.js +6 -0
  851. package/build-module/loginout/init.js.map +1 -0
  852. package/build-module/media-text/index.js +20 -5
  853. package/build-module/media-text/index.js.map +1 -1
  854. package/build-module/media-text/init.js +6 -0
  855. package/build-module/media-text/init.js.map +1 -0
  856. package/build-module/media-text/media-container.js +9 -7
  857. package/build-module/media-text/media-container.js.map +1 -1
  858. package/build-module/media-text/transforms.native.js +1 -1
  859. package/build-module/media-text/transforms.native.js.map +1 -1
  860. package/build-module/missing/index.js +6 -0
  861. package/build-module/missing/index.js.map +1 -1
  862. package/build-module/missing/init.js +6 -0
  863. package/build-module/missing/init.js.map +1 -0
  864. package/build-module/more/index.js +6 -0
  865. package/build-module/more/index.js.map +1 -1
  866. package/build-module/more/init.js +6 -0
  867. package/build-module/more/init.js.map +1 -0
  868. package/build-module/more/transforms.native.js +1 -1
  869. package/build-module/more/transforms.native.js.map +1 -1
  870. package/build-module/navigation/edit/index.js +124 -74
  871. package/build-module/navigation/edit/index.js.map +1 -1
  872. package/build-module/navigation/edit/navigation-menu-selector.js +83 -29
  873. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  874. package/build-module/navigation/edit/overlay-menu-icon.js +20 -1
  875. package/build-module/navigation/edit/overlay-menu-icon.js.map +1 -1
  876. package/build-module/navigation/edit/overlay-menu-preview.js +59 -0
  877. package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -0
  878. package/build-module/navigation/edit/responsive-wrapper.js +11 -6
  879. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  880. package/build-module/navigation/edit/unsaved-inner-blocks.js +5 -15
  881. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  882. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +22 -2
  883. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  884. package/build-module/navigation/edit/use-create-navigation-menu.js +2 -1
  885. package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
  886. package/build-module/navigation/index.js +11 -0
  887. package/build-module/navigation/index.js.map +1 -1
  888. package/build-module/navigation/init.js +6 -0
  889. package/build-module/navigation/init.js.map +1 -0
  890. package/build-module/navigation/use-navigation-menu.js +7 -6
  891. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  892. package/build-module/navigation-link/edit.js +15 -2
  893. package/build-module/navigation-link/edit.js.map +1 -1
  894. package/build-module/navigation-link/index.js +24 -4
  895. package/build-module/navigation-link/index.js.map +1 -1
  896. package/build-module/navigation-link/init.js +6 -0
  897. package/build-module/navigation-link/init.js.map +1 -0
  898. package/build-module/navigation-submenu/edit.js +1 -1
  899. package/build-module/navigation-submenu/edit.js.map +1 -1
  900. package/build-module/navigation-submenu/index.js +6 -0
  901. package/build-module/navigation-submenu/index.js.map +1 -1
  902. package/build-module/navigation-submenu/init.js +6 -0
  903. package/build-module/navigation-submenu/init.js.map +1 -0
  904. package/build-module/nextpage/index.js +6 -0
  905. package/build-module/nextpage/index.js.map +1 -1
  906. package/build-module/nextpage/init.js +6 -0
  907. package/build-module/nextpage/init.js.map +1 -0
  908. package/build-module/nextpage/transforms.native.js +1 -1
  909. package/build-module/nextpage/transforms.native.js.map +1 -1
  910. package/build-module/page-list/index.js +6 -0
  911. package/build-module/page-list/index.js.map +1 -1
  912. package/build-module/page-list/init.js +6 -0
  913. package/build-module/page-list/init.js.map +1 -0
  914. package/build-module/paragraph/index.js +8 -0
  915. package/build-module/paragraph/index.js.map +1 -1
  916. package/build-module/paragraph/init.js +6 -0
  917. package/build-module/paragraph/init.js.map +1 -0
  918. package/build-module/paragraph/transforms.js +2 -0
  919. package/build-module/paragraph/transforms.js.map +1 -1
  920. package/build-module/paragraph/transforms.native.js +1 -1
  921. package/build-module/paragraph/transforms.native.js.map +1 -1
  922. package/build-module/pattern/index.js +6 -0
  923. package/build-module/pattern/index.js.map +1 -1
  924. package/build-module/pattern/init.js +6 -0
  925. package/build-module/pattern/init.js.map +1 -0
  926. package/build-module/post-author/edit.js +1 -2
  927. package/build-module/post-author/edit.js.map +1 -1
  928. package/build-module/post-author/index.js +11 -5
  929. package/build-module/post-author/index.js.map +1 -1
  930. package/build-module/post-author/init.js +6 -0
  931. package/build-module/post-author/init.js.map +1 -0
  932. package/build-module/post-author-biography/index.js +11 -5
  933. package/build-module/post-author-biography/index.js.map +1 -1
  934. package/build-module/post-author-biography/init.js +6 -0
  935. package/build-module/post-author-biography/init.js.map +1 -0
  936. package/build-module/post-author-name/index.js +11 -5
  937. package/build-module/post-author-name/index.js.map +1 -1
  938. package/build-module/post-author-name/init.js +6 -0
  939. package/build-module/post-author-name/init.js.map +1 -0
  940. package/build-module/post-comment/index.js +6 -0
  941. package/build-module/post-comment/index.js.map +1 -1
  942. package/build-module/post-comment/init.js +6 -0
  943. package/build-module/post-comment/init.js.map +1 -0
  944. package/build-module/post-comments-count/index.js +6 -0
  945. package/build-module/post-comments-count/index.js.map +1 -1
  946. package/build-module/post-comments-count/init.js +6 -0
  947. package/build-module/post-comments-count/init.js.map +1 -0
  948. package/build-module/post-comments-form/index.js +6 -0
  949. package/build-module/post-comments-form/index.js.map +1 -1
  950. package/build-module/post-comments-form/init.js +6 -0
  951. package/build-module/post-comments-form/init.js.map +1 -0
  952. package/build-module/post-comments-link/index.js +6 -0
  953. package/build-module/post-comments-link/index.js.map +1 -1
  954. package/build-module/post-comments-link/init.js +6 -0
  955. package/build-module/post-comments-link/init.js.map +1 -0
  956. package/build-module/post-content/index.js +20 -1
  957. package/build-module/post-content/index.js.map +1 -1
  958. package/build-module/post-content/init.js +6 -0
  959. package/build-module/post-content/init.js.map +1 -0
  960. package/build-module/post-date/edit.js +1 -1
  961. package/build-module/post-date/edit.js.map +1 -1
  962. package/build-module/post-date/index.js +6 -0
  963. package/build-module/post-date/index.js.map +1 -1
  964. package/build-module/post-date/init.js +6 -0
  965. package/build-module/post-date/init.js.map +1 -0
  966. package/build-module/post-excerpt/index.js +10 -2
  967. package/build-module/post-excerpt/index.js.map +1 -1
  968. package/build-module/post-excerpt/init.js +6 -0
  969. package/build-module/post-excerpt/init.js.map +1 -0
  970. package/build-module/post-featured-image/edit.js +15 -2
  971. package/build-module/post-featured-image/edit.js.map +1 -1
  972. package/build-module/post-featured-image/index.js +22 -0
  973. package/build-module/post-featured-image/index.js.map +1 -1
  974. package/build-module/post-featured-image/init.js +6 -0
  975. package/build-module/post-featured-image/init.js.map +1 -0
  976. package/build-module/post-featured-image/overlay.js +103 -0
  977. package/build-module/post-featured-image/overlay.js.map +1 -0
  978. package/build-module/post-featured-image/utils.js +11 -0
  979. package/build-module/post-featured-image/utils.js.map +1 -0
  980. package/build-module/post-navigation-link/index.js +6 -0
  981. package/build-module/post-navigation-link/index.js.map +1 -1
  982. package/build-module/post-navigation-link/init.js +6 -0
  983. package/build-module/post-navigation-link/init.js.map +1 -0
  984. package/build-module/post-template/edit.js +38 -4
  985. package/build-module/post-template/edit.js.map +1 -1
  986. package/build-module/post-template/index.js +6 -0
  987. package/build-module/post-template/index.js.map +1 -1
  988. package/build-module/post-template/init.js +6 -0
  989. package/build-module/post-template/init.js.map +1 -0
  990. package/build-module/post-terms/edit.js +0 -1
  991. package/build-module/post-terms/edit.js.map +1 -1
  992. package/build-module/post-terms/index.js +10 -3
  993. package/build-module/post-terms/index.js.map +1 -1
  994. package/build-module/post-terms/init.js +6 -0
  995. package/build-module/post-terms/init.js.map +1 -0
  996. package/build-module/post-terms/use-post-terms.js +5 -25
  997. package/build-module/post-terms/use-post-terms.js.map +1 -1
  998. package/build-module/post-title/index.js +6 -0
  999. package/build-module/post-title/index.js.map +1 -1
  1000. package/build-module/post-title/init.js +6 -0
  1001. package/build-module/post-title/init.js.map +1 -0
  1002. package/build-module/preformatted/index.js +6 -0
  1003. package/build-module/preformatted/index.js.map +1 -1
  1004. package/build-module/preformatted/init.js +6 -0
  1005. package/build-module/preformatted/init.js.map +1 -0
  1006. package/build-module/preformatted/transforms.native.js +1 -1
  1007. package/build-module/preformatted/transforms.native.js.map +1 -1
  1008. package/build-module/pullquote/index.js +6 -0
  1009. package/build-module/pullquote/index.js.map +1 -1
  1010. package/build-module/pullquote/init.js +6 -0
  1011. package/build-module/pullquote/init.js.map +1 -0
  1012. package/build-module/pullquote/transforms.native.js +1 -1
  1013. package/build-module/pullquote/transforms.native.js.map +1 -1
  1014. package/build-module/query/edit/inspector-controls/index.js +23 -25
  1015. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  1016. package/build-module/query/index.js +13 -4
  1017. package/build-module/query/index.js.map +1 -1
  1018. package/build-module/query/init.js +6 -0
  1019. package/build-module/query/init.js.map +1 -0
  1020. package/build-module/query/utils.js +107 -1
  1021. package/build-module/query/utils.js.map +1 -1
  1022. package/build-module/query-no-results/index.js +19 -0
  1023. package/build-module/query-no-results/index.js.map +1 -1
  1024. package/build-module/query-no-results/init.js +6 -0
  1025. package/build-module/query-no-results/init.js.map +1 -0
  1026. package/build-module/query-pagination/edit.js +2 -1
  1027. package/build-module/query-pagination/edit.js.map +1 -1
  1028. package/build-module/query-pagination/index.js +19 -0
  1029. package/build-module/query-pagination/index.js.map +1 -1
  1030. package/build-module/query-pagination/init.js +6 -0
  1031. package/build-module/query-pagination/init.js.map +1 -0
  1032. package/build-module/query-pagination-next/index.js +10 -2
  1033. package/build-module/query-pagination-next/index.js.map +1 -1
  1034. package/build-module/query-pagination-next/init.js +6 -0
  1035. package/build-module/query-pagination-next/init.js.map +1 -0
  1036. package/build-module/query-pagination-numbers/index.js +10 -2
  1037. package/build-module/query-pagination-numbers/index.js.map +1 -1
  1038. package/build-module/query-pagination-numbers/init.js +6 -0
  1039. package/build-module/query-pagination-numbers/init.js.map +1 -0
  1040. package/build-module/query-pagination-previous/index.js +10 -2
  1041. package/build-module/query-pagination-previous/index.js.map +1 -1
  1042. package/build-module/query-pagination-previous/init.js +6 -0
  1043. package/build-module/query-pagination-previous/init.js.map +1 -0
  1044. package/build-module/query-title/index.js +12 -5
  1045. package/build-module/query-title/index.js.map +1 -1
  1046. package/build-module/query-title/init.js +6 -0
  1047. package/build-module/query-title/init.js.map +1 -0
  1048. package/build-module/quote/index.js +10 -2
  1049. package/build-module/quote/index.js.map +1 -1
  1050. package/build-module/quote/init.js +6 -0
  1051. package/build-module/quote/init.js.map +1 -0
  1052. package/build-module/quote/transforms.js +7 -0
  1053. package/build-module/quote/transforms.js.map +1 -1
  1054. package/build-module/quote/transforms.native.js +1 -1
  1055. package/build-module/quote/transforms.native.js.map +1 -1
  1056. package/build-module/read-more/index.js +6 -0
  1057. package/build-module/read-more/index.js.map +1 -1
  1058. package/build-module/read-more/init.js +6 -0
  1059. package/build-module/read-more/init.js.map +1 -0
  1060. package/build-module/rss/index.js +6 -0
  1061. package/build-module/rss/index.js.map +1 -1
  1062. package/build-module/rss/init.js +6 -0
  1063. package/build-module/rss/init.js.map +1 -0
  1064. package/build-module/search/edit.js +20 -9
  1065. package/build-module/search/edit.js.map +1 -1
  1066. package/build-module/search/index.js +21 -0
  1067. package/build-module/search/index.js.map +1 -1
  1068. package/build-module/search/init.js +6 -0
  1069. package/build-module/search/init.js.map +1 -0
  1070. package/build-module/separator/index.js +6 -0
  1071. package/build-module/separator/index.js.map +1 -1
  1072. package/build-module/separator/init.js +6 -0
  1073. package/build-module/separator/init.js.map +1 -0
  1074. package/build-module/separator/transforms.native.js +1 -1
  1075. package/build-module/separator/transforms.native.js.map +1 -1
  1076. package/build-module/shortcode/index.js +6 -0
  1077. package/build-module/shortcode/index.js.map +1 -1
  1078. package/build-module/shortcode/init.js +6 -0
  1079. package/build-module/shortcode/init.js.map +1 -0
  1080. package/build-module/shortcode/transforms.native.js +1 -1
  1081. package/build-module/shortcode/transforms.native.js.map +1 -1
  1082. package/build-module/site-logo/index.js +10 -0
  1083. package/build-module/site-logo/index.js.map +1 -1
  1084. package/build-module/site-logo/init.js +6 -0
  1085. package/build-module/site-logo/init.js.map +1 -0
  1086. package/build-module/site-tagline/index.js +7 -0
  1087. package/build-module/site-tagline/index.js.map +1 -1
  1088. package/build-module/site-tagline/init.js +6 -0
  1089. package/build-module/site-tagline/init.js.map +1 -0
  1090. package/build-module/site-title/index.js +7 -0
  1091. package/build-module/site-title/index.js.map +1 -1
  1092. package/build-module/site-title/init.js +6 -0
  1093. package/build-module/site-title/init.js.map +1 -0
  1094. package/build-module/social-link/index.js +6 -0
  1095. package/build-module/social-link/index.js.map +1 -1
  1096. package/build-module/social-link/init.js +6 -0
  1097. package/build-module/social-link/init.js.map +1 -0
  1098. package/build-module/social-links/edit.js +45 -13
  1099. package/build-module/social-links/edit.js.map +1 -1
  1100. package/build-module/social-links/index.js +17 -1
  1101. package/build-module/social-links/index.js.map +1 -1
  1102. package/build-module/social-links/init.js +6 -0
  1103. package/build-module/social-links/init.js.map +1 -0
  1104. package/build-module/spacer/index.js +6 -0
  1105. package/build-module/spacer/index.js.map +1 -1
  1106. package/build-module/spacer/init.js +6 -0
  1107. package/build-module/spacer/init.js.map +1 -0
  1108. package/build-module/table/index.js +9 -6
  1109. package/build-module/table/index.js.map +1 -1
  1110. package/build-module/table/init.js +6 -0
  1111. package/build-module/table/init.js.map +1 -0
  1112. package/build-module/table-of-contents/index.js +19 -0
  1113. package/build-module/table-of-contents/index.js.map +1 -1
  1114. package/build-module/table-of-contents/init.js +6 -0
  1115. package/build-module/table-of-contents/init.js.map +1 -0
  1116. package/build-module/tag-cloud/index.js +6 -0
  1117. package/build-module/tag-cloud/index.js.map +1 -1
  1118. package/build-module/tag-cloud/init.js +6 -0
  1119. package/build-module/tag-cloud/init.js.map +1 -0
  1120. package/build-module/template-part/edit/index.js +2 -7
  1121. package/build-module/template-part/edit/index.js.map +1 -1
  1122. package/build-module/template-part/index.js +27 -20
  1123. package/build-module/template-part/index.js.map +1 -1
  1124. package/build-module/template-part/init.js +6 -0
  1125. package/build-module/template-part/init.js.map +1 -0
  1126. package/build-module/term-description/index.js +12 -0
  1127. package/build-module/term-description/index.js.map +1 -1
  1128. package/build-module/term-description/init.js +6 -0
  1129. package/build-module/term-description/init.js.map +1 -0
  1130. package/build-module/text-columns/index.js +6 -0
  1131. package/build-module/text-columns/index.js.map +1 -1
  1132. package/build-module/text-columns/init.js +6 -0
  1133. package/build-module/text-columns/init.js.map +1 -0
  1134. package/build-module/text-columns/transforms.native.js +1 -1
  1135. package/build-module/text-columns/transforms.native.js.map +1 -1
  1136. package/build-module/utils/init-block.js +29 -0
  1137. package/build-module/utils/init-block.js.map +1 -0
  1138. package/build-module/utils/init-block.native.js +43 -0
  1139. package/build-module/utils/init-block.native.js.map +1 -0
  1140. package/build-module/{is-block-metadata-experimental.js → utils/is-block-metadata-experimental.js} +0 -0
  1141. package/build-module/utils/is-block-metadata-experimental.js.map +1 -0
  1142. package/build-module/utils/migrate-font-family.js +10 -16
  1143. package/build-module/utils/migrate-font-family.js.map +1 -1
  1144. package/build-module/{transformationCategories.native.js → utils/transformation-categories.native.js} +1 -1
  1145. package/build-module/utils/transformation-categories.native.js.map +1 -0
  1146. package/build-module/verse/index.js +7 -0
  1147. package/build-module/verse/index.js.map +1 -1
  1148. package/build-module/verse/init.js +6 -0
  1149. package/build-module/verse/init.js.map +1 -0
  1150. package/build-module/verse/transforms.native.js +1 -1
  1151. package/build-module/verse/transforms.native.js.map +1 -1
  1152. package/build-module/video/edit.js +13 -12
  1153. package/build-module/video/edit.js.map +1 -1
  1154. package/build-module/video/index.js +13 -8
  1155. package/build-module/video/index.js.map +1 -1
  1156. package/build-module/video/init.js +6 -0
  1157. package/build-module/video/init.js.map +1 -0
  1158. package/build-module/video/transforms.native.js +1 -1
  1159. package/build-module/video/transforms.native.js.map +1 -1
  1160. package/build-style/audio/theme-rtl.css +4 -0
  1161. package/build-style/audio/theme.css +4 -0
  1162. package/build-style/avatar/style-rtl.css +3 -0
  1163. package/build-style/avatar/style.css +3 -0
  1164. package/build-style/button/editor-rtl.css +4 -0
  1165. package/build-style/button/editor.css +4 -0
  1166. package/build-style/button/style-rtl.css +5 -4
  1167. package/build-style/button/style.css +5 -4
  1168. package/build-style/buttons/editor-rtl.css +3 -0
  1169. package/build-style/buttons/editor.css +3 -0
  1170. package/build-style/buttons/style-rtl.css +7 -0
  1171. package/build-style/buttons/style.css +7 -0
  1172. package/build-style/categories/style-rtl.css +3 -0
  1173. package/build-style/categories/style.css +3 -0
  1174. package/build-style/code/editor-rtl.css +79 -0
  1175. package/build-style/code/editor.css +79 -0
  1176. package/build-style/common-rtl.css +7 -0
  1177. package/build-style/common.css +7 -0
  1178. package/build-style/cover/editor-rtl.css +0 -3
  1179. package/build-style/cover/editor.css +0 -3
  1180. package/build-style/cover/style-rtl.css +2 -2
  1181. package/build-style/cover/style.css +2 -0
  1182. package/build-style/editor-rtl.css +46 -44
  1183. package/build-style/editor.css +46 -44
  1184. package/build-style/embed/theme-rtl.css +4 -0
  1185. package/build-style/embed/theme.css +4 -0
  1186. package/build-style/group/editor-rtl.css +2 -22
  1187. package/build-style/group/editor.css +2 -22
  1188. package/build-style/image/theme-rtl.css +4 -0
  1189. package/build-style/image/theme.css +4 -0
  1190. package/build-style/media-text/style-rtl.css +1 -0
  1191. package/build-style/media-text/style.css +1 -0
  1192. package/build-style/navigation/editor-rtl.css +23 -19
  1193. package/build-style/navigation/editor.css +23 -19
  1194. package/build-style/navigation/style-rtl.css +28 -4
  1195. package/build-style/navigation/style.css +28 -4
  1196. package/build-style/post-featured-image/editor-rtl.css +5 -0
  1197. package/build-style/post-featured-image/editor.css +5 -0
  1198. package/build-style/post-featured-image/style-rtl.css +45 -0
  1199. package/build-style/post-featured-image/style.css +45 -0
  1200. package/build-style/search/style-rtl.css +2 -3
  1201. package/build-style/search/style.css +2 -3
  1202. package/build-style/separator/style-rtl.css +2 -0
  1203. package/build-style/separator/style.css +2 -0
  1204. package/build-style/site-logo/editor-rtl.css +5 -0
  1205. package/build-style/site-logo/editor.css +5 -0
  1206. package/build-style/site-logo/style-rtl.css +1 -0
  1207. package/build-style/site-logo/style.css +1 -0
  1208. package/build-style/social-links/style-rtl.css +2 -2
  1209. package/build-style/social-links/style.css +2 -2
  1210. package/build-style/style-rtl.css +108 -15
  1211. package/build-style/style.css +108 -13
  1212. package/build-style/table/theme-rtl.css +3 -0
  1213. package/build-style/table/theme.css +3 -0
  1214. package/build-style/theme-rtl.css +19 -0
  1215. package/build-style/theme.css +19 -0
  1216. package/build-style/video/theme-rtl.css +4 -0
  1217. package/build-style/video/theme.css +4 -0
  1218. package/package.json +29 -32
  1219. package/src/archives/block.json +13 -0
  1220. package/src/archives/index.js +3 -0
  1221. package/src/archives/init.js +6 -0
  1222. package/src/audio/block.json +6 -8
  1223. package/src/audio/edit.js +6 -8
  1224. package/src/audio/index.js +3 -0
  1225. package/src/audio/init.js +6 -0
  1226. package/src/audio/theme.scss +4 -0
  1227. package/src/audio/transforms.native.js +1 -1
  1228. package/src/avatar/block.json +2 -1
  1229. package/src/avatar/index.js +3 -0
  1230. package/src/avatar/init.js +6 -0
  1231. package/src/avatar/style.scss +3 -0
  1232. package/src/block/edit.js +3 -10
  1233. package/src/block/index.js +3 -0
  1234. package/src/block/init.js +6 -0
  1235. package/src/block/test/edit.native.js +4 -0
  1236. package/src/button/block.json +5 -0
  1237. package/src/button/edit.js +1 -1
  1238. package/src/button/editor.scss +4 -0
  1239. package/src/button/index.js +3 -0
  1240. package/src/button/init.js +6 -0
  1241. package/src/button/style.scss +5 -8
  1242. package/src/buttons/block.json +13 -0
  1243. package/src/buttons/edit.js +12 -2
  1244. package/src/buttons/editor.scss +6 -0
  1245. package/src/buttons/index.js +3 -0
  1246. package/src/buttons/init.js +6 -0
  1247. package/src/buttons/save.js +13 -2
  1248. package/src/buttons/style.scss +13 -0
  1249. package/src/buttons/transforms.native.js +1 -1
  1250. package/src/calendar/block.json +13 -1
  1251. package/src/calendar/index.js +3 -0
  1252. package/src/calendar/init.js +6 -0
  1253. package/src/categories/block.json +4 -0
  1254. package/src/categories/edit.js +37 -25
  1255. package/src/categories/index.js +3 -0
  1256. package/src/categories/index.php +1 -1
  1257. package/src/categories/init.js +6 -0
  1258. package/src/categories/style.scss +3 -0
  1259. package/src/code/editor.scss +3 -0
  1260. package/src/code/index.js +3 -0
  1261. package/src/code/init.js +6 -0
  1262. package/src/code/transforms.js +9 -0
  1263. package/src/code/transforms.native.js +1 -1
  1264. package/src/column/block.json +1 -1
  1265. package/src/column/edit.js +1 -6
  1266. package/src/column/index.js +3 -0
  1267. package/src/column/init.js +6 -0
  1268. package/src/columns/block.json +2 -1
  1269. package/src/columns/index.js +3 -0
  1270. package/src/columns/init.js +6 -0
  1271. package/src/columns/transforms.js +17 -3
  1272. package/src/columns/transforms.native.js +1 -1
  1273. package/src/comment-author-avatar/index.js +3 -0
  1274. package/src/comment-author-avatar/init.js +6 -0
  1275. package/src/comment-author-name/index.js +3 -0
  1276. package/src/comment-author-name/init.js +6 -0
  1277. package/src/comment-content/index.js +3 -0
  1278. package/src/comment-content/init.js +6 -0
  1279. package/src/comment-date/block.json +4 -0
  1280. package/src/comment-date/edit.js +1 -4
  1281. package/src/comment-date/index.js +3 -0
  1282. package/src/comment-date/init.js +6 -0
  1283. package/src/comment-edit-link/block.json +4 -0
  1284. package/src/comment-edit-link/index.js +3 -0
  1285. package/src/comment-edit-link/init.js +6 -0
  1286. package/src/comment-reply-link/block.json +4 -0
  1287. package/src/comment-reply-link/index.js +3 -0
  1288. package/src/comment-reply-link/init.js +6 -0
  1289. package/src/comment-template/index.js +3 -0
  1290. package/src/comment-template/init.js +6 -0
  1291. package/src/comments/edit/comments-legacy.js +4 -5
  1292. package/src/comments/index.js +3 -0
  1293. package/src/comments/index.php +1 -1
  1294. package/src/comments/init.js +6 -0
  1295. package/src/comments-pagination/edit.js +6 -5
  1296. package/src/comments-pagination/index.js +3 -0
  1297. package/src/comments-pagination/init.js +6 -0
  1298. package/src/comments-pagination-next/index.js +3 -0
  1299. package/src/comments-pagination-next/init.js +6 -0
  1300. package/src/comments-pagination-numbers/index.js +3 -0
  1301. package/src/comments-pagination-numbers/init.js +6 -0
  1302. package/src/comments-pagination-previous/index.js +3 -0
  1303. package/src/comments-pagination-previous/init.js +6 -0
  1304. package/src/comments-title/index.js +3 -0
  1305. package/src/comments-title/init.js +6 -0
  1306. package/src/common.scss +7 -0
  1307. package/src/cover/block.json +1 -1
  1308. package/src/cover/editor.scss +0 -4
  1309. package/src/cover/index.js +3 -0
  1310. package/src/cover/init.js +6 -0
  1311. package/src/cover/style.scss +4 -0
  1312. package/src/cover/test/edit.native.js +2 -3
  1313. package/src/cover/transforms.native.js +1 -1
  1314. package/src/editor.scss +1 -0
  1315. package/src/embed/block.json +1 -6
  1316. package/src/embed/index.js +3 -0
  1317. package/src/embed/init.js +6 -0
  1318. package/src/embed/test/index.native.js +19 -3
  1319. package/src/embed/theme.scss +4 -0
  1320. package/src/embed/transforms.native.js +1 -1
  1321. package/src/file/deprecated.js +249 -112
  1322. package/src/file/edit.js +4 -13
  1323. package/src/file/index.js +3 -0
  1324. package/src/file/index.php +22 -0
  1325. package/src/file/init.js +6 -0
  1326. package/src/file/save.js +1 -8
  1327. package/src/file/transforms.native.js +1 -1
  1328. package/src/freeform/index.js +3 -0
  1329. package/src/freeform/init.js +6 -0
  1330. package/src/gallery/block.json +2 -0
  1331. package/src/gallery/edit.js +8 -15
  1332. package/src/gallery/gap-styles.js +10 -6
  1333. package/src/gallery/index.js +3 -0
  1334. package/src/gallery/index.php +24 -3
  1335. package/src/gallery/init.js +6 -0
  1336. package/src/gallery/transforms.native.js +1 -1
  1337. package/src/gallery/v1/edit.js +2 -12
  1338. package/src/gallery/v1/gallery-image.js +7 -3
  1339. package/src/group/block.json +1 -1
  1340. package/src/group/editor.scss +1 -28
  1341. package/src/group/index.js +3 -0
  1342. package/src/group/init.js +6 -0
  1343. package/src/heading/block.json +1 -0
  1344. package/src/heading/index.js +3 -0
  1345. package/src/heading/init.js +6 -0
  1346. package/src/heading/transforms.native.js +1 -1
  1347. package/src/home-link/block.json +14 -1
  1348. package/src/home-link/index.js +3 -0
  1349. package/src/home-link/index.php +1 -1
  1350. package/src/home-link/init.js +6 -0
  1351. package/src/html/index.js +3 -0
  1352. package/src/html/init.js +6 -0
  1353. package/src/image/block.json +0 -5
  1354. package/src/image/edit.js +28 -17
  1355. package/src/image/image.js +12 -6
  1356. package/src/image/index.js +3 -0
  1357. package/src/image/init.js +6 -0
  1358. package/src/image/theme.scss +4 -0
  1359. package/src/image/transforms.js +4 -1
  1360. package/src/image/transforms.native.js +1 -1
  1361. package/src/image/use-client-width.js +1 -1
  1362. package/src/index.js +104 -121
  1363. package/src/index.native.js +6 -49
  1364. package/src/latest-comments/index.js +3 -0
  1365. package/src/latest-comments/init.js +6 -0
  1366. package/src/latest-posts/block.json +14 -1
  1367. package/src/latest-posts/edit.js +2 -2
  1368. package/src/latest-posts/index.js +3 -0
  1369. package/src/latest-posts/init.js +6 -0
  1370. package/src/list/block.json +8 -3
  1371. package/src/list/deprecated.js +71 -1
  1372. package/src/list/edit.js +142 -133
  1373. package/src/list/index.js +28 -24
  1374. package/src/list/init.js +6 -0
  1375. package/src/list/save.js +3 -4
  1376. package/src/list/{v2/tag-name.js → tag-name.js} +0 -0
  1377. package/src/list/{v2/tag-name.native.js → tag-name.native.js} +0 -0
  1378. package/src/list/test/__snapshots__/edit.native.js.snap +14 -2
  1379. package/src/list/test/edit.native.js +0 -154
  1380. package/src/list/transforms.js +57 -111
  1381. package/src/list/transforms.native.js +1 -1
  1382. package/src/list/{v2/migrate.js → utils.js} +6 -9
  1383. package/src/list-item/block.json +0 -1
  1384. package/src/list-item/edit.native.js +55 -8
  1385. package/src/list-item/hooks/use-copy.js +2 -0
  1386. package/src/list-item/hooks/use-enter.native.js +77 -0
  1387. package/src/list-item/hooks/use-outdent-list-item.js +4 -4
  1388. package/src/list-item/hooks/use-space.js +10 -2
  1389. package/src/list-item/index.js +3 -0
  1390. package/src/list-item/init.js +6 -0
  1391. package/src/list-item/style.native.scss +8 -0
  1392. package/src/loginout/index.js +3 -0
  1393. package/src/loginout/init.js +6 -0
  1394. package/src/media-text/block.json +14 -5
  1395. package/src/media-text/index.js +3 -0
  1396. package/src/media-text/init.js +6 -0
  1397. package/src/media-text/media-container.js +7 -12
  1398. package/src/media-text/style.scss +2 -0
  1399. package/src/media-text/transforms.native.js +1 -1
  1400. package/src/missing/index.js +3 -0
  1401. package/src/missing/init.js +6 -0
  1402. package/src/more/index.js +3 -0
  1403. package/src/more/init.js +6 -0
  1404. package/src/more/transforms.native.js +1 -1
  1405. package/src/navigation/block.json +5 -0
  1406. package/src/navigation/edit/index.js +184 -112
  1407. package/src/navigation/edit/navigation-menu-selector.js +134 -49
  1408. package/src/navigation/edit/overlay-menu-icon.js +10 -1
  1409. package/src/navigation/edit/overlay-menu-preview.js +57 -0
  1410. package/src/navigation/edit/responsive-wrapper.js +10 -4
  1411. package/src/navigation/edit/unsaved-inner-blocks.js +14 -24
  1412. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +27 -3
  1413. package/src/navigation/edit/use-create-navigation-menu.js +5 -2
  1414. package/src/navigation/editor.scss +21 -23
  1415. package/src/navigation/index.js +3 -0
  1416. package/src/navigation/index.php +50 -28
  1417. package/src/navigation/init.js +6 -0
  1418. package/src/navigation/style.scss +28 -4
  1419. package/src/navigation/test/use-navigation-menu.js +23 -6
  1420. package/src/navigation/use-navigation-menu.js +11 -6
  1421. package/src/navigation-link/block.json +14 -1
  1422. package/src/navigation-link/edit.js +1 -1
  1423. package/src/navigation-link/index.js +10 -6
  1424. package/src/navigation-link/index.php +1 -1
  1425. package/src/navigation-link/init.js +6 -0
  1426. package/src/navigation-submenu/edit.js +1 -1
  1427. package/src/navigation-submenu/index.js +3 -1
  1428. package/src/navigation-submenu/init.js +6 -0
  1429. package/src/nextpage/index.js +3 -0
  1430. package/src/nextpage/init.js +6 -0
  1431. package/src/nextpage/transforms.native.js +1 -1
  1432. package/src/page-list/index.js +3 -0
  1433. package/src/page-list/init.js +6 -0
  1434. package/src/paragraph/block.json +2 -0
  1435. package/src/paragraph/index.js +3 -0
  1436. package/src/paragraph/init.js +6 -0
  1437. package/src/paragraph/transforms.native.js +1 -1
  1438. package/src/pattern/index.js +3 -0
  1439. package/src/pattern/init.js +6 -0
  1440. package/src/post-author/edit.js +1 -2
  1441. package/src/post-author/index.js +8 -5
  1442. package/src/post-author/init.js +6 -0
  1443. package/src/post-author-biography/index.js +8 -5
  1444. package/src/post-author-biography/init.js +6 -0
  1445. package/src/post-author-name/index.js +8 -5
  1446. package/src/post-author-name/init.js +6 -0
  1447. package/src/post-comment/index.js +3 -0
  1448. package/src/post-comment/init.js +6 -0
  1449. package/src/post-comments-count/index.js +3 -0
  1450. package/src/post-comments-count/init.js +6 -0
  1451. package/src/post-comments-form/index.js +3 -0
  1452. package/src/post-comments-form/index.php +1 -1
  1453. package/src/post-comments-form/init.js +6 -0
  1454. package/src/post-comments-link/index.js +3 -0
  1455. package/src/post-comments-link/init.js +6 -0
  1456. package/src/post-content/block.json +14 -1
  1457. package/src/post-content/index.js +3 -0
  1458. package/src/post-content/init.js +6 -0
  1459. package/src/post-date/edit.js +1 -4
  1460. package/src/post-date/index.js +3 -0
  1461. package/src/post-date/init.js +6 -0
  1462. package/src/post-excerpt/block.json +4 -2
  1463. package/src/post-excerpt/index.js +3 -0
  1464. package/src/post-excerpt/init.js +6 -0
  1465. package/src/post-featured-image/block.json +16 -0
  1466. package/src/post-featured-image/edit.js +22 -2
  1467. package/src/post-featured-image/editor.scss +77 -70
  1468. package/src/post-featured-image/index.js +3 -0
  1469. package/src/post-featured-image/index.php +88 -7
  1470. package/src/post-featured-image/init.js +6 -0
  1471. package/src/post-featured-image/overlay.js +118 -0
  1472. package/src/post-featured-image/style.scss +22 -0
  1473. package/src/post-featured-image/utils.js +12 -0
  1474. package/src/post-navigation-link/index.js +3 -0
  1475. package/src/post-navigation-link/init.js +6 -0
  1476. package/src/post-template/edit.js +33 -2
  1477. package/src/post-template/index.js +3 -0
  1478. package/src/post-template/init.js +6 -0
  1479. package/src/post-terms/edit.js +0 -1
  1480. package/src/post-terms/index.js +10 -6
  1481. package/src/post-terms/init.js +6 -0
  1482. package/src/post-terms/use-post-terms.js +10 -15
  1483. package/src/post-title/index.js +3 -0
  1484. package/src/post-title/init.js +6 -0
  1485. package/src/preformatted/index.js +3 -0
  1486. package/src/preformatted/init.js +6 -0
  1487. package/src/preformatted/transforms.native.js +1 -1
  1488. package/src/pullquote/index.js +3 -0
  1489. package/src/pullquote/init.js +6 -0
  1490. package/src/pullquote/transforms.native.js +1 -1
  1491. package/src/query/block.json +3 -0
  1492. package/src/query/edit/inspector-controls/index.js +139 -113
  1493. package/src/query/index.js +6 -3
  1494. package/src/query/init.js +6 -0
  1495. package/src/query/utils.js +48 -1
  1496. package/src/query-no-results/block.json +13 -0
  1497. package/src/query-no-results/index.js +3 -0
  1498. package/src/query-no-results/init.js +6 -0
  1499. package/src/query-pagination/block.json +13 -0
  1500. package/src/query-pagination/edit.js +6 -5
  1501. package/src/query-pagination/index.js +3 -0
  1502. package/src/query-pagination/init.js +6 -0
  1503. package/src/query-pagination-next/block.json +4 -2
  1504. package/src/query-pagination-next/index.js +3 -0
  1505. package/src/query-pagination-next/init.js +6 -0
  1506. package/src/query-pagination-numbers/block.json +4 -2
  1507. package/src/query-pagination-numbers/index.js +3 -0
  1508. package/src/query-pagination-numbers/init.js +6 -0
  1509. package/src/query-pagination-previous/block.json +4 -2
  1510. package/src/query-pagination-previous/index.js +3 -0
  1511. package/src/query-pagination-previous/init.js +6 -0
  1512. package/src/query-title/block.json +1 -0
  1513. package/src/query-title/index.js +8 -5
  1514. package/src/query-title/init.js +6 -0
  1515. package/src/quote/block.json +4 -2
  1516. package/src/quote/index.js +3 -0
  1517. package/src/quote/init.js +6 -0
  1518. package/src/quote/transforms.js +10 -0
  1519. package/src/quote/transforms.native.js +1 -1
  1520. package/src/read-more/index.js +3 -0
  1521. package/src/read-more/init.js +6 -0
  1522. package/src/rss/index.js +3 -0
  1523. package/src/rss/init.js +6 -0
  1524. package/src/search/block.json +15 -0
  1525. package/src/search/edit.js +25 -5
  1526. package/src/search/index.js +3 -0
  1527. package/src/search/index.php +114 -9
  1528. package/src/search/init.js +6 -0
  1529. package/src/search/style.scss +4 -3
  1530. package/src/separator/index.js +3 -0
  1531. package/src/separator/init.js +6 -0
  1532. package/src/separator/style.scss +4 -0
  1533. package/src/separator/transforms.native.js +1 -1
  1534. package/src/shortcode/index.js +3 -0
  1535. package/src/shortcode/init.js +6 -0
  1536. package/src/shortcode/transforms.native.js +1 -1
  1537. package/src/site-logo/block.json +4 -0
  1538. package/src/site-logo/editor.scss +7 -0
  1539. package/src/site-logo/index.js +3 -0
  1540. package/src/site-logo/init.js +6 -0
  1541. package/src/site-logo/style.scss +2 -0
  1542. package/src/site-tagline/block.json +1 -0
  1543. package/src/site-tagline/index.js +3 -0
  1544. package/src/site-tagline/init.js +6 -0
  1545. package/src/site-title/block.json +1 -0
  1546. package/src/site-title/index.js +3 -0
  1547. package/src/site-title/init.js +6 -0
  1548. package/src/social-link/index.js +3 -0
  1549. package/src/social-link/init.js +6 -0
  1550. package/src/social-link/socials-without-bg.scss +1 -2
  1551. package/src/social-links/block.json +11 -1
  1552. package/src/social-links/edit.js +47 -20
  1553. package/src/social-links/index.js +3 -0
  1554. package/src/social-links/init.js +6 -0
  1555. package/src/social-links/style.scss +3 -0
  1556. package/src/spacer/index.js +3 -0
  1557. package/src/spacer/init.js +6 -0
  1558. package/src/table/block.json +3 -6
  1559. package/src/table/index.js +3 -0
  1560. package/src/table/init.js +6 -0
  1561. package/src/table/theme.scss +2 -0
  1562. package/src/table-of-contents/block.json +13 -0
  1563. package/src/table-of-contents/index.js +3 -0
  1564. package/src/table-of-contents/init.js +6 -0
  1565. package/src/tag-cloud/index.js +3 -0
  1566. package/src/tag-cloud/init.js +6 -0
  1567. package/src/template-part/edit/index.js +1 -10
  1568. package/src/template-part/index.js +36 -30
  1569. package/src/template-part/index.php +1 -1
  1570. package/src/template-part/init.js +6 -0
  1571. package/src/term-description/block.json +6 -0
  1572. package/src/term-description/index.js +3 -0
  1573. package/src/term-description/init.js +6 -0
  1574. package/src/text-columns/index.js +3 -0
  1575. package/src/text-columns/init.js +6 -0
  1576. package/src/text-columns/transforms.native.js +1 -1
  1577. package/src/utils/init-block.js +20 -0
  1578. package/src/utils/init-block.native.js +40 -0
  1579. package/src/{is-block-metadata-experimental.js → utils/is-block-metadata-experimental.js} +0 -0
  1580. package/src/utils/migrate-font-family.js +7 -15
  1581. package/src/{transformationCategories.native.js → utils/transformation-categories.native.js} +0 -0
  1582. package/src/verse/block.json +1 -0
  1583. package/src/verse/index.js +3 -0
  1584. package/src/verse/init.js +6 -0
  1585. package/src/verse/transforms.native.js +1 -1
  1586. package/src/video/block.json +7 -8
  1587. package/src/video/edit.js +6 -11
  1588. package/src/video/index.js +3 -0
  1589. package/src/video/init.js +6 -0
  1590. package/src/video/theme.scss +4 -0
  1591. package/src/video/transforms.native.js +1 -1
  1592. package/build/is-block-metadata-experimental.js.map +0 -1
  1593. package/build/list/v2/deprecated.js +0 -117
  1594. package/build/list/v2/deprecated.js.map +0 -1
  1595. package/build/list/v2/edit.js +0 -200
  1596. package/build/list/v2/edit.js.map +0 -1
  1597. package/build/list/v2/index.js +0 -36
  1598. package/build/list/v2/index.js.map +0 -1
  1599. package/build/list/v2/migrate.js.map +0 -1
  1600. package/build/list/v2/save.js +0 -34
  1601. package/build/list/v2/save.js.map +0 -1
  1602. package/build/list/v2/tag-name.js.map +0 -1
  1603. package/build/list/v2/tag-name.native.js.map +0 -1
  1604. package/build/list/v2/transforms.js +0 -137
  1605. package/build/list/v2/transforms.js.map +0 -1
  1606. package/build/transformationCategories.native.js.map +0 -1
  1607. package/build-module/is-block-metadata-experimental.js.map +0 -1
  1608. package/build-module/list/v2/deprecated.js +0 -104
  1609. package/build-module/list/v2/deprecated.js.map +0 -1
  1610. package/build-module/list/v2/edit.js +0 -179
  1611. package/build-module/list/v2/edit.js.map +0 -1
  1612. package/build-module/list/v2/index.js +0 -21
  1613. package/build-module/list/v2/index.js.map +0 -1
  1614. package/build-module/list/v2/migrate.js.map +0 -1
  1615. package/build-module/list/v2/save.js +0 -23
  1616. package/build-module/list/v2/save.js.map +0 -1
  1617. package/build-module/list/v2/tag-name.js.map +0 -1
  1618. package/build-module/list/v2/tag-name.native.js.map +0 -1
  1619. package/build-module/list/v2/transforms.js +0 -127
  1620. package/build-module/list/v2/transforms.js.map +0 -1
  1621. package/build-module/transformationCategories.native.js.map +0 -1
  1622. package/src/list/test/migrate.js +0 -158
  1623. package/src/list/v2/deprecated.js +0 -89
  1624. package/src/list/v2/edit.js +0 -192
  1625. package/src/list/v2/index.js +0 -22
  1626. package/src/list/v2/save.js +0 -18
  1627. package/src/list/v2/transforms.js +0 -120
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/edit.js"],"names":["classnames","find","compose","BaseControl","PanelBody","SelectControl","ToggleControl","withNotices","RangeControl","Spinner","store","blockEditorStore","MediaPlaceholder","InspectorControls","useBlockProps","BlockControls","MediaReplaceFlow","Platform","useEffect","useMemo","__","_x","sprintf","useSelect","useDispatch","withViewportMatch","View","createBlock","createBlobURL","noticesStore","sharedIcon","defaultColumnsNumber","pickRelevantMediaFiles","getHrefAndDestination","getUpdatedLinkTargetSettings","getImageSizeAttributes","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","useImageSizes","useGetNewImages","useGetMedia","GapStyles","MAX_COLUMNS","linkOptions","value","label","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","setAttributes","attributes","className","clientId","noticeOperations","isSelected","noticeUI","insertBlocksAfter","columns","imageCrop","linkTarget","linkTo","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","clearSelectedBlock","createSuccessNotice","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","removeAllNotices","createErrorNotice","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","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\twithNotices,\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\tnoticeOperations,\n\t\tisSelected,\n\t\tnoticeUI,\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 } = useDispatch( 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\tnoticeOperations.removeAllNotices();\n\t\t\tnoticeOperations.createErrorNotice(\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' }\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\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\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\tnotices={ noticeUI }\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{ noticeUI }\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( [\n\twithNotices,\n\twithViewportMatch( { isNarrow: '< small' } ),\n] )( GalleryEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/edit.js"],"names":["classnames","find","compose","BaseControl","PanelBody","SelectControl","ToggleControl","RangeControl","Spinner","store","blockEditorStore","MediaPlaceholder","InspectorControls","useBlockProps","BlockControls","MediaReplaceFlow","Platform","useEffect","useMemo","__","_x","sprintf","useSelect","useDispatch","withViewportMatch","View","createBlock","createBlobURL","noticesStore","sharedIcon","defaultColumnsNumber","pickRelevantMediaFiles","getHrefAndDestination","getUpdatedLinkTargetSettings","getImageSizeAttributes","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","useImageSizes","useGetNewImages","useGetMedia","GapStyles","MAX_COLUMNS","linkOptions","value","label","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","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","createSuccessNotice","createErrorNotice","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","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","title","instructions","blockProps","hasLinkTo","Math","min","isWeb","style","spacing","blockGap","isNarrow"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AACA,SAASC,IAAT,QAAqB,QAArB;AAEA;AACA;AACA;;AACA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SACCC,WADD,EAECC,SAFD,EAGCC,aAHD,EAICC,aAJD,EAKCC,YALD,EAMCC,OAND,QAOO,uBAPP;AAQA,SACCC,KAAK,IAAIC,gBADV,EAECC,gBAFD,EAGCC,iBAHD,EAICC,aAJD,EAKCC,aALD,EAMCC,gBAND,QAOO,yBAPP;AAQA,SAASC,QAAT,EAAmBC,SAAnB,EAA8BC,OAA9B,QAA6C,oBAA7C;AACA,SAASC,EAAT,EAAaC,EAAb,EAAiBC,OAAjB,QAAgC,iBAAhC;AACA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,iBAAT,QAAkC,qBAAlC;AACA,SAASC,IAAT,QAAqB,uBAArB;AACA,SAASC,WAAT,QAA4B,mBAA5B;AACA,SAASC,aAAT,QAA8B,iBAA9B;AACA,SAASlB,KAAK,IAAImB,YAAlB,QAAsC,oBAAtC;AAEA;AACA;AACA;;AACA,SAASC,UAAT,QAA2B,eAA3B;AACA,SAASC,oBAAT,EAA+BC,sBAA/B,QAA6D,UAA7D;AACA,SAASC,qBAAT,QAAsC,SAAtC;AACA,SACCC,4BADD,EAECC,sBAFD,QAGO,gBAHP;AAIA,OAAOC,OAAP,MAAoB,WAApB;AACA,SACCC,2BADD,EAECC,sBAFD,EAGCC,qBAHD,QAIO,aAJP;AAKA,OAAOC,aAAP,MAA0B,mBAA1B;AACA,OAAOC,eAAP,MAA4B,sBAA5B;AACA,OAAOC,WAAP,MAAwB,iBAAxB;AACA,OAAOC,SAAP,MAAsB,cAAtB;AAEA,MAAMC,WAAW,GAAG,CAApB;AACA,MAAMC,WAAW,GAAG,CACnB;AAAEC,EAAAA,KAAK,EAAET,2BAAT;AAAsCU,EAAAA,KAAK,EAAE3B,EAAE,CAAE,iBAAF;AAA/C,CADmB,EAEnB;AAAE0B,EAAAA,KAAK,EAAER,sBAAT;AAAiCS,EAAAA,KAAK,EAAE3B,EAAE,CAAE,YAAF;AAA1C,CAFmB,EAGnB;AACC0B,EAAAA,KAAK,EAAEP,qBADR;AAECQ,EAAAA,KAAK,EAAE1B,EAAE,CAAE,MAAF,EAAU,wBAAV;AAFV,CAHmB,CAApB;AAQA,MAAM2B,mBAAmB,GAAG,CAAE,OAAF,CAA5B;AAEA,MAAMC,gBAAgB,GAAGhC,QAAQ,CAACiC,QAAT,GACtB9B,EAAE,CAAE,WAAF,CADoB,GAEtBA,EAAE,CAAE,iEAAF,CAFL;AAIA,MAAM+B,kCAAkC,GAAGlC,QAAQ,CAACiC,QAAT,GACxC;AAAEE,EAAAA,IAAI,EAAE;AAAR,CADwC,GAExC,EAFH;;AAIA,SAASC,WAAT,CAAsBC,KAAtB,EAA8B;AAAA;;AAC7B,QAAM;AACLC,IAAAA,aADK;AAELC,IAAAA,UAFK;AAGLC,IAAAA,SAHK;AAILC,IAAAA,QAJK;AAKLC,IAAAA,UALK;AAMLC,IAAAA;AANK,MAOFN,KAPJ;AASA,QAAM;AAAEO,IAAAA,OAAF;AAAWC,IAAAA,SAAX;AAAsBC,IAAAA,UAAtB;AAAkCC,IAAAA,MAAlC;AAA0CC,IAAAA;AAA1C,MAAuDT,UAA7D;AAEA,QAAM;AACLU,IAAAA,uCADK;AAELC,IAAAA,kBAFK;AAGLC,IAAAA,qBAHK;AAILC,IAAAA,WAJK;AAKLC,IAAAA;AALK,MAMF9C,WAAW,CAAEb,gBAAF,CANf;AAOA,QAAM;AAAE4D,IAAAA,mBAAF;AAAuBC,IAAAA;AAAvB,MACLhD,WAAW,CAAEK,YAAF,CADZ;AAGA,QAAM;AAAE4C,IAAAA,QAAF;AAAYC,IAAAA,WAAZ;AAAyBC,IAAAA;AAAzB,MAA4CpD,SAAS,CAAIqD,MAAF,IAAc;AAAA;;AAC1E,UAAMC,QAAQ,GAAGD,MAAM,CAAEjE,gBAAF,CAAN,CAA2B+D,WAA3B,EAAjB;AACA,UAAMI,wBAAwB,GAC7BD,QAAQ,CAACE,sCADV;AAEA,WAAO;AACNN,MAAAA,QAAQ,EAAEG,MAAM,CAAEjE,gBAAF,CAAN,CAA2B8D,QAD/B;AAENC,MAAAA,WAAW,EAAEE,MAAM,CAAEjE,gBAAF,CAAN,CAA2B+D,WAFlC;AAGNC,MAAAA,cAAc,EAAEG,wBAAF,aAAEA,wBAAF,gDAAEA,wBAAwB,CAAEhC,KAA5B,0DAAE,sBAAmC,YAAnC;AAHV,KAAP;AAKA,GAT0D,EASxD,EATwD,CAA3D;AAWA,QAAMkC,gBAAgB,GAAGzD,SAAS,CAC/BqD,MAAF,IAAc;AAAA;;AACb,+BAAOA,MAAM,CAAEjE,gBAAF,CAAN,CAA2B8D,QAA3B,CAAqCf,QAArC,CAAP,qDAAO,iBAAiDuB,WAAxD;AACA,GAHgC,EAIjC,CAAEvB,QAAF,CAJiC,CAAlC;AAOA,QAAMwB,oBAAoB,GAAG3D,SAAS,CACnCqD,MAAF,IAAc;AACb,WAAOA,MAAM,CAAEjE,gBAAF,CAAN,CAA2BuE,oBAA3B,CACNxB,QADM,EAEN,eAFM,CAAP;AAIA,GANoC,EAOrC,CAAEA,QAAF,CAPqC,CAAtC;AAUA,QAAMyB,MAAM,GAAGhE,OAAO,CACrB,MACC6D,gBADD,aACCA,gBADD,uBACCA,gBAAgB,CAAEI,GAAlB,CAAyBC,KAAF,KAAe;AACrC3B,IAAAA,QAAQ,EAAE2B,KAAK,CAAC3B,QADqB;AAErC4B,IAAAA,EAAE,EAAED,KAAK,CAAC7B,UAAN,CAAiB8B,EAFgB;AAGrCC,IAAAA,GAAG,EAAEF,KAAK,CAAC7B,UAAN,CAAiB+B,GAHe;AAIrC/B,IAAAA,UAAU,EAAE6B,KAAK,CAAC7B,UAJmB;AAKrCgC,IAAAA,gBAAgB,EAAEC,OAAO,CAAEJ,KAAK,CAACK,eAAR;AALY,GAAf,CAAvB,CAFoB,EASrB,CAAEV,gBAAF,CATqB,CAAtB;AAYA,QAAMW,SAAS,GAAGjD,WAAW,CAAEsC,gBAAF,CAA7B;AAEA,QAAMY,SAAS,GAAGnD,eAAe,CAAE0C,MAAF,EAAUQ,SAAV,CAAjC;AAEAzE,EAAAA,SAAS,CAAE,MAAM;AAChB0E,IAAAA,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEC,OAAX,CAAsBC,QAAF,IAAgB;AACnC;AACA5B,MAAAA,uCAAuC;;AACvCE,MAAAA,qBAAqB,CAAE0B,QAAQ,CAACpC,QAAX,EAAqB,EACzC,GAAGqC,oBAAoB,CAAED,QAAQ,CAACtC,UAAX,CADkB;AAEzC8B,QAAAA,EAAE,EAAEQ,QAAQ,CAACR,EAF4B;AAGzCU,QAAAA,KAAK,EAAEC;AAHkC,OAArB,CAArB;AAKA,KARD;;AASA,QAAK,CAAAL,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEM,MAAX,IAAoB,CAAzB,EAA6B;AAC5B5B,MAAAA,kBAAkB;AAClB;AACD,GAbQ,EAaN,CAAEsB,SAAF,CAbM,CAAT;AAeA,QAAMO,gBAAgB,GAAG3D,aAAa,CACrCmD,SADqC,EAErChC,UAFqC,EAGrCe,WAHqC,CAAtC;AAMA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACC,WAASqB,oBAAT,CAA+BK,eAA/B,EAAiD;AAAA;;AAChD,UAAMC,KAAK,GAAGD,eAAe,CAACd,EAAhB,GACXpF,IAAI,CAAEyF,SAAF,EAAa;AAAEL,MAAAA,EAAE,EAAEc,eAAe,CAACd;AAAtB,KAAb,CADO,GAEX,IAFH;AAIA,QAAIgB,YAAJ;;AACA,QAAKF,eAAe,CAAC3C,SAAhB,IAA6B2C,eAAe,CAAC3C,SAAhB,KAA8B,EAAhE,EAAqE;AACpE6C,MAAAA,YAAY,GAAGF,eAAe,CAAC3C,SAA/B;AACA,KAFD,MAEO;AACN6C,MAAAA,YAAY,GAAG3B,cAAc,GACzB,YAAYA,cAAgB,EADH,GAE1BsB,SAFH;AAGA;;AAED,QAAIM,aAAJ;;AACA,QAAKH,eAAe,CAACrC,UAAhB,IAA8BqC,eAAe,CAACI,GAAnD,EAAyD;AACxD;AACAD,MAAAA,aAAa,GAAG;AACfxC,QAAAA,UAAU,EAAEqC,eAAe,CAACrC,UADb;AAEfyC,QAAAA,GAAG,EAAEJ,eAAe,CAACI;AAFN,OAAhB;AAIA,KAND,MAMO;AACN;AACAD,MAAAA,aAAa,GAAGrE,4BAA4B,CAC3C6B,UAD2C,EAE3CP,UAF2C,CAA5C;AAIA;;AAED,WAAO,EACN,GAAGxB,sBAAsB,CAAEqE,KAAF,EAASpC,QAAT,CADnB;AAEN,SAAGhC,qBAAqB,CACvBoE,KADuB,EAEvBrC,MAFuB,EAGvBoC,eAHuB,aAGvBA,eAHuB,uBAGvBA,eAAe,CAAEK,eAHM,CAFlB;AAON,SAAGF,aAPG;AAQN9C,MAAAA,SAAS,EAAE6C,YARL;AASNrC,MAAAA,QATM;AAUNyC,MAAAA,OAAO,EAAEN,eAAe,CAACM,OAAhB,uBAA2BL,KAAK,CAACK,OAAjC,mDAA2B,eAAeC,GAA1C,CAVH;AAWNC,MAAAA,GAAG,EAAER,eAAe,CAACQ,GAAhB,IAAuBP,KAAK,CAACQ;AAX5B,KAAP;AAaA;;AAED,WAASC,eAAT,CAA0BC,IAA1B,EAAiC;AAAA;;AAChC,WACC/D,mBAAmB,CAACgE,IAApB,CACGC,SAAF;AAAA;;AAAA,aAAiB,eAAAF,IAAI,CAAC3D,IAAL,0DAAW8D,OAAX,CAAoBD,SAApB,OAAoC,CAArD;AAAA,KADD,KAEK,cAAAF,IAAI,CAACxB,GAAL,wDAAU2B,OAAV,CAAmB,OAAnB,OAAiC,CAHvC;AAKA;;AAED,WAASC,YAAT,CAAuBC,cAAvB,EAAwC;AACvC,UAAMC,cAAc,GACnBC,MAAM,CAACC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAAgCL,cAAhC,MACA,mBAFD;AAIA,UAAMM,UAAU,GAAGL,cAAc,GAC9BM,KAAK,CAACC,IAAN,CAAYR,cAAZ,EAA6BhC,GAA7B,CAAoC2B,IAAF,IAAY;AAC9C,UAAK,CAAEA,IAAI,CAACxB,GAAZ,EAAkB;AACjB,eAAOvD,sBAAsB,CAAE;AAC9BuD,UAAAA,GAAG,EAAE3D,aAAa,CAAEmF,IAAF;AADY,SAAF,CAA7B;AAGA;;AAED,aAAOA,IAAP;AACC,KARD,CAD8B,GAU9BK,cAVH;;AAYA,QAAK,CAAEM,UAAU,CAACG,KAAX,CAAkBf,eAAlB,CAAP,EAA6C;AAC5CtC,MAAAA,iBAAiB,CAChBpD,EAAE,CACD,8DADC,CADc,EAIhB;AAAEkE,QAAAA,EAAE,EAAE,6BAAN;AAAqClC,QAAAA,IAAI,EAAE;AAA3C,OAJgB,CAAjB;AAMA;;AAED,UAAM0E,eAAe,GAAGJ,UAAU,CAChCK,MADsB,CACZhB,IAAF,IAAYA,IAAI,CAACxB,GAAL,IAAYuB,eAAe,CAAEC,IAAF,CADzB,EAEtB3B,GAFsB,CAEf2B,IAAF,IAAY;AACjB,UAAK,CAAEA,IAAI,CAACxB,GAAZ,EAAkB;AACjB,eAAOvD,sBAAsB,CAAE;AAC9BuD,UAAAA,GAAG,EAAE3D,aAAa,CAAEmF,IAAF;AADY,SAAF,CAA7B;AAGA;;AAED,aAAOA,IAAP;AACA,KAVsB,CAAxB,CA1BuC,CAsCvC;AACA;AACA;;AACA,UAAMiB,WAAW,GAAGF,eAAe,CAACG,MAAhB,CACnB,CAAEC,MAAF,EAAU7B,KAAV,EAAiB8B,KAAjB,MACGD,MAAM,CAAE7B,KAAK,CAACf,EAAR,CAAN,GAAqB6C,KAAvB,EAAgCD,MADjC,CADmB,EAInB,EAJmB,CAApB;AAOA,UAAME,mBAAmB,GAAG,CAAEf,cAAF,GACzBrC,gBAAgB,CAAC+C,MAAjB,CAA2B1C,KAAF,IACzByC,eAAe,CAAC5H,IAAhB,CACGmI,GAAF,IAAWA,GAAG,CAAC/C,EAAJ,KAAWD,KAAK,CAAC7B,UAAN,CAAiB8B,EADxC,CADA,CADyB,GAMzBN,gBANH;AAQA,UAAMsD,YAAY,GAAGR,eAAe,CAACC,MAAhB,CAClBM,GAAF,IACC,CAAED,mBAAmB,CAAClI,IAApB,CACCqI,WAAF,IAAmBF,GAAG,CAAC/C,EAAJ,KAAWiD,WAAW,CAAC/E,UAAZ,CAAuB8B,EADpD,CAFiB,CAArB;AAOA,UAAMkD,SAAS,GAAGF,YAAY,CAAClD,GAAb,CAAoBiB,KAAF,IAAa;AAChD,aAAO1E,WAAW,CAAE,YAAF,EAAgB;AACjC2D,QAAAA,EAAE,EAAEe,KAAK,CAACf,EADuB;AAEjCC,QAAAA,GAAG,EAAEc,KAAK,CAACd,GAFsB;AAGjCmB,QAAAA,OAAO,EAAEL,KAAK,CAACK,OAHkB;AAIjCE,QAAAA,GAAG,EAAEP,KAAK,CAACO;AAJsB,OAAhB,CAAlB;AAMA,KAPiB,CAAlB;;AASA,QAAK,CAAA4B,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEtC,MAAX,IAAoB,CAAzB,EAA6B;AAC5B7B,MAAAA,WAAW,CAAEmE,SAAS,CAAE,CAAF,CAAT,CAAe9E,QAAjB,CAAX;AACA;;AAEDS,IAAAA,kBAAkB,CACjBT,QADiB,EAEjB0E,mBAAmB,CACjBK,MADF,CACUD,SADV,EAEEE,IAFF,CAGE,CAAEC,CAAF,EAAKC,CAAL,KACCZ,WAAW,CAAEW,CAAC,CAACnF,UAAF,CAAa8B,EAAf,CAAX,GACA0C,WAAW,CAAEY,CAAC,CAACpF,UAAF,CAAa8B,EAAf,CALd,CAFiB,CAAlB;AAUA;;AAED,WAASuD,aAAT,CAAwBC,OAAxB,EAAkC;AACjCtE,IAAAA,iBAAiB,CAAEsE,OAAF,EAAW;AAAE1F,MAAAA,IAAI,EAAE;AAAR,KAAX,CAAjB;AACA;;AAED,WAAS2F,SAAT,CAAoBjG,KAApB,EAA4B;AAC3BS,IAAAA,aAAa,CAAE;AAAES,MAAAA,MAAM,EAAElB;AAAV,KAAF,CAAb;AACA,UAAMkG,iBAAiB,GAAG,EAA1B;AACA,UAAMC,MAAM,GAAG,EAAf;AACAxE,IAAAA,QAAQ,CAAEf,QAAF,CAAR,CAAqBuB,WAArB,CAAiCY,OAAjC,CAA4CR,KAAF,IAAa;AACtD4D,MAAAA,MAAM,CAACC,IAAP,CAAa7D,KAAK,CAAC3B,QAAnB;AACA,YAAM2C,KAAK,GAAGhB,KAAK,CAAC7B,UAAN,CAAiB8B,EAAjB,GACXpF,IAAI,CAAEyF,SAAF,EAAa;AAAEL,QAAAA,EAAE,EAAED,KAAK,CAAC7B,UAAN,CAAiB8B;AAAvB,OAAb,CADO,GAEX,IAFH;AAGA0D,MAAAA,iBAAiB,CAAE3D,KAAK,CAAC3B,QAAR,CAAjB,GAAsCzB,qBAAqB,CAC1DoE,KAD0D,EAE1DvD,KAF0D,CAA3D;AAIA,KATD;AAUAsB,IAAAA,qBAAqB,CAAE6E,MAAF,EAAUD,iBAAV,EAA6B,IAA7B,CAArB;AACA,UAAMG,UAAU,GAAG,CAAE,GAAGtG,WAAL,EAAmB3C,IAAnB,CAChBkJ,QAAF,IAAgBA,QAAQ,CAACtG,KAAT,KAAmBA,KADjB,CAAnB;AAIAyB,IAAAA,mBAAmB,CAClBjD,OAAO;AACN;AACAF,IAAAA,EAAE,CAAE,wCAAF,CAFI,EAGN+H,UAAU,CAACpG,KAHL,CADW,EAMlB;AACCuC,MAAAA,EAAE,EAAE,2BADL;AAEClC,MAAAA,IAAI,EAAE;AAFP,KANkB,CAAnB;AAWA;;AAED,WAASiG,gBAAT,CAA2BvG,KAA3B,EAAmC;AAClCS,IAAAA,aAAa,CAAE;AAAEM,MAAAA,OAAO,EAAEf;AAAX,KAAF,CAAb;AACA;;AAED,WAASwG,eAAT,GAA2B;AAC1B/F,IAAAA,aAAa,CAAE;AAAEO,MAAAA,SAAS,EAAE,CAAEA;AAAf,KAAF,CAAb;AACA;;AAED,WAASyF,gBAAT,CAA2BC,OAA3B,EAAqC;AACpC,WAAOA,OAAO,GACXpI,EAAE,CAAE,kCAAF,CADS,GAEXA,EAAE,CAAE,6BAAF,CAFL;AAGA;;AAED,WAASqI,kBAAT,CAA6BC,YAA7B,EAA4C;AAC3C,UAAMnD,aAAa,GAAGmD,YAAY,GAAG,QAAH,GAAczD,SAAhD;AACA1C,IAAAA,aAAa,CAAE;AAAEQ,MAAAA,UAAU,EAAEwC;AAAd,KAAF,CAAb;AACA,UAAMyC,iBAAiB,GAAG,EAA1B;AACA,UAAMC,MAAM,GAAG,EAAf;AACAxE,IAAAA,QAAQ,CAAEf,QAAF,CAAR,CAAqBuB,WAArB,CAAiCY,OAAjC,CAA4CR,KAAF,IAAa;AACtD4D,MAAAA,MAAM,CAACC,IAAP,CAAa7D,KAAK,CAAC3B,QAAnB;AACAsF,MAAAA,iBAAiB,CAAE3D,KAAK,CAAC3B,QAAR,CAAjB,GAAsCxB,4BAA4B,CACjEqE,aADiE,EAEjElB,KAAK,CAAC7B,UAF2D,CAAlE;AAIA,KAND;AAOAY,IAAAA,qBAAqB,CAAE6E,MAAF,EAAUD,iBAAV,EAA6B,IAA7B,CAArB;AACA,UAAMW,UAAU,GAAGD,YAAY,GAC5BtI,EAAE,CAAE,+CAAF,CAD0B,GAE5BA,EAAE,CAAE,mDAAF,CAFL;AAGAmD,IAAAA,mBAAmB,CAAEoF,UAAF,EAAc;AAChCrE,MAAAA,EAAE,EAAE,iCAD4B;AAEhClC,MAAAA,IAAI,EAAE;AAF0B,KAAd,CAAnB;AAIA;;AAED,WAASwG,gBAAT,CAA2BC,WAA3B,EAAyC;AACxCtG,IAAAA,aAAa,CAAE;AAAEU,MAAAA,QAAQ,EAAE4F;AAAZ,KAAF,CAAb;AACA,UAAMb,iBAAiB,GAAG,EAA1B;AACA,UAAMC,MAAM,GAAG,EAAf;AACAxE,IAAAA,QAAQ,CAAEf,QAAF,CAAR,CAAqBuB,WAArB,CAAiCY,OAAjC,CAA4CR,KAAF,IAAa;AACtD4D,MAAAA,MAAM,CAACC,IAAP,CAAa7D,KAAK,CAAC3B,QAAnB;AACA,YAAM2C,KAAK,GAAGhB,KAAK,CAAC7B,UAAN,CAAiB8B,EAAjB,GACXpF,IAAI,CAAEyF,SAAF,EAAa;AAAEL,QAAAA,EAAE,EAAED,KAAK,CAAC7B,UAAN,CAAiB8B;AAAvB,OAAb,CADO,GAEX,IAFH;AAGA0D,MAAAA,iBAAiB,CAAE3D,KAAK,CAAC3B,QAAR,CAAjB,GAAsCvB,sBAAsB,CAC3DkE,KAD2D,EAE3DwD,WAF2D,CAA5D;AAIA,KATD;AAUAzF,IAAAA,qBAAqB,CAAE6E,MAAF,EAAUD,iBAAV,EAA6B,IAA7B,CAArB;AACA,UAAMc,SAAS,GAAG3D,gBAAgB,CAACjG,IAAjB,CACf6J,IAAF,IAAYA,IAAI,CAACjH,KAAL,KAAe+G,WADV,CAAlB;AAIAtF,IAAAA,mBAAmB,CAClBjD,OAAO;AACN;AACAF,IAAAA,EAAE,CAAE,wCAAF,CAFI,EAGN0I,SAAS,CAAC/G,KAHJ,CADW,EAMlB;AACCuC,MAAAA,EAAE,EAAE,6BADL;AAEClC,MAAAA,IAAI,EAAE;AAFP,KANkB,CAAnB;AAWA;;AAEDlC,EAAAA,SAAS,CAAE,MAAM;AAChB;AACA,QAAK,CAAE8C,MAAP,EAAgB;AAAA;;AACfE,MAAAA,uCAAuC;;AACvCX,MAAAA,aAAa,CAAE;AACdS,QAAAA,MAAM,EACL,YAAAgG,MAAM,UAAN,wDAAQC,EAAR,8EAAYC,KAAZ,+FAAmBC,IAAnB,0GAAyBtF,QAAzB,4GAAmCuF,YAAnC,kFAAiDC,IAAjD,KACA9H;AAHa,OAAF,CAAb;AAKA;AACD,GAVQ,EAUN,CAAEyB,MAAF,CAVM,CAAT;AAYA,QAAMsG,SAAS,GAAG,CAAC,CAAEnF,MAAM,CAACe,MAA5B;AACA,QAAMqE,WAAW,GAAGD,SAAS,IAAInF,MAAM,CAAC6B,IAAP,CAAeX,KAAF,IAAa,CAAC,CAAEA,KAAK,CAACf,EAAnC,CAAjC;AACA,QAAMkF,eAAe,GAAGrF,MAAM,CAAC6B,IAAP,CAAeqB,GAAF;AAAA;;AAAA,WACpC,CAAEpH,QAAQ,CAACiC,QAAX,GACG,CAAEmF,GAAG,CAAC/C,EAAN,IAAY,aAAA+C,GAAG,CAAC9C,GAAJ,sDAAS2B,OAAT,CAAkB,OAAlB,OAAgC,CAD/C,GAEG,cAAAmB,GAAG,CAAC9C,GAAJ,wDAAS2B,OAAT,CAAkB,OAAlB,OAAgC,CAHC;AAAA,GAAb,CAAxB,CArW6B,CA2W7B;;AACA,QAAMuD,qBAAqB,GAAGxJ,QAAQ,CAAC2D,MAAT,CAAiB;AAC9C8F,IAAAA,GAAG,EAAE;AACJC,MAAAA,YAAY,EAAE,KADV;AAEJC,MAAAA,mBAAmB,EAAEJ,eAFjB;AAGJ1H,MAAAA,KAAK,EAAE;AAHH,KADyC;AAM9C+H,IAAAA,MAAM,EAAE;AACPF,MAAAA,YAAY,EAAEJ,WADP;AAEPO,MAAAA,UAAU,EAAER,SAFL;AAGPM,MAAAA,mBAAmB,EAChBN,SAAS,IAAI,CAAE3G,UAAjB,IAAiC6G,eAJ3B;AAKP1H,MAAAA,KAAK,EAAEyH,WAAW,GAAGpF,MAAH,GAAY,EALvB;AAMP4F,MAAAA,mBAAmB,EAClB,CAAET,SAAF,IAAe3G,UAAf,IAA6BuB;AAPvB;AANsC,GAAjB,CAA9B;AAgBA,QAAM8F,gBAAgB,GACrB,cAAC,gBAAD;AACC,IAAA,YAAY,EAAG,KADhB;AAEC,IAAA,IAAI,EAAGlJ,UAFR;AAGC,IAAA,MAAM,EAAG;AACRmJ,MAAAA,KAAK,EAAE7J,EAAE,CAAE,SAAF,CADD;AAER8J,MAAAA,YAAY,EAAEjI;AAFN,KAHV;AAOC,IAAA,QAAQ,EAAGkE,YAPZ;AAQC,IAAA,MAAM,EAAC,SARR;AASC,IAAA,YAAY,EAAGnE,mBAThB;AAUC,IAAA,QAAQ,MAVT;AAWC,IAAA,OAAO,EAAG6F;AAXX,KAYM4B,qBAZN,EADD;AAiBA,QAAMU,UAAU,GAAGrK,aAAa,CAAE;AACjC2C,IAAAA,SAAS,EAAExD,UAAU,CAAEwD,SAAF,EAAa,mBAAb;AADY,GAAF,CAAhC;;AAIA,MAAK,CAAE6G,SAAP,EAAmB;AAClB,WAAO,cAAC,IAAD,EAAWa,UAAX,EAA0BH,gBAA1B,CAAP;AACA;;AAED,QAAMI,SAAS,GAAGpH,MAAM,IAAIA,MAAM,KAAK,MAAvC;AAEA,SACC,8BACC,cAAC,iBAAD,QACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAG5C,EAAE,CAAE,UAAF;AAArB,KACG+D,MAAM,CAACe,MAAP,GAAgB,CAAhB,IACD,cAAC,YAAD;AACC,IAAA,KAAK,EAAG9E,EAAE,CAAE,SAAF,CADX;AAEC,IAAA,KAAK,EACJyC,OAAO,GACJA,OADI,GAEJ9B,oBAAoB,CAAEoD,MAAM,CAACe,MAAT,CALzB;AAOC,IAAA,QAAQ,EAAGmD,gBAPZ;AAQC,IAAA,GAAG,EAAG,CARP;AASC,IAAA,GAAG,EAAGgC,IAAI,CAACC,GAAL,CAAU1I,WAAV,EAAuBuC,MAAM,CAACe,MAA9B;AATP,KAUM/C,kCAVN;AAWC,IAAA,QAAQ;AAXT,KAFF,EAgBC,cAAC,aAAD;AACC,IAAA,KAAK,EAAG/B,EAAE,CAAE,aAAF,CADX;AAEC,IAAA,OAAO,EAAG,CAAC,CAAE0C,SAFd;AAGC,IAAA,QAAQ,EAAGwF,eAHZ;AAIC,IAAA,IAAI,EAAGC;AAJR,IAhBD,EAsBC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGnI,EAAE,CAAE,SAAF,CADX;AAEC,IAAA,KAAK,EAAG4C,MAFT;AAGC,IAAA,QAAQ,EAAG+E,SAHZ;AAIC,IAAA,OAAO,EAAGlG,WAJX;AAKC,IAAA,gBAAgB,EAAG;AALpB,IAtBD,EA6BGuI,SAAS,IACV,cAAC,aAAD;AACC,IAAA,KAAK,EAAGhK,EAAE,CAAE,iBAAF,CADX;AAEC,IAAA,OAAO,EAAG2C,UAAU,KAAK,QAF1B;AAGC,IAAA,QAAQ,EAAG0F;AAHZ,IA9BF,EAoCG,CAAAtD,gBAAgB,SAAhB,IAAAA,gBAAgB,WAAhB,YAAAA,gBAAgB,CAAED,MAAlB,IAA2B,CAA3B,IACD,cAAC,aAAD;AACC,IAAA,KAAK,EAAG9E,EAAE,CAAE,YAAF,CADX;AAEC,IAAA,KAAK,EAAG6C,QAFT;AAGC,IAAA,OAAO,EAAGkC,gBAHX;AAIC,IAAA,QAAQ,EAAGyD,gBAJZ;AAKC,IAAA,gBAAgB,EAAG;AALpB,IArCF,EA6CG3I,QAAQ,CAACsK,KAAT,IAAkB,CAAEpF,gBAApB,IAAwCoE,WAAxC,IACD,cAAC,WAAD;AAAa,IAAA,SAAS,EAAG;AAAzB,KACC,cAAC,WAAD,CAAa,WAAb,QACGnJ,EAAE,CAAE,YAAF,CADL,CADD,EAIC,cAAC,IAAD;AAAM,IAAA,SAAS,EAAG;AAAlB,KACC,cAAC,OAAD,OADD,EAEGA,EAAE,CAAE,kBAAF,CAFL,CAJD,CA9CF,CADD,CADD,EA4DC,cAAC,aAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,cAAC,gBAAD;AACC,IAAA,YAAY,EAAG4B,mBADhB;AAEC,IAAA,MAAM,EAAC,SAFR;AAGC,IAAA,YAAY,EAAG,KAHhB;AAIC,IAAA,QAAQ,EAAGmE,YAJZ;AAKC,IAAA,IAAI,EAAG/F,EAAE,CAAE,KAAF,CALV;AAMC,IAAA,QAAQ,EAAG,IANZ;AAOC,IAAA,QAAQ,EAAG+D,MAAM,CACf4C,MADS,CACC1B,KAAF,IAAaA,KAAK,CAACf,EADlB,EAETF,GAFS,CAEFiB,KAAF,IAAaA,KAAK,CAACf,EAFf,CAPZ;AAUC,IAAA,YAAY,EAAGiF;AAVhB,IADD,CA5DD,EA0EGtJ,QAAQ,CAACsK,KAAT,IACD,cAAC,SAAD;AACC,IAAA,QAAQ,uBAAG/H,UAAU,CAACgI,KAAd,+EAAG,kBAAkBC,OAArB,0DAAG,sBAA2BC,QADvC;AAEC,IAAA,QAAQ,EAAGhI;AAFZ,IA3EF,EAgFC,cAAC,OAAD,eACMJ,KADN;AAEC,IAAA,MAAM,EAAG6B,MAFV;AAGC,IAAA,gBAAgB,EACf,CAAEmF,SAAF,IAAerJ,QAAQ,CAACiC,QAAxB,GACG8H,gBADH,GAEG/E,SANL;AAQC,IAAA,UAAU,EAAGkF,UARd;AASC,IAAA,iBAAiB,EAAGvH;AATrB,KAhFD,CADD;AA8FA;;AACD,eAAezD,OAAO,CAAE,CAAEsB,iBAAiB,CAAE;AAAEkK,EAAAA,QAAQ,EAAE;AAAZ,CAAF,CAAnB,CAAF,CAAP,CACdtI,WADc,CAAf","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"]}
@@ -3,7 +3,7 @@ import { createElement } from "@wordpress/element";
3
3
  /**
4
4
  * WordPress dependencies
5
5
  */
6
- import { BlockList } from '@wordpress/block-editor';
6
+ import { BlockList, __experimentalGetGapCSSValue as getGapCSSValue } from '@wordpress/block-editor';
7
7
  import { useContext, createPortal } from '@wordpress/element';
8
8
  export default function GapStyles(_ref) {
9
9
  let {
@@ -19,13 +19,14 @@ export default function GapStyles(_ref) {
19
19
  let row; // Check for the possibility of split block gap values. See: https://github.com/WordPress/gutenberg/pull/37736
20
20
 
21
21
  if (!!blockGap) {
22
- row = typeof blockGap === 'string' ? blockGap : (blockGap === null || blockGap === void 0 ? void 0 : blockGap.top) || fallbackValue;
23
- column = typeof blockGap === 'string' ? blockGap : (blockGap === null || blockGap === void 0 ? void 0 : blockGap.left) || fallbackValue;
22
+ row = typeof blockGap === 'string' ? getGapCSSValue(blockGap) : getGapCSSValue(blockGap === null || blockGap === void 0 ? void 0 : blockGap.top) || fallbackValue;
23
+ column = typeof blockGap === 'string' ? getGapCSSValue(blockGap) : getGapCSSValue(blockGap === null || blockGap === void 0 ? void 0 : blockGap.left) || fallbackValue;
24
24
  gapValue = row === column ? row : `${row} ${column}`;
25
- }
25
+ } // The unstable gallery gap calculation requires a real value (such as `0px`) and not `0`.
26
+
26
27
 
27
28
  const gap = `#block-${clientId} {
28
- --wp--style--unstable-gallery-gap: ${column};
29
+ --wp--style--unstable-gallery-gap: ${column === '0' ? '0px' : column};
29
30
  gap: ${gapValue}
30
31
  }`;
31
32
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/gap-styles.js"],"names":["BlockList","useContext","createPortal","GapStyles","blockGap","clientId","styleElement","__unstableElementContext","fallbackValue","gapValue","column","row","top","left","gap","GapStyle"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,yBAA1B;AACA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,oBAAzC;AAEA,eAAe,SAASC,SAAT,OAA6C;AAAA,MAAzB;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAAyB;AAC3D,QAAMC,YAAY,GAAGL,UAAU,CAAED,SAAS,CAACO,wBAAZ,CAA/B,CAD2D,CAE3D;AACA;;AACA,QAAMC,aAAa,GAAI,oHAAvB;AACA,MAAIC,QAAQ,GAAGD,aAAf;AACA,MAAIE,MAAM,GAAGF,aAAb;AACA,MAAIG,GAAJ,CAP2D,CAS3D;;AACA,MAAK,CAAC,CAAEP,QAAR,EAAmB;AAClBO,IAAAA,GAAG,GACF,OAAOP,QAAP,KAAoB,QAApB,GACGA,QADH,GAEG,CAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAEQ,GAAV,KAAiBJ,aAHrB;AAIAE,IAAAA,MAAM,GACL,OAAON,QAAP,KAAoB,QAApB,GACGA,QADH,GAEG,CAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAES,IAAV,KAAkBL,aAHtB;AAIAC,IAAAA,QAAQ,GAAGE,GAAG,KAAKD,MAAR,GAAiBC,GAAjB,GAAwB,GAAGA,GAAK,IAAID,MAAQ,EAAvD;AACA;;AAED,QAAMI,GAAG,GAAI,UAAUT,QAAU;AAClC,uCAAwCK,MAAQ;AAChD,SAAUD,QAAU;AACpB,GAHC;;AAKA,QAAMM,QAAQ,GAAG,MAAM;AACtB,WAAO,6BAASD,GAAT,CAAP;AACA,GAFD;;AAIA,SAAOA,GAAG,IAAIR,YAAP,GACJJ,YAAY,CAAE,cAAC,QAAD,OAAF,EAAgBI,YAAhB,CADR,GAEJ,IAFH;AAGA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BlockList } from '@wordpress/block-editor';\nimport { useContext, createPortal } from '@wordpress/element';\n\nexport default function GapStyles( { blockGap, clientId } ) {\n\tconst styleElement = useContext( BlockList.__unstableElementContext );\n\t// --gallery-block--gutter-size is deprecated. --wp--style--gallery-gap-default should be used by themes that want to set a default\n\t// gap on the gallery.\n\tconst fallbackValue = `var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) )`;\n\tlet gapValue = fallbackValue;\n\tlet column = fallbackValue;\n\tlet row;\n\n\t// Check for the possibility of split block gap values. See: https://github.com/WordPress/gutenberg/pull/37736\n\tif ( !! blockGap ) {\n\t\trow =\n\t\t\ttypeof blockGap === 'string'\n\t\t\t\t? blockGap\n\t\t\t\t: blockGap?.top || fallbackValue;\n\t\tcolumn =\n\t\t\ttypeof blockGap === 'string'\n\t\t\t\t? blockGap\n\t\t\t\t: blockGap?.left || fallbackValue;\n\t\tgapValue = row === column ? row : `${ row } ${ column }`;\n\t}\n\n\tconst gap = `#block-${ clientId } {\n\t\t--wp--style--unstable-gallery-gap: ${ column };\n\t\tgap: ${ gapValue }\n\t}`;\n\n\tconst GapStyle = () => {\n\t\treturn <style>{ gap }</style>;\n\t};\n\n\treturn gap && styleElement\n\t\t? createPortal( <GapStyle />, styleElement )\n\t\t: null;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/gap-styles.js"],"names":["BlockList","__experimentalGetGapCSSValue","getGapCSSValue","useContext","createPortal","GapStyles","blockGap","clientId","styleElement","__unstableElementContext","fallbackValue","gapValue","column","row","top","left","gap","GapStyle"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,SADD,EAECC,4BAA4B,IAAIC,cAFjC,QAGO,yBAHP;AAIA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,oBAAzC;AAEA,eAAe,SAASC,SAAT,OAA6C;AAAA,MAAzB;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAAyB;AAC3D,QAAMC,YAAY,GAAGL,UAAU,CAAEH,SAAS,CAACS,wBAAZ,CAA/B,CAD2D,CAE3D;AACA;;AACA,QAAMC,aAAa,GAAI,oHAAvB;AACA,MAAIC,QAAQ,GAAGD,aAAf;AACA,MAAIE,MAAM,GAAGF,aAAb;AACA,MAAIG,GAAJ,CAP2D,CAS3D;;AACA,MAAK,CAAC,CAAEP,QAAR,EAAmB;AAClBO,IAAAA,GAAG,GACF,OAAOP,QAAP,KAAoB,QAApB,GACGJ,cAAc,CAAEI,QAAF,CADjB,GAEGJ,cAAc,CAAEI,QAAF,aAAEA,QAAF,uBAAEA,QAAQ,CAAEQ,GAAZ,CAAd,IAAmCJ,aAHvC;AAIAE,IAAAA,MAAM,GACL,OAAON,QAAP,KAAoB,QAApB,GACGJ,cAAc,CAAEI,QAAF,CADjB,GAEGJ,cAAc,CAAEI,QAAF,aAAEA,QAAF,uBAAEA,QAAQ,CAAES,IAAZ,CAAd,IAAoCL,aAHxC;AAIAC,IAAAA,QAAQ,GAAGE,GAAG,KAAKD,MAAR,GAAiBC,GAAjB,GAAwB,GAAGA,GAAK,IAAID,MAAQ,EAAvD;AACA,GApB0D,CAsB3D;;;AACA,QAAMI,GAAG,GAAI,UAAUT,QAAU;AAClC,uCAAwCK,MAAM,KAAK,GAAX,GAAiB,KAAjB,GAAyBA,MAAQ;AACzE,SAAUD,QAAU;AACpB,GAHC;;AAKA,QAAMM,QAAQ,GAAG,MAAM;AACtB,WAAO,6BAASD,GAAT,CAAP;AACA,GAFD;;AAIA,SAAOA,GAAG,IAAIR,YAAP,GACJJ,YAAY,CAAE,cAAC,QAAD,OAAF,EAAgBI,YAAhB,CADR,GAEJ,IAFH;AAGA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockList,\n\t__experimentalGetGapCSSValue as getGapCSSValue,\n} from '@wordpress/block-editor';\nimport { useContext, createPortal } from '@wordpress/element';\n\nexport default function GapStyles( { blockGap, clientId } ) {\n\tconst styleElement = useContext( BlockList.__unstableElementContext );\n\t// --gallery-block--gutter-size is deprecated. --wp--style--gallery-gap-default should be used by themes that want to set a default\n\t// gap on the gallery.\n\tconst fallbackValue = `var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) )`;\n\tlet gapValue = fallbackValue;\n\tlet column = fallbackValue;\n\tlet row;\n\n\t// Check for the possibility of split block gap values. See: https://github.com/WordPress/gutenberg/pull/37736\n\tif ( !! blockGap ) {\n\t\trow =\n\t\t\ttypeof blockGap === 'string'\n\t\t\t\t? getGapCSSValue( blockGap )\n\t\t\t\t: getGapCSSValue( blockGap?.top ) || fallbackValue;\n\t\tcolumn =\n\t\t\ttypeof blockGap === 'string'\n\t\t\t\t? getGapCSSValue( blockGap )\n\t\t\t\t: getGapCSSValue( blockGap?.left ) || fallbackValue;\n\t\tgapValue = row === column ? row : `${ row } ${ column }`;\n\t}\n\n\t// The unstable gallery gap calculation requires a real value (such as `0px`) and not `0`.\n\tconst gap = `#block-${ clientId } {\n\t\t--wp--style--unstable-gallery-gap: ${ column === '0' ? '0px' : column };\n\t\tgap: ${ gapValue }\n\t}`;\n\n\tconst GapStyle = () => {\n\t\treturn <style>{ gap }</style>;\n\t};\n\n\treturn gap && styleElement\n\t\t? createPortal( <GapStyle />, styleElement )\n\t\t: null;\n}\n"]}
@@ -6,6 +6,7 @@ import { gallery as icon } from '@wordpress/icons';
6
6
  * Internal dependencies
7
7
  */
8
8
 
9
+ import initBlock from '../utils/init-block';
9
10
  import deprecated from './deprecated';
10
11
  import edit from './edit-wrapper';
11
12
  const metadata = {
@@ -120,6 +121,8 @@ const metadata = {
120
121
  html: false,
121
122
  units: ["px", "em", "rem", "vh", "vw"],
122
123
  spacing: {
124
+ margin: true,
125
+ padding: true,
123
126
  blockGap: ["horizontal", "vertical"],
124
127
  __experimentalSkipSerialization: ["blockGap"],
125
128
  __experimentalDefaultControls: {
@@ -172,4 +175,9 @@ export const settings = {
172
175
  save,
173
176
  deprecated
174
177
  };
178
+ export const init = () => initBlock({
179
+ name,
180
+ metadata,
181
+ settings
182
+ });
175
183
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/index.js"],"names":["gallery","icon","deprecated","edit","save","transforms","name","metadata","settings","example","attributes","columns","innerBlocks","url"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,IAAIC,IAApB,QAAgC,kBAAhC;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBP,EAAAA,IADuB;AAEvBQ,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,OAAO,EAAE;AADE,KADJ;AAIRC,IAAAA,WAAW,EAAE,CACZ;AACCN,MAAAA,IAAI,EAAE,YADP;AAECI,MAAAA,UAAU,EAAE;AACXG,QAAAA,GAAG,EAAE;AADM;AAFb,KADY,EAOZ;AACCP,MAAAA,IAAI,EAAE,YADP;AAECI,MAAAA,UAAU,EAAE;AACXG,QAAAA,GAAG,EAAE;AADM;AAFb,KAPY;AAJL,GAFc;AAqBvBR,EAAAA,UArBuB;AAsBvBF,EAAAA,IAtBuB;AAuBvBC,EAAAA,IAvBuB;AAwBvBF,EAAAA;AAxBuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { gallery as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit-wrapper';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcolumns: 2,\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/image',\n\t\t\t\tattributes: {\n\t\t\t\t\turl: 'https://s.w.org/images/core/5.3/Glacial_lakes%2C_Bhutan.jpg',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/image',\n\t\t\t\tattributes: {\n\t\t\t\t\turl: 'https://s.w.org/images/core/5.3/Sediment_off_the_Yucatan_Peninsula.jpg',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/index.js"],"names":["gallery","icon","initBlock","deprecated","edit","save","transforms","name","metadata","settings","example","attributes","columns","innerBlocks","url","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,IAAIC,IAApB,QAAgC,kBAAhC;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBR,EAAAA,IADuB;AAEvBS,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,OAAO,EAAE;AADE,KADJ;AAIRC,IAAAA,WAAW,EAAE,CACZ;AACCN,MAAAA,IAAI,EAAE,YADP;AAECI,MAAAA,UAAU,EAAE;AACXG,QAAAA,GAAG,EAAE;AADM;AAFb,KADY,EAOZ;AACCP,MAAAA,IAAI,EAAE,YADP;AAECI,MAAAA,UAAU,EAAE;AACXG,QAAAA,GAAG,EAAE;AADM;AAFb,KAPY;AAJL,GAFc;AAqBvBR,EAAAA,UArBuB;AAsBvBF,EAAAA,IAtBuB;AAuBvBC,EAAAA,IAvBuB;AAwBvBF,EAAAA;AAxBuB,CAAjB;AA2BP,OAAO,MAAMY,IAAI,GAAG,MAAMb,SAAS,CAAE;AAAEK,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAF,CAA5B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { gallery as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit-wrapper';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcolumns: 2,\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/image',\n\t\t\t\tattributes: {\n\t\t\t\t\turl: 'https://s.w.org/images/core/5.3/Glacial_lakes%2C_Bhutan.jpg',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/image',\n\t\t\t\tattributes: {\n\t\t\t\t\turl: 'https://s.w.org/images/core/5.3/Sediment_off_the_Yucatan_Peninsula.jpg',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import { init } from './';
5
+ export default init();
6
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/init.js"],"names":["init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAT,QAAqB,IAArB;AAEA,eAAeA,IAAI,EAAnB","sourcesContent":["/**\n * Internal dependencies\n */\nimport { init } from './';\n\nexport default init();\n"]}
@@ -2,7 +2,7 @@
2
2
  * Internal dependencies
3
3
  */
4
4
  import webTransforms from './transforms.js';
5
- import transformationCategories from '../transformationCategories';
5
+ import transformationCategories from '../utils/transformation-categories';
6
6
  const transforms = { ...webTransforms,
7
7
  supportedMobileTransforms: transformationCategories.media
8
8
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/transforms.native.js"],"names":["webTransforms","transformationCategories","transforms","supportedMobileTransforms","media"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,aAAP,MAA0B,iBAA1B;AACA,OAAOC,wBAAP,MAAqC,6BAArC;AAEA,MAAMC,UAAU,GAAG,EAClB,GAAGF,aADe;AAElBG,EAAAA,yBAAyB,EAAEF,wBAAwB,CAACG;AAFlC,CAAnB;AAKA,eAAeF,UAAf","sourcesContent":["/**\n * Internal dependencies\n */\nimport webTransforms from './transforms.js';\nimport transformationCategories from '../transformationCategories';\n\nconst transforms = {\n\t...webTransforms,\n\tsupportedMobileTransforms: transformationCategories.media,\n};\n\nexport default transforms;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/transforms.native.js"],"names":["webTransforms","transformationCategories","transforms","supportedMobileTransforms","media"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,aAAP,MAA0B,iBAA1B;AACA,OAAOC,wBAAP,MAAqC,oCAArC;AAEA,MAAMC,UAAU,GAAG,EAClB,GAAGF,aADe;AAElBG,EAAAA,yBAAyB,EAAEF,wBAAwB,CAACG;AAFlC,CAAnB;AAKA,eAAeF,UAAf","sourcesContent":["/**\n * Internal dependencies\n */\nimport webTransforms from './transforms.js';\nimport transformationCategories from '../utils/transformation-categories';\n\nconst transforms = {\n\t...webTransforms,\n\tsupportedMobileTransforms: transformationCategories.media,\n};\n\nexport default transforms;\n"]}
@@ -4,7 +4,7 @@ import { createElement, Fragment } from "@wordpress/element";
4
4
  /**
5
5
  * External dependencies
6
6
  */
7
- import { every, filter, find, forEach, get, isEmpty, map, reduce, some } from 'lodash';
7
+ import { every, filter, find, get, isEmpty, map, reduce, some } from 'lodash';
8
8
  /**
9
9
  * WordPress dependencies
10
10
  */
@@ -321,7 +321,7 @@ function GalleryEdit(props) {
321
321
  } = _ref5;
322
322
  return getBlobByURL(url);
323
323
  });
324
- forEach(images, _ref6 => {
324
+ images.forEach(_ref6 => {
325
325
  let {
326
326
  url
327
327
  } = _ref6;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/v1/edit.js"],"names":["every","filter","find","forEach","get","isEmpty","map","reduce","some","compose","PanelBody","SelectControl","ToggleControl","withNotices","RangeControl","MediaPlaceholder","InspectorControls","useBlockProps","store","blockEditorStore","Platform","useEffect","useState","useMemo","__","getBlobByURL","isBlobURL","revokeBlobURL","useDispatch","useSelect","withViewportMatch","View","coreStore","sharedIcon","pickRelevantMediaFiles","defaultColumnsNumberV1","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","MAX_COLUMNS","linkOptions","value","label","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","select","web","native","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","attributes","clientId","isSelected","noticeUI","noticeOperations","onFocus","columns","imageCrop","images","linkTo","sizeSlug","selectedImage","setSelectedImage","attachmentCaptions","setAttachmentCaptions","__unstableMarkNextChangeAsNotPersistent","imageSizes","mediaUpload","getMedia","wasBlockJustInserted","settings","getSettings","resizedImages","ids","currentResizedImages","id","image","sizes","currentSizes","size","defaultUrl","slug","mediaDetailsUrl","parseInt","onFocusGalleryCaption","setAttributes","newAttrs","Error","onSelectImage","index","onDeselectImage","onMove","oldIndex","newIndex","newImages","splice","onMoveForward","length","onMoveBackward","onRemoveImage","img","i","Math","min","selectCaption","newImage","newImageId","toString","currentImage","currentImageCaption","caption","attachment","onSelectImages","onUploadError","message","removeAllNotices","createErrorNotice","setLinkTo","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","setImageAttributes","newAttributes","slice","getImagesSizeOptions","name","updateImagesSize","newSizeSlug","updatedImages","url","OS","filesList","onFileChange","allowedTypes","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","mediaPlaceholder","title","instructions","undefined","blockProps","imageSizeOptions","shouldShowSizeOptions","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tevery,\n\tfilter,\n\tfind,\n\tforEach,\n\tget,\n\tisEmpty,\n\tmap,\n\treduce,\n\tsome,\n} from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\twithNotices,\n\tRangeControl,\n} from '@wordpress/components';\nimport {\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useState, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from '../shared-icon';\nimport { pickRelevantMediaFiles } from './shared';\nimport { defaultColumnsNumberV1 } from '../deprecated';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\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{ value: LINK_DESTINATION_NONE, label: __( 'None' ) },\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.select( {\n\tweb: __(\n\t\t'Drag images, upload new ones or select files from your library.'\n\t),\n\tnative: __( 'ADD MEDIA' ),\n} );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.select( {\n\tweb: {},\n\tnative: { type: 'stepper' },\n} );\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tclientId,\n\t\tisSelected,\n\t\tnoticeUI,\n\t\tnoticeOperations,\n\t\tonFocus,\n\t} = props;\n\tconst {\n\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\timageCrop,\n\t\timages,\n\t\tlinkTo,\n\t\tsizeSlug,\n\t} = attributes;\n\tconst [ selectedImage, setSelectedImage ] = useState();\n\tconst [ attachmentCaptions, setAttachmentCaptions ] = useState();\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { imageSizes, mediaUpload, getMedia, wasBlockJustInserted } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\n\t\t\treturn {\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tmediaUpload: settings.mediaUpload,\n\t\t\t\tgetMedia: select( coreStore ).getMedia,\n\t\t\t\twasBlockJustInserted: select(\n\t\t\t\t\tblockEditorStore\n\t\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t\t};\n\t\t} );\n\n\tconst resizedImages = useMemo( () => {\n\t\tif ( isSelected ) {\n\t\t\treturn reduce(\n\t\t\t\tattributes.ids,\n\t\t\t\t( currentResizedImages, id ) => {\n\t\t\t\t\tif ( ! id ) {\n\t\t\t\t\t\treturn currentResizedImages;\n\t\t\t\t\t}\n\t\t\t\t\tconst image = getMedia( id );\n\t\t\t\t\tconst sizes = reduce(\n\t\t\t\t\t\timageSizes,\n\t\t\t\t\t\t( currentSizes, size ) => {\n\t\t\t\t\t\t\tconst defaultUrl = get( image, [\n\t\t\t\t\t\t\t\t'sizes',\n\t\t\t\t\t\t\t\tsize.slug,\n\t\t\t\t\t\t\t\t'url',\n\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\tconst mediaDetailsUrl = get( image, [\n\t\t\t\t\t\t\t\t'media_details',\n\t\t\t\t\t\t\t\t'sizes',\n\t\t\t\t\t\t\t\tsize.slug,\n\t\t\t\t\t\t\t\t'source_url',\n\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...currentSizes,\n\t\t\t\t\t\t\t\t[ size.slug ]: defaultUrl || mediaDetailsUrl,\n\t\t\t\t\t\t\t};\n\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 {\n\t\t\t\t\t\t...currentResizedImages,\n\t\t\t\t\t\t[ parseInt( id, 10 ) ]: sizes,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t}\n\t\treturn {};\n\t}, [ isSelected, attributes.ids, imageSizes ] );\n\n\tfunction onFocusGalleryCaption() {\n\t\tsetSelectedImage();\n\t}\n\n\tfunction setAttributes( newAttrs ) {\n\t\tif ( newAttrs.ids ) {\n\t\t\tthrow new Error(\n\t\t\t\t'The \"ids\" attribute should not be changed directly. It is managed automatically when \"images\" attribute changes'\n\t\t\t);\n\t\t}\n\n\t\tif ( newAttrs.images ) {\n\t\t\tnewAttrs = {\n\t\t\t\t...newAttrs,\n\t\t\t\t// Unlike images[ n ].id which is a string, always ensure the\n\t\t\t\t// ids array contains numbers as per its attribute type.\n\t\t\t\tids: map( newAttrs.images, ( { id } ) => parseInt( id, 10 ) ),\n\t\t\t};\n\t\t}\n\n\t\tprops.setAttributes( newAttrs );\n\t}\n\n\tfunction onSelectImage( index ) {\n\t\treturn () => {\n\t\t\tsetSelectedImage( index );\n\t\t};\n\t}\n\n\tfunction onDeselectImage() {\n\t\treturn () => {\n\t\t\tsetSelectedImage();\n\t\t};\n\t}\n\n\tfunction onMove( oldIndex, newIndex ) {\n\t\tconst newImages = [ ...images ];\n\t\tnewImages.splice( newIndex, 1, images[ oldIndex ] );\n\t\tnewImages.splice( oldIndex, 1, images[ newIndex ] );\n\t\tsetSelectedImage( newIndex );\n\t\tsetAttributes( { images: newImages } );\n\t}\n\n\tfunction onMoveForward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === images.length - 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex + 1 );\n\t\t};\n\t}\n\n\tfunction onMoveBackward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex - 1 );\n\t\t};\n\t}\n\n\tfunction onRemoveImage( index ) {\n\t\treturn () => {\n\t\t\tconst newImages = filter( images, ( img, i ) => index !== i );\n\t\t\tsetSelectedImage();\n\t\t\tsetAttributes( {\n\t\t\t\timages: newImages,\n\t\t\t\tcolumns: attributes.columns\n\t\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t\t: attributes.columns,\n\t\t\t} );\n\t\t};\n\t}\n\n\tfunction selectCaption( newImage ) {\n\t\t// The image id in both the images and attachmentCaptions arrays is a\n\t\t// string, so ensure comparison works correctly by converting the\n\t\t// newImage.id to a string.\n\t\tconst newImageId = newImage.id.toString();\n\t\tconst currentImage = find( images, { id: newImageId } );\n\t\tconst currentImageCaption = currentImage\n\t\t\t? currentImage.caption\n\t\t\t: newImage.caption;\n\n\t\tif ( ! attachmentCaptions ) {\n\t\t\treturn currentImageCaption;\n\t\t}\n\n\t\tconst attachment = find( attachmentCaptions, {\n\t\t\tid: newImageId,\n\t\t} );\n\n\t\t// If the attachment caption is updated.\n\t\tif ( attachment && attachment.caption !== newImage.caption ) {\n\t\t\treturn newImage.caption;\n\t\t}\n\n\t\treturn currentImageCaption;\n\t}\n\n\tfunction onSelectImages( newImages ) {\n\t\tsetAttachmentCaptions(\n\t\t\tnewImages.map( ( newImage ) => ( {\n\t\t\t\t// Store the attachmentCaption id as a string for consistency\n\t\t\t\t// with the type of the id in the images attribute.\n\t\t\t\tid: newImage.id.toString(),\n\t\t\t\tcaption: newImage.caption,\n\t\t\t} ) )\n\t\t);\n\t\tsetAttributes( {\n\t\t\timages: newImages.map( ( newImage ) => ( {\n\t\t\t\t...pickRelevantMediaFiles( newImage, sizeSlug ),\n\t\t\t\tcaption: selectCaption( newImage, images, attachmentCaptions ),\n\t\t\t\t// The id value is stored in a data attribute, so when the\n\t\t\t\t// block is parsed it's converted to a string. Converting\n\t\t\t\t// to a string here ensures it's type is consistent.\n\t\t\t\tid: newImage.id.toString(),\n\t\t\t} ) ),\n\t\t\tcolumns: attributes.columns\n\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t: attributes.columns,\n\t\t} );\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\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 setImageAttributes( index, newAttributes ) {\n\t\tif ( ! images[ index ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\timages: [\n\t\t\t\t...images.slice( 0, index ),\n\t\t\t\t{\n\t\t\t\t\t...images[ index ],\n\t\t\t\t\t...newAttributes,\n\t\t\t\t},\n\t\t\t\t...images.slice( index + 1 ),\n\t\t\t],\n\t\t} );\n\t}\n\n\tfunction getImagesSizeOptions() {\n\t\treturn map(\n\t\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\t\tsome( resizedImages, ( sizes ) => sizes[ slug ] )\n\t\t\t),\n\t\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t\t);\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tconst updatedImages = map( images, ( image ) => {\n\t\t\tif ( ! image.id ) {\n\t\t\t\treturn image;\n\t\t\t}\n\t\t\tconst url = get( resizedImages, [\n\t\t\t\tparseInt( image.id, 10 ),\n\t\t\t\tnewSizeSlug,\n\t\t\t] );\n\t\t\treturn {\n\t\t\t\t...image,\n\t\t\t\t...( url && { url } ),\n\t\t\t};\n\t\t} );\n\n\t\tsetAttributes( { images: updatedImages, sizeSlug: newSizeSlug } );\n\t}\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tPlatform.OS === 'web' &&\n\t\t\timages &&\n\t\t\timages.length > 0 &&\n\t\t\tevery( images, ( { url } ) => isBlobURL( url ) )\n\t\t) {\n\t\t\tconst filesList = map( images, ( { url } ) => getBlobByURL( url ) );\n\t\t\tforEach( images, ( { url } ) => revokeBlobURL( url ) );\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList,\n\t\t\t\tonFileChange: onSelectImages,\n\t\t\t\tallowedTypes: [ 'image' ],\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Deselect images when deselecting the block.\n\t\tif ( ! isSelected ) {\n\t\t\tsetSelectedImage();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing\n\t\t// 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\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\taddToGallery={ hasImageIds }\n\t\t\tisAppender={ hasImages }\n\t\t\tdisableMediaButtons={ hasImages && ! isSelected }\n\t\t\ticon={ ! hasImages && sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: ! hasImages && __( 'Gallery' ),\n\t\t\t\tinstructions: ! hasImages && PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ onSelectImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tvalue={ hasImageIds ? images : {} }\n\t\t\tonError={ onUploadError }\n\t\t\tnotices={ hasImages ? undefined : noticeUI }\n\t\t\tonFocus={ onFocus }\n\t\t\tautoOpenMediaUpload={\n\t\t\t\t! hasImages && isSelected && wasBlockJustInserted\n\t\t\t}\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps();\n\n\tif ( ! hasImages ) {\n\t\treturn <View { ...blockProps }>{ mediaPlaceholder }</View>;\n\t}\n\n\tconst imageSizeOptions = getImagesSizeOptions();\n\tconst shouldShowSizeOptions = hasImages && ! isEmpty( imageSizeOptions );\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={ columns }\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{ shouldShowSizeOptions && (\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ noticeUI }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tselectedImage={ selectedImage }\n\t\t\t\tmediaPlaceholder={ mediaPlaceholder }\n\t\t\t\tonMoveBackward={ onMoveBackward }\n\t\t\t\tonMoveForward={ onMoveForward }\n\t\t\t\tonRemoveImage={ onRemoveImage }\n\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\tonDeselectImage={ onDeselectImage }\n\t\t\t\tonSetImageAttributes={ setImageAttributes }\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\t// This prop is used by gallery.native.js.\n\t\t\t\tonFocusGalleryCaption={ onFocusGalleryCaption }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithNotices,\n\twithViewportMatch( { isNarrow: '< small' } ),\n] )( GalleryEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/v1/edit.js"],"names":["every","filter","find","get","isEmpty","map","reduce","some","compose","PanelBody","SelectControl","ToggleControl","withNotices","RangeControl","MediaPlaceholder","InspectorControls","useBlockProps","store","blockEditorStore","Platform","useEffect","useState","useMemo","__","getBlobByURL","isBlobURL","revokeBlobURL","useDispatch","useSelect","withViewportMatch","View","coreStore","sharedIcon","pickRelevantMediaFiles","defaultColumnsNumberV1","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","MAX_COLUMNS","linkOptions","value","label","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","select","web","native","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","attributes","clientId","isSelected","noticeUI","noticeOperations","onFocus","columns","imageCrop","images","linkTo","sizeSlug","selectedImage","setSelectedImage","attachmentCaptions","setAttachmentCaptions","__unstableMarkNextChangeAsNotPersistent","imageSizes","mediaUpload","getMedia","wasBlockJustInserted","settings","getSettings","resizedImages","ids","currentResizedImages","id","image","sizes","currentSizes","size","defaultUrl","slug","mediaDetailsUrl","parseInt","onFocusGalleryCaption","setAttributes","newAttrs","Error","onSelectImage","index","onDeselectImage","onMove","oldIndex","newIndex","newImages","splice","onMoveForward","length","onMoveBackward","onRemoveImage","img","i","Math","min","selectCaption","newImage","newImageId","toString","currentImage","currentImageCaption","caption","attachment","onSelectImages","onUploadError","message","removeAllNotices","createErrorNotice","setLinkTo","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","setImageAttributes","newAttributes","slice","getImagesSizeOptions","name","updateImagesSize","newSizeSlug","updatedImages","url","OS","filesList","forEach","onFileChange","allowedTypes","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","mediaPlaceholder","title","instructions","undefined","blockProps","imageSizeOptions","shouldShowSizeOptions","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { every, filter, find, get, isEmpty, map, reduce, some } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\twithNotices,\n\tRangeControl,\n} from '@wordpress/components';\nimport {\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useState, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from '../shared-icon';\nimport { pickRelevantMediaFiles } from './shared';\nimport { defaultColumnsNumberV1 } from '../deprecated';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\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{ value: LINK_DESTINATION_NONE, label: __( 'None' ) },\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.select( {\n\tweb: __(\n\t\t'Drag images, upload new ones or select files from your library.'\n\t),\n\tnative: __( 'ADD MEDIA' ),\n} );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.select( {\n\tweb: {},\n\tnative: { type: 'stepper' },\n} );\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tclientId,\n\t\tisSelected,\n\t\tnoticeUI,\n\t\tnoticeOperations,\n\t\tonFocus,\n\t} = props;\n\tconst {\n\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\timageCrop,\n\t\timages,\n\t\tlinkTo,\n\t\tsizeSlug,\n\t} = attributes;\n\tconst [ selectedImage, setSelectedImage ] = useState();\n\tconst [ attachmentCaptions, setAttachmentCaptions ] = useState();\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { imageSizes, mediaUpload, getMedia, wasBlockJustInserted } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\n\t\t\treturn {\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tmediaUpload: settings.mediaUpload,\n\t\t\t\tgetMedia: select( coreStore ).getMedia,\n\t\t\t\twasBlockJustInserted: select(\n\t\t\t\t\tblockEditorStore\n\t\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t\t};\n\t\t} );\n\n\tconst resizedImages = useMemo( () => {\n\t\tif ( isSelected ) {\n\t\t\treturn reduce(\n\t\t\t\tattributes.ids,\n\t\t\t\t( currentResizedImages, id ) => {\n\t\t\t\t\tif ( ! id ) {\n\t\t\t\t\t\treturn currentResizedImages;\n\t\t\t\t\t}\n\t\t\t\t\tconst image = getMedia( id );\n\t\t\t\t\tconst sizes = reduce(\n\t\t\t\t\t\timageSizes,\n\t\t\t\t\t\t( currentSizes, size ) => {\n\t\t\t\t\t\t\tconst defaultUrl = get( image, [\n\t\t\t\t\t\t\t\t'sizes',\n\t\t\t\t\t\t\t\tsize.slug,\n\t\t\t\t\t\t\t\t'url',\n\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\tconst mediaDetailsUrl = get( image, [\n\t\t\t\t\t\t\t\t'media_details',\n\t\t\t\t\t\t\t\t'sizes',\n\t\t\t\t\t\t\t\tsize.slug,\n\t\t\t\t\t\t\t\t'source_url',\n\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...currentSizes,\n\t\t\t\t\t\t\t\t[ size.slug ]: defaultUrl || mediaDetailsUrl,\n\t\t\t\t\t\t\t};\n\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 {\n\t\t\t\t\t\t...currentResizedImages,\n\t\t\t\t\t\t[ parseInt( id, 10 ) ]: sizes,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t}\n\t\treturn {};\n\t}, [ isSelected, attributes.ids, imageSizes ] );\n\n\tfunction onFocusGalleryCaption() {\n\t\tsetSelectedImage();\n\t}\n\n\tfunction setAttributes( newAttrs ) {\n\t\tif ( newAttrs.ids ) {\n\t\t\tthrow new Error(\n\t\t\t\t'The \"ids\" attribute should not be changed directly. It is managed automatically when \"images\" attribute changes'\n\t\t\t);\n\t\t}\n\n\t\tif ( newAttrs.images ) {\n\t\t\tnewAttrs = {\n\t\t\t\t...newAttrs,\n\t\t\t\t// Unlike images[ n ].id which is a string, always ensure the\n\t\t\t\t// ids array contains numbers as per its attribute type.\n\t\t\t\tids: map( newAttrs.images, ( { id } ) => parseInt( id, 10 ) ),\n\t\t\t};\n\t\t}\n\n\t\tprops.setAttributes( newAttrs );\n\t}\n\n\tfunction onSelectImage( index ) {\n\t\treturn () => {\n\t\t\tsetSelectedImage( index );\n\t\t};\n\t}\n\n\tfunction onDeselectImage() {\n\t\treturn () => {\n\t\t\tsetSelectedImage();\n\t\t};\n\t}\n\n\tfunction onMove( oldIndex, newIndex ) {\n\t\tconst newImages = [ ...images ];\n\t\tnewImages.splice( newIndex, 1, images[ oldIndex ] );\n\t\tnewImages.splice( oldIndex, 1, images[ newIndex ] );\n\t\tsetSelectedImage( newIndex );\n\t\tsetAttributes( { images: newImages } );\n\t}\n\n\tfunction onMoveForward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === images.length - 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex + 1 );\n\t\t};\n\t}\n\n\tfunction onMoveBackward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex - 1 );\n\t\t};\n\t}\n\n\tfunction onRemoveImage( index ) {\n\t\treturn () => {\n\t\t\tconst newImages = filter( images, ( img, i ) => index !== i );\n\t\t\tsetSelectedImage();\n\t\t\tsetAttributes( {\n\t\t\t\timages: newImages,\n\t\t\t\tcolumns: attributes.columns\n\t\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t\t: attributes.columns,\n\t\t\t} );\n\t\t};\n\t}\n\n\tfunction selectCaption( newImage ) {\n\t\t// The image id in both the images and attachmentCaptions arrays is a\n\t\t// string, so ensure comparison works correctly by converting the\n\t\t// newImage.id to a string.\n\t\tconst newImageId = newImage.id.toString();\n\t\tconst currentImage = find( images, { id: newImageId } );\n\t\tconst currentImageCaption = currentImage\n\t\t\t? currentImage.caption\n\t\t\t: newImage.caption;\n\n\t\tif ( ! attachmentCaptions ) {\n\t\t\treturn currentImageCaption;\n\t\t}\n\n\t\tconst attachment = find( attachmentCaptions, {\n\t\t\tid: newImageId,\n\t\t} );\n\n\t\t// If the attachment caption is updated.\n\t\tif ( attachment && attachment.caption !== newImage.caption ) {\n\t\t\treturn newImage.caption;\n\t\t}\n\n\t\treturn currentImageCaption;\n\t}\n\n\tfunction onSelectImages( newImages ) {\n\t\tsetAttachmentCaptions(\n\t\t\tnewImages.map( ( newImage ) => ( {\n\t\t\t\t// Store the attachmentCaption id as a string for consistency\n\t\t\t\t// with the type of the id in the images attribute.\n\t\t\t\tid: newImage.id.toString(),\n\t\t\t\tcaption: newImage.caption,\n\t\t\t} ) )\n\t\t);\n\t\tsetAttributes( {\n\t\t\timages: newImages.map( ( newImage ) => ( {\n\t\t\t\t...pickRelevantMediaFiles( newImage, sizeSlug ),\n\t\t\t\tcaption: selectCaption( newImage, images, attachmentCaptions ),\n\t\t\t\t// The id value is stored in a data attribute, so when the\n\t\t\t\t// block is parsed it's converted to a string. Converting\n\t\t\t\t// to a string here ensures it's type is consistent.\n\t\t\t\tid: newImage.id.toString(),\n\t\t\t} ) ),\n\t\t\tcolumns: attributes.columns\n\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t: attributes.columns,\n\t\t} );\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\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 setImageAttributes( index, newAttributes ) {\n\t\tif ( ! images[ index ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\timages: [\n\t\t\t\t...images.slice( 0, index ),\n\t\t\t\t{\n\t\t\t\t\t...images[ index ],\n\t\t\t\t\t...newAttributes,\n\t\t\t\t},\n\t\t\t\t...images.slice( index + 1 ),\n\t\t\t],\n\t\t} );\n\t}\n\n\tfunction getImagesSizeOptions() {\n\t\treturn map(\n\t\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\t\tsome( resizedImages, ( sizes ) => sizes[ slug ] )\n\t\t\t),\n\t\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t\t);\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tconst updatedImages = map( images, ( image ) => {\n\t\t\tif ( ! image.id ) {\n\t\t\t\treturn image;\n\t\t\t}\n\t\t\tconst url = get( resizedImages, [\n\t\t\t\tparseInt( image.id, 10 ),\n\t\t\t\tnewSizeSlug,\n\t\t\t] );\n\t\t\treturn {\n\t\t\t\t...image,\n\t\t\t\t...( url && { url } ),\n\t\t\t};\n\t\t} );\n\n\t\tsetAttributes( { images: updatedImages, sizeSlug: newSizeSlug } );\n\t}\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tPlatform.OS === 'web' &&\n\t\t\timages &&\n\t\t\timages.length > 0 &&\n\t\t\tevery( images, ( { url } ) => isBlobURL( url ) )\n\t\t) {\n\t\t\tconst filesList = map( images, ( { url } ) => getBlobByURL( url ) );\n\t\t\timages.forEach( ( { url } ) => revokeBlobURL( url ) );\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList,\n\t\t\t\tonFileChange: onSelectImages,\n\t\t\t\tallowedTypes: [ 'image' ],\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Deselect images when deselecting the block.\n\t\tif ( ! isSelected ) {\n\t\t\tsetSelectedImage();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing\n\t\t// 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\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\taddToGallery={ hasImageIds }\n\t\t\tisAppender={ hasImages }\n\t\t\tdisableMediaButtons={ hasImages && ! isSelected }\n\t\t\ticon={ ! hasImages && sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: ! hasImages && __( 'Gallery' ),\n\t\t\t\tinstructions: ! hasImages && PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ onSelectImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tvalue={ hasImageIds ? images : {} }\n\t\t\tonError={ onUploadError }\n\t\t\tnotices={ hasImages ? undefined : noticeUI }\n\t\t\tonFocus={ onFocus }\n\t\t\tautoOpenMediaUpload={\n\t\t\t\t! hasImages && isSelected && wasBlockJustInserted\n\t\t\t}\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps();\n\n\tif ( ! hasImages ) {\n\t\treturn <View { ...blockProps }>{ mediaPlaceholder }</View>;\n\t}\n\n\tconst imageSizeOptions = getImagesSizeOptions();\n\tconst shouldShowSizeOptions = hasImages && ! isEmpty( imageSizeOptions );\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={ columns }\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{ shouldShowSizeOptions && (\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ noticeUI }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tselectedImage={ selectedImage }\n\t\t\t\tmediaPlaceholder={ mediaPlaceholder }\n\t\t\t\tonMoveBackward={ onMoveBackward }\n\t\t\t\tonMoveForward={ onMoveForward }\n\t\t\t\tonRemoveImage={ onRemoveImage }\n\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\tonDeselectImage={ onDeselectImage }\n\t\t\t\tonSetImageAttributes={ setImageAttributes }\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\t// This prop is used by gallery.native.js.\n\t\t\t\tonFocusGalleryCaption={ onFocusGalleryCaption }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithNotices,\n\twithViewportMatch( { isNarrow: '< small' } ),\n] )( GalleryEdit );\n"]}
@@ -4,7 +4,7 @@ import { createElement, Fragment } from "@wordpress/element";
4
4
  * External dependencies
5
5
  */
6
6
  import classnames from 'classnames';
7
- import { get, omit } from 'lodash';
7
+ import { get } from 'lodash';
8
8
  /**
9
9
  * WordPress dependencies
10
10
  */
@@ -105,14 +105,22 @@ class GalleryImage extends Component {
105
105
 
106
106
  if (isTemporaryImage(id, url)) {
107
107
  if (alt) {
108
- mediaAttributes = omit(mediaAttributes, ['alt']);
108
+ const {
109
+ alt: omittedAlt,
110
+ ...restMediaAttributes
111
+ } = mediaAttributes;
112
+ mediaAttributes = restMediaAttributes;
109
113
  }
110
114
  } // If a caption text was meanwhile written by the user,
111
115
  // make sure the text is not overwritten by empty captions.
112
116
 
113
117
 
114
118
  if (caption && !get(mediaAttributes, ['caption'])) {
115
- mediaAttributes = omit(mediaAttributes, ['caption']);
119
+ const {
120
+ caption: omittedCaption,
121
+ ...restMediaAttributes
122
+ } = mediaAttributes;
123
+ mediaAttributes = restMediaAttributes;
116
124
  }
117
125
 
118
126
  setAttributes(mediaAttributes);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/v1/gallery-image.js"],"names":["classnames","get","omit","Component","Button","Spinner","ButtonGroup","__","BACKSPACE","DELETE","withSelect","withDispatch","RichText","MediaPlaceholder","store","blockEditorStore","__experimentalGetElementClassName","isBlobURL","compose","closeSmall","chevronLeft","chevronRight","edit","image","imageIcon","coreStore","pickRelevantMediaFiles","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","isTemporaryImage","id","url","GalleryImage","constructor","arguments","onSelectImage","bind","onRemoveImage","bindContainer","onEdit","onSelectImageFromLibrary","onSelectCustomURL","state","isEditing","ref","container","props","isSelected","onSelect","event","ownerDocument","activeElement","indexOf","keyCode","preventDefault","onRemove","setState","componentDidUpdate","__unstableMarkNextChangeAsNotPersistent","setAttributes","source_url","alt","alt_text","deselectOnBlur","onDeselect","media","caption","sizeSlug","mediaAttributes","newURL","undefined","render","linkTo","link","isFirstItem","isLastItem","onMoveForward","onMoveBackward","ariaLabel","href","img","className","title","src","newCaption","select","ownProps","getMedia","parseInt","dispatch"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { get, omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { Button, Spinner, ButtonGroup } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { BACKSPACE, DELETE } from '@wordpress/keycodes';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport {\n\tRichText,\n\tMediaPlaceholder,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { isBlobURL } from '@wordpress/blob';\nimport { compose } from '@wordpress/compose';\nimport {\n\tcloseSmall,\n\tchevronLeft,\n\tchevronRight,\n\tedit,\n\timage as imageIcon,\n} from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { pickRelevantMediaFiles } from './shared';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n} from './constants';\n\nconst isTemporaryImage = ( id, url ) => ! id && isBlobURL( url );\n\nclass GalleryImage extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onSelectImage = this.onSelectImage.bind( this );\n\t\tthis.onRemoveImage = this.onRemoveImage.bind( this );\n\t\tthis.bindContainer = this.bindContainer.bind( this );\n\t\tthis.onEdit = this.onEdit.bind( this );\n\t\tthis.onSelectImageFromLibrary =\n\t\t\tthis.onSelectImageFromLibrary.bind( this );\n\t\tthis.onSelectCustomURL = this.onSelectCustomURL.bind( this );\n\t\tthis.state = {\n\t\t\tisEditing: false,\n\t\t};\n\t}\n\n\tbindContainer( ref ) {\n\t\tthis.container = ref;\n\t}\n\n\tonSelectImage() {\n\t\tif ( ! this.props.isSelected ) {\n\t\t\tthis.props.onSelect();\n\t\t}\n\t}\n\n\tonRemoveImage( event ) {\n\t\tif (\n\t\t\tthis.container === this.container.ownerDocument.activeElement &&\n\t\t\tthis.props.isSelected &&\n\t\t\t[ BACKSPACE, DELETE ].indexOf( event.keyCode ) !== -1\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\tthis.props.onRemove();\n\t\t}\n\t}\n\n\tonEdit() {\n\t\tthis.setState( {\n\t\t\tisEditing: true,\n\t\t} );\n\t}\n\n\tcomponentDidUpdate() {\n\t\tconst { image, url, __unstableMarkNextChangeAsNotPersistent } =\n\t\t\tthis.props;\n\t\tif ( image && ! url ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tthis.props.setAttributes( {\n\t\t\t\turl: image.source_url,\n\t\t\t\talt: image.alt_text,\n\t\t\t} );\n\t\t}\n\t}\n\n\tdeselectOnBlur() {\n\t\tthis.props.onDeselect();\n\t}\n\n\tonSelectImageFromLibrary( media ) {\n\t\tconst { setAttributes, id, url, alt, caption, sizeSlug } = this.props;\n\t\tif ( ! media || ! media.url ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet mediaAttributes = pickRelevantMediaFiles( media, sizeSlug );\n\n\t\t// If the current image is temporary but an alt text was meanwhile\n\t\t// written by the user, make sure the text is not overwritten.\n\t\tif ( isTemporaryImage( id, url ) ) {\n\t\t\tif ( alt ) {\n\t\t\t\tmediaAttributes = omit( mediaAttributes, [ 'alt' ] );\n\t\t\t}\n\t\t}\n\n\t\t// If a caption text was meanwhile written by the user,\n\t\t// make sure the text is not overwritten by empty captions.\n\t\tif ( caption && ! get( mediaAttributes, [ 'caption' ] ) ) {\n\t\t\tmediaAttributes = omit( mediaAttributes, [ 'caption' ] );\n\t\t}\n\n\t\tsetAttributes( mediaAttributes );\n\t\tthis.setState( {\n\t\t\tisEditing: false,\n\t\t} );\n\t}\n\n\tonSelectCustomURL( newURL ) {\n\t\tconst { setAttributes, url } = this.props;\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: newURL,\n\t\t\t\tid: undefined,\n\t\t\t} );\n\t\t\tthis.setState( {\n\t\t\t\tisEditing: false,\n\t\t\t} );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\turl,\n\t\t\talt,\n\t\t\tid,\n\t\t\tlinkTo,\n\t\t\tlink,\n\t\t\tisFirstItem,\n\t\t\tisLastItem,\n\t\t\tisSelected,\n\t\t\tcaption,\n\t\t\tonRemove,\n\t\t\tonMoveForward,\n\t\t\tonMoveBackward,\n\t\t\tsetAttributes,\n\t\t\t'aria-label': ariaLabel,\n\t\t} = this.props;\n\t\tconst { isEditing } = this.state;\n\n\t\tlet href;\n\n\t\tswitch ( linkTo ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\thref = url;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\thref = link;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tconst img = (\n\t\t\t// Disable reason: Image itself is not meant to be interactive, but should\n\t\t\t// direct image selection and unfocus caption fields.\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\n\t\t\t<>\n\t\t\t\t<img\n\t\t\t\t\tsrc={ url }\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tdata-id={ id }\n\t\t\t\t\tonKeyDown={ this.onRemoveImage }\n\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\taria-label={ ariaLabel }\n\t\t\t\t\tref={ this.bindContainer }\n\t\t\t\t/>\n\t\t\t\t{ isBlobURL( url ) && <Spinner /> }\n\t\t\t</>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions */\n\t\t);\n\n\t\tconst className = classnames( {\n\t\t\t'is-selected': isSelected,\n\t\t\t'is-transient': isBlobURL( url ),\n\t\t} );\n\n\t\treturn (\n\t\t\t// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-noninteractive-element-interactions\n\t\t\t<figure\n\t\t\t\tclassName={ className }\n\t\t\t\tonClick={ this.onSelectImage }\n\t\t\t\tonFocus={ this.onSelectImage }\n\t\t\t>\n\t\t\t\t{ ! isEditing && ( href ? <a href={ href }>{ img }</a> : img ) }\n\t\t\t\t{ isEditing && (\n\t\t\t\t\t<MediaPlaceholder\n\t\t\t\t\t\tlabels={ { title: __( 'Edit gallery image' ) } }\n\t\t\t\t\t\ticon={ imageIcon }\n\t\t\t\t\t\tonSelect={ this.onSelectImageFromLibrary }\n\t\t\t\t\t\tonSelectURL={ this.onSelectCustomURL }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tallowedTypes={ [ 'image' ] }\n\t\t\t\t\t\tvalue={ { id, src: url } }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<ButtonGroup className=\"block-library-gallery-item__inline-menu is-left\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticon={ chevronLeft }\n\t\t\t\t\t\tonClick={ isFirstItem ? undefined : onMoveBackward }\n\t\t\t\t\t\tlabel={ __( 'Move image backward' ) }\n\t\t\t\t\t\taria-disabled={ isFirstItem }\n\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t/>\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticon={ chevronRight }\n\t\t\t\t\t\tonClick={ isLastItem ? undefined : onMoveForward }\n\t\t\t\t\t\tlabel={ __( 'Move image forward' ) }\n\t\t\t\t\t\taria-disabled={ isLastItem }\n\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t/>\n\t\t\t\t</ButtonGroup>\n\t\t\t\t<ButtonGroup className=\"block-library-gallery-item__inline-menu is-right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\tonClick={ this.onEdit }\n\t\t\t\t\t\tlabel={ __( 'Replace image' ) }\n\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t/>\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t\tlabel={ __( 'Remove image' ) }\n\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t/>\n\t\t\t\t</ButtonGroup>\n\t\t\t\t{ ! isEditing && ( isSelected || caption ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\taria-label={ __( 'Image caption text' ) }\n\t\t\t\t\t\tplaceholder={ isSelected ? __( 'Add caption' ) : null }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( newCaption ) =>\n\t\t\t\t\t\t\tsetAttributes( { caption: newCaption } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, ownProps ) => {\n\t\tconst { getMedia } = select( coreStore );\n\t\tconst { id } = ownProps;\n\n\t\treturn {\n\t\t\timage: id ? getMedia( parseInt( id, 10 ) ) : null,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\t\tdispatch( blockEditorStore );\n\t\treturn {\n\t\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\t};\n\t} ),\n] )( GalleryImage );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/v1/gallery-image.js"],"names":["classnames","get","Component","Button","Spinner","ButtonGroup","__","BACKSPACE","DELETE","withSelect","withDispatch","RichText","MediaPlaceholder","store","blockEditorStore","__experimentalGetElementClassName","isBlobURL","compose","closeSmall","chevronLeft","chevronRight","edit","image","imageIcon","coreStore","pickRelevantMediaFiles","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","isTemporaryImage","id","url","GalleryImage","constructor","arguments","onSelectImage","bind","onRemoveImage","bindContainer","onEdit","onSelectImageFromLibrary","onSelectCustomURL","state","isEditing","ref","container","props","isSelected","onSelect","event","ownerDocument","activeElement","indexOf","keyCode","preventDefault","onRemove","setState","componentDidUpdate","__unstableMarkNextChangeAsNotPersistent","setAttributes","source_url","alt","alt_text","deselectOnBlur","onDeselect","media","caption","sizeSlug","mediaAttributes","omittedAlt","restMediaAttributes","omittedCaption","newURL","undefined","render","linkTo","link","isFirstItem","isLastItem","onMoveForward","onMoveBackward","ariaLabel","href","img","className","title","src","newCaption","select","ownProps","getMedia","parseInt","dispatch"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { Button, Spinner, ButtonGroup } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { BACKSPACE, DELETE } from '@wordpress/keycodes';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport {\n\tRichText,\n\tMediaPlaceholder,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { isBlobURL } from '@wordpress/blob';\nimport { compose } from '@wordpress/compose';\nimport {\n\tcloseSmall,\n\tchevronLeft,\n\tchevronRight,\n\tedit,\n\timage as imageIcon,\n} from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { pickRelevantMediaFiles } from './shared';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n} from './constants';\n\nconst isTemporaryImage = ( id, url ) => ! id && isBlobURL( url );\n\nclass GalleryImage extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onSelectImage = this.onSelectImage.bind( this );\n\t\tthis.onRemoveImage = this.onRemoveImage.bind( this );\n\t\tthis.bindContainer = this.bindContainer.bind( this );\n\t\tthis.onEdit = this.onEdit.bind( this );\n\t\tthis.onSelectImageFromLibrary =\n\t\t\tthis.onSelectImageFromLibrary.bind( this );\n\t\tthis.onSelectCustomURL = this.onSelectCustomURL.bind( this );\n\t\tthis.state = {\n\t\t\tisEditing: false,\n\t\t};\n\t}\n\n\tbindContainer( ref ) {\n\t\tthis.container = ref;\n\t}\n\n\tonSelectImage() {\n\t\tif ( ! this.props.isSelected ) {\n\t\t\tthis.props.onSelect();\n\t\t}\n\t}\n\n\tonRemoveImage( event ) {\n\t\tif (\n\t\t\tthis.container === this.container.ownerDocument.activeElement &&\n\t\t\tthis.props.isSelected &&\n\t\t\t[ BACKSPACE, DELETE ].indexOf( event.keyCode ) !== -1\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\tthis.props.onRemove();\n\t\t}\n\t}\n\n\tonEdit() {\n\t\tthis.setState( {\n\t\t\tisEditing: true,\n\t\t} );\n\t}\n\n\tcomponentDidUpdate() {\n\t\tconst { image, url, __unstableMarkNextChangeAsNotPersistent } =\n\t\t\tthis.props;\n\t\tif ( image && ! url ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tthis.props.setAttributes( {\n\t\t\t\turl: image.source_url,\n\t\t\t\talt: image.alt_text,\n\t\t\t} );\n\t\t}\n\t}\n\n\tdeselectOnBlur() {\n\t\tthis.props.onDeselect();\n\t}\n\n\tonSelectImageFromLibrary( media ) {\n\t\tconst { setAttributes, id, url, alt, caption, sizeSlug } = this.props;\n\t\tif ( ! media || ! media.url ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet mediaAttributes = pickRelevantMediaFiles( media, sizeSlug );\n\n\t\t// If the current image is temporary but an alt text was meanwhile\n\t\t// written by the user, make sure the text is not overwritten.\n\t\tif ( isTemporaryImage( id, url ) ) {\n\t\t\tif ( alt ) {\n\t\t\t\tconst { alt: omittedAlt, ...restMediaAttributes } =\n\t\t\t\t\tmediaAttributes;\n\t\t\t\tmediaAttributes = restMediaAttributes;\n\t\t\t}\n\t\t}\n\n\t\t// If a caption text was meanwhile written by the user,\n\t\t// make sure the text is not overwritten by empty captions.\n\t\tif ( caption && ! get( mediaAttributes, [ 'caption' ] ) ) {\n\t\t\tconst { caption: omittedCaption, ...restMediaAttributes } =\n\t\t\t\tmediaAttributes;\n\t\t\tmediaAttributes = restMediaAttributes;\n\t\t}\n\n\t\tsetAttributes( mediaAttributes );\n\t\tthis.setState( {\n\t\t\tisEditing: false,\n\t\t} );\n\t}\n\n\tonSelectCustomURL( newURL ) {\n\t\tconst { setAttributes, url } = this.props;\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: newURL,\n\t\t\t\tid: undefined,\n\t\t\t} );\n\t\t\tthis.setState( {\n\t\t\t\tisEditing: false,\n\t\t\t} );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\turl,\n\t\t\talt,\n\t\t\tid,\n\t\t\tlinkTo,\n\t\t\tlink,\n\t\t\tisFirstItem,\n\t\t\tisLastItem,\n\t\t\tisSelected,\n\t\t\tcaption,\n\t\t\tonRemove,\n\t\t\tonMoveForward,\n\t\t\tonMoveBackward,\n\t\t\tsetAttributes,\n\t\t\t'aria-label': ariaLabel,\n\t\t} = this.props;\n\t\tconst { isEditing } = this.state;\n\n\t\tlet href;\n\n\t\tswitch ( linkTo ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\thref = url;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\thref = link;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tconst img = (\n\t\t\t// Disable reason: Image itself is not meant to be interactive, but should\n\t\t\t// direct image selection and unfocus caption fields.\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\n\t\t\t<>\n\t\t\t\t<img\n\t\t\t\t\tsrc={ url }\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tdata-id={ id }\n\t\t\t\t\tonKeyDown={ this.onRemoveImage }\n\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\taria-label={ ariaLabel }\n\t\t\t\t\tref={ this.bindContainer }\n\t\t\t\t/>\n\t\t\t\t{ isBlobURL( url ) && <Spinner /> }\n\t\t\t</>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions */\n\t\t);\n\n\t\tconst className = classnames( {\n\t\t\t'is-selected': isSelected,\n\t\t\t'is-transient': isBlobURL( url ),\n\t\t} );\n\n\t\treturn (\n\t\t\t// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-noninteractive-element-interactions\n\t\t\t<figure\n\t\t\t\tclassName={ className }\n\t\t\t\tonClick={ this.onSelectImage }\n\t\t\t\tonFocus={ this.onSelectImage }\n\t\t\t>\n\t\t\t\t{ ! isEditing && ( href ? <a href={ href }>{ img }</a> : img ) }\n\t\t\t\t{ isEditing && (\n\t\t\t\t\t<MediaPlaceholder\n\t\t\t\t\t\tlabels={ { title: __( 'Edit gallery image' ) } }\n\t\t\t\t\t\ticon={ imageIcon }\n\t\t\t\t\t\tonSelect={ this.onSelectImageFromLibrary }\n\t\t\t\t\t\tonSelectURL={ this.onSelectCustomURL }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tallowedTypes={ [ 'image' ] }\n\t\t\t\t\t\tvalue={ { id, src: url } }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<ButtonGroup className=\"block-library-gallery-item__inline-menu is-left\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticon={ chevronLeft }\n\t\t\t\t\t\tonClick={ isFirstItem ? undefined : onMoveBackward }\n\t\t\t\t\t\tlabel={ __( 'Move image backward' ) }\n\t\t\t\t\t\taria-disabled={ isFirstItem }\n\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t/>\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticon={ chevronRight }\n\t\t\t\t\t\tonClick={ isLastItem ? undefined : onMoveForward }\n\t\t\t\t\t\tlabel={ __( 'Move image forward' ) }\n\t\t\t\t\t\taria-disabled={ isLastItem }\n\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t/>\n\t\t\t\t</ButtonGroup>\n\t\t\t\t<ButtonGroup className=\"block-library-gallery-item__inline-menu is-right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\tonClick={ this.onEdit }\n\t\t\t\t\t\tlabel={ __( 'Replace image' ) }\n\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t/>\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t\tlabel={ __( 'Remove image' ) }\n\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t/>\n\t\t\t\t</ButtonGroup>\n\t\t\t\t{ ! isEditing && ( isSelected || caption ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\taria-label={ __( 'Image caption text' ) }\n\t\t\t\t\t\tplaceholder={ isSelected ? __( 'Add caption' ) : null }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( newCaption ) =>\n\t\t\t\t\t\t\tsetAttributes( { caption: newCaption } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, ownProps ) => {\n\t\tconst { getMedia } = select( coreStore );\n\t\tconst { id } = ownProps;\n\n\t\treturn {\n\t\t\timage: id ? getMedia( parseInt( id, 10 ) ) : null,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\t\tdispatch( blockEditorStore );\n\t\treturn {\n\t\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\t};\n\t} ),\n] )( GalleryImage );\n"]}
@@ -7,6 +7,7 @@ import { group as icon } from '@wordpress/icons';
7
7
  * Internal dependencies
8
8
  */
9
9
 
10
+ import initBlock from '../utils/init-block';
10
11
  import deprecated from './deprecated';
11
12
  import edit from './edit';
12
13
  const metadata = {
@@ -25,7 +26,7 @@ const metadata = {
25
26
  },
26
27
  templateLock: {
27
28
  type: ["string", "boolean"],
28
- "enum": ["all", "insert", false]
29
+ "enum": ["all", "insert", "noContent", false]
29
30
  },
30
31
  layout: {
31
32
  type: "object",
@@ -156,4 +157,9 @@ export const settings = {
156
157
  deprecated,
157
158
  variations
158
159
  };
160
+ export const init = () => initBlock({
161
+ name,
162
+ metadata,
163
+ settings
164
+ });
159
165
  //# sourceMappingURL=index.js.map