@wordpress/block-library 8.5.0 → 8.7.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 (427) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/buttons/edit.native.js +1 -1
  3. package/build/buttons/edit.native.js.map +1 -1
  4. package/build/buttons/index.js +1 -0
  5. package/build/buttons/index.js.map +1 -1
  6. package/build/buttons/transforms.js +1 -0
  7. package/build/buttons/transforms.js.map +1 -1
  8. package/build/columns/edit.js +14 -10
  9. package/build/columns/edit.js.map +1 -1
  10. package/build/columns/edit.native.js +1 -1
  11. package/build/columns/edit.native.js.map +1 -1
  12. package/build/columns/index.js +4 -0
  13. package/build/columns/index.js.map +1 -1
  14. package/build/comments/edit/placeholder.js +8 -5
  15. package/build/comments/edit/placeholder.js.map +1 -1
  16. package/build/cover/edit/inspector-controls.js +2 -2
  17. package/build/cover/edit/inspector-controls.js.map +1 -1
  18. package/build/cover/index.js +13 -4
  19. package/build/cover/index.js.map +1 -1
  20. package/build/cover/variations.js +29 -0
  21. package/build/cover/variations.js.map +1 -0
  22. package/build/embed/edit.js +13 -14
  23. package/build/embed/edit.js.map +1 -1
  24. package/build/embed/edit.native.js +18 -14
  25. package/build/embed/edit.native.js.map +1 -1
  26. package/build/embed/util.js +39 -12
  27. package/build/embed/util.js.map +1 -1
  28. package/build/gallery/edit.js +9 -5
  29. package/build/gallery/edit.js.map +1 -1
  30. package/build/gallery/use-image-sizes.js +1 -1
  31. package/build/gallery/use-image-sizes.js.map +1 -1
  32. package/build/group/deprecated.js +4 -2
  33. package/build/group/deprecated.js.map +1 -1
  34. package/build/group/edit.js +22 -5
  35. package/build/group/edit.js.map +1 -1
  36. package/build/group/placeholder.js +11 -1
  37. package/build/group/placeholder.js.map +1 -1
  38. package/build/group/variations.js +23 -3
  39. package/build/group/variations.js.map +1 -1
  40. package/build/image/edit.js +1 -1
  41. package/build/image/edit.js.map +1 -1
  42. package/build/image/edit.native.js +1 -1
  43. package/build/image/edit.native.js.map +1 -1
  44. package/build/image/image.js +8 -6
  45. package/build/image/image.js.map +1 -1
  46. package/build/image/index.js +7 -2
  47. package/build/image/index.js.map +1 -1
  48. package/build/latest-posts/edit.js +11 -10
  49. package/build/latest-posts/edit.js.map +1 -1
  50. package/build/latest-posts/edit.native.js +3 -3
  51. package/build/latest-posts/edit.native.js.map +1 -1
  52. package/build/media-text/constants.js +17 -1
  53. package/build/media-text/constants.js.map +1 -1
  54. package/build/media-text/deprecated.js +228 -18
  55. package/build/media-text/deprecated.js.map +1 -1
  56. package/build/media-text/edit.js +10 -22
  57. package/build/media-text/edit.js.map +1 -1
  58. package/build/media-text/edit.native.js +6 -5
  59. package/build/media-text/edit.native.js.map +1 -1
  60. package/build/media-text/index.js +1 -1
  61. package/build/media-text/transforms.js +32 -44
  62. package/build/media-text/transforms.js.map +1 -1
  63. package/build/navigation/edit/index.js +55 -96
  64. package/build/navigation/edit/index.js.map +1 -1
  65. package/build/navigation/edit/menu-inspector-controls.js +2 -5
  66. package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
  67. package/build/navigation/edit/navigation-menu-selector.js +26 -22
  68. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  69. package/build/navigation/edit/unsaved-inner-blocks.js +14 -1
  70. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  71. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +2 -4
  72. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  73. package/build/navigation/edit/use-create-navigation-menu.js +1 -1
  74. package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
  75. package/build/navigation/edit/use-navigation-notice.js +1 -1
  76. package/build/navigation/edit/use-navigation-notice.js.map +1 -1
  77. package/build/navigation/index.js +0 -1
  78. package/build/navigation/index.js.map +1 -1
  79. package/build/navigation-link/edit.js +0 -11
  80. package/build/navigation-link/edit.js.map +1 -1
  81. package/build/navigation-link/link-ui.js +0 -1
  82. package/build/navigation-link/link-ui.js.map +1 -1
  83. package/build/navigation-submenu/edit.js +1 -13
  84. package/build/navigation-submenu/edit.js.map +1 -1
  85. package/build/page-list/edit.js +59 -45
  86. package/build/page-list/edit.js.map +1 -1
  87. package/build/page-list-item/edit.js +3 -2
  88. package/build/page-list-item/edit.js.map +1 -1
  89. package/build/post-content/edit.js +6 -1
  90. package/build/post-content/edit.js.map +1 -1
  91. package/build/post-date/edit.js +2 -1
  92. package/build/post-date/edit.js.map +1 -1
  93. package/build/post-date/index.js +4 -1
  94. package/build/post-date/index.js.map +1 -1
  95. package/build/post-date/variations.js +28 -0
  96. package/build/post-date/variations.js.map +1 -0
  97. package/build/post-excerpt/edit.js +39 -10
  98. package/build/post-excerpt/edit.js.map +1 -1
  99. package/build/post-featured-image/dimension-controls.js +2 -8
  100. package/build/post-featured-image/dimension-controls.js.map +1 -1
  101. package/build/post-featured-image/edit.js +1 -1
  102. package/build/post-featured-image/edit.js.map +1 -1
  103. package/build/post-template/index.js +1 -1
  104. package/build/post-time-to-read/index.js +17 -1
  105. package/build/post-time-to-read/index.js.map +1 -1
  106. package/build/pullquote/deprecated.js +3 -3
  107. package/build/pullquote/deprecated.js.map +1 -1
  108. package/build/query/edit/query-placeholder.js +3 -2
  109. package/build/query/edit/query-placeholder.js.map +1 -1
  110. package/build/query/utils.js +26 -9
  111. package/build/query/utils.js.map +1 -1
  112. package/build/quote/index.js +1 -0
  113. package/build/quote/index.js.map +1 -1
  114. package/build/spacer/edit.js +16 -6
  115. package/build/spacer/edit.js.map +1 -1
  116. package/build/table/state.js +12 -4
  117. package/build/table/state.js.map +1 -1
  118. package/build/template-part/edit/import-controls.js +4 -24
  119. package/build/template-part/edit/import-controls.js.map +1 -1
  120. package/build/template-part/edit/utils/transformers.js +69 -19
  121. package/build/template-part/edit/utils/transformers.js.map +1 -1
  122. package/build/text-columns/edit.js +3 -7
  123. package/build/text-columns/edit.js.map +1 -1
  124. package/build/text-columns/save.js +11 -13
  125. package/build/text-columns/save.js.map +1 -1
  126. package/build-module/buttons/edit.native.js +1 -1
  127. package/build-module/buttons/edit.native.js.map +1 -1
  128. package/build-module/buttons/index.js +1 -0
  129. package/build-module/buttons/index.js.map +1 -1
  130. package/build-module/buttons/transforms.js +1 -0
  131. package/build-module/buttons/transforms.js.map +1 -1
  132. package/build-module/columns/edit.js +14 -9
  133. package/build-module/columns/edit.js.map +1 -1
  134. package/build-module/columns/edit.native.js +1 -1
  135. package/build-module/columns/edit.native.js.map +1 -1
  136. package/build-module/columns/index.js +4 -0
  137. package/build-module/columns/index.js.map +1 -1
  138. package/build-module/comments/edit/placeholder.js +9 -5
  139. package/build-module/comments/edit/placeholder.js.map +1 -1
  140. package/build-module/cover/edit/inspector-controls.js +2 -2
  141. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  142. package/build-module/cover/index.js +12 -4
  143. package/build-module/cover/index.js.map +1 -1
  144. package/build-module/cover/variations.js +19 -0
  145. package/build-module/cover/variations.js.map +1 -0
  146. package/build-module/embed/edit.js +14 -15
  147. package/build-module/embed/edit.js.map +1 -1
  148. package/build-module/embed/edit.native.js +19 -15
  149. package/build-module/embed/edit.native.js.map +1 -1
  150. package/build-module/embed/util.js +34 -10
  151. package/build-module/embed/util.js.map +1 -1
  152. package/build-module/gallery/edit.js +9 -5
  153. package/build-module/gallery/edit.js.map +1 -1
  154. package/build-module/gallery/use-image-sizes.js +1 -1
  155. package/build-module/gallery/use-image-sizes.js.map +1 -1
  156. package/build-module/group/deprecated.js +4 -2
  157. package/build-module/group/deprecated.js.map +1 -1
  158. package/build-module/group/edit.js +21 -5
  159. package/build-module/group/edit.js.map +1 -1
  160. package/build-module/group/placeholder.js +11 -1
  161. package/build-module/group/placeholder.js.map +1 -1
  162. package/build-module/group/variations.js +24 -1
  163. package/build-module/group/variations.js.map +1 -1
  164. package/build-module/image/edit.js +1 -1
  165. package/build-module/image/edit.js.map +1 -1
  166. package/build-module/image/edit.native.js +1 -1
  167. package/build-module/image/edit.native.js.map +1 -1
  168. package/build-module/image/image.js +8 -6
  169. package/build-module/image/image.js.map +1 -1
  170. package/build-module/image/index.js +7 -2
  171. package/build-module/image/index.js.map +1 -1
  172. package/build-module/latest-posts/edit.js +11 -9
  173. package/build-module/latest-posts/edit.js.map +1 -1
  174. package/build-module/latest-posts/edit.native.js +3 -3
  175. package/build-module/latest-posts/edit.native.js.map +1 -1
  176. package/build-module/media-text/constants.js +10 -0
  177. package/build-module/media-text/constants.js.map +1 -1
  178. package/build-module/media-text/deprecated.js +227 -18
  179. package/build-module/media-text/deprecated.js.map +1 -1
  180. package/build-module/media-text/edit.js +5 -17
  181. package/build-module/media-text/edit.js.map +1 -1
  182. package/build-module/media-text/edit.native.js +4 -3
  183. package/build-module/media-text/edit.native.js.map +1 -1
  184. package/build-module/media-text/index.js +1 -1
  185. package/build-module/media-text/transforms.js +32 -44
  186. package/build-module/media-text/transforms.js.map +1 -1
  187. package/build-module/navigation/edit/index.js +57 -98
  188. package/build-module/navigation/edit/index.js.map +1 -1
  189. package/build-module/navigation/edit/menu-inspector-controls.js +2 -5
  190. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
  191. package/build-module/navigation/edit/navigation-menu-selector.js +25 -22
  192. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  193. package/build-module/navigation/edit/unsaved-inner-blocks.js +14 -1
  194. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  195. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +2 -4
  196. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  197. package/build-module/navigation/edit/use-create-navigation-menu.js +1 -1
  198. package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
  199. package/build-module/navigation/edit/use-navigation-notice.js +1 -1
  200. package/build-module/navigation/edit/use-navigation-notice.js.map +1 -1
  201. package/build-module/navigation/index.js +0 -1
  202. package/build-module/navigation/index.js.map +1 -1
  203. package/build-module/navigation-link/edit.js +0 -11
  204. package/build-module/navigation-link/edit.js.map +1 -1
  205. package/build-module/navigation-link/link-ui.js +0 -1
  206. package/build-module/navigation-link/link-ui.js.map +1 -1
  207. package/build-module/navigation-submenu/edit.js +1 -13
  208. package/build-module/navigation-submenu/edit.js.map +1 -1
  209. package/build-module/page-list/edit.js +61 -47
  210. package/build-module/page-list/edit.js.map +1 -1
  211. package/build-module/page-list-item/edit.js +3 -2
  212. package/build-module/page-list-item/edit.js.map +1 -1
  213. package/build-module/post-content/edit.js +6 -1
  214. package/build-module/post-content/edit.js.map +1 -1
  215. package/build-module/post-date/edit.js +2 -1
  216. package/build-module/post-date/edit.js.map +1 -1
  217. package/build-module/post-date/index.js +3 -1
  218. package/build-module/post-date/index.js.map +1 -1
  219. package/build-module/post-date/variations.js +18 -0
  220. package/build-module/post-date/variations.js.map +1 -0
  221. package/build-module/post-excerpt/edit.js +38 -11
  222. package/build-module/post-excerpt/edit.js.map +1 -1
  223. package/build-module/post-featured-image/dimension-controls.js +2 -8
  224. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  225. package/build-module/post-featured-image/edit.js +1 -1
  226. package/build-module/post-featured-image/edit.js.map +1 -1
  227. package/build-module/post-template/index.js +1 -1
  228. package/build-module/post-time-to-read/index.js +17 -1
  229. package/build-module/post-time-to-read/index.js.map +1 -1
  230. package/build-module/pullquote/deprecated.js +3 -2
  231. package/build-module/pullquote/deprecated.js.map +1 -1
  232. package/build-module/query/edit/query-placeholder.js +4 -3
  233. package/build-module/query/edit/query-placeholder.js.map +1 -1
  234. package/build-module/query/utils.js +21 -6
  235. package/build-module/query/utils.js.map +1 -1
  236. package/build-module/quote/index.js +1 -0
  237. package/build-module/quote/index.js.map +1 -1
  238. package/build-module/spacer/edit.js +16 -6
  239. package/build-module/spacer/edit.js.map +1 -1
  240. package/build-module/table/state.js +13 -5
  241. package/build-module/table/state.js.map +1 -1
  242. package/build-module/template-part/edit/import-controls.js +4 -23
  243. package/build-module/template-part/edit/import-controls.js.map +1 -1
  244. package/build-module/template-part/edit/utils/transformers.js +69 -20
  245. package/build-module/template-part/edit/utils/transformers.js.map +1 -1
  246. package/build-module/text-columns/edit.js +3 -6
  247. package/build-module/text-columns/edit.js.map +1 -1
  248. package/build-module/text-columns/save.js +11 -12
  249. package/build-module/text-columns/save.js.map +1 -1
  250. package/build-style/categories/editor-rtl.css +5 -0
  251. package/build-style/categories/editor.css +5 -0
  252. package/build-style/categories/style-rtl.css +4 -0
  253. package/build-style/categories/style.css +4 -0
  254. package/build-style/cover/style-rtl.css +11 -5
  255. package/build-style/cover/style.css +11 -5
  256. package/build-style/editor-rtl.css +11 -1
  257. package/build-style/editor.css +11 -1
  258. package/build-style/navigation/editor-rtl.css +1 -1
  259. package/build-style/navigation/editor.css +1 -1
  260. package/build-style/navigation/style-rtl.css +2 -0
  261. package/build-style/navigation/style.css +2 -0
  262. package/build-style/page-list/editor-rtl.css +4 -0
  263. package/build-style/page-list/editor.css +4 -0
  264. package/build-style/post-featured-image/editor-rtl.css +1 -0
  265. package/build-style/post-featured-image/editor.css +1 -0
  266. package/build-style/post-featured-image/style-rtl.css +1 -0
  267. package/build-style/post-featured-image/style.css +1 -0
  268. package/build-style/post-template/style-rtl.css +1 -1
  269. package/build-style/post-template/style.css +1 -1
  270. package/build-style/post-time-to-read/style-rtl.css +91 -0
  271. package/build-style/post-time-to-read/style.css +91 -0
  272. package/build-style/search/style-rtl.css +8 -7
  273. package/build-style/search/style.css +8 -7
  274. package/build-style/style-rtl.css +31 -13
  275. package/build-style/style.css +31 -13
  276. package/package.json +31 -31
  277. package/src/audio/test/__snapshots__/edit.native.js.snap +44 -4
  278. package/src/audio/test/__snapshots__/transforms.native.js.snap +25 -0
  279. package/src/audio/test/transforms.native.js +42 -0
  280. package/src/block/test/__snapshots__/transforms.native.js.snap +15 -0
  281. package/src/block/test/transforms.native.js +40 -0
  282. package/src/buttons/block.json +1 -0
  283. package/src/buttons/edit.native.js +1 -1
  284. package/src/buttons/test/__snapshots__/transforms.native.js.snap +31 -0
  285. package/src/buttons/test/transforms.native.js +48 -0
  286. package/src/categories/editor.scss +5 -0
  287. package/src/categories/style.scss +4 -0
  288. package/src/columns/block.json +4 -0
  289. package/src/columns/edit.js +30 -18
  290. package/src/columns/edit.native.js +1 -1
  291. package/src/columns/test/__snapshots__/transforms.native.js.snap +61 -0
  292. package/src/columns/test/transforms.native.js +91 -0
  293. package/src/comment-template/index.php +1 -2
  294. package/src/comments/edit/placeholder.js +16 -4
  295. package/src/comments/index.php +1 -0
  296. package/src/cover/block.json +9 -3
  297. package/src/cover/edit/inspector-controls.js +4 -5
  298. package/src/cover/index.js +2 -0
  299. package/src/cover/style.scss +16 -7
  300. package/src/cover/test/__snapshots__/transforms.native.js.snap +73 -0
  301. package/src/cover/test/edit.js +324 -0
  302. package/src/cover/test/transforms.native.js +112 -0
  303. package/src/cover/variations.js +20 -0
  304. package/src/embed/edit.js +16 -12
  305. package/src/embed/edit.native.js +28 -18
  306. package/src/embed/test/__snapshots__/transforms.native.js.snap +23 -0
  307. package/src/embed/test/index.js +12 -0
  308. package/src/embed/test/transforms.native.js +44 -0
  309. package/src/embed/util.js +29 -8
  310. package/src/file/test/__snapshots__/edit.native.js.snap +18 -2
  311. package/src/file/test/__snapshots__/transforms.native.js.snap +19 -0
  312. package/src/file/test/transforms.native.js +42 -0
  313. package/src/freeform/test/__snapshots__/transforms.native.js.snap +19 -0
  314. package/src/freeform/test/transforms.native.js +39 -0
  315. package/src/gallery/edit.js +8 -2
  316. package/src/gallery/test/__snapshots__/transforms.native.js.snap +53 -0
  317. package/src/gallery/test/transforms.native.js +52 -0
  318. package/src/gallery/use-image-sizes.js +1 -1
  319. package/src/group/deprecated.js +4 -2
  320. package/src/group/edit.js +27 -9
  321. package/src/group/placeholder.js +13 -1
  322. package/src/group/test/__snapshots__/transforms.native.js.snap +35 -0
  323. package/src/group/test/transforms.native.js +75 -0
  324. package/src/group/variations.js +14 -1
  325. package/src/heading/test/__snapshots__/transforms.native.js.snap +47 -0
  326. package/src/heading/test/transforms.native.js +46 -0
  327. package/src/home-link/index.php +2 -2
  328. package/src/image/block.json +7 -2
  329. package/src/image/edit.js +1 -1
  330. package/src/image/edit.native.js +1 -1
  331. package/src/image/image.js +15 -7
  332. package/src/image/index.php +7 -2
  333. package/src/image/test/__snapshots__/transforms.native.js.snap +49 -0
  334. package/src/image/test/transforms.native.js +48 -0
  335. package/src/latest-comments/style.scss +1 -1
  336. package/src/latest-posts/edit.js +14 -16
  337. package/src/latest-posts/edit.native.js +3 -3
  338. package/src/latest-posts/test/__snapshots__/transforms.native.js.snap +15 -0
  339. package/src/latest-posts/test/transforms.native.js +61 -0
  340. package/src/list/test/__snapshots__/transforms.native.js.snap +85 -0
  341. package/src/list/test/transforms.native.js +56 -0
  342. package/src/media-text/block.json +1 -1
  343. package/src/media-text/constants.js +16 -0
  344. package/src/media-text/deprecated.js +235 -3
  345. package/src/media-text/edit.js +15 -24
  346. package/src/media-text/edit.native.js +3 -9
  347. package/src/media-text/test/__snapshots__/transforms.native.js.snap +73 -0
  348. package/src/media-text/test/transforms.native.js +112 -0
  349. package/src/media-text/transforms.js +24 -51
  350. package/src/missing/test/__snapshots__/edit.native.js.snap +20 -2
  351. package/src/more/test/__snapshots__/transforms.native.js.snap +19 -0
  352. package/src/more/test/transforms.native.js +42 -0
  353. package/src/navigation/block.json +0 -1
  354. package/src/navigation/edit/index.js +99 -115
  355. package/src/navigation/edit/menu-inspector-controls.js +2 -7
  356. package/src/navigation/edit/navigation-menu-selector.js +41 -25
  357. package/src/navigation/edit/unsaved-inner-blocks.js +46 -33
  358. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +82 -83
  359. package/src/navigation/edit/use-create-navigation-menu.js +1 -1
  360. package/src/navigation/edit/use-navigation-notice.js +1 -1
  361. package/src/navigation/editor.scss +23 -20
  362. package/src/navigation/index.php +18 -39
  363. package/src/navigation/style.scss +6 -4
  364. package/src/navigation-link/edit.js +0 -9
  365. package/src/navigation-link/index.php +7 -9
  366. package/src/navigation-link/link-ui.js +0 -1
  367. package/src/navigation-submenu/edit.js +0 -10
  368. package/src/navigation-submenu/index.php +45 -74
  369. package/src/nextpage/test/__snapshots__/transforms.native.js.snap +19 -0
  370. package/src/nextpage/test/transforms.native.js +42 -0
  371. package/src/page-list/edit.js +78 -44
  372. package/src/page-list/editor.scss +6 -0
  373. package/src/page-list-item/edit.js +2 -3
  374. package/src/paragraph/test/__snapshots__/transforms.native.js.snap +59 -0
  375. package/src/paragraph/test/transforms.native.js +50 -0
  376. package/src/post-author/index.php +1 -1
  377. package/src/post-content/edit.js +5 -1
  378. package/src/post-date/edit.js +4 -1
  379. package/src/post-date/index.js +2 -0
  380. package/src/post-date/variations.js +20 -0
  381. package/src/post-excerpt/edit.js +48 -16
  382. package/src/post-excerpt/index.php +1 -2
  383. package/src/post-featured-image/dimension-controls.js +2 -10
  384. package/src/post-featured-image/edit.js +1 -1
  385. package/src/post-featured-image/editor.scss +1 -0
  386. package/src/post-featured-image/style.scss +1 -0
  387. package/src/post-template/block.json +1 -1
  388. package/src/post-template/style.scss +1 -1
  389. package/src/post-time-to-read/block.json +17 -1
  390. package/src/post-time-to-read/style.scss +4 -0
  391. package/src/preformatted/test/__snapshots__/transforms.native.js.snap +31 -0
  392. package/src/preformatted/test/transforms.native.js +42 -0
  393. package/src/pullquote/deprecated.js +2 -6
  394. package/src/pullquote/test/__snapshots__/transforms.native.js.snap +47 -0
  395. package/src/pullquote/test/transforms.native.js +46 -0
  396. package/src/query/edit/query-placeholder.js +10 -5
  397. package/src/query/test/utils.js +33 -1
  398. package/src/query/utils.js +19 -6
  399. package/src/query-title/index.php +2 -5
  400. package/src/quote/block.json +1 -0
  401. package/src/quote/test/__snapshots__/transforms.native.js.snap +39 -0
  402. package/src/quote/test/transforms.native.js +67 -0
  403. package/src/search/style.scss +16 -12
  404. package/src/search/test/__snapshots__/edit.native.js.snap +11 -1
  405. package/src/search/test/__snapshots__/transforms.native.js.snap +15 -0
  406. package/src/search/test/transforms.native.js +40 -0
  407. package/src/separator/test/__snapshots__/transforms.native.js.snap +19 -0
  408. package/src/separator/test/transforms.native.js +42 -0
  409. package/src/shortcode/test/__snapshots__/transforms.native.js.snap +19 -0
  410. package/src/shortcode/test/transforms.native.js +42 -0
  411. package/src/social-links/test/__snapshots__/transforms.native.js.snap +31 -0
  412. package/src/social-links/test/transforms.native.js +53 -0
  413. package/src/spacer/edit.js +18 -5
  414. package/src/spacer/test/__snapshots__/transforms.native.js.snap +19 -0
  415. package/src/spacer/test/transforms.native.js +42 -0
  416. package/src/style.scss +1 -0
  417. package/src/table/state.js +8 -17
  418. package/src/template-part/edit/import-controls.js +2 -29
  419. package/src/template-part/edit/utils/transformers.js +96 -19
  420. package/src/text-columns/edit.js +1 -6
  421. package/src/text-columns/save.js +1 -6
  422. package/src/verse/test/__snapshots__/transforms.native.js.snap +25 -0
  423. package/src/verse/test/transforms.native.js +42 -0
  424. package/src/video/test/__snapshots__/transforms.native.js.snap +41 -0
  425. package/src/video/test/transforms.native.js +48 -0
  426. package/tsconfig.tsbuildinfo +1 -1
  427. package/src/cover/test/block-controls.js +0 -62
@@ -0,0 +1,56 @@
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 = 'List';
13
+ const initialHtml = `
14
+ <!-- wp:list -->
15
+ <ul><!-- wp:list-item -->
16
+ <li>First Item</li>
17
+ <!-- /wp:list-item -->
18
+
19
+ <!-- wp:list-item -->
20
+ <li>Second Item</li>
21
+ <!-- /wp:list-item -->
22
+
23
+ <!-- wp:list-item -->
24
+ <li>Third Item</li>
25
+ <!-- /wp:list-item --></ul>
26
+ <!-- /wp:list -->`;
27
+
28
+ const transformsWithInnerBlocks = [ 'Quote', 'Columns', 'Group' ];
29
+ const blockTransforms = [
30
+ 'Paragraph',
31
+ 'Heading',
32
+ ...transformsWithInnerBlocks,
33
+ ];
34
+
35
+ setupCoreBlocks();
36
+
37
+ describe( `${ block } block transforms`, () => {
38
+ test.each( blockTransforms )( 'to %s block', async ( blockTransform ) => {
39
+ const screen = await initializeEditor( { initialHtml } );
40
+ const newBlock = await transformBlock( screen, block, blockTransform, {
41
+ hasInnerBlocks:
42
+ transformsWithInnerBlocks.includes( blockTransform ),
43
+ } );
44
+ expect( newBlock ).toBeVisible();
45
+ expect( getEditorHtml() ).toMatchSnapshot();
46
+ } );
47
+
48
+ it( 'matches expected transformation options', async () => {
49
+ const screen = await initializeEditor( { initialHtml } );
50
+ const transformOptions = await getBlockTransformOptions(
51
+ screen,
52
+ block
53
+ );
54
+ expect( transformOptions ).toHaveLength( blockTransforms.length );
55
+ } );
56
+ } );
@@ -10,7 +10,7 @@
10
10
  "attributes": {
11
11
  "align": {
12
12
  "type": "string",
13
- "default": "wide"
13
+ "default": "none"
14
14
  },
15
15
  "mediaAlt": {
16
16
  "type": "string",
@@ -1 +1,17 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { _x } from '@wordpress/i18n';
5
+
1
6
  export const DEFAULT_MEDIA_SIZE_SLUG = 'full';
7
+ export const WIDTH_CONSTRAINT_PERCENTAGE = 15;
8
+ export const LINK_DESTINATION_MEDIA = 'media';
9
+ export const LINK_DESTINATION_ATTACHMENT = 'attachment';
10
+ export const TEMPLATE = [
11
+ [
12
+ 'core/paragraph',
13
+ {
14
+ placeholder: _x( 'Content…', 'content placeholder' ),
15
+ },
16
+ ],
17
+ ];
@@ -13,6 +13,7 @@ import {
13
13
  useInnerBlocksProps,
14
14
  useBlockProps,
15
15
  } from '@wordpress/block-editor';
16
+ import { compose } from '@wordpress/compose';
16
17
 
17
18
  /**
18
19
  * Internal dependencies
@@ -30,6 +31,19 @@ const v1ToV5ImageFillStyles = ( url, focalPoint ) => {
30
31
  : {};
31
32
  };
32
33
 
34
+ const v6ImageFillStyles = ( url, focalPoint ) => {
35
+ return url
36
+ ? {
37
+ backgroundImage: `url(${ url })`,
38
+ backgroundPosition: focalPoint
39
+ ? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round(
40
+ focalPoint.y * 100
41
+ ) }%`
42
+ : `50% 50%`,
43
+ }
44
+ : {};
45
+ };
46
+
33
47
  const DEFAULT_MEDIA_WIDTH = 50;
34
48
  const noop = () => {};
35
49
 
@@ -49,6 +63,20 @@ const migrateCustomColors = ( attributes ) => {
49
63
  };
50
64
  };
51
65
 
66
+ // After align attribute's default was updated this function explicitly sets
67
+ // the align value for deprecated blocks to the `wide` value which was default
68
+ // for their versions of this block.
69
+ const migrateDefaultAlign = ( attributes ) => {
70
+ if ( attributes.align ) {
71
+ return attributes;
72
+ }
73
+
74
+ return {
75
+ ...attributes,
76
+ align: 'wide',
77
+ };
78
+ };
79
+
52
80
  const baseAttributes = {
53
81
  align: {
54
82
  type: 'string',
@@ -133,6 +161,40 @@ const v4ToV5BlockAttributes = {
133
161
  },
134
162
  };
135
163
 
164
+ const v6Attributes = {
165
+ ...v4ToV5BlockAttributes,
166
+ mediaAlt: {
167
+ type: 'string',
168
+ source: 'attribute',
169
+ selector: 'figure img',
170
+ attribute: 'alt',
171
+ default: '',
172
+ __experimentalRole: 'content',
173
+ },
174
+ mediaId: {
175
+ type: 'number',
176
+ __experimentalRole: 'content',
177
+ },
178
+ mediaUrl: {
179
+ type: 'string',
180
+ source: 'attribute',
181
+ selector: 'figure video,figure img',
182
+ attribute: 'src',
183
+ __experimentalRole: 'content',
184
+ },
185
+ href: {
186
+ type: 'string',
187
+ source: 'attribute',
188
+ selector: 'figure a',
189
+ attribute: 'href',
190
+ __experimentalRole: 'content',
191
+ },
192
+ mediaType: {
193
+ type: 'string',
194
+ __experimentalRole: 'content',
195
+ },
196
+ };
197
+
136
198
  const v4ToV5Supports = {
137
199
  anchor: true,
138
200
  align: [ 'wide', 'full' ],
@@ -143,6 +205,166 @@ const v4ToV5Supports = {
143
205
  },
144
206
  };
145
207
 
208
+ const v6Supports = {
209
+ ...v4ToV5Supports,
210
+ color: {
211
+ gradients: true,
212
+ link: true,
213
+ __experimentalDefaultControls: {
214
+ background: true,
215
+ text: true,
216
+ },
217
+ },
218
+ spacing: {
219
+ margin: true,
220
+ padding: true,
221
+ },
222
+ typography: {
223
+ fontSize: true,
224
+ lineHeight: true,
225
+ __experimentalFontFamily: true,
226
+ __experimentalFontWeight: true,
227
+ __experimentalFontStyle: true,
228
+ __experimentalTextTransform: true,
229
+ __experimentalTextDecoration: true,
230
+ __experimentalLetterSpacing: true,
231
+ __experimentalDefaultControls: {
232
+ fontSize: true,
233
+ },
234
+ },
235
+ };
236
+
237
+ // Version with wide as the default alignment.
238
+ // See: https://github.com/WordPress/gutenberg/pull/48404
239
+ const v6 = {
240
+ attributes: v6Attributes,
241
+ supports: v6Supports,
242
+ save( { attributes } ) {
243
+ const {
244
+ isStackedOnMobile,
245
+ mediaAlt,
246
+ mediaPosition,
247
+ mediaType,
248
+ mediaUrl,
249
+ mediaWidth,
250
+ mediaId,
251
+ verticalAlignment,
252
+ imageFill,
253
+ focalPoint,
254
+ linkClass,
255
+ href,
256
+ linkTarget,
257
+ rel,
258
+ } = attributes;
259
+ const mediaSizeSlug =
260
+ attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;
261
+ const newRel = isEmpty( rel ) ? undefined : rel;
262
+
263
+ const imageClasses = classnames( {
264
+ [ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',
265
+ [ `size-${ mediaSizeSlug }` ]: mediaId && mediaType === 'image',
266
+ } );
267
+
268
+ let image = (
269
+ <img
270
+ src={ mediaUrl }
271
+ alt={ mediaAlt }
272
+ className={ imageClasses || null }
273
+ />
274
+ );
275
+
276
+ if ( href ) {
277
+ image = (
278
+ <a
279
+ className={ linkClass }
280
+ href={ href }
281
+ target={ linkTarget }
282
+ rel={ newRel }
283
+ >
284
+ { image }
285
+ </a>
286
+ );
287
+ }
288
+
289
+ const mediaTypeRenders = {
290
+ image: () => image,
291
+ video: () => <video controls src={ mediaUrl } />,
292
+ };
293
+ const className = classnames( {
294
+ 'has-media-on-the-right': 'right' === mediaPosition,
295
+ 'is-stacked-on-mobile': isStackedOnMobile,
296
+ [ `is-vertically-aligned-${ verticalAlignment }` ]:
297
+ verticalAlignment,
298
+ 'is-image-fill': imageFill,
299
+ } );
300
+ const backgroundStyles = imageFill
301
+ ? v6ImageFillStyles( mediaUrl, focalPoint )
302
+ : {};
303
+
304
+ let gridTemplateColumns;
305
+ if ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {
306
+ gridTemplateColumns =
307
+ 'right' === mediaPosition
308
+ ? `auto ${ mediaWidth }%`
309
+ : `${ mediaWidth }% auto`;
310
+ }
311
+ const style = {
312
+ gridTemplateColumns,
313
+ };
314
+
315
+ if ( 'right' === mediaPosition ) {
316
+ return (
317
+ <div { ...useBlockProps.save( { className, style } ) }>
318
+ <div
319
+ { ...useInnerBlocksProps.save( {
320
+ className: 'wp-block-media-text__content',
321
+ } ) }
322
+ />
323
+ <figure
324
+ className="wp-block-media-text__media"
325
+ style={ backgroundStyles }
326
+ >
327
+ { ( mediaTypeRenders[ mediaType ] || noop )() }
328
+ </figure>
329
+ </div>
330
+ );
331
+ }
332
+ return (
333
+ <div { ...useBlockProps.save( { className, style } ) }>
334
+ <figure
335
+ className="wp-block-media-text__media"
336
+ style={ backgroundStyles }
337
+ >
338
+ { ( mediaTypeRenders[ mediaType ] || noop )() }
339
+ </figure>
340
+ <div
341
+ { ...useInnerBlocksProps.save( {
342
+ className: 'wp-block-media-text__content',
343
+ } ) }
344
+ />
345
+ </div>
346
+ );
347
+ },
348
+ migrate: migrateDefaultAlign,
349
+ isEligible( attributes, innerBlocks, { block } ) {
350
+ const { attributes: finalizedAttributes } = block;
351
+ // When the align attribute defaults to none, valid block markup should
352
+ // not contain any alignment CSS class. Unfortunately, this
353
+ // deprecation's version of the block won't be invalidated due to the
354
+ // alignwide class still being in the markup. That is because the custom
355
+ // CSS classname support picks it up and adds it to the className
356
+ // attribute. At the time of parsing, the className attribute won't
357
+ // contain the alignwide class, hence the need to check the finalized
358
+ // block attributes.
359
+ return (
360
+ attributes.align === undefined &&
361
+ !! finalizedAttributes.className?.includes( 'alignwide' )
362
+ );
363
+ },
364
+ };
365
+
366
+ // Version with non-rounded background position attribute for focal point.
367
+ // See: https://github.com/WordPress/gutenberg/pull/33915
146
368
  const v5 = {
147
369
  attributes: v4ToV5BlockAttributes,
148
370
  supports: v4ToV5Supports,
@@ -252,9 +474,11 @@ const v5 = {
252
474
  </div>
253
475
  );
254
476
  },
477
+ migrate: migrateDefaultAlign,
255
478
  };
256
479
 
257
480
  // Version with CSS grid
481
+ // See: https://github.com/WordPress/gutenberg/pull/40806
258
482
  const v4 = {
259
483
  attributes: v4ToV5BlockAttributes,
260
484
  supports: v4ToV5Supports,
@@ -348,8 +572,11 @@ const v4 = {
348
572
  </div>
349
573
  );
350
574
  },
575
+ migrate: migrateDefaultAlign,
351
576
  };
352
577
 
578
+ // Version with ad-hoc color attributes
579
+ // See: https://github.com/WordPress/gutenberg/pull/21169
353
580
  const v3 = {
354
581
  attributes: {
355
582
  ...baseAttributes,
@@ -399,7 +626,7 @@ const v3 = {
399
626
  type: 'object',
400
627
  },
401
628
  },
402
- migrate: migrateCustomColors,
629
+ migrate: compose( migrateCustomColors, migrateDefaultAlign ),
403
630
  save( { attributes } ) {
404
631
  const {
405
632
  backgroundColor,
@@ -496,6 +723,8 @@ const v3 = {
496
723
  },
497
724
  };
498
725
 
726
+ // Version with stack on mobile off by default
727
+ // See: https://github.com/WordPress/gutenberg/pull/14364
499
728
  const v2 = {
500
729
  attributes: {
501
730
  ...baseAttributes,
@@ -521,7 +750,7 @@ const v2 = {
521
750
  type: 'object',
522
751
  },
523
752
  },
524
- migrate: migrateCustomColors,
753
+ migrate: compose( migrateCustomColors, migrateDefaultAlign ),
525
754
  save( { attributes } ) {
526
755
  const {
527
756
  backgroundColor,
@@ -596,6 +825,8 @@ const v2 = {
596
825
  },
597
826
  };
598
827
 
828
+ // Version without the wp-image-#### class on image
829
+ // See: https://github.com/WordPress/gutenberg/pull/11922
599
830
  const v1 = {
600
831
  attributes: {
601
832
  ...baseAttributes,
@@ -612,6 +843,7 @@ const v1 = {
612
843
  attribute: 'src',
613
844
  },
614
845
  },
846
+ migrate: migrateDefaultAlign,
615
847
  save( { attributes } ) {
616
848
  const {
617
849
  backgroundColor,
@@ -663,4 +895,4 @@ const v1 = {
663
895
  },
664
896
  };
665
897
 
666
- export default [ v5, v4, v3, v2, v1 ];
898
+ export default [ v6, v5, v4, v3, v2, v1 ];
@@ -6,7 +6,7 @@ import classnames from 'classnames';
6
6
  /**
7
7
  * WordPress dependencies
8
8
  */
9
- import { __, _x } from '@wordpress/i18n';
9
+ import { __ } from '@wordpress/i18n';
10
10
  import { useSelect } from '@wordpress/data';
11
11
  import { useState, useRef } from '@wordpress/element';
12
12
  import {
@@ -36,31 +36,21 @@ import { store as coreStore } from '@wordpress/core-data';
36
36
  * Internal dependencies
37
37
  */
38
38
  import MediaContainer from './media-container';
39
- import { DEFAULT_MEDIA_SIZE_SLUG } from './constants';
40
-
41
- /**
42
- * Constants
43
- */
44
- const TEMPLATE = [
45
- [
46
- 'core/paragraph',
47
- {
48
- placeholder: _x( 'Content…', 'content placeholder' ),
49
- },
50
- ],
51
- ];
39
+ import {
40
+ DEFAULT_MEDIA_SIZE_SLUG,
41
+ WIDTH_CONSTRAINT_PERCENTAGE,
42
+ LINK_DESTINATION_MEDIA,
43
+ LINK_DESTINATION_ATTACHMENT,
44
+ TEMPLATE,
45
+ } from './constants';
52
46
 
53
47
  // this limits the resize to a safe zone to avoid making broken layouts
54
- const WIDTH_CONSTRAINT_PERCENTAGE = 15;
55
48
  const applyWidthConstraints = ( width ) =>
56
49
  Math.max(
57
50
  WIDTH_CONSTRAINT_PERCENTAGE,
58
51
  Math.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )
59
52
  );
60
53
 
61
- const LINK_DESTINATION_MEDIA = 'media';
62
- const LINK_DESTINATION_ATTACHMENT = 'attachment';
63
-
64
54
  function getImageSourceUrlBySizeSlug( image, slug ) {
65
55
  // eslint-disable-next-line camelcase
66
56
  return image?.media_details?.sizes?.[ slug ]?.source_url;
@@ -280,17 +270,16 @@ function MediaTextEdit( { attributes, isSelected, setAttributes, clientId } ) {
280
270
  { mediaType === 'image' && (
281
271
  <TextareaControl
282
272
  __nextHasNoMarginBottom
283
- label={ __( 'Alt text (alternative text)' ) }
273
+ label={ __( 'Alternative text' ) }
284
274
  value={ mediaAlt }
285
275
  onChange={ onMediaAltChange }
286
276
  help={
287
277
  <>
288
278
  <ExternalLink href="https://www.w3.org/WAI/tutorials/images/decision-tree">
289
- { __( 'Describe the purpose of the image' ) }
279
+ { __( 'Describe the purpose of the image.' ) }
290
280
  </ExternalLink>
291
- { __(
292
- 'Leave empty if the image is purely decorative.'
293
- ) }
281
+ <br />
282
+ { __( 'Leave empty if decorative.' ) }
294
283
  </>
295
284
  }
296
285
  />
@@ -301,7 +290,9 @@ function MediaTextEdit( { attributes, isSelected, setAttributes, clientId } ) {
301
290
  slug={ mediaSizeSlug }
302
291
  imageSizeOptions={ imageSizeOptions }
303
292
  isResizable={ false }
304
- imageSizeHelp={ __( 'Select which image size to load.' ) }
293
+ imageSizeHelp={ __(
294
+ 'Select the size of the source image.'
295
+ ) }
305
296
  />
306
297
  ) }
307
298
  { mediaUrl && (
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { get } from 'lodash';
5
4
  import { View } from 'react-native';
6
5
 
7
6
  /**
@@ -32,12 +31,12 @@ import { pullLeft, pullRight, replace } from '@wordpress/icons';
32
31
  /**
33
32
  * Internal dependencies
34
33
  */
34
+ import { WIDTH_CONSTRAINT_PERCENTAGE } from './constants';
35
35
  import MediaContainer from './media-container';
36
36
  import styles from './style.scss';
37
37
 
38
38
  const TEMPLATE = [ [ 'core/paragraph' ] ];
39
39
  // this limits the resize to a safe zone to avoid making broken layouts
40
- const WIDTH_CONSTRAINT_PERCENTAGE = 15;
41
40
  const BREAKPOINTS = {
42
41
  mobile: 480,
43
42
  };
@@ -99,13 +98,8 @@ class MediaTextEdit extends Component {
99
98
  if ( mediaType === 'image' && media.sizes ) {
100
99
  // Try the "large" size URL, falling back to the "full" size URL below.
101
100
  src =
102
- get( media, [ 'sizes', 'large', 'url' ] ) ||
103
- get( media, [
104
- 'media_details',
105
- 'sizes',
106
- 'large',
107
- 'source_url',
108
- ] );
101
+ media.sizes.large?.url ||
102
+ media?.media_details?.sizes?.large?.source_url;
109
103
  }
110
104
 
111
105
  setAttributes( {
@@ -0,0 +1,73 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Media & Text 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:media-text {"align":"wide","mediaId":4674,"mediaType":"image","isStackedOnMobile":false,"className":"is-stacked-on-mobile"} -->
7
+ <div class="wp-block-media-text alignwide is-stacked-on-mobile"><figure class="wp-block-media-text__media"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-4674 size-full"/></figure><div class="wp-block-media-text__content"><!-- wp:paragraph {"className":"has-large-font-size"} -->
8
+ <p class="has-large-font-size">Mountain</p>
9
+ <!-- /wp:paragraph --></div></div>
10
+ <!-- /wp:media-text --></div>
11
+ <!-- /wp:column --></div>
12
+ <!-- /wp:columns -->"
13
+ `;
14
+
15
+ exports[`Media & Text block transformations with Image to Cover block 1`] = `
16
+ "<!-- wp:cover {"url":"https://cldup.com/cXyG__fTLN.jpg","id":4674,"dimRatio":50,"align":"wide"} -->
17
+ <div class="wp-block-cover alignwide"><span aria-hidden="true" class="wp-block-cover__background has-background-dim"></span><img class="wp-block-cover__image-background wp-image-4674" alt="" src="https://cldup.com/cXyG__fTLN.jpg" data-object-fit="cover"/><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"className":"has-large-font-size"} -->
18
+ <p class="has-large-font-size">Mountain</p>
19
+ <!-- /wp:paragraph --></div></div>
20
+ <!-- /wp:cover -->"
21
+ `;
22
+
23
+ exports[`Media & Text block transformations with Image to Group block 1`] = `
24
+ "<!-- wp:group {"align":"wide","layout":{"type":"constrained"}} -->
25
+ <div class="wp-block-group alignwide"><!-- wp:media-text {"align":"wide","mediaId":4674,"mediaType":"image","isStackedOnMobile":false,"className":"is-stacked-on-mobile"} -->
26
+ <div class="wp-block-media-text alignwide is-stacked-on-mobile"><figure class="wp-block-media-text__media"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-4674 size-full"/></figure><div class="wp-block-media-text__content"><!-- wp:paragraph {"className":"has-large-font-size"} -->
27
+ <p class="has-large-font-size">Mountain</p>
28
+ <!-- /wp:paragraph --></div></div>
29
+ <!-- /wp:media-text --></div>
30
+ <!-- /wp:group -->"
31
+ `;
32
+
33
+ exports[`Media & Text block transformations with Image to Image block 1`] = `
34
+ "<!-- wp:image {"id":4674} -->
35
+ <figure class="wp-block-image"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-4674"/></figure>
36
+ <!-- /wp:image -->"
37
+ `;
38
+
39
+ exports[`Media & Text 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:media-text {"align":"wide","mediaId":4675,"mediaType":"video","isStackedOnMobile":false,"className":"is-stacked-on-mobile"} -->
43
+ <div class="wp-block-media-text alignwide is-stacked-on-mobile"><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 {"className":"has-large-font-size"} -->
44
+ <p class="has-large-font-size">Cloudup</p>
45
+ <!-- /wp:paragraph --></div></div>
46
+ <!-- /wp:media-text --></div>
47
+ <!-- /wp:column --></div>
48
+ <!-- /wp:columns -->"
49
+ `;
50
+
51
+ exports[`Media & Text block transformations with Video to Cover block 1`] = `
52
+ "<!-- wp:cover {"url":"https://i.cloudup.com/YtZFJbuQCE.mov","id":4675,"dimRatio":50,"backgroundType":"video","align":"wide"} -->
53
+ <div class="wp-block-cover alignwide"><span aria-hidden="true" class="wp-block-cover__background has-background-dim"></span><video class="wp-block-cover__video-background intrinsic-ignore" autoplay muted loop playsinline src="https://i.cloudup.com/YtZFJbuQCE.mov" data-object-fit="cover"></video><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"className":"has-large-font-size"} -->
54
+ <p class="has-large-font-size">Cloudup</p>
55
+ <!-- /wp:paragraph --></div></div>
56
+ <!-- /wp:cover -->"
57
+ `;
58
+
59
+ exports[`Media & Text block transformations with Video to Group block 1`] = `
60
+ "<!-- wp:group {"align":"wide","layout":{"type":"constrained"}} -->
61
+ <div class="wp-block-group alignwide"><!-- wp:media-text {"align":"wide","mediaId":4675,"mediaType":"video","isStackedOnMobile":false,"className":"is-stacked-on-mobile"} -->
62
+ <div class="wp-block-media-text alignwide is-stacked-on-mobile"><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 {"className":"has-large-font-size"} -->
63
+ <p class="has-large-font-size">Cloudup</p>
64
+ <!-- /wp:paragraph --></div></div>
65
+ <!-- /wp:media-text --></div>
66
+ <!-- /wp:group -->"
67
+ `;
68
+
69
+ exports[`Media & Text block transformations with Video to Video block 1`] = `
70
+ "<!-- wp:video {"id":4675} -->
71
+ <figure class="wp-block-video"><video controls src="https://i.cloudup.com/YtZFJbuQCE.mov"></video></figure>
72
+ <!-- /wp:video -->"
73
+ `;