@wordpress/block-library 8.4.0 → 8.6.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 (607) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/archives/edit.js +3 -0
  3. package/build/archives/edit.js.map +1 -1
  4. package/build/audio/edit.js +2 -0
  5. package/build/audio/edit.js.map +1 -1
  6. package/build/avatar/edit.js +5 -9
  7. package/build/avatar/edit.js.map +1 -1
  8. package/build/buttons/edit.native.js +1 -1
  9. package/build/buttons/edit.native.js.map +1 -1
  10. package/build/categories/edit.js +5 -0
  11. package/build/categories/edit.js.map +1 -1
  12. package/build/columns/edit.js +11 -8
  13. package/build/columns/edit.js.map +1 -1
  14. package/build/columns/edit.native.js +1 -1
  15. package/build/columns/edit.native.js.map +1 -1
  16. package/build/columns/utils.js +2 -2
  17. package/build/columns/utils.js.map +1 -1
  18. package/build/comment-author-name/edit.js +2 -0
  19. package/build/comment-author-name/edit.js.map +1 -1
  20. package/build/comment-date/edit.js +1 -0
  21. package/build/comment-date/edit.js.map +1 -1
  22. package/build/comment-edit-link/edit.js +1 -0
  23. package/build/comment-edit-link/edit.js.map +1 -1
  24. package/build/comments/edit/placeholder.js +8 -5
  25. package/build/comments/edit/placeholder.js.map +1 -1
  26. package/build/comments-title/edit.js +2 -0
  27. package/build/comments-title/edit.js.map +1 -1
  28. package/build/cover/edit/inspector-controls.js +2 -0
  29. package/build/cover/edit/inspector-controls.js.map +1 -1
  30. package/build/cover/index.js +13 -4
  31. package/build/cover/index.js.map +1 -1
  32. package/build/cover/variations.js +29 -0
  33. package/build/cover/variations.js.map +1 -0
  34. package/build/embed/edit.js +13 -14
  35. package/build/embed/edit.js.map +1 -1
  36. package/build/embed/edit.native.js +18 -14
  37. package/build/embed/edit.native.js.map +1 -1
  38. package/build/embed/embed-controls.js +1 -0
  39. package/build/embed/embed-controls.js.map +1 -1
  40. package/build/embed/util.js +39 -12
  41. package/build/embed/util.js.map +1 -1
  42. package/build/file/inspector.js +3 -0
  43. package/build/file/inspector.js.map +1 -1
  44. package/build/freeform/modal.js +1 -1
  45. package/build/freeform/modal.js.map +1 -1
  46. package/build/gallery/edit.js +3 -0
  47. package/build/gallery/edit.js.map +1 -1
  48. package/build/gallery/shared.js +4 -8
  49. package/build/gallery/shared.js.map +1 -1
  50. package/build/gallery/use-image-sizes.js +4 -8
  51. package/build/gallery/use-image-sizes.js.map +1 -1
  52. package/build/gallery/v1/edit.js +8 -3
  53. package/build/gallery/v1/edit.js.map +1 -1
  54. package/build/gallery/v1/gallery-image.js +1 -3
  55. package/build/gallery/v1/gallery-image.js.map +1 -1
  56. package/build/gallery/v1/shared.js +4 -7
  57. package/build/gallery/v1/shared.js.map +1 -1
  58. package/build/image/edit.js +6 -4
  59. package/build/image/edit.js.map +1 -1
  60. package/build/image/image.js +6 -2
  61. package/build/image/image.js.map +1 -1
  62. package/build/image/utils.js +3 -1
  63. package/build/image/utils.js.map +1 -1
  64. package/build/index.js +3 -1
  65. package/build/index.js.map +1 -1
  66. package/build/latest-comments/edit.js +3 -0
  67. package/build/latest-comments/edit.js.map +1 -1
  68. package/build/latest-posts/edit.js +14 -10
  69. package/build/latest-posts/edit.js.map +1 -1
  70. package/build/latest-posts/edit.native.js +3 -3
  71. package/build/latest-posts/edit.native.js.map +1 -1
  72. package/build/list/ordered-list-settings.js +1 -0
  73. package/build/list/ordered-list-settings.js.map +1 -1
  74. package/build/list-item/edit.js +2 -2
  75. package/build/list-item/edit.js.map +1 -1
  76. package/build/list-item/hooks/use-outdent-list-item.js +2 -1
  77. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  78. package/build/loginout/edit.js +2 -0
  79. package/build/loginout/edit.js.map +1 -1
  80. package/build/media-text/constants.js +17 -1
  81. package/build/media-text/constants.js.map +1 -1
  82. package/build/media-text/edit.js +9 -19
  83. package/build/media-text/edit.js.map +1 -1
  84. package/build/media-text/edit.native.js +6 -5
  85. package/build/media-text/edit.native.js.map +1 -1
  86. package/build/media-text/transforms.js +32 -44
  87. package/build/media-text/transforms.js.map +1 -1
  88. package/build/more/edit.js +1 -0
  89. package/build/more/edit.js.map +1 -1
  90. package/build/navigation/edit/index.js +64 -68
  91. package/build/navigation/edit/index.js.map +1 -1
  92. package/build/navigation/edit/inner-blocks.js +4 -1
  93. package/build/navigation/edit/inner-blocks.js.map +1 -1
  94. package/build/navigation/edit/menu-inspector-controls.js +2 -5
  95. package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
  96. package/build/navigation/edit/navigation-menu-selector.js +26 -22
  97. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  98. package/build/navigation/edit/overlay-menu-preview.js +1 -0
  99. package/build/navigation/edit/overlay-menu-preview.js.map +1 -1
  100. package/build/navigation/edit/placeholder/index.js +1 -1
  101. package/build/navigation/edit/placeholder/index.js.map +1 -1
  102. package/build/navigation/edit/unsaved-inner-blocks.js +14 -1
  103. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  104. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +3 -5
  105. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  106. package/build/navigation/edit/use-create-navigation-menu.js +1 -1
  107. package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
  108. package/build/navigation/edit/use-generate-default-navigation-title.js +1 -1
  109. package/build/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  110. package/build/navigation/edit/use-navigation-notice.js +4 -7
  111. package/build/navigation/edit/use-navigation-notice.js.map +1 -1
  112. package/build/navigation-link/edit.js +0 -11
  113. package/build/navigation-link/edit.js.map +1 -1
  114. package/build/navigation-submenu/edit.js +1 -13
  115. package/build/navigation-submenu/edit.js.map +1 -1
  116. package/build/page-list/convert-to-links-modal.js +47 -0
  117. package/build/page-list/convert-to-links-modal.js.map +1 -0
  118. package/build/page-list/edit.js +62 -62
  119. package/build/page-list/edit.js.map +1 -1
  120. package/build/page-list-item/edit.js +3 -2
  121. package/build/page-list-item/edit.js.map +1 -1
  122. package/build/paragraph/edit.js +1 -0
  123. package/build/paragraph/edit.js.map +1 -1
  124. package/build/post-author/edit.js +4 -0
  125. package/build/post-author/edit.js.map +1 -1
  126. package/build/post-author-name/edit.js +2 -0
  127. package/build/post-author-name/edit.js.map +1 -1
  128. package/build/post-content/edit.js +6 -1
  129. package/build/post-content/edit.js.map +1 -1
  130. package/build/post-date/edit.js +2 -0
  131. package/build/post-date/edit.js.map +1 -1
  132. package/build/post-excerpt/edit.js +1 -0
  133. package/build/post-excerpt/edit.js.map +1 -1
  134. package/build/post-featured-image/dimension-controls.js +0 -6
  135. package/build/post-featured-image/dimension-controls.js.map +1 -1
  136. package/build/post-featured-image/edit.js +3 -1
  137. package/build/post-featured-image/edit.js.map +1 -1
  138. package/build/post-navigation-link/edit.js +2 -0
  139. package/build/post-navigation-link/edit.js.map +1 -1
  140. package/build/post-terms/use-post-terms.js +1 -1
  141. package/build/post-terms/use-post-terms.js.map +1 -1
  142. package/build/post-time-to-read/edit.js +104 -0
  143. package/build/post-time-to-read/edit.js.map +1 -0
  144. package/build/post-time-to-read/icon.js +25 -0
  145. package/build/post-time-to-read/icon.js.map +1 -0
  146. package/build/post-time-to-read/index.js +57 -0
  147. package/build/post-time-to-read/index.js.map +1 -0
  148. package/build/post-title/edit.js +2 -0
  149. package/build/post-title/edit.js.map +1 -1
  150. package/build/pullquote/deprecated.js +3 -3
  151. package/build/pullquote/deprecated.js.map +1 -1
  152. package/build/query/edit/inspector-controls/index.js +1 -0
  153. package/build/query/edit/inspector-controls/index.js.map +1 -1
  154. package/build/query/edit/query-placeholder.js +3 -2
  155. package/build/query/edit/query-placeholder.js.map +1 -1
  156. package/build/query/utils.js +26 -9
  157. package/build/query/utils.js.map +1 -1
  158. package/build/query-title/edit.js +2 -0
  159. package/build/query-title/edit.js.map +1 -1
  160. package/build/read-more/edit.js +1 -0
  161. package/build/read-more/edit.js.map +1 -1
  162. package/build/rss/edit.js +3 -0
  163. package/build/rss/edit.js.map +1 -1
  164. package/build/site-logo/edit.js +3 -0
  165. package/build/site-logo/edit.js.map +1 -1
  166. package/build/site-tagline/index.js +1 -0
  167. package/build/site-tagline/index.js.map +1 -1
  168. package/build/site-title/edit/index.js +2 -0
  169. package/build/site-title/edit/index.js.map +1 -1
  170. package/build/social-links/edit.js +4 -1
  171. package/build/social-links/edit.js.map +1 -1
  172. package/build/spacer/controls.native.js +10 -8
  173. package/build/spacer/controls.native.js.map +1 -1
  174. package/build/spacer/edit.native.js +43 -5
  175. package/build/spacer/edit.native.js.map +1 -1
  176. package/build/spacer/save.native.js +30 -0
  177. package/build/spacer/save.native.js.map +1 -0
  178. package/build/table/edit.js +3 -0
  179. package/build/table/edit.js.map +1 -1
  180. package/build/table/state.js +12 -4
  181. package/build/table/state.js.map +1 -1
  182. package/build/table-of-contents/edit.js +1 -0
  183. package/build/table-of-contents/edit.js.map +1 -1
  184. package/build/tag-cloud/edit.js +1 -0
  185. package/build/tag-cloud/edit.js.map +1 -1
  186. package/build/template-part/edit/import-controls.js +33 -30
  187. package/build/template-part/edit/import-controls.js.map +1 -1
  188. package/build/template-part/edit/utils/transformers.js +69 -19
  189. package/build/template-part/edit/utils/transformers.js.map +1 -1
  190. package/build/text-columns/edit.js +3 -7
  191. package/build/text-columns/edit.js.map +1 -1
  192. package/build/text-columns/save.js +11 -13
  193. package/build/text-columns/save.js.map +1 -1
  194. package/build/video/edit-common-settings.js +5 -0
  195. package/build/video/edit-common-settings.js.map +1 -1
  196. package/build-module/archives/edit.js +3 -0
  197. package/build-module/archives/edit.js.map +1 -1
  198. package/build-module/audio/edit.js +2 -0
  199. package/build-module/audio/edit.js.map +1 -1
  200. package/build-module/avatar/edit.js +5 -8
  201. package/build-module/avatar/edit.js.map +1 -1
  202. package/build-module/buttons/edit.native.js +1 -1
  203. package/build-module/buttons/edit.native.js.map +1 -1
  204. package/build-module/categories/edit.js +5 -0
  205. package/build-module/categories/edit.js.map +1 -1
  206. package/build-module/columns/edit.js +11 -7
  207. package/build-module/columns/edit.js.map +1 -1
  208. package/build-module/columns/edit.native.js +1 -1
  209. package/build-module/columns/edit.native.js.map +1 -1
  210. package/build-module/columns/utils.js +3 -3
  211. package/build-module/columns/utils.js.map +1 -1
  212. package/build-module/comment-author-name/edit.js +2 -0
  213. package/build-module/comment-author-name/edit.js.map +1 -1
  214. package/build-module/comment-date/edit.js +1 -0
  215. package/build-module/comment-date/edit.js.map +1 -1
  216. package/build-module/comment-edit-link/edit.js +1 -0
  217. package/build-module/comment-edit-link/edit.js.map +1 -1
  218. package/build-module/comments/edit/placeholder.js +9 -5
  219. package/build-module/comments/edit/placeholder.js.map +1 -1
  220. package/build-module/comments-title/edit.js +2 -0
  221. package/build-module/comments-title/edit.js.map +1 -1
  222. package/build-module/cover/edit/inspector-controls.js +2 -0
  223. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  224. package/build-module/cover/index.js +12 -4
  225. package/build-module/cover/index.js.map +1 -1
  226. package/build-module/cover/variations.js +19 -0
  227. package/build-module/cover/variations.js.map +1 -0
  228. package/build-module/embed/edit.js +14 -15
  229. package/build-module/embed/edit.js.map +1 -1
  230. package/build-module/embed/edit.native.js +19 -15
  231. package/build-module/embed/edit.native.js.map +1 -1
  232. package/build-module/embed/embed-controls.js +1 -0
  233. package/build-module/embed/embed-controls.js.map +1 -1
  234. package/build-module/embed/util.js +34 -10
  235. package/build-module/embed/util.js.map +1 -1
  236. package/build-module/file/inspector.js +3 -0
  237. package/build-module/file/inspector.js.map +1 -1
  238. package/build-module/freeform/modal.js +1 -1
  239. package/build-module/freeform/modal.js.map +1 -1
  240. package/build-module/gallery/edit.js +3 -0
  241. package/build-module/gallery/edit.js.map +1 -1
  242. package/build-module/gallery/shared.js +4 -7
  243. package/build-module/gallery/shared.js.map +1 -1
  244. package/build-module/gallery/use-image-sizes.js +4 -7
  245. package/build-module/gallery/use-image-sizes.js.map +1 -1
  246. package/build-module/gallery/v1/edit.js +9 -4
  247. package/build-module/gallery/v1/edit.js.map +1 -1
  248. package/build-module/gallery/v1/gallery-image.js +1 -2
  249. package/build-module/gallery/v1/gallery-image.js.map +1 -1
  250. package/build-module/gallery/v1/shared.js +4 -6
  251. package/build-module/gallery/v1/shared.js.map +1 -1
  252. package/build-module/image/edit.js +7 -5
  253. package/build-module/image/edit.js.map +1 -1
  254. package/build-module/image/image.js +7 -3
  255. package/build-module/image/image.js.map +1 -1
  256. package/build-module/image/utils.js +4 -2
  257. package/build-module/image/utils.js.map +1 -1
  258. package/build-module/index.js +2 -1
  259. package/build-module/index.js.map +1 -1
  260. package/build-module/latest-comments/edit.js +3 -0
  261. package/build-module/latest-comments/edit.js.map +1 -1
  262. package/build-module/latest-posts/edit.js +14 -9
  263. package/build-module/latest-posts/edit.js.map +1 -1
  264. package/build-module/latest-posts/edit.native.js +3 -3
  265. package/build-module/latest-posts/edit.native.js.map +1 -1
  266. package/build-module/list/ordered-list-settings.js +1 -0
  267. package/build-module/list/ordered-list-settings.js.map +1 -1
  268. package/build-module/list-item/edit.js +2 -2
  269. package/build-module/list-item/edit.js.map +1 -1
  270. package/build-module/list-item/hooks/use-outdent-list-item.js +2 -1
  271. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  272. package/build-module/loginout/edit.js +2 -0
  273. package/build-module/loginout/edit.js.map +1 -1
  274. package/build-module/media-text/constants.js +10 -0
  275. package/build-module/media-text/constants.js.map +1 -1
  276. package/build-module/media-text/edit.js +4 -14
  277. package/build-module/media-text/edit.js.map +1 -1
  278. package/build-module/media-text/edit.native.js +4 -3
  279. package/build-module/media-text/edit.native.js.map +1 -1
  280. package/build-module/media-text/transforms.js +32 -44
  281. package/build-module/media-text/transforms.js.map +1 -1
  282. package/build-module/more/edit.js +1 -0
  283. package/build-module/more/edit.js.map +1 -1
  284. package/build-module/navigation/edit/index.js +65 -69
  285. package/build-module/navigation/edit/index.js.map +1 -1
  286. package/build-module/navigation/edit/inner-blocks.js +4 -1
  287. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  288. package/build-module/navigation/edit/menu-inspector-controls.js +2 -5
  289. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
  290. package/build-module/navigation/edit/navigation-menu-selector.js +25 -22
  291. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  292. package/build-module/navigation/edit/overlay-menu-preview.js +1 -0
  293. package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -1
  294. package/build-module/navigation/edit/placeholder/index.js +1 -1
  295. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  296. package/build-module/navigation/edit/unsaved-inner-blocks.js +14 -1
  297. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  298. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +3 -5
  299. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  300. package/build-module/navigation/edit/use-create-navigation-menu.js +1 -1
  301. package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
  302. package/build-module/navigation/edit/use-generate-default-navigation-title.js +1 -1
  303. package/build-module/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  304. package/build-module/navigation/edit/use-navigation-notice.js +5 -8
  305. package/build-module/navigation/edit/use-navigation-notice.js.map +1 -1
  306. package/build-module/navigation-link/edit.js +0 -11
  307. package/build-module/navigation-link/edit.js.map +1 -1
  308. package/build-module/navigation-submenu/edit.js +1 -13
  309. package/build-module/navigation-submenu/edit.js.map +1 -1
  310. package/build-module/page-list/convert-to-links-modal.js +35 -0
  311. package/build-module/page-list/convert-to-links-modal.js.map +1 -0
  312. package/build-module/page-list/edit.js +64 -65
  313. package/build-module/page-list/edit.js.map +1 -1
  314. package/build-module/page-list-item/edit.js +3 -2
  315. package/build-module/page-list-item/edit.js.map +1 -1
  316. package/build-module/paragraph/edit.js +1 -0
  317. package/build-module/paragraph/edit.js.map +1 -1
  318. package/build-module/post-author/edit.js +4 -0
  319. package/build-module/post-author/edit.js.map +1 -1
  320. package/build-module/post-author-name/edit.js +2 -0
  321. package/build-module/post-author-name/edit.js.map +1 -1
  322. package/build-module/post-content/edit.js +6 -1
  323. package/build-module/post-content/edit.js.map +1 -1
  324. package/build-module/post-date/edit.js +2 -0
  325. package/build-module/post-date/edit.js.map +1 -1
  326. package/build-module/post-excerpt/edit.js +1 -0
  327. package/build-module/post-excerpt/edit.js.map +1 -1
  328. package/build-module/post-featured-image/dimension-controls.js +0 -6
  329. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  330. package/build-module/post-featured-image/edit.js +3 -1
  331. package/build-module/post-featured-image/edit.js.map +1 -1
  332. package/build-module/post-navigation-link/edit.js +2 -0
  333. package/build-module/post-navigation-link/edit.js.map +1 -1
  334. package/build-module/post-terms/use-post-terms.js +1 -1
  335. package/build-module/post-terms/use-post-terms.js.map +1 -1
  336. package/build-module/post-time-to-read/edit.js +90 -0
  337. package/build-module/post-time-to-read/edit.js.map +1 -0
  338. package/build-module/post-time-to-read/icon.js +15 -0
  339. package/build-module/post-time-to-read/icon.js.map +1 -0
  340. package/build-module/post-time-to-read/index.js +40 -0
  341. package/build-module/post-time-to-read/index.js.map +1 -0
  342. package/build-module/post-title/edit.js +2 -0
  343. package/build-module/post-title/edit.js.map +1 -1
  344. package/build-module/pullquote/deprecated.js +3 -2
  345. package/build-module/pullquote/deprecated.js.map +1 -1
  346. package/build-module/query/edit/inspector-controls/index.js +1 -0
  347. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  348. package/build-module/query/edit/query-placeholder.js +4 -3
  349. package/build-module/query/edit/query-placeholder.js.map +1 -1
  350. package/build-module/query/utils.js +21 -6
  351. package/build-module/query/utils.js.map +1 -1
  352. package/build-module/query-title/edit.js +2 -0
  353. package/build-module/query-title/edit.js.map +1 -1
  354. package/build-module/read-more/edit.js +1 -0
  355. package/build-module/read-more/edit.js.map +1 -1
  356. package/build-module/rss/edit.js +3 -0
  357. package/build-module/rss/edit.js.map +1 -1
  358. package/build-module/site-logo/edit.js +3 -0
  359. package/build-module/site-logo/edit.js.map +1 -1
  360. package/build-module/site-tagline/index.js +1 -0
  361. package/build-module/site-tagline/index.js.map +1 -1
  362. package/build-module/site-title/edit/index.js +2 -0
  363. package/build-module/site-title/edit/index.js.map +1 -1
  364. package/build-module/social-links/edit.js +4 -1
  365. package/build-module/social-links/edit.js.map +1 -1
  366. package/build-module/spacer/controls.native.js +9 -8
  367. package/build-module/spacer/controls.native.js.map +1 -1
  368. package/build-module/spacer/edit.native.js +39 -7
  369. package/build-module/spacer/edit.native.js.map +1 -1
  370. package/build-module/spacer/save.native.js +22 -0
  371. package/build-module/spacer/save.native.js.map +1 -0
  372. package/build-module/table/edit.js +3 -0
  373. package/build-module/table/edit.js.map +1 -1
  374. package/build-module/table/state.js +13 -5
  375. package/build-module/table/state.js.map +1 -1
  376. package/build-module/table-of-contents/edit.js +1 -0
  377. package/build-module/table-of-contents/edit.js.map +1 -1
  378. package/build-module/tag-cloud/edit.js +1 -0
  379. package/build-module/tag-cloud/edit.js.map +1 -1
  380. package/build-module/template-part/edit/import-controls.js +32 -29
  381. package/build-module/template-part/edit/import-controls.js.map +1 -1
  382. package/build-module/template-part/edit/utils/transformers.js +69 -20
  383. package/build-module/template-part/edit/utils/transformers.js.map +1 -1
  384. package/build-module/text-columns/edit.js +3 -6
  385. package/build-module/text-columns/edit.js.map +1 -1
  386. package/build-module/text-columns/save.js +11 -12
  387. package/build-module/text-columns/save.js.map +1 -1
  388. package/build-module/video/edit-common-settings.js +5 -0
  389. package/build-module/video/edit-common-settings.js.map +1 -1
  390. package/build-style/cover/style-rtl.css +11 -5
  391. package/build-style/cover/style.css +11 -5
  392. package/build-style/editor-rtl.css +9 -4
  393. package/build-style/editor.css +9 -4
  394. package/build-style/navigation/editor-rtl.css +1 -1
  395. package/build-style/navigation/editor.css +1 -1
  396. package/build-style/page-list/editor-rtl.css +4 -0
  397. package/build-style/page-list/editor.css +4 -0
  398. package/build-style/post-excerpt/editor-rtl.css +1 -1
  399. package/build-style/post-excerpt/editor.css +1 -1
  400. package/build-style/post-featured-image/style-rtl.css +1 -0
  401. package/build-style/post-featured-image/style.css +1 -0
  402. package/build-style/query/editor-rtl.css +1 -0
  403. package/build-style/query/editor.css +1 -0
  404. package/build-style/site-logo/editor-rtl.css +2 -2
  405. package/build-style/site-logo/editor.css +2 -2
  406. package/build-style/style-rtl.css +12 -5
  407. package/build-style/style.css +12 -5
  408. package/package.json +31 -30
  409. package/src/archives/edit.js +3 -0
  410. package/src/audio/edit.js +2 -0
  411. package/src/audio/test/__snapshots__/edit.native.js.snap +82 -42
  412. package/src/audio/test/__snapshots__/transforms.native.js.snap +25 -0
  413. package/src/audio/test/transforms.native.js +42 -0
  414. package/src/avatar/edit.js +2 -4
  415. package/src/block/test/__snapshots__/transforms.native.js.snap +15 -0
  416. package/src/block/test/transforms.native.js +40 -0
  417. package/src/buttons/edit.native.js +1 -1
  418. package/src/buttons/test/__snapshots__/edit.native.js.snap +11 -11
  419. package/src/buttons/test/__snapshots__/transforms.native.js.snap +31 -0
  420. package/src/buttons/test/transforms.native.js +48 -0
  421. package/src/categories/edit.js +5 -0
  422. package/src/code/test/__snapshots__/edit.native.js.snap +2 -2
  423. package/src/columns/edit.js +29 -17
  424. package/src/columns/edit.native.js +1 -1
  425. package/src/columns/test/__snapshots__/edit.native.js.snap +66 -66
  426. package/src/columns/test/__snapshots__/transforms.native.js.snap +61 -0
  427. package/src/columns/test/transforms.native.js +91 -0
  428. package/src/columns/test/utils.js +54 -0
  429. package/src/columns/utils.js +8 -8
  430. package/src/comment-author-name/edit.js +2 -0
  431. package/src/comment-date/edit.js +1 -0
  432. package/src/comment-edit-link/edit.js +1 -0
  433. package/src/comment-template/index.php +1 -2
  434. package/src/comments/edit/placeholder.js +16 -4
  435. package/src/comments-title/edit.js +2 -0
  436. package/src/cover/block.json +9 -3
  437. package/src/cover/edit/inspector-controls.js +2 -0
  438. package/src/cover/index.js +2 -0
  439. package/src/cover/index.php +4 -6
  440. package/src/cover/style.scss +16 -7
  441. package/src/cover/test/__snapshots__/edit.native.js.snap +36 -36
  442. package/src/cover/test/__snapshots__/transforms.native.js.snap +73 -0
  443. package/src/cover/test/transforms.native.js +112 -0
  444. package/src/cover/variations.js +20 -0
  445. package/src/embed/edit.js +16 -12
  446. package/src/embed/edit.native.js +28 -18
  447. package/src/embed/embed-controls.js +1 -0
  448. package/src/embed/test/__snapshots__/index.native.js.snap +52 -52
  449. package/src/embed/test/__snapshots__/transforms.native.js.snap +23 -0
  450. package/src/embed/test/index.js +12 -0
  451. package/src/embed/test/transforms.native.js +44 -0
  452. package/src/embed/util.js +29 -8
  453. package/src/file/inspector.js +3 -0
  454. package/src/file/test/__snapshots__/edit.native.js.snap +67 -51
  455. package/src/file/test/__snapshots__/transforms.native.js.snap +19 -0
  456. package/src/file/test/transforms.native.js +42 -0
  457. package/src/freeform/modal.js +1 -1
  458. package/src/freeform/test/__snapshots__/transforms.native.js.snap +19 -0
  459. package/src/freeform/test/transforms.native.js +39 -0
  460. package/src/gallery/edit.js +5 -0
  461. package/src/gallery/shared.js +6 -11
  462. package/src/gallery/test/__snapshots__/index.native.js.snap +71 -71
  463. package/src/gallery/test/__snapshots__/transforms.native.js.snap +53 -0
  464. package/src/gallery/test/transforms.native.js +52 -0
  465. package/src/gallery/use-image-sizes.js +3 -16
  466. package/src/gallery/v1/edit.js +8 -16
  467. package/src/gallery/v1/gallery-image.js +1 -2
  468. package/src/gallery/v1/shared.js +5 -10
  469. package/src/group/test/__snapshots__/edit.native.js.snap +5 -5
  470. package/src/group/test/__snapshots__/transforms.native.js.snap +35 -0
  471. package/src/group/test/transforms.native.js +75 -0
  472. package/src/heading/test/__snapshots__/index.native.js.snap +1 -1
  473. package/src/heading/test/__snapshots__/transforms.native.js.snap +47 -0
  474. package/src/heading/test/transforms.native.js +46 -0
  475. package/src/image/edit.js +4 -4
  476. package/src/image/image.js +4 -9
  477. package/src/image/index.php +4 -4
  478. package/src/image/test/__snapshots__/transforms.native.js.snap +49 -0
  479. package/src/image/test/transforms.native.js +48 -0
  480. package/src/image/utils.js +2 -2
  481. package/src/index.js +2 -0
  482. package/src/latest-comments/edit.js +3 -0
  483. package/src/latest-posts/edit.js +15 -16
  484. package/src/latest-posts/edit.native.js +3 -3
  485. package/src/latest-posts/test/__snapshots__/transforms.native.js.snap +15 -0
  486. package/src/latest-posts/test/transforms.native.js +61 -0
  487. package/src/list/ordered-list-settings.js +1 -0
  488. package/src/list/test/__snapshots__/edit.native.js.snap +4 -4
  489. package/src/list/test/__snapshots__/transforms.native.js.snap +85 -0
  490. package/src/list/test/transforms.native.js +56 -0
  491. package/src/list-item/edit.js +10 -3
  492. package/src/list-item/hooks/use-outdent-list-item.js +2 -1
  493. package/src/loginout/edit.js +2 -0
  494. package/src/media-text/constants.js +16 -0
  495. package/src/media-text/edit.js +10 -18
  496. package/src/media-text/edit.native.js +3 -9
  497. package/src/media-text/test/__snapshots__/transforms.native.js.snap +73 -0
  498. package/src/media-text/test/transforms.native.js +112 -0
  499. package/src/media-text/transforms.js +24 -51
  500. package/src/missing/test/__snapshots__/edit.native.js.snap +21 -3
  501. package/src/more/edit.js +1 -0
  502. package/src/more/test/__snapshots__/transforms.native.js.snap +19 -0
  503. package/src/more/test/transforms.native.js +42 -0
  504. package/src/navigation/edit/index.js +121 -76
  505. package/src/navigation/edit/inner-blocks.js +3 -0
  506. package/src/navigation/edit/menu-inspector-controls.js +2 -7
  507. package/src/navigation/edit/navigation-menu-selector.js +41 -25
  508. package/src/navigation/edit/overlay-menu-preview.js +1 -0
  509. package/src/navigation/edit/placeholder/index.js +1 -1
  510. package/src/navigation/edit/unsaved-inner-blocks.js +46 -32
  511. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +124 -122
  512. package/src/navigation/edit/use-create-navigation-menu.js +1 -1
  513. package/src/navigation/edit/use-generate-default-navigation-title.js +1 -1
  514. package/src/navigation/edit/use-navigation-notice.js +16 -13
  515. package/src/navigation/editor.scss +23 -20
  516. package/src/navigation/index.php +5 -3
  517. package/src/navigation-link/edit.js +0 -9
  518. package/src/navigation-link/index.php +5 -8
  519. package/src/navigation-link/test/__snapshots__/hooks.js.snap +12 -12
  520. package/src/navigation-submenu/edit.js +0 -10
  521. package/src/navigation-submenu/index.php +23 -6
  522. package/src/nextpage/test/__snapshots__/transforms.native.js.snap +19 -0
  523. package/src/nextpage/test/transforms.native.js +42 -0
  524. package/src/page-list/convert-to-links-modal.js +38 -0
  525. package/src/page-list/edit.js +82 -69
  526. package/src/page-list/editor.scss +6 -0
  527. package/src/page-list-item/edit.js +2 -3
  528. package/src/paragraph/edit.js +1 -0
  529. package/src/paragraph/test/__snapshots__/transforms.native.js.snap +59 -0
  530. package/src/paragraph/test/transforms.native.js +50 -0
  531. package/src/post-author/edit.js +4 -0
  532. package/src/post-author-name/edit.js +2 -0
  533. package/src/post-content/edit.js +5 -1
  534. package/src/post-date/edit.js +2 -0
  535. package/src/post-excerpt/edit.js +1 -0
  536. package/src/post-excerpt/editor.scss +1 -1
  537. package/src/post-excerpt/index.php +1 -2
  538. package/src/post-featured-image/dimension-controls.js +0 -8
  539. package/src/post-featured-image/edit.js +3 -1
  540. package/src/post-featured-image/style.scss +1 -0
  541. package/src/post-navigation-link/edit.js +2 -0
  542. package/src/post-terms/index.php +1 -0
  543. package/src/post-terms/use-post-terms.js +1 -1
  544. package/src/post-time-to-read/block.json +20 -0
  545. package/src/post-time-to-read/edit.js +101 -0
  546. package/src/post-time-to-read/icon.js +15 -0
  547. package/src/post-time-to-read/index.js +17 -0
  548. package/src/post-time-to-read/index.php +62 -0
  549. package/src/post-title/edit.js +2 -0
  550. package/src/preformatted/test/__snapshots__/edit.native.js.snap +10 -10
  551. package/src/preformatted/test/__snapshots__/transforms.native.js.snap +31 -0
  552. package/src/preformatted/test/transforms.native.js +42 -0
  553. package/src/pullquote/deprecated.js +2 -6
  554. package/src/pullquote/test/__snapshots__/transforms.native.js.snap +47 -0
  555. package/src/pullquote/test/transforms.native.js +46 -0
  556. package/src/query/edit/inspector-controls/index.js +1 -0
  557. package/src/query/edit/query-placeholder.js +10 -5
  558. package/src/query/editor.scss +1 -0
  559. package/src/query/test/utils.js +33 -1
  560. package/src/query/utils.js +19 -6
  561. package/src/query-title/edit.js +2 -0
  562. package/src/quote/test/__snapshots__/transforms.native.js.snap +39 -0
  563. package/src/quote/test/transforms.native.js +67 -0
  564. package/src/read-more/edit.js +1 -0
  565. package/src/rss/edit.js +3 -0
  566. package/src/search/test/__snapshots__/edit.native.js.snap +71 -61
  567. package/src/search/test/__snapshots__/transforms.native.js.snap +15 -0
  568. package/src/search/test/transforms.native.js +40 -0
  569. package/src/separator/test/__snapshots__/edit.native.js.snap +1 -1
  570. package/src/separator/test/__snapshots__/transforms.native.js.snap +19 -0
  571. package/src/separator/test/transforms.native.js +42 -0
  572. package/src/shortcode/test/__snapshots__/transforms.native.js.snap +19 -0
  573. package/src/shortcode/test/transforms.native.js +42 -0
  574. package/src/site-logo/edit.js +3 -0
  575. package/src/site-logo/editor.scss +3 -3
  576. package/src/site-logo/index.php +7 -2
  577. package/src/site-tagline/block.json +1 -0
  578. package/src/site-title/edit/index.js +2 -0
  579. package/src/social-link/index.php +6 -6
  580. package/src/social-links/edit.js +3 -0
  581. package/src/social-links/test/__snapshots__/edit.native.js.snap +16 -16
  582. package/src/social-links/test/__snapshots__/transforms.native.js.snap +31 -0
  583. package/src/social-links/test/transforms.native.js +53 -0
  584. package/src/spacer/controls.native.js +13 -5
  585. package/src/spacer/edit.native.js +45 -6
  586. package/src/spacer/save.native.js +18 -0
  587. package/src/spacer/test/__snapshots__/index.native.js.snap +21 -9
  588. package/src/spacer/test/__snapshots__/transforms.native.js.snap +19 -0
  589. package/src/spacer/test/index.native.js +81 -0
  590. package/src/spacer/test/transforms.native.js +42 -0
  591. package/src/table/edit.js +3 -0
  592. package/src/table/state.js +8 -17
  593. package/src/table-of-contents/edit.js +1 -0
  594. package/src/tag-cloud/edit.js +1 -0
  595. package/src/template-part/edit/import-controls.js +26 -34
  596. package/src/template-part/edit/utils/transformers.js +96 -19
  597. package/src/template-part/index.php +7 -6
  598. package/src/text-columns/edit.js +1 -6
  599. package/src/text-columns/save.js +1 -6
  600. package/src/verse/test/__snapshots__/edit.native.js.snap +2 -2
  601. package/src/verse/test/__snapshots__/transforms.native.js.snap +25 -0
  602. package/src/verse/test/transforms.native.js +42 -0
  603. package/src/video/edit-common-settings.js +5 -0
  604. package/src/video/test/__snapshots__/transforms.native.js.snap +41 -0
  605. package/src/video/test/transforms.native.js +48 -0
  606. package/tsconfig.json +2 -1
  607. package/tsconfig.tsbuildinfo +1 -1
@@ -88,14 +88,17 @@
88
88
  "spacing": {
89
89
  "padding": true,
90
90
  "margin": [ "top", "bottom" ],
91
+ "blockGap": true,
91
92
  "__experimentalDefaultControls": {
92
- "padding": true
93
+ "padding": true,
94
+ "blockGap": true
93
95
  }
94
96
  },
95
97
  "color": {
96
98
  "__experimentalDuotone": "> .wp-block-cover__image-background, > .wp-block-cover__video-background",
97
- "text": false,
98
- "background": false
99
+ "text": true,
100
+ "background": false,
101
+ "__experimentalSkipSerialization": [ "gradients" ]
99
102
  },
100
103
  "typography": {
101
104
  "fontSize": true,
@@ -109,6 +112,9 @@
109
112
  "__experimentalDefaultControls": {
110
113
  "fontSize": true
111
114
  }
115
+ },
116
+ "__experimentalLayout": {
117
+ "allowJustification": false
112
118
  }
113
119
  },
114
120
  "editorStyle": "wp-block-cover-editor",
@@ -171,12 +171,14 @@ export default function CoverInspectorControls( {
171
171
  { isImageBackground && (
172
172
  <>
173
173
  <ToggleControl
174
+ __nextHasNoMarginBottom
174
175
  label={ __( 'Fixed background' ) }
175
176
  checked={ hasParallax }
176
177
  onChange={ toggleParallax }
177
178
  />
178
179
 
179
180
  <ToggleControl
181
+ __nextHasNoMarginBottom
180
182
  label={ __( 'Repeated background' ) }
181
183
  checked={ isRepeated }
182
184
  onChange={ toggleIsRepeated }
@@ -13,6 +13,7 @@ import edit from './edit';
13
13
  import metadata from './block.json';
14
14
  import save from './save';
15
15
  import transforms from './transforms';
16
+ import variations from './variations';
16
17
 
17
18
  const { name } = metadata;
18
19
 
@@ -48,6 +49,7 @@ export const settings = {
48
49
  save,
49
50
  edit,
50
51
  deprecated,
52
+ variations,
51
53
  };
52
54
 
53
55
  export const init = () => initBlock( { name, metadata, settings } );
@@ -56,12 +56,10 @@ function render_block_core_cover( $attributes, $content ) {
56
56
  $styles .= $height;
57
57
  }
58
58
 
59
- $content = preg_replace(
60
- '/class=\".*?\"/',
61
- '${0} style="' . $styles . '"',
62
- $content,
63
- 1
64
- );
59
+ $processor = new WP_HTML_Tag_Processor( $content );
60
+ $processor->next_tag();
61
+ $processor->set_attribute( 'style', $styles );
62
+ $content = $processor->get_updated_html();
65
63
  }
66
64
 
67
65
  return $content;
@@ -106,17 +106,11 @@
106
106
  .wp-block-cover__inner-container {
107
107
  width: 100%;
108
108
  z-index: z-index(".wp-block-cover__inner-container");
109
- color: $white;
109
+ color: inherit;
110
110
  // Reset the fixed LTR direction at the root of the block in RTL languages.
111
111
  /*rtl:raw: direction: rtl; */
112
112
  }
113
113
 
114
- &.is-light {
115
- .wp-block-cover__inner-container {
116
- color: $black;
117
- }
118
- }
119
-
120
114
  p,
121
115
  h1,
122
116
  h2,
@@ -285,3 +279,18 @@ section.wp-block-cover-image > h2,
285
279
  padding: 0.44em;
286
280
  text-align: center;
287
281
  }
282
+
283
+ // If Cover block's text color has not been set adjust default color
284
+ // based on if overlay is light or not. The following styles leverage
285
+ // `:where` to allow for generic global styles that have a low specificity to
286
+ // still take precedence.
287
+
288
+ :where(.wp-block-cover:not(.has-text-color)),
289
+ :where(.wp-block-cover-image:not(.has-text-color)) {
290
+ color: $white;
291
+ }
292
+
293
+ :where(.wp-block-cover.is-light:not(.has-text-color)),
294
+ :where(.wp-block-cover-image.is-light:not(.has-text-color)) {
295
+ color: $black;
296
+ }
@@ -1,97 +1,97 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`color settings clears the selected overlay color and mantains the inner blocks 1`] = `
4
- "<!-- wp:cover {\\"isDark\\":false} -->
5
- <div class=\\"wp-block-cover is-light\\"><span aria-hidden=\\"true\\" class=\\"wp-block-cover__background has-background-dim-100 has-background-dim\\"></span><div class=\\"wp-block-cover__inner-container\\"><!-- wp:paragraph {\\"align\\":\\"center\\",\\"placeholder\\":\\"Write title…\\"} -->
6
- <p class=\\"has-text-align-center\\"></p>
4
+ "<!-- wp:cover {"isDark":false} -->
5
+ <div class="wp-block-cover is-light"><span aria-hidden="true" class="wp-block-cover__background has-background-dim-100 has-background-dim"></span><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"align":"center","placeholder":"Write title"} -->
6
+ <p class="has-text-align-center"></p>
7
7
  <!-- /wp:paragraph --></div></div>
8
8
  <!-- /wp:cover -->"
9
9
  `;
10
10
 
11
11
  exports[`color settings sets a color for the overlay background when the placeholder is visible 1`] = `
12
- "<!-- wp:cover {\\"overlayColor\\":\\"vivid-red\\"} -->
13
- <div class=\\"wp-block-cover\\"><span aria-hidden=\\"true\\" class=\\"wp-block-cover__background has-vivid-red-background-color has-background-dim-100 has-background-dim\\"></span><div class=\\"wp-block-cover__inner-container\\"><!-- wp:paragraph {\\"align\\":\\"center\\",\\"placeholder\\":\\"Write title…\\"} -->
14
- <p class=\\"has-text-align-center\\"></p>
12
+ "<!-- wp:cover {"overlayColor":"vivid-red"} -->
13
+ <div class="wp-block-cover"><span aria-hidden="true" class="wp-block-cover__background has-vivid-red-background-color has-background-dim-100 has-background-dim"></span><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"align":"center","placeholder":"Write title"} -->
14
+ <p class="has-text-align-center"></p>
15
15
  <!-- /wp:paragraph --></div></div>
16
16
  <!-- /wp:cover -->"
17
17
  `;
18
18
 
19
19
  exports[`color settings sets a gradient overlay background when a solid background was already selected 1`] = `
20
- "<!-- wp:cover {\\"gradient\\":\\"light-green-cyan-to-vivid-green-cyan\\",\\"isDark\\":false} -->
21
- <div class=\\"wp-block-cover is-light\\"><span aria-hidden=\\"true\\" class=\\"wp-block-cover__background has-background-dim-100 has-background-dim has-background-gradient has-light-green-cyan-to-vivid-green-cyan-gradient-background\\"></span><div class=\\"wp-block-cover__inner-container\\"><!-- wp:paragraph {\\"align\\":\\"center\\",\\"placeholder\\":\\"Write title…\\"} -->
22
- <p class=\\"has-text-align-center\\"></p>
20
+ "<!-- wp:cover {"gradient":"light-green-cyan-to-vivid-green-cyan","isDark":false} -->
21
+ <div class="wp-block-cover is-light"><span aria-hidden="true" class="wp-block-cover__background has-background-dim-100 has-background-dim has-background-gradient has-light-green-cyan-to-vivid-green-cyan-gradient-background"></span><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"align":"center","placeholder":"Write title"} -->
22
+ <p class="has-text-align-center"></p>
23
23
  <!-- /wp:paragraph --></div></div>
24
24
  <!-- /wp:cover -->"
25
25
  `;
26
26
 
27
27
  exports[`color settings toggles between solid colors and gradients 1`] = `
28
- "<!-- wp:cover {\\"gradient\\":\\"light-green-cyan-to-vivid-green-cyan\\",\\"isDark\\":false} -->
29
- <div class=\\"wp-block-cover is-light\\"><span aria-hidden=\\"true\\" class=\\"wp-block-cover__background has-background-dim-100 has-background-dim has-background-gradient has-light-green-cyan-to-vivid-green-cyan-gradient-background\\"></span><div class=\\"wp-block-cover__inner-container\\"><!-- wp:paragraph {\\"align\\":\\"center\\",\\"placeholder\\":\\"Write title…\\"} -->
30
- <p class=\\"has-text-align-center\\"></p>
28
+ "<!-- wp:cover {"gradient":"light-green-cyan-to-vivid-green-cyan","isDark":false} -->
29
+ <div class="wp-block-cover is-light"><span aria-hidden="true" class="wp-block-cover__background has-background-dim-100 has-background-dim has-background-gradient has-light-green-cyan-to-vivid-green-cyan-gradient-background"></span><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"align":"center","placeholder":"Write title"} -->
30
+ <p class="has-text-align-center"></p>
31
31
  <!-- /wp:paragraph --></div></div>
32
32
  <!-- /wp:cover -->"
33
33
  `;
34
34
 
35
35
  exports[`minimum height settings changes the height value between units 1`] = `
36
- "<!-- wp:cover {\\"url\\":\\"https://cldup.com/cXyG__fTLN.jpg\\",\\"id\\":10710,\\"dimRatio\\":50,\\"overlayColor\\":\\"foreground\\",\\"minHeight\\":50,\\"minHeightUnit\\":\\"px\\",\\"isDark\\":false} -->
37
- <div class=\\"wp-block-cover is-light\\" style=\\"min-height:50px\\"><span aria-hidden=\\"true\\" class=\\"wp-block-cover__background has-foreground-background-color has-background-dim\\"></span><img class=\\"wp-block-cover__image-background wp-image-10710\\" alt=\\"\\" src=\\"https://cldup.com/cXyG__fTLN.jpg\\" data-object-fit=\\"cover\\"/><div class=\\"wp-block-cover__inner-container\\"><!-- wp:paragraph {\\"align\\":\\"center\\",\\"placeholder\\":\\"Write title…\\",\\"fontSize\\":\\"large\\"} -->
38
- <p class=\\"has-text-align-center has-large-font-size\\"></p>
36
+ "<!-- wp:cover {"url":"https://cldup.com/cXyG__fTLN.jpg","id":10710,"dimRatio":50,"overlayColor":"foreground","minHeight":50,"minHeightUnit":"px","isDark":false} -->
37
+ <div class="wp-block-cover is-light" style="min-height:50px"><span aria-hidden="true" class="wp-block-cover__background has-foreground-background-color has-background-dim"></span><img class="wp-block-cover__image-background wp-image-10710" alt="" src="https://cldup.com/cXyG__fTLN.jpg" data-object-fit="cover"/><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"align":"center","placeholder":"Write title","fontSize":"large"} -->
38
+ <p class="has-text-align-center has-large-font-size"></p>
39
39
  <!-- /wp:paragraph --></div></div>
40
40
  <!-- /wp:cover -->"
41
41
  `;
42
42
 
43
43
  exports[`minimum height settings changes the height value to 20(vw) 1`] = `
44
- "<!-- wp:cover {\\"url\\":\\"https://cldup.com/cXyG__fTLN.jpg\\",\\"id\\":10710,\\"dimRatio\\":50,\\"overlayColor\\":\\"foreground\\",\\"minHeight\\":20,\\"minHeightUnit\\":\\"vw\\",\\"isDark\\":false} -->
45
- <div class=\\"wp-block-cover is-light\\" style=\\"min-height:20vw\\"><span aria-hidden=\\"true\\" class=\\"wp-block-cover__background has-foreground-background-color has-background-dim\\"></span><img class=\\"wp-block-cover__image-background wp-image-10710\\" alt=\\"\\" src=\\"https://cldup.com/cXyG__fTLN.jpg\\" data-object-fit=\\"cover\\"/><div class=\\"wp-block-cover__inner-container\\"><!-- wp:paragraph {\\"align\\":\\"center\\",\\"placeholder\\":\\"Write title…\\",\\"fontSize\\":\\"large\\"} -->
46
- <p class=\\"has-text-align-center has-large-font-size\\"></p>
44
+ "<!-- wp:cover {"url":"https://cldup.com/cXyG__fTLN.jpg","id":10710,"dimRatio":50,"overlayColor":"foreground","minHeight":20,"minHeightUnit":"vw","isDark":false} -->
45
+ <div class="wp-block-cover is-light" style="min-height:20vw"><span aria-hidden="true" class="wp-block-cover__background has-foreground-background-color has-background-dim"></span><img class="wp-block-cover__image-background wp-image-10710" alt="" src="https://cldup.com/cXyG__fTLN.jpg" data-object-fit="cover"/><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"align":"center","placeholder":"Write title","fontSize":"large"} -->
46
+ <p class="has-text-align-center has-large-font-size"></p>
47
47
  <!-- /wp:paragraph --></div></div>
48
48
  <!-- /wp:cover -->"
49
49
  `;
50
50
 
51
51
  exports[`minimum height settings disables the decrease button when reaching the minimum value for Pixels (px) 1`] = `
52
- "<!-- wp:cover {\\"url\\":\\"https://cldup.com/cXyG__fTLN.jpg\\",\\"id\\":10710,\\"dimRatio\\":50,\\"overlayColor\\":\\"foreground\\",\\"minHeight\\":50,\\"minHeightUnit\\":\\"px\\",\\"isDark\\":false} -->
53
- <div class=\\"wp-block-cover is-light\\" style=\\"min-height:50px\\"><span aria-hidden=\\"true\\" class=\\"wp-block-cover__background has-foreground-background-color has-background-dim\\"></span><img class=\\"wp-block-cover__image-background wp-image-10710\\" alt=\\"\\" src=\\"https://cldup.com/cXyG__fTLN.jpg\\" data-object-fit=\\"cover\\"/><div class=\\"wp-block-cover__inner-container\\"><!-- wp:paragraph {\\"align\\":\\"center\\",\\"placeholder\\":\\"Write title…\\",\\"fontSize\\":\\"large\\"} -->
54
- <p class=\\"has-text-align-center has-large-font-size\\"></p>
52
+ "<!-- wp:cover {"url":"https://cldup.com/cXyG__fTLN.jpg","id":10710,"dimRatio":50,"overlayColor":"foreground","minHeight":50,"minHeightUnit":"px","isDark":false} -->
53
+ <div class="wp-block-cover is-light" style="min-height:50px"><span aria-hidden="true" class="wp-block-cover__background has-foreground-background-color has-background-dim"></span><img class="wp-block-cover__image-background wp-image-10710" alt="" src="https://cldup.com/cXyG__fTLN.jpg" data-object-fit="cover"/><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"align":"center","placeholder":"Write title","fontSize":"large"} -->
54
+ <p class="has-text-align-center has-large-font-size"></p>
55
55
  <!-- /wp:paragraph --></div></div>
56
56
  <!-- /wp:cover -->"
57
57
  `;
58
58
 
59
59
  exports[`minimum height settings disables the decrease button when reaching the minimum value for Relative to parent font size (em) 1`] = `
60
- "<!-- wp:cover {\\"url\\":\\"https://cldup.com/cXyG__fTLN.jpg\\",\\"id\\":10710,\\"dimRatio\\":50,\\"overlayColor\\":\\"foreground\\",\\"minHeight\\":1,\\"minHeightUnit\\":\\"em\\",\\"isDark\\":false} -->
61
- <div class=\\"wp-block-cover is-light\\" style=\\"min-height:1em\\"><span aria-hidden=\\"true\\" class=\\"wp-block-cover__background has-foreground-background-color has-background-dim\\"></span><img class=\\"wp-block-cover__image-background wp-image-10710\\" alt=\\"\\" src=\\"https://cldup.com/cXyG__fTLN.jpg\\" data-object-fit=\\"cover\\"/><div class=\\"wp-block-cover__inner-container\\"><!-- wp:paragraph {\\"align\\":\\"center\\",\\"placeholder\\":\\"Write title…\\",\\"fontSize\\":\\"large\\"} -->
62
- <p class=\\"has-text-align-center has-large-font-size\\"></p>
60
+ "<!-- wp:cover {"url":"https://cldup.com/cXyG__fTLN.jpg","id":10710,"dimRatio":50,"overlayColor":"foreground","minHeight":1,"minHeightUnit":"em","isDark":false} -->
61
+ <div class="wp-block-cover is-light" style="min-height:1em"><span aria-hidden="true" class="wp-block-cover__background has-foreground-background-color has-background-dim"></span><img class="wp-block-cover__image-background wp-image-10710" alt="" src="https://cldup.com/cXyG__fTLN.jpg" data-object-fit="cover"/><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"align":"center","placeholder":"Write title","fontSize":"large"} -->
62
+ <p class="has-text-align-center has-large-font-size"></p>
63
63
  <!-- /wp:paragraph --></div></div>
64
64
  <!-- /wp:cover -->"
65
65
  `;
66
66
 
67
67
  exports[`minimum height settings disables the decrease button when reaching the minimum value for Relative to root font size (rem) 1`] = `
68
- "<!-- wp:cover {\\"url\\":\\"https://cldup.com/cXyG__fTLN.jpg\\",\\"id\\":10710,\\"dimRatio\\":50,\\"overlayColor\\":\\"foreground\\",\\"minHeight\\":1,\\"minHeightUnit\\":\\"rem\\",\\"isDark\\":false} -->
69
- <div class=\\"wp-block-cover is-light\\" style=\\"min-height:1rem\\"><span aria-hidden=\\"true\\" class=\\"wp-block-cover__background has-foreground-background-color has-background-dim\\"></span><img class=\\"wp-block-cover__image-background wp-image-10710\\" alt=\\"\\" src=\\"https://cldup.com/cXyG__fTLN.jpg\\" data-object-fit=\\"cover\\"/><div class=\\"wp-block-cover__inner-container\\"><!-- wp:paragraph {\\"align\\":\\"center\\",\\"placeholder\\":\\"Write title…\\",\\"fontSize\\":\\"large\\"} -->
70
- <p class=\\"has-text-align-center has-large-font-size\\"></p>
68
+ "<!-- wp:cover {"url":"https://cldup.com/cXyG__fTLN.jpg","id":10710,"dimRatio":50,"overlayColor":"foreground","minHeight":1,"minHeightUnit":"rem","isDark":false} -->
69
+ <div class="wp-block-cover is-light" style="min-height:1rem"><span aria-hidden="true" class="wp-block-cover__background has-foreground-background-color has-background-dim"></span><img class="wp-block-cover__image-background wp-image-10710" alt="" src="https://cldup.com/cXyG__fTLN.jpg" data-object-fit="cover"/><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"align":"center","placeholder":"Write title","fontSize":"large"} -->
70
+ <p class="has-text-align-center has-large-font-size"></p>
71
71
  <!-- /wp:paragraph --></div></div>
72
72
  <!-- /wp:cover -->"
73
73
  `;
74
74
 
75
75
  exports[`minimum height settings disables the decrease button when reaching the minimum value for Viewport height (vh) 1`] = `
76
- "<!-- wp:cover {\\"url\\":\\"https://cldup.com/cXyG__fTLN.jpg\\",\\"id\\":10710,\\"dimRatio\\":50,\\"overlayColor\\":\\"foreground\\",\\"minHeight\\":1,\\"minHeightUnit\\":\\"vh\\",\\"isDark\\":false} -->
77
- <div class=\\"wp-block-cover is-light\\" style=\\"min-height:1vh\\"><span aria-hidden=\\"true\\" class=\\"wp-block-cover__background has-foreground-background-color has-background-dim\\"></span><img class=\\"wp-block-cover__image-background wp-image-10710\\" alt=\\"\\" src=\\"https://cldup.com/cXyG__fTLN.jpg\\" data-object-fit=\\"cover\\"/><div class=\\"wp-block-cover__inner-container\\"><!-- wp:paragraph {\\"align\\":\\"center\\",\\"placeholder\\":\\"Write title…\\",\\"fontSize\\":\\"large\\"} -->
78
- <p class=\\"has-text-align-center has-large-font-size\\"></p>
76
+ "<!-- wp:cover {"url":"https://cldup.com/cXyG__fTLN.jpg","id":10710,"dimRatio":50,"overlayColor":"foreground","minHeight":1,"minHeightUnit":"vh","isDark":false} -->
77
+ <div class="wp-block-cover is-light" style="min-height:1vh"><span aria-hidden="true" class="wp-block-cover__background has-foreground-background-color has-background-dim"></span><img class="wp-block-cover__image-background wp-image-10710" alt="" src="https://cldup.com/cXyG__fTLN.jpg" data-object-fit="cover"/><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"align":"center","placeholder":"Write title","fontSize":"large"} -->
78
+ <p class="has-text-align-center has-large-font-size"></p>
79
79
  <!-- /wp:paragraph --></div></div>
80
80
  <!-- /wp:cover -->"
81
81
  `;
82
82
 
83
83
  exports[`minimum height settings disables the decrease button when reaching the minimum value for Viewport width (vw) 1`] = `
84
- "<!-- wp:cover {\\"url\\":\\"https://cldup.com/cXyG__fTLN.jpg\\",\\"id\\":10710,\\"dimRatio\\":50,\\"overlayColor\\":\\"foreground\\",\\"minHeight\\":1,\\"minHeightUnit\\":\\"vw\\",\\"isDark\\":false} -->
85
- <div class=\\"wp-block-cover is-light\\" style=\\"min-height:1vw\\"><span aria-hidden=\\"true\\" class=\\"wp-block-cover__background has-foreground-background-color has-background-dim\\"></span><img class=\\"wp-block-cover__image-background wp-image-10710\\" alt=\\"\\" src=\\"https://cldup.com/cXyG__fTLN.jpg\\" data-object-fit=\\"cover\\"/><div class=\\"wp-block-cover__inner-container\\"><!-- wp:paragraph {\\"align\\":\\"center\\",\\"placeholder\\":\\"Write title…\\",\\"fontSize\\":\\"large\\"} -->
86
- <p class=\\"has-text-align-center has-large-font-size\\"></p>
84
+ "<!-- wp:cover {"url":"https://cldup.com/cXyG__fTLN.jpg","id":10710,"dimRatio":50,"overlayColor":"foreground","minHeight":1,"minHeightUnit":"vw","isDark":false} -->
85
+ <div class="wp-block-cover is-light" style="min-height:1vw"><span aria-hidden="true" class="wp-block-cover__background has-foreground-background-color has-background-dim"></span><img class="wp-block-cover__image-background wp-image-10710" alt="" src="https://cldup.com/cXyG__fTLN.jpg" data-object-fit="cover"/><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"align":"center","placeholder":"Write title","fontSize":"large"} -->
86
+ <p class="has-text-align-center has-large-font-size"></p>
87
87
  <!-- /wp:paragraph --></div></div>
88
88
  <!-- /wp:cover -->"
89
89
  `;
90
90
 
91
91
  exports[`when an image is attached updates background opacity 1`] = `
92
- "<!-- wp:cover {\\"url\\":\\"https://cldup.com/cXyG__fTLN.jpg\\",\\"id\\":10710,\\"dimRatio\\":15,\\"overlayColor\\":\\"foreground\\",\\"isDark\\":false} -->
93
- <div class=\\"wp-block-cover is-light\\"><span aria-hidden=\\"true\\" class=\\"wp-block-cover__background has-foreground-background-color has-background-dim-20 has-background-dim\\"></span><img class=\\"wp-block-cover__image-background wp-image-10710\\" alt=\\"\\" src=\\"https://cldup.com/cXyG__fTLN.jpg\\" data-object-fit=\\"cover\\"/><div class=\\"wp-block-cover__inner-container\\"><!-- wp:paragraph {\\"align\\":\\"center\\",\\"placeholder\\":\\"Write title…\\",\\"fontSize\\":\\"large\\"} -->
94
- <p class=\\"has-text-align-center has-large-font-size\\"></p>
92
+ "<!-- wp:cover {"url":"https://cldup.com/cXyG__fTLN.jpg","id":10710,"dimRatio":15,"overlayColor":"foreground","isDark":false} -->
93
+ <div class="wp-block-cover is-light"><span aria-hidden="true" class="wp-block-cover__background has-foreground-background-color has-background-dim-20 has-background-dim"></span><img class="wp-block-cover__image-background wp-image-10710" alt="" src="https://cldup.com/cXyG__fTLN.jpg" data-object-fit="cover"/><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"align":"center","placeholder":"Write title","fontSize":"large"} -->
94
+ <p class="has-text-align-center has-large-font-size"></p>
95
95
  <!-- /wp:paragraph --></div></div>
96
96
  <!-- /wp:cover -->"
97
97
  `;
@@ -0,0 +1,73 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Cover block transformations with Image to Columns block 1`] = `
4
+ "<!-- wp:columns -->
5
+ <div class="wp-block-columns"><!-- wp:column {"width":"100%"} -->
6
+ <div class="wp-block-column" style="flex-basis:100%"><!-- wp:cover {"url":"https://cldup.com/cXyG__fTLN.jpg","id":890,"dimRatio":20,"overlayColor":"luminous-vivid-orange","focalPoint":{"x":"0.63","y":"0.83"},"minHeight":219} -->
7
+ <div class="wp-block-cover" style="min-height:219px"><span aria-hidden="true" class="wp-block-cover__background has-luminous-vivid-orange-background-color has-background-dim-20 has-background-dim"></span><img class="wp-block-cover__image-background wp-image-890" alt="" src="https://cldup.com/cXyG__fTLN.jpg" style="object-position:63% 83%" data-object-fit="cover" data-object-position="63% 83%"/><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"align":"center","placeholder":"Write title…","className":"has-text-color has-very-light-gray-color","fontSize":"large"} -->
8
+ <p class="has-text-align-center has-text-color has-very-light-gray-color has-large-font-size">Cool cover</p>
9
+ <!-- /wp:paragraph --></div></div>
10
+ <!-- /wp:cover --></div>
11
+ <!-- /wp:column --></div>
12
+ <!-- /wp:columns -->"
13
+ `;
14
+
15
+ exports[`Cover block transformations with Image to Group block 1`] = `
16
+ "<!-- wp:group {"layout":{"type":"constrained"}} -->
17
+ <div class="wp-block-group"><!-- wp:cover {"url":"https://cldup.com/cXyG__fTLN.jpg","id":890,"dimRatio":20,"overlayColor":"luminous-vivid-orange","focalPoint":{"x":"0.63","y":"0.83"},"minHeight":219} -->
18
+ <div class="wp-block-cover" style="min-height:219px"><span aria-hidden="true" class="wp-block-cover__background has-luminous-vivid-orange-background-color has-background-dim-20 has-background-dim"></span><img class="wp-block-cover__image-background wp-image-890" alt="" src="https://cldup.com/cXyG__fTLN.jpg" style="object-position:63% 83%" data-object-fit="cover" data-object-position="63% 83%"/><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"align":"center","placeholder":"Write title…","className":"has-text-color has-very-light-gray-color","fontSize":"large"} -->
19
+ <p class="has-text-align-center has-text-color has-very-light-gray-color has-large-font-size">Cool cover</p>
20
+ <!-- /wp:paragraph --></div></div>
21
+ <!-- /wp:cover --></div>
22
+ <!-- /wp:group -->"
23
+ `;
24
+
25
+ exports[`Cover block transformations with Image to Image block 1`] = `
26
+ "<!-- wp:image {"id":890,"style":{"color":{}}} -->
27
+ <figure class="wp-block-image"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-890"/></figure>
28
+ <!-- /wp:image -->"
29
+ `;
30
+
31
+ exports[`Cover block transformations with Image to Media & Text block 1`] = `
32
+ "<!-- wp:media-text {"mediaId":890,"mediaType":"image","backgroundColor":"luminous-vivid-orange"} -->
33
+ <div class="wp-block-media-text alignwide is-stacked-on-mobile has-luminous-vivid-orange-background-color has-background"><figure class="wp-block-media-text__media"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-890 size-full"/></figure><div class="wp-block-media-text__content"><!-- wp:paragraph {"align":"center","placeholder":"Write title…","className":"has-text-color has-very-light-gray-color","fontSize":"large"} -->
34
+ <p class="has-text-align-center has-text-color has-very-light-gray-color has-large-font-size">Cool cover</p>
35
+ <!-- /wp:paragraph --></div></div>
36
+ <!-- /wp:media-text -->"
37
+ `;
38
+
39
+ exports[`Cover block transformations with Video to Columns block 1`] = `
40
+ "<!-- wp:columns -->
41
+ <div class="wp-block-columns"><!-- wp:column {"width":"100%"} -->
42
+ <div class="wp-block-column" style="flex-basis:100%"><!-- wp:cover {"url":"https://i.cloudup.com/YtZFJbuQCE.mov","id":891,"dimRatio":20,"overlayColor":"luminous-vivid-orange","backgroundType":"video","focalPoint":{"x":"0.63","y":"0.83"},"minHeight":219,"isDark":false} -->
43
+ <div class="wp-block-cover is-light" style="min-height:219px"><span aria-hidden="true" class="wp-block-cover__background has-luminous-vivid-orange-background-color has-background-dim-20 has-background-dim"></span><video class="wp-block-cover__video-background intrinsic-ignore" autoplay muted loop playsinline src="https://i.cloudup.com/YtZFJbuQCE.mov" style="object-position:63% 83%" data-object-fit="cover" data-object-position="63% 83%"></video><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"align":"center","placeholder":"Write title…","className":"has-text-color has-very-light-gray-color","fontSize":"large"} -->
44
+ <p class="has-text-align-center has-text-color has-very-light-gray-color has-large-font-size">Cool cover</p>
45
+ <!-- /wp:paragraph --></div></div>
46
+ <!-- /wp:cover --></div>
47
+ <!-- /wp:column --></div>
48
+ <!-- /wp:columns -->"
49
+ `;
50
+
51
+ exports[`Cover block transformations with Video to Group block 1`] = `
52
+ "<!-- wp:group {"layout":{"type":"constrained"}} -->
53
+ <div class="wp-block-group"><!-- wp:cover {"url":"https://i.cloudup.com/YtZFJbuQCE.mov","id":891,"dimRatio":20,"overlayColor":"luminous-vivid-orange","backgroundType":"video","focalPoint":{"x":"0.63","y":"0.83"},"minHeight":219,"isDark":false} -->
54
+ <div class="wp-block-cover is-light" style="min-height:219px"><span aria-hidden="true" class="wp-block-cover__background has-luminous-vivid-orange-background-color has-background-dim-20 has-background-dim"></span><video class="wp-block-cover__video-background intrinsic-ignore" autoplay muted loop playsinline src="https://i.cloudup.com/YtZFJbuQCE.mov" style="object-position:63% 83%" data-object-fit="cover" data-object-position="63% 83%"></video><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"align":"center","placeholder":"Write title…","className":"has-text-color has-very-light-gray-color","fontSize":"large"} -->
55
+ <p class="has-text-align-center has-text-color has-very-light-gray-color has-large-font-size">Cool cover</p>
56
+ <!-- /wp:paragraph --></div></div>
57
+ <!-- /wp:cover --></div>
58
+ <!-- /wp:group -->"
59
+ `;
60
+
61
+ exports[`Cover block transformations with Video to Media & Text block 1`] = `
62
+ "<!-- wp:media-text {"mediaId":891,"mediaType":"video","backgroundColor":"luminous-vivid-orange"} -->
63
+ <div class="wp-block-media-text alignwide is-stacked-on-mobile has-luminous-vivid-orange-background-color has-background"><figure class="wp-block-media-text__media"><video controls src="https://i.cloudup.com/YtZFJbuQCE.mov"></video></figure><div class="wp-block-media-text__content"><!-- wp:paragraph {"align":"center","placeholder":"Write title…","className":"has-text-color has-very-light-gray-color","fontSize":"large"} -->
64
+ <p class="has-text-align-center has-text-color has-very-light-gray-color has-large-font-size">Cool cover</p>
65
+ <!-- /wp:paragraph --></div></div>
66
+ <!-- /wp:media-text -->"
67
+ `;
68
+
69
+ exports[`Cover block transformations with Video to Video block 1`] = `
70
+ "<!-- wp:video {"id":891} -->
71
+ <figure class="wp-block-video"><video controls src="https://i.cloudup.com/YtZFJbuQCE.mov"></video></figure>
72
+ <!-- /wp:video -->"
73
+ `;
@@ -0,0 +1,112 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import {
5
+ getEditorHtml,
6
+ initializeEditor,
7
+ setupCoreBlocks,
8
+ transformBlock,
9
+ getBlockTransformOptions,
10
+ } from 'test/helpers';
11
+
12
+ const block = 'Cover';
13
+ const initialHtmlWithImage = `
14
+ <!-- wp:cover {"url":"https://cldup.com/cXyG__fTLN.jpg","id":890,"dimRatio":20,"overlayColor":"luminous-vivid-orange","focalPoint":{"x":"0.63","y":"0.83"},"minHeight":219} -->
15
+ <div class="wp-block-cover" style="min-height:219px"><span aria-hidden="true" class="wp-block-cover__background has-luminous-vivid-orange-background-color has-background-dim-20 has-background-dim"></span><img class="wp-block-cover__image-background wp-image-890" alt="" src="https://cldup.com/cXyG__fTLN.jpg" style="object-position:63% 83%" data-object-fit="cover" data-object-position="63% 83%"/><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"align":"center","placeholder":"Write title…","className":"has-text-color has-very-light-gray-color","fontSize":"large"} -->
16
+ <p class="has-text-align-center has-text-color has-very-light-gray-color has-large-font-size">Cool cover</p>
17
+ <!-- /wp:paragraph --></div></div>
18
+ <!-- /wp:cover -->`;
19
+ const initialHtmlWithVideo = `
20
+ <!-- wp:cover {"url":"https://i.cloudup.com/YtZFJbuQCE.mov","id":891,"dimRatio":20,"overlayColor":"luminous-vivid-orange","backgroundType":"video","focalPoint":{"x":"0.63","y":"0.83"},"minHeight":219,"isDark":false} -->
21
+ <div class="wp-block-cover is-light" style="min-height:219px"><span aria-hidden="true" class="wp-block-cover__background has-luminous-vivid-orange-background-color has-background-dim-20 has-background-dim"></span><video class="wp-block-cover__video-background intrinsic-ignore" autoplay muted loop playsinline src="https://i.cloudup.com/YtZFJbuQCE.mov" style="object-position:63% 83%" data-object-fit="cover" data-object-position="63% 83%"></video><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"align":"center","placeholder":"Write title…","className":"has-text-color has-very-light-gray-color","fontSize":"large"} -->
22
+ <p class="has-text-align-center has-text-color has-very-light-gray-color has-large-font-size">Cool cover</p>
23
+ <!-- /wp:paragraph --></div></div>
24
+ <!-- /wp:cover -->`;
25
+
26
+ const tranformsWithInnerBlocks = [ 'Columns', 'Group' ];
27
+ const blockTransformsWithImage = [
28
+ 'Image',
29
+ 'Media & Text',
30
+ ...tranformsWithInnerBlocks,
31
+ ];
32
+ const blockTransformsWithVideo = [
33
+ 'Video',
34
+ 'Media & Text',
35
+ ...tranformsWithInnerBlocks,
36
+ ];
37
+
38
+ setupCoreBlocks();
39
+
40
+ describe( `${ block } block transformations`, () => {
41
+ describe( 'with Image', () => {
42
+ test.each( blockTransformsWithImage )(
43
+ 'to %s block',
44
+ async ( blockTransform ) => {
45
+ const screen = await initializeEditor( {
46
+ initialHtml: initialHtmlWithImage,
47
+ } );
48
+ const newBlock = await transformBlock(
49
+ screen,
50
+ block,
51
+ blockTransform,
52
+ {
53
+ isMediaBlock: true,
54
+ hasInnerBlocks:
55
+ tranformsWithInnerBlocks.includes( blockTransform ),
56
+ }
57
+ );
58
+ expect( newBlock ).toBeVisible();
59
+ expect( getEditorHtml() ).toMatchSnapshot();
60
+ }
61
+ );
62
+
63
+ it( 'matches expected transformation options', async () => {
64
+ const screen = await initializeEditor( {
65
+ initialHtml: initialHtmlWithImage,
66
+ } );
67
+ const transformOptions = await getBlockTransformOptions(
68
+ screen,
69
+ block
70
+ );
71
+ expect( transformOptions ).toHaveLength(
72
+ blockTransformsWithImage.length
73
+ );
74
+ } );
75
+ } );
76
+
77
+ describe( 'with Video', () => {
78
+ test.each( blockTransformsWithVideo )(
79
+ 'to %s block',
80
+ async ( blockTransform ) => {
81
+ const screen = await initializeEditor( {
82
+ initialHtml: initialHtmlWithVideo,
83
+ } );
84
+ const newBlock = await transformBlock(
85
+ screen,
86
+ block,
87
+ blockTransform,
88
+ {
89
+ isMediaBlock: true,
90
+ hasInnerBlocks:
91
+ tranformsWithInnerBlocks.includes( blockTransform ),
92
+ }
93
+ );
94
+ expect( newBlock ).toBeVisible();
95
+ expect( getEditorHtml() ).toMatchSnapshot();
96
+ }
97
+ );
98
+
99
+ it( 'matches expected transformation options', async () => {
100
+ const screen = await initializeEditor( {
101
+ initialHtml: initialHtmlWithVideo,
102
+ } );
103
+ const transformOptions = await getBlockTransformOptions(
104
+ screen,
105
+ block
106
+ );
107
+ expect( transformOptions ).toHaveLength(
108
+ blockTransformsWithVideo.length
109
+ );
110
+ } );
111
+ } );
112
+ } );
@@ -0,0 +1,20 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { __ } from '@wordpress/i18n';
5
+ import { cover } from '@wordpress/icons';
6
+
7
+ const variations = [
8
+ {
9
+ name: 'cover',
10
+ title: __( 'Cover' ),
11
+ description: __(
12
+ 'Add an image or video with a text overlay — great for headers.'
13
+ ),
14
+ attributes: { layout: { type: 'constrained' } },
15
+ isDefault: true,
16
+ icon: cover,
17
+ },
18
+ ];
19
+
20
+ export default variations;
package/src/embed/edit.js CHANGED
@@ -4,6 +4,7 @@
4
4
  import {
5
5
  createUpgradedEmbedBlock,
6
6
  getClassNames,
7
+ removeAspectRatioClasses,
7
8
  fallback,
8
9
  getEmbedInfoByProvider,
9
10
  getMergedAttributesWithPreview,
@@ -99,16 +100,14 @@ const EmbedEdit = ( props ) => {
99
100
  /**
100
101
  * Returns the attributes derived from the preview, merged with the current attributes.
101
102
  *
102
- * @param {boolean} ignorePreviousClassName Determines if the previous className attribute should be ignored when merging.
103
103
  * @return {Object} Merged attributes.
104
104
  */
105
- const getMergedAttributes = ( ignorePreviousClassName = false ) =>
105
+ const getMergedAttributes = () =>
106
106
  getMergedAttributesWithPreview(
107
107
  attributes,
108
108
  preview,
109
109
  title,
110
- responsive,
111
- ignorePreviousClassName
110
+ responsive
112
111
  );
113
112
 
114
113
  const toggleResponsive = () => {
@@ -136,21 +135,20 @@ const EmbedEdit = ( props ) => {
136
135
  setURL( newURL );
137
136
  setIsEditingURL( false );
138
137
  setAttributes( { url: newURL } );
139
- }, [ preview?.html, attributesUrl ] );
138
+ }, [ preview?.html, attributesUrl, cannotEmbed, fetching ] );
140
139
 
141
140
  // Handle incoming preview.
142
141
  useEffect( () => {
143
142
  if ( preview && ! isEditingURL ) {
144
- // When obtaining an incoming preview, we set the attributes derived from
145
- // the preview data. In this case when getting the merged attributes,
146
- // we ignore the previous classname because it might not match the expected
147
- // classes by the new preview.
148
- setAttributes( getMergedAttributes( true ) );
143
+ // When obtaining an incoming preview,
144
+ // we set the attributes derived from the preview data.
145
+ const mergedAttributes = getMergedAttributes();
146
+ setAttributes( mergedAttributes );
149
147
 
150
148
  if ( onReplace ) {
151
149
  const upgradedBlock = createUpgradedEmbedBlock(
152
150
  props,
153
- getMergedAttributes()
151
+ mergedAttributes
154
152
  );
155
153
 
156
154
  if ( upgradedBlock ) {
@@ -188,8 +186,14 @@ const EmbedEdit = ( props ) => {
188
186
  event.preventDefault();
189
187
  }
190
188
 
189
+ // If the embed URL was changed, we need to reset the aspect ratio class.
190
+ // To do this we have to remove the existing ratio class so it can be recalculated.
191
+ const blockClass = removeAspectRatioClasses(
192
+ attributes.className
193
+ );
194
+
191
195
  setIsEditingURL( false );
192
- setAttributes( { url } );
196
+ setAttributes( { url, className: blockClass } );
193
197
  } }
194
198
  value={ url }
195
199
  cannotEmbed={ cannotEmbed }