@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
@@ -103,7 +103,7 @@ export default function ButtonsEdit( {
103
103
 
104
104
  const insertedBlock = createBlock( 'core/button' );
105
105
 
106
- insertBlock( insertedBlock, index, clientId );
106
+ insertBlock( insertedBlock, index, clientId, false );
107
107
  selectBlock( insertedBlock.clientId );
108
108
  }, 200 ),
109
109
  []
@@ -0,0 +1,31 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Buttons block transforms 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:buttons -->
7
+ <div class="wp-block-buttons"><!-- wp:button -->
8
+ <div class="wp-block-button"><a class="wp-block-button__link wp-element-button">Solid Button</a></div>
9
+ <!-- /wp:button -->
10
+
11
+ <!-- wp:button {"gradient":"luminous-vivid-amber-to-luminous-vivid-orange"} -->
12
+ <div class="wp-block-button"><a class="wp-block-button__link has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background has-background wp-element-button">Gradient Button</a></div>
13
+ <!-- /wp:button --></div>
14
+ <!-- /wp:buttons --></div>
15
+ <!-- /wp:column --></div>
16
+ <!-- /wp:columns -->"
17
+ `;
18
+
19
+ exports[`Buttons block transforms to Group block 1`] = `
20
+ "<!-- wp:group {"layout":{"type":"constrained"}} -->
21
+ <div class="wp-block-group"><!-- wp:buttons -->
22
+ <div class="wp-block-buttons"><!-- wp:button -->
23
+ <div class="wp-block-button"><a class="wp-block-button__link wp-element-button">Solid Button</a></div>
24
+ <!-- /wp:button -->
25
+
26
+ <!-- wp:button {"gradient":"luminous-vivid-amber-to-luminous-vivid-orange"} -->
27
+ <div class="wp-block-button"><a class="wp-block-button__link has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background has-background wp-element-button">Gradient Button</a></div>
28
+ <!-- /wp:button --></div>
29
+ <!-- /wp:buttons --></div>
30
+ <!-- /wp:group -->"
31
+ `;
@@ -0,0 +1,48 @@
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 = 'Buttons';
13
+ const initialHtml = `
14
+ <!-- wp:buttons -->
15
+ <div class="wp-block-buttons"><!-- wp:button -->
16
+ <div class="wp-block-button"><a class="wp-block-button__link wp-element-button">Solid Button</a></div>
17
+ <!-- /wp:button -->
18
+
19
+ <!-- wp:button {"gradient":"luminous-vivid-amber-to-luminous-vivid-orange"} -->
20
+ <div class="wp-block-button"><a class="wp-block-button__link has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background has-background wp-element-button">Gradient Button</a></div>
21
+ <!-- /wp:button --></div>
22
+ <!-- /wp:buttons -->`;
23
+
24
+ const transformsWithInnerBlocks = [ 'Columns', 'Group' ];
25
+ const blockTransforms = [ ...transformsWithInnerBlocks ];
26
+
27
+ setupCoreBlocks();
28
+
29
+ describe( `${ block } block transforms`, () => {
30
+ test.each( blockTransforms )( 'to %s block', async ( blockTransform ) => {
31
+ const screen = await initializeEditor( { initialHtml } );
32
+ const newBlock = await transformBlock( screen, block, blockTransform, {
33
+ hasInnerBlocks:
34
+ transformsWithInnerBlocks.includes( blockTransform ),
35
+ } );
36
+ expect( newBlock ).toBeVisible();
37
+ expect( getEditorHtml() ).toMatchSnapshot();
38
+ } );
39
+
40
+ it( 'matches expected transformation options', async () => {
41
+ const screen = await initializeEditor( { initialHtml } );
42
+ const transformOptions = await getBlockTransformOptions(
43
+ screen,
44
+ block
45
+ );
46
+ expect( transformOptions ).toHaveLength( blockTransforms.length );
47
+ } );
48
+ } );
@@ -5,3 +5,8 @@
5
5
  margin-top: 6px;
6
6
  }
7
7
  }
8
+
9
+ /* Center alignment for classic themes. */
10
+ [data-align="center"] .wp-block-categories {
11
+ text-align: center;
12
+ }
@@ -10,4 +10,8 @@
10
10
  /*rtl:ignore*/
11
11
  margin-left: 2em;
12
12
  }
13
+ /* Only apply the text align on dropdowns, not lists. */
14
+ &.wp-block-categories-dropdown.aligncenter {
15
+ text-align: center;
16
+ }
13
17
  }
@@ -13,6 +13,10 @@
13
13
  "isStackedOnMobile": {
14
14
  "type": "boolean",
15
15
  "default": true
16
+ },
17
+ "templateLock": {
18
+ "type": [ "string", "boolean" ],
19
+ "enum": [ "all", "insert", "contentOnly", false ]
16
20
  }
17
21
  },
18
22
  "supports": {
@@ -2,7 +2,6 @@
2
2
  * External dependencies
3
3
  */
4
4
  import classnames from 'classnames';
5
- import { get } from 'lodash';
6
5
 
7
6
  /**
8
7
  * WordPress dependencies
@@ -59,12 +58,15 @@ function ColumnsEditContainer( {
59
58
  updateColumns,
60
59
  clientId,
61
60
  } ) {
62
- const { isStackedOnMobile, verticalAlignment } = attributes;
61
+ const { isStackedOnMobile, verticalAlignment, templateLock } = attributes;
63
62
 
64
- const { count } = useSelect(
63
+ const { count, canInsertColumnBlock } = useSelect(
65
64
  ( select ) => {
66
65
  return {
67
66
  count: select( blockEditorStore ).getBlockCount( clientId ),
67
+ canInsertColumnBlock: select(
68
+ blockEditorStore
69
+ ).canInsertBlockType( 'core/column', clientId ),
68
70
  };
69
71
  },
70
72
  [ clientId ]
@@ -82,6 +84,7 @@ function ColumnsEditContainer( {
82
84
  allowedBlocks: ALLOWED_BLOCKS,
83
85
  orientation: 'horizontal',
84
86
  renderAppender: false,
87
+ templateLock,
85
88
  } );
86
89
 
87
90
  return (
@@ -94,20 +97,29 @@ function ColumnsEditContainer( {
94
97
  </BlockControls>
95
98
  <InspectorControls>
96
99
  <PanelBody>
97
- <RangeControl
98
- __nextHasNoMarginBottom
99
- label={ __( 'Columns' ) }
100
- value={ count }
101
- onChange={ ( value ) => updateColumns( count, value ) }
102
- min={ 1 }
103
- max={ Math.max( 6, count ) }
104
- />
105
- { count > 6 && (
106
- <Notice status="warning" isDismissible={ false }>
107
- { __(
108
- 'This column count exceeds the recommended amount and may cause visual breakage.'
100
+ { canInsertColumnBlock && (
101
+ <>
102
+ <RangeControl
103
+ __nextHasNoMarginBottom
104
+ label={ __( 'Columns' ) }
105
+ value={ count }
106
+ onChange={ ( value ) =>
107
+ updateColumns( count, value )
108
+ }
109
+ min={ 1 }
110
+ max={ Math.max( 6, count ) }
111
+ />
112
+ { count > 6 && (
113
+ <Notice
114
+ status="warning"
115
+ isDismissible={ false }
116
+ >
117
+ { __(
118
+ 'This column count exceeds the recommended amount and may cause visual breakage.'
119
+ ) }
120
+ </Notice>
109
121
  ) }
110
- </Notice>
122
+ </>
111
123
  ) }
112
124
  <ToggleControl
113
125
  __nextHasNoMarginBottom
@@ -248,8 +260,8 @@ function Placeholder( { clientId, name, setAttributes } ) {
248
260
  return (
249
261
  <div { ...blockProps }>
250
262
  <__experimentalBlockVariationPicker
251
- icon={ get( blockType, [ 'icon', 'src' ] ) }
252
- label={ get( blockType, [ 'title' ] ) }
263
+ icon={ blockType?.icon?.src }
264
+ label={ blockType?.title }
253
265
  variations={ variations }
254
266
  onSelect={ ( nextVariation = defaultVariation ) => {
255
267
  if ( nextVariation.attributes ) {
@@ -198,7 +198,7 @@ function ColumnsEditContainer( {
198
198
  return (
199
199
  <UnitControl
200
200
  label={ label }
201
- settingLabel="Width"
201
+ settingLabel={ __( 'Width' ) }
202
202
  key={ `${ column.clientId }-${
203
203
  getWidths( innerWidths ).length
204
204
  }` }
@@ -0,0 +1,61 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Columns block transforms to Group block 1`] = `
4
+ "<!-- wp:group {"layout":{"type":"constrained"}} -->
5
+ <div class="wp-block-group"><!-- wp:columns {"className":"gutenberg-landing\\u002d\\u002ddevelopers-columns has-2-columns"} -->
6
+ <div class="wp-block-columns gutenberg-landing--developers-columns has-2-columns"><!-- wp:column -->
7
+ <div class="wp-block-column"><!-- wp:paragraph {"align":"left"} -->
8
+ <p class="has-text-align-left"><strong>Built with modern technology.</strong></p>
9
+ <!-- /wp:paragraph -->
10
+
11
+ <!-- wp:paragraph {"align":"left"} -->
12
+ <p class="has-text-align-left">Gutenberg was developed on GitHub using the WordPress REST API, JavaScript, and React.</p>
13
+ <!-- /wp:paragraph -->
14
+
15
+ <!-- wp:paragraph {"align":"left","fontSize":"small"} -->
16
+ <p class="has-text-align-left has-small-font-size"><a href="https://wordpress.org/gutenberg/handbook/language/">Learn more</a></p>
17
+ <!-- /wp:paragraph --></div>
18
+ <!-- /wp:column -->
19
+
20
+ <!-- wp:column -->
21
+ <div class="wp-block-column"><!-- wp:paragraph {"align":"left"} -->
22
+ <p class="has-text-align-left"><strong>Designed for compatibility.</strong></p>
23
+ <!-- /wp:paragraph -->
24
+
25
+ <!-- wp:paragraph {"align":"left"} -->
26
+ <p class="has-text-align-left">We recommend migrating features to blocks, but support for existing WordPress functionality remains. There will be transition paths for shortcodes, meta-boxes, and Custom Post Types.</p>
27
+ <!-- /wp:paragraph -->
28
+
29
+ <!-- wp:paragraph {"align":"left","fontSize":"small"} -->
30
+ <p class="has-text-align-left has-small-font-size"><a href="https://wordpress.org/gutenberg/handbook/reference/faq/">Learn more</a></p>
31
+ <!-- /wp:paragraph --></div>
32
+ <!-- /wp:column --></div>
33
+ <!-- /wp:columns --></div>
34
+ <!-- /wp:group -->"
35
+ `;
36
+
37
+ exports[`Columns block transforms unwraps content 1`] = `
38
+ "<!-- wp:paragraph {"align":"left"} -->
39
+ <p class="has-text-align-left"><strong>Built with modern technology.</strong></p>
40
+ <!-- /wp:paragraph -->
41
+
42
+ <!-- wp:paragraph {"align":"left"} -->
43
+ <p class="has-text-align-left">Gutenberg was developed on GitHub using the WordPress REST API, JavaScript, and React.</p>
44
+ <!-- /wp:paragraph -->
45
+
46
+ <!-- wp:paragraph {"align":"left","fontSize":"small"} -->
47
+ <p class="has-text-align-left has-small-font-size"><a href="https://wordpress.org/gutenberg/handbook/language/">Learn more</a></p>
48
+ <!-- /wp:paragraph -->
49
+
50
+ <!-- wp:paragraph {"align":"left"} -->
51
+ <p class="has-text-align-left"><strong>Designed for compatibility.</strong></p>
52
+ <!-- /wp:paragraph -->
53
+
54
+ <!-- wp:paragraph {"align":"left"} -->
55
+ <p class="has-text-align-left">We recommend migrating features to blocks, but support for existing WordPress functionality remains. There will be transition paths for shortcodes, meta-boxes, and Custom Post Types.</p>
56
+ <!-- /wp:paragraph -->
57
+
58
+ <!-- wp:paragraph {"align":"left","fontSize":"small"} -->
59
+ <p class="has-text-align-left has-small-font-size"><a href="https://wordpress.org/gutenberg/handbook/reference/faq/">Learn more</a></p>
60
+ <!-- /wp:paragraph -->"
61
+ `;
@@ -0,0 +1,91 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import {
5
+ getEditorHtml,
6
+ initializeEditor,
7
+ setupCoreBlocks,
8
+ transformBlock,
9
+ getBlock,
10
+ openBlockActionsMenu,
11
+ fireEvent,
12
+ getBlockTransformOptions,
13
+ } from 'test/helpers';
14
+
15
+ const block = 'Columns';
16
+ const initialHtml = `
17
+ <!-- wp:columns {"className":"gutenberg-landing\u002d\u002ddevelopers-columns has-2-columns"} -->
18
+ <div class="wp-block-columns gutenberg-landing--developers-columns has-2-columns"><!-- wp:column -->
19
+ <div class="wp-block-column"><!-- wp:paragraph {"align":"left"} -->
20
+ <p class="has-text-align-left"><strong>Built with modern technology.</strong></p>
21
+ <!-- /wp:paragraph -->
22
+
23
+ <!-- wp:paragraph {"align":"left"} -->
24
+ <p class="has-text-align-left">Gutenberg was developed on GitHub using the WordPress REST API, JavaScript, and React.</p>
25
+ <!-- /wp:paragraph -->
26
+
27
+ <!-- wp:paragraph {"align":"left","fontSize":"small"} -->
28
+ <p class="has-text-align-left has-small-font-size"><a href="https://wordpress.org/gutenberg/handbook/language/">Learn more</a></p>
29
+ <!-- /wp:paragraph --></div>
30
+ <!-- /wp:column -->
31
+
32
+ <!-- wp:column -->
33
+ <div class="wp-block-column"><!-- wp:paragraph {"align":"left"} -->
34
+ <p class="has-text-align-left"><strong>Designed for compatibility.</strong></p>
35
+ <!-- /wp:paragraph -->
36
+
37
+ <!-- wp:paragraph {"align":"left"} -->
38
+ <p class="has-text-align-left">We recommend migrating features to blocks, but support for existing WordPress functionality remains. There will be transition paths for shortcodes, meta-boxes, and Custom Post Types.</p>
39
+ <!-- /wp:paragraph -->
40
+
41
+ <!-- wp:paragraph {"align":"left","fontSize":"small"} -->
42
+ <p class="has-text-align-left has-small-font-size"><a href="https://wordpress.org/gutenberg/handbook/reference/faq/">Learn more</a></p>
43
+ <!-- /wp:paragraph --></div>
44
+ <!-- /wp:column --></div>
45
+ <!-- /wp:columns -->`;
46
+
47
+ const transformsWithInnerBlocks = [ 'Group' ];
48
+ const blockTransforms = [ ...transformsWithInnerBlocks ];
49
+
50
+ setupCoreBlocks();
51
+
52
+ describe( `${ block } block transforms`, () => {
53
+ test.each( blockTransforms )( 'to %s block', async ( blockTransform ) => {
54
+ const screen = await initializeEditor( { initialHtml } );
55
+ const newBlock = await transformBlock( screen, block, blockTransform, {
56
+ hasInnerBlocks:
57
+ transformsWithInnerBlocks.includes( blockTransform ),
58
+ } );
59
+ expect( newBlock ).toBeVisible();
60
+ expect( getEditorHtml() ).toMatchSnapshot();
61
+ } );
62
+
63
+ it( 'unwraps content', async () => {
64
+ const screen = await initializeEditor( { initialHtml } );
65
+ const { getByText } = screen;
66
+ fireEvent.press( getBlock( screen, block ) );
67
+
68
+ await openBlockActionsMenu( screen );
69
+ fireEvent.press( getByText( 'Transform block…' ) );
70
+ fireEvent.press( getByText( 'Unwrap' ) );
71
+
72
+ // The first block created is the content of the Paragraph block.
73
+ const paragraph = getBlock( screen, 'Paragraph', 0 );
74
+ expect( paragraph ).toBeVisible();
75
+ // The second block created is the content of the citation element.
76
+ const citation = getBlock( screen, 'Paragraph', 1 );
77
+ expect( citation ).toBeVisible();
78
+
79
+ expect( getEditorHtml() ).toMatchSnapshot();
80
+ } );
81
+
82
+ it( 'matches expected transformation options', async () => {
83
+ const screen = await initializeEditor( { initialHtml } );
84
+ const transformOptions = await getBlockTransformOptions(
85
+ screen,
86
+ block,
87
+ { canUnwrap: true }
88
+ );
89
+ expect( transformOptions ).toHaveLength( blockTransforms.length );
90
+ } );
91
+ } );
@@ -58,11 +58,10 @@ function block_core_comment_template_render_comments( $comments, $block ) {
58
58
  $block_content .= sprintf( '<ol>%1$s</ol>', $inner_content );
59
59
  --$comment_depth;
60
60
  } else {
61
- $inner_content = block_core_comment_template_render_comments(
61
+ $block_content .= block_core_comment_template_render_comments(
62
62
  $children,
63
63
  $block
64
64
  );
65
- $block_content .= sprintf( $inner_content );
66
65
  }
67
66
  }
68
67
 
@@ -5,6 +5,7 @@ import { store as blockEditorStore } from '@wordpress/block-editor';
5
5
  import { __, sprintf } from '@wordpress/i18n';
6
6
  import { useSelect } from '@wordpress/data';
7
7
  import { useEntityProp } from '@wordpress/core-data';
8
+ import { createInterpolateElement } from '@wordpress/element';
8
9
 
9
10
  /**
10
11
  * Internal dependencies
@@ -45,7 +46,7 @@ export default function PostCommentsPlaceholder( { postType, postId } ) {
45
46
  <footer className="comment-meta">
46
47
  <div className="comment-author vcard">
47
48
  <img
48
- alt="Commenter Avatar"
49
+ alt={ __( 'Commenter Avatar' ) }
49
50
  src={ avatarURL }
50
51
  className="avatar avatar-32 photo"
51
52
  height="32"
@@ -85,8 +86,17 @@ export default function PostCommentsPlaceholder( { postType, postId } ) {
85
86
  'To get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard.'
86
87
  ) }
87
88
  <br />
88
- { __( 'Commenter avatars come from' ) }{ ' ' }
89
- <a href="https://gravatar.com/">Gravatar</a>.
89
+ { createInterpolateElement(
90
+ __(
91
+ 'Commenter avatars come from <a>Gravatar</a>.'
92
+ ),
93
+ {
94
+ a: (
95
+ // eslint-disable-next-line jsx-a11y/anchor-has-content
96
+ <a href="https://gravatar.com/" />
97
+ ),
98
+ }
99
+ ) }
90
100
  </p>
91
101
  </div>
92
102
 
@@ -94,7 +104,9 @@ export default function PostCommentsPlaceholder( { postType, postId } ) {
94
104
  <a
95
105
  className="comment-reply-link"
96
106
  href="#top"
97
- aria-label="Reply to A WordPress Commenter"
107
+ aria-label={ __(
108
+ 'Reply to A WordPress Commenter'
109
+ ) }
98
110
  >
99
111
  { __( 'Reply' ) }
100
112
  </a>
@@ -212,6 +212,7 @@ function register_legacy_post_comments_block() {
212
212
  * like `_wp_multiple_block_styles`, which is required in this case because
213
213
  * the block has multiple styles.
214
214
  */
215
+ /** This filter is documented in wp-includes/blocks.php */
215
216
  $metadata = apply_filters( 'block_type_metadata', $metadata );
216
217
 
217
218
  register_block_type( 'core/post-comments', $metadata );
@@ -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",
@@ -206,9 +206,7 @@ export default function CoverInspectorControls( {
206
206
  isImgElement && (
207
207
  <TextareaControl
208
208
  __nextHasNoMarginBottom
209
- label={ __(
210
- 'Alt text (alternative text)'
211
- ) }
209
+ label={ __( 'Alternative text' ) }
212
210
  value={ alt }
213
211
  onChange={ ( newAlt ) =>
214
212
  setAttributes( { alt: newAlt } )
@@ -217,11 +215,12 @@ export default function CoverInspectorControls( {
217
215
  <>
218
216
  <ExternalLink href="https://www.w3.org/WAI/tutorials/images/decision-tree">
219
217
  { __(
220
- 'Describe the purpose of the image'
218
+ 'Describe the purpose of the image.'
221
219
  ) }
222
220
  </ExternalLink>
221
+ <br />
223
222
  { __(
224
- 'Leave empty if the image is purely decorative.'
223
+ 'Leave empty if decorative.'
225
224
  ) }
226
225
  </>
227
226
  }
@@ -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 } );
@@ -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
+ }
@@ -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 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 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
+ `;