@wordpress/block-library 6.0.25 → 6.1.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 (1031) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/LICENSE.md +1 -1
  3. package/build/archives/index.js +1 -0
  4. package/build/archives/index.js.map +1 -1
  5. package/build/audio/edit.js +19 -4
  6. package/build/audio/edit.js.map +1 -1
  7. package/build/audio/index.js +1 -0
  8. package/build/audio/index.js.map +1 -1
  9. package/build/block/index.js +1 -0
  10. package/build/block/index.js.map +1 -1
  11. package/build/button/edit.native.js +1 -1
  12. package/build/button/edit.native.js.map +1 -1
  13. package/build/button/index.js +5 -1
  14. package/build/button/index.js.map +1 -1
  15. package/build/buttons/edit.js +6 -0
  16. package/build/buttons/edit.js.map +1 -1
  17. package/build/buttons/edit.native.js +16 -6
  18. package/build/buttons/edit.native.js.map +1 -1
  19. package/build/buttons/index.js +1 -0
  20. package/build/buttons/index.js.map +1 -1
  21. package/build/buttons/transforms.js +1 -0
  22. package/build/buttons/transforms.js.map +1 -1
  23. package/build/calendar/index.js +1 -0
  24. package/build/calendar/index.js.map +1 -1
  25. package/build/categories/index.js +1 -0
  26. package/build/categories/index.js.map +1 -1
  27. package/build/code/index.js +6 -1
  28. package/build/code/index.js.map +1 -1
  29. package/build/column/index.js +1 -0
  30. package/build/column/index.js.map +1 -1
  31. package/build/columns/index.js +11 -0
  32. package/build/columns/index.js.map +1 -1
  33. package/build/comment-author-avatar/edit.js +5 -2
  34. package/build/comment-author-avatar/edit.js.map +1 -1
  35. package/build/comment-author-avatar/index.js +7 -2
  36. package/build/comment-author-avatar/index.js.map +1 -1
  37. package/build/comment-author-name/index.js +1 -0
  38. package/build/comment-author-name/index.js.map +1 -1
  39. package/build/comment-content/index.js +1 -0
  40. package/build/comment-content/index.js.map +1 -1
  41. package/build/comment-date/index.js +1 -0
  42. package/build/comment-date/index.js.map +1 -1
  43. package/build/comment-edit-link/index.js +2 -1
  44. package/build/comment-edit-link/index.js.map +1 -1
  45. package/build/comment-reply-link/index.js +1 -0
  46. package/build/comment-reply-link/index.js.map +1 -1
  47. package/build/comment-template/edit.js +117 -26
  48. package/build/comment-template/edit.js.map +1 -1
  49. package/build/comment-template/index.js +4 -2
  50. package/build/comment-template/index.js.map +1 -1
  51. package/build/comment-template/util.js +68 -0
  52. package/build/comment-template/util.js.map +1 -0
  53. package/build/comments-pagination/comments-pagination-arrow-controls.js +39 -0
  54. package/build/comments-pagination/comments-pagination-arrow-controls.js.map +1 -0
  55. package/build/comments-pagination/edit.js +79 -0
  56. package/build/comments-pagination/edit.js.map +1 -0
  57. package/build/comments-pagination/index.js +71 -0
  58. package/build/comments-pagination/index.js.map +1 -0
  59. package/build/comments-pagination/save.js +18 -0
  60. package/build/comments-pagination/save.js.map +1 -0
  61. package/build/comments-pagination-next/edit.js +54 -0
  62. package/build/comments-pagination-next/edit.js.map +1 -0
  63. package/build/comments-pagination-next/index.js +66 -0
  64. package/build/comments-pagination-next/index.js.map +1 -0
  65. package/build/comments-pagination-numbers/edit.js +47 -0
  66. package/build/comments-pagination-numbers/edit.js.map +1 -0
  67. package/build/comments-pagination-numbers/index.js +46 -0
  68. package/build/comments-pagination-numbers/index.js.map +1 -0
  69. package/build/comments-pagination-previous/edit.js +54 -0
  70. package/build/comments-pagination-previous/edit.js.map +1 -0
  71. package/build/comments-pagination-previous/index.js +66 -0
  72. package/build/comments-pagination-previous/index.js.map +1 -0
  73. package/build/comments-query-loop/edit/comments-inspector-controls.js +102 -0
  74. package/build/comments-query-loop/edit/comments-inspector-controls.js.map +1 -0
  75. package/build/comments-query-loop/edit.js +23 -28
  76. package/build/comments-query-loop/edit.js.map +1 -1
  77. package/build/comments-query-loop/index.js +15 -7
  78. package/build/comments-query-loop/index.js.map +1 -1
  79. package/build/cover/edit.js +2 -1
  80. package/build/cover/edit.js.map +1 -1
  81. package/build/cover/edit.native.js +40 -32
  82. package/build/cover/edit.native.js.map +1 -1
  83. package/build/cover/index.js +1 -0
  84. package/build/cover/index.js.map +1 -1
  85. package/build/cover/overlay-color-settings.native.js +11 -1
  86. package/build/cover/overlay-color-settings.native.js.map +1 -1
  87. package/build/embed/deprecated.js +1 -0
  88. package/build/embed/deprecated.js.map +1 -1
  89. package/build/embed/edit.native.js +23 -20
  90. package/build/embed/edit.native.js.map +1 -1
  91. package/build/embed/embed-controls.native.js +69 -0
  92. package/build/embed/embed-controls.native.js.map +1 -0
  93. package/build/embed/embed-link-settings.native.js +101 -0
  94. package/build/embed/embed-link-settings.native.js.map +1 -0
  95. package/build/embed/embed-loading.js +1 -3
  96. package/build/embed/embed-loading.js.map +1 -1
  97. package/build/embed/embed-placeholder.native.js +9 -2
  98. package/build/embed/embed-placeholder.native.js.map +1 -1
  99. package/build/embed/index.js +1 -0
  100. package/build/embed/index.js.map +1 -1
  101. package/build/embed/transforms.js +1 -0
  102. package/build/embed/transforms.js.map +1 -1
  103. package/build/embed/util.js +1 -0
  104. package/build/embed/util.js.map +1 -1
  105. package/build/file/edit.native.js +5 -2
  106. package/build/file/edit.native.js.map +1 -1
  107. package/build/file/index.js +1 -0
  108. package/build/file/index.js.map +1 -1
  109. package/build/freeform/index.js +1 -0
  110. package/build/freeform/index.js.map +1 -1
  111. package/build/gallery/deprecated.js +4 -0
  112. package/build/gallery/deprecated.js.map +1 -1
  113. package/build/gallery/edit.js +31 -12
  114. package/build/gallery/edit.js.map +1 -1
  115. package/build/gallery/gallery.native.js +1 -1
  116. package/build/gallery/gallery.native.js.map +1 -1
  117. package/build/gallery/index.js +1 -0
  118. package/build/gallery/index.js.map +1 -1
  119. package/build/group/index.js +19 -1
  120. package/build/group/index.js.map +1 -1
  121. package/build/heading/edit.js +2 -0
  122. package/build/heading/edit.js.map +1 -1
  123. package/build/heading/index.js +1 -0
  124. package/build/heading/index.js.map +1 -1
  125. package/build/heading/transforms.js +1 -0
  126. package/build/heading/transforms.js.map +1 -1
  127. package/build/home-link/index.js +1 -0
  128. package/build/home-link/index.js.map +1 -1
  129. package/build/html/index.js +1 -0
  130. package/build/html/index.js.map +1 -1
  131. package/build/image/edit.js +56 -5
  132. package/build/image/edit.js.map +1 -1
  133. package/build/image/edit.native.js +4 -4
  134. package/build/image/edit.native.js.map +1 -1
  135. package/build/image/image.js +15 -4
  136. package/build/image/image.js.map +1 -1
  137. package/build/image/index.js +5 -1
  138. package/build/image/index.js.map +1 -1
  139. package/build/index.js +12 -2
  140. package/build/index.js.map +1 -1
  141. package/build/latest-comments/index.js +1 -0
  142. package/build/latest-comments/index.js.map +1 -1
  143. package/build/latest-posts/deprecated.js +1 -0
  144. package/build/latest-posts/deprecated.js.map +1 -1
  145. package/build/latest-posts/edit.js +1 -1
  146. package/build/latest-posts/edit.js.map +1 -1
  147. package/build/latest-posts/index.js +1 -0
  148. package/build/latest-posts/index.js.map +1 -1
  149. package/build/list/index.js +1 -0
  150. package/build/list/index.js.map +1 -1
  151. package/build/loginout/index.js +1 -0
  152. package/build/loginout/index.js.map +1 -1
  153. package/build/media-text/index.js +1 -0
  154. package/build/media-text/index.js.map +1 -1
  155. package/build/missing/index.js +1 -0
  156. package/build/missing/index.js.map +1 -1
  157. package/build/more/index.js +1 -0
  158. package/build/more/index.js.map +1 -1
  159. package/build/navigation/edit/index.js +37 -9
  160. package/build/navigation/edit/index.js.map +1 -1
  161. package/build/navigation/edit/inner-blocks.js +3 -1
  162. package/build/navigation/edit/inner-blocks.js.map +1 -1
  163. package/build/navigation/edit/overlay-menu-icon.js +36 -0
  164. package/build/navigation/edit/overlay-menu-icon.js.map +1 -0
  165. package/build/navigation/edit/placeholder/index.js +11 -7
  166. package/build/navigation/edit/placeholder/index.js.map +1 -1
  167. package/build/navigation/edit/responsive-wrapper.js +11 -22
  168. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  169. package/build/navigation/index.js +10 -1
  170. package/build/navigation/index.js.map +1 -1
  171. package/build/navigation/menu-items-to-blocks.js +4 -1
  172. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  173. package/build/navigation/use-navigation-entities.js +6 -3
  174. package/build/navigation/use-navigation-entities.js.map +1 -1
  175. package/build/navigation-area/edit.js +2 -1
  176. package/build/navigation-area/edit.js.map +1 -1
  177. package/build/navigation-area/index.js +2 -1
  178. package/build/navigation-area/index.js.map +1 -1
  179. package/build/navigation-link/edit.js +7 -0
  180. package/build/navigation-link/edit.js.map +1 -1
  181. package/build/navigation-link/index.js +1 -0
  182. package/build/navigation-link/index.js.map +1 -1
  183. package/build/navigation-submenu/edit.js +4 -1
  184. package/build/navigation-submenu/edit.js.map +1 -1
  185. package/build/navigation-submenu/index.js +1 -0
  186. package/build/navigation-submenu/index.js.map +1 -1
  187. package/build/nextpage/index.js +1 -0
  188. package/build/nextpage/index.js.map +1 -1
  189. package/build/page-list/edit.js +37 -10
  190. package/build/page-list/edit.js.map +1 -1
  191. package/build/page-list/index.js +6 -1
  192. package/build/page-list/index.js.map +1 -1
  193. package/build/paragraph/edit.js +12 -2
  194. package/build/paragraph/edit.js.map +1 -1
  195. package/build/paragraph/index.js +2 -1
  196. package/build/paragraph/index.js.map +1 -1
  197. package/build/paragraph/transforms.js +2 -1
  198. package/build/paragraph/transforms.js.map +1 -1
  199. package/build/pattern/index.js +1 -0
  200. package/build/pattern/index.js.map +1 -1
  201. package/build/post-author/index.js +2 -1
  202. package/build/post-author/index.js.map +1 -1
  203. package/build/post-author-name/edit.js +98 -0
  204. package/build/post-author-name/edit.js.map +1 -0
  205. package/build/post-author-name/index.js +70 -0
  206. package/build/post-author-name/index.js.map +1 -0
  207. package/build/post-comment/index.js +1 -0
  208. package/build/post-comment/index.js.map +1 -1
  209. package/build/post-comments/index.js +1 -0
  210. package/build/post-comments/index.js.map +1 -1
  211. package/build/post-comments-count/index.js +1 -0
  212. package/build/post-comments-count/index.js.map +1 -1
  213. package/build/post-comments-form/index.js +1 -0
  214. package/build/post-comments-form/index.js.map +1 -1
  215. package/build/post-comments-link/index.js +1 -0
  216. package/build/post-comments-link/index.js.map +1 -1
  217. package/build/post-content/index.js +1 -0
  218. package/build/post-content/index.js.map +1 -1
  219. package/build/post-date/index.js +1 -0
  220. package/build/post-date/index.js.map +1 -1
  221. package/build/post-excerpt/edit.js +2 -1
  222. package/build/post-excerpt/edit.js.map +1 -1
  223. package/build/post-excerpt/index.js +4 -0
  224. package/build/post-excerpt/index.js.map +1 -1
  225. package/build/post-excerpt/transforms.js +27 -0
  226. package/build/post-excerpt/transforms.js.map +1 -0
  227. package/build/post-featured-image/dimension-controls.js +74 -32
  228. package/build/post-featured-image/dimension-controls.js.map +1 -1
  229. package/build/post-featured-image/edit.js +52 -20
  230. package/build/post-featured-image/edit.js.map +1 -1
  231. package/build/post-featured-image/index.js +4 -0
  232. package/build/post-featured-image/index.js.map +1 -1
  233. package/build/post-navigation-link/index.js +1 -0
  234. package/build/post-navigation-link/index.js.map +1 -1
  235. package/build/post-template/edit.js +34 -7
  236. package/build/post-template/edit.js.map +1 -1
  237. package/build/post-template/index.js +2 -1
  238. package/build/post-template/index.js.map +1 -1
  239. package/build/post-terms/index.js +1 -0
  240. package/build/post-terms/index.js.map +1 -1
  241. package/build/post-title/index.js +1 -0
  242. package/build/post-title/index.js.map +1 -1
  243. package/build/preformatted/edit.native.js +3 -6
  244. package/build/preformatted/edit.native.js.map +1 -1
  245. package/build/preformatted/index.js +1 -0
  246. package/build/preformatted/index.js.map +1 -1
  247. package/build/pullquote/index.js +8 -1
  248. package/build/pullquote/index.js.map +1 -1
  249. package/build/query/deprecated.js +96 -3
  250. package/build/query/deprecated.js.map +1 -1
  251. package/build/query/edit/index.js +4 -4
  252. package/build/query/edit/index.js.map +1 -1
  253. package/build/query/edit/inspector-controls/author-control.js +102 -0
  254. package/build/query/edit/inspector-controls/author-control.js.map +1 -0
  255. package/build/query/edit/inspector-controls/index.js +166 -0
  256. package/build/query/edit/inspector-controls/index.js.map +1 -0
  257. package/build/query/edit/inspector-controls/order-control.js +55 -0
  258. package/build/query/edit/inspector-controls/order-control.js.map +1 -0
  259. package/build/query/edit/inspector-controls/taxonomy-controls.js +158 -0
  260. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -0
  261. package/build/query/index.js +3 -3
  262. package/build/query/utils.js +49 -38
  263. package/build/query/utils.js.map +1 -1
  264. package/build/query/variations.js +0 -4
  265. package/build/query/variations.js.map +1 -1
  266. package/build/query-pagination/index.js +2 -1
  267. package/build/query-pagination/index.js.map +1 -1
  268. package/build/query-pagination-next/index.js +2 -1
  269. package/build/query-pagination-next/index.js.map +1 -1
  270. package/build/query-pagination-numbers/index.js +2 -1
  271. package/build/query-pagination-numbers/index.js.map +1 -1
  272. package/build/query-pagination-previous/index.js +2 -1
  273. package/build/query-pagination-previous/index.js.map +1 -1
  274. package/build/query-title/index.js +1 -0
  275. package/build/query-title/index.js.map +1 -1
  276. package/build/quote/index.js +1 -0
  277. package/build/quote/index.js.map +1 -1
  278. package/build/rss/index.js +1 -0
  279. package/build/rss/index.js.map +1 -1
  280. package/build/search/edit.js +5 -3
  281. package/build/search/edit.js.map +1 -1
  282. package/build/search/edit.native.js +2 -2
  283. package/build/search/edit.native.js.map +1 -1
  284. package/build/search/index.js +8 -1
  285. package/build/search/index.js.map +1 -1
  286. package/build/separator/index.js +1 -0
  287. package/build/separator/index.js.map +1 -1
  288. package/build/shortcode/index.js +1 -0
  289. package/build/shortcode/index.js.map +1 -1
  290. package/build/site-logo/edit.js +0 -25
  291. package/build/site-logo/edit.js.map +1 -1
  292. package/build/site-logo/index.js +5 -1
  293. package/build/site-logo/index.js.map +1 -1
  294. package/build/site-logo/transforms.js +31 -0
  295. package/build/site-logo/transforms.js.map +1 -0
  296. package/build/site-tagline/index.js +2 -1
  297. package/build/site-tagline/index.js.map +1 -1
  298. package/build/site-title/index.js +4 -0
  299. package/build/site-title/index.js.map +1 -1
  300. package/build/site-title/transforms.js +31 -0
  301. package/build/site-title/transforms.js.map +1 -0
  302. package/build/social-link/index.js +2 -1
  303. package/build/social-link/index.js.map +1 -1
  304. package/build/social-links/edit.js +29 -23
  305. package/build/social-links/edit.js.map +1 -1
  306. package/build/social-links/index.js +2 -1
  307. package/build/social-links/index.js.map +1 -1
  308. package/build/spacer/controls.js +111 -0
  309. package/build/spacer/controls.js.map +1 -0
  310. package/build/spacer/controls.native.js +95 -0
  311. package/build/spacer/controls.native.js.map +1 -0
  312. package/build/spacer/deprecated.js +53 -0
  313. package/build/spacer/deprecated.js.map +1 -0
  314. package/build/spacer/edit.js +117 -98
  315. package/build/spacer/edit.js.map +1 -1
  316. package/build/spacer/edit.native.js +76 -0
  317. package/build/spacer/edit.native.js.map +1 -0
  318. package/build/spacer/index.js +8 -4
  319. package/build/spacer/index.js.map +1 -1
  320. package/build/spacer/save.js +6 -3
  321. package/build/spacer/save.js.map +1 -1
  322. package/build/table/index.js +7 -1
  323. package/build/table/index.js.map +1 -1
  324. package/build/table-of-contents/index.js +1 -0
  325. package/build/table-of-contents/index.js.map +1 -1
  326. package/build/tag-cloud/index.js +1 -0
  327. package/build/tag-cloud/index.js.map +1 -1
  328. package/build/template-part/index.js +1 -0
  329. package/build/template-part/index.js.map +1 -1
  330. package/build/term-description/index.js +1 -0
  331. package/build/term-description/index.js.map +1 -1
  332. package/build/text-columns/index.js +1 -0
  333. package/build/text-columns/index.js.map +1 -1
  334. package/build/verse/index.js +1 -0
  335. package/build/verse/index.js.map +1 -1
  336. package/build/video/index.js +1 -0
  337. package/build/video/index.js.map +1 -1
  338. package/build-module/archives/index.js +1 -0
  339. package/build-module/archives/index.js.map +1 -1
  340. package/build-module/audio/edit.js +17 -5
  341. package/build-module/audio/edit.js.map +1 -1
  342. package/build-module/audio/index.js +1 -0
  343. package/build-module/audio/index.js.map +1 -1
  344. package/build-module/block/index.js +1 -0
  345. package/build-module/block/index.js.map +1 -1
  346. package/build-module/button/edit.native.js +1 -1
  347. package/build-module/button/edit.native.js.map +1 -1
  348. package/build-module/button/index.js +5 -1
  349. package/build-module/button/index.js.map +1 -1
  350. package/build-module/buttons/edit.js +6 -0
  351. package/build-module/buttons/edit.js.map +1 -1
  352. package/build-module/buttons/edit.native.js +17 -7
  353. package/build-module/buttons/edit.native.js.map +1 -1
  354. package/build-module/buttons/index.js +1 -0
  355. package/build-module/buttons/index.js.map +1 -1
  356. package/build-module/buttons/transforms.js +1 -0
  357. package/build-module/buttons/transforms.js.map +1 -1
  358. package/build-module/calendar/index.js +1 -0
  359. package/build-module/calendar/index.js.map +1 -1
  360. package/build-module/categories/index.js +1 -0
  361. package/build-module/categories/index.js.map +1 -1
  362. package/build-module/code/index.js +6 -1
  363. package/build-module/code/index.js.map +1 -1
  364. package/build-module/column/index.js +1 -0
  365. package/build-module/column/index.js.map +1 -1
  366. package/build-module/columns/index.js +11 -0
  367. package/build-module/columns/index.js.map +1 -1
  368. package/build-module/comment-author-avatar/edit.js +6 -3
  369. package/build-module/comment-author-avatar/edit.js.map +1 -1
  370. package/build-module/comment-author-avatar/index.js +7 -2
  371. package/build-module/comment-author-avatar/index.js.map +1 -1
  372. package/build-module/comment-author-name/index.js +1 -0
  373. package/build-module/comment-author-name/index.js.map +1 -1
  374. package/build-module/comment-content/index.js +1 -0
  375. package/build-module/comment-content/index.js.map +1 -1
  376. package/build-module/comment-date/index.js +1 -0
  377. package/build-module/comment-date/index.js.map +1 -1
  378. package/build-module/comment-edit-link/index.js +2 -1
  379. package/build-module/comment-edit-link/index.js.map +1 -1
  380. package/build-module/comment-reply-link/index.js +1 -0
  381. package/build-module/comment-reply-link/index.js.map +1 -1
  382. package/build-module/comment-template/edit.js +116 -26
  383. package/build-module/comment-template/edit.js.map +1 -1
  384. package/build-module/comment-template/index.js +4 -2
  385. package/build-module/comment-template/index.js.map +1 -1
  386. package/build-module/comment-template/util.js +59 -0
  387. package/build-module/comment-template/util.js.map +1 -0
  388. package/build-module/comments-pagination/comments-pagination-arrow-controls.js +30 -0
  389. package/build-module/comments-pagination/comments-pagination-arrow-controls.js.map +1 -0
  390. package/build-module/comments-pagination/edit.js +66 -0
  391. package/build-module/comments-pagination/edit.js.map +1 -0
  392. package/build-module/comments-pagination/index.js +57 -0
  393. package/build-module/comments-pagination/index.js.map +1 -0
  394. package/build-module/comments-pagination/save.js +10 -0
  395. package/build-module/comments-pagination/save.js.map +1 -0
  396. package/build-module/comments-pagination-next/edit.js +41 -0
  397. package/build-module/comments-pagination-next/edit.js.map +1 -0
  398. package/build-module/comments-pagination-next/index.js +53 -0
  399. package/build-module/comments-pagination-next/index.js.map +1 -0
  400. package/build-module/comments-pagination-numbers/edit.js +40 -0
  401. package/build-module/comments-pagination-numbers/edit.js.map +1 -0
  402. package/build-module/comments-pagination-numbers/index.js +33 -0
  403. package/build-module/comments-pagination-numbers/index.js.map +1 -0
  404. package/build-module/comments-pagination-previous/edit.js +41 -0
  405. package/build-module/comments-pagination-previous/edit.js.map +1 -0
  406. package/build-module/comments-pagination-previous/index.js +53 -0
  407. package/build-module/comments-pagination-previous/index.js.map +1 -0
  408. package/build-module/comments-query-loop/edit/comments-inspector-controls.js +91 -0
  409. package/build-module/comments-query-loop/edit/comments-inspector-controls.js.map +1 -0
  410. package/build-module/comments-query-loop/edit.js +24 -28
  411. package/build-module/comments-query-loop/edit.js.map +1 -1
  412. package/build-module/comments-query-loop/index.js +15 -7
  413. package/build-module/comments-query-loop/index.js.map +1 -1
  414. package/build-module/cover/edit.js +2 -1
  415. package/build-module/cover/edit.js.map +1 -1
  416. package/build-module/cover/edit.native.js +41 -34
  417. package/build-module/cover/edit.native.js.map +1 -1
  418. package/build-module/cover/index.js +1 -0
  419. package/build-module/cover/index.js.map +1 -1
  420. package/build-module/cover/overlay-color-settings.native.js +11 -1
  421. package/build-module/cover/overlay-color-settings.native.js.map +1 -1
  422. package/build-module/embed/deprecated.js +1 -0
  423. package/build-module/embed/deprecated.js.map +1 -1
  424. package/build-module/embed/edit.native.js +24 -21
  425. package/build-module/embed/edit.native.js.map +1 -1
  426. package/build-module/embed/embed-controls.native.js +54 -0
  427. package/build-module/embed/embed-controls.native.js.map +1 -0
  428. package/build-module/embed/embed-link-settings.native.js +90 -0
  429. package/build-module/embed/embed-link-settings.native.js.map +1 -0
  430. package/build-module/embed/embed-loading.js +1 -2
  431. package/build-module/embed/embed-loading.js.map +1 -1
  432. package/build-module/embed/embed-placeholder.native.js +9 -2
  433. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  434. package/build-module/embed/index.js +1 -0
  435. package/build-module/embed/index.js.map +1 -1
  436. package/build-module/embed/transforms.js +1 -0
  437. package/build-module/embed/transforms.js.map +1 -1
  438. package/build-module/embed/util.js +1 -0
  439. package/build-module/embed/util.js.map +1 -1
  440. package/build-module/file/edit.native.js +4 -2
  441. package/build-module/file/edit.native.js.map +1 -1
  442. package/build-module/file/index.js +1 -0
  443. package/build-module/file/index.js.map +1 -1
  444. package/build-module/freeform/index.js +1 -0
  445. package/build-module/freeform/index.js.map +1 -1
  446. package/build-module/gallery/deprecated.js +4 -0
  447. package/build-module/gallery/deprecated.js.map +1 -1
  448. package/build-module/gallery/edit.js +32 -13
  449. package/build-module/gallery/edit.js.map +1 -1
  450. package/build-module/gallery/gallery.native.js +1 -1
  451. package/build-module/gallery/gallery.native.js.map +1 -1
  452. package/build-module/gallery/index.js +1 -0
  453. package/build-module/gallery/index.js.map +1 -1
  454. package/build-module/group/index.js +19 -1
  455. package/build-module/group/index.js.map +1 -1
  456. package/build-module/heading/edit.js +3 -1
  457. package/build-module/heading/edit.js.map +1 -1
  458. package/build-module/heading/index.js +1 -0
  459. package/build-module/heading/index.js.map +1 -1
  460. package/build-module/heading/transforms.js +1 -0
  461. package/build-module/heading/transforms.js.map +1 -1
  462. package/build-module/home-link/index.js +1 -0
  463. package/build-module/home-link/index.js.map +1 -1
  464. package/build-module/html/index.js +1 -0
  465. package/build-module/html/index.js.map +1 -1
  466. package/build-module/image/edit.js +52 -4
  467. package/build-module/image/edit.js.map +1 -1
  468. package/build-module/image/edit.native.js +4 -4
  469. package/build-module/image/edit.native.js.map +1 -1
  470. package/build-module/image/image.js +16 -5
  471. package/build-module/image/image.js.map +1 -1
  472. package/build-module/image/index.js +5 -1
  473. package/build-module/image/index.js.map +1 -1
  474. package/build-module/index.js +7 -2
  475. package/build-module/index.js.map +1 -1
  476. package/build-module/latest-comments/index.js +1 -0
  477. package/build-module/latest-comments/index.js.map +1 -1
  478. package/build-module/latest-posts/deprecated.js +1 -0
  479. package/build-module/latest-posts/deprecated.js.map +1 -1
  480. package/build-module/latest-posts/edit.js +1 -1
  481. package/build-module/latest-posts/edit.js.map +1 -1
  482. package/build-module/latest-posts/index.js +1 -0
  483. package/build-module/latest-posts/index.js.map +1 -1
  484. package/build-module/list/index.js +1 -0
  485. package/build-module/list/index.js.map +1 -1
  486. package/build-module/loginout/index.js +1 -0
  487. package/build-module/loginout/index.js.map +1 -1
  488. package/build-module/media-text/index.js +1 -0
  489. package/build-module/media-text/index.js.map +1 -1
  490. package/build-module/missing/index.js +1 -0
  491. package/build-module/missing/index.js.map +1 -1
  492. package/build-module/more/index.js +1 -0
  493. package/build-module/more/index.js.map +1 -1
  494. package/build-module/navigation/edit/index.js +36 -9
  495. package/build-module/navigation/edit/index.js.map +1 -1
  496. package/build-module/navigation/edit/inner-blocks.js +3 -1
  497. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  498. package/build-module/navigation/edit/overlay-menu-icon.js +28 -0
  499. package/build-module/navigation/edit/overlay-menu-icon.js.map +1 -0
  500. package/build-module/navigation/edit/placeholder/index.js +11 -7
  501. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  502. package/build-module/navigation/edit/responsive-wrapper.js +10 -21
  503. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  504. package/build-module/navigation/index.js +10 -1
  505. package/build-module/navigation/index.js.map +1 -1
  506. package/build-module/navigation/menu-items-to-blocks.js +4 -1
  507. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  508. package/build-module/navigation/use-navigation-entities.js +6 -3
  509. package/build-module/navigation/use-navigation-entities.js.map +1 -1
  510. package/build-module/navigation-area/edit.js +2 -1
  511. package/build-module/navigation-area/edit.js.map +1 -1
  512. package/build-module/navigation-area/index.js +2 -1
  513. package/build-module/navigation-area/index.js.map +1 -1
  514. package/build-module/navigation-link/edit.js +7 -0
  515. package/build-module/navigation-link/edit.js.map +1 -1
  516. package/build-module/navigation-link/index.js +1 -0
  517. package/build-module/navigation-link/index.js.map +1 -1
  518. package/build-module/navigation-submenu/edit.js +4 -1
  519. package/build-module/navigation-submenu/edit.js.map +1 -1
  520. package/build-module/navigation-submenu/index.js +1 -0
  521. package/build-module/navigation-submenu/index.js.map +1 -1
  522. package/build-module/nextpage/index.js +1 -0
  523. package/build-module/nextpage/index.js.map +1 -1
  524. package/build-module/page-list/edit.js +38 -11
  525. package/build-module/page-list/edit.js.map +1 -1
  526. package/build-module/page-list/index.js +6 -1
  527. package/build-module/page-list/index.js.map +1 -1
  528. package/build-module/paragraph/edit.js +13 -3
  529. package/build-module/paragraph/edit.js.map +1 -1
  530. package/build-module/paragraph/index.js +2 -1
  531. package/build-module/paragraph/index.js.map +1 -1
  532. package/build-module/paragraph/transforms.js +2 -1
  533. package/build-module/paragraph/transforms.js.map +1 -1
  534. package/build-module/pattern/index.js +1 -0
  535. package/build-module/pattern/index.js.map +1 -1
  536. package/build-module/post-author/index.js +2 -1
  537. package/build-module/post-author/index.js.map +1 -1
  538. package/build-module/post-author-name/edit.js +85 -0
  539. package/build-module/post-author-name/edit.js.map +1 -0
  540. package/build-module/post-author-name/index.js +61 -0
  541. package/build-module/post-author-name/index.js.map +1 -0
  542. package/build-module/post-comment/index.js +1 -0
  543. package/build-module/post-comment/index.js.map +1 -1
  544. package/build-module/post-comments/index.js +1 -0
  545. package/build-module/post-comments/index.js.map +1 -1
  546. package/build-module/post-comments-count/index.js +1 -0
  547. package/build-module/post-comments-count/index.js.map +1 -1
  548. package/build-module/post-comments-form/index.js +1 -0
  549. package/build-module/post-comments-form/index.js.map +1 -1
  550. package/build-module/post-comments-link/index.js +1 -0
  551. package/build-module/post-comments-link/index.js.map +1 -1
  552. package/build-module/post-content/index.js +1 -0
  553. package/build-module/post-content/index.js.map +1 -1
  554. package/build-module/post-date/index.js +1 -0
  555. package/build-module/post-date/index.js.map +1 -1
  556. package/build-module/post-excerpt/edit.js +2 -1
  557. package/build-module/post-excerpt/edit.js.map +1 -1
  558. package/build-module/post-excerpt/index.js +3 -0
  559. package/build-module/post-excerpt/index.js.map +1 -1
  560. package/build-module/post-excerpt/transforms.js +18 -0
  561. package/build-module/post-excerpt/transforms.js.map +1 -0
  562. package/build-module/post-featured-image/dimension-controls.js +76 -31
  563. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  564. package/build-module/post-featured-image/edit.js +54 -22
  565. package/build-module/post-featured-image/edit.js.map +1 -1
  566. package/build-module/post-featured-image/index.js +4 -0
  567. package/build-module/post-featured-image/index.js.map +1 -1
  568. package/build-module/post-navigation-link/index.js +1 -0
  569. package/build-module/post-navigation-link/index.js.map +1 -1
  570. package/build-module/post-template/edit.js +34 -7
  571. package/build-module/post-template/edit.js.map +1 -1
  572. package/build-module/post-template/index.js +2 -1
  573. package/build-module/post-template/index.js.map +1 -1
  574. package/build-module/post-terms/index.js +1 -0
  575. package/build-module/post-terms/index.js.map +1 -1
  576. package/build-module/post-title/index.js +1 -0
  577. package/build-module/post-title/index.js.map +1 -1
  578. package/build-module/preformatted/edit.native.js +3 -3
  579. package/build-module/preformatted/edit.native.js.map +1 -1
  580. package/build-module/preformatted/index.js +1 -0
  581. package/build-module/preformatted/index.js.map +1 -1
  582. package/build-module/pullquote/index.js +8 -1
  583. package/build-module/pullquote/index.js.map +1 -1
  584. package/build-module/query/deprecated.js +95 -4
  585. package/build-module/query/deprecated.js.map +1 -1
  586. package/build-module/query/edit/index.js +3 -3
  587. package/build-module/query/edit/index.js.map +1 -1
  588. package/build-module/query/edit/inspector-controls/author-control.js +89 -0
  589. package/build-module/query/edit/inspector-controls/author-control.js.map +1 -0
  590. package/build-module/query/edit/inspector-controls/index.js +149 -0
  591. package/build-module/query/edit/inspector-controls/index.js.map +1 -0
  592. package/build-module/query/edit/inspector-controls/order-control.js +45 -0
  593. package/build-module/query/edit/inspector-controls/order-control.js.map +1 -0
  594. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +145 -0
  595. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -0
  596. package/build-module/query/index.js +3 -3
  597. package/build-module/query/utils.js +43 -35
  598. package/build-module/query/utils.js.map +1 -1
  599. package/build-module/query/variations.js +0 -4
  600. package/build-module/query/variations.js.map +1 -1
  601. package/build-module/query-pagination/index.js +2 -1
  602. package/build-module/query-pagination/index.js.map +1 -1
  603. package/build-module/query-pagination-next/index.js +2 -1
  604. package/build-module/query-pagination-next/index.js.map +1 -1
  605. package/build-module/query-pagination-numbers/index.js +2 -1
  606. package/build-module/query-pagination-numbers/index.js.map +1 -1
  607. package/build-module/query-pagination-previous/index.js +2 -1
  608. package/build-module/query-pagination-previous/index.js.map +1 -1
  609. package/build-module/query-title/index.js +1 -0
  610. package/build-module/query-title/index.js.map +1 -1
  611. package/build-module/quote/index.js +1 -0
  612. package/build-module/quote/index.js.map +1 -1
  613. package/build-module/rss/index.js +1 -0
  614. package/build-module/rss/index.js.map +1 -1
  615. package/build-module/search/edit.js +5 -3
  616. package/build-module/search/edit.js.map +1 -1
  617. package/build-module/search/edit.native.js +2 -2
  618. package/build-module/search/edit.native.js.map +1 -1
  619. package/build-module/search/index.js +8 -1
  620. package/build-module/search/index.js.map +1 -1
  621. package/build-module/separator/index.js +1 -0
  622. package/build-module/separator/index.js.map +1 -1
  623. package/build-module/shortcode/index.js +1 -0
  624. package/build-module/shortcode/index.js.map +1 -1
  625. package/build-module/site-logo/edit.js +0 -25
  626. package/build-module/site-logo/edit.js.map +1 -1
  627. package/build-module/site-logo/index.js +4 -1
  628. package/build-module/site-logo/index.js.map +1 -1
  629. package/build-module/site-logo/transforms.js +22 -0
  630. package/build-module/site-logo/transforms.js.map +1 -0
  631. package/build-module/site-tagline/index.js +2 -1
  632. package/build-module/site-tagline/index.js.map +1 -1
  633. package/build-module/site-title/index.js +3 -0
  634. package/build-module/site-title/index.js.map +1 -1
  635. package/build-module/site-title/transforms.js +22 -0
  636. package/build-module/site-title/transforms.js.map +1 -0
  637. package/build-module/social-link/index.js +2 -1
  638. package/build-module/social-link/index.js.map +1 -1
  639. package/build-module/social-links/edit.js +29 -23
  640. package/build-module/social-links/edit.js.map +1 -1
  641. package/build-module/social-links/index.js +2 -1
  642. package/build-module/social-links/index.js.map +1 -1
  643. package/build-module/spacer/controls.js +101 -0
  644. package/build-module/spacer/controls.js.map +1 -0
  645. package/build-module/spacer/controls.native.js +82 -0
  646. package/build-module/spacer/controls.native.js.map +1 -0
  647. package/build-module/spacer/deprecated.js +44 -0
  648. package/build-module/spacer/deprecated.js.map +1 -0
  649. package/build-module/spacer/edit.js +114 -95
  650. package/build-module/spacer/edit.js.map +1 -1
  651. package/build-module/spacer/edit.native.js +61 -0
  652. package/build-module/spacer/edit.native.js.map +1 -0
  653. package/build-module/spacer/index.js +7 -4
  654. package/build-module/spacer/index.js.map +1 -1
  655. package/build-module/spacer/save.js +6 -3
  656. package/build-module/spacer/save.js.map +1 -1
  657. package/build-module/table/index.js +7 -1
  658. package/build-module/table/index.js.map +1 -1
  659. package/build-module/table-of-contents/index.js +1 -0
  660. package/build-module/table-of-contents/index.js.map +1 -1
  661. package/build-module/tag-cloud/index.js +1 -0
  662. package/build-module/tag-cloud/index.js.map +1 -1
  663. package/build-module/template-part/index.js +1 -0
  664. package/build-module/template-part/index.js.map +1 -1
  665. package/build-module/term-description/index.js +1 -0
  666. package/build-module/term-description/index.js.map +1 -1
  667. package/build-module/text-columns/index.js +1 -0
  668. package/build-module/text-columns/index.js.map +1 -1
  669. package/build-module/verse/index.js +1 -0
  670. package/build-module/verse/index.js.map +1 -1
  671. package/build-module/video/index.js +1 -0
  672. package/build-module/video/index.js.map +1 -1
  673. package/build-style/audio/editor-rtl.css +11 -0
  674. package/build-style/audio/editor.css +11 -0
  675. package/build-style/code/theme-rtl.css +5 -3
  676. package/build-style/code/theme.css +5 -3
  677. package/build-style/columns/editor-rtl.css +0 -10
  678. package/build-style/columns/editor.css +0 -10
  679. package/build-style/columns/style-rtl.css +8 -21
  680. package/build-style/columns/style.css +8 -21
  681. package/build-style/comment-template/style-rtl.css +91 -0
  682. package/build-style/comment-template/style.css +91 -0
  683. package/build-style/{home-link/style.css → comments-pagination/editor-rtl.css} +18 -22
  684. package/build-style/comments-pagination/editor.css +102 -0
  685. package/build-style/{home-link → comments-pagination}/style-rtl.css +21 -21
  686. package/build-style/comments-pagination/style.css +106 -0
  687. package/build-style/comments-pagination-numbers/editor-rtl.css +85 -0
  688. package/build-style/comments-pagination-numbers/editor.css +86 -0
  689. package/build-style/comments-query-loop/editor-rtl.css +79 -0
  690. package/build-style/comments-query-loop/editor.css +79 -0
  691. package/build-style/common-rtl.css +19 -0
  692. package/build-style/common.css +19 -0
  693. package/build-style/cover/style-rtl.css +4 -0
  694. package/build-style/cover/style.css +4 -0
  695. package/build-style/editor-rtl.css +96 -58
  696. package/build-style/editor.css +99 -58
  697. package/build-style/embed/editor-rtl.css +0 -12
  698. package/build-style/embed/editor.css +0 -12
  699. package/build-style/gallery/editor-rtl.css +7 -18
  700. package/build-style/gallery/editor.css +7 -18
  701. package/build-style/gallery/style-rtl.css +3 -0
  702. package/build-style/gallery/style.css +3 -0
  703. package/build-style/group/theme-rtl.css +1 -1
  704. package/build-style/group/theme.css +1 -1
  705. package/build-style/latest-posts/editor-rtl.css +7 -0
  706. package/build-style/latest-posts/editor.css +7 -0
  707. package/build-style/latest-posts/style-rtl.css +0 -9
  708. package/build-style/latest-posts/style.css +0 -9
  709. package/build-style/navigation/editor-rtl.css +16 -2
  710. package/build-style/navigation/editor.css +16 -2
  711. package/build-style/navigation/style-rtl.css +18 -7
  712. package/build-style/navigation/style.css +18 -7
  713. package/build-style/page-list/editor-rtl.css +9 -5
  714. package/build-style/page-list/editor.css +9 -5
  715. package/build-style/post-comments/style-rtl.css +9 -4
  716. package/build-style/post-comments/style.css +9 -4
  717. package/build-style/post-featured-image/editor-rtl.css +0 -7
  718. package/build-style/post-featured-image/editor.css +0 -7
  719. package/build-style/post-featured-image/style-rtl.css +1 -1
  720. package/build-style/post-featured-image/style.css +1 -1
  721. package/build-style/post-template/style-rtl.css +4 -0
  722. package/build-style/post-template/style.css +4 -0
  723. package/build-style/post-title/style-rtl.css +3 -0
  724. package/build-style/post-title/style.css +3 -0
  725. package/build-style/pullquote/style-rtl.css +1 -0
  726. package/build-style/pullquote/style.css +1 -0
  727. package/build-style/query-pagination/editor-rtl.css +0 -4
  728. package/build-style/query-pagination/editor.css +0 -4
  729. package/build-style/social-links/editor-rtl.css +3 -0
  730. package/build-style/social-links/editor.css +3 -0
  731. package/build-style/social-links/style-rtl.css +1 -0
  732. package/build-style/social-links/style.css +1 -0
  733. package/build-style/spacer/editor-rtl.css +4 -0
  734. package/build-style/spacer/editor.css +4 -0
  735. package/build-style/style-rtl.css +141 -87
  736. package/build-style/style.css +143 -87
  737. package/build-style/table/style-rtl.css +1 -0
  738. package/build-style/table/style.css +1 -0
  739. package/build-style/tag-cloud/style-rtl.css +8 -0
  740. package/build-style/tag-cloud/style.css +8 -0
  741. package/build-style/theme-rtl.css +6 -4
  742. package/build-style/theme.css +6 -4
  743. package/package.json +30 -30
  744. package/src/archives/block.json +1 -0
  745. package/src/archives/index.php +5 -9
  746. package/src/audio/block.json +1 -0
  747. package/src/audio/edit.js +18 -2
  748. package/src/audio/editor.scss +14 -0
  749. package/src/audio/test/__snapshots__/edit.native.js.snap +22 -0
  750. package/src/audio/test/edit.native.js +24 -11
  751. package/src/block/block.json +1 -0
  752. package/src/block/index.php +7 -2
  753. package/src/block/test/edit.native.js +10 -12
  754. package/src/button/block.json +5 -1
  755. package/src/button/edit.native.js +1 -1
  756. package/src/buttons/block.json +2 -1
  757. package/src/buttons/edit.js +17 -0
  758. package/src/buttons/edit.native.js +17 -5
  759. package/src/buttons/test/__snapshots__/edit.native.js.snap +27 -0
  760. package/src/buttons/test/edit.native.js +75 -45
  761. package/src/calendar/block.json +1 -0
  762. package/src/calendar/index.php +35 -39
  763. package/src/categories/block.json +1 -0
  764. package/src/categories/index.php +1 -1
  765. package/src/code/block.json +6 -1
  766. package/src/code/theme.scss +6 -4
  767. package/src/column/block.json +1 -0
  768. package/src/columns/block.json +11 -0
  769. package/src/columns/editor.scss +0 -15
  770. package/src/columns/style.scss +15 -36
  771. package/src/comment-author-avatar/block.json +7 -2
  772. package/src/comment-author-avatar/edit.js +9 -2
  773. package/src/comment-author-avatar/index.php +25 -6
  774. package/src/comment-author-name/block.json +1 -0
  775. package/src/comment-content/block.json +1 -0
  776. package/src/comment-date/block.json +1 -0
  777. package/src/comment-date/index.php +2 -2
  778. package/src/comment-edit-link/block.json +1 -0
  779. package/src/comment-edit-link/index.js +1 -1
  780. package/src/comment-reply-link/block.json +1 -0
  781. package/src/comment-template/block.json +4 -2
  782. package/src/comment-template/edit.js +127 -42
  783. package/src/comment-template/index.php +46 -19
  784. package/src/comment-template/style.scss +17 -0
  785. package/src/comment-template/test/index.js +45 -0
  786. package/src/comment-template/util.js +56 -0
  787. package/src/comments-pagination/block.json +37 -0
  788. package/src/comments-pagination/comments-pagination-arrow-controls.js +44 -0
  789. package/src/comments-pagination/edit.js +83 -0
  790. package/src/comments-pagination/editor.scss +34 -0
  791. package/src/comments-pagination/index.js +20 -0
  792. package/src/comments-pagination/index.php +39 -0
  793. package/src/comments-pagination/save.js +8 -0
  794. package/src/comments-pagination/style.scss +38 -0
  795. package/src/comments-pagination-next/block.json +35 -0
  796. package/src/comments-pagination-next/edit.js +44 -0
  797. package/src/comments-pagination-next/index.js +18 -0
  798. package/src/comments-pagination-next/index.php +62 -0
  799. package/src/comments-pagination-numbers/block.json +15 -0
  800. package/src/comments-pagination-numbers/edit.js +22 -0
  801. package/src/comments-pagination-numbers/editor.scss +12 -0
  802. package/src/comments-pagination-numbers/index.js +18 -0
  803. package/src/comments-pagination-numbers/index.php +69 -0
  804. package/src/comments-pagination-previous/block.json +35 -0
  805. package/src/comments-pagination-previous/edit.js +44 -0
  806. package/src/comments-pagination-previous/index.js +18 -0
  807. package/src/comments-pagination-previous/index.php +52 -0
  808. package/src/comments-query-loop/block.json +15 -7
  809. package/src/comments-query-loop/edit/comments-inspector-controls.js +93 -0
  810. package/src/comments-query-loop/edit.js +22 -27
  811. package/src/comments-query-loop/editor.scss +3 -0
  812. package/src/common.scss +19 -0
  813. package/src/cover/block.json +1 -0
  814. package/src/cover/edit.js +1 -0
  815. package/src/cover/edit.native.js +35 -19
  816. package/src/cover/overlay-color-settings.native.js +10 -0
  817. package/src/cover/style.scss +4 -0
  818. package/src/cover/test/__snapshots__/edit.native.js.snap +33 -0
  819. package/src/cover/test/edit.native.js +280 -17
  820. package/src/editor.scss +3 -0
  821. package/src/embed/block.json +1 -0
  822. package/src/embed/edit.native.js +23 -18
  823. package/src/embed/editor.scss +0 -15
  824. package/src/embed/embed-controls.native.js +65 -0
  825. package/src/embed/embed-link-settings.native.js +100 -0
  826. package/src/embed/embed-loading.js +0 -2
  827. package/src/embed/embed-placeholder.native.js +8 -0
  828. package/src/embed/test/__snapshots__/index.native.js.snap +10 -0
  829. package/src/embed/test/index.native.js +236 -95
  830. package/src/file/block.json +1 -0
  831. package/src/file/edit.native.js +6 -2
  832. package/src/file/index.php +2 -2
  833. package/src/file/test/__snapshots__/edit.native.js.snap +18 -5
  834. package/src/file/test/edit.native.js +30 -12
  835. package/src/freeform/block.json +1 -0
  836. package/src/gallery/block.json +1 -0
  837. package/src/gallery/deprecated.js +4 -0
  838. package/src/gallery/edit.js +42 -11
  839. package/src/gallery/editor.scss +8 -22
  840. package/src/gallery/gallery.native.js +1 -1
  841. package/src/gallery/style.scss +4 -0
  842. package/src/gallery/test/use-get-new-images.js +93 -0
  843. package/src/group/block.json +19 -1
  844. package/src/group/theme.scss +4 -5
  845. package/src/heading/block.json +1 -0
  846. package/src/heading/edit.js +2 -1
  847. package/src/home-link/block.json +1 -0
  848. package/src/home-link/index.php +3 -3
  849. package/src/html/block.json +1 -0
  850. package/src/image/block.json +5 -1
  851. package/src/image/edit.js +44 -0
  852. package/src/image/edit.native.js +4 -4
  853. package/src/image/image.js +14 -3
  854. package/src/image/index.php +2 -2
  855. package/src/image/test/edit.native.js +27 -7
  856. package/src/index.js +10 -0
  857. package/src/latest-comments/block.json +1 -0
  858. package/src/latest-comments/index.php +5 -5
  859. package/src/latest-posts/block.json +1 -0
  860. package/src/latest-posts/edit.js +1 -1
  861. package/src/latest-posts/editor.scss +10 -0
  862. package/src/latest-posts/index.php +14 -12
  863. package/src/latest-posts/style.scss +0 -12
  864. package/src/list/block.json +1 -0
  865. package/src/list/test/edit.native.js +3 -3
  866. package/src/loginout/block.json +1 -0
  867. package/src/media-text/block.json +1 -0
  868. package/src/missing/block.json +1 -0
  869. package/src/missing/test/__snapshots__/edit.native.js.snap +5 -0
  870. package/src/missing/test/edit-integration.native.js +2 -2
  871. package/src/missing/test/edit.native.js +26 -30
  872. package/src/more/block.json +1 -0
  873. package/src/navigation/README.md +13 -0
  874. package/src/navigation/block.json +12 -10
  875. package/src/navigation/edit/index.js +71 -21
  876. package/src/navigation/edit/inner-blocks.js +3 -1
  877. package/src/navigation/edit/overlay-menu-icon.js +21 -0
  878. package/src/navigation/edit/placeholder/index.js +20 -9
  879. package/src/navigation/edit/responsive-wrapper.js +12 -13
  880. package/src/navigation/editor.scss +18 -3
  881. package/src/navigation/index.php +17 -10
  882. package/src/navigation/menu-items-to-blocks.js +2 -1
  883. package/src/navigation/style.scss +24 -7
  884. package/src/navigation/use-navigation-entities.js +3 -1
  885. package/src/navigation-area/block.json +3 -7
  886. package/src/navigation-area/edit.js +2 -1
  887. package/src/navigation-link/block.json +2 -3
  888. package/src/navigation-link/edit.js +5 -0
  889. package/src/navigation-link/index.php +3 -3
  890. package/src/navigation-submenu/block.json +2 -3
  891. package/src/navigation-submenu/edit.js +3 -1
  892. package/src/navigation-submenu/index.php +7 -7
  893. package/src/nextpage/block.json +1 -0
  894. package/src/page-list/block.json +4 -0
  895. package/src/page-list/edit.js +47 -9
  896. package/src/page-list/editor.scss +8 -5
  897. package/src/page-list/index.php +15 -10
  898. package/src/paragraph/block.json +2 -1
  899. package/src/paragraph/edit.js +12 -4
  900. package/src/paragraph/test/edit.native.js +4 -13
  901. package/src/pattern/block.json +1 -0
  902. package/src/post-author/block.json +2 -1
  903. package/src/post-author/index.php +1 -1
  904. package/src/post-author-name/block.json +43 -0
  905. package/src/post-author-name/edit.js +95 -0
  906. package/src/post-author-name/index.js +18 -0
  907. package/src/post-author-name/index.php +49 -0
  908. package/src/post-comment/block.json +1 -0
  909. package/src/post-comments/block.json +1 -0
  910. package/src/post-comments/style.scss +10 -4
  911. package/src/post-comments-count/block.json +1 -0
  912. package/src/post-comments-form/block.json +6 -1
  913. package/src/post-comments-link/block.json +1 -0
  914. package/src/post-comments-link/index.php +7 -7
  915. package/src/post-content/block.json +1 -0
  916. package/src/post-content/index.php +1 -1
  917. package/src/post-date/block.json +1 -0
  918. package/src/post-date/index.php +2 -2
  919. package/src/post-excerpt/block.json +1 -0
  920. package/src/post-excerpt/edit.js +1 -0
  921. package/src/post-excerpt/index.js +2 -0
  922. package/src/post-excerpt/index.php +1 -1
  923. package/src/post-excerpt/transforms.js +23 -0
  924. package/src/post-featured-image/block.json +4 -0
  925. package/src/post-featured-image/dimension-controls.js +103 -51
  926. package/src/post-featured-image/edit.js +61 -22
  927. package/src/post-featured-image/editor.scss +0 -8
  928. package/src/post-featured-image/index.php +3 -2
  929. package/src/post-featured-image/style.scss +1 -1
  930. package/src/post-navigation-link/block.json +1 -0
  931. package/src/post-navigation-link/index.php +4 -4
  932. package/src/post-template/block.json +2 -1
  933. package/src/post-template/edit.js +27 -7
  934. package/src/post-template/index.php +2 -2
  935. package/src/post-template/style.scss +5 -0
  936. package/src/post-terms/block.json +1 -0
  937. package/src/post-terms/index.php +1 -1
  938. package/src/post-title/block.json +1 -0
  939. package/src/post-title/index.php +1 -1
  940. package/src/post-title/style.scss +6 -2
  941. package/src/preformatted/block.json +1 -0
  942. package/src/preformatted/edit.native.js +4 -4
  943. package/src/preformatted/test/__snapshots__/edit.native.js.snap +53 -14
  944. package/src/preformatted/test/edit.native.js +11 -10
  945. package/src/pullquote/block.json +8 -1
  946. package/src/pullquote/style.scss +1 -0
  947. package/src/query/block.json +3 -3
  948. package/src/query/deprecated.js +80 -3
  949. package/src/query/edit/index.js +3 -3
  950. package/src/query/edit/inspector-controls/author-control.js +78 -0
  951. package/src/query/edit/inspector-controls/index.js +163 -0
  952. package/src/query/edit/inspector-controls/order-control.js +41 -0
  953. package/src/query/edit/inspector-controls/taxonomy-controls.js +118 -0
  954. package/src/query/test/utils.js +6 -4
  955. package/src/query/utils.js +45 -35
  956. package/src/query/variations.js +0 -4
  957. package/src/query-pagination/block.json +2 -1
  958. package/src/query-pagination/editor.scss +0 -4
  959. package/src/query-pagination-next/block.json +2 -1
  960. package/src/query-pagination-next/index.php +2 -1
  961. package/src/query-pagination-numbers/block.json +2 -1
  962. package/src/query-pagination-previous/block.json +2 -1
  963. package/src/query-pagination-previous/index.php +2 -1
  964. package/src/query-title/block.json +1 -0
  965. package/src/quote/block.json +1 -0
  966. package/src/rss/block.json +1 -0
  967. package/src/search/block.json +8 -1
  968. package/src/search/edit.js +2 -1
  969. package/src/search/edit.native.js +2 -5
  970. package/src/search/index.php +21 -11
  971. package/src/search/test/__snapshots__/edit.native.js.snap +7 -15
  972. package/src/search/test/edit.native.js +32 -24
  973. package/src/separator/block.json +1 -0
  974. package/src/shortcode/block.json +1 -0
  975. package/src/site-logo/block.json +1 -0
  976. package/src/site-logo/edit.js +1 -32
  977. package/src/site-logo/index.js +2 -0
  978. package/src/site-logo/index.php +1 -1
  979. package/src/site-logo/transforms.js +21 -0
  980. package/src/site-tagline/block.json +2 -1
  981. package/src/site-tagline/index.php +1 -1
  982. package/src/site-title/block.json +1 -0
  983. package/src/site-title/index.js +2 -0
  984. package/src/site-title/index.php +4 -4
  985. package/src/site-title/transforms.js +21 -0
  986. package/src/social-link/block.json +2 -1
  987. package/src/social-link/index.php +3 -3
  988. package/src/social-links/block.json +3 -8
  989. package/src/social-links/edit.js +29 -26
  990. package/src/social-links/editor.scss +7 -0
  991. package/src/social-links/style.scss +3 -0
  992. package/src/spacer/block.json +4 -3
  993. package/src/spacer/controls.js +108 -0
  994. package/src/spacer/controls.native.js +82 -0
  995. package/src/spacer/deprecated.js +41 -0
  996. package/src/spacer/edit.js +133 -132
  997. package/src/spacer/edit.native.js +68 -0
  998. package/src/spacer/editor.scss +6 -0
  999. package/src/spacer/index.js +2 -0
  1000. package/src/spacer/save.js +5 -2
  1001. package/src/style.scss +3 -2
  1002. package/src/table/block.json +7 -1
  1003. package/src/table/style.scss +1 -0
  1004. package/src/table-of-contents/block.json +1 -0
  1005. package/src/table-of-contents/index.php +3 -3
  1006. package/src/tag-cloud/block.json +1 -0
  1007. package/src/tag-cloud/index.php +9 -0
  1008. package/src/tag-cloud/style.scss +9 -0
  1009. package/src/template-part/block.json +1 -0
  1010. package/src/template-part/index.php +6 -6
  1011. package/src/term-description/block.json +1 -0
  1012. package/src/text-columns/block.json +1 -0
  1013. package/src/verse/block.json +1 -0
  1014. package/src/verse/test/edit.native.js +7 -10
  1015. package/src/video/block.json +1 -0
  1016. package/build/comments-query-loop/toolbar.js +0 -58
  1017. package/build/comments-query-loop/toolbar.js.map +0 -1
  1018. package/build/embed/embed-bottom-sheet.native.js +0 -85
  1019. package/build/embed/embed-bottom-sheet.native.js.map +0 -1
  1020. package/build/query/edit/query-inspector-controls.js +0 -275
  1021. package/build/query/edit/query-inspector-controls.js.map +0 -1
  1022. package/build-module/comments-query-loop/toolbar.js +0 -48
  1023. package/build-module/comments-query-loop/toolbar.js.map +0 -1
  1024. package/build-module/embed/embed-bottom-sheet.native.js +0 -74
  1025. package/build-module/embed/embed-bottom-sheet.native.js.map +0 -1
  1026. package/build-module/query/edit/query-inspector-controls.js +0 -261
  1027. package/build-module/query/edit/query-inspector-controls.js.map +0 -1
  1028. package/src/comments-query-loop/toolbar.js +0 -57
  1029. package/src/embed/embed-bottom-sheet.native.js +0 -78
  1030. package/src/home-link/style.scss +0 -51
  1031. package/src/query/edit/query-inspector-controls.js +0 -281
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/embed/util.js"],"names":["ASPECT_RATIOS","WP_EMBED_TYPE","kebabCase","classnames","memoize","renderToString","createBlock","getBlockType","getBlockVariations","name","DEFAULT_EMBED_BLOCK","metadata","getEmbedInfoByProvider","provider","find","matchesPatterns","url","patterns","some","pattern","match","findMoreSuitableBlock","isFromWordPress","html","includes","getPhotoHtml","photo","imageUrl","thumbnail_url","photoPreview","title","createUpgradedEmbedBlock","props","attributesFromPreview","preview","attributes","providerNameSlug","type","restAttributes","matchedBlock","isCurrentBlockWP","shouldCreateNewBlock","wpVariation","removeAspectRatioClasses","existingClassNames","aspectRatioClassNames","reduce","accumulator","className","getClassNames","allowResponsive","previewDocument","document","implementation","createHTMLDocument","body","innerHTML","iframe","querySelector","height","width","aspectRatio","toFixed","ratioIndex","length","potentialRatio","ratio","ratioDiff","fallback","onReplace","link","content","getAttributesFromPreview","currentClassNames","isResponsive","provider_name","providerName","toLowerCase"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport { ASPECT_RATIOS, WP_EMBED_TYPE } from './constants';\n\n/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\nimport classnames from 'classnames/dedupe';\nimport memoize from 'memize';\n\n/**\n * WordPress dependencies\n */\nimport { renderToString } from '@wordpress/element';\nimport {\n\tcreateBlock,\n\tgetBlockType,\n\tgetBlockVariations,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\n\nconst { name: DEFAULT_EMBED_BLOCK } = metadata;\n\n/** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */\n\n/**\n * Returns the embed block's information by matching the provided service provider\n *\n * @param {string} provider The embed block's provider\n * @return {WPBlockVariation} The embed block's information\n */\nexport const getEmbedInfoByProvider = ( provider ) =>\n\tgetBlockVariations( DEFAULT_EMBED_BLOCK )?.find(\n\t\t( { name } ) => name === provider\n\t);\n\n/**\n * Returns true if any of the regular expressions match the URL.\n *\n * @param {string} url The URL to test.\n * @param {Array} patterns The list of regular expressions to test agains.\n * @return {boolean} True if any of the regular expressions match the URL.\n */\nexport const matchesPatterns = ( url, patterns = [] ) =>\n\tpatterns.some( ( pattern ) => url.match( pattern ) );\n\n/**\n * Finds the block variation that should be used for the URL,\n * based on the provided URL and the variation's patterns.\n *\n * @param {string} url The URL to test.\n * @return {WPBlockVariation} The block variation that should be used for this URL\n */\nexport const findMoreSuitableBlock = ( url ) =>\n\tgetBlockVariations( DEFAULT_EMBED_BLOCK )?.find( ( { patterns } ) =>\n\t\tmatchesPatterns( url, patterns )\n\t);\n\nexport const isFromWordPress = ( html ) =>\n\thtml && html.includes( 'class=\"wp-embedded-content\"' );\n\nexport const getPhotoHtml = ( photo ) => {\n\t// 100% width for the preview so it fits nicely into the document, some \"thumbnails\" are\n\t// actually the full size photo. If thumbnails not found, use full image.\n\tconst imageUrl = photo.thumbnail_url || photo.url;\n\tconst photoPreview = (\n\t\t<p>\n\t\t\t<img src={ imageUrl } alt={ photo.title } width=\"100%\" />\n\t\t</p>\n\t);\n\treturn renderToString( photoPreview );\n};\n\n/**\n * Creates a more suitable embed block based on the passed in props\n * and attributes generated from an embed block's preview.\n *\n * We require `attributesFromPreview` to be generated from the latest attributes\n * and preview, and because of the way the react lifecycle operates, we can't\n * guarantee that the attributes contained in the block's props are the latest\n * versions, so we require that these are generated separately.\n * See `getAttributesFromPreview` in the generated embed edit component.\n *\n * @param {Object} props The block's props.\n * @param {Object} [attributesFromPreview] Attributes generated from the block's most up to date preview.\n * @return {Object|undefined} A more suitable embed block if one exists.\n */\nexport const createUpgradedEmbedBlock = (\n\tprops,\n\tattributesFromPreview = {}\n) => {\n\tconst { preview, attributes = {} } = props;\n\tconst { url, providerNameSlug, type, ...restAttributes } = attributes;\n\n\tif ( ! url || ! getBlockType( DEFAULT_EMBED_BLOCK ) ) return;\n\n\tconst matchedBlock = findMoreSuitableBlock( url );\n\n\t// WordPress blocks can work on multiple sites, and so don't have patterns,\n\t// so if we're in a WordPress block, assume the user has chosen it for a WordPress URL.\n\tconst isCurrentBlockWP =\n\t\tproviderNameSlug === 'wordpress' || type === WP_EMBED_TYPE;\n\t// if current block is not WordPress and a more suitable block found\n\t// that is different from the current one, create the new matched block\n\tconst shouldCreateNewBlock =\n\t\t! isCurrentBlockWP &&\n\t\tmatchedBlock &&\n\t\t( matchedBlock.attributes.providerNameSlug !== providerNameSlug ||\n\t\t\t! providerNameSlug );\n\tif ( shouldCreateNewBlock ) {\n\t\treturn createBlock( DEFAULT_EMBED_BLOCK, {\n\t\t\turl,\n\t\t\t...restAttributes,\n\t\t\t...matchedBlock.attributes,\n\t\t} );\n\t}\n\n\tconst wpVariation = getBlockVariations( DEFAULT_EMBED_BLOCK )?.find(\n\t\t( { name } ) => name === 'wordpress'\n\t);\n\n\t// We can't match the URL for WordPress embeds, we have to check the HTML instead.\n\tif (\n\t\t! wpVariation ||\n\t\t! preview ||\n\t\t! isFromWordPress( preview.html ) ||\n\t\tisCurrentBlockWP\n\t) {\n\t\treturn;\n\t}\n\n\t// This is not the WordPress embed block so transform it into one.\n\treturn createBlock( DEFAULT_EMBED_BLOCK, {\n\t\turl,\n\t\t...wpVariation.attributes,\n\t\t// By now we have the preview, but when the new block first renders, it\n\t\t// won't have had all the attributes set, and so won't get the correct\n\t\t// type and it won't render correctly. So, we pass through the current attributes\n\t\t// here so that the initial render works when we switch to the WordPress\n\t\t// block. This only affects the WordPress block because it can't be\n\t\t// rendered in the usual Sandbox (it has a sandbox of its own) and it\n\t\t// relies on the preview to set the correct render type.\n\t\t...attributesFromPreview,\n\t} );\n};\n\n/**\n * Removes all previously set aspect ratio related classes and return the rest\n * existing class names.\n *\n * @param {string} existingClassNames Any existing class names.\n * @return {string} The class names without any aspect ratio related class.\n */\nexport const removeAspectRatioClasses = ( existingClassNames ) => {\n\tif ( ! existingClassNames ) {\n\t\t// Avoids extraneous work and also, by returning the same value as\n\t\t// received, ensures the post is not dirtied by a change of the block\n\t\t// attribute from `undefined` to an emtpy string.\n\t\treturn existingClassNames;\n\t}\n\tconst aspectRatioClassNames = ASPECT_RATIOS.reduce(\n\t\t( accumulator, { className } ) => {\n\t\t\taccumulator[ className ] = false;\n\t\t\treturn accumulator;\n\t\t},\n\t\t{ 'wp-has-aspect-ratio': false }\n\t);\n\treturn classnames( existingClassNames, aspectRatioClassNames );\n};\n\n/**\n * Returns class names with any relevant responsive aspect ratio names.\n *\n * @param {string} html The preview HTML that possibly contains an iframe with width and height set.\n * @param {string} existingClassNames Any existing class names.\n * @param {boolean} allowResponsive If the responsive class names should be added, or removed.\n * @return {string} Deduped class names.\n */\nexport function getClassNames(\n\thtml,\n\texistingClassNames,\n\tallowResponsive = true\n) {\n\tif ( ! allowResponsive ) {\n\t\treturn removeAspectRatioClasses( existingClassNames );\n\t}\n\n\tconst previewDocument = document.implementation.createHTMLDocument( '' );\n\tpreviewDocument.body.innerHTML = html;\n\tconst iframe = previewDocument.body.querySelector( 'iframe' );\n\n\t// If we have a fixed aspect iframe, and it's a responsive embed block.\n\tif ( iframe && iframe.height && iframe.width ) {\n\t\tconst aspectRatio = ( iframe.width / iframe.height ).toFixed( 2 );\n\t\t// Given the actual aspect ratio, find the widest ratio to support it.\n\t\tfor (\n\t\t\tlet ratioIndex = 0;\n\t\t\tratioIndex < ASPECT_RATIOS.length;\n\t\t\tratioIndex++\n\t\t) {\n\t\t\tconst potentialRatio = ASPECT_RATIOS[ ratioIndex ];\n\t\t\tif ( aspectRatio >= potentialRatio.ratio ) {\n\t\t\t\t// Evaluate the difference between actual aspect ratio and closest match.\n\t\t\t\t// If the difference is too big, do not scale the embed according to aspect ratio.\n\t\t\t\tconst ratioDiff = aspectRatio - potentialRatio.ratio;\n\t\t\t\tif ( ratioDiff > 0.1 ) {\n\t\t\t\t\t// No close aspect ratio match found.\n\t\t\t\t\treturn removeAspectRatioClasses( existingClassNames );\n\t\t\t\t}\n\t\t\t\t// Close aspect ratio match found.\n\t\t\t\treturn classnames(\n\t\t\t\t\tremoveAspectRatioClasses( existingClassNames ),\n\t\t\t\t\tpotentialRatio.className,\n\t\t\t\t\t'wp-has-aspect-ratio'\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn existingClassNames;\n}\n\n/**\n * Fallback behaviour for unembeddable URLs.\n * Creates a paragraph block containing a link to the URL, and calls `onReplace`.\n *\n * @param {string} url The URL that could not be embedded.\n * @param {Function} onReplace Function to call with the created fallback block.\n */\nexport function fallback( url, onReplace ) {\n\tconst link = <a href={ url }>{ url }</a>;\n\tonReplace(\n\t\tcreateBlock( 'core/paragraph', { content: renderToString( link ) } )\n\t);\n}\n\n/***\n * Gets block attributes based on the preview and responsive state.\n *\n * @param {Object} preview The preview data.\n * @param {string} title The block's title, e.g. Twitter.\n * @param {Object} currentClassNames The block's current class names.\n * @param {boolean} isResponsive Boolean indicating if the block supports responsive content.\n * @param {boolean} allowResponsive Apply responsive classes to fixed size content.\n * @return {Object} Attributes and values.\n */\nexport const getAttributesFromPreview = memoize(\n\t(\n\t\tpreview,\n\t\ttitle,\n\t\tcurrentClassNames,\n\t\tisResponsive,\n\t\tallowResponsive = true\n\t) => {\n\t\tif ( ! preview ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tconst attributes = {};\n\t\t// Some plugins only return HTML with no type info, so default this to 'rich'.\n\t\tlet { type = 'rich' } = preview;\n\t\t// If we got a provider name from the API, use it for the slug, otherwise we use the title,\n\t\t// because not all embed code gives us a provider name.\n\t\tconst { html, provider_name: providerName } = preview;\n\t\tconst providerNameSlug = kebabCase(\n\t\t\t( providerName || title ).toLowerCase()\n\t\t);\n\n\t\tif ( isFromWordPress( html ) ) {\n\t\t\ttype = WP_EMBED_TYPE;\n\t\t}\n\n\t\tif ( html || 'photo' === type ) {\n\t\t\tattributes.type = type;\n\t\t\tattributes.providerNameSlug = providerNameSlug;\n\t\t}\n\n\t\tattributes.className = getClassNames(\n\t\t\thtml,\n\t\t\tcurrentClassNames,\n\t\t\tisResponsive && allowResponsive\n\t\t);\n\n\t\treturn attributes;\n\t}\n);\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/embed/util.js"],"names":["ASPECT_RATIOS","WP_EMBED_TYPE","kebabCase","classnames","memoize","renderToString","createBlock","getBlockType","getBlockVariations","name","DEFAULT_EMBED_BLOCK","metadata","getEmbedInfoByProvider","provider","find","matchesPatterns","url","patterns","some","pattern","match","findMoreSuitableBlock","isFromWordPress","html","includes","getPhotoHtml","photo","imageUrl","thumbnail_url","photoPreview","title","createUpgradedEmbedBlock","props","attributesFromPreview","preview","attributes","providerNameSlug","type","restAttributes","matchedBlock","isCurrentBlockWP","shouldCreateNewBlock","wpVariation","removeAspectRatioClasses","existingClassNames","aspectRatioClassNames","reduce","accumulator","className","getClassNames","allowResponsive","previewDocument","document","implementation","createHTMLDocument","body","innerHTML","iframe","querySelector","height","width","aspectRatio","toFixed","ratioIndex","length","potentialRatio","ratio","ratioDiff","fallback","onReplace","link","content","getAttributesFromPreview","currentClassNames","isResponsive","provider_name","providerName","toLowerCase"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport { ASPECT_RATIOS, WP_EMBED_TYPE } from './constants';\n\n/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\nimport classnames from 'classnames/dedupe';\nimport memoize from 'memize';\n\n/**\n * WordPress dependencies\n */\nimport { renderToString } from '@wordpress/element';\nimport {\n\tcreateBlock,\n\tgetBlockType,\n\tgetBlockVariations,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\n\nconst { name: DEFAULT_EMBED_BLOCK } = metadata;\n\n/** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */\n\n/**\n * Returns the embed block's information by matching the provided service provider\n *\n * @param {string} provider The embed block's provider\n * @return {WPBlockVariation} The embed block's information\n */\nexport const getEmbedInfoByProvider = ( provider ) =>\n\tgetBlockVariations( DEFAULT_EMBED_BLOCK )?.find(\n\t\t( { name } ) => name === provider\n\t);\n\n/**\n * Returns true if any of the regular expressions match the URL.\n *\n * @param {string} url The URL to test.\n * @param {Array} patterns The list of regular expressions to test agains.\n * @return {boolean} True if any of the regular expressions match the URL.\n */\nexport const matchesPatterns = ( url, patterns = [] ) =>\n\tpatterns.some( ( pattern ) => url.match( pattern ) );\n\n/**\n * Finds the block variation that should be used for the URL,\n * based on the provided URL and the variation's patterns.\n *\n * @param {string} url The URL to test.\n * @return {WPBlockVariation} The block variation that should be used for this URL\n */\nexport const findMoreSuitableBlock = ( url ) =>\n\tgetBlockVariations( DEFAULT_EMBED_BLOCK )?.find( ( { patterns } ) =>\n\t\tmatchesPatterns( url, patterns )\n\t);\n\nexport const isFromWordPress = ( html ) =>\n\thtml && html.includes( 'class=\"wp-embedded-content\"' );\n\nexport const getPhotoHtml = ( photo ) => {\n\t// 100% width for the preview so it fits nicely into the document, some \"thumbnails\" are\n\t// actually the full size photo. If thumbnails not found, use full image.\n\tconst imageUrl = photo.thumbnail_url || photo.url;\n\tconst photoPreview = (\n\t\t<p>\n\t\t\t<img src={ imageUrl } alt={ photo.title } width=\"100%\" />\n\t\t</p>\n\t);\n\treturn renderToString( photoPreview );\n};\n\n/**\n * Creates a more suitable embed block based on the passed in props\n * and attributes generated from an embed block's preview.\n *\n * We require `attributesFromPreview` to be generated from the latest attributes\n * and preview, and because of the way the react lifecycle operates, we can't\n * guarantee that the attributes contained in the block's props are the latest\n * versions, so we require that these are generated separately.\n * See `getAttributesFromPreview` in the generated embed edit component.\n *\n * @param {Object} props The block's props.\n * @param {Object} [attributesFromPreview] Attributes generated from the block's most up to date preview.\n * @return {Object|undefined} A more suitable embed block if one exists.\n */\nexport const createUpgradedEmbedBlock = (\n\tprops,\n\tattributesFromPreview = {}\n) => {\n\tconst { preview, attributes = {} } = props;\n\tconst { url, providerNameSlug, type, ...restAttributes } = attributes;\n\n\tif ( ! url || ! getBlockType( DEFAULT_EMBED_BLOCK ) ) return;\n\n\tconst matchedBlock = findMoreSuitableBlock( url );\n\n\t// WordPress blocks can work on multiple sites, and so don't have patterns,\n\t// so if we're in a WordPress block, assume the user has chosen it for a WordPress URL.\n\tconst isCurrentBlockWP =\n\t\tproviderNameSlug === 'wordpress' || type === WP_EMBED_TYPE;\n\t// if current block is not WordPress and a more suitable block found\n\t// that is different from the current one, create the new matched block\n\tconst shouldCreateNewBlock =\n\t\t! isCurrentBlockWP &&\n\t\tmatchedBlock &&\n\t\t( matchedBlock.attributes.providerNameSlug !== providerNameSlug ||\n\t\t\t! providerNameSlug );\n\tif ( shouldCreateNewBlock ) {\n\t\treturn createBlock( DEFAULT_EMBED_BLOCK, {\n\t\t\turl,\n\t\t\t...restAttributes,\n\t\t\t...matchedBlock.attributes,\n\t\t} );\n\t}\n\n\tconst wpVariation = getBlockVariations( DEFAULT_EMBED_BLOCK )?.find(\n\t\t( { name } ) => name === 'wordpress'\n\t);\n\n\t// We can't match the URL for WordPress embeds, we have to check the HTML instead.\n\tif (\n\t\t! wpVariation ||\n\t\t! preview ||\n\t\t! isFromWordPress( preview.html ) ||\n\t\tisCurrentBlockWP\n\t) {\n\t\treturn;\n\t}\n\n\t// This is not the WordPress embed block so transform it into one.\n\treturn createBlock( DEFAULT_EMBED_BLOCK, {\n\t\turl,\n\t\t...wpVariation.attributes,\n\t\t// By now we have the preview, but when the new block first renders, it\n\t\t// won't have had all the attributes set, and so won't get the correct\n\t\t// type and it won't render correctly. So, we pass through the current attributes\n\t\t// here so that the initial render works when we switch to the WordPress\n\t\t// block. This only affects the WordPress block because it can't be\n\t\t// rendered in the usual Sandbox (it has a sandbox of its own) and it\n\t\t// relies on the preview to set the correct render type.\n\t\t...attributesFromPreview,\n\t} );\n};\n\n/**\n * Removes all previously set aspect ratio related classes and return the rest\n * existing class names.\n *\n * @param {string} existingClassNames Any existing class names.\n * @return {string} The class names without any aspect ratio related class.\n */\nexport const removeAspectRatioClasses = ( existingClassNames ) => {\n\tif ( ! existingClassNames ) {\n\t\t// Avoids extraneous work and also, by returning the same value as\n\t\t// received, ensures the post is not dirtied by a change of the block\n\t\t// attribute from `undefined` to an emtpy string.\n\t\treturn existingClassNames;\n\t}\n\tconst aspectRatioClassNames = ASPECT_RATIOS.reduce(\n\t\t( accumulator, { className } ) => {\n\t\t\taccumulator[ className ] = false;\n\t\t\treturn accumulator;\n\t\t},\n\t\t{ 'wp-has-aspect-ratio': false }\n\t);\n\treturn classnames( existingClassNames, aspectRatioClassNames );\n};\n\n/**\n * Returns class names with any relevant responsive aspect ratio names.\n *\n * @param {string} html The preview HTML that possibly contains an iframe with width and height set.\n * @param {string} existingClassNames Any existing class names.\n * @param {boolean} allowResponsive If the responsive class names should be added, or removed.\n * @return {string} Deduped class names.\n */\nexport function getClassNames(\n\thtml,\n\texistingClassNames,\n\tallowResponsive = true\n) {\n\tif ( ! allowResponsive ) {\n\t\treturn removeAspectRatioClasses( existingClassNames );\n\t}\n\n\tconst previewDocument = document.implementation.createHTMLDocument( '' );\n\tpreviewDocument.body.innerHTML = html;\n\tconst iframe = previewDocument.body.querySelector( 'iframe' );\n\n\t// If we have a fixed aspect iframe, and it's a responsive embed block.\n\tif ( iframe && iframe.height && iframe.width ) {\n\t\tconst aspectRatio = ( iframe.width / iframe.height ).toFixed( 2 );\n\t\t// Given the actual aspect ratio, find the widest ratio to support it.\n\t\tfor (\n\t\t\tlet ratioIndex = 0;\n\t\t\tratioIndex < ASPECT_RATIOS.length;\n\t\t\tratioIndex++\n\t\t) {\n\t\t\tconst potentialRatio = ASPECT_RATIOS[ ratioIndex ];\n\t\t\tif ( aspectRatio >= potentialRatio.ratio ) {\n\t\t\t\t// Evaluate the difference between actual aspect ratio and closest match.\n\t\t\t\t// If the difference is too big, do not scale the embed according to aspect ratio.\n\t\t\t\tconst ratioDiff = aspectRatio - potentialRatio.ratio;\n\t\t\t\tif ( ratioDiff > 0.1 ) {\n\t\t\t\t\t// No close aspect ratio match found.\n\t\t\t\t\treturn removeAspectRatioClasses( existingClassNames );\n\t\t\t\t}\n\t\t\t\t// Close aspect ratio match found.\n\t\t\t\treturn classnames(\n\t\t\t\t\tremoveAspectRatioClasses( existingClassNames ),\n\t\t\t\t\tpotentialRatio.className,\n\t\t\t\t\t'wp-has-aspect-ratio'\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn existingClassNames;\n}\n\n/**\n * Fallback behaviour for unembeddable URLs.\n * Creates a paragraph block containing a link to the URL, and calls `onReplace`.\n *\n * @param {string} url The URL that could not be embedded.\n * @param {Function} onReplace Function to call with the created fallback block.\n */\nexport function fallback( url, onReplace ) {\n\tconst link = <a href={ url }>{ url }</a>;\n\tonReplace(\n\t\tcreateBlock( 'core/paragraph', { content: renderToString( link ) } )\n\t);\n}\n\n/***\n * Gets block attributes based on the preview and responsive state.\n *\n * @param {Object} preview The preview data.\n * @param {string} title The block's title, e.g. Twitter.\n * @param {Object} currentClassNames The block's current class names.\n * @param {boolean} isResponsive Boolean indicating if the block supports responsive content.\n * @param {boolean} allowResponsive Apply responsive classes to fixed size content.\n * @return {Object} Attributes and values.\n */\nexport const getAttributesFromPreview = memoize(\n\t(\n\t\tpreview,\n\t\ttitle,\n\t\tcurrentClassNames,\n\t\tisResponsive,\n\t\tallowResponsive = true\n\t) => {\n\t\tif ( ! preview ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tconst attributes = {};\n\t\t// Some plugins only return HTML with no type info, so default this to 'rich'.\n\t\tlet { type = 'rich' } = preview;\n\t\t// If we got a provider name from the API, use it for the slug, otherwise we use the title,\n\t\t// because not all embed code gives us a provider name.\n\t\tconst { html, provider_name: providerName } = preview;\n\t\tconst providerNameSlug = kebabCase(\n\t\t\t( providerName || title ).toLowerCase()\n\t\t);\n\n\t\tif ( isFromWordPress( html ) ) {\n\t\t\ttype = WP_EMBED_TYPE;\n\t\t}\n\n\t\tif ( html || 'photo' === type ) {\n\t\t\tattributes.type = type;\n\t\t\tattributes.providerNameSlug = providerNameSlug;\n\t\t}\n\n\t\tattributes.className = getClassNames(\n\t\t\thtml,\n\t\t\tcurrentClassNames,\n\t\t\tisResponsive && allowResponsive\n\t\t);\n\n\t\treturn attributes;\n\t}\n);\n"]}
@@ -3,7 +3,8 @@ import { createElement } from "@wordpress/element";
3
3
  /**
4
4
  * External dependencies
5
5
  */
6
- import { View, Clipboard, TouchableWithoutFeedback, Text } from 'react-native';
6
+ import { View, TouchableWithoutFeedback, Text } from 'react-native';
7
+ import Clipboard from '@react-native-clipboard/clipboard';
7
8
  /**
8
9
  * WordPress dependencies
9
10
  */
@@ -399,7 +400,8 @@ export class FileEdit extends Component {
399
400
  onLongPress: openMediaOptions,
400
401
  disabled: !isSelected
401
402
  }, createElement(View, {
402
- onLayout: this.onLayout
403
+ onLayout: this.onLayout,
404
+ testID: "file-edit-container"
403
405
  }, this.getPlaceholderWidth(placeholderText), isUploadInProgress || this.getToolbarEditButton(openMediaOptions), getMediaOptions(), isSelected && this.getInspectorControls(attributes, media, isUploadInProgress, isUploadFailed), createElement(View, {
404
406
  style: styles.container
405
407
  }, createElement(RichText, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/file/edit.native.js"],"names":["View","Clipboard","TouchableWithoutFeedback","Text","requestImageFailedRetryDialog","requestImageUploadCancelDialog","mediaUploadSync","BlockIcon","MediaPlaceholder","MediaUploadProgress","RichText","PlainText","BlockControls","MediaUpload","InspectorControls","MEDIA_TYPE_ANY","store","blockEditorStore","ToolbarButton","ToolbarGroup","PanelBody","ToggleControl","TextControl","SelectControl","Icon","file","icon","replace","button","external","link","warning","Component","__","_x","compose","withPreferredColorScheme","withDispatch","withSelect","getProtocol","coreStore","styles","URL_COPIED_NOTIFICATION_DURATION_MS","MIN_WIDTH","FileEdit","constructor","props","state","isUploadInProgress","isSidebarLinkSettings","placeholderTextWidth","maxWidth","timerRef","onLayout","bind","onSelectFile","onChangeFileName","onChangeDownloadButtonText","updateMediaProgress","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","getFileComponent","onChangeDownloadButtonVisibility","onCopyURL","onChangeOpenInNewWindow","onChangeLinkDestinationOption","onShowLinkSettings","onFilePressed","mediaUploadStateReset","componentDidMount","attributes","setAttributes","downloadButtonText","undefined","id","url","componentWillUnmount","clearTimeout","componentDidUpdate","prevProps","isSidebarOpened","setState","media","href","fileName","title","textLinkHref","showDownloadButton","newHref","isUrlCopied","setString","setTimeout","newValue","textLinkTarget","payload","mediaUrl","mediaServerId","mediaId","openSidebar","getToolbarEditButton","open","getInspectorControls","isUploadFailed","linkDestinationOptions","value","label","attachmentPage","actionButtonStyle","getStylesFromColorScheme","actionButton","actionButtonDark","isCopyUrlDisabled","dimmedActionButtonStyle","dimmedActionButton","dimmedActionButtonDark","finalButtonStyle","getStyleForAlignment","align","getFlexAlign","alignment","alignSelf","getTextAlignmentForAlignment","nativeEvent","width","layout","paddingLeft","paddingRight","defaultButton","getPlaceholderWidth","placeholderText","placeholder","textWidth","lines","Math","min","openMediaOptions","getMediaOptions","isSelected","isButtonFocused","minWidth","dimmedStyle","disabledButton","errorIconStyle","Object","assign","errorIcon","uploadFailed","container","errorContainer","buttonText","color","placeholderTextColor","render","wasBlockJustInserted","instructions","onFocus","select","clientId","isEditorSidebarOpened","isNotFileHref","getMedia","dispatch","openGeneralSidebar"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,IAAT,EAAeC,SAAf,EAA0BC,wBAA1B,EAAoDC,IAApD,QAAgE,cAAhE;AAEA;AACA;AACA;;AACA,SACCC,6BADD,EAECC,8BAFD,EAGCC,eAHD,QAIO,gCAJP;AAKA,SACCC,SADD,EAECC,gBAFD,EAGCC,mBAHD,EAICC,QAJD,EAKCC,SALD,EAMCC,aAND,EAOCC,WAPD,EAQCC,iBARD,EASCC,cATD,EAUCC,KAAK,IAAIC,gBAVV,QAWO,yBAXP;AAYA,SACCC,aADD,EAECC,YAFD,EAGCC,SAHD,EAICC,aAJD,EAKCC,WALD,EAMCC,aAND,EAOCC,IAPD,QAQO,uBARP;AASA,SACCC,IAAI,IAAIC,IADT,EAECC,OAFD,EAGCC,MAHD,EAICC,QAJD,EAKCC,IALD,EAMCC,OAND,QAOO,kBAPP;AAQA,SAASC,SAAT,QAA0B,oBAA1B;AACA,SAASC,EAAT,EAAaC,EAAb,QAAuB,iBAAvB;AACA,SAASC,OAAT,EAAkBC,wBAAlB,QAAkD,oBAAlD;AACA,SAASC,YAAT,EAAuBC,UAAvB,QAAyC,iBAAzC;AACA,SAASC,WAAT,QAA4B,gBAA5B;AACA,SAASvB,KAAK,IAAIwB,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,cAAnB;AAEA,MAAMC,mCAAmC,GAAG,IAA5C;AACA,MAAMC,SAAS,GAAG,EAAlB;AAEA,OAAO,MAAMC,QAAN,SAAuBZ,SAAvB,CAAiC;AACvCa,EAAAA,WAAW,CAAEC,KAAF,EAAU;AACpB,UAAOA,KAAP;AAEA,SAAKC,KAAL,GAAa;AACZC,MAAAA,kBAAkB,EAAE,KADR;AAEZC,MAAAA,qBAAqB,EAAE,KAFX;AAGZC,MAAAA,oBAAoB,EAAE,CAHV;AAIZC,MAAAA,QAAQ,EAAE;AAJE,KAAb;AAOA,SAAKC,QAAL,GAAgB,IAAhB;AAEA,SAAKC,QAAL,GAAgB,KAAKA,QAAL,CAAcC,IAAd,CAAoB,IAApB,CAAhB;AACA,SAAKC,YAAL,GAAoB,KAAKA,YAAL,CAAkBD,IAAlB,CAAwB,IAAxB,CAApB;AACA,SAAKE,gBAAL,GAAwB,KAAKA,gBAAL,CAAsBF,IAAtB,CAA4B,IAA5B,CAAxB;AACA,SAAKG,0BAAL,GAAkC,KAAKA,0BAAL,CAAgCH,IAAhC,CACjC,IADiC,CAAlC;AAGA,SAAKI,mBAAL,GAA2B,KAAKA,mBAAL,CAAyBJ,IAAzB,CAA+B,IAA/B,CAA3B;AACA,SAAKK,4BAAL,GAAoC,KAAKA,4BAAL,CAAkCL,IAAlC,CACnC,IADmC,CAApC;AAGA,SAAKM,4BAAL,GAAoC,KAAKA,4BAAL,CAAkCN,IAAlC,CACnC,IADmC,CAApC;AAGA,SAAKO,gBAAL,GAAwB,KAAKA,gBAAL,CAAsBP,IAAtB,CAA4B,IAA5B,CAAxB;AACA,SAAKQ,gCAAL,GAAwC,KAAKA,gCAAL,CAAsCR,IAAtC,CACvC,IADuC,CAAxC;AAGA,SAAKS,SAAL,GAAiB,KAAKA,SAAL,CAAeT,IAAf,CAAqB,IAArB,CAAjB;AACA,SAAKU,uBAAL,GAA+B,KAAKA,uBAAL,CAA6BV,IAA7B,CAC9B,IAD8B,CAA/B;AAIA,SAAKW,6BAAL,GAAqC,KAAKA,6BAAL,CAAmCX,IAAnC,CACpC,IADoC,CAArC;AAGA,SAAKY,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBZ,IAAxB,CAA8B,IAA9B,CAA1B;AACA,SAAKa,aAAL,GAAqB,KAAKA,aAAL,CAAmBb,IAAnB,CAAyB,IAAzB,CAArB;AACA,SAAKc,qBAAL,GAA6B,KAAKA,qBAAL,CAA2Bd,IAA3B,CAAiC,IAAjC,CAA7B;AACA;;AAEDe,EAAAA,iBAAiB,GAAG;AACnB,UAAM;AAAEC,MAAAA,UAAF;AAAcC,MAAAA;AAAd,QAAgC,KAAKzB,KAA3C;AACA,UAAM;AAAE0B,MAAAA;AAAF,QAAyBF,UAA/B;;AAEA,QAAKE,kBAAkB,KAAKC,SAAvB,IAAoCD,kBAAkB,KAAK,EAAhE,EAAqE;AACpED,MAAAA,aAAa,CAAE;AACdC,QAAAA,kBAAkB,EAAEtC,EAAE,CAAE,UAAF,EAAc,cAAd;AADR,OAAF,CAAb;AAGA;;AAED,QACCoC,UAAU,CAACI,EAAX,IACAJ,UAAU,CAACK,GADX,IAEApC,WAAW,CAAE+B,UAAU,CAACK,GAAb,CAAX,KAAkC,OAHnC,EAIE;AACDrE,MAAAA,eAAe;AACf;AACD;;AAEDsE,EAAAA,oBAAoB,GAAG;AACtBC,IAAAA,YAAY,CAAE,KAAKzB,QAAP,CAAZ;AACA;;AAED0B,EAAAA,kBAAkB,CAAEC,SAAF,EAAc;AAC/B,QACCA,SAAS,CAACC,eAAV,IACA,CAAE,KAAKlC,KAAL,CAAWkC,eADb,IAEA,KAAKjC,KAAL,CAAWE,qBAHZ,EAIE;AACD,WAAKgC,QAAL,CAAe;AAAEhC,QAAAA,qBAAqB,EAAE;AAAzB,OAAf;AACA;AACD;;AAEDM,EAAAA,YAAY,CAAE2B,KAAF,EAAU;AACrB,SAAKpC,KAAL,CAAWyB,aAAX,CAA0B;AACzBY,MAAAA,IAAI,EAAED,KAAK,CAACP,GADa;AAEzBS,MAAAA,QAAQ,EAAEF,KAAK,CAACG,KAFS;AAGzBC,MAAAA,YAAY,EAAEJ,KAAK,CAACP,GAHK;AAIzBD,MAAAA,EAAE,EAAEQ,KAAK,CAACR;AAJe,KAA1B;AAMA;;AAEDlB,EAAAA,gBAAgB,CAAE4B,QAAF,EAAa;AAC5B,SAAKtC,KAAL,CAAWyB,aAAX,CAA0B;AAAEa,MAAAA;AAAF,KAA1B;AACA;;AAED3B,EAAAA,0BAA0B,CAAEe,kBAAF,EAAuB;AAChD,SAAK1B,KAAL,CAAWyB,aAAX,CAA0B;AAAEC,MAAAA;AAAF,KAA1B;AACA;;AAEDV,EAAAA,gCAAgC,CAAEyB,kBAAF,EAAuB;AACtD,SAAKzC,KAAL,CAAWyB,aAAX,CAA0B;AAAEgB,MAAAA;AAAF,KAA1B;AACA;;AAEDtB,EAAAA,6BAA6B,CAAEuB,OAAF,EAAY;AACxC;AACA,SAAK1C,KAAL,CAAWyB,aAAX,CAA0B;AAAEe,MAAAA,YAAY,EAAEE;AAAhB,KAA1B;AACA;;AAEDzB,EAAAA,SAAS,GAAG;AACX,QAAK,KAAKhB,KAAL,CAAW0C,WAAhB,EAA8B;AAC7B;AACA;;AACD,UAAM;AAAEN,MAAAA;AAAF,QAAW,KAAKrC,KAAL,CAAWwB,UAA5B;AACArE,IAAAA,SAAS,CAACyF,SAAV,CAAqBP,IAArB;AAEA,SAAKF,QAAL,CAAe;AAAEQ,MAAAA,WAAW,EAAE;AAAf,KAAf;AACA,SAAKrC,QAAL,GAAgBuC,UAAU,CAAE,MAAM;AACjC,WAAKV,QAAL,CAAe;AAAEQ,QAAAA,WAAW,EAAE;AAAf,OAAf;AACA,KAFyB,EAEvB/C,mCAFuB,CAA1B;AAGA;;AAEDsB,EAAAA,uBAAuB,CAAE4B,QAAF,EAAa;AACnC,SAAK9C,KAAL,CAAWyB,aAAX,CAA0B;AACzBsB,MAAAA,cAAc,EAAED,QAAQ,GAAG,QAAH,GAAc;AADb,KAA1B;AAGA;;AAEDlC,EAAAA,mBAAmB,CAAEoC,OAAF,EAAY;AAC9B,UAAM;AAAEvB,MAAAA;AAAF,QAAoB,KAAKzB,KAA/B;;AACA,QAAKgD,OAAO,CAACC,QAAb,EAAwB;AACvBxB,MAAAA,aAAa,CAAE;AAAEI,QAAAA,GAAG,EAAEmB,OAAO,CAACC;AAAf,OAAF,CAAb;AACA;;AACD,QAAK,CAAE,KAAKhD,KAAL,CAAWC,kBAAlB,EAAuC;AACtC,WAAKiC,QAAL,CAAe;AAAEjC,QAAAA,kBAAkB,EAAE;AAAtB,OAAf;AACA;AACD;;AAEDW,EAAAA,4BAA4B,CAAEmC,OAAF,EAAY;AACvC,UAAM;AAAEvB,MAAAA;AAAF,QAAoB,KAAKzB,KAA/B;AAEAyB,IAAAA,aAAa,CAAE;AACdY,MAAAA,IAAI,EAAEW,OAAO,CAACC,QADA;AAEdrB,MAAAA,EAAE,EAAEoB,OAAO,CAACE,aAFE;AAGdV,MAAAA,YAAY,EAAEQ,OAAO,CAACC;AAHR,KAAF,CAAb;AAKA,SAAKd,QAAL,CAAe;AAAEjC,MAAAA,kBAAkB,EAAE;AAAtB,KAAf;AACA;;AAEDY,EAAAA,4BAA4B,CAAEkC,OAAF,EAAY;AACvC,SAAKhD,KAAL,CAAWyB,aAAX,CAA0B;AAAEG,MAAAA,EAAE,EAAEoB,OAAO,CAACG;AAAd,KAA1B;AACA,SAAKhB,QAAL,CAAe;AAAEjC,MAAAA,kBAAkB,EAAE;AAAtB,KAAf;AACA;;AAEDoB,EAAAA,qBAAqB,GAAG;AACvB,UAAM;AAAEG,MAAAA;AAAF,QAAoB,KAAKzB,KAA/B;AAEAyB,IAAAA,aAAa,CAAE;AACdG,MAAAA,EAAE,EAAE,IADU;AAEdS,MAAAA,IAAI,EAAE,IAFQ;AAGdG,MAAAA,YAAY,EAAE,IAHA;AAIdF,MAAAA,QAAQ,EAAE;AAJI,KAAF,CAAb;AAMA,SAAKH,QAAL,CAAe;AAAEjC,MAAAA,kBAAkB,EAAE;AAAtB,KAAf;AACA;;AAEDkB,EAAAA,kBAAkB,GAAG;AACpB,SAAKe,QAAL,CACC;AACChC,MAAAA,qBAAqB,EAAE;AADxB,KADD,EAIC,KAAKH,KAAL,CAAWoD,WAJZ;AAMA;;AAEDC,EAAAA,oBAAoB,CAAEC,IAAF,EAAS;AAC5B,WACC,cAAC,aAAD,QACC,cAAC,YAAD,QACC,cAAC,aAAD;AACC,MAAA,KAAK,EAAGnE,EAAE,CAAE,WAAF,CADX;AAEC,MAAA,IAAI,EAAGN,OAFR;AAGC,MAAA,OAAO,EAAGyE;AAHX,MADD,EAMC,cAAC,aAAD;AACC,MAAA,KAAK,EAAGnE,EAAE,CAAE,SAAF,CADX;AAEC,MAAA,IAAI,EAAGH,IAFR;AAGC,MAAA,OAAO,EAAG,KAAKoC;AAHhB,MAND,CADD,CADD;AAgBA;;AAEDmC,EAAAA,oBAAoB,OAEnBnB,KAFmB,EAGnBlC,kBAHmB,EAInBsD,cAJmB,EAKlB;AAAA,QAJD;AAAEf,MAAAA,kBAAF;AAAsBM,MAAAA,cAAtB;AAAsCV,MAAAA,IAAtC;AAA4CG,MAAAA;AAA5C,KAIC;AACD,QAAIiB,sBAAsB,GAAG,CAAE;AAAEC,MAAAA,KAAK,EAAErB,IAAT;AAAesB,MAAAA,KAAK,EAAExE,EAAE,CAAE,KAAF;AAAxB,KAAF,CAA7B;AACA,UAAMyE,cAAc,GAAGxB,KAAK,IAAIA,KAAK,CAACpD,IAAtC;AACA,UAAM;AAAEmB,MAAAA;AAAF,QAA4B,KAAKF,KAAvC;;AAEA,QAAK2D,cAAL,EAAsB;AACrBH,MAAAA,sBAAsB,GAAG,CACxB;AAAEC,QAAAA,KAAK,EAAErB,IAAT;AAAesB,QAAAA,KAAK,EAAExE,EAAE,CAAE,YAAF;AAAxB,OADwB,EAExB;AAAEuE,QAAAA,KAAK,EAAEE,cAAT;AAAyBD,QAAAA,KAAK,EAAExE,EAAE,CAAE,iBAAF;AAAlC,OAFwB,CAAzB;AAIA;;AAED,UAAM0E,iBAAiB,GAAG,KAAK7D,KAAL,CAAW8D,wBAAX,CACzBnE,MAAM,CAACoE,YADkB,EAEzBpE,MAAM,CAACqE,gBAFkB,CAA1B;AAKA,UAAMC,iBAAiB,GAAGT,cAAc,IAAItD,kBAA5C;AAEA,UAAMgE,uBAAuB,GAAG,KAAKlE,KAAL,CAAW8D,wBAAX,CAC/BnE,MAAM,CAACwE,kBADwB,EAE/BxE,MAAM,CAACyE,sBAFwB,CAAhC;AAKA,UAAMC,gBAAgB,GAAGJ,iBAAiB,GACvCC,uBADuC,GAEvCL,iBAFH;AAIA,WACC,cAAC,iBAAD,QACG1D,qBAAqB,IACtB,cAAC,SAAD;AAAW,MAAA,KAAK,EAAGhB,EAAE,CAAE,qBAAF;AAArB,MAFF,EAIC,cAAC,SAAD,QACC,cAAC,aAAD;AACC,MAAA,IAAI,EAAGH,IADR;AAEC,MAAA,KAAK,EAAGG,EAAE,CAAE,SAAF,CAFX;AAGC,MAAA,KAAK,EAAGqD,YAHT;AAIC,MAAA,QAAQ,EAAG,KAAKrB,6BAJjB;AAKC,MAAA,OAAO,EAAGsC,sBALX;AAMC,MAAA,gBAAgB,EAAG;AANpB,MADD,EASC,cAAC,aAAD;AACC,MAAA,IAAI,EAAG1E,QADR;AAEC,MAAA,KAAK,EAAGI,EAAE,CAAE,iBAAF,CAFX;AAGC,MAAA,OAAO,EAAG4D,cAAc,KAAK,QAH9B;AAIC,MAAA,QAAQ,EAAG,KAAK7B;AAJjB,MATD,EAeG,CAAEf,qBAAF,IACD,cAAC,aAAD;AACC,MAAA,IAAI,EAAGrB,MADR;AAEC,MAAA,KAAK,EAAGK,EAAE,CAAE,sBAAF,CAFX;AAGC,MAAA,OAAO,EAAGsD,kBAHX;AAIC,MAAA,QAAQ,EAAG,KAAKzB;AAJjB,MAhBF,EAuBC,cAAC,WAAD;AACC,MAAA,QAAQ,EAAGiD,iBADZ;AAEC,MAAA,KAAK,EACJ,KAAKhE,KAAL,CAAW0C,WAAX,GACGxD,EAAE,CAAE,SAAF,CADL,GAEGA,EAAE,CAAE,eAAF,CALP;AAOC,MAAA,UAAU,EACT,KAAKc,KAAL,CAAW0C,WAAX,IAA0B0B,gBAR5B;AAUC,MAAA,OAAO,EAAG,KAAKpD;AAVhB,MAvBD,CAJD,CADD;AA2CA;;AAEDqD,EAAAA,oBAAoB,CAAEC,KAAF,EAAU;AAC7B,UAAMC,YAAY,GAAKC,SAAF,IAAiB;AACrC,cAASA,SAAT;AACC,aAAK,OAAL;AACC,iBAAO,UAAP;;AACD,aAAK,QAAL;AACC,iBAAO,QAAP;;AACD;AACC,iBAAO,YAAP;AANF;AAQA,KATD;;AAUA,WAAO;AAAEC,MAAAA,SAAS,EAAEF,YAAY,CAAED,KAAF;AAAzB,KAAP;AACA;;AAEDI,EAAAA,4BAA4B,CAAEJ,KAAF,EAAU;AACrC,YAASA,KAAT;AACC,WAAK,OAAL;AACC,eAAO,OAAP;;AACD,WAAK,QAAL;AACC,eAAO,QAAP;;AACD;AACC,eAAO,MAAP;AANF;AAQA;;AAEDlD,EAAAA,aAAa,GAAG;AACf,UAAM;AAAEG,MAAAA;AAAF,QAAiB,KAAKxB,KAA5B;;AAEA,QAAK,KAAKC,KAAL,CAAWC,kBAAhB,EAAqC;AACpC3C,MAAAA,8BAA8B,CAAEiE,UAAU,CAACI,EAAb,CAA9B;AACA,KAFD,MAEO,IACNJ,UAAU,CAACI,EAAX,IACAnC,WAAW,CAAE+B,UAAU,CAACa,IAAb,CAAX,KAAmC,OAF7B,EAGL;AACD/E,MAAAA,6BAA6B,CAAEkE,UAAU,CAACI,EAAb,CAA7B;AACA;AACD;;AAEDrB,EAAAA,QAAQ,QAAoB;AAAA,QAAlB;AAAEqE,MAAAA;AAAF,KAAkB;AAC3B,UAAM;AAAEC,MAAAA;AAAF,QAAYD,WAAW,CAACE,MAA9B;AACA,UAAM;AAAEC,MAAAA,WAAF;AAAeC,MAAAA;AAAf,QAAgCrF,MAAM,CAACsF,aAA7C;AACA,SAAK9C,QAAL,CAAe;AACd9B,MAAAA,QAAQ,EAAEwE,KAAK,IAAKE,WAAW,GAAGC,YAAnB;AADD,KAAf;AAGA,GArTsC,CAuTvC;AACA;AACA;AACA;;;AACAE,EAAAA,mBAAmB,CAAEC,eAAF,EAAoB;AACtC,UAAM;AAAE9E,MAAAA,QAAF;AAAYD,MAAAA;AAAZ,QAAqC,KAAKH,KAAhD;AACA,WACC,cAAC,IAAD;AACC,MAAA,KAAK,EAAGN,MAAM,CAACyF,WADhB;AAEC,MAAA,YAAY,EAAG,SAAuB;AAAA,YAArB;AAAER,UAAAA;AAAF,SAAqB;AACrC,cAAMS,SAAS,GACdT,WAAW,CAACU,KAAZ,CAAmB,CAAnB,KAA0BV,WAAW,CAACU,KAAZ,CAAmB,CAAnB,EAAuBT,KADlD;;AAEA,YAAKQ,SAAS,IAAIA,SAAS,KAAKjF,oBAAhC,EAAuD;AACtD,eAAK+B,QAAL,CAAe;AACd/B,YAAAA,oBAAoB,EAAEmF,IAAI,CAACC,GAAL,CACrBH,SADqB,EAErBhF,QAFqB;AADR,WAAf;AAMA;AACD;AAbF,OAeG8E,eAfH,CADD;AAmBA;;AAEDpE,EAAAA,gBAAgB,CAAE0E,gBAAF,EAAoBC,eAApB,EAAsC;AACrD,UAAM;AAAElE,MAAAA,UAAF;AAAcY,MAAAA,KAAd;AAAqBuD,MAAAA;AAArB,QAAoC,KAAK3F,KAA/C;AACA,UAAM;AAAE4F,MAAAA,eAAF;AAAmBxF,MAAAA;AAAnB,QAA4C,KAAKH,KAAvD;AAEA,UAAM;AACLqC,MAAAA,QADK;AAELZ,MAAAA,kBAFK;AAGLE,MAAAA,EAHK;AAILa,MAAAA,kBAJK;AAKL8B,MAAAA;AALK,QAMF/C,UANJ;AAQA,UAAMqE,QAAQ,GACbD,eAAe,IACb,CAAEA,eAAF,IACDlE,kBADC,IAEDA,kBAAkB,KAAK,EAHxB,GAIG7B,SAJH,GAKGO,oBANJ;AAQA,UAAM+E,eAAe,GACpBS,eAAe,IACb,CAAEA,eAAF,IACDlE,kBADC,IAEDA,kBAAkB,KAAK,EAHxB,GAIG,EAJH,GAKGvC,EAAE,CAAE,WAAF,CANN;AAQA,WACC,cAAC,mBAAD;AACC,MAAA,OAAO,EAAGyC,EADX;AAEC,MAAA,qBAAqB,EAAG,KAAKhB,mBAF9B;AAGC,MAAA,8BAA8B,EAC7B,KAAKC,4BAJP;AAMC,MAAA,8BAA8B,EAC7B,KAAKC,4BAPP;AASC,MAAA,uBAAuB,EAAG,KAAKQ,qBAThC;AAUC,MAAA,aAAa,EAAG,SAA8C;AAAA,YAA5C;AAAEpB,UAAAA,kBAAF;AAAsBsD,UAAAA;AAAtB,SAA4C;AAC7D,cAAMsC,WAAW,GAChB,CAAE,KAAK7F,KAAL,CAAWC,kBAAX,IAAiCsD,cAAnC,KACA7D,MAAM,CAACoG,cAFR;AAGA,cAAM1B,gBAAgB,GAAG,CACxB1E,MAAM,CAACsF,aADiB,EAExBa,WAFwB,CAAzB;AAKA,cAAME,cAAc,GAAGC,MAAM,CAACC,MAAP,CACtB,EADsB,EAEtBvG,MAAM,CAACwG,SAFe,EAGtBxG,MAAM,CAACyG,YAHe,CAAvB;AAMA,eACC,cAAC,wBAAD;AACC,UAAA,UAAU,EAAG,CAAET,UADhB;AAEC,UAAA,OAAO,EAAG,KAAKtE,aAFhB;AAGC,UAAA,WAAW,EAAGoE,gBAHf;AAIC,UAAA,QAAQ,EAAG,CAAEE;AAJd,WAMC,cAAC,IAAD;AAAM,UAAA,QAAQ,EAAG,KAAKpF;AAAtB,WACG,KAAK2E,mBAAL,CAA0BC,eAA1B,CADH,EAEGjF,kBAAkB,IACnB,KAAKmD,oBAAL,CACCoC,gBADD,CAHF,EAMGC,eAAe,EANlB,EAOGC,UAAU,IACX,KAAKpC,oBAAL,CACC/B,UADD,EAECY,KAFD,EAGClC,kBAHD,EAICsD,cAJD,CARF,EAcC,cAAC,IAAD;AAAM,UAAA,KAAK,EAAG7D,MAAM,CAAC0G;AAArB,WACC,cAAC,QAAD;AACC,UAAA,4BAA4B,MAD7B;AAEC,UAAA,8BAA8B,MAF/B;AAGC,UAAA,QAAQ,EAAG,KAAK3F,gBAHjB;AAIC,UAAA,WAAW,EAAGvB,EAAE,CAAE,WAAF,CAJjB;AAKC,UAAA,mBAAmB,EAAG,CAAE,GAAF,CALvB;AAMC,UAAA,OAAO,EAAC,GANT;AAOC,UAAA,qBAAqB,EAAC,aAPvB;AAQC,UAAA,KAAK,EAAGmD,QART;AASC,UAAA,WAAW,EAAG,IATf;AAUC,UAAA,SAAS,EAAG,KAAKqC,4BAAL,CACXJ,KADW;AAVb,UADD,EAeGf,cAAc,IACf,cAAC,IAAD;AAAM,UAAA,KAAK,EAAG7D,MAAM,CAAC2G;AAArB,WACC,cAAC,IAAD;AACC,UAAA,IAAI,EAAGrH,OADR;AAEC,UAAA,KAAK,EAAG+G;AAFT,UADD,EAKC,cAAC,SAAD;AACC,UAAA,QAAQ,EAAG,KADZ;AAEC,UAAA,KAAK,EAAG7G,EAAE,CAAE,OAAF,CAFX;AAGC,UAAA,KAAK,EAAGQ,MAAM,CAACyG;AAHhB,UALD,CAhBF,CAdD,EA2CG3D,kBAAkB,IACnB,KAAKxC,KAAL,CAAWI,QAAX,GAAsB,CADrB,IAEA,cAAC,IAAD;AACC,UAAA,KAAK,EAAG,CACPgE,gBADO,EAEP,KAAKC,oBAAL,CACCC,KADD,CAFO;AADT,WAQC,cAAC,QAAD;AACC,UAAA,4BAA4B,MAD7B;AAEC,UAAA,8BAA8B,MAF/B;AAGC,UAAA,mBAAmB,EAAG,CAAE,GAAF,CAHvB;AAIC,UAAA,OAAO,EAAC,GAJT;AAKC,UAAA,SAAS,EAAC,QALX;AAMC,UAAA,QAAQ,EAAGsB,QANZ;AAOC,UAAA,QAAQ,EAAG,KAAK5F,KAAL,CAAWI,QAPvB;AAQC,UAAA,WAAW,EAAG,IARf;AASC,UAAA,KAAK,EAAGV,MAAM,CAAC4G,UAThB;AAUC,UAAA,KAAK,EAAG7E,kBAVT;AAWC,UAAA,WAAW,EAAGyD,eAXf;AAYC,UAAA,eAAe,EAAG,MACjB,KAAKhD,QAAL,CAAe;AACdyD,YAAAA,eAAe,EAAE;AADH,WAAf,CAbF;AAiBC,UAAA,MAAM,EAAG,MACR,KAAKzD,QAAL,CAAe;AACdyD,YAAAA,eAAe,EAAE;AADH,WAAf,CAlBF;AAsBC,UAAA,cAAc,EACbjG,MAAM,CAAC4G,UAAP,CAAkBC,KAvBpB;AAyBC,UAAA,oBAAoB,EACnB7G,MAAM,CAAC8G,oBAAP,CACED,KA3BJ;AA6BC,UAAA,qBAAqB,EAAC,aA7BvB;AA8BC,UAAA,QAAQ,EACP,KACE7F;AAhCJ,UARD,CA7CH,CAND,CADD;AAoGA;AA7HF,MADD;AAiIA;;AAED+F,EAAAA,MAAM,GAAG;AACR,UAAM;AAAElF,MAAAA,UAAF;AAAcmF,MAAAA,oBAAd;AAAoChB,MAAAA;AAApC,QAAmD,KAAK3F,KAA9D;AACA,UAAM;AAAEqC,MAAAA;AAAF,QAAWb,UAAjB;;AAEA,QAAK,CAAEa,IAAP,EAAc;AACb,aACC,cAAC,gBAAD;AACC,QAAA,IAAI,EAAG,cAAC,SAAD;AAAW,UAAA,IAAI,EAAGzD;AAAlB,UADR;AAEC,QAAA,MAAM,EAAG;AACR2D,UAAAA,KAAK,EAAEpD,EAAE,CAAE,MAAF,CADD;AAERyH,UAAAA,YAAY,EAAEzH,EAAE,CAAE,eAAF;AAFR,SAFV;AAMC,QAAA,QAAQ,EAAG,KAAKsB,YANjB;AAOC,QAAA,OAAO,EAAG,KAAKT,KAAL,CAAW6G,OAPtB;AAQC,QAAA,YAAY,EAAG,CAAE5I,cAAF,CARhB;AASC,QAAA,mBAAmB,EAAG0H,UAAU,IAAIgB;AATrC,QADD;AAaA;;AAED,WACC,cAAC,WAAD;AACC,MAAA,YAAY,EAAG,CAAE1I,cAAF,CADhB;AAEC,MAAA,gBAAgB,EAAG,IAFpB;AAGC,MAAA,QAAQ,EAAG,KAAKwC,YAHjB;AAIC,MAAA,MAAM,EAAG,SAAiC;AAAA,YAA/B;AAAE6C,UAAAA,IAAF;AAAQoC,UAAAA;AAAR,SAA+B;AACzC,eAAO,KAAK3E,gBAAL,CAAuBuC,IAAvB,EAA6BoC,eAA7B,CAAP;AACA;AANF,MADD;AAUA;;AA/gBsC;AAkhBxC,eAAerG,OAAO,CAAE,CACvBG,UAAU,CAAE,CAAEsH,MAAF,EAAU9G,KAAV,KAAqB;AAChC,QAAM;AAAEwB,IAAAA,UAAF;AAAcmE,IAAAA,UAAd;AAA0BoB,IAAAA;AAA1B,MAAuC/G,KAA7C;AACA,QAAM;AAAE4B,IAAAA,EAAF;AAAMS,IAAAA;AAAN,MAAeb,UAArB;AACA,QAAM;AAAEwF,IAAAA;AAAF,MAA4BF,MAAM,CAAE,gBAAF,CAAxC;AACA,QAAMG,aAAa,GAAGrF,EAAE,IAAInC,WAAW,CAAE4C,IAAF,CAAX,KAAwB,OAApD;AACA,SAAO;AACND,IAAAA,KAAK,EAAE6E,aAAa,GACjBH,MAAM,CAAEpH,SAAF,CAAN,CAAoBwH,QAApB,CAA8BtF,EAA9B,CADiB,GAEjBD,SAHG;AAINO,IAAAA,eAAe,EAAEyD,UAAU,IAAIqB,qBAAqB,EAJ9C;AAKNL,IAAAA,oBAAoB,EAAEG,MAAM,CAC3B3I,gBAD2B,CAAN,CAEpBwI,oBAFoB,CAEEI,QAFF,EAEY,eAFZ;AALhB,GAAP;AASA,CAdS,CADa,EAgBvBxH,YAAY,CAAI4H,QAAF,IAAgB;AAC7B,QAAM;AAAEC,IAAAA;AAAF,MAAyBD,QAAQ,CAAE,gBAAF,CAAvC;AACA,SAAO;AACN/D,IAAAA,WAAW,EAAE,MAAMgE,kBAAkB,CAAE,iBAAF;AAD/B,GAAP;AAGA,CALW,CAhBW,EAsBvB9H,wBAtBuB,CAAF,CAAP,CAuBVQ,QAvBU,CAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Clipboard, TouchableWithoutFeedback, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n\tmediaUploadSync,\n} from '@wordpress/react-native-bridge';\nimport {\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaUploadProgress,\n\tRichText,\n\tPlainText,\n\tBlockControls,\n\tMediaUpload,\n\tInspectorControls,\n\tMEDIA_TYPE_ANY,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tToolbarButton,\n\tToolbarGroup,\n\tPanelBody,\n\tToggleControl,\n\tTextControl,\n\tSelectControl,\n\tIcon,\n} from '@wordpress/components';\nimport {\n\tfile as icon,\n\treplace,\n\tbutton,\n\texternal,\n\tlink,\n\twarning,\n} from '@wordpress/icons';\nimport { Component } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { getProtocol } from '@wordpress/url';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst URL_COPIED_NOTIFICATION_DURATION_MS = 1500;\nconst MIN_WIDTH = 40;\n\nexport class FileEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.state = {\n\t\t\tisUploadInProgress: false,\n\t\t\tisSidebarLinkSettings: false,\n\t\t\tplaceholderTextWidth: 0,\n\t\t\tmaxWidth: 0,\n\t\t};\n\n\t\tthis.timerRef = null;\n\n\t\tthis.onLayout = this.onLayout.bind( this );\n\t\tthis.onSelectFile = this.onSelectFile.bind( this );\n\t\tthis.onChangeFileName = this.onChangeFileName.bind( this );\n\t\tthis.onChangeDownloadButtonText = this.onChangeDownloadButtonText.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.updateMediaProgress = this.updateMediaProgress.bind( this );\n\t\tthis.finishMediaUploadWithSuccess = this.finishMediaUploadWithSuccess.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.finishMediaUploadWithFailure = this.finishMediaUploadWithFailure.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.getFileComponent = this.getFileComponent.bind( this );\n\t\tthis.onChangeDownloadButtonVisibility = this.onChangeDownloadButtonVisibility.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.onCopyURL = this.onCopyURL.bind( this );\n\t\tthis.onChangeOpenInNewWindow = this.onChangeOpenInNewWindow.bind(\n\t\t\tthis\n\t\t);\n\n\t\tthis.onChangeLinkDestinationOption = this.onChangeLinkDestinationOption.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.onShowLinkSettings = this.onShowLinkSettings.bind( this );\n\t\tthis.onFilePressed = this.onFilePressed.bind( this );\n\t\tthis.mediaUploadStateReset = this.mediaUploadStateReset.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { attributes, setAttributes } = this.props;\n\t\tconst { downloadButtonText } = attributes;\n\n\t\tif ( downloadButtonText === undefined || downloadButtonText === '' ) {\n\t\t\tsetAttributes( {\n\t\t\t\tdownloadButtonText: _x( 'Download', 'button label' ),\n\t\t\t} );\n\t\t}\n\n\t\tif (\n\t\t\tattributes.id &&\n\t\t\tattributes.url &&\n\t\t\tgetProtocol( attributes.url ) === 'file:'\n\t\t) {\n\t\t\tmediaUploadSync();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.timerRef );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif (\n\t\t\tprevProps.isSidebarOpened &&\n\t\t\t! this.props.isSidebarOpened &&\n\t\t\tthis.state.isSidebarLinkSettings\n\t\t) {\n\t\t\tthis.setState( { isSidebarLinkSettings: false } );\n\t\t}\n\t}\n\n\tonSelectFile( media ) {\n\t\tthis.props.setAttributes( {\n\t\t\thref: media.url,\n\t\t\tfileName: media.title,\n\t\t\ttextLinkHref: media.url,\n\t\t\tid: media.id,\n\t\t} );\n\t}\n\n\tonChangeFileName( fileName ) {\n\t\tthis.props.setAttributes( { fileName } );\n\t}\n\n\tonChangeDownloadButtonText( downloadButtonText ) {\n\t\tthis.props.setAttributes( { downloadButtonText } );\n\t}\n\n\tonChangeDownloadButtonVisibility( showDownloadButton ) {\n\t\tthis.props.setAttributes( { showDownloadButton } );\n\t}\n\n\tonChangeLinkDestinationOption( newHref ) {\n\t\t// Choose Media File or Attachment Page (when file is in Media Library)\n\t\tthis.props.setAttributes( { textLinkHref: newHref } );\n\t}\n\n\tonCopyURL() {\n\t\tif ( this.state.isUrlCopied ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { href } = this.props.attributes;\n\t\tClipboard.setString( href );\n\n\t\tthis.setState( { isUrlCopied: true } );\n\t\tthis.timerRef = setTimeout( () => {\n\t\t\tthis.setState( { isUrlCopied: false } );\n\t\t}, URL_COPIED_NOTIFICATION_DURATION_MS );\n\t}\n\n\tonChangeOpenInNewWindow( newValue ) {\n\t\tthis.props.setAttributes( {\n\t\t\ttextLinkTarget: newValue ? '_blank' : false,\n\t\t} );\n\t}\n\n\tupdateMediaProgress( payload ) {\n\t\tconst { setAttributes } = this.props;\n\t\tif ( payload.mediaUrl ) {\n\t\t\tsetAttributes( { url: payload.mediaUrl } );\n\t\t}\n\t\tif ( ! this.state.isUploadInProgress ) {\n\t\t\tthis.setState( { isUploadInProgress: true } );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\thref: payload.mediaUrl,\n\t\t\tid: payload.mediaServerId,\n\t\t\ttextLinkHref: payload.mediaUrl,\n\t\t} );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tfinishMediaUploadWithFailure( payload ) {\n\t\tthis.props.setAttributes( { id: payload.mediaId } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tmediaUploadStateReset() {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tid: null,\n\t\t\thref: null,\n\t\t\ttextLinkHref: null,\n\t\t\tfileName: null,\n\t\t} );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tonShowLinkSettings() {\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tisSidebarLinkSettings: true,\n\t\t\t},\n\t\t\tthis.props.openSidebar\n\t\t);\n\t}\n\n\tgetToolbarEditButton( open ) {\n\t\treturn (\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Edit file' ) }\n\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Link To' ) }\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\tonClick={ this.onShowLinkSettings }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t);\n\t}\n\n\tgetInspectorControls(\n\t\t{ showDownloadButton, textLinkTarget, href, textLinkHref },\n\t\tmedia,\n\t\tisUploadInProgress,\n\t\tisUploadFailed\n\t) {\n\t\tlet linkDestinationOptions = [ { value: href, label: __( 'URL' ) } ];\n\t\tconst attachmentPage = media && media.link;\n\t\tconst { isSidebarLinkSettings } = this.state;\n\n\t\tif ( attachmentPage ) {\n\t\t\tlinkDestinationOptions = [\n\t\t\t\t{ value: href, label: __( 'Media file' ) },\n\t\t\t\t{ value: attachmentPage, label: __( 'Attachment page' ) },\n\t\t\t];\n\t\t}\n\n\t\tconst actionButtonStyle = this.props.getStylesFromColorScheme(\n\t\t\tstyles.actionButton,\n\t\t\tstyles.actionButtonDark\n\t\t);\n\n\t\tconst isCopyUrlDisabled = isUploadFailed || isUploadInProgress;\n\n\t\tconst dimmedActionButtonStyle = this.props.getStylesFromColorScheme(\n\t\t\tstyles.dimmedActionButton,\n\t\t\tstyles.dimmedActionButtonDark\n\t\t);\n\n\t\tconst finalButtonStyle = isCopyUrlDisabled\n\t\t\t? dimmedActionButtonStyle\n\t\t\t: actionButtonStyle;\n\n\t\treturn (\n\t\t\t<InspectorControls>\n\t\t\t\t{ isSidebarLinkSettings || (\n\t\t\t\t\t<PanelBody title={ __( 'File block settings' ) } />\n\t\t\t\t) }\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ textLinkHref }\n\t\t\t\t\t\tonChange={ this.onChangeLinkDestinationOption }\n\t\t\t\t\t\toptions={ linkDestinationOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tchecked={ textLinkTarget === '_blank' }\n\t\t\t\t\t\tonChange={ this.onChangeOpenInNewWindow }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isSidebarLinkSettings && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\ticon={ button }\n\t\t\t\t\t\t\tlabel={ __( 'Show download button' ) }\n\t\t\t\t\t\t\tchecked={ showDownloadButton }\n\t\t\t\t\t\t\tonChange={ this.onChangeDownloadButtonVisibility }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tdisabled={ isCopyUrlDisabled }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tthis.state.isUrlCopied\n\t\t\t\t\t\t\t\t? __( 'Copied!' )\n\t\t\t\t\t\t\t\t: __( 'Copy file URL' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabelStyle={\n\t\t\t\t\t\t\tthis.state.isUrlCopied || finalButtonStyle\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonPress={ this.onCopyURL }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\n\tgetStyleForAlignment( align ) {\n\t\tconst getFlexAlign = ( alignment ) => {\n\t\t\tswitch ( alignment ) {\n\t\t\t\tcase 'right':\n\t\t\t\t\treturn 'flex-end';\n\t\t\t\tcase 'center':\n\t\t\t\t\treturn 'center';\n\t\t\t\tdefault:\n\t\t\t\t\treturn 'flex-start';\n\t\t\t}\n\t\t};\n\t\treturn { alignSelf: getFlexAlign( align ) };\n\t}\n\n\tgetTextAlignmentForAlignment( align ) {\n\t\tswitch ( align ) {\n\t\t\tcase 'right':\n\t\t\t\treturn 'right';\n\t\t\tcase 'center':\n\t\t\t\treturn 'center';\n\t\t\tdefault:\n\t\t\t\treturn 'left';\n\t\t}\n\t}\n\n\tonFilePressed() {\n\t\tconst { attributes } = this.props;\n\n\t\tif ( this.state.isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( attributes.id );\n\t\t} else if (\n\t\t\tattributes.id &&\n\t\t\tgetProtocol( attributes.href ) === 'file:'\n\t\t) {\n\t\t\trequestImageFailedRetryDialog( attributes.id );\n\t\t}\n\t}\n\n\tonLayout( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tconst { paddingLeft, paddingRight } = styles.defaultButton;\n\t\tthis.setState( {\n\t\t\tmaxWidth: width - ( paddingLeft + paddingRight ),\n\t\t} );\n\t}\n\n\t// Render `Text` with `placeholderText` styled as a placeholder\n\t// to calculate its width which then is set as a `minWidth`\n\t// This should be fixed on RNAztec level. In the mean time,\n\t// We use the same strategy implemented in Button block\n\tgetPlaceholderWidth( placeholderText ) {\n\t\tconst { maxWidth, placeholderTextWidth } = this.state;\n\t\treturn (\n\t\t\t<Text\n\t\t\t\tstyle={ styles.placeholder }\n\t\t\t\tonTextLayout={ ( { nativeEvent } ) => {\n\t\t\t\t\tconst textWidth =\n\t\t\t\t\t\tnativeEvent.lines[ 0 ] && nativeEvent.lines[ 0 ].width;\n\t\t\t\t\tif ( textWidth && textWidth !== placeholderTextWidth ) {\n\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\tplaceholderTextWidth: Math.min(\n\t\t\t\t\t\t\t\ttextWidth,\n\t\t\t\t\t\t\t\tmaxWidth\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ placeholderText }\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tgetFileComponent( openMediaOptions, getMediaOptions ) {\n\t\tconst { attributes, media, isSelected } = this.props;\n\t\tconst { isButtonFocused, placeholderTextWidth } = this.state;\n\n\t\tconst {\n\t\t\tfileName,\n\t\t\tdownloadButtonText,\n\t\t\tid,\n\t\t\tshowDownloadButton,\n\t\t\talign,\n\t\t} = attributes;\n\n\t\tconst minWidth =\n\t\t\tisButtonFocused ||\n\t\t\t( ! isButtonFocused &&\n\t\t\t\tdownloadButtonText &&\n\t\t\t\tdownloadButtonText !== '' )\n\t\t\t\t? MIN_WIDTH\n\t\t\t\t: placeholderTextWidth;\n\n\t\tconst placeholderText =\n\t\t\tisButtonFocused ||\n\t\t\t( ! isButtonFocused &&\n\t\t\t\tdownloadButtonText &&\n\t\t\t\tdownloadButtonText !== '' )\n\t\t\t\t? ''\n\t\t\t\t: __( 'Add text…' );\n\n\t\treturn (\n\t\t\t<MediaUploadProgress\n\t\t\t\tmediaId={ id }\n\t\t\t\tonUpdateMediaProgress={ this.updateMediaProgress }\n\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t}\n\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t}\n\t\t\t\tonMediaUploadStateReset={ this.mediaUploadStateReset }\n\t\t\t\trenderContent={ ( { isUploadInProgress, isUploadFailed } ) => {\n\t\t\t\t\tconst dimmedStyle =\n\t\t\t\t\t\t( this.state.isUploadInProgress || isUploadFailed ) &&\n\t\t\t\t\t\tstyles.disabledButton;\n\t\t\t\t\tconst finalButtonStyle = [\n\t\t\t\t\t\tstyles.defaultButton,\n\t\t\t\t\t\tdimmedStyle,\n\t\t\t\t\t];\n\n\t\t\t\t\tconst errorIconStyle = Object.assign(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\tstyles.errorIcon,\n\t\t\t\t\t\tstyles.uploadFailed\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\t\t\tonPress={ this.onFilePressed }\n\t\t\t\t\t\t\tonLongPress={ openMediaOptions }\n\t\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<View onLayout={ this.onLayout }>\n\t\t\t\t\t\t\t\t{ this.getPlaceholderWidth( placeholderText ) }\n\t\t\t\t\t\t\t\t{ isUploadInProgress ||\n\t\t\t\t\t\t\t\t\tthis.getToolbarEditButton(\n\t\t\t\t\t\t\t\t\t\topenMediaOptions\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ getMediaOptions() }\n\t\t\t\t\t\t\t\t{ isSelected &&\n\t\t\t\t\t\t\t\t\tthis.getInspectorControls(\n\t\t\t\t\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t\t\t\t\tmedia,\n\t\t\t\t\t\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\t\t\t\t\t\tisUploadFailed\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<View style={ styles.container }>\n\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t__unstableMobileNoFocusOnMount\n\t\t\t\t\t\t\t\t\t\tonChange={ this.onChangeFileName }\n\t\t\t\t\t\t\t\t\t\tplaceholder={ __( 'File name' ) }\n\t\t\t\t\t\t\t\t\t\trootTagsToEliminate={ [ 'p' ] }\n\t\t\t\t\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\t\t\t\t\tunderlineColorAndroid=\"transparent\"\n\t\t\t\t\t\t\t\t\t\tvalue={ fileName }\n\t\t\t\t\t\t\t\t\t\tdeleteEnter={ true }\n\t\t\t\t\t\t\t\t\t\ttextAlign={ this.getTextAlignmentForAlignment(\n\t\t\t\t\t\t\t\t\t\t\talign\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ isUploadFailed && (\n\t\t\t\t\t\t\t\t\t\t<View style={ styles.errorContainer }>\n\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ warning }\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ errorIconStyle }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t<PlainText\n\t\t\t\t\t\t\t\t\t\t\t\teditable={ false }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ __( 'Error' ) }\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ styles.uploadFailed }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t{ showDownloadButton &&\n\t\t\t\t\t\t\t\t\tthis.state.maxWidth > 0 && (\n\t\t\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\t\t\t\tfinalButtonStyle,\n\t\t\t\t\t\t\t\t\t\t\t\tthis.getStyleForAlignment(\n\t\t\t\t\t\t\t\t\t\t\t\t\talign\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t\t\t__unstableMobileNoFocusOnMount\n\t\t\t\t\t\t\t\t\t\t\t\trootTagsToEliminate={ [ 'p' ] }\n\t\t\t\t\t\t\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\t\t\t\t\t\t\ttextAlign=\"center\"\n\t\t\t\t\t\t\t\t\t\t\t\tminWidth={ minWidth }\n\t\t\t\t\t\t\t\t\t\t\t\tmaxWidth={ this.state.maxWidth }\n\t\t\t\t\t\t\t\t\t\t\t\tdeleteEnter={ true }\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ styles.buttonText }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ downloadButtonText }\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={ placeholderText }\n\t\t\t\t\t\t\t\t\t\t\t\tunstableOnFocus={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisButtonFocused: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonBlur={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisButtonFocused: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tselectionColor={\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.buttonText.color\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.placeholderTextColor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.color\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tunderlineColorAndroid=\"transparent\"\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.onChangeDownloadButtonText\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { attributes, wasBlockJustInserted, isSelected } = this.props;\n\t\tconst { href } = attributes;\n\n\t\tif ( ! href ) {\n\t\t\treturn (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'File' ),\n\t\t\t\t\t\tinstructions: __( 'CHOOSE A FILE' ),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ this.onSelectFile }\n\t\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\t\tallowedTypes={ [ MEDIA_TYPE_ANY ] }\n\t\t\t\t\tautoOpenMediaUpload={ isSelected && wasBlockJustInserted }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<MediaUpload\n\t\t\t\tallowedTypes={ [ MEDIA_TYPE_ANY ] }\n\t\t\t\tisReplacingMedia={ true }\n\t\t\t\tonSelect={ this.onSelectFile }\n\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\treturn this.getFileComponent( open, getMediaOptions );\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, props ) => {\n\t\tconst { attributes, isSelected, clientId } = props;\n\t\tconst { id, href } = attributes;\n\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\t\tconst isNotFileHref = id && getProtocol( href ) !== 'file:';\n\t\treturn {\n\t\t\tmedia: isNotFileHref\n\t\t\t\t? select( coreStore ).getMedia( id )\n\t\t\t\t: undefined,\n\t\t\tisSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\twasBlockJustInserted: select(\n\t\t\t\tblockEditorStore\n\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { openGeneralSidebar } = dispatch( 'core/edit-post' );\n\t\treturn {\n\t\t\topenSidebar: () => openGeneralSidebar( 'edit-post/block' ),\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( FileEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/file/edit.native.js"],"names":["View","TouchableWithoutFeedback","Text","Clipboard","requestImageFailedRetryDialog","requestImageUploadCancelDialog","mediaUploadSync","BlockIcon","MediaPlaceholder","MediaUploadProgress","RichText","PlainText","BlockControls","MediaUpload","InspectorControls","MEDIA_TYPE_ANY","store","blockEditorStore","ToolbarButton","ToolbarGroup","PanelBody","ToggleControl","TextControl","SelectControl","Icon","file","icon","replace","button","external","link","warning","Component","__","_x","compose","withPreferredColorScheme","withDispatch","withSelect","getProtocol","coreStore","styles","URL_COPIED_NOTIFICATION_DURATION_MS","MIN_WIDTH","FileEdit","constructor","props","state","isUploadInProgress","isSidebarLinkSettings","placeholderTextWidth","maxWidth","timerRef","onLayout","bind","onSelectFile","onChangeFileName","onChangeDownloadButtonText","updateMediaProgress","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","getFileComponent","onChangeDownloadButtonVisibility","onCopyURL","onChangeOpenInNewWindow","onChangeLinkDestinationOption","onShowLinkSettings","onFilePressed","mediaUploadStateReset","componentDidMount","attributes","setAttributes","downloadButtonText","undefined","id","url","componentWillUnmount","clearTimeout","componentDidUpdate","prevProps","isSidebarOpened","setState","media","href","fileName","title","textLinkHref","showDownloadButton","newHref","isUrlCopied","setString","setTimeout","newValue","textLinkTarget","payload","mediaUrl","mediaServerId","mediaId","openSidebar","getToolbarEditButton","open","getInspectorControls","isUploadFailed","linkDestinationOptions","value","label","attachmentPage","actionButtonStyle","getStylesFromColorScheme","actionButton","actionButtonDark","isCopyUrlDisabled","dimmedActionButtonStyle","dimmedActionButton","dimmedActionButtonDark","finalButtonStyle","getStyleForAlignment","align","getFlexAlign","alignment","alignSelf","getTextAlignmentForAlignment","nativeEvent","width","layout","paddingLeft","paddingRight","defaultButton","getPlaceholderWidth","placeholderText","placeholder","textWidth","lines","Math","min","openMediaOptions","getMediaOptions","isSelected","isButtonFocused","minWidth","dimmedStyle","disabledButton","errorIconStyle","Object","assign","errorIcon","uploadFailed","container","errorContainer","buttonText","color","placeholderTextColor","render","wasBlockJustInserted","instructions","onFocus","select","clientId","isEditorSidebarOpened","isNotFileHref","getMedia","dispatch","openGeneralSidebar"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,IAAT,EAAeC,wBAAf,EAAyCC,IAAzC,QAAqD,cAArD;AACA,OAAOC,SAAP,MAAsB,mCAAtB;AAEA;AACA;AACA;;AACA,SACCC,6BADD,EAECC,8BAFD,EAGCC,eAHD,QAIO,gCAJP;AAKA,SACCC,SADD,EAECC,gBAFD,EAGCC,mBAHD,EAICC,QAJD,EAKCC,SALD,EAMCC,aAND,EAOCC,WAPD,EAQCC,iBARD,EASCC,cATD,EAUCC,KAAK,IAAIC,gBAVV,QAWO,yBAXP;AAYA,SACCC,aADD,EAECC,YAFD,EAGCC,SAHD,EAICC,aAJD,EAKCC,WALD,EAMCC,aAND,EAOCC,IAPD,QAQO,uBARP;AASA,SACCC,IAAI,IAAIC,IADT,EAECC,OAFD,EAGCC,MAHD,EAICC,QAJD,EAKCC,IALD,EAMCC,OAND,QAOO,kBAPP;AAQA,SAASC,SAAT,QAA0B,oBAA1B;AACA,SAASC,EAAT,EAAaC,EAAb,QAAuB,iBAAvB;AACA,SAASC,OAAT,EAAkBC,wBAAlB,QAAkD,oBAAlD;AACA,SAASC,YAAT,EAAuBC,UAAvB,QAAyC,iBAAzC;AACA,SAASC,WAAT,QAA4B,gBAA5B;AACA,SAASvB,KAAK,IAAIwB,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,cAAnB;AAEA,MAAMC,mCAAmC,GAAG,IAA5C;AACA,MAAMC,SAAS,GAAG,EAAlB;AAEA,OAAO,MAAMC,QAAN,SAAuBZ,SAAvB,CAAiC;AACvCa,EAAAA,WAAW,CAAEC,KAAF,EAAU;AACpB,UAAOA,KAAP;AAEA,SAAKC,KAAL,GAAa;AACZC,MAAAA,kBAAkB,EAAE,KADR;AAEZC,MAAAA,qBAAqB,EAAE,KAFX;AAGZC,MAAAA,oBAAoB,EAAE,CAHV;AAIZC,MAAAA,QAAQ,EAAE;AAJE,KAAb;AAOA,SAAKC,QAAL,GAAgB,IAAhB;AAEA,SAAKC,QAAL,GAAgB,KAAKA,QAAL,CAAcC,IAAd,CAAoB,IAApB,CAAhB;AACA,SAAKC,YAAL,GAAoB,KAAKA,YAAL,CAAkBD,IAAlB,CAAwB,IAAxB,CAApB;AACA,SAAKE,gBAAL,GAAwB,KAAKA,gBAAL,CAAsBF,IAAtB,CAA4B,IAA5B,CAAxB;AACA,SAAKG,0BAAL,GAAkC,KAAKA,0BAAL,CAAgCH,IAAhC,CACjC,IADiC,CAAlC;AAGA,SAAKI,mBAAL,GAA2B,KAAKA,mBAAL,CAAyBJ,IAAzB,CAA+B,IAA/B,CAA3B;AACA,SAAKK,4BAAL,GAAoC,KAAKA,4BAAL,CAAkCL,IAAlC,CACnC,IADmC,CAApC;AAGA,SAAKM,4BAAL,GAAoC,KAAKA,4BAAL,CAAkCN,IAAlC,CACnC,IADmC,CAApC;AAGA,SAAKO,gBAAL,GAAwB,KAAKA,gBAAL,CAAsBP,IAAtB,CAA4B,IAA5B,CAAxB;AACA,SAAKQ,gCAAL,GAAwC,KAAKA,gCAAL,CAAsCR,IAAtC,CACvC,IADuC,CAAxC;AAGA,SAAKS,SAAL,GAAiB,KAAKA,SAAL,CAAeT,IAAf,CAAqB,IAArB,CAAjB;AACA,SAAKU,uBAAL,GAA+B,KAAKA,uBAAL,CAA6BV,IAA7B,CAC9B,IAD8B,CAA/B;AAIA,SAAKW,6BAAL,GAAqC,KAAKA,6BAAL,CAAmCX,IAAnC,CACpC,IADoC,CAArC;AAGA,SAAKY,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBZ,IAAxB,CAA8B,IAA9B,CAA1B;AACA,SAAKa,aAAL,GAAqB,KAAKA,aAAL,CAAmBb,IAAnB,CAAyB,IAAzB,CAArB;AACA,SAAKc,qBAAL,GAA6B,KAAKA,qBAAL,CAA2Bd,IAA3B,CAAiC,IAAjC,CAA7B;AACA;;AAEDe,EAAAA,iBAAiB,GAAG;AACnB,UAAM;AAAEC,MAAAA,UAAF;AAAcC,MAAAA;AAAd,QAAgC,KAAKzB,KAA3C;AACA,UAAM;AAAE0B,MAAAA;AAAF,QAAyBF,UAA/B;;AAEA,QAAKE,kBAAkB,KAAKC,SAAvB,IAAoCD,kBAAkB,KAAK,EAAhE,EAAqE;AACpED,MAAAA,aAAa,CAAE;AACdC,QAAAA,kBAAkB,EAAEtC,EAAE,CAAE,UAAF,EAAc,cAAd;AADR,OAAF,CAAb;AAGA;;AAED,QACCoC,UAAU,CAACI,EAAX,IACAJ,UAAU,CAACK,GADX,IAEApC,WAAW,CAAE+B,UAAU,CAACK,GAAb,CAAX,KAAkC,OAHnC,EAIE;AACDrE,MAAAA,eAAe;AACf;AACD;;AAEDsE,EAAAA,oBAAoB,GAAG;AACtBC,IAAAA,YAAY,CAAE,KAAKzB,QAAP,CAAZ;AACA;;AAED0B,EAAAA,kBAAkB,CAAEC,SAAF,EAAc;AAC/B,QACCA,SAAS,CAACC,eAAV,IACA,CAAE,KAAKlC,KAAL,CAAWkC,eADb,IAEA,KAAKjC,KAAL,CAAWE,qBAHZ,EAIE;AACD,WAAKgC,QAAL,CAAe;AAAEhC,QAAAA,qBAAqB,EAAE;AAAzB,OAAf;AACA;AACD;;AAEDM,EAAAA,YAAY,CAAE2B,KAAF,EAAU;AACrB,SAAKpC,KAAL,CAAWyB,aAAX,CAA0B;AACzBY,MAAAA,IAAI,EAAED,KAAK,CAACP,GADa;AAEzBS,MAAAA,QAAQ,EAAEF,KAAK,CAACG,KAFS;AAGzBC,MAAAA,YAAY,EAAEJ,KAAK,CAACP,GAHK;AAIzBD,MAAAA,EAAE,EAAEQ,KAAK,CAACR;AAJe,KAA1B;AAMA;;AAEDlB,EAAAA,gBAAgB,CAAE4B,QAAF,EAAa;AAC5B,SAAKtC,KAAL,CAAWyB,aAAX,CAA0B;AAAEa,MAAAA;AAAF,KAA1B;AACA;;AAED3B,EAAAA,0BAA0B,CAAEe,kBAAF,EAAuB;AAChD,SAAK1B,KAAL,CAAWyB,aAAX,CAA0B;AAAEC,MAAAA;AAAF,KAA1B;AACA;;AAEDV,EAAAA,gCAAgC,CAAEyB,kBAAF,EAAuB;AACtD,SAAKzC,KAAL,CAAWyB,aAAX,CAA0B;AAAEgB,MAAAA;AAAF,KAA1B;AACA;;AAEDtB,EAAAA,6BAA6B,CAAEuB,OAAF,EAAY;AACxC;AACA,SAAK1C,KAAL,CAAWyB,aAAX,CAA0B;AAAEe,MAAAA,YAAY,EAAEE;AAAhB,KAA1B;AACA;;AAEDzB,EAAAA,SAAS,GAAG;AACX,QAAK,KAAKhB,KAAL,CAAW0C,WAAhB,EAA8B;AAC7B;AACA;;AACD,UAAM;AAAEN,MAAAA;AAAF,QAAW,KAAKrC,KAAL,CAAWwB,UAA5B;AACAnE,IAAAA,SAAS,CAACuF,SAAV,CAAqBP,IAArB;AAEA,SAAKF,QAAL,CAAe;AAAEQ,MAAAA,WAAW,EAAE;AAAf,KAAf;AACA,SAAKrC,QAAL,GAAgBuC,UAAU,CAAE,MAAM;AACjC,WAAKV,QAAL,CAAe;AAAEQ,QAAAA,WAAW,EAAE;AAAf,OAAf;AACA,KAFyB,EAEvB/C,mCAFuB,CAA1B;AAGA;;AAEDsB,EAAAA,uBAAuB,CAAE4B,QAAF,EAAa;AACnC,SAAK9C,KAAL,CAAWyB,aAAX,CAA0B;AACzBsB,MAAAA,cAAc,EAAED,QAAQ,GAAG,QAAH,GAAc;AADb,KAA1B;AAGA;;AAEDlC,EAAAA,mBAAmB,CAAEoC,OAAF,EAAY;AAC9B,UAAM;AAAEvB,MAAAA;AAAF,QAAoB,KAAKzB,KAA/B;;AACA,QAAKgD,OAAO,CAACC,QAAb,EAAwB;AACvBxB,MAAAA,aAAa,CAAE;AAAEI,QAAAA,GAAG,EAAEmB,OAAO,CAACC;AAAf,OAAF,CAAb;AACA;;AACD,QAAK,CAAE,KAAKhD,KAAL,CAAWC,kBAAlB,EAAuC;AACtC,WAAKiC,QAAL,CAAe;AAAEjC,QAAAA,kBAAkB,EAAE;AAAtB,OAAf;AACA;AACD;;AAEDW,EAAAA,4BAA4B,CAAEmC,OAAF,EAAY;AACvC,UAAM;AAAEvB,MAAAA;AAAF,QAAoB,KAAKzB,KAA/B;AAEAyB,IAAAA,aAAa,CAAE;AACdY,MAAAA,IAAI,EAAEW,OAAO,CAACC,QADA;AAEdrB,MAAAA,EAAE,EAAEoB,OAAO,CAACE,aAFE;AAGdV,MAAAA,YAAY,EAAEQ,OAAO,CAACC;AAHR,KAAF,CAAb;AAKA,SAAKd,QAAL,CAAe;AAAEjC,MAAAA,kBAAkB,EAAE;AAAtB,KAAf;AACA;;AAEDY,EAAAA,4BAA4B,CAAEkC,OAAF,EAAY;AACvC,SAAKhD,KAAL,CAAWyB,aAAX,CAA0B;AAAEG,MAAAA,EAAE,EAAEoB,OAAO,CAACG;AAAd,KAA1B;AACA,SAAKhB,QAAL,CAAe;AAAEjC,MAAAA,kBAAkB,EAAE;AAAtB,KAAf;AACA;;AAEDoB,EAAAA,qBAAqB,GAAG;AACvB,UAAM;AAAEG,MAAAA;AAAF,QAAoB,KAAKzB,KAA/B;AAEAyB,IAAAA,aAAa,CAAE;AACdG,MAAAA,EAAE,EAAE,IADU;AAEdS,MAAAA,IAAI,EAAE,IAFQ;AAGdG,MAAAA,YAAY,EAAE,IAHA;AAIdF,MAAAA,QAAQ,EAAE;AAJI,KAAF,CAAb;AAMA,SAAKH,QAAL,CAAe;AAAEjC,MAAAA,kBAAkB,EAAE;AAAtB,KAAf;AACA;;AAEDkB,EAAAA,kBAAkB,GAAG;AACpB,SAAKe,QAAL,CACC;AACChC,MAAAA,qBAAqB,EAAE;AADxB,KADD,EAIC,KAAKH,KAAL,CAAWoD,WAJZ;AAMA;;AAEDC,EAAAA,oBAAoB,CAAEC,IAAF,EAAS;AAC5B,WACC,cAAC,aAAD,QACC,cAAC,YAAD,QACC,cAAC,aAAD;AACC,MAAA,KAAK,EAAGnE,EAAE,CAAE,WAAF,CADX;AAEC,MAAA,IAAI,EAAGN,OAFR;AAGC,MAAA,OAAO,EAAGyE;AAHX,MADD,EAMC,cAAC,aAAD;AACC,MAAA,KAAK,EAAGnE,EAAE,CAAE,SAAF,CADX;AAEC,MAAA,IAAI,EAAGH,IAFR;AAGC,MAAA,OAAO,EAAG,KAAKoC;AAHhB,MAND,CADD,CADD;AAgBA;;AAEDmC,EAAAA,oBAAoB,OAEnBnB,KAFmB,EAGnBlC,kBAHmB,EAInBsD,cAJmB,EAKlB;AAAA,QAJD;AAAEf,MAAAA,kBAAF;AAAsBM,MAAAA,cAAtB;AAAsCV,MAAAA,IAAtC;AAA4CG,MAAAA;AAA5C,KAIC;AACD,QAAIiB,sBAAsB,GAAG,CAAE;AAAEC,MAAAA,KAAK,EAAErB,IAAT;AAAesB,MAAAA,KAAK,EAAExE,EAAE,CAAE,KAAF;AAAxB,KAAF,CAA7B;AACA,UAAMyE,cAAc,GAAGxB,KAAK,IAAIA,KAAK,CAACpD,IAAtC;AACA,UAAM;AAAEmB,MAAAA;AAAF,QAA4B,KAAKF,KAAvC;;AAEA,QAAK2D,cAAL,EAAsB;AACrBH,MAAAA,sBAAsB,GAAG,CACxB;AAAEC,QAAAA,KAAK,EAAErB,IAAT;AAAesB,QAAAA,KAAK,EAAExE,EAAE,CAAE,YAAF;AAAxB,OADwB,EAExB;AAAEuE,QAAAA,KAAK,EAAEE,cAAT;AAAyBD,QAAAA,KAAK,EAAExE,EAAE,CAAE,iBAAF;AAAlC,OAFwB,CAAzB;AAIA;;AAED,UAAM0E,iBAAiB,GAAG,KAAK7D,KAAL,CAAW8D,wBAAX,CACzBnE,MAAM,CAACoE,YADkB,EAEzBpE,MAAM,CAACqE,gBAFkB,CAA1B;AAKA,UAAMC,iBAAiB,GAAGT,cAAc,IAAItD,kBAA5C;AAEA,UAAMgE,uBAAuB,GAAG,KAAKlE,KAAL,CAAW8D,wBAAX,CAC/BnE,MAAM,CAACwE,kBADwB,EAE/BxE,MAAM,CAACyE,sBAFwB,CAAhC;AAKA,UAAMC,gBAAgB,GAAGJ,iBAAiB,GACvCC,uBADuC,GAEvCL,iBAFH;AAIA,WACC,cAAC,iBAAD,QACG1D,qBAAqB,IACtB,cAAC,SAAD;AAAW,MAAA,KAAK,EAAGhB,EAAE,CAAE,qBAAF;AAArB,MAFF,EAIC,cAAC,SAAD,QACC,cAAC,aAAD;AACC,MAAA,IAAI,EAAGH,IADR;AAEC,MAAA,KAAK,EAAGG,EAAE,CAAE,SAAF,CAFX;AAGC,MAAA,KAAK,EAAGqD,YAHT;AAIC,MAAA,QAAQ,EAAG,KAAKrB,6BAJjB;AAKC,MAAA,OAAO,EAAGsC,sBALX;AAMC,MAAA,gBAAgB,EAAG;AANpB,MADD,EASC,cAAC,aAAD;AACC,MAAA,IAAI,EAAG1E,QADR;AAEC,MAAA,KAAK,EAAGI,EAAE,CAAE,iBAAF,CAFX;AAGC,MAAA,OAAO,EAAG4D,cAAc,KAAK,QAH9B;AAIC,MAAA,QAAQ,EAAG,KAAK7B;AAJjB,MATD,EAeG,CAAEf,qBAAF,IACD,cAAC,aAAD;AACC,MAAA,IAAI,EAAGrB,MADR;AAEC,MAAA,KAAK,EAAGK,EAAE,CAAE,sBAAF,CAFX;AAGC,MAAA,OAAO,EAAGsD,kBAHX;AAIC,MAAA,QAAQ,EAAG,KAAKzB;AAJjB,MAhBF,EAuBC,cAAC,WAAD;AACC,MAAA,QAAQ,EAAGiD,iBADZ;AAEC,MAAA,KAAK,EACJ,KAAKhE,KAAL,CAAW0C,WAAX,GACGxD,EAAE,CAAE,SAAF,CADL,GAEGA,EAAE,CAAE,eAAF,CALP;AAOC,MAAA,UAAU,EACT,KAAKc,KAAL,CAAW0C,WAAX,IAA0B0B,gBAR5B;AAUC,MAAA,OAAO,EAAG,KAAKpD;AAVhB,MAvBD,CAJD,CADD;AA2CA;;AAEDqD,EAAAA,oBAAoB,CAAEC,KAAF,EAAU;AAC7B,UAAMC,YAAY,GAAKC,SAAF,IAAiB;AACrC,cAASA,SAAT;AACC,aAAK,OAAL;AACC,iBAAO,UAAP;;AACD,aAAK,QAAL;AACC,iBAAO,QAAP;;AACD;AACC,iBAAO,YAAP;AANF;AAQA,KATD;;AAUA,WAAO;AAAEC,MAAAA,SAAS,EAAEF,YAAY,CAAED,KAAF;AAAzB,KAAP;AACA;;AAEDI,EAAAA,4BAA4B,CAAEJ,KAAF,EAAU;AACrC,YAASA,KAAT;AACC,WAAK,OAAL;AACC,eAAO,OAAP;;AACD,WAAK,QAAL;AACC,eAAO,QAAP;;AACD;AACC,eAAO,MAAP;AANF;AAQA;;AAEDlD,EAAAA,aAAa,GAAG;AACf,UAAM;AAAEG,MAAAA;AAAF,QAAiB,KAAKxB,KAA5B;;AAEA,QAAK,KAAKC,KAAL,CAAWC,kBAAhB,EAAqC;AACpC3C,MAAAA,8BAA8B,CAAEiE,UAAU,CAACI,EAAb,CAA9B;AACA,KAFD,MAEO,IACNJ,UAAU,CAACI,EAAX,IACAnC,WAAW,CAAE+B,UAAU,CAACa,IAAb,CAAX,KAAmC,OAF7B,EAGL;AACD/E,MAAAA,6BAA6B,CAAEkE,UAAU,CAACI,EAAb,CAA7B;AACA;AACD;;AAEDrB,EAAAA,QAAQ,QAAoB;AAAA,QAAlB;AAAEqE,MAAAA;AAAF,KAAkB;AAC3B,UAAM;AAAEC,MAAAA;AAAF,QAAYD,WAAW,CAACE,MAA9B;AACA,UAAM;AAAEC,MAAAA,WAAF;AAAeC,MAAAA;AAAf,QAAgCrF,MAAM,CAACsF,aAA7C;AACA,SAAK9C,QAAL,CAAe;AACd9B,MAAAA,QAAQ,EAAEwE,KAAK,IAAKE,WAAW,GAAGC,YAAnB;AADD,KAAf;AAGA,GArTsC,CAuTvC;AACA;AACA;AACA;;;AACAE,EAAAA,mBAAmB,CAAEC,eAAF,EAAoB;AACtC,UAAM;AAAE9E,MAAAA,QAAF;AAAYD,MAAAA;AAAZ,QAAqC,KAAKH,KAAhD;AACA,WACC,cAAC,IAAD;AACC,MAAA,KAAK,EAAGN,MAAM,CAACyF,WADhB;AAEC,MAAA,YAAY,EAAG,SAAuB;AAAA,YAArB;AAAER,UAAAA;AAAF,SAAqB;AACrC,cAAMS,SAAS,GACdT,WAAW,CAACU,KAAZ,CAAmB,CAAnB,KAA0BV,WAAW,CAACU,KAAZ,CAAmB,CAAnB,EAAuBT,KADlD;;AAEA,YAAKQ,SAAS,IAAIA,SAAS,KAAKjF,oBAAhC,EAAuD;AACtD,eAAK+B,QAAL,CAAe;AACd/B,YAAAA,oBAAoB,EAAEmF,IAAI,CAACC,GAAL,CACrBH,SADqB,EAErBhF,QAFqB;AADR,WAAf;AAMA;AACD;AAbF,OAeG8E,eAfH,CADD;AAmBA;;AAEDpE,EAAAA,gBAAgB,CAAE0E,gBAAF,EAAoBC,eAApB,EAAsC;AACrD,UAAM;AAAElE,MAAAA,UAAF;AAAcY,MAAAA,KAAd;AAAqBuD,MAAAA;AAArB,QAAoC,KAAK3F,KAA/C;AACA,UAAM;AAAE4F,MAAAA,eAAF;AAAmBxF,MAAAA;AAAnB,QAA4C,KAAKH,KAAvD;AAEA,UAAM;AACLqC,MAAAA,QADK;AAELZ,MAAAA,kBAFK;AAGLE,MAAAA,EAHK;AAILa,MAAAA,kBAJK;AAKL8B,MAAAA;AALK,QAMF/C,UANJ;AAQA,UAAMqE,QAAQ,GACbD,eAAe,IACb,CAAEA,eAAF,IACDlE,kBADC,IAEDA,kBAAkB,KAAK,EAHxB,GAIG7B,SAJH,GAKGO,oBANJ;AAQA,UAAM+E,eAAe,GACpBS,eAAe,IACb,CAAEA,eAAF,IACDlE,kBADC,IAEDA,kBAAkB,KAAK,EAHxB,GAIG,EAJH,GAKGvC,EAAE,CAAE,WAAF,CANN;AAQA,WACC,cAAC,mBAAD;AACC,MAAA,OAAO,EAAGyC,EADX;AAEC,MAAA,qBAAqB,EAAG,KAAKhB,mBAF9B;AAGC,MAAA,8BAA8B,EAC7B,KAAKC,4BAJP;AAMC,MAAA,8BAA8B,EAC7B,KAAKC,4BAPP;AASC,MAAA,uBAAuB,EAAG,KAAKQ,qBAThC;AAUC,MAAA,aAAa,EAAG,SAA8C;AAAA,YAA5C;AAAEpB,UAAAA,kBAAF;AAAsBsD,UAAAA;AAAtB,SAA4C;AAC7D,cAAMsC,WAAW,GAChB,CAAE,KAAK7F,KAAL,CAAWC,kBAAX,IAAiCsD,cAAnC,KACA7D,MAAM,CAACoG,cAFR;AAGA,cAAM1B,gBAAgB,GAAG,CACxB1E,MAAM,CAACsF,aADiB,EAExBa,WAFwB,CAAzB;AAKA,cAAME,cAAc,GAAGC,MAAM,CAACC,MAAP,CACtB,EADsB,EAEtBvG,MAAM,CAACwG,SAFe,EAGtBxG,MAAM,CAACyG,YAHe,CAAvB;AAMA,eACC,cAAC,wBAAD;AACC,UAAA,UAAU,EAAG,CAAET,UADhB;AAEC,UAAA,OAAO,EAAG,KAAKtE,aAFhB;AAGC,UAAA,WAAW,EAAGoE,gBAHf;AAIC,UAAA,QAAQ,EAAG,CAAEE;AAJd,WAMC,cAAC,IAAD;AACC,UAAA,QAAQ,EAAG,KAAKpF,QADjB;AAEC,UAAA,MAAM,EAAC;AAFR,WAIG,KAAK2E,mBAAL,CAA0BC,eAA1B,CAJH,EAKGjF,kBAAkB,IACnB,KAAKmD,oBAAL,CACCoC,gBADD,CANF,EASGC,eAAe,EATlB,EAUGC,UAAU,IACX,KAAKpC,oBAAL,CACC/B,UADD,EAECY,KAFD,EAGClC,kBAHD,EAICsD,cAJD,CAXF,EAiBC,cAAC,IAAD;AAAM,UAAA,KAAK,EAAG7D,MAAM,CAAC0G;AAArB,WACC,cAAC,QAAD;AACC,UAAA,4BAA4B,MAD7B;AAEC,UAAA,8BAA8B,MAF/B;AAGC,UAAA,QAAQ,EAAG,KAAK3F,gBAHjB;AAIC,UAAA,WAAW,EAAGvB,EAAE,CAAE,WAAF,CAJjB;AAKC,UAAA,mBAAmB,EAAG,CAAE,GAAF,CALvB;AAMC,UAAA,OAAO,EAAC,GANT;AAOC,UAAA,qBAAqB,EAAC,aAPvB;AAQC,UAAA,KAAK,EAAGmD,QART;AASC,UAAA,WAAW,EAAG,IATf;AAUC,UAAA,SAAS,EAAG,KAAKqC,4BAAL,CACXJ,KADW;AAVb,UADD,EAeGf,cAAc,IACf,cAAC,IAAD;AAAM,UAAA,KAAK,EAAG7D,MAAM,CAAC2G;AAArB,WACC,cAAC,IAAD;AACC,UAAA,IAAI,EAAGrH,OADR;AAEC,UAAA,KAAK,EAAG+G;AAFT,UADD,EAKC,cAAC,SAAD;AACC,UAAA,QAAQ,EAAG,KADZ;AAEC,UAAA,KAAK,EAAG7G,EAAE,CAAE,OAAF,CAFX;AAGC,UAAA,KAAK,EAAGQ,MAAM,CAACyG;AAHhB,UALD,CAhBF,CAjBD,EA8CG3D,kBAAkB,IACnB,KAAKxC,KAAL,CAAWI,QAAX,GAAsB,CADrB,IAEA,cAAC,IAAD;AACC,UAAA,KAAK,EAAG,CACPgE,gBADO,EAEP,KAAKC,oBAAL,CACCC,KADD,CAFO;AADT,WAQC,cAAC,QAAD;AACC,UAAA,4BAA4B,MAD7B;AAEC,UAAA,8BAA8B,MAF/B;AAGC,UAAA,mBAAmB,EAAG,CAAE,GAAF,CAHvB;AAIC,UAAA,OAAO,EAAC,GAJT;AAKC,UAAA,SAAS,EAAC,QALX;AAMC,UAAA,QAAQ,EAAGsB,QANZ;AAOC,UAAA,QAAQ,EAAG,KAAK5F,KAAL,CAAWI,QAPvB;AAQC,UAAA,WAAW,EAAG,IARf;AASC,UAAA,KAAK,EAAGV,MAAM,CAAC4G,UAThB;AAUC,UAAA,KAAK,EAAG7E,kBAVT;AAWC,UAAA,WAAW,EAAGyD,eAXf;AAYC,UAAA,eAAe,EAAG,MACjB,KAAKhD,QAAL,CAAe;AACdyD,YAAAA,eAAe,EAAE;AADH,WAAf,CAbF;AAiBC,UAAA,MAAM,EAAG,MACR,KAAKzD,QAAL,CAAe;AACdyD,YAAAA,eAAe,EAAE;AADH,WAAf,CAlBF;AAsBC,UAAA,cAAc,EACbjG,MAAM,CAAC4G,UAAP,CAAkBC,KAvBpB;AAyBC,UAAA,oBAAoB,EACnB7G,MAAM,CAAC8G,oBAAP,CACED,KA3BJ;AA6BC,UAAA,qBAAqB,EAAC,aA7BvB;AA8BC,UAAA,QAAQ,EACP,KACE7F;AAhCJ,UARD,CAhDH,CAND,CADD;AAuGA;AAhIF,MADD;AAoIA;;AAED+F,EAAAA,MAAM,GAAG;AACR,UAAM;AAAElF,MAAAA,UAAF;AAAcmF,MAAAA,oBAAd;AAAoChB,MAAAA;AAApC,QAAmD,KAAK3F,KAA9D;AACA,UAAM;AAAEqC,MAAAA;AAAF,QAAWb,UAAjB;;AAEA,QAAK,CAAEa,IAAP,EAAc;AACb,aACC,cAAC,gBAAD;AACC,QAAA,IAAI,EAAG,cAAC,SAAD;AAAW,UAAA,IAAI,EAAGzD;AAAlB,UADR;AAEC,QAAA,MAAM,EAAG;AACR2D,UAAAA,KAAK,EAAEpD,EAAE,CAAE,MAAF,CADD;AAERyH,UAAAA,YAAY,EAAEzH,EAAE,CAAE,eAAF;AAFR,SAFV;AAMC,QAAA,QAAQ,EAAG,KAAKsB,YANjB;AAOC,QAAA,OAAO,EAAG,KAAKT,KAAL,CAAW6G,OAPtB;AAQC,QAAA,YAAY,EAAG,CAAE5I,cAAF,CARhB;AASC,QAAA,mBAAmB,EAAG0H,UAAU,IAAIgB;AATrC,QADD;AAaA;;AAED,WACC,cAAC,WAAD;AACC,MAAA,YAAY,EAAG,CAAE1I,cAAF,CADhB;AAEC,MAAA,gBAAgB,EAAG,IAFpB;AAGC,MAAA,QAAQ,EAAG,KAAKwC,YAHjB;AAIC,MAAA,MAAM,EAAG,SAAiC;AAAA,YAA/B;AAAE6C,UAAAA,IAAF;AAAQoC,UAAAA;AAAR,SAA+B;AACzC,eAAO,KAAK3E,gBAAL,CAAuBuC,IAAvB,EAA6BoC,eAA7B,CAAP;AACA;AANF,MADD;AAUA;;AAlhBsC;AAqhBxC,eAAerG,OAAO,CAAE,CACvBG,UAAU,CAAE,CAAEsH,MAAF,EAAU9G,KAAV,KAAqB;AAChC,QAAM;AAAEwB,IAAAA,UAAF;AAAcmE,IAAAA,UAAd;AAA0BoB,IAAAA;AAA1B,MAAuC/G,KAA7C;AACA,QAAM;AAAE4B,IAAAA,EAAF;AAAMS,IAAAA;AAAN,MAAeb,UAArB;AACA,QAAM;AAAEwF,IAAAA;AAAF,MAA4BF,MAAM,CAAE,gBAAF,CAAxC;AACA,QAAMG,aAAa,GAAGrF,EAAE,IAAInC,WAAW,CAAE4C,IAAF,CAAX,KAAwB,OAApD;AACA,SAAO;AACND,IAAAA,KAAK,EAAE6E,aAAa,GACjBH,MAAM,CAAEpH,SAAF,CAAN,CAAoBwH,QAApB,CAA8BtF,EAA9B,CADiB,GAEjBD,SAHG;AAINO,IAAAA,eAAe,EAAEyD,UAAU,IAAIqB,qBAAqB,EAJ9C;AAKNL,IAAAA,oBAAoB,EAAEG,MAAM,CAC3B3I,gBAD2B,CAAN,CAEpBwI,oBAFoB,CAEEI,QAFF,EAEY,eAFZ;AALhB,GAAP;AASA,CAdS,CADa,EAgBvBxH,YAAY,CAAI4H,QAAF,IAAgB;AAC7B,QAAM;AAAEC,IAAAA;AAAF,MAAyBD,QAAQ,CAAE,gBAAF,CAAvC;AACA,SAAO;AACN/D,IAAAA,WAAW,EAAE,MAAMgE,kBAAkB,CAAE,iBAAF;AAD/B,GAAP;AAGA,CALW,CAhBW,EAsBvB9H,wBAtBuB,CAAF,CAAP,CAuBVQ,QAvBU,CAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { View, TouchableWithoutFeedback, Text } from 'react-native';\nimport Clipboard from '@react-native-clipboard/clipboard';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n\tmediaUploadSync,\n} from '@wordpress/react-native-bridge';\nimport {\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaUploadProgress,\n\tRichText,\n\tPlainText,\n\tBlockControls,\n\tMediaUpload,\n\tInspectorControls,\n\tMEDIA_TYPE_ANY,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tToolbarButton,\n\tToolbarGroup,\n\tPanelBody,\n\tToggleControl,\n\tTextControl,\n\tSelectControl,\n\tIcon,\n} from '@wordpress/components';\nimport {\n\tfile as icon,\n\treplace,\n\tbutton,\n\texternal,\n\tlink,\n\twarning,\n} from '@wordpress/icons';\nimport { Component } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { getProtocol } from '@wordpress/url';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst URL_COPIED_NOTIFICATION_DURATION_MS = 1500;\nconst MIN_WIDTH = 40;\n\nexport class FileEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.state = {\n\t\t\tisUploadInProgress: false,\n\t\t\tisSidebarLinkSettings: false,\n\t\t\tplaceholderTextWidth: 0,\n\t\t\tmaxWidth: 0,\n\t\t};\n\n\t\tthis.timerRef = null;\n\n\t\tthis.onLayout = this.onLayout.bind( this );\n\t\tthis.onSelectFile = this.onSelectFile.bind( this );\n\t\tthis.onChangeFileName = this.onChangeFileName.bind( this );\n\t\tthis.onChangeDownloadButtonText = this.onChangeDownloadButtonText.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.updateMediaProgress = this.updateMediaProgress.bind( this );\n\t\tthis.finishMediaUploadWithSuccess = this.finishMediaUploadWithSuccess.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.finishMediaUploadWithFailure = this.finishMediaUploadWithFailure.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.getFileComponent = this.getFileComponent.bind( this );\n\t\tthis.onChangeDownloadButtonVisibility = this.onChangeDownloadButtonVisibility.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.onCopyURL = this.onCopyURL.bind( this );\n\t\tthis.onChangeOpenInNewWindow = this.onChangeOpenInNewWindow.bind(\n\t\t\tthis\n\t\t);\n\n\t\tthis.onChangeLinkDestinationOption = this.onChangeLinkDestinationOption.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.onShowLinkSettings = this.onShowLinkSettings.bind( this );\n\t\tthis.onFilePressed = this.onFilePressed.bind( this );\n\t\tthis.mediaUploadStateReset = this.mediaUploadStateReset.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { attributes, setAttributes } = this.props;\n\t\tconst { downloadButtonText } = attributes;\n\n\t\tif ( downloadButtonText === undefined || downloadButtonText === '' ) {\n\t\t\tsetAttributes( {\n\t\t\t\tdownloadButtonText: _x( 'Download', 'button label' ),\n\t\t\t} );\n\t\t}\n\n\t\tif (\n\t\t\tattributes.id &&\n\t\t\tattributes.url &&\n\t\t\tgetProtocol( attributes.url ) === 'file:'\n\t\t) {\n\t\t\tmediaUploadSync();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.timerRef );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif (\n\t\t\tprevProps.isSidebarOpened &&\n\t\t\t! this.props.isSidebarOpened &&\n\t\t\tthis.state.isSidebarLinkSettings\n\t\t) {\n\t\t\tthis.setState( { isSidebarLinkSettings: false } );\n\t\t}\n\t}\n\n\tonSelectFile( media ) {\n\t\tthis.props.setAttributes( {\n\t\t\thref: media.url,\n\t\t\tfileName: media.title,\n\t\t\ttextLinkHref: media.url,\n\t\t\tid: media.id,\n\t\t} );\n\t}\n\n\tonChangeFileName( fileName ) {\n\t\tthis.props.setAttributes( { fileName } );\n\t}\n\n\tonChangeDownloadButtonText( downloadButtonText ) {\n\t\tthis.props.setAttributes( { downloadButtonText } );\n\t}\n\n\tonChangeDownloadButtonVisibility( showDownloadButton ) {\n\t\tthis.props.setAttributes( { showDownloadButton } );\n\t}\n\n\tonChangeLinkDestinationOption( newHref ) {\n\t\t// Choose Media File or Attachment Page (when file is in Media Library)\n\t\tthis.props.setAttributes( { textLinkHref: newHref } );\n\t}\n\n\tonCopyURL() {\n\t\tif ( this.state.isUrlCopied ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { href } = this.props.attributes;\n\t\tClipboard.setString( href );\n\n\t\tthis.setState( { isUrlCopied: true } );\n\t\tthis.timerRef = setTimeout( () => {\n\t\t\tthis.setState( { isUrlCopied: false } );\n\t\t}, URL_COPIED_NOTIFICATION_DURATION_MS );\n\t}\n\n\tonChangeOpenInNewWindow( newValue ) {\n\t\tthis.props.setAttributes( {\n\t\t\ttextLinkTarget: newValue ? '_blank' : false,\n\t\t} );\n\t}\n\n\tupdateMediaProgress( payload ) {\n\t\tconst { setAttributes } = this.props;\n\t\tif ( payload.mediaUrl ) {\n\t\t\tsetAttributes( { url: payload.mediaUrl } );\n\t\t}\n\t\tif ( ! this.state.isUploadInProgress ) {\n\t\t\tthis.setState( { isUploadInProgress: true } );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\thref: payload.mediaUrl,\n\t\t\tid: payload.mediaServerId,\n\t\t\ttextLinkHref: payload.mediaUrl,\n\t\t} );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tfinishMediaUploadWithFailure( payload ) {\n\t\tthis.props.setAttributes( { id: payload.mediaId } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tmediaUploadStateReset() {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tid: null,\n\t\t\thref: null,\n\t\t\ttextLinkHref: null,\n\t\t\tfileName: null,\n\t\t} );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tonShowLinkSettings() {\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tisSidebarLinkSettings: true,\n\t\t\t},\n\t\t\tthis.props.openSidebar\n\t\t);\n\t}\n\n\tgetToolbarEditButton( open ) {\n\t\treturn (\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Edit file' ) }\n\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Link To' ) }\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\tonClick={ this.onShowLinkSettings }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t);\n\t}\n\n\tgetInspectorControls(\n\t\t{ showDownloadButton, textLinkTarget, href, textLinkHref },\n\t\tmedia,\n\t\tisUploadInProgress,\n\t\tisUploadFailed\n\t) {\n\t\tlet linkDestinationOptions = [ { value: href, label: __( 'URL' ) } ];\n\t\tconst attachmentPage = media && media.link;\n\t\tconst { isSidebarLinkSettings } = this.state;\n\n\t\tif ( attachmentPage ) {\n\t\t\tlinkDestinationOptions = [\n\t\t\t\t{ value: href, label: __( 'Media file' ) },\n\t\t\t\t{ value: attachmentPage, label: __( 'Attachment page' ) },\n\t\t\t];\n\t\t}\n\n\t\tconst actionButtonStyle = this.props.getStylesFromColorScheme(\n\t\t\tstyles.actionButton,\n\t\t\tstyles.actionButtonDark\n\t\t);\n\n\t\tconst isCopyUrlDisabled = isUploadFailed || isUploadInProgress;\n\n\t\tconst dimmedActionButtonStyle = this.props.getStylesFromColorScheme(\n\t\t\tstyles.dimmedActionButton,\n\t\t\tstyles.dimmedActionButtonDark\n\t\t);\n\n\t\tconst finalButtonStyle = isCopyUrlDisabled\n\t\t\t? dimmedActionButtonStyle\n\t\t\t: actionButtonStyle;\n\n\t\treturn (\n\t\t\t<InspectorControls>\n\t\t\t\t{ isSidebarLinkSettings || (\n\t\t\t\t\t<PanelBody title={ __( 'File block settings' ) } />\n\t\t\t\t) }\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ textLinkHref }\n\t\t\t\t\t\tonChange={ this.onChangeLinkDestinationOption }\n\t\t\t\t\t\toptions={ linkDestinationOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tchecked={ textLinkTarget === '_blank' }\n\t\t\t\t\t\tonChange={ this.onChangeOpenInNewWindow }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isSidebarLinkSettings && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\ticon={ button }\n\t\t\t\t\t\t\tlabel={ __( 'Show download button' ) }\n\t\t\t\t\t\t\tchecked={ showDownloadButton }\n\t\t\t\t\t\t\tonChange={ this.onChangeDownloadButtonVisibility }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tdisabled={ isCopyUrlDisabled }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tthis.state.isUrlCopied\n\t\t\t\t\t\t\t\t? __( 'Copied!' )\n\t\t\t\t\t\t\t\t: __( 'Copy file URL' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabelStyle={\n\t\t\t\t\t\t\tthis.state.isUrlCopied || finalButtonStyle\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonPress={ this.onCopyURL }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\n\tgetStyleForAlignment( align ) {\n\t\tconst getFlexAlign = ( alignment ) => {\n\t\t\tswitch ( alignment ) {\n\t\t\t\tcase 'right':\n\t\t\t\t\treturn 'flex-end';\n\t\t\t\tcase 'center':\n\t\t\t\t\treturn 'center';\n\t\t\t\tdefault:\n\t\t\t\t\treturn 'flex-start';\n\t\t\t}\n\t\t};\n\t\treturn { alignSelf: getFlexAlign( align ) };\n\t}\n\n\tgetTextAlignmentForAlignment( align ) {\n\t\tswitch ( align ) {\n\t\t\tcase 'right':\n\t\t\t\treturn 'right';\n\t\t\tcase 'center':\n\t\t\t\treturn 'center';\n\t\t\tdefault:\n\t\t\t\treturn 'left';\n\t\t}\n\t}\n\n\tonFilePressed() {\n\t\tconst { attributes } = this.props;\n\n\t\tif ( this.state.isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( attributes.id );\n\t\t} else if (\n\t\t\tattributes.id &&\n\t\t\tgetProtocol( attributes.href ) === 'file:'\n\t\t) {\n\t\t\trequestImageFailedRetryDialog( attributes.id );\n\t\t}\n\t}\n\n\tonLayout( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tconst { paddingLeft, paddingRight } = styles.defaultButton;\n\t\tthis.setState( {\n\t\t\tmaxWidth: width - ( paddingLeft + paddingRight ),\n\t\t} );\n\t}\n\n\t// Render `Text` with `placeholderText` styled as a placeholder\n\t// to calculate its width which then is set as a `minWidth`\n\t// This should be fixed on RNAztec level. In the mean time,\n\t// We use the same strategy implemented in Button block\n\tgetPlaceholderWidth( placeholderText ) {\n\t\tconst { maxWidth, placeholderTextWidth } = this.state;\n\t\treturn (\n\t\t\t<Text\n\t\t\t\tstyle={ styles.placeholder }\n\t\t\t\tonTextLayout={ ( { nativeEvent } ) => {\n\t\t\t\t\tconst textWidth =\n\t\t\t\t\t\tnativeEvent.lines[ 0 ] && nativeEvent.lines[ 0 ].width;\n\t\t\t\t\tif ( textWidth && textWidth !== placeholderTextWidth ) {\n\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\tplaceholderTextWidth: Math.min(\n\t\t\t\t\t\t\t\ttextWidth,\n\t\t\t\t\t\t\t\tmaxWidth\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ placeholderText }\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tgetFileComponent( openMediaOptions, getMediaOptions ) {\n\t\tconst { attributes, media, isSelected } = this.props;\n\t\tconst { isButtonFocused, placeholderTextWidth } = this.state;\n\n\t\tconst {\n\t\t\tfileName,\n\t\t\tdownloadButtonText,\n\t\t\tid,\n\t\t\tshowDownloadButton,\n\t\t\talign,\n\t\t} = attributes;\n\n\t\tconst minWidth =\n\t\t\tisButtonFocused ||\n\t\t\t( ! isButtonFocused &&\n\t\t\t\tdownloadButtonText &&\n\t\t\t\tdownloadButtonText !== '' )\n\t\t\t\t? MIN_WIDTH\n\t\t\t\t: placeholderTextWidth;\n\n\t\tconst placeholderText =\n\t\t\tisButtonFocused ||\n\t\t\t( ! isButtonFocused &&\n\t\t\t\tdownloadButtonText &&\n\t\t\t\tdownloadButtonText !== '' )\n\t\t\t\t? ''\n\t\t\t\t: __( 'Add text…' );\n\n\t\treturn (\n\t\t\t<MediaUploadProgress\n\t\t\t\tmediaId={ id }\n\t\t\t\tonUpdateMediaProgress={ this.updateMediaProgress }\n\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t}\n\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t}\n\t\t\t\tonMediaUploadStateReset={ this.mediaUploadStateReset }\n\t\t\t\trenderContent={ ( { isUploadInProgress, isUploadFailed } ) => {\n\t\t\t\t\tconst dimmedStyle =\n\t\t\t\t\t\t( this.state.isUploadInProgress || isUploadFailed ) &&\n\t\t\t\t\t\tstyles.disabledButton;\n\t\t\t\t\tconst finalButtonStyle = [\n\t\t\t\t\t\tstyles.defaultButton,\n\t\t\t\t\t\tdimmedStyle,\n\t\t\t\t\t];\n\n\t\t\t\t\tconst errorIconStyle = Object.assign(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\tstyles.errorIcon,\n\t\t\t\t\t\tstyles.uploadFailed\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\t\t\tonPress={ this.onFilePressed }\n\t\t\t\t\t\t\tonLongPress={ openMediaOptions }\n\t\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tonLayout={ this.onLayout }\n\t\t\t\t\t\t\t\ttestID=\"file-edit-container\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ this.getPlaceholderWidth( placeholderText ) }\n\t\t\t\t\t\t\t\t{ isUploadInProgress ||\n\t\t\t\t\t\t\t\t\tthis.getToolbarEditButton(\n\t\t\t\t\t\t\t\t\t\topenMediaOptions\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ getMediaOptions() }\n\t\t\t\t\t\t\t\t{ isSelected &&\n\t\t\t\t\t\t\t\t\tthis.getInspectorControls(\n\t\t\t\t\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t\t\t\t\tmedia,\n\t\t\t\t\t\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\t\t\t\t\t\tisUploadFailed\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<View style={ styles.container }>\n\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t__unstableMobileNoFocusOnMount\n\t\t\t\t\t\t\t\t\t\tonChange={ this.onChangeFileName }\n\t\t\t\t\t\t\t\t\t\tplaceholder={ __( 'File name' ) }\n\t\t\t\t\t\t\t\t\t\trootTagsToEliminate={ [ 'p' ] }\n\t\t\t\t\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\t\t\t\t\tunderlineColorAndroid=\"transparent\"\n\t\t\t\t\t\t\t\t\t\tvalue={ fileName }\n\t\t\t\t\t\t\t\t\t\tdeleteEnter={ true }\n\t\t\t\t\t\t\t\t\t\ttextAlign={ this.getTextAlignmentForAlignment(\n\t\t\t\t\t\t\t\t\t\t\talign\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ isUploadFailed && (\n\t\t\t\t\t\t\t\t\t\t<View style={ styles.errorContainer }>\n\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ warning }\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ errorIconStyle }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t<PlainText\n\t\t\t\t\t\t\t\t\t\t\t\teditable={ false }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ __( 'Error' ) }\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ styles.uploadFailed }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t{ showDownloadButton &&\n\t\t\t\t\t\t\t\t\tthis.state.maxWidth > 0 && (\n\t\t\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\t\t\t\tfinalButtonStyle,\n\t\t\t\t\t\t\t\t\t\t\t\tthis.getStyleForAlignment(\n\t\t\t\t\t\t\t\t\t\t\t\t\talign\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t\t\t__unstableMobileNoFocusOnMount\n\t\t\t\t\t\t\t\t\t\t\t\trootTagsToEliminate={ [ 'p' ] }\n\t\t\t\t\t\t\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\t\t\t\t\t\t\ttextAlign=\"center\"\n\t\t\t\t\t\t\t\t\t\t\t\tminWidth={ minWidth }\n\t\t\t\t\t\t\t\t\t\t\t\tmaxWidth={ this.state.maxWidth }\n\t\t\t\t\t\t\t\t\t\t\t\tdeleteEnter={ true }\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ styles.buttonText }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ downloadButtonText }\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={ placeholderText }\n\t\t\t\t\t\t\t\t\t\t\t\tunstableOnFocus={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisButtonFocused: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonBlur={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisButtonFocused: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tselectionColor={\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.buttonText.color\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.placeholderTextColor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.color\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tunderlineColorAndroid=\"transparent\"\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.onChangeDownloadButtonText\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { attributes, wasBlockJustInserted, isSelected } = this.props;\n\t\tconst { href } = attributes;\n\n\t\tif ( ! href ) {\n\t\t\treturn (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'File' ),\n\t\t\t\t\t\tinstructions: __( 'CHOOSE A FILE' ),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ this.onSelectFile }\n\t\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\t\tallowedTypes={ [ MEDIA_TYPE_ANY ] }\n\t\t\t\t\tautoOpenMediaUpload={ isSelected && wasBlockJustInserted }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<MediaUpload\n\t\t\t\tallowedTypes={ [ MEDIA_TYPE_ANY ] }\n\t\t\t\tisReplacingMedia={ true }\n\t\t\t\tonSelect={ this.onSelectFile }\n\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\treturn this.getFileComponent( open, getMediaOptions );\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, props ) => {\n\t\tconst { attributes, isSelected, clientId } = props;\n\t\tconst { id, href } = attributes;\n\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\t\tconst isNotFileHref = id && getProtocol( href ) !== 'file:';\n\t\treturn {\n\t\t\tmedia: isNotFileHref\n\t\t\t\t? select( coreStore ).getMedia( id )\n\t\t\t\t: undefined,\n\t\t\tisSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\twasBlockJustInserted: select(\n\t\t\t\tblockEditorStore\n\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { openGeneralSidebar } = dispatch( 'core/edit-post' );\n\t\treturn {\n\t\t\topenSidebar: () => openGeneralSidebar( 'edit-post/block' ),\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( FileEdit );\n"]}
@@ -10,6 +10,7 @@ import { file as icon } from '@wordpress/icons';
10
10
  import deprecated from './deprecated';
11
11
  import edit from './edit';
12
12
  const metadata = {
13
+ $schema: "https://schemas.wp.org/trunk/block.json",
13
14
  apiVersion: 2,
14
15
  name: "core/file",
15
16
  title: "File",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/file/index.js"],"names":["_x","file","icon","deprecated","edit","save","transforms","name","metadata","settings","example","attributes","href","fileName"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,IAAI,IAAIC,IAAjB,QAA6B,kBAA7B;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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,IAAI,EACH,8EAFU;AAGXC,MAAAA,QAAQ,EAAEb,EAAE,CAAE,sBAAF,EAA0B,kBAA1B;AAHD;AADJ,GAFc;AASvBM,EAAAA,UATuB;AAUvBH,EAAAA,UAVuB;AAWvBC,EAAAA,IAXuB;AAYvBC,EAAAA;AAZuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\nimport { file as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\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\thref:\n\t\t\t\t'https://upload.wikimedia.org/wikipedia/commons/d/dd/Armstrong_Small_Step.ogg',\n\t\t\tfileName: _x( 'Armstrong_Small_Step', 'Name of the file' ),\n\t\t},\n\t},\n\ttransforms,\n\tdeprecated,\n\tedit,\n\tsave,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/file/index.js"],"names":["_x","file","icon","deprecated","edit","save","transforms","name","metadata","settings","example","attributes","href","fileName"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,IAAI,IAAIC,IAAjB,QAA6B,kBAA7B;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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,IAAI,EACH,8EAFU;AAGXC,MAAAA,QAAQ,EAAEb,EAAE,CAAE,sBAAF,EAA0B,kBAA1B;AAHD;AADJ,GAFc;AASvBM,EAAAA,UATuB;AAUvBH,EAAAA,UAVuB;AAWvBC,EAAAA,IAXuB;AAYvBC,EAAAA;AAZuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\nimport { file as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\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\thref:\n\t\t\t\t'https://upload.wikimedia.org/wikipedia/commons/d/dd/Armstrong_Small_Step.ogg',\n\t\t\tfileName: _x( 'Armstrong_Small_Step', 'Name of the file' ),\n\t\t},\n\t},\n\ttransforms,\n\tdeprecated,\n\tedit,\n\tsave,\n};\n"]}
@@ -8,6 +8,7 @@ import { classic as icon } from '@wordpress/icons';
8
8
 
9
9
  import edit from './edit';
10
10
  const metadata = {
11
+ $schema: "https://schemas.wp.org/trunk/block.json",
11
12
  apiVersion: 2,
12
13
  name: "core/freeform",
13
14
  title: "Classic",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/freeform/index.js"],"names":["classic","icon","edit","save","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,IAAIC,IAApB,QAAgC,kBAAhC;AAEA;AACA;AACA;;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBL,EAAAA,IADuB;AAEvBC,EAAAA,IAFuB;AAGvBC,EAAAA;AAHuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { classic as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/freeform/index.js"],"names":["classic","icon","edit","save","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,IAAIC,IAApB,QAAgC,kBAAhC;AAEA;AACA;AACA;;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBL,EAAAA,IADuB;AAEvBC,EAAAA,IAFuB;AAGvBC,EAAAA;AAHuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { classic as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n};\n"]}
@@ -193,6 +193,10 @@ const v6 = {
193
193
  type: 'boolean',
194
194
  default: true
195
195
  },
196
+ fixedHeight: {
197
+ type: 'boolean',
198
+ default: true
199
+ },
196
200
  linkTo: {
197
201
  type: 'string'
198
202
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/deprecated.js"],"names":["classnames","map","some","omit","RichText","useBlockProps","createBlock","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","isGalleryV2Enabled","DEPRECATED_LINK_DESTINATION_MEDIA","DEPRECATED_LINK_DESTINATION_ATTACHMENT","defaultColumnsNumberV1","attributes","Math","min","images","length","getHrefAndDestination","image","destination","href","source_url","url","linkDestination","link","undefined","runV2Migration","linkTo","imageBlocks","getImageBlock","sizeSlug","allowResize","id","parseInt","alt","caption","v6","type","default","source","selector","query","attribute","fullUrl","ids","items","columns","minimum","maximum","imageCrop","supports","anchor","align","save","className","img","isEmpty","migrate","v5","isEligible","v4","parsedId","Number","isInteger","v3","v2","index","v1","alignnone"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { map, some, omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { RichText, useBlockProps } from '@wordpress/block-editor';\n\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport { isGalleryV2Enabled } from './shared';\n\nconst DEPRECATED_LINK_DESTINATION_MEDIA = 'file';\nconst DEPRECATED_LINK_DESTINATION_ATTACHMENT = 'post';\n\n/**\n * Original function to determine default number of columns from a block's\n * attributes.\n *\n * Used in deprecations: v1-6, for versions of the gallery block that didn't use inner blocks.\n *\n * @param {Object} attributes Block attributes.\n * @return {number} Default number of columns for the gallery.\n */\nexport function defaultColumnsNumberV1( attributes ) {\n\treturn Math.min( 3, attributes?.images?.length );\n}\n\n/**\n * Original function to determine new href and linkDestination values for an image block from the\n * supplied Gallery link destination.\n *\n * Used in deprecations: v1-6.\n *\n * @param {Object} image Gallery image.\n * @param {string} destination Gallery's selected link destination.\n * @return {Object} New attributes to assign to image block.\n */\nexport function getHrefAndDestination( image, destination ) {\n\t// Need to determine the URL that the selected destination maps to.\n\t// Gutenberg and WordPress use different constants so the new link\n\t// destination also needs to be tweaked.\n\tswitch ( destination ) {\n\t\tcase DEPRECATED_LINK_DESTINATION_MEDIA:\n\t\t\treturn {\n\t\t\t\thref: image?.source_url || image?.url, // eslint-disable-line camelcase\n\t\t\t\tlinkDestination: LINK_DESTINATION_MEDIA,\n\t\t\t};\n\t\tcase DEPRECATED_LINK_DESTINATION_ATTACHMENT:\n\t\t\treturn {\n\t\t\t\thref: image?.link,\n\t\t\t\tlinkDestination: LINK_DESTINATION_ATTACHMENT,\n\t\t\t};\n\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\treturn {\n\t\t\t\thref: image?.source_url || image?.url, // eslint-disable-line camelcase\n\t\t\t\tlinkDestination: LINK_DESTINATION_MEDIA,\n\t\t\t};\n\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\treturn {\n\t\t\t\thref: image?.link,\n\t\t\t\tlinkDestination: LINK_DESTINATION_ATTACHMENT,\n\t\t\t};\n\t\tcase LINK_DESTINATION_NONE:\n\t\t\treturn {\n\t\t\t\thref: undefined,\n\t\t\t\tlinkDestination: LINK_DESTINATION_NONE,\n\t\t\t};\n\t}\n\n\treturn {};\n}\n\nfunction runV2Migration( attributes ) {\n\tlet linkTo = attributes.linkTo ? attributes.linkTo : 'none';\n\n\tif ( linkTo === 'post' ) {\n\t\tlinkTo = 'attachment';\n\t} else if ( linkTo === 'file' ) {\n\t\tlinkTo = 'media';\n\t}\n\n\tconst imageBlocks = attributes.images.map( ( image ) => {\n\t\treturn getImageBlock( image, attributes.sizeSlug, linkTo );\n\t} );\n\n\treturn [\n\t\t{\n\t\t\t...omit( attributes, [ 'images', 'ids' ] ),\n\t\t\tlinkTo,\n\t\t\tallowResize: false,\n\t\t},\n\t\timageBlocks,\n\t];\n}\n/**\n * Gets an Image block from gallery image data\n *\n * Used to migrate Galleries to nested Image InnerBlocks.\n *\n * @param {Object} image Image properties.\n * @param {string} sizeSlug Gallery sizeSlug attribute.\n * @param {string} linkTo Gallery linkTo attribute.\n * @return {Object} Image block.\n */\nexport function getImageBlock( image, sizeSlug, linkTo ) {\n\treturn createBlock( 'core/image', {\n\t\t...( image.id && { id: parseInt( image.id ) } ),\n\t\turl: image.url,\n\t\talt: image.alt,\n\t\tcaption: image.caption,\n\t\tsizeSlug,\n\t\t...getHrefAndDestination( image, linkTo ),\n\t} );\n}\n\nconst v6 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: '.blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: '.blocks-gallery-item__caption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\titems: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tdefault: [],\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t\tminimum: 1,\n\t\t\tmaximum: 8,\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: '.blocks-gallery-caption',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'large',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tcaption,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\t\tconst className = `columns-${ columns } ${\n\t\t\timageCrop ? 'is-cropped' : ''\n\t\t}`;\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save( { className } ) }>\n\t\t\t\t<ul className=\"blocks-gallery-grid\">\n\t\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\t\tlet href;\n\n\t\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\t\tcase DEPRECATED_LINK_DESTINATION_MEDIA:\n\t\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase DEPRECATED_LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst img = (\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t{ href ? (\n\t\t\t\t\t\t\t\t\t\t<a href={ href }>{ img }</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\timg\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! RichText.isEmpty( image.caption ) && (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item__caption\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</ul>\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\n\t\treturn attributes;\n\t},\n};\nconst v5 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: '.blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: '.blocks-gallery-item__caption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\titems: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tdefault: [],\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t\tminimum: 1,\n\t\t\tmaximum: 8,\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: '.blocks-gallery-caption',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'large',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tisEligible( { linkTo } ) {\n\t\treturn ! linkTo || linkTo === 'attachment' || linkTo === 'media';\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\n\t\tlet linkTo = attributes.linkTo;\n\n\t\tif ( ! attributes.linkTo ) {\n\t\t\tlinkTo = 'none';\n\t\t} else if ( attributes.linkTo === 'attachment' ) {\n\t\t\tlinkTo = 'post';\n\t\t} else if ( attributes.linkTo === 'media' ) {\n\t\t\tlinkTo = 'file';\n\t\t}\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tlinkTo,\n\t\t};\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tcaption,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\tclassName={ `columns-${ columns } ${\n\t\t\t\t\timageCrop ? 'is-cropped' : ''\n\t\t\t\t}` }\n\t\t\t>\n\t\t\t\t<ul className=\"blocks-gallery-grid\">\n\t\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\t\tlet href;\n\n\t\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst img = (\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t{ href ? (\n\t\t\t\t\t\t\t\t\t\t<a href={ href }>{ img }</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\timg\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! RichText.isEmpty( image.caption ) && (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item__caption\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</ul>\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\nconst v4 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: '.blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: '.blocks-gallery-item__caption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: '.blocks-gallery-caption',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tisEligible( { ids } ) {\n\t\treturn ids && ids.some( ( id ) => typeof id === 'string' );\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tids: map( attributes.ids, ( id ) => {\n\t\t\t\tconst parsedId = parseInt( id, 10 );\n\t\t\t\treturn Number.isInteger( parsedId ) ? parsedId : null;\n\t\t\t} ),\n\t\t};\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tcaption,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\tclassName={ `columns-${ columns } ${\n\t\t\t\t\timageCrop ? 'is-cropped' : ''\n\t\t\t\t}` }\n\t\t\t>\n\t\t\t\t<ul className=\"blocks-gallery-grid\">\n\t\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\t\tlet href;\n\n\t\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst img = (\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t{ href ? (\n\t\t\t\t\t\t\t\t\t\t<a href={ href }>{ img }</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\timg\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! RichText.isEmpty( image.caption ) && (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item__caption\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</ul>\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\nconst v3 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'ul.wp-block-gallery .blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tsource: 'children',\n\t\t\t\t\tselector: 'figcaption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tclassName={ `columns-${ columns } ${\n\t\t\t\t\timageCrop ? 'is-cropped' : ''\n\t\t\t\t}` }\n\t\t\t>\n\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\tlet href;\n\n\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst img = (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t{ href ? <a href={ href }>{ img }</a> : img }\n\t\t\t\t\t\t\t\t{ image.caption && image.caption.length > 0 && (\n\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\t\treturn attributes;\n\t},\n};\nconst v2 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'ul.wp-block-gallery .blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tsource: 'children',\n\t\t\t\t\tselector: 'figcaption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tisEligible( { images, ids } ) {\n\t\treturn (\n\t\t\timages &&\n\t\t\timages.length > 0 &&\n\t\t\t( ( ! ids && images ) ||\n\t\t\t\t( ids && images && ids.length !== images.length ) ||\n\t\t\t\tsome( images, ( id, index ) => {\n\t\t\t\t\tif ( ! id && ids[ index ] !== null ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\treturn parseInt( id, 10 ) !== ids[ index ];\n\t\t\t\t} ) )\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tids: map( attributes.images, ( { id } ) => {\n\t\t\t\tif ( ! id ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\treturn parseInt( id, 10 );\n\t\t\t} ),\n\t\t};\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tclassName={ `columns-${ columns } ${\n\t\t\t\t\timageCrop ? 'is-cropped' : ''\n\t\t\t\t}` }\n\t\t\t>\n\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\tlet href;\n\n\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\thref = image.url;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst img = (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t{ href ? <a href={ href }>{ img }</a> : img }\n\t\t\t\t\t\t\t\t{ image.caption && image.caption.length > 0 && (\n\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t);\n\t},\n};\n\nconst v1 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'div.wp-block-gallery figure.blocks-gallery-image img',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\talign,\n\t\t\timageCrop,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\t\tconst className = classnames( `columns-${ columns }`, {\n\t\t\talignnone: align === 'none',\n\t\t\t'is-cropped': imageCrop,\n\t\t} );\n\t\treturn (\n\t\t\t<div className={ className }>\n\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\tlet href;\n\n\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\thref = image.url;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst img = (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<figure\n\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\tclassName=\"blocks-gallery-image\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ href ? <a href={ href }>{ img }</a> : img }\n\t\t\t\t\t\t</figure>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\n\t\treturn attributes;\n\t},\n};\n\nexport default [ v6, v5, v4, v3, v2, v1 ];\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/deprecated.js"],"names":["classnames","map","some","omit","RichText","useBlockProps","createBlock","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","isGalleryV2Enabled","DEPRECATED_LINK_DESTINATION_MEDIA","DEPRECATED_LINK_DESTINATION_ATTACHMENT","defaultColumnsNumberV1","attributes","Math","min","images","length","getHrefAndDestination","image","destination","href","source_url","url","linkDestination","link","undefined","runV2Migration","linkTo","imageBlocks","getImageBlock","sizeSlug","allowResize","id","parseInt","alt","caption","v6","type","default","source","selector","query","attribute","fullUrl","ids","items","columns","minimum","maximum","imageCrop","fixedHeight","supports","anchor","align","save","className","img","isEmpty","migrate","v5","isEligible","v4","parsedId","Number","isInteger","v3","v2","index","v1","alignnone"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { map, some, omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { RichText, useBlockProps } from '@wordpress/block-editor';\n\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport { isGalleryV2Enabled } from './shared';\n\nconst DEPRECATED_LINK_DESTINATION_MEDIA = 'file';\nconst DEPRECATED_LINK_DESTINATION_ATTACHMENT = 'post';\n\n/**\n * Original function to determine default number of columns from a block's\n * attributes.\n *\n * Used in deprecations: v1-6, for versions of the gallery block that didn't use inner blocks.\n *\n * @param {Object} attributes Block attributes.\n * @return {number} Default number of columns for the gallery.\n */\nexport function defaultColumnsNumberV1( attributes ) {\n\treturn Math.min( 3, attributes?.images?.length );\n}\n\n/**\n * Original function to determine new href and linkDestination values for an image block from the\n * supplied Gallery link destination.\n *\n * Used in deprecations: v1-6.\n *\n * @param {Object} image Gallery image.\n * @param {string} destination Gallery's selected link destination.\n * @return {Object} New attributes to assign to image block.\n */\nexport function getHrefAndDestination( image, destination ) {\n\t// Need to determine the URL that the selected destination maps to.\n\t// Gutenberg and WordPress use different constants so the new link\n\t// destination also needs to be tweaked.\n\tswitch ( destination ) {\n\t\tcase DEPRECATED_LINK_DESTINATION_MEDIA:\n\t\t\treturn {\n\t\t\t\thref: image?.source_url || image?.url, // eslint-disable-line camelcase\n\t\t\t\tlinkDestination: LINK_DESTINATION_MEDIA,\n\t\t\t};\n\t\tcase DEPRECATED_LINK_DESTINATION_ATTACHMENT:\n\t\t\treturn {\n\t\t\t\thref: image?.link,\n\t\t\t\tlinkDestination: LINK_DESTINATION_ATTACHMENT,\n\t\t\t};\n\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\treturn {\n\t\t\t\thref: image?.source_url || image?.url, // eslint-disable-line camelcase\n\t\t\t\tlinkDestination: LINK_DESTINATION_MEDIA,\n\t\t\t};\n\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\treturn {\n\t\t\t\thref: image?.link,\n\t\t\t\tlinkDestination: LINK_DESTINATION_ATTACHMENT,\n\t\t\t};\n\t\tcase LINK_DESTINATION_NONE:\n\t\t\treturn {\n\t\t\t\thref: undefined,\n\t\t\t\tlinkDestination: LINK_DESTINATION_NONE,\n\t\t\t};\n\t}\n\n\treturn {};\n}\n\nfunction runV2Migration( attributes ) {\n\tlet linkTo = attributes.linkTo ? attributes.linkTo : 'none';\n\n\tif ( linkTo === 'post' ) {\n\t\tlinkTo = 'attachment';\n\t} else if ( linkTo === 'file' ) {\n\t\tlinkTo = 'media';\n\t}\n\n\tconst imageBlocks = attributes.images.map( ( image ) => {\n\t\treturn getImageBlock( image, attributes.sizeSlug, linkTo );\n\t} );\n\n\treturn [\n\t\t{\n\t\t\t...omit( attributes, [ 'images', 'ids' ] ),\n\t\t\tlinkTo,\n\t\t\tallowResize: false,\n\t\t},\n\t\timageBlocks,\n\t];\n}\n/**\n * Gets an Image block from gallery image data\n *\n * Used to migrate Galleries to nested Image InnerBlocks.\n *\n * @param {Object} image Image properties.\n * @param {string} sizeSlug Gallery sizeSlug attribute.\n * @param {string} linkTo Gallery linkTo attribute.\n * @return {Object} Image block.\n */\nexport function getImageBlock( image, sizeSlug, linkTo ) {\n\treturn createBlock( 'core/image', {\n\t\t...( image.id && { id: parseInt( image.id ) } ),\n\t\turl: image.url,\n\t\talt: image.alt,\n\t\tcaption: image.caption,\n\t\tsizeSlug,\n\t\t...getHrefAndDestination( image, linkTo ),\n\t} );\n}\n\nconst v6 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: '.blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: '.blocks-gallery-item__caption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\titems: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tdefault: [],\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t\tminimum: 1,\n\t\t\tmaximum: 8,\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: '.blocks-gallery-caption',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tfixedHeight: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'large',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tcaption,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\t\tconst className = `columns-${ columns } ${\n\t\t\timageCrop ? 'is-cropped' : ''\n\t\t}`;\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save( { className } ) }>\n\t\t\t\t<ul className=\"blocks-gallery-grid\">\n\t\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\t\tlet href;\n\n\t\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\t\tcase DEPRECATED_LINK_DESTINATION_MEDIA:\n\t\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase DEPRECATED_LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst img = (\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t{ href ? (\n\t\t\t\t\t\t\t\t\t\t<a href={ href }>{ img }</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\timg\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! RichText.isEmpty( image.caption ) && (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item__caption\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</ul>\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\n\t\treturn attributes;\n\t},\n};\nconst v5 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: '.blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: '.blocks-gallery-item__caption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\titems: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tdefault: [],\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t\tminimum: 1,\n\t\t\tmaximum: 8,\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: '.blocks-gallery-caption',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'large',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tisEligible( { linkTo } ) {\n\t\treturn ! linkTo || linkTo === 'attachment' || linkTo === 'media';\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\n\t\tlet linkTo = attributes.linkTo;\n\n\t\tif ( ! attributes.linkTo ) {\n\t\t\tlinkTo = 'none';\n\t\t} else if ( attributes.linkTo === 'attachment' ) {\n\t\t\tlinkTo = 'post';\n\t\t} else if ( attributes.linkTo === 'media' ) {\n\t\t\tlinkTo = 'file';\n\t\t}\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tlinkTo,\n\t\t};\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tcaption,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\tclassName={ `columns-${ columns } ${\n\t\t\t\t\timageCrop ? 'is-cropped' : ''\n\t\t\t\t}` }\n\t\t\t>\n\t\t\t\t<ul className=\"blocks-gallery-grid\">\n\t\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\t\tlet href;\n\n\t\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst img = (\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t{ href ? (\n\t\t\t\t\t\t\t\t\t\t<a href={ href }>{ img }</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\timg\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! RichText.isEmpty( image.caption ) && (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item__caption\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</ul>\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\nconst v4 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: '.blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: '.blocks-gallery-item__caption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: '.blocks-gallery-caption',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tisEligible( { ids } ) {\n\t\treturn ids && ids.some( ( id ) => typeof id === 'string' );\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tids: map( attributes.ids, ( id ) => {\n\t\t\t\tconst parsedId = parseInt( id, 10 );\n\t\t\t\treturn Number.isInteger( parsedId ) ? parsedId : null;\n\t\t\t} ),\n\t\t};\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tcaption,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\tclassName={ `columns-${ columns } ${\n\t\t\t\t\timageCrop ? 'is-cropped' : ''\n\t\t\t\t}` }\n\t\t\t>\n\t\t\t\t<ul className=\"blocks-gallery-grid\">\n\t\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\t\tlet href;\n\n\t\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst img = (\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t{ href ? (\n\t\t\t\t\t\t\t\t\t\t<a href={ href }>{ img }</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\timg\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! RichText.isEmpty( image.caption ) && (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item__caption\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</ul>\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\nconst v3 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'ul.wp-block-gallery .blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tsource: 'children',\n\t\t\t\t\tselector: 'figcaption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tclassName={ `columns-${ columns } ${\n\t\t\t\t\timageCrop ? 'is-cropped' : ''\n\t\t\t\t}` }\n\t\t\t>\n\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\tlet href;\n\n\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst img = (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t{ href ? <a href={ href }>{ img }</a> : img }\n\t\t\t\t\t\t\t\t{ image.caption && image.caption.length > 0 && (\n\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\t\treturn attributes;\n\t},\n};\nconst v2 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'ul.wp-block-gallery .blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tsource: 'children',\n\t\t\t\t\tselector: 'figcaption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tisEligible( { images, ids } ) {\n\t\treturn (\n\t\t\timages &&\n\t\t\timages.length > 0 &&\n\t\t\t( ( ! ids && images ) ||\n\t\t\t\t( ids && images && ids.length !== images.length ) ||\n\t\t\t\tsome( images, ( id, index ) => {\n\t\t\t\t\tif ( ! id && ids[ index ] !== null ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\treturn parseInt( id, 10 ) !== ids[ index ];\n\t\t\t\t} ) )\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tids: map( attributes.images, ( { id } ) => {\n\t\t\t\tif ( ! id ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\treturn parseInt( id, 10 );\n\t\t\t} ),\n\t\t};\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tclassName={ `columns-${ columns } ${\n\t\t\t\t\timageCrop ? 'is-cropped' : ''\n\t\t\t\t}` }\n\t\t\t>\n\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\tlet href;\n\n\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\thref = image.url;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst img = (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t{ href ? <a href={ href }>{ img }</a> : img }\n\t\t\t\t\t\t\t\t{ image.caption && image.caption.length > 0 && (\n\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t);\n\t},\n};\n\nconst v1 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'div.wp-block-gallery figure.blocks-gallery-image img',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\talign,\n\t\t\timageCrop,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\t\tconst className = classnames( `columns-${ columns }`, {\n\t\t\talignnone: align === 'none',\n\t\t\t'is-cropped': imageCrop,\n\t\t} );\n\t\treturn (\n\t\t\t<div className={ className }>\n\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\tlet href;\n\n\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\thref = image.url;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst img = (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<figure\n\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\tclassName=\"blocks-gallery-image\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ href ? <a href={ href }>{ img }</a> : img }\n\t\t\t\t\t\t</figure>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\n\t\treturn attributes;\n\t},\n};\n\nexport default [ v6, v5, v4, v3, v2, v1 ];\n"]}