@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": []
7
7
  }
@@ -8,8 +8,8 @@ import {
8
8
  privateApis as blockEditorPrivateApis
9
9
  } from "@wordpress/block-editor";
10
10
  import { __ } from "@wordpress/i18n";
11
- import { MenuItem } from "@wordpress/components";
12
- import { link } from "@wordpress/icons";
11
+ import { MenuItem, ToolbarButton } from "@wordpress/components";
12
+ import { crop, link } from "@wordpress/icons";
13
13
  import { ALLOWED_MEDIA_TYPES, EMBED_VIDEO_BACKGROUND_TYPE } from "../shared.mjs";
14
14
  import { unlock } from "../../lock-unlock.mjs";
15
15
  import EmbedVideoUrlInput from "./embed-video-url-input.mjs";
@@ -23,6 +23,9 @@ function CoverBlockControls({
23
23
  toggleUseFeaturedImage,
24
24
  onClearMedia,
25
25
  onSelectEmbedUrl,
26
+ onEditMedia,
27
+ editMediaButtonRef,
28
+ showEditMediaButton,
26
29
  blockEditingMode
27
30
  }) {
28
31
  const {
@@ -87,6 +90,16 @@ function CoverBlockControls({
87
90
  onToggle: toggleMinFullHeight,
88
91
  isDisabled: !hasInnerBlocks
89
92
  }
93
+ ),
94
+ showEditMediaButton && /* @__PURE__ */ jsx(
95
+ ToolbarButton,
96
+ {
97
+ ref: editMediaButtonRef,
98
+ icon: crop,
99
+ label: __("Crop background image"),
100
+ onClick: onEditMedia,
101
+ "aria-haspopup": "dialog"
102
+ }
90
103
  )
91
104
  ] }),
92
105
  /* @__PURE__ */ jsx(BlockControls, { group: "other", children: /* @__PURE__ */ 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": []
7
7
  }
@@ -2,6 +2,7 @@
2
2
  import clsx from "clsx";
3
3
  import { useEntityProp, store as coreStore } from "@wordpress/core-data";
4
4
  import {
5
+ useCallback,
5
6
  useEffect,
6
7
  useLayoutEffect,
7
8
  useMemo,
@@ -17,7 +18,8 @@ import {
17
18
  useInnerBlocksProps,
18
19
  __experimentalUseGradient,
19
20
  store as blockEditorStore,
20
- useBlockEditingMode
21
+ useBlockEditingMode,
22
+ privateApis as blockEditorPrivateApis
21
23
  } from "@wordpress/block-editor";
22
24
  import { __ } from "@wordpress/i18n";
23
25
  import { useSelect, useDispatch } from "@wordpress/data";
@@ -45,7 +47,9 @@ import {
45
47
  } from "./color-utils.mjs";
46
48
  import { DEFAULT_MEDIA_SIZE_SLUG } from "../constants.mjs";
47
49
  import { getBackgroundEmbedHtml } from "../embed-video-utils.mjs";
50
+ import { unlock } from "../../lock-unlock.mjs";
48
51
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
52
+ var { openMediaEditorModalKey } = unlock(blockEditorPrivateApis);
49
53
  function getInnerBlocksTemplate(attributes) {
50
54
  return [
51
55
  [
@@ -56,7 +60,7 @@ function getInnerBlocksTemplate(attributes) {
56
60
  textAlign: "center"
57
61
  }
58
62
  },
59
- placeholder: __("Write title\u2026"),
63
+ placeholder: __("Write title"),
60
64
  ...attributes
61
65
  }
62
66
  ]
@@ -101,6 +105,10 @@ function CoverEdit({
101
105
  postId
102
106
  );
103
107
  const { getSettings } = useSelect(blockEditorStore);
108
+ const openMediaEditorModal = useSelect(
109
+ (select) => select(blockEditorStore).getSettings()[openMediaEditorModalKey],
110
+ []
111
+ );
104
112
  const { __unstableMarkNextChangeAsNotPersistent } = useDispatch(blockEditorStore);
105
113
  const propsRef = useRef({ attributes, overlayColor });
106
114
  useLayoutEffect(() => {
@@ -342,6 +350,7 @@ function CoverEdit({
342
350
  }
343
351
  );
344
352
  const mediaElement = useRef();
353
+ const editMediaButtonRef = useRef();
345
354
  const currentSettings = {
346
355
  isVideoBackground,
347
356
  isImageBackground,
@@ -351,6 +360,55 @@ function CoverEdit({
351
360
  isImgElement,
352
361
  overlayColor
353
362
  };
363
+ const openCoverMediaEditorModal = useCallback(() => {
364
+ if (!id || !openMediaEditorModal) {
365
+ return;
366
+ }
367
+ openMediaEditorModal({
368
+ id,
369
+ onClose: () => {
370
+ editMediaButtonRef.current?.focus();
371
+ },
372
+ onUpdate: async ({ id: newId, url: newUrl }) => {
373
+ if (typeof newId !== "number") {
374
+ return;
375
+ }
376
+ const nextAttributes = {
377
+ id: newId,
378
+ backgroundType: IMAGE_BACKGROUND_TYPE,
379
+ ...newUrl ? { url: newUrl } : {},
380
+ ...newId !== id ? { sizeSlug: DEFAULT_MEDIA_SIZE_SLUG } : {}
381
+ };
382
+ if (newUrl) {
383
+ const averageBackgroundColor = await getMediaColor(newUrl);
384
+ const {
385
+ attributes: currentAttrs,
386
+ overlayColor: currentOverlay
387
+ } = propsRef.current;
388
+ let newOverlayColor = currentOverlay.color;
389
+ if (!currentAttrs.isUserOverlayColor) {
390
+ newOverlayColor = averageBackgroundColor;
391
+ setOverlayColor(newOverlayColor);
392
+ __unstableMarkNextChangeAsNotPersistent();
393
+ }
394
+ nextAttributes.isDark = compositeIsDark(
395
+ currentAttrs.dimRatio,
396
+ newOverlayColor,
397
+ averageBackgroundColor
398
+ );
399
+ nextAttributes.isUserOverlayColor = currentAttrs.isUserOverlayColor || false;
400
+ }
401
+ setAttributes(nextAttributes);
402
+ }
403
+ });
404
+ }, [
405
+ id,
406
+ openMediaEditorModal,
407
+ setAttributes,
408
+ setOverlayColor,
409
+ __unstableMarkNextChangeAsNotPersistent
410
+ ]);
411
+ const showEditMediaButton = hasNonContentControls && !useFeaturedImage && isImageBackground && !!id && !!url && !isUploadingMedia && !!openMediaEditorModal;
354
412
  const toggleUseFeaturedImage = async () => {
355
413
  const newUseFeaturedImage = !useFeaturedImage;
356
414
  const averageBackgroundColor = newUseFeaturedImage ? await getMediaColor(mediaUrl) : DEFAULT_BACKGROUND_COLOR;
@@ -389,7 +447,10 @@ function CoverEdit({
389
447
  currentSettings,
390
448
  toggleUseFeaturedImage,
391
449
  onClearMedia,
392
- blockEditingMode
450
+ blockEditingMode,
451
+ onEditMedia: openCoverMediaEditorModal,
452
+ editMediaButtonRef,
453
+ showEditMediaButton
393
454
  }
394
455
  );
395
456
  const inspectorControls = /* @__PURE__ */ jsx(