@wordpress/block-library 9.48.1 → 10.0.1-next.v.202606191442.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 (480) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/build/breadcrumbs/edit.cjs +1 -1
  3. package/build/breadcrumbs/edit.cjs.map +1 -1
  4. package/build/button/edit.cjs +1 -1
  5. package/build/button/edit.cjs.map +2 -2
  6. package/build/categories/edit.cjs +1 -1
  7. package/build/categories/edit.cjs.map +1 -1
  8. package/build/code/edit.cjs +1 -1
  9. package/build/code/edit.cjs.map +2 -2
  10. package/build/code/index.cjs +1 -1
  11. package/build/code/index.cjs.map +1 -1
  12. package/build/columns/utils.cjs.map +1 -1
  13. package/build/comments/edit/comments-legacy.cjs +1 -1
  14. package/build/comments/edit/comments-legacy.cjs.map +1 -1
  15. package/build/comments/edit/placeholder.cjs +4 -4
  16. package/build/comments/edit/placeholder.cjs.map +1 -1
  17. package/build/comments-pagination-next/edit.cjs +2 -2
  18. package/build/comments-pagination-next/edit.cjs.map +1 -1
  19. package/build/comments-pagination-previous/edit.cjs +2 -2
  20. package/build/comments-pagination-previous/edit.cjs.map +1 -1
  21. package/build/cover/deprecated.cjs +3 -3
  22. package/build/cover/deprecated.cjs.map +2 -2
  23. package/build/cover/edit/block-controls.cjs +13 -0
  24. package/build/cover/edit/block-controls.cjs.map +2 -2
  25. package/build/cover/edit/index.cjs +61 -2
  26. package/build/cover/edit/index.cjs.map +3 -3
  27. package/build/cover/edit/inspector-controls.cjs +93 -35
  28. package/build/cover/edit/inspector-controls.cjs.map +2 -2
  29. package/build/details/edit.cjs +1 -1
  30. package/build/details/edit.cjs.map +2 -2
  31. package/build/embed/embed-placeholder.cjs +1 -1
  32. package/build/embed/embed-placeholder.cjs.map +2 -2
  33. package/build/file/edit.cjs +3 -11
  34. package/build/file/edit.cjs.map +2 -2
  35. package/build/file/index.cjs +3 -1
  36. package/build/file/index.cjs.map +3 -3
  37. package/build/file/transforms.cjs +11 -32
  38. package/build/file/transforms.cjs.map +2 -2
  39. package/build/file/variations.cjs +38 -0
  40. package/build/file/variations.cjs.map +7 -0
  41. package/build/footnotes/edit.cjs +1 -1
  42. package/build/footnotes/edit.cjs.map +2 -2
  43. package/build/form-input/edit.cjs +1 -1
  44. package/build/form-input/edit.cjs.map +2 -2
  45. package/build/freeform/edit.cjs +1 -1
  46. package/build/freeform/edit.cjs.map +1 -1
  47. package/build/gallery/edit.cjs +2 -2
  48. package/build/gallery/edit.cjs.map +2 -2
  49. package/build/home-link/edit.cjs +1 -1
  50. package/build/home-link/edit.cjs.map +2 -2
  51. package/build/html/index.cjs +1 -1
  52. package/build/html/index.cjs.map +2 -2
  53. package/build/html/modal.cjs +3 -3
  54. package/build/html/modal.cjs.map +2 -2
  55. package/build/icon/block.json +12 -0
  56. package/build/icon/edit.cjs +90 -39
  57. package/build/icon/edit.cjs.map +3 -3
  58. package/build/icon/index.cjs +3 -1
  59. package/build/icon/index.cjs.map +3 -3
  60. package/build/{tab/save.cjs → icon/variations.cjs} +14 -15
  61. package/build/icon/variations.cjs.map +7 -0
  62. package/build/image/block.json +1 -0
  63. package/build/image/edit.cjs +4 -3
  64. package/build/image/edit.cjs.map +2 -2
  65. package/build/image/image.cjs +91 -27
  66. package/build/image/image.cjs.map +2 -2
  67. package/build/image/index.cjs +1 -1
  68. package/build/image/index.cjs.map +2 -2
  69. package/build/image/transforms.cjs +9 -3
  70. package/build/image/transforms.cjs.map +2 -2
  71. package/build/index.cjs +1 -3
  72. package/build/index.cjs.map +2 -2
  73. package/build/latest-posts/edit.cjs +1 -1
  74. package/build/latest-posts/edit.cjs.map +1 -1
  75. package/build/math/edit.cjs +1 -1
  76. package/build/math/index.cjs +1 -1
  77. package/build/math/index.cjs.map +1 -1
  78. package/build/media-text/constants.cjs +1 -1
  79. package/build/media-text/constants.cjs.map +2 -2
  80. package/build/media-text/index.cjs +1 -1
  81. package/build/media-text/index.cjs.map +2 -2
  82. package/build/missing/edit.cjs +2 -2
  83. package/build/missing/edit.cjs.map +1 -1
  84. package/build/navigation/edit/index.cjs +14 -8
  85. package/build/navigation/edit/index.cjs.map +2 -2
  86. package/build/navigation/edit/navigation-menu-selector.cjs +1 -1
  87. package/build/navigation/edit/navigation-menu-selector.cjs.map +2 -2
  88. package/build/navigation/edit/placeholder/index.cjs +1 -1
  89. package/build/navigation/edit/placeholder/index.cjs.map +2 -2
  90. package/build/navigation-link/edit.cjs +1 -1
  91. package/build/navigation-link/edit.cjs.map +2 -2
  92. package/build/navigation-submenu/block.json +7 -0
  93. package/build/navigation-submenu/edit.cjs +1 -1
  94. package/build/navigation-submenu/edit.cjs.map +2 -2
  95. package/build/page-list/block.json +2 -5
  96. package/build/page-list/edit.cjs +1 -11
  97. package/build/page-list/edit.cjs.map +2 -2
  98. package/build/post-author/edit.cjs +1 -1
  99. package/build/post-author/edit.cjs.map +2 -2
  100. package/build/post-author/utils.cjs +1 -1
  101. package/build/post-author/utils.cjs.map +2 -2
  102. package/build/post-date/edit.cjs +2 -2
  103. package/build/post-date/edit.cjs.map +2 -2
  104. package/build/post-excerpt/edit.cjs +2 -2
  105. package/build/post-excerpt/edit.cjs.map +2 -2
  106. package/build/post-featured-image/block.json +1 -0
  107. package/build/post-featured-image/dimension-controls.cjs +90 -178
  108. package/build/post-featured-image/dimension-controls.cjs.map +3 -3
  109. package/build/post-featured-image/edit.cjs +47 -17
  110. package/build/post-featured-image/edit.cjs.map +2 -2
  111. package/build/post-navigation-link/edit.cjs +2 -2
  112. package/build/post-navigation-link/edit.cjs.map +2 -2
  113. package/build/post-time-to-read/edit.cjs +1 -1
  114. package/build/post-time-to-read/edit.cjs.map +1 -1
  115. package/build/preformatted/edit.cjs +1 -1
  116. package/build/preformatted/edit.cjs.map +2 -2
  117. package/build/pullquote/block.json +1 -3
  118. package/build/pullquote/deprecated.cjs +114 -9
  119. package/build/pullquote/deprecated.cjs.map +3 -3
  120. package/build/pullquote/edit.cjs +43 -61
  121. package/build/pullquote/edit.cjs.map +3 -3
  122. package/build/pullquote/save.cjs +5 -26
  123. package/build/pullquote/save.cjs.map +3 -3
  124. package/build/query/edit/inspector-controls/enhanced-pagination-control.cjs +1 -1
  125. package/build/query/edit/inspector-controls/enhanced-pagination-control.cjs.map +1 -1
  126. package/build/query/edit/inspector-controls/order-control.cjs +2 -2
  127. package/build/query/edit/inspector-controls/order-control.cjs.map +2 -2
  128. package/build/query/utils.cjs +2 -2
  129. package/build/query/utils.cjs.map +2 -2
  130. package/build/query-pagination-next/edit.cjs +2 -2
  131. package/build/query-pagination-next/edit.cjs.map +1 -1
  132. package/build/query-pagination-previous/edit.cjs +2 -2
  133. package/build/query-pagination-previous/edit.cjs.map +1 -1
  134. package/build/query-title/edit.cjs +1 -1
  135. package/build/query-title/edit.cjs.map +2 -2
  136. package/build/query-total/edit.cjs +1 -1
  137. package/build/query-total/edit.cjs.map +2 -2
  138. package/build/quote/index.cjs +1 -1
  139. package/build/quote/index.cjs.map +2 -2
  140. package/build/read-more/edit.cjs +1 -1
  141. package/build/read-more/edit.cjs.map +2 -2
  142. package/build/rss/edit.cjs +1 -1
  143. package/build/rss/edit.cjs.map +2 -2
  144. package/build/search/edit.cjs +3 -3
  145. package/build/search/edit.cjs.map +2 -2
  146. package/build/shortcode/edit.cjs +1 -1
  147. package/build/shortcode/edit.cjs.map +2 -2
  148. package/build/site-tagline/edit.cjs +1 -1
  149. package/build/site-tagline/edit.cjs.map +2 -2
  150. package/build/site-title/edit.cjs +1 -1
  151. package/build/site-title/edit.cjs.map +2 -2
  152. package/build/tab-list/block.json +34 -21
  153. package/build/tab-list/edit.cjs +116 -12
  154. package/build/tab-list/edit.cjs.map +3 -3
  155. package/build/tab-list/save.cjs +33 -3
  156. package/build/tab-list/save.cjs.map +3 -3
  157. package/build/tab-panel/add-tab-toolbar-control.cjs +19 -8
  158. package/build/tab-panel/add-tab-toolbar-control.cjs.map +2 -2
  159. package/build/tab-panel/block.json +2 -6
  160. package/build/tab-panel/remove-tab-toolbar-control.cjs +9 -14
  161. package/build/tab-panel/remove-tab-toolbar-control.cjs.map +2 -2
  162. package/build/tab-panels/block.json +2 -27
  163. package/build/table/index.cjs +1 -1
  164. package/build/table/index.cjs.map +2 -2
  165. package/build/tabs/block.json +3 -17
  166. package/build/tabs/edit.cjs +7 -21
  167. package/build/tabs/edit.cjs.map +3 -3
  168. package/build/tabs/index.cjs +6 -10
  169. package/build/tabs/index.cjs.map +2 -2
  170. package/build/tabs/use-tab-list-items-sync.cjs +53 -0
  171. package/build/tabs/use-tab-list-items-sync.cjs.map +7 -0
  172. package/build/tabs/view.cjs +2 -10
  173. package/build/tabs/view.cjs.map +2 -2
  174. package/build/terms-query/edit/inspector-controls/order-control.cjs +2 -2
  175. package/build/terms-query/edit/inspector-controls/order-control.cjs.map +2 -2
  176. package/build/utils/style-state.cjs +164 -0
  177. package/build/utils/style-state.cjs.map +7 -0
  178. package/build/utils/waveform-player.cjs +1 -1
  179. package/build/verse/edit.cjs +1 -1
  180. package/build/verse/edit.cjs.map +2 -2
  181. package/build-module/breadcrumbs/edit.mjs +1 -1
  182. package/build-module/breadcrumbs/edit.mjs.map +1 -1
  183. package/build-module/button/edit.mjs +1 -1
  184. package/build-module/button/edit.mjs.map +2 -2
  185. package/build-module/categories/edit.mjs +1 -1
  186. package/build-module/categories/edit.mjs.map +1 -1
  187. package/build-module/code/edit.mjs +1 -1
  188. package/build-module/code/edit.mjs.map +2 -2
  189. package/build-module/code/index.mjs +1 -1
  190. package/build-module/code/index.mjs.map +1 -1
  191. package/build-module/columns/utils.mjs.map +1 -1
  192. package/build-module/comments/edit/comments-legacy.mjs +1 -1
  193. package/build-module/comments/edit/comments-legacy.mjs.map +1 -1
  194. package/build-module/comments/edit/placeholder.mjs +4 -4
  195. package/build-module/comments/edit/placeholder.mjs.map +1 -1
  196. package/build-module/comments-pagination-next/edit.mjs +2 -2
  197. package/build-module/comments-pagination-next/edit.mjs.map +1 -1
  198. package/build-module/comments-pagination-previous/edit.mjs +2 -2
  199. package/build-module/comments-pagination-previous/edit.mjs.map +1 -1
  200. package/build-module/cover/deprecated.mjs +3 -3
  201. package/build-module/cover/deprecated.mjs.map +2 -2
  202. package/build-module/cover/edit/block-controls.mjs +15 -2
  203. package/build-module/cover/edit/block-controls.mjs.map +2 -2
  204. package/build-module/cover/edit/index.mjs +64 -3
  205. package/build-module/cover/edit/index.mjs.map +2 -2
  206. package/build-module/cover/edit/inspector-controls.mjs +98 -35
  207. package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
  208. package/build-module/details/edit.mjs +1 -1
  209. package/build-module/details/edit.mjs.map +2 -2
  210. package/build-module/embed/embed-placeholder.mjs +1 -1
  211. package/build-module/embed/embed-placeholder.mjs.map +2 -2
  212. package/build-module/file/edit.mjs +5 -13
  213. package/build-module/file/edit.mjs.map +2 -2
  214. package/build-module/file/index.mjs +3 -1
  215. package/build-module/file/index.mjs.map +2 -2
  216. package/build-module/file/transforms.mjs +11 -32
  217. package/build-module/file/transforms.mjs.map +2 -2
  218. package/build-module/file/variations.mjs +17 -0
  219. package/build-module/file/variations.mjs.map +7 -0
  220. package/build-module/footnotes/edit.mjs +1 -1
  221. package/build-module/footnotes/edit.mjs.map +2 -2
  222. package/build-module/form-input/edit.mjs +1 -1
  223. package/build-module/form-input/edit.mjs.map +2 -2
  224. package/build-module/freeform/edit.mjs +1 -1
  225. package/build-module/freeform/edit.mjs.map +1 -1
  226. package/build-module/gallery/edit.mjs +2 -2
  227. package/build-module/gallery/edit.mjs.map +2 -2
  228. package/build-module/home-link/edit.mjs +1 -1
  229. package/build-module/home-link/edit.mjs.map +2 -2
  230. package/build-module/html/index.mjs +1 -1
  231. package/build-module/html/index.mjs.map +2 -2
  232. package/build-module/html/modal.mjs +3 -3
  233. package/build-module/html/modal.mjs.map +2 -2
  234. package/build-module/icon/block.json +12 -0
  235. package/build-module/icon/edit.mjs +94 -40
  236. package/build-module/icon/edit.mjs.map +2 -2
  237. package/build-module/icon/index.mjs +3 -1
  238. package/build-module/icon/index.mjs.map +2 -2
  239. package/build-module/icon/variations.mjs +13 -0
  240. package/build-module/icon/variations.mjs.map +7 -0
  241. package/build-module/image/block.json +1 -0
  242. package/build-module/image/edit.mjs +4 -3
  243. package/build-module/image/edit.mjs.map +2 -2
  244. package/build-module/image/image.mjs +96 -27
  245. package/build-module/image/image.mjs.map +2 -2
  246. package/build-module/image/index.mjs +1 -1
  247. package/build-module/image/index.mjs.map +2 -2
  248. package/build-module/image/transforms.mjs +9 -3
  249. package/build-module/image/transforms.mjs.map +2 -2
  250. package/build-module/index.mjs +1 -3
  251. package/build-module/index.mjs.map +2 -2
  252. package/build-module/latest-posts/edit.mjs +1 -1
  253. package/build-module/latest-posts/edit.mjs.map +1 -1
  254. package/build-module/math/edit.mjs +1 -1
  255. package/build-module/math/index.mjs +1 -1
  256. package/build-module/math/index.mjs.map +1 -1
  257. package/build-module/media-text/constants.mjs +1 -1
  258. package/build-module/media-text/constants.mjs.map +2 -2
  259. package/build-module/media-text/index.mjs +1 -1
  260. package/build-module/media-text/index.mjs.map +2 -2
  261. package/build-module/missing/edit.mjs +2 -2
  262. package/build-module/missing/edit.mjs.map +1 -1
  263. package/build-module/navigation/edit/index.mjs +14 -8
  264. package/build-module/navigation/edit/index.mjs.map +2 -2
  265. package/build-module/navigation/edit/navigation-menu-selector.mjs +1 -1
  266. package/build-module/navigation/edit/navigation-menu-selector.mjs.map +2 -2
  267. package/build-module/navigation/edit/placeholder/index.mjs +1 -1
  268. package/build-module/navigation/edit/placeholder/index.mjs.map +2 -2
  269. package/build-module/navigation-link/edit.mjs +1 -1
  270. package/build-module/navigation-link/edit.mjs.map +2 -2
  271. package/build-module/navigation-submenu/block.json +7 -0
  272. package/build-module/navigation-submenu/edit.mjs +1 -1
  273. package/build-module/navigation-submenu/edit.mjs.map +2 -2
  274. package/build-module/page-list/block.json +2 -5
  275. package/build-module/page-list/edit.mjs +1 -11
  276. package/build-module/page-list/edit.mjs.map +2 -2
  277. package/build-module/post-author/edit.mjs +1 -1
  278. package/build-module/post-author/edit.mjs.map +2 -2
  279. package/build-module/post-author/utils.mjs +1 -1
  280. package/build-module/post-author/utils.mjs.map +2 -2
  281. package/build-module/post-date/edit.mjs +2 -2
  282. package/build-module/post-date/edit.mjs.map +2 -2
  283. package/build-module/post-excerpt/edit.mjs +2 -2
  284. package/build-module/post-excerpt/edit.mjs.map +2 -2
  285. package/build-module/post-featured-image/block.json +1 -0
  286. package/build-module/post-featured-image/dimension-controls.mjs +99 -187
  287. package/build-module/post-featured-image/dimension-controls.mjs.map +2 -2
  288. package/build-module/post-featured-image/edit.mjs +47 -17
  289. package/build-module/post-featured-image/edit.mjs.map +2 -2
  290. package/build-module/post-navigation-link/edit.mjs +2 -2
  291. package/build-module/post-navigation-link/edit.mjs.map +2 -2
  292. package/build-module/post-time-to-read/edit.mjs +1 -1
  293. package/build-module/post-time-to-read/edit.mjs.map +1 -1
  294. package/build-module/preformatted/edit.mjs +1 -1
  295. package/build-module/preformatted/edit.mjs.map +2 -2
  296. package/build-module/pullquote/block.json +1 -3
  297. package/build-module/pullquote/deprecated.mjs +114 -9
  298. package/build-module/pullquote/deprecated.mjs.map +2 -2
  299. package/build-module/pullquote/edit.mjs +44 -67
  300. package/build-module/pullquote/edit.mjs.map +2 -2
  301. package/build-module/pullquote/save.mjs +5 -16
  302. package/build-module/pullquote/save.mjs.map +2 -2
  303. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.mjs +1 -1
  304. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.mjs.map +1 -1
  305. package/build-module/query/edit/inspector-controls/order-control.mjs +2 -2
  306. package/build-module/query/edit/inspector-controls/order-control.mjs.map +2 -2
  307. package/build-module/query/utils.mjs +2 -2
  308. package/build-module/query/utils.mjs.map +2 -2
  309. package/build-module/query-pagination-next/edit.mjs +2 -2
  310. package/build-module/query-pagination-next/edit.mjs.map +1 -1
  311. package/build-module/query-pagination-previous/edit.mjs +2 -2
  312. package/build-module/query-pagination-previous/edit.mjs.map +1 -1
  313. package/build-module/query-title/edit.mjs +1 -1
  314. package/build-module/query-title/edit.mjs.map +2 -2
  315. package/build-module/query-total/edit.mjs +1 -1
  316. package/build-module/query-total/edit.mjs.map +2 -2
  317. package/build-module/quote/index.mjs +1 -1
  318. package/build-module/quote/index.mjs.map +2 -2
  319. package/build-module/read-more/edit.mjs +1 -1
  320. package/build-module/read-more/edit.mjs.map +2 -2
  321. package/build-module/rss/edit.mjs +1 -1
  322. package/build-module/rss/edit.mjs.map +2 -2
  323. package/build-module/search/edit.mjs +3 -3
  324. package/build-module/search/edit.mjs.map +2 -2
  325. package/build-module/shortcode/edit.mjs +1 -1
  326. package/build-module/shortcode/edit.mjs.map +2 -2
  327. package/build-module/site-tagline/edit.mjs +1 -1
  328. package/build-module/site-tagline/edit.mjs.map +2 -2
  329. package/build-module/site-title/edit.mjs +1 -1
  330. package/build-module/site-title/edit.mjs.map +2 -2
  331. package/build-module/tab-list/block.json +34 -21
  332. package/build-module/tab-list/edit.mjs +122 -15
  333. package/build-module/tab-list/edit.mjs.map +2 -2
  334. package/build-module/tab-list/save.mjs +29 -4
  335. package/build-module/tab-list/save.mjs.map +2 -2
  336. package/build-module/tab-panel/add-tab-toolbar-control.mjs +19 -8
  337. package/build-module/tab-panel/add-tab-toolbar-control.mjs.map +2 -2
  338. package/build-module/tab-panel/block.json +2 -6
  339. package/build-module/tab-panel/remove-tab-toolbar-control.mjs +9 -14
  340. package/build-module/tab-panel/remove-tab-toolbar-control.mjs.map +2 -2
  341. package/build-module/tab-panels/block.json +2 -27
  342. package/build-module/table/index.mjs +1 -1
  343. package/build-module/table/index.mjs.map +2 -2
  344. package/build-module/tabs/block.json +3 -17
  345. package/build-module/tabs/edit.mjs +7 -21
  346. package/build-module/tabs/edit.mjs.map +2 -2
  347. package/build-module/tabs/index.mjs +6 -10
  348. package/build-module/tabs/index.mjs.map +2 -2
  349. package/build-module/tabs/use-tab-list-items-sync.mjs +32 -0
  350. package/build-module/tabs/use-tab-list-items-sync.mjs.map +7 -0
  351. package/build-module/tabs/view.mjs +2 -10
  352. package/build-module/tabs/view.mjs.map +2 -2
  353. package/build-module/terms-query/edit/inspector-controls/order-control.mjs +2 -2
  354. package/build-module/terms-query/edit/inspector-controls/order-control.mjs.map +2 -2
  355. package/build-module/utils/style-state.mjs +132 -0
  356. package/build-module/utils/style-state.mjs.map +7 -0
  357. package/build-module/utils/waveform-player.mjs +1 -1
  358. package/build-module/verse/edit.mjs +1 -1
  359. package/build-module/verse/edit.mjs.map +2 -2
  360. package/build-style/editor-rtl.css +12 -16
  361. package/build-style/editor.css +12 -16
  362. package/build-style/icon/style-rtl.css +9 -0
  363. package/build-style/icon/style.css +9 -0
  364. package/build-style/style-rtl.css +11 -24
  365. package/build-style/style.css +11 -24
  366. package/build-style/tab-list/editor-rtl.css +12 -4
  367. package/build-style/tab-list/editor.css +12 -4
  368. package/build-style/{tab → tab-list}/style-rtl.css +2 -2
  369. package/build-style/{tab → tab-list}/style.css +2 -2
  370. package/build-style/tab-panel/style-rtl.css +0 -17
  371. package/build-style/tab-panel/style.css +0 -17
  372. package/package.json +48 -45
  373. package/src/avatar/index.php +2 -2
  374. package/src/block/index.php +2 -26
  375. package/src/comment-author-avatar/index.php +3 -3
  376. package/src/comment-author-name/index.php +1 -1
  377. package/src/comment-date/index.php +1 -1
  378. package/src/cover/edit/block-controls.js +14 -2
  379. package/src/cover/edit/index.js +86 -0
  380. package/src/cover/edit/inspector-controls.js +124 -54
  381. package/src/editor.scss +0 -1
  382. package/src/file/edit.js +3 -16
  383. package/src/file/index.js +2 -0
  384. package/src/file/transforms.js +12 -31
  385. package/src/file/variations.js +17 -0
  386. package/src/gallery/edit.js +13 -13
  387. package/src/icon/README.md +3 -0
  388. package/src/icon/block.json +12 -0
  389. package/src/icon/edit.js +86 -36
  390. package/src/icon/index.js +3 -1
  391. package/src/icon/index.php +23 -0
  392. package/src/icon/style.scss +12 -0
  393. package/src/icon/variations.js +9 -0
  394. package/src/image/README.md +1 -0
  395. package/src/image/block.json +1 -0
  396. package/src/image/edit.js +8 -3
  397. package/src/image/image.js +120 -54
  398. package/src/image/index.php +0 -1
  399. package/src/image/transforms.js +34 -8
  400. package/src/index.js +4 -11
  401. package/src/navigation/edit/index.js +23 -10
  402. package/src/navigation/index.php +58 -0
  403. package/src/navigation-submenu/README.md +5 -0
  404. package/src/navigation-submenu/block.json +7 -0
  405. package/src/page-list/README.md +1 -1
  406. package/src/page-list/block.json +2 -5
  407. package/src/page-list/edit.js +0 -11
  408. package/src/page-list/index.php +1 -1
  409. package/src/post-date/edit.js +2 -2
  410. package/src/post-featured-image/README.md +1 -0
  411. package/src/post-featured-image/block.json +1 -0
  412. package/src/post-featured-image/dimension-controls.js +105 -184
  413. package/src/post-featured-image/edit.js +53 -21
  414. package/src/post-featured-image/index.php +24 -22
  415. package/src/pullquote/README.md +1 -1
  416. package/src/pullquote/block.json +1 -3
  417. package/src/pullquote/deprecated.js +121 -9
  418. package/src/pullquote/edit.js +7 -31
  419. package/src/pullquote/save.js +2 -13
  420. package/src/search/index.php +1 -1
  421. package/src/style.scss +1 -2
  422. package/src/tab-list/README.md +19 -17
  423. package/src/tab-list/block.json +34 -21
  424. package/src/tab-list/edit.js +147 -15
  425. package/src/tab-list/editor.scss +13 -6
  426. package/src/tab-list/index.php +23 -30
  427. package/src/tab-list/save.js +39 -4
  428. package/src/{tab → tab-list}/style.scss +1 -1
  429. package/src/tab-panel/README.md +0 -3
  430. package/src/tab-panel/add-tab-toolbar-control.js +24 -11
  431. package/src/tab-panel/block.json +2 -6
  432. package/src/tab-panel/remove-tab-toolbar-control.js +10 -14
  433. package/src/tab-panel/style.scss +0 -17
  434. package/src/tab-panels/README.md +0 -16
  435. package/src/tab-panels/block.json +2 -27
  436. package/src/tabs/README.md +1 -7
  437. package/src/tabs/block.json +3 -17
  438. package/src/tabs/edit.js +8 -19
  439. package/src/tabs/index.js +6 -10
  440. package/src/tabs/index.php +0 -13
  441. package/src/tabs/use-tab-list-items-sync.js +49 -0
  442. package/src/tabs/view.js +2 -10
  443. package/src/utils/style-state.js +151 -0
  444. package/src/utils/test/style-state.js +307 -0
  445. package/babel-plugin.cjs +0 -150
  446. package/build/tab/block.json +0 -56
  447. package/build/tab/controls.cjs +0 -46
  448. package/build/tab/controls.cjs.map +0 -7
  449. package/build/tab/edit.cjs +0 -135
  450. package/build/tab/edit.cjs.map +0 -7
  451. package/build/tab/index.cjs +0 -58
  452. package/build/tab/index.cjs.map +0 -7
  453. package/build/tab/save.cjs.map +0 -7
  454. package/build/tabs/use-tab-list-sync.cjs +0 -190
  455. package/build/tabs/use-tab-list-sync.cjs.map +0 -7
  456. package/build-module/tab/block.json +0 -56
  457. package/build-module/tab/controls.mjs +0 -15
  458. package/build-module/tab/controls.mjs.map +0 -7
  459. package/build-module/tab/edit.mjs +0 -108
  460. package/build-module/tab/edit.mjs.map +0 -7
  461. package/build-module/tab/index.mjs +0 -20
  462. package/build-module/tab/index.mjs.map +0 -7
  463. package/build-module/tab/save.mjs +0 -14
  464. package/build-module/tab/save.mjs.map +0 -7
  465. package/build-module/tabs/use-tab-list-sync.mjs +0 -169
  466. package/build-module/tabs/use-tab-list-sync.mjs.map +0 -7
  467. package/build-style/tab/editor-rtl.css +0 -11
  468. package/build-style/tab/editor.css +0 -11
  469. package/build-style/tab-panels/style-rtl.css +0 -4
  470. package/build-style/tab-panels/style.css +0 -4
  471. package/src/tab/README.md +0 -69
  472. package/src/tab/block.json +0 -56
  473. package/src/tab/controls.js +0 -19
  474. package/src/tab/edit.js +0 -141
  475. package/src/tab/editor.scss +0 -14
  476. package/src/tab/index.js +0 -24
  477. package/src/tab/index.php +0 -70
  478. package/src/tab/save.js +0 -13
  479. package/src/tab-panels/style.scss +0 -4
  480. package/src/tabs/use-tab-list-sync.js +0 -237
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/cover/deprecated.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tRichText,\n\tgetColorClassName,\n\tInnerBlocks,\n\t__experimentalGetGradientClass,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tgetPositionClassName,\n\tisContentPositionCenter,\n\tdimRatioToClass,\n\tmediaPosition,\n} from './shared';\n\nfunction backgroundImageStyles( url ) {\n\treturn url ? { backgroundImage: `url(${ url })` } : {};\n}\n\n/**\n * Original function to determine the background opacity classname\n *\n * Used in deprecations: v1-7.\n *\n * @param {number} ratio ratio to use for opacity.\n * @return {string} background opacity class .\n */\nfunction dimRatioToClassV1( ratio ) {\n\treturn ratio === 0 || ratio === 50 || ! ratio\n\t\t? null\n\t\t: 'has-background-dim-' + 10 * Math.round( ratio / 10 );\n}\n\nfunction migrateDimRatio( attributes ) {\n\treturn {\n\t\t...attributes,\n\t\tdimRatio: ! attributes.url ? 100 : attributes.dimRatio,\n\t};\n}\n\nfunction migrateTag( attributes ) {\n\tif ( ! attributes.tagName ) {\n\t\tattributes = {\n\t\t\t...attributes,\n\t\t\ttagName: 'div',\n\t\t};\n\t}\n\treturn {\n\t\t...attributes,\n\t};\n}\n\nconst blockAttributes = {\n\turl: {\n\t\ttype: 'string',\n\t},\n\tid: {\n\t\ttype: 'number',\n\t},\n\thasParallax: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n\tdimRatio: {\n\t\ttype: 'number',\n\t\tdefault: 50,\n\t},\n\toverlayColor: {\n\t\ttype: 'string',\n\t},\n\tcustomOverlayColor: {\n\t\ttype: 'string',\n\t},\n\tbackgroundType: {\n\t\ttype: 'string',\n\t\tdefault: 'image',\n\t},\n\tfocalPoint: {\n\t\ttype: 'object',\n\t},\n};\n\nconst v8ToV11BlockAttributes = {\n\turl: {\n\t\ttype: 'string',\n\t},\n\tid: {\n\t\ttype: 'number',\n\t},\n\talt: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'img',\n\t\tattribute: 'alt',\n\t\tdefault: '',\n\t},\n\thasParallax: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n\tisRepeated: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n\tdimRatio: {\n\t\ttype: 'number',\n\t\tdefault: 100,\n\t},\n\toverlayColor: {\n\t\ttype: 'string',\n\t},\n\tcustomOverlayColor: {\n\t\ttype: 'string',\n\t},\n\tbackgroundType: {\n\t\ttype: 'string',\n\t\tdefault: 'image',\n\t},\n\tfocalPoint: {\n\t\ttype: 'object',\n\t},\n\tminHeight: {\n\t\ttype: 'number',\n\t},\n\tminHeightUnit: {\n\t\ttype: 'string',\n\t},\n\tgradient: {\n\t\ttype: 'string',\n\t},\n\tcustomGradient: {\n\t\ttype: 'string',\n\t},\n\tcontentPosition: {\n\t\ttype: 'string',\n\t},\n\tisDark: {\n\t\ttype: 'boolean',\n\t\tdefault: true,\n\t},\n\tallowedBlocks: {\n\t\ttype: 'array',\n\t},\n\ttemplateLock: {\n\t\ttype: [ 'string', 'boolean' ],\n\t\tenum: [ 'all', 'insert', false ],\n\t},\n};\n\nconst v12toV13BlockAttributes = {\n\t...v8ToV11BlockAttributes,\n\tuseFeaturedImage: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n\ttagName: {\n\t\ttype: 'string',\n\t\tdefault: 'div',\n\t},\n};\n\nconst v14BlockAttributes = {\n\t...v12toV13BlockAttributes,\n\tisUserOverlayColor: {\n\t\ttype: 'boolean',\n\t},\n\tsizeSlug: {\n\t\ttype: 'string',\n\t},\n\talt: {\n\t\ttype: 'string',\n\t\tdefault: '',\n\t},\n};\n\nconst v7toV11BlockSupports = {\n\tanchor: true,\n\talign: true,\n\thtml: false,\n\tspacing: {\n\t\tpadding: true,\n\t\t__experimentalDefaultControls: {\n\t\t\tpadding: true,\n\t\t},\n\t},\n\tcolor: {\n\t\t__experimentalDuotone:\n\t\t\t'> .wp-block-cover__image-background, > .wp-block-cover__video-background',\n\t\ttext: false,\n\t\tbackground: false,\n\t},\n};\n\nconst v12BlockSupports = {\n\t...v7toV11BlockSupports,\n\tspacing: {\n\t\tpadding: true,\n\t\tmargin: [ 'top', 'bottom' ],\n\t\tblockGap: true,\n\t\t__experimentalDefaultControls: {\n\t\t\tpadding: true,\n\t\t\tblockGap: true,\n\t\t},\n\t},\n\t__experimentalBorder: {\n\t\tcolor: true,\n\t\tradius: true,\n\t\tstyle: true,\n\t\twidth: true,\n\t\t__experimentalDefaultControls: {\n\t\t\tcolor: true,\n\t\t\tradius: true,\n\t\t\tstyle: true,\n\t\t\twidth: true,\n\t\t},\n\t},\n\tcolor: {\n\t\t__experimentalDuotone:\n\t\t\t'> .wp-block-cover__image-background, > .wp-block-cover__video-background',\n\t\theading: true,\n\t\ttext: true,\n\t\tbackground: false,\n\t\t__experimentalSkipSerialization: [ 'gradients' ],\n\t\tenableContrastChecker: false,\n\t},\n\ttypography: {\n\t\tfontSize: true,\n\t\tlineHeight: true,\n\t\t__experimentalFontFamily: true,\n\t\t__experimentalFontWeight: true,\n\t\t__experimentalFontStyle: true,\n\t\t__experimentalTextTransform: true,\n\t\t__experimentalTextDecoration: true,\n\t\t__experimentalLetterSpacing: true,\n\t\t__experimentalDefaultControls: {\n\t\t\tfontSize: true,\n\t\t},\n\t},\n\tlayout: {\n\t\tallowJustification: false,\n\t},\n};\n\nconst v14BlockSupports = {\n\t...v12BlockSupports,\n\tshadow: true,\n\tdimensions: {\n\t\taspectRatio: true,\n\t},\n\tinteractivity: {\n\t\tclientNavigation: true,\n\t},\n};\n\n// Deprecation for blocks that have z-index.\nconst v14 = {\n\tattributes: v14BlockAttributes,\n\tsupports: v14BlockSupports,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundType,\n\t\t\tgradient,\n\t\t\tcontentPosition,\n\t\t\tcustomGradient,\n\t\t\tcustomOverlayColor,\n\t\t\tdimRatio,\n\t\t\tfocalPoint,\n\t\t\tuseFeaturedImage,\n\t\t\thasParallax,\n\t\t\tisDark,\n\t\t\tisRepeated,\n\t\t\toverlayColor,\n\t\t\turl,\n\t\t\talt,\n\t\t\tid,\n\t\t\tminHeight: minHeightProp,\n\t\t\tminHeightUnit,\n\t\t\ttagName: Tag,\n\t\t\tsizeSlug,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\t\tconst minHeight =\n\t\t\tminHeightProp && minHeightUnit\n\t\t\t\t? `${ minHeightProp }${ minHeightUnit }`\n\t\t\t\t: minHeightProp;\n\n\t\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\t\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\t\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\t\tconst style = {\n\t\t\tminHeight: minHeight || undefined,\n\t\t};\n\n\t\tconst bgStyle = {\n\t\t\tbackgroundColor: ! overlayColorClass\n\t\t\t\t? customOverlayColor\n\t\t\t\t: undefined,\n\t\t\tbackground: customGradient ? customGradient : undefined,\n\t\t};\n\n\t\tconst objectPosition =\n\t\t\t// prettier-ignore\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t ? mediaPosition(focalPoint)\n\t\t\t\t : undefined;\n\n\t\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\t\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\t\tconst classes = clsx(\n\t\t\t{\n\t\t\t\t'is-light': ! isDark,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t\t'has-custom-content-position':\n\t\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t\t},\n\t\t\tgetPositionClassName( contentPosition )\n\t\t);\n\n\t\tconst imgClasses = clsx(\n\t\t\t'wp-block-cover__image-background',\n\t\t\tid ? `wp-image-${ id }` : null,\n\t\t\t{\n\t\t\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t}\n\t\t);\n\n\t\tconst gradientValue = gradient || customGradient;\n\n\t\treturn (\n\t\t\t<Tag { ...useBlockProps.save( { className: classes, style } ) }>\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\toverlayColorClass,\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ bgStyle }\n\t\t\t\t/>\n\n\t\t\t\t{ ! useFeaturedImage &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\turl &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclassName={ imgClasses }\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\trole={ alt ? 'img' : undefined }\n\t\t\t\t\t\t\taria-label={ alt ? alt : undefined }\n\t\t\t\t\t\t\tclassName={ imgClasses }\n\t\t\t\t\t\t\tstyle={ { backgroundPosition, backgroundImage } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ isVideoBackground && url && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__video-background',\n\t\t\t\t\t\t\t'intrinsic-ignore'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tplaysInline\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</Tag>\n\t\t);\n\t},\n};\n\n// Deprecation for blocks that does not have the aria-label when the image background is fixed or repeated.\nconst v13 = {\n\tattributes: v12toV13BlockAttributes,\n\tsupports: v12BlockSupports,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundType,\n\t\t\tgradient,\n\t\t\tcontentPosition,\n\t\t\tcustomGradient,\n\t\t\tcustomOverlayColor,\n\t\t\tdimRatio,\n\t\t\tfocalPoint,\n\t\t\tuseFeaturedImage,\n\t\t\thasParallax,\n\t\t\tisDark,\n\t\t\tisRepeated,\n\t\t\toverlayColor,\n\t\t\turl,\n\t\t\talt,\n\t\t\tid,\n\t\t\tminHeight: minHeightProp,\n\t\t\tminHeightUnit,\n\t\t\ttagName: Tag,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\t\tconst minHeight =\n\t\t\tminHeightProp && minHeightUnit\n\t\t\t\t? `${ minHeightProp }${ minHeightUnit }`\n\t\t\t\t: minHeightProp;\n\n\t\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\t\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\t\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\t\tconst style = {\n\t\t\tminHeight: minHeight || undefined,\n\t\t};\n\n\t\tconst bgStyle = {\n\t\t\tbackgroundColor: ! overlayColorClass\n\t\t\t\t? customOverlayColor\n\t\t\t\t: undefined,\n\t\t\tbackground: customGradient ? customGradient : undefined,\n\t\t};\n\n\t\tconst objectPosition =\n\t\t\t// prettier-ignore\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t\t ? mediaPosition(focalPoint)\n\t\t\t\t\t : undefined;\n\n\t\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\t\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\t\tconst classes = clsx(\n\t\t\t{\n\t\t\t\t'is-light': ! isDark,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t\t'has-custom-content-position':\n\t\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t\t},\n\t\t\tgetPositionClassName( contentPosition )\n\t\t);\n\n\t\tconst imgClasses = clsx(\n\t\t\t'wp-block-cover__image-background',\n\t\t\tid ? `wp-image-${ id }` : null,\n\t\t\t{\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t}\n\t\t);\n\n\t\tconst gradientValue = gradient || customGradient;\n\n\t\treturn (\n\t\t\t<Tag { ...useBlockProps.save( { className: classes, style } ) }>\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\toverlayColorClass,\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ bgStyle }\n\t\t\t\t/>\n\n\t\t\t\t{ ! useFeaturedImage &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\turl &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclassName={ imgClasses }\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\tclassName={ imgClasses }\n\t\t\t\t\t\t\tstyle={ { backgroundPosition, backgroundImage } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ isVideoBackground && url && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__video-background',\n\t\t\t\t\t\t\t'intrinsic-ignore'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tplaysInline\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</Tag>\n\t\t);\n\t},\n};\n\n// Deprecation for blocks to prevent auto overlay color from overriding previously set values.\nconst v12 = {\n\tattributes: v12toV13BlockAttributes,\n\tsupports: v12BlockSupports,\n\tisEligible( attributes ) {\n\t\treturn (\n\t\t\t( attributes.customOverlayColor !== undefined ||\n\t\t\t\tattributes.overlayColor !== undefined ) &&\n\t\t\tattributes.isUserOverlayColor === undefined\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tisUserOverlayColor: true,\n\t\t};\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundType,\n\t\t\tgradient,\n\t\t\tcontentPosition,\n\t\t\tcustomGradient,\n\t\t\tcustomOverlayColor,\n\t\t\tdimRatio,\n\t\t\tfocalPoint,\n\t\t\tuseFeaturedImage,\n\t\t\thasParallax,\n\t\t\tisDark,\n\t\t\tisRepeated,\n\t\t\toverlayColor,\n\t\t\turl,\n\t\t\talt,\n\t\t\tid,\n\t\t\tminHeight: minHeightProp,\n\t\t\tminHeightUnit,\n\t\t\ttagName: Tag,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\t\tconst minHeight =\n\t\t\tminHeightProp && minHeightUnit\n\t\t\t\t? `${ minHeightProp }${ minHeightUnit }`\n\t\t\t\t: minHeightProp;\n\n\t\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\t\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\t\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\t\tconst style = {\n\t\t\tminHeight: minHeight || undefined,\n\t\t};\n\n\t\tconst bgStyle = {\n\t\t\tbackgroundColor: ! overlayColorClass\n\t\t\t\t? customOverlayColor\n\t\t\t\t: undefined,\n\t\t\tbackground: customGradient ? customGradient : undefined,\n\t\t};\n\n\t\tconst objectPosition =\n\t\t\t// prettier-ignore\n\t\t\tfocalPoint && isImgElement\n\t\t\t ? mediaPosition(focalPoint)\n\t\t\t : undefined;\n\n\t\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\t\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\t\tconst classes = clsx(\n\t\t\t{\n\t\t\t\t'is-light': ! isDark,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t\t'has-custom-content-position':\n\t\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t\t},\n\t\t\tgetPositionClassName( contentPosition )\n\t\t);\n\n\t\tconst imgClasses = clsx(\n\t\t\t'wp-block-cover__image-background',\n\t\t\tid ? `wp-image-${ id }` : null,\n\t\t\t{\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t}\n\t\t);\n\n\t\tconst gradientValue = gradient || customGradient;\n\n\t\treturn (\n\t\t\t<Tag { ...useBlockProps.save( { className: classes, style } ) }>\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\toverlayColorClass,\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ bgStyle }\n\t\t\t\t/>\n\n\t\t\t\t{ ! useFeaturedImage &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\turl &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclassName={ imgClasses }\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\tclassName={ imgClasses }\n\t\t\t\t\t\t\tstyle={ { backgroundPosition, backgroundImage } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ isVideoBackground && url && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__video-background',\n\t\t\t\t\t\t\t'intrinsic-ignore'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tplaysInline\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</Tag>\n\t\t);\n\t},\n};\n\n// Deprecation for blocks that does not have a HTML tag option.\nconst v11 = {\n\tattributes: v8ToV11BlockAttributes,\n\tsupports: v7toV11BlockSupports,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundType,\n\t\t\tgradient,\n\t\t\tcontentPosition,\n\t\t\tcustomGradient,\n\t\t\tcustomOverlayColor,\n\t\t\tdimRatio,\n\t\t\tfocalPoint,\n\t\t\tuseFeaturedImage,\n\t\t\thasParallax,\n\t\t\tisDark,\n\t\t\tisRepeated,\n\t\t\toverlayColor,\n\t\t\turl,\n\t\t\talt,\n\t\t\tid,\n\t\t\tminHeight: minHeightProp,\n\t\t\tminHeightUnit,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\t\tconst minHeight =\n\t\t\tminHeightProp && minHeightUnit\n\t\t\t\t? `${ minHeightProp }${ minHeightUnit }`\n\t\t\t\t: minHeightProp;\n\n\t\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\t\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\t\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\t\tconst style = {\n\t\t\tminHeight: minHeight || undefined,\n\t\t};\n\n\t\tconst bgStyle = {\n\t\t\tbackgroundColor: ! overlayColorClass\n\t\t\t\t? customOverlayColor\n\t\t\t\t: undefined,\n\t\t\tbackground: customGradient ? customGradient : undefined,\n\t\t};\n\n\t\tconst objectPosition =\n\t\t\t// prettier-ignore\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t ? mediaPosition(focalPoint)\n\t\t\t\t : undefined;\n\n\t\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\t\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\t\tconst classes = clsx(\n\t\t\t{\n\t\t\t\t'is-light': ! isDark,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t\t'has-custom-content-position':\n\t\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t\t},\n\t\t\tgetPositionClassName( contentPosition )\n\t\t);\n\n\t\tconst imgClasses = clsx(\n\t\t\t'wp-block-cover__image-background',\n\t\t\tid ? `wp-image-${ id }` : null,\n\t\t\t{\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t}\n\t\t);\n\n\t\tconst gradientValue = gradient || customGradient;\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className: classes, style } ) }>\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\toverlayColorClass,\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ bgStyle }\n\t\t\t\t/>\n\n\t\t\t\t{ ! useFeaturedImage &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\turl &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclassName={ imgClasses }\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\tclassName={ imgClasses }\n\t\t\t\t\t\t\tstyle={ { backgroundPosition, backgroundImage } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ isVideoBackground && url && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__video-background',\n\t\t\t\t\t\t\t'intrinsic-ignore'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tplaysInline\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: migrateTag,\n};\n\n// Deprecation for blocks that renders fixed background as background from the main block container.\nconst v10 = {\n\tattributes: v8ToV11BlockAttributes,\n\tsupports: v7toV11BlockSupports,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundType,\n\t\t\tgradient,\n\t\t\tcontentPosition,\n\t\t\tcustomGradient,\n\t\t\tcustomOverlayColor,\n\t\t\tdimRatio,\n\t\t\tfocalPoint,\n\t\t\tuseFeaturedImage,\n\t\t\thasParallax,\n\t\t\tisDark,\n\t\t\tisRepeated,\n\t\t\toverlayColor,\n\t\t\turl,\n\t\t\talt,\n\t\t\tid,\n\t\t\tminHeight: minHeightProp,\n\t\t\tminHeightUnit,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\t\tconst minHeight =\n\t\t\tminHeightProp && minHeightUnit\n\t\t\t\t? `${ minHeightProp }${ minHeightUnit }`\n\t\t\t\t: minHeightProp;\n\n\t\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\t\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\t\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\t\tconst style = {\n\t\t\t...( isImageBackground && ! isImgElement && ! useFeaturedImage\n\t\t\t\t? backgroundImageStyles( url )\n\t\t\t\t: {} ),\n\t\t\tminHeight: minHeight || undefined,\n\t\t};\n\n\t\tconst bgStyle = {\n\t\t\tbackgroundColor: ! overlayColorClass\n\t\t\t\t? customOverlayColor\n\t\t\t\t: undefined,\n\t\t\tbackground: customGradient ? customGradient : undefined,\n\t\t};\n\n\t\tconst objectPosition =\n\t\t\t// prettier-ignore\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t ? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round( focalPoint.y * 100 ) }%`\n\t\t\t\t : undefined;\n\n\t\tconst classes = clsx(\n\t\t\t{\n\t\t\t\t'is-light': ! isDark,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t\t'has-custom-content-position':\n\t\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t\t},\n\t\t\tgetPositionClassName( contentPosition )\n\t\t);\n\n\t\tconst gradientValue = gradient || customGradient;\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className: classes, style } ) }>\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\toverlayColorClass,\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ bgStyle }\n\t\t\t\t/>\n\n\t\t\t\t{ ! useFeaturedImage &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\tisImgElement &&\n\t\t\t\t\turl && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'wp-block-cover__image-background',\n\t\t\t\t\t\t\t\tid ? `wp-image-${ id }` : null\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t{ isVideoBackground && url && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__video-background',\n\t\t\t\t\t\t\t'intrinsic-ignore'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tplaysInline\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: migrateTag,\n};\n\n// Deprecation for blocks with `minHeightUnit` set but no `minHeight`.\nconst v9 = {\n\tattributes: v8ToV11BlockAttributes,\n\tsupports: v7toV11BlockSupports,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundType,\n\t\t\tgradient,\n\t\t\tcontentPosition,\n\t\t\tcustomGradient,\n\t\t\tcustomOverlayColor,\n\t\t\tdimRatio,\n\t\t\tfocalPoint,\n\t\t\thasParallax,\n\t\t\tisDark,\n\t\t\tisRepeated,\n\t\t\toverlayColor,\n\t\t\turl,\n\t\t\talt,\n\t\t\tid,\n\t\t\tminHeight: minHeightProp,\n\t\t\tminHeightUnit,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\t\tconst minHeight = minHeightUnit\n\t\t\t? `${ minHeightProp }${ minHeightUnit }`\n\t\t\t: minHeightProp;\n\n\t\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\t\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\t\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\t\tconst style = {\n\t\t\t...( isImageBackground && ! isImgElement\n\t\t\t\t? backgroundImageStyles( url )\n\t\t\t\t: {} ),\n\t\t\tminHeight: minHeight || undefined,\n\t\t};\n\n\t\tconst bgStyle = {\n\t\t\tbackgroundColor: ! overlayColorClass\n\t\t\t\t? customOverlayColor\n\t\t\t\t: undefined,\n\t\t\tbackground: customGradient ? customGradient : undefined,\n\t\t};\n\n\t\tconst objectPosition =\n\t\t\t// prettier-ignore\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t ? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round( focalPoint.y * 100 ) }%`\n\t\t\t\t : undefined;\n\n\t\tconst classes = clsx(\n\t\t\t{\n\t\t\t\t'is-light': ! isDark,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t\t'has-custom-content-position':\n\t\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t\t},\n\t\t\tgetPositionClassName( contentPosition )\n\t\t);\n\n\t\tconst gradientValue = gradient || customGradient;\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className: classes, style } ) }>\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\toverlayColorClass,\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ bgStyle }\n\t\t\t\t/>\n\n\t\t\t\t{ isImageBackground && isImgElement && url && (\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__image-background',\n\t\t\t\t\t\t\tid ? `wp-image-${ id }` : null\n\t\t\t\t\t\t) }\n\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isVideoBackground && url && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__video-background',\n\t\t\t\t\t\t\t'intrinsic-ignore'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tplaysInline\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: migrateTag,\n};\n\n// v8: deprecated to remove duplicated gradient classes and swap `wp-block-cover__gradient-background` for `wp-block-cover__background`.\nconst v8 = {\n\tattributes: v8ToV11BlockAttributes,\n\tsupports: v7toV11BlockSupports,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundType,\n\t\t\tgradient,\n\t\t\tcontentPosition,\n\t\t\tcustomGradient,\n\t\t\tcustomOverlayColor,\n\t\t\tdimRatio,\n\t\t\tfocalPoint,\n\t\t\thasParallax,\n\t\t\tisDark,\n\t\t\tisRepeated,\n\t\t\toverlayColor,\n\t\t\turl,\n\t\t\talt,\n\t\t\tid,\n\t\t\tminHeight: minHeightProp,\n\t\t\tminHeightUnit,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\t\tconst minHeight = minHeightUnit\n\t\t\t? `${ minHeightProp }${ minHeightUnit }`\n\t\t\t: minHeightProp;\n\n\t\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\t\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\t\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\t\tconst style = {\n\t\t\t...( isImageBackground && ! isImgElement\n\t\t\t\t? backgroundImageStyles( url )\n\t\t\t\t: {} ),\n\t\t\tminHeight: minHeight || undefined,\n\t\t};\n\n\t\tconst bgStyle = {\n\t\t\tbackgroundColor: ! overlayColorClass\n\t\t\t\t? customOverlayColor\n\t\t\t\t: undefined,\n\t\t\tbackground: customGradient ? customGradient : undefined,\n\t\t};\n\n\t\tconst objectPosition =\n\t\t\t// prettier-ignore\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t ? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round( focalPoint.y * 100 ) }%`\n\t\t\t\t : undefined;\n\n\t\tconst classes = clsx(\n\t\t\t{\n\t\t\t\t'is-light': ! isDark,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t\t'has-custom-content-position':\n\t\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t\t},\n\t\t\tgetPositionClassName( contentPosition )\n\t\t);\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className: classes, style } ) }>\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\toverlayColorClass,\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t'wp-block-cover__gradient-background',\n\t\t\t\t\t\tgradientClass,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t'has-background-gradient':\n\t\t\t\t\t\t\t\tgradient || customGradient,\n\t\t\t\t\t\t\t[ gradientClass ]: ! url && gradientClass,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ bgStyle }\n\t\t\t\t/>\n\n\t\t\t\t{ isImageBackground && isImgElement && url && (\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__image-background',\n\t\t\t\t\t\t\tid ? `wp-image-${ id }` : null\n\t\t\t\t\t\t) }\n\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isVideoBackground && url && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__video-background',\n\t\t\t\t\t\t\t'intrinsic-ignore'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tplaysInline\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: migrateTag,\n};\n\nconst v7 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t\tisRepeated: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tminHeight: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tminHeightUnit: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tgradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomGradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcontentPosition: {\n\t\t\ttype: 'string',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t},\n\t},\n\tsupports: v7toV11BlockSupports,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundType,\n\t\t\tgradient,\n\t\t\tcontentPosition,\n\t\t\tcustomGradient,\n\t\t\tcustomOverlayColor,\n\t\t\tdimRatio,\n\t\t\tfocalPoint,\n\t\t\thasParallax,\n\t\t\tisRepeated,\n\t\t\toverlayColor,\n\t\t\turl,\n\t\t\talt,\n\t\t\tid,\n\t\t\tminHeight: minHeightProp,\n\t\t\tminHeightUnit,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\t\tconst minHeight = minHeightUnit\n\t\t\t? `${ minHeightProp }${ minHeightUnit }`\n\t\t\t: minHeightProp;\n\n\t\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\t\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\t\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\t\tconst style = {\n\t\t\t...( isImageBackground && ! isImgElement\n\t\t\t\t? backgroundImageStyles( url )\n\t\t\t\t: {} ),\n\t\t\tbackgroundColor: ! overlayColorClass\n\t\t\t\t? customOverlayColor\n\t\t\t\t: undefined,\n\t\t\tbackground: customGradient && ! url ? customGradient : undefined,\n\t\t\tminHeight: minHeight || undefined,\n\t\t};\n\n\t\tconst objectPosition =\n\t\t\t// prettier-ignore\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t\t? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round( focalPoint.y * 100 ) }%`\n\t\t\t\t\t: undefined;\n\n\t\tconst classes = clsx(\n\t\t\tdimRatioToClassV1( dimRatio ),\n\t\t\toverlayColorClass,\n\t\t\t{\n\t\t\t\t'has-background-dim': dimRatio !== 0,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t\t'has-background-gradient': gradient || customGradient,\n\t\t\t\t[ gradientClass ]: ! url && gradientClass,\n\t\t\t\t'has-custom-content-position':\n\t\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t\t},\n\t\t\tgetPositionClassName( contentPosition )\n\t\t);\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className: classes, style } ) }>\n\t\t\t\t{ url && ( gradient || customGradient ) && dimRatio !== 0 && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__gradient-background',\n\t\t\t\t\t\t\tgradientClass\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\tcustomGradient\n\t\t\t\t\t\t\t\t? { background: customGradient }\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isImageBackground && isImgElement && url && (\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__image-background',\n\t\t\t\t\t\t\tid ? `wp-image-${ id }` : null\n\t\t\t\t\t\t) }\n\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isVideoBackground && url && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__video-background',\n\t\t\t\t\t\t\t'intrinsic-ignore'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tplaysInline\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div className=\"wp-block-cover__inner-container\">\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: compose( migrateDimRatio, migrateTag ),\n};\n\nconst v6 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t\tisRepeated: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tminHeight: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tminHeightUnit: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tgradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomGradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcontentPosition: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundType,\n\t\t\tgradient,\n\t\t\tcontentPosition,\n\t\t\tcustomGradient,\n\t\t\tcustomOverlayColor,\n\t\t\tdimRatio,\n\t\t\tfocalPoint,\n\t\t\thasParallax,\n\t\t\tisRepeated,\n\t\t\toverlayColor,\n\t\t\turl,\n\t\t\tminHeight: minHeightProp,\n\t\t\tminHeightUnit,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\t\tconst minHeight = minHeightUnit\n\t\t\t? `${ minHeightProp }${ minHeightUnit }`\n\t\t\t: minHeightProp;\n\n\t\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\t\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\t\tconst style = isImageBackground ? backgroundImageStyles( url ) : {};\n\t\tconst videoStyle = {};\n\n\t\tif ( ! overlayColorClass ) {\n\t\t\tstyle.backgroundColor = customOverlayColor;\n\t\t}\n\n\t\tif ( customGradient && ! url ) {\n\t\t\tstyle.background = customGradient;\n\t\t}\n\t\tstyle.minHeight = minHeight || undefined;\n\n\t\tlet positionValue;\n\n\t\tif ( focalPoint ) {\n\t\t\tpositionValue = `${ Math.round(\n\t\t\t\tfocalPoint.x * 100\n\t\t\t) }% ${ Math.round( focalPoint.y * 100 ) }%`;\n\n\t\t\tif ( isImageBackground && ! hasParallax ) {\n\t\t\t\tstyle.backgroundPosition = positionValue;\n\t\t\t}\n\n\t\t\tif ( isVideoBackground ) {\n\t\t\t\tvideoStyle.objectPosition = positionValue;\n\t\t\t}\n\t\t}\n\n\t\tconst classes = clsx(\n\t\t\tdimRatioToClassV1( dimRatio ),\n\t\t\toverlayColorClass,\n\t\t\t{\n\t\t\t\t'has-background-dim': dimRatio !== 0,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t\t'has-background-gradient': gradient || customGradient,\n\t\t\t\t[ gradientClass ]: ! url && gradientClass,\n\t\t\t\t'has-custom-content-position':\n\t\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t\t},\n\t\t\tgetPositionClassName( contentPosition )\n\t\t);\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className: classes, style } ) }>\n\t\t\t\t{ url && ( gradient || customGradient ) && dimRatio !== 0 && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__gradient-background',\n\t\t\t\t\t\t\tgradientClass\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\tcustomGradient\n\t\t\t\t\t\t\t\t? { background: customGradient }\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isVideoBackground && url && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tplaysInline\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ videoStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div className=\"wp-block-cover__inner-container\">\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: compose( migrateDimRatio, migrateTag ),\n};\n\nconst v5 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t\tminHeight: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tgradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomGradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundType,\n\t\t\tgradient,\n\t\t\tcustomGradient,\n\t\t\tcustomOverlayColor,\n\t\t\tdimRatio,\n\t\t\tfocalPoint,\n\t\t\thasParallax,\n\t\t\toverlayColor,\n\t\t\turl,\n\t\t\tminHeight,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\n\t\tconst style =\n\t\t\tbackgroundType === IMAGE_BACKGROUND_TYPE\n\t\t\t\t? backgroundImageStyles( url )\n\t\t\t\t: {};\n\t\tif ( ! overlayColorClass ) {\n\t\t\tstyle.backgroundColor = customOverlayColor;\n\t\t}\n\t\tif ( focalPoint && ! hasParallax ) {\n\t\t\tstyle.backgroundPosition = `${ Math.round(\n\t\t\t\tfocalPoint.x * 100\n\t\t\t) }% ${ Math.round( focalPoint.y * 100 ) }%`;\n\t\t}\n\t\tif ( customGradient && ! url ) {\n\t\t\tstyle.background = customGradient;\n\t\t}\n\t\tstyle.minHeight = minHeight || undefined;\n\n\t\tconst classes = clsx(\n\t\t\tdimRatioToClassV1( dimRatio ),\n\t\t\toverlayColorClass,\n\t\t\t{\n\t\t\t\t'has-background-dim': dimRatio !== 0,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'has-background-gradient': customGradient,\n\t\t\t\t[ gradientClass ]: ! url && gradientClass,\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<div className={ classes } style={ style }>\n\t\t\t\t{ url && ( gradient || customGradient ) && dimRatio !== 0 && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__gradient-background',\n\t\t\t\t\t\t\tgradientClass\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\tcustomGradient\n\t\t\t\t\t\t\t\t? { background: customGradient }\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ VIDEO_BACKGROUND_TYPE === backgroundType && url && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div className=\"wp-block-cover__inner-container\">\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: compose( migrateDimRatio, migrateTag ),\n};\n\nconst v4 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t\tminHeight: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tgradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomGradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundType,\n\t\t\tgradient,\n\t\t\tcustomGradient,\n\t\t\tcustomOverlayColor,\n\t\t\tdimRatio,\n\t\t\tfocalPoint,\n\t\t\thasParallax,\n\t\t\toverlayColor,\n\t\t\turl,\n\t\t\tminHeight,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\n\t\tconst style =\n\t\t\tbackgroundType === IMAGE_BACKGROUND_TYPE\n\t\t\t\t? backgroundImageStyles( url )\n\t\t\t\t: {};\n\t\tif ( ! overlayColorClass ) {\n\t\t\tstyle.backgroundColor = customOverlayColor;\n\t\t}\n\t\tif ( focalPoint && ! hasParallax ) {\n\t\t\tstyle.backgroundPosition = `${ focalPoint.x * 100 }% ${\n\t\t\t\tfocalPoint.y * 100\n\t\t\t}%`;\n\t\t}\n\t\tif ( customGradient && ! url ) {\n\t\t\tstyle.background = customGradient;\n\t\t}\n\t\tstyle.minHeight = minHeight || undefined;\n\n\t\tconst classes = clsx(\n\t\t\tdimRatioToClassV1( dimRatio ),\n\t\t\toverlayColorClass,\n\t\t\t{\n\t\t\t\t'has-background-dim': dimRatio !== 0,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'has-background-gradient': customGradient,\n\t\t\t\t[ gradientClass ]: ! url && gradientClass,\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<div className={ classes } style={ style }>\n\t\t\t\t{ url && ( gradient || customGradient ) && dimRatio !== 0 && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__gradient-background',\n\t\t\t\t\t\t\tgradientClass\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\tcustomGradient\n\t\t\t\t\t\t\t\t? { background: customGradient }\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ VIDEO_BACKGROUND_TYPE === backgroundType && url && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div className=\"wp-block-cover__inner-container\">\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: compose( migrateDimRatio, migrateTag ),\n};\n\nconst v3 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'p',\n\t\t},\n\t\tcontentAlign: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'center',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundType,\n\t\t\tcontentAlign,\n\t\t\tcustomOverlayColor,\n\t\t\tdimRatio,\n\t\t\tfocalPoint,\n\t\t\thasParallax,\n\t\t\toverlayColor,\n\t\t\ttitle,\n\t\t\turl,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst style =\n\t\t\tbackgroundType === IMAGE_BACKGROUND_TYPE\n\t\t\t\t? backgroundImageStyles( url )\n\t\t\t\t: {};\n\t\tif ( ! overlayColorClass ) {\n\t\t\tstyle.backgroundColor = customOverlayColor;\n\t\t}\n\t\tif ( focalPoint && ! hasParallax ) {\n\t\t\tstyle.backgroundPosition = `${ focalPoint.x * 100 }% ${\n\t\t\t\tfocalPoint.y * 100\n\t\t\t}%`;\n\t\t}\n\n\t\tconst classes = clsx(\n\t\t\tdimRatioToClassV1( dimRatio ),\n\t\t\toverlayColorClass,\n\t\t\t{\n\t\t\t\t'has-background-dim': dimRatio !== 0,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t[ `has-${ contentAlign }-content` ]: contentAlign !== 'center',\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<div className={ classes } style={ style }>\n\t\t\t\t{ VIDEO_BACKGROUND_TYPE === backgroundType && url && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! RichText.isEmpty( title ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\tclassName=\"wp-block-cover-text\"\n\t\t\t\t\t\tvalue={ title }\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\tconst newAttribs = {\n\t\t\t...attributes,\n\t\t\tdimRatio: ! attributes.url ? 100 : attributes.dimRatio,\n\t\t\ttagName: ! attributes.tagName ? 'div' : attributes.tagName,\n\t\t};\n\n\t\tconst { title, contentAlign, ...restAttributes } = newAttribs;\n\n\t\treturn [\n\t\t\trestAttributes,\n\t\t\t[\n\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\tcontent: attributes.title,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\ttextAlign: attributes.contentAlign,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tplaceholder: __( 'Write title\u2026' ),\n\t\t\t\t} ),\n\t\t\t],\n\t\t];\n\t},\n};\n\nconst v2 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'p',\n\t\t},\n\t\tcontentAlign: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'center',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsupports: {\n\t\tclassName: false,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\turl,\n\t\t\ttitle,\n\t\t\thasParallax,\n\t\t\tdimRatio,\n\t\t\talign,\n\t\t\tcontentAlign,\n\t\t\toverlayColor,\n\t\t\tcustomOverlayColor,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst style = backgroundImageStyles( url );\n\t\tif ( ! overlayColorClass ) {\n\t\t\tstyle.backgroundColor = customOverlayColor;\n\t\t}\n\n\t\tconst classes = clsx(\n\t\t\t'wp-block-cover-image',\n\t\t\tdimRatioToClassV1( dimRatio ),\n\t\t\toverlayColorClass,\n\t\t\t{\n\t\t\t\t'has-background-dim': dimRatio !== 0,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t[ `has-${ contentAlign }-content` ]: contentAlign !== 'center',\n\t\t\t},\n\t\t\talign ? `align${ align }` : null\n\t\t);\n\n\t\treturn (\n\t\t\t<div className={ classes } style={ style }>\n\t\t\t\t{ ! RichText.isEmpty( title ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\tclassName=\"wp-block-cover-image-text\"\n\t\t\t\t\t\tvalue={ title }\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\tconst newAttribs = {\n\t\t\t...attributes,\n\t\t\tdimRatio: ! attributes.url ? 100 : attributes.dimRatio,\n\t\t\ttagName: ! attributes.tagName ? 'div' : attributes.tagName,\n\t\t};\n\n\t\tconst { title, contentAlign, align, ...restAttributes } = newAttribs;\n\n\t\treturn [\n\t\t\trestAttributes,\n\t\t\t[\n\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\tcontent: attributes.title,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\ttextAlign: attributes.contentAlign,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tplaceholder: __( 'Write title\u2026' ),\n\t\t\t\t} ),\n\t\t\t],\n\t\t];\n\t},\n};\n\nconst v1 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'h2',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcontentAlign: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'center',\n\t\t},\n\t},\n\tsupports: {\n\t\tclassName: false,\n\t},\n\tsave( { attributes } ) {\n\t\tconst { url, title, hasParallax, dimRatio, align } = attributes;\n\t\tconst style = backgroundImageStyles( url );\n\t\tconst classes = clsx(\n\t\t\t'wp-block-cover-image',\n\t\t\tdimRatioToClassV1( dimRatio ),\n\t\t\t{\n\t\t\t\t'has-background-dim': dimRatio !== 0,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t},\n\t\t\talign ? `align${ align }` : null\n\t\t);\n\n\t\treturn (\n\t\t\t<section className={ classes } style={ style }>\n\t\t\t\t<RichText.Content tagName=\"h2\" value={ title } />\n\t\t\t</section>\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tconst newAttribs = {\n\t\t\t...attributes,\n\t\t\tdimRatio: ! attributes.url ? 100 : attributes.dimRatio,\n\t\t\ttagName: ! attributes.tagName ? 'div' : attributes.tagName,\n\t\t};\n\t\tconst { title, contentAlign, align, ...restAttributes } = newAttribs;\n\n\t\treturn [\n\t\t\trestAttributes,\n\t\t\t[\n\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\tcontent: attributes.title,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\ttextAlign: attributes.contentAlign,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tplaceholder: __( 'Write title\u2026' ),\n\t\t\t\t} ),\n\t\t\t],\n\t\t];\n\t},\n};\n\nexport default [ v14, v13, v12, v11, v10, v9, v8, v7, v6, v5, v4, v3, v2, v1 ];\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tRichText,\n\tgetColorClassName,\n\tInnerBlocks,\n\t__experimentalGetGradientClass,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tgetPositionClassName,\n\tisContentPositionCenter,\n\tdimRatioToClass,\n\tmediaPosition,\n} from './shared';\n\nfunction backgroundImageStyles( url ) {\n\treturn url ? { backgroundImage: `url(${ url })` } : {};\n}\n\n/**\n * Original function to determine the background opacity classname\n *\n * Used in deprecations: v1-7.\n *\n * @param {number} ratio ratio to use for opacity.\n * @return {string} background opacity class .\n */\nfunction dimRatioToClassV1( ratio ) {\n\treturn ratio === 0 || ratio === 50 || ! ratio\n\t\t? null\n\t\t: 'has-background-dim-' + 10 * Math.round( ratio / 10 );\n}\n\nfunction migrateDimRatio( attributes ) {\n\treturn {\n\t\t...attributes,\n\t\tdimRatio: ! attributes.url ? 100 : attributes.dimRatio,\n\t};\n}\n\nfunction migrateTag( attributes ) {\n\tif ( ! attributes.tagName ) {\n\t\tattributes = {\n\t\t\t...attributes,\n\t\t\ttagName: 'div',\n\t\t};\n\t}\n\treturn {\n\t\t...attributes,\n\t};\n}\n\nconst blockAttributes = {\n\turl: {\n\t\ttype: 'string',\n\t},\n\tid: {\n\t\ttype: 'number',\n\t},\n\thasParallax: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n\tdimRatio: {\n\t\ttype: 'number',\n\t\tdefault: 50,\n\t},\n\toverlayColor: {\n\t\ttype: 'string',\n\t},\n\tcustomOverlayColor: {\n\t\ttype: 'string',\n\t},\n\tbackgroundType: {\n\t\ttype: 'string',\n\t\tdefault: 'image',\n\t},\n\tfocalPoint: {\n\t\ttype: 'object',\n\t},\n};\n\nconst v8ToV11BlockAttributes = {\n\turl: {\n\t\ttype: 'string',\n\t},\n\tid: {\n\t\ttype: 'number',\n\t},\n\talt: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'img',\n\t\tattribute: 'alt',\n\t\tdefault: '',\n\t},\n\thasParallax: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n\tisRepeated: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n\tdimRatio: {\n\t\ttype: 'number',\n\t\tdefault: 100,\n\t},\n\toverlayColor: {\n\t\ttype: 'string',\n\t},\n\tcustomOverlayColor: {\n\t\ttype: 'string',\n\t},\n\tbackgroundType: {\n\t\ttype: 'string',\n\t\tdefault: 'image',\n\t},\n\tfocalPoint: {\n\t\ttype: 'object',\n\t},\n\tminHeight: {\n\t\ttype: 'number',\n\t},\n\tminHeightUnit: {\n\t\ttype: 'string',\n\t},\n\tgradient: {\n\t\ttype: 'string',\n\t},\n\tcustomGradient: {\n\t\ttype: 'string',\n\t},\n\tcontentPosition: {\n\t\ttype: 'string',\n\t},\n\tisDark: {\n\t\ttype: 'boolean',\n\t\tdefault: true,\n\t},\n\tallowedBlocks: {\n\t\ttype: 'array',\n\t},\n\ttemplateLock: {\n\t\ttype: [ 'string', 'boolean' ],\n\t\tenum: [ 'all', 'insert', false ],\n\t},\n};\n\nconst v12toV13BlockAttributes = {\n\t...v8ToV11BlockAttributes,\n\tuseFeaturedImage: {\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t},\n\ttagName: {\n\t\ttype: 'string',\n\t\tdefault: 'div',\n\t},\n};\n\nconst v14BlockAttributes = {\n\t...v12toV13BlockAttributes,\n\tisUserOverlayColor: {\n\t\ttype: 'boolean',\n\t},\n\tsizeSlug: {\n\t\ttype: 'string',\n\t},\n\talt: {\n\t\ttype: 'string',\n\t\tdefault: '',\n\t},\n};\n\nconst v7toV11BlockSupports = {\n\tanchor: true,\n\talign: true,\n\thtml: false,\n\tspacing: {\n\t\tpadding: true,\n\t\t__experimentalDefaultControls: {\n\t\t\tpadding: true,\n\t\t},\n\t},\n\tcolor: {\n\t\t__experimentalDuotone:\n\t\t\t'> .wp-block-cover__image-background, > .wp-block-cover__video-background',\n\t\ttext: false,\n\t\tbackground: false,\n\t},\n};\n\nconst v12BlockSupports = {\n\t...v7toV11BlockSupports,\n\tspacing: {\n\t\tpadding: true,\n\t\tmargin: [ 'top', 'bottom' ],\n\t\tblockGap: true,\n\t\t__experimentalDefaultControls: {\n\t\t\tpadding: true,\n\t\t\tblockGap: true,\n\t\t},\n\t},\n\t__experimentalBorder: {\n\t\tcolor: true,\n\t\tradius: true,\n\t\tstyle: true,\n\t\twidth: true,\n\t\t__experimentalDefaultControls: {\n\t\t\tcolor: true,\n\t\t\tradius: true,\n\t\t\tstyle: true,\n\t\t\twidth: true,\n\t\t},\n\t},\n\tcolor: {\n\t\t__experimentalDuotone:\n\t\t\t'> .wp-block-cover__image-background, > .wp-block-cover__video-background',\n\t\theading: true,\n\t\ttext: true,\n\t\tbackground: false,\n\t\t__experimentalSkipSerialization: [ 'gradients' ],\n\t\tenableContrastChecker: false,\n\t},\n\ttypography: {\n\t\tfontSize: true,\n\t\tlineHeight: true,\n\t\t__experimentalFontFamily: true,\n\t\t__experimentalFontWeight: true,\n\t\t__experimentalFontStyle: true,\n\t\t__experimentalTextTransform: true,\n\t\t__experimentalTextDecoration: true,\n\t\t__experimentalLetterSpacing: true,\n\t\t__experimentalDefaultControls: {\n\t\t\tfontSize: true,\n\t\t},\n\t},\n\tlayout: {\n\t\tallowJustification: false,\n\t},\n};\n\nconst v14BlockSupports = {\n\t...v12BlockSupports,\n\tshadow: true,\n\tdimensions: {\n\t\taspectRatio: true,\n\t},\n\tinteractivity: {\n\t\tclientNavigation: true,\n\t},\n};\n\n// Deprecation for blocks that have z-index.\nconst v14 = {\n\tattributes: v14BlockAttributes,\n\tsupports: v14BlockSupports,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundType,\n\t\t\tgradient,\n\t\t\tcontentPosition,\n\t\t\tcustomGradient,\n\t\t\tcustomOverlayColor,\n\t\t\tdimRatio,\n\t\t\tfocalPoint,\n\t\t\tuseFeaturedImage,\n\t\t\thasParallax,\n\t\t\tisDark,\n\t\t\tisRepeated,\n\t\t\toverlayColor,\n\t\t\turl,\n\t\t\talt,\n\t\t\tid,\n\t\t\tminHeight: minHeightProp,\n\t\t\tminHeightUnit,\n\t\t\ttagName: Tag,\n\t\t\tsizeSlug,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\t\tconst minHeight =\n\t\t\tminHeightProp && minHeightUnit\n\t\t\t\t? `${ minHeightProp }${ minHeightUnit }`\n\t\t\t\t: minHeightProp;\n\n\t\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\t\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\t\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\t\tconst style = {\n\t\t\tminHeight: minHeight || undefined,\n\t\t};\n\n\t\tconst bgStyle = {\n\t\t\tbackgroundColor: ! overlayColorClass\n\t\t\t\t? customOverlayColor\n\t\t\t\t: undefined,\n\t\t\tbackground: customGradient ? customGradient : undefined,\n\t\t};\n\n\t\tconst objectPosition =\n\t\t\t// prettier-ignore\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t ? mediaPosition(focalPoint)\n\t\t\t\t : undefined;\n\n\t\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\t\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\t\tconst classes = clsx(\n\t\t\t{\n\t\t\t\t'is-light': ! isDark,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t\t'has-custom-content-position':\n\t\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t\t},\n\t\t\tgetPositionClassName( contentPosition )\n\t\t);\n\n\t\tconst imgClasses = clsx(\n\t\t\t'wp-block-cover__image-background',\n\t\t\tid ? `wp-image-${ id }` : null,\n\t\t\t{\n\t\t\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t}\n\t\t);\n\n\t\tconst gradientValue = gradient || customGradient;\n\n\t\treturn (\n\t\t\t<Tag { ...useBlockProps.save( { className: classes, style } ) }>\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\toverlayColorClass,\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ bgStyle }\n\t\t\t\t/>\n\n\t\t\t\t{ ! useFeaturedImage &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\turl &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclassName={ imgClasses }\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\trole={ alt ? 'img' : undefined }\n\t\t\t\t\t\t\taria-label={ alt ? alt : undefined }\n\t\t\t\t\t\t\tclassName={ imgClasses }\n\t\t\t\t\t\t\tstyle={ { backgroundPosition, backgroundImage } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ isVideoBackground && url && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__video-background',\n\t\t\t\t\t\t\t'intrinsic-ignore'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tplaysInline\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</Tag>\n\t\t);\n\t},\n};\n\n// Deprecation for blocks that does not have the aria-label when the image background is fixed or repeated.\nconst v13 = {\n\tattributes: v12toV13BlockAttributes,\n\tsupports: v12BlockSupports,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundType,\n\t\t\tgradient,\n\t\t\tcontentPosition,\n\t\t\tcustomGradient,\n\t\t\tcustomOverlayColor,\n\t\t\tdimRatio,\n\t\t\tfocalPoint,\n\t\t\tuseFeaturedImage,\n\t\t\thasParallax,\n\t\t\tisDark,\n\t\t\tisRepeated,\n\t\t\toverlayColor,\n\t\t\turl,\n\t\t\talt,\n\t\t\tid,\n\t\t\tminHeight: minHeightProp,\n\t\t\tminHeightUnit,\n\t\t\ttagName: Tag,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\t\tconst minHeight =\n\t\t\tminHeightProp && minHeightUnit\n\t\t\t\t? `${ minHeightProp }${ minHeightUnit }`\n\t\t\t\t: minHeightProp;\n\n\t\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\t\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\t\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\t\tconst style = {\n\t\t\tminHeight: minHeight || undefined,\n\t\t};\n\n\t\tconst bgStyle = {\n\t\t\tbackgroundColor: ! overlayColorClass\n\t\t\t\t? customOverlayColor\n\t\t\t\t: undefined,\n\t\t\tbackground: customGradient ? customGradient : undefined,\n\t\t};\n\n\t\tconst objectPosition =\n\t\t\t// prettier-ignore\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t\t ? mediaPosition(focalPoint)\n\t\t\t\t\t : undefined;\n\n\t\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\t\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\t\tconst classes = clsx(\n\t\t\t{\n\t\t\t\t'is-light': ! isDark,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t\t'has-custom-content-position':\n\t\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t\t},\n\t\t\tgetPositionClassName( contentPosition )\n\t\t);\n\n\t\tconst imgClasses = clsx(\n\t\t\t'wp-block-cover__image-background',\n\t\t\tid ? `wp-image-${ id }` : null,\n\t\t\t{\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t}\n\t\t);\n\n\t\tconst gradientValue = gradient || customGradient;\n\n\t\treturn (\n\t\t\t<Tag { ...useBlockProps.save( { className: classes, style } ) }>\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\toverlayColorClass,\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ bgStyle }\n\t\t\t\t/>\n\n\t\t\t\t{ ! useFeaturedImage &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\turl &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclassName={ imgClasses }\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\tclassName={ imgClasses }\n\t\t\t\t\t\t\tstyle={ { backgroundPosition, backgroundImage } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ isVideoBackground && url && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__video-background',\n\t\t\t\t\t\t\t'intrinsic-ignore'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tplaysInline\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</Tag>\n\t\t);\n\t},\n};\n\n// Deprecation for blocks to prevent auto overlay color from overriding previously set values.\nconst v12 = {\n\tattributes: v12toV13BlockAttributes,\n\tsupports: v12BlockSupports,\n\tisEligible( attributes ) {\n\t\treturn (\n\t\t\t( attributes.customOverlayColor !== undefined ||\n\t\t\t\tattributes.overlayColor !== undefined ) &&\n\t\t\tattributes.isUserOverlayColor === undefined\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tisUserOverlayColor: true,\n\t\t};\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundType,\n\t\t\tgradient,\n\t\t\tcontentPosition,\n\t\t\tcustomGradient,\n\t\t\tcustomOverlayColor,\n\t\t\tdimRatio,\n\t\t\tfocalPoint,\n\t\t\tuseFeaturedImage,\n\t\t\thasParallax,\n\t\t\tisDark,\n\t\t\tisRepeated,\n\t\t\toverlayColor,\n\t\t\turl,\n\t\t\talt,\n\t\t\tid,\n\t\t\tminHeight: minHeightProp,\n\t\t\tminHeightUnit,\n\t\t\ttagName: Tag,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\t\tconst minHeight =\n\t\t\tminHeightProp && minHeightUnit\n\t\t\t\t? `${ minHeightProp }${ minHeightUnit }`\n\t\t\t\t: minHeightProp;\n\n\t\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\t\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\t\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\t\tconst style = {\n\t\t\tminHeight: minHeight || undefined,\n\t\t};\n\n\t\tconst bgStyle = {\n\t\t\tbackgroundColor: ! overlayColorClass\n\t\t\t\t? customOverlayColor\n\t\t\t\t: undefined,\n\t\t\tbackground: customGradient ? customGradient : undefined,\n\t\t};\n\n\t\tconst objectPosition =\n\t\t\t// prettier-ignore\n\t\t\tfocalPoint && isImgElement\n\t\t\t ? mediaPosition(focalPoint)\n\t\t\t : undefined;\n\n\t\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\t\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\t\tconst classes = clsx(\n\t\t\t{\n\t\t\t\t'is-light': ! isDark,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t\t'has-custom-content-position':\n\t\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t\t},\n\t\t\tgetPositionClassName( contentPosition )\n\t\t);\n\n\t\tconst imgClasses = clsx(\n\t\t\t'wp-block-cover__image-background',\n\t\t\tid ? `wp-image-${ id }` : null,\n\t\t\t{\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t}\n\t\t);\n\n\t\tconst gradientValue = gradient || customGradient;\n\n\t\treturn (\n\t\t\t<Tag { ...useBlockProps.save( { className: classes, style } ) }>\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\toverlayColorClass,\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ bgStyle }\n\t\t\t\t/>\n\n\t\t\t\t{ ! useFeaturedImage &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\turl &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclassName={ imgClasses }\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\tclassName={ imgClasses }\n\t\t\t\t\t\t\tstyle={ { backgroundPosition, backgroundImage } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ isVideoBackground && url && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__video-background',\n\t\t\t\t\t\t\t'intrinsic-ignore'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tplaysInline\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</Tag>\n\t\t);\n\t},\n};\n\n// Deprecation for blocks that does not have a HTML tag option.\nconst v11 = {\n\tattributes: v8ToV11BlockAttributes,\n\tsupports: v7toV11BlockSupports,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundType,\n\t\t\tgradient,\n\t\t\tcontentPosition,\n\t\t\tcustomGradient,\n\t\t\tcustomOverlayColor,\n\t\t\tdimRatio,\n\t\t\tfocalPoint,\n\t\t\tuseFeaturedImage,\n\t\t\thasParallax,\n\t\t\tisDark,\n\t\t\tisRepeated,\n\t\t\toverlayColor,\n\t\t\turl,\n\t\t\talt,\n\t\t\tid,\n\t\t\tminHeight: minHeightProp,\n\t\t\tminHeightUnit,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\t\tconst minHeight =\n\t\t\tminHeightProp && minHeightUnit\n\t\t\t\t? `${ minHeightProp }${ minHeightUnit }`\n\t\t\t\t: minHeightProp;\n\n\t\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\t\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\t\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\t\tconst style = {\n\t\t\tminHeight: minHeight || undefined,\n\t\t};\n\n\t\tconst bgStyle = {\n\t\t\tbackgroundColor: ! overlayColorClass\n\t\t\t\t? customOverlayColor\n\t\t\t\t: undefined,\n\t\t\tbackground: customGradient ? customGradient : undefined,\n\t\t};\n\n\t\tconst objectPosition =\n\t\t\t// prettier-ignore\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t ? mediaPosition(focalPoint)\n\t\t\t\t : undefined;\n\n\t\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\t\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\t\tconst classes = clsx(\n\t\t\t{\n\t\t\t\t'is-light': ! isDark,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t\t'has-custom-content-position':\n\t\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t\t},\n\t\t\tgetPositionClassName( contentPosition )\n\t\t);\n\n\t\tconst imgClasses = clsx(\n\t\t\t'wp-block-cover__image-background',\n\t\t\tid ? `wp-image-${ id }` : null,\n\t\t\t{\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t}\n\t\t);\n\n\t\tconst gradientValue = gradient || customGradient;\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className: classes, style } ) }>\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\toverlayColorClass,\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ bgStyle }\n\t\t\t\t/>\n\n\t\t\t\t{ ! useFeaturedImage &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\turl &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclassName={ imgClasses }\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\tclassName={ imgClasses }\n\t\t\t\t\t\t\tstyle={ { backgroundPosition, backgroundImage } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ isVideoBackground && url && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__video-background',\n\t\t\t\t\t\t\t'intrinsic-ignore'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tplaysInline\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: migrateTag,\n};\n\n// Deprecation for blocks that renders fixed background as background from the main block container.\nconst v10 = {\n\tattributes: v8ToV11BlockAttributes,\n\tsupports: v7toV11BlockSupports,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundType,\n\t\t\tgradient,\n\t\t\tcontentPosition,\n\t\t\tcustomGradient,\n\t\t\tcustomOverlayColor,\n\t\t\tdimRatio,\n\t\t\tfocalPoint,\n\t\t\tuseFeaturedImage,\n\t\t\thasParallax,\n\t\t\tisDark,\n\t\t\tisRepeated,\n\t\t\toverlayColor,\n\t\t\turl,\n\t\t\talt,\n\t\t\tid,\n\t\t\tminHeight: minHeightProp,\n\t\t\tminHeightUnit,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\t\tconst minHeight =\n\t\t\tminHeightProp && minHeightUnit\n\t\t\t\t? `${ minHeightProp }${ minHeightUnit }`\n\t\t\t\t: minHeightProp;\n\n\t\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\t\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\t\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\t\tconst style = {\n\t\t\t...( isImageBackground && ! isImgElement && ! useFeaturedImage\n\t\t\t\t? backgroundImageStyles( url )\n\t\t\t\t: {} ),\n\t\t\tminHeight: minHeight || undefined,\n\t\t};\n\n\t\tconst bgStyle = {\n\t\t\tbackgroundColor: ! overlayColorClass\n\t\t\t\t? customOverlayColor\n\t\t\t\t: undefined,\n\t\t\tbackground: customGradient ? customGradient : undefined,\n\t\t};\n\n\t\tconst objectPosition =\n\t\t\t// prettier-ignore\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t ? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round( focalPoint.y * 100 ) }%`\n\t\t\t\t : undefined;\n\n\t\tconst classes = clsx(\n\t\t\t{\n\t\t\t\t'is-light': ! isDark,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t\t'has-custom-content-position':\n\t\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t\t},\n\t\t\tgetPositionClassName( contentPosition )\n\t\t);\n\n\t\tconst gradientValue = gradient || customGradient;\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className: classes, style } ) }>\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\toverlayColorClass,\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ bgStyle }\n\t\t\t\t/>\n\n\t\t\t\t{ ! useFeaturedImage &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\tisImgElement &&\n\t\t\t\t\turl && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'wp-block-cover__image-background',\n\t\t\t\t\t\t\t\tid ? `wp-image-${ id }` : null\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t{ isVideoBackground && url && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__video-background',\n\t\t\t\t\t\t\t'intrinsic-ignore'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tplaysInline\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: migrateTag,\n};\n\n// Deprecation for blocks with `minHeightUnit` set but no `minHeight`.\nconst v9 = {\n\tattributes: v8ToV11BlockAttributes,\n\tsupports: v7toV11BlockSupports,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundType,\n\t\t\tgradient,\n\t\t\tcontentPosition,\n\t\t\tcustomGradient,\n\t\t\tcustomOverlayColor,\n\t\t\tdimRatio,\n\t\t\tfocalPoint,\n\t\t\thasParallax,\n\t\t\tisDark,\n\t\t\tisRepeated,\n\t\t\toverlayColor,\n\t\t\turl,\n\t\t\talt,\n\t\t\tid,\n\t\t\tminHeight: minHeightProp,\n\t\t\tminHeightUnit,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\t\tconst minHeight = minHeightUnit\n\t\t\t? `${ minHeightProp }${ minHeightUnit }`\n\t\t\t: minHeightProp;\n\n\t\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\t\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\t\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\t\tconst style = {\n\t\t\t...( isImageBackground && ! isImgElement\n\t\t\t\t? backgroundImageStyles( url )\n\t\t\t\t: {} ),\n\t\t\tminHeight: minHeight || undefined,\n\t\t};\n\n\t\tconst bgStyle = {\n\t\t\tbackgroundColor: ! overlayColorClass\n\t\t\t\t? customOverlayColor\n\t\t\t\t: undefined,\n\t\t\tbackground: customGradient ? customGradient : undefined,\n\t\t};\n\n\t\tconst objectPosition =\n\t\t\t// prettier-ignore\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t ? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round( focalPoint.y * 100 ) }%`\n\t\t\t\t : undefined;\n\n\t\tconst classes = clsx(\n\t\t\t{\n\t\t\t\t'is-light': ! isDark,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t\t'has-custom-content-position':\n\t\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t\t},\n\t\t\tgetPositionClassName( contentPosition )\n\t\t);\n\n\t\tconst gradientValue = gradient || customGradient;\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className: classes, style } ) }>\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\toverlayColorClass,\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ bgStyle }\n\t\t\t\t/>\n\n\t\t\t\t{ isImageBackground && isImgElement && url && (\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__image-background',\n\t\t\t\t\t\t\tid ? `wp-image-${ id }` : null\n\t\t\t\t\t\t) }\n\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isVideoBackground && url && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__video-background',\n\t\t\t\t\t\t\t'intrinsic-ignore'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tplaysInline\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: migrateTag,\n};\n\n// v8: deprecated to remove duplicated gradient classes and swap `wp-block-cover__gradient-background` for `wp-block-cover__background`.\nconst v8 = {\n\tattributes: v8ToV11BlockAttributes,\n\tsupports: v7toV11BlockSupports,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundType,\n\t\t\tgradient,\n\t\t\tcontentPosition,\n\t\t\tcustomGradient,\n\t\t\tcustomOverlayColor,\n\t\t\tdimRatio,\n\t\t\tfocalPoint,\n\t\t\thasParallax,\n\t\t\tisDark,\n\t\t\tisRepeated,\n\t\t\toverlayColor,\n\t\t\turl,\n\t\t\talt,\n\t\t\tid,\n\t\t\tminHeight: minHeightProp,\n\t\t\tminHeightUnit,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\t\tconst minHeight = minHeightUnit\n\t\t\t? `${ minHeightProp }${ minHeightUnit }`\n\t\t\t: minHeightProp;\n\n\t\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\t\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\t\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\t\tconst style = {\n\t\t\t...( isImageBackground && ! isImgElement\n\t\t\t\t? backgroundImageStyles( url )\n\t\t\t\t: {} ),\n\t\t\tminHeight: minHeight || undefined,\n\t\t};\n\n\t\tconst bgStyle = {\n\t\t\tbackgroundColor: ! overlayColorClass\n\t\t\t\t? customOverlayColor\n\t\t\t\t: undefined,\n\t\t\tbackground: customGradient ? customGradient : undefined,\n\t\t};\n\n\t\tconst objectPosition =\n\t\t\t// prettier-ignore\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t ? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round( focalPoint.y * 100 ) }%`\n\t\t\t\t : undefined;\n\n\t\tconst classes = clsx(\n\t\t\t{\n\t\t\t\t'is-light': ! isDark,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t\t'has-custom-content-position':\n\t\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t\t},\n\t\t\tgetPositionClassName( contentPosition )\n\t\t);\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className: classes, style } ) }>\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\toverlayColorClass,\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t'wp-block-cover__gradient-background',\n\t\t\t\t\t\tgradientClass,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t'has-background-gradient':\n\t\t\t\t\t\t\t\tgradient || customGradient,\n\t\t\t\t\t\t\t[ gradientClass ]: ! url && gradientClass,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ bgStyle }\n\t\t\t\t/>\n\n\t\t\t\t{ isImageBackground && isImgElement && url && (\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__image-background',\n\t\t\t\t\t\t\tid ? `wp-image-${ id }` : null\n\t\t\t\t\t\t) }\n\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isVideoBackground && url && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__video-background',\n\t\t\t\t\t\t\t'intrinsic-ignore'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tplaysInline\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: migrateTag,\n};\n\nconst v7 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t\tisRepeated: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tminHeight: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tminHeightUnit: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tgradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomGradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcontentPosition: {\n\t\t\ttype: 'string',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t},\n\t},\n\tsupports: v7toV11BlockSupports,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundType,\n\t\t\tgradient,\n\t\t\tcontentPosition,\n\t\t\tcustomGradient,\n\t\t\tcustomOverlayColor,\n\t\t\tdimRatio,\n\t\t\tfocalPoint,\n\t\t\thasParallax,\n\t\t\tisRepeated,\n\t\t\toverlayColor,\n\t\t\turl,\n\t\t\talt,\n\t\t\tid,\n\t\t\tminHeight: minHeightProp,\n\t\t\tminHeightUnit,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\t\tconst minHeight = minHeightUnit\n\t\t\t? `${ minHeightProp }${ minHeightUnit }`\n\t\t\t: minHeightProp;\n\n\t\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\t\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\t\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\t\tconst style = {\n\t\t\t...( isImageBackground && ! isImgElement\n\t\t\t\t? backgroundImageStyles( url )\n\t\t\t\t: {} ),\n\t\t\tbackgroundColor: ! overlayColorClass\n\t\t\t\t? customOverlayColor\n\t\t\t\t: undefined,\n\t\t\tbackground: customGradient && ! url ? customGradient : undefined,\n\t\t\tminHeight: minHeight || undefined,\n\t\t};\n\n\t\tconst objectPosition =\n\t\t\t// prettier-ignore\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t\t? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round( focalPoint.y * 100 ) }%`\n\t\t\t\t\t: undefined;\n\n\t\tconst classes = clsx(\n\t\t\tdimRatioToClassV1( dimRatio ),\n\t\t\toverlayColorClass,\n\t\t\t{\n\t\t\t\t'has-background-dim': dimRatio !== 0,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t\t'has-background-gradient': gradient || customGradient,\n\t\t\t\t[ gradientClass ]: ! url && gradientClass,\n\t\t\t\t'has-custom-content-position':\n\t\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t\t},\n\t\t\tgetPositionClassName( contentPosition )\n\t\t);\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className: classes, style } ) }>\n\t\t\t\t{ url && ( gradient || customGradient ) && dimRatio !== 0 && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__gradient-background',\n\t\t\t\t\t\t\tgradientClass\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\tcustomGradient\n\t\t\t\t\t\t\t\t? { background: customGradient }\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isImageBackground && isImgElement && url && (\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__image-background',\n\t\t\t\t\t\t\tid ? `wp-image-${ id }` : null\n\t\t\t\t\t\t) }\n\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isVideoBackground && url && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__video-background',\n\t\t\t\t\t\t\t'intrinsic-ignore'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tplaysInline\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div className=\"wp-block-cover__inner-container\">\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: compose( migrateDimRatio, migrateTag ),\n};\n\nconst v6 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t\tisRepeated: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tminHeight: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tminHeightUnit: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tgradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomGradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcontentPosition: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundType,\n\t\t\tgradient,\n\t\t\tcontentPosition,\n\t\t\tcustomGradient,\n\t\t\tcustomOverlayColor,\n\t\t\tdimRatio,\n\t\t\tfocalPoint,\n\t\t\thasParallax,\n\t\t\tisRepeated,\n\t\t\toverlayColor,\n\t\t\turl,\n\t\t\tminHeight: minHeightProp,\n\t\t\tminHeightUnit,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\t\tconst minHeight = minHeightUnit\n\t\t\t? `${ minHeightProp }${ minHeightUnit }`\n\t\t\t: minHeightProp;\n\n\t\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\t\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\t\tconst style = isImageBackground ? backgroundImageStyles( url ) : {};\n\t\tconst videoStyle = {};\n\n\t\tif ( ! overlayColorClass ) {\n\t\t\tstyle.backgroundColor = customOverlayColor;\n\t\t}\n\n\t\tif ( customGradient && ! url ) {\n\t\t\tstyle.background = customGradient;\n\t\t}\n\t\tstyle.minHeight = minHeight || undefined;\n\n\t\tlet positionValue;\n\n\t\tif ( focalPoint ) {\n\t\t\tpositionValue = `${ Math.round(\n\t\t\t\tfocalPoint.x * 100\n\t\t\t) }% ${ Math.round( focalPoint.y * 100 ) }%`;\n\n\t\t\tif ( isImageBackground && ! hasParallax ) {\n\t\t\t\tstyle.backgroundPosition = positionValue;\n\t\t\t}\n\n\t\t\tif ( isVideoBackground ) {\n\t\t\t\tvideoStyle.objectPosition = positionValue;\n\t\t\t}\n\t\t}\n\n\t\tconst classes = clsx(\n\t\t\tdimRatioToClassV1( dimRatio ),\n\t\t\toverlayColorClass,\n\t\t\t{\n\t\t\t\t'has-background-dim': dimRatio !== 0,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'is-repeated': isRepeated,\n\t\t\t\t'has-background-gradient': gradient || customGradient,\n\t\t\t\t[ gradientClass ]: ! url && gradientClass,\n\t\t\t\t'has-custom-content-position':\n\t\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t\t},\n\t\t\tgetPositionClassName( contentPosition )\n\t\t);\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className: classes, style } ) }>\n\t\t\t\t{ url && ( gradient || customGradient ) && dimRatio !== 0 && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__gradient-background',\n\t\t\t\t\t\t\tgradientClass\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\tcustomGradient\n\t\t\t\t\t\t\t\t? { background: customGradient }\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isVideoBackground && url && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tplaysInline\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ videoStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div className=\"wp-block-cover__inner-container\">\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: compose( migrateDimRatio, migrateTag ),\n};\n\nconst v5 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t\tminHeight: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tgradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomGradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundType,\n\t\t\tgradient,\n\t\t\tcustomGradient,\n\t\t\tcustomOverlayColor,\n\t\t\tdimRatio,\n\t\t\tfocalPoint,\n\t\t\thasParallax,\n\t\t\toverlayColor,\n\t\t\turl,\n\t\t\tminHeight,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\n\t\tconst style =\n\t\t\tbackgroundType === IMAGE_BACKGROUND_TYPE\n\t\t\t\t? backgroundImageStyles( url )\n\t\t\t\t: {};\n\t\tif ( ! overlayColorClass ) {\n\t\t\tstyle.backgroundColor = customOverlayColor;\n\t\t}\n\t\tif ( focalPoint && ! hasParallax ) {\n\t\t\tstyle.backgroundPosition = `${ Math.round(\n\t\t\t\tfocalPoint.x * 100\n\t\t\t) }% ${ Math.round( focalPoint.y * 100 ) }%`;\n\t\t}\n\t\tif ( customGradient && ! url ) {\n\t\t\tstyle.background = customGradient;\n\t\t}\n\t\tstyle.minHeight = minHeight || undefined;\n\n\t\tconst classes = clsx(\n\t\t\tdimRatioToClassV1( dimRatio ),\n\t\t\toverlayColorClass,\n\t\t\t{\n\t\t\t\t'has-background-dim': dimRatio !== 0,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'has-background-gradient': customGradient,\n\t\t\t\t[ gradientClass ]: ! url && gradientClass,\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<div className={ classes } style={ style }>\n\t\t\t\t{ url && ( gradient || customGradient ) && dimRatio !== 0 && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__gradient-background',\n\t\t\t\t\t\t\tgradientClass\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\tcustomGradient\n\t\t\t\t\t\t\t\t? { background: customGradient }\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ VIDEO_BACKGROUND_TYPE === backgroundType && url && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div className=\"wp-block-cover__inner-container\">\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: compose( migrateDimRatio, migrateTag ),\n};\n\nconst v4 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t\tminHeight: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tgradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomGradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundType,\n\t\t\tgradient,\n\t\t\tcustomGradient,\n\t\t\tcustomOverlayColor,\n\t\t\tdimRatio,\n\t\t\tfocalPoint,\n\t\t\thasParallax,\n\t\t\toverlayColor,\n\t\t\turl,\n\t\t\tminHeight,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\n\t\tconst style =\n\t\t\tbackgroundType === IMAGE_BACKGROUND_TYPE\n\t\t\t\t? backgroundImageStyles( url )\n\t\t\t\t: {};\n\t\tif ( ! overlayColorClass ) {\n\t\t\tstyle.backgroundColor = customOverlayColor;\n\t\t}\n\t\tif ( focalPoint && ! hasParallax ) {\n\t\t\tstyle.backgroundPosition = `${ focalPoint.x * 100 }% ${\n\t\t\t\tfocalPoint.y * 100\n\t\t\t}%`;\n\t\t}\n\t\tif ( customGradient && ! url ) {\n\t\t\tstyle.background = customGradient;\n\t\t}\n\t\tstyle.minHeight = minHeight || undefined;\n\n\t\tconst classes = clsx(\n\t\t\tdimRatioToClassV1( dimRatio ),\n\t\t\toverlayColorClass,\n\t\t\t{\n\t\t\t\t'has-background-dim': dimRatio !== 0,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t'has-background-gradient': customGradient,\n\t\t\t\t[ gradientClass ]: ! url && gradientClass,\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<div className={ classes } style={ style }>\n\t\t\t\t{ url && ( gradient || customGradient ) && dimRatio !== 0 && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__gradient-background',\n\t\t\t\t\t\t\tgradientClass\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\tcustomGradient\n\t\t\t\t\t\t\t\t? { background: customGradient }\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ VIDEO_BACKGROUND_TYPE === backgroundType && url && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div className=\"wp-block-cover__inner-container\">\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate: compose( migrateDimRatio, migrateTag ),\n};\n\nconst v3 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'p',\n\t\t},\n\t\tcontentAlign: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'center',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundType,\n\t\t\tcontentAlign,\n\t\t\tcustomOverlayColor,\n\t\t\tdimRatio,\n\t\t\tfocalPoint,\n\t\t\thasParallax,\n\t\t\toverlayColor,\n\t\t\ttitle,\n\t\t\turl,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst style =\n\t\t\tbackgroundType === IMAGE_BACKGROUND_TYPE\n\t\t\t\t? backgroundImageStyles( url )\n\t\t\t\t: {};\n\t\tif ( ! overlayColorClass ) {\n\t\t\tstyle.backgroundColor = customOverlayColor;\n\t\t}\n\t\tif ( focalPoint && ! hasParallax ) {\n\t\t\tstyle.backgroundPosition = `${ focalPoint.x * 100 }% ${\n\t\t\t\tfocalPoint.y * 100\n\t\t\t}%`;\n\t\t}\n\n\t\tconst classes = clsx(\n\t\t\tdimRatioToClassV1( dimRatio ),\n\t\t\toverlayColorClass,\n\t\t\t{\n\t\t\t\t'has-background-dim': dimRatio !== 0,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t[ `has-${ contentAlign }-content` ]: contentAlign !== 'center',\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<div className={ classes } style={ style }>\n\t\t\t\t{ VIDEO_BACKGROUND_TYPE === backgroundType && url && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! RichText.isEmpty( title ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\tclassName=\"wp-block-cover-text\"\n\t\t\t\t\t\tvalue={ title }\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\tconst newAttribs = {\n\t\t\t...attributes,\n\t\t\tdimRatio: ! attributes.url ? 100 : attributes.dimRatio,\n\t\t\ttagName: ! attributes.tagName ? 'div' : attributes.tagName,\n\t\t};\n\n\t\tconst { title, contentAlign, ...restAttributes } = newAttribs;\n\n\t\treturn [\n\t\t\trestAttributes,\n\t\t\t[\n\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\tcontent: attributes.title,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\ttextAlign: attributes.contentAlign,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tplaceholder: __( 'Write title…' ),\n\t\t\t\t} ),\n\t\t\t],\n\t\t];\n\t},\n};\n\nconst v2 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'p',\n\t\t},\n\t\tcontentAlign: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'center',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsupports: {\n\t\tclassName: false,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\turl,\n\t\t\ttitle,\n\t\t\thasParallax,\n\t\t\tdimRatio,\n\t\t\talign,\n\t\t\tcontentAlign,\n\t\t\toverlayColor,\n\t\t\tcustomOverlayColor,\n\t\t} = attributes;\n\t\tconst overlayColorClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayColor\n\t\t);\n\t\tconst style = backgroundImageStyles( url );\n\t\tif ( ! overlayColorClass ) {\n\t\t\tstyle.backgroundColor = customOverlayColor;\n\t\t}\n\n\t\tconst classes = clsx(\n\t\t\t'wp-block-cover-image',\n\t\t\tdimRatioToClassV1( dimRatio ),\n\t\t\toverlayColorClass,\n\t\t\t{\n\t\t\t\t'has-background-dim': dimRatio !== 0,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t\t[ `has-${ contentAlign }-content` ]: contentAlign !== 'center',\n\t\t\t},\n\t\t\talign ? `align${ align }` : null\n\t\t);\n\n\t\treturn (\n\t\t\t<div className={ classes } style={ style }>\n\t\t\t\t{ ! RichText.isEmpty( title ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\tclassName=\"wp-block-cover-image-text\"\n\t\t\t\t\t\tvalue={ title }\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\tconst newAttribs = {\n\t\t\t...attributes,\n\t\t\tdimRatio: ! attributes.url ? 100 : attributes.dimRatio,\n\t\t\ttagName: ! attributes.tagName ? 'div' : attributes.tagName,\n\t\t};\n\n\t\tconst { title, contentAlign, align, ...restAttributes } = newAttribs;\n\n\t\treturn [\n\t\t\trestAttributes,\n\t\t\t[\n\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\tcontent: attributes.title,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\ttextAlign: attributes.contentAlign,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tplaceholder: __( 'Write title…' ),\n\t\t\t\t} ),\n\t\t\t],\n\t\t];\n\t},\n};\n\nconst v1 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'h2',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcontentAlign: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'center',\n\t\t},\n\t},\n\tsupports: {\n\t\tclassName: false,\n\t},\n\tsave( { attributes } ) {\n\t\tconst { url, title, hasParallax, dimRatio, align } = attributes;\n\t\tconst style = backgroundImageStyles( url );\n\t\tconst classes = clsx(\n\t\t\t'wp-block-cover-image',\n\t\t\tdimRatioToClassV1( dimRatio ),\n\t\t\t{\n\t\t\t\t'has-background-dim': dimRatio !== 0,\n\t\t\t\t'has-parallax': hasParallax,\n\t\t\t},\n\t\t\talign ? `align${ align }` : null\n\t\t);\n\n\t\treturn (\n\t\t\t<section className={ classes } style={ style }>\n\t\t\t\t<RichText.Content tagName=\"h2\" value={ title } />\n\t\t\t</section>\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tconst newAttribs = {\n\t\t\t...attributes,\n\t\t\tdimRatio: ! attributes.url ? 100 : attributes.dimRatio,\n\t\t\ttagName: ! attributes.tagName ? 'div' : attributes.tagName,\n\t\t};\n\t\tconst { title, contentAlign, align, ...restAttributes } = newAttribs;\n\n\t\treturn [\n\t\t\trestAttributes,\n\t\t\t[\n\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\tcontent: attributes.title,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\ttextAlign: attributes.contentAlign,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tplaceholder: __( 'Write title…' ),\n\t\t\t\t} ),\n\t\t\t],\n\t\t];\n\t},\n};\n\nexport default [ v14, v13, v12, v11, v10, v9, v8, v7, v6, v5, v4, v3, v2, v1 ];\n"],
5
+ "mappings": "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",
6
6
  "names": ["clsx"]
7
7
  }
@@ -51,6 +51,9 @@ function CoverBlockControls({
51
51
  toggleUseFeaturedImage,
52
52
  onClearMedia,
53
53
  onSelectEmbedUrl,
54
+ onEditMedia,
55
+ editMediaButtonRef,
56
+ showEditMediaButton,
54
57
  blockEditingMode
55
58
  }) {
56
59
  const {
@@ -115,6 +118,16 @@ function CoverBlockControls({
115
118
  onToggle: toggleMinFullHeight,
116
119
  isDisabled: !hasInnerBlocks
117
120
  }
121
+ ),
122
+ showEditMediaButton && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
123
+ import_components.ToolbarButton,
124
+ {
125
+ ref: editMediaButtonRef,
126
+ icon: import_icons.crop,
127
+ label: (0, import_i18n.__)("Crop background image"),
128
+ onClick: onEditMedia,
129
+ "aria-haspopup": "dialog"
130
+ }
118
131
  )
119
132
  ] }),
120
133
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.BlockControls, { group: "other", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cover/edit/block-controls.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\n\nimport {\n\tBlockControls,\n\tMediaReplaceFlow,\n\t__experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl,\n\t__experimentalBlockFullHeightAligmentControl as FullHeightAlignmentControl,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { MenuItem } from '@wordpress/components';\nimport { link } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { ALLOWED_MEDIA_TYPES, EMBED_VIDEO_BACKGROUND_TYPE } from '../shared';\nimport { unlock } from '../../lock-unlock';\nimport EmbedVideoUrlInput from './embed-video-url-input';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nexport default function CoverBlockControls( {\n\tattributes,\n\tsetAttributes,\n\tonSelectMedia,\n\tcurrentSettings,\n\ttoggleUseFeaturedImage,\n\tonClearMedia,\n\tonSelectEmbedUrl,\n\tblockEditingMode,\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\tuseFeaturedImage,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\tbackgroundType,\n\t} = attributes;\n\tconst { hasInnerBlocks, url } = currentSettings;\n\n\tconst [ prevMinHeightValue, setPrevMinHeightValue ] = useState( minHeight );\n\tconst [ prevMinHeightUnit, setPrevMinHeightUnit ] =\n\t\tuseState( minHeightUnit );\n\tconst [ isEmbedUrlInputOpen, setIsEmbedUrlInputOpen ] = useState( false );\n\tconst isMinFullHeight =\n\t\tminHeightUnit === 'vh' &&\n\t\tminHeight === 100 &&\n\t\t! attributes?.style?.dimensions?.aspectRatio;\n\tconst isContentOnlyMode = blockEditingMode === 'contentOnly';\n\n\tconst toggleMinFullHeight = () => {\n\t\tif ( isMinFullHeight ) {\n\t\t\t// If there aren't previous values, take the default ones.\n\t\t\tif ( prevMinHeightUnit === 'vh' && prevMinHeightValue === 100 ) {\n\t\t\t\treturn setAttributes( {\n\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Set the previous values of height.\n\t\t\treturn setAttributes( {\n\t\t\t\tminHeight: prevMinHeightValue,\n\t\t\t\tminHeightUnit: prevMinHeightUnit,\n\t\t\t} );\n\t\t}\n\n\t\tsetPrevMinHeightValue( minHeight );\n\t\tsetPrevMinHeightUnit( minHeightUnit );\n\n\t\t// Set full height, and clear any aspect ratio value.\n\t\treturn setAttributes( {\n\t\t\tminHeight: 100,\n\t\t\tminHeightUnit: 'vh',\n\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t...attributes?.style,\n\t\t\t\tdimensions: {\n\t\t\t\t\t...attributes?.style?.dimensions,\n\t\t\t\t\taspectRatio: undefined, // Reset aspect ratio when minHeight is set.\n\t\t\t\t},\n\t\t\t} ),\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{ ! isContentOnlyMode && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<BlockAlignmentMatrixControl\n\t\t\t\t\t\tlabel={ __( 'Change content position' ) }\n\t\t\t\t\t\tvalue={ contentPosition }\n\t\t\t\t\t\tonChange={ ( nextPosition ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tcontentPosition: nextPosition,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t\t/>\n\t\t\t\t\t<FullHeightAlignmentControl\n\t\t\t\t\t\tisActive={ isMinFullHeight }\n\t\t\t\t\t\tonToggle={ toggleMinFullHeight }\n\t\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\tuseFeaturedImage={ useFeaturedImage }\n\t\t\t\t\tname={ ! url ? __( 'Add media' ) : __( 'Replace' ) }\n\t\t\t\t\tonReset={ onClearMedia }\n\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetIsEmbedUrlInputOpen( true );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Embed video from URL' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t) }\n\t\t\t\t</MediaReplaceFlow>\n\t\t\t</BlockControls>\n\t\t\t{ isEmbedUrlInputOpen && (\n\t\t\t\t<EmbedVideoUrlInput\n\t\t\t\t\tonSubmit={ ( embedUrl ) => {\n\t\t\t\t\t\tonSelectEmbedUrl( embedUrl );\n\t\t\t\t\t} }\n\t\t\t\t\tonClose={ () => setIsEmbedUrlInputOpen( false ) }\n\t\t\t\t\tinitialUrl={\n\t\t\t\t\t\tbackgroundType === EMBED_VIDEO_BACKGROUND_TYPE\n\t\t\t\t\t\t\t? url\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\n\nimport {\n\tBlockControls,\n\tMediaReplaceFlow,\n\t__experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl,\n\t__experimentalBlockFullHeightAligmentControl as FullHeightAlignmentControl,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { MenuItem, ToolbarButton } from '@wordpress/components';\nimport { crop, link } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { ALLOWED_MEDIA_TYPES, EMBED_VIDEO_BACKGROUND_TYPE } from '../shared';\nimport { unlock } from '../../lock-unlock';\nimport EmbedVideoUrlInput from './embed-video-url-input';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nexport default function CoverBlockControls( {\n\tattributes,\n\tsetAttributes,\n\tonSelectMedia,\n\tcurrentSettings,\n\ttoggleUseFeaturedImage,\n\tonClearMedia,\n\tonSelectEmbedUrl,\n\tonEditMedia,\n\teditMediaButtonRef,\n\tshowEditMediaButton,\n\tblockEditingMode,\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\tuseFeaturedImage,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\tbackgroundType,\n\t} = attributes;\n\tconst { hasInnerBlocks, url } = currentSettings;\n\n\tconst [ prevMinHeightValue, setPrevMinHeightValue ] = useState( minHeight );\n\tconst [ prevMinHeightUnit, setPrevMinHeightUnit ] =\n\t\tuseState( minHeightUnit );\n\tconst [ isEmbedUrlInputOpen, setIsEmbedUrlInputOpen ] = useState( false );\n\tconst isMinFullHeight =\n\t\tminHeightUnit === 'vh' &&\n\t\tminHeight === 100 &&\n\t\t! attributes?.style?.dimensions?.aspectRatio;\n\tconst isContentOnlyMode = blockEditingMode === 'contentOnly';\n\n\tconst toggleMinFullHeight = () => {\n\t\tif ( isMinFullHeight ) {\n\t\t\t// If there aren't previous values, take the default ones.\n\t\t\tif ( prevMinHeightUnit === 'vh' && prevMinHeightValue === 100 ) {\n\t\t\t\treturn setAttributes( {\n\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Set the previous values of height.\n\t\t\treturn setAttributes( {\n\t\t\t\tminHeight: prevMinHeightValue,\n\t\t\t\tminHeightUnit: prevMinHeightUnit,\n\t\t\t} );\n\t\t}\n\n\t\tsetPrevMinHeightValue( minHeight );\n\t\tsetPrevMinHeightUnit( minHeightUnit );\n\n\t\t// Set full height, and clear any aspect ratio value.\n\t\treturn setAttributes( {\n\t\t\tminHeight: 100,\n\t\t\tminHeightUnit: 'vh',\n\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t...attributes?.style,\n\t\t\t\tdimensions: {\n\t\t\t\t\t...attributes?.style?.dimensions,\n\t\t\t\t\taspectRatio: undefined, // Reset aspect ratio when minHeight is set.\n\t\t\t\t},\n\t\t\t} ),\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{ ! isContentOnlyMode && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<BlockAlignmentMatrixControl\n\t\t\t\t\t\tlabel={ __( 'Change content position' ) }\n\t\t\t\t\t\tvalue={ contentPosition }\n\t\t\t\t\t\tonChange={ ( nextPosition ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tcontentPosition: nextPosition,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t\t/>\n\t\t\t\t\t<FullHeightAlignmentControl\n\t\t\t\t\t\tisActive={ isMinFullHeight }\n\t\t\t\t\t\tonToggle={ toggleMinFullHeight }\n\t\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t\t/>\n\t\t\t\t\t{ showEditMediaButton && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tref={ editMediaButtonRef }\n\t\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\t\tlabel={ __( 'Crop background image' ) }\n\t\t\t\t\t\t\tonClick={ onEditMedia }\n\t\t\t\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\tuseFeaturedImage={ useFeaturedImage }\n\t\t\t\t\tname={ ! url ? __( 'Add media' ) : __( 'Replace' ) }\n\t\t\t\t\tonReset={ onClearMedia }\n\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetIsEmbedUrlInputOpen( true );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Embed video from URL' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t) }\n\t\t\t\t</MediaReplaceFlow>\n\t\t\t</BlockControls>\n\t\t\t{ isEmbedUrlInputOpen && (\n\t\t\t\t<EmbedVideoUrlInput\n\t\t\t\t\tonSubmit={ ( embedUrl ) => {\n\t\t\t\t\t\tonSelectEmbedUrl( embedUrl );\n\t\t\t\t\t} }\n\t\t\t\t\tonClose={ () => setIsEmbedUrlInputOpen( false ) }\n\t\t\t\t\tinitialUrl={\n\t\t\t\t\t\tbackgroundType === EMBED_VIDEO_BACKGROUND_TYPE\n\t\t\t\t\t\t\t? url\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["blockEditorPrivateApis", "BlockAlignmentMatrixControl", "FullHeightAlignmentControl", "EmbedVideoUrlInput"]
7
7
  }
@@ -51,7 +51,9 @@ var import_resizable_cover_popover = __toESM(require("./resizable-cover-popover.
51
51
  var import_color_utils = require("./color-utils.cjs");
52
52
  var import_constants = require("../constants.cjs");
53
53
  var import_embed_video_utils = require("../embed-video-utils.cjs");
54
+ var import_lock_unlock = require("../../lock-unlock.cjs");
54
55
  var import_jsx_runtime = require("react/jsx-runtime");
56
+ var { openMediaEditorModalKey } = (0, import_lock_unlock.unlock)(import_block_editor.privateApis);
55
57
  function getInnerBlocksTemplate(attributes) {
56
58
  return [
57
59
  [
@@ -62,7 +64,7 @@ function getInnerBlocksTemplate(attributes) {
62
64
  textAlign: "center"
63
65
  }
64
66
  },
65
- placeholder: (0, import_i18n.__)("Write title\u2026"),
67
+ placeholder: (0, import_i18n.__)("Write title"),
66
68
  ...attributes
67
69
  }
68
70
  ]
@@ -107,6 +109,10 @@ function CoverEdit({
107
109
  postId
108
110
  );
109
111
  const { getSettings } = (0, import_data.useSelect)(import_block_editor.store);
112
+ const openMediaEditorModal = (0, import_data.useSelect)(
113
+ (select) => select(import_block_editor.store).getSettings()[openMediaEditorModalKey],
114
+ []
115
+ );
110
116
  const { __unstableMarkNextChangeAsNotPersistent } = (0, import_data.useDispatch)(import_block_editor.store);
111
117
  const propsRef = (0, import_element.useRef)({ attributes, overlayColor });
112
118
  (0, import_element.useLayoutEffect)(() => {
@@ -348,6 +354,7 @@ function CoverEdit({
348
354
  }
349
355
  );
350
356
  const mediaElement = (0, import_element.useRef)();
357
+ const editMediaButtonRef = (0, import_element.useRef)();
351
358
  const currentSettings = {
352
359
  isVideoBackground,
353
360
  isImageBackground,
@@ -357,6 +364,55 @@ function CoverEdit({
357
364
  isImgElement,
358
365
  overlayColor
359
366
  };
367
+ const openCoverMediaEditorModal = (0, import_element.useCallback)(() => {
368
+ if (!id || !openMediaEditorModal) {
369
+ return;
370
+ }
371
+ openMediaEditorModal({
372
+ id,
373
+ onClose: () => {
374
+ editMediaButtonRef.current?.focus();
375
+ },
376
+ onUpdate: async ({ id: newId, url: newUrl }) => {
377
+ if (typeof newId !== "number") {
378
+ return;
379
+ }
380
+ const nextAttributes = {
381
+ id: newId,
382
+ backgroundType: import_shared.IMAGE_BACKGROUND_TYPE,
383
+ ...newUrl ? { url: newUrl } : {},
384
+ ...newId !== id ? { sizeSlug: import_constants.DEFAULT_MEDIA_SIZE_SLUG } : {}
385
+ };
386
+ if (newUrl) {
387
+ const averageBackgroundColor = await (0, import_color_utils.getMediaColor)(newUrl);
388
+ const {
389
+ attributes: currentAttrs,
390
+ overlayColor: currentOverlay
391
+ } = propsRef.current;
392
+ let newOverlayColor = currentOverlay.color;
393
+ if (!currentAttrs.isUserOverlayColor) {
394
+ newOverlayColor = averageBackgroundColor;
395
+ setOverlayColor(newOverlayColor);
396
+ __unstableMarkNextChangeAsNotPersistent();
397
+ }
398
+ nextAttributes.isDark = (0, import_color_utils.compositeIsDark)(
399
+ currentAttrs.dimRatio,
400
+ newOverlayColor,
401
+ averageBackgroundColor
402
+ );
403
+ nextAttributes.isUserOverlayColor = currentAttrs.isUserOverlayColor || false;
404
+ }
405
+ setAttributes(nextAttributes);
406
+ }
407
+ });
408
+ }, [
409
+ id,
410
+ openMediaEditorModal,
411
+ setAttributes,
412
+ setOverlayColor,
413
+ __unstableMarkNextChangeAsNotPersistent
414
+ ]);
415
+ const showEditMediaButton = hasNonContentControls && !useFeaturedImage && isImageBackground && !!id && !!url && !isUploadingMedia && !!openMediaEditorModal;
360
416
  const toggleUseFeaturedImage = async () => {
361
417
  const newUseFeaturedImage = !useFeaturedImage;
362
418
  const averageBackgroundColor = newUseFeaturedImage ? await (0, import_color_utils.getMediaColor)(mediaUrl) : import_color_utils.DEFAULT_BACKGROUND_COLOR;
@@ -395,7 +451,10 @@ function CoverEdit({
395
451
  currentSettings,
396
452
  toggleUseFeaturedImage,
397
453
  onClearMedia,
398
- blockEditingMode
454
+ blockEditingMode,
455
+ onEditMedia: openCoverMediaEditorModal,
456
+ editMediaButtonRef,
457
+ showEditMediaButton
399
458
  }
400
459
  );
401
460
  const inspectorControls = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(