@wordpress/block-library 8.4.0 → 8.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (607) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/archives/edit.js +3 -0
  3. package/build/archives/edit.js.map +1 -1
  4. package/build/audio/edit.js +2 -0
  5. package/build/audio/edit.js.map +1 -1
  6. package/build/avatar/edit.js +5 -9
  7. package/build/avatar/edit.js.map +1 -1
  8. package/build/buttons/edit.native.js +1 -1
  9. package/build/buttons/edit.native.js.map +1 -1
  10. package/build/categories/edit.js +5 -0
  11. package/build/categories/edit.js.map +1 -1
  12. package/build/columns/edit.js +11 -8
  13. package/build/columns/edit.js.map +1 -1
  14. package/build/columns/edit.native.js +1 -1
  15. package/build/columns/edit.native.js.map +1 -1
  16. package/build/columns/utils.js +2 -2
  17. package/build/columns/utils.js.map +1 -1
  18. package/build/comment-author-name/edit.js +2 -0
  19. package/build/comment-author-name/edit.js.map +1 -1
  20. package/build/comment-date/edit.js +1 -0
  21. package/build/comment-date/edit.js.map +1 -1
  22. package/build/comment-edit-link/edit.js +1 -0
  23. package/build/comment-edit-link/edit.js.map +1 -1
  24. package/build/comments/edit/placeholder.js +8 -5
  25. package/build/comments/edit/placeholder.js.map +1 -1
  26. package/build/comments-title/edit.js +2 -0
  27. package/build/comments-title/edit.js.map +1 -1
  28. package/build/cover/edit/inspector-controls.js +2 -0
  29. package/build/cover/edit/inspector-controls.js.map +1 -1
  30. package/build/cover/index.js +13 -4
  31. package/build/cover/index.js.map +1 -1
  32. package/build/cover/variations.js +29 -0
  33. package/build/cover/variations.js.map +1 -0
  34. package/build/embed/edit.js +13 -14
  35. package/build/embed/edit.js.map +1 -1
  36. package/build/embed/edit.native.js +18 -14
  37. package/build/embed/edit.native.js.map +1 -1
  38. package/build/embed/embed-controls.js +1 -0
  39. package/build/embed/embed-controls.js.map +1 -1
  40. package/build/embed/util.js +39 -12
  41. package/build/embed/util.js.map +1 -1
  42. package/build/file/inspector.js +3 -0
  43. package/build/file/inspector.js.map +1 -1
  44. package/build/freeform/modal.js +1 -1
  45. package/build/freeform/modal.js.map +1 -1
  46. package/build/gallery/edit.js +3 -0
  47. package/build/gallery/edit.js.map +1 -1
  48. package/build/gallery/shared.js +4 -8
  49. package/build/gallery/shared.js.map +1 -1
  50. package/build/gallery/use-image-sizes.js +4 -8
  51. package/build/gallery/use-image-sizes.js.map +1 -1
  52. package/build/gallery/v1/edit.js +8 -3
  53. package/build/gallery/v1/edit.js.map +1 -1
  54. package/build/gallery/v1/gallery-image.js +1 -3
  55. package/build/gallery/v1/gallery-image.js.map +1 -1
  56. package/build/gallery/v1/shared.js +4 -7
  57. package/build/gallery/v1/shared.js.map +1 -1
  58. package/build/image/edit.js +6 -4
  59. package/build/image/edit.js.map +1 -1
  60. package/build/image/image.js +6 -2
  61. package/build/image/image.js.map +1 -1
  62. package/build/image/utils.js +3 -1
  63. package/build/image/utils.js.map +1 -1
  64. package/build/index.js +3 -1
  65. package/build/index.js.map +1 -1
  66. package/build/latest-comments/edit.js +3 -0
  67. package/build/latest-comments/edit.js.map +1 -1
  68. package/build/latest-posts/edit.js +14 -10
  69. package/build/latest-posts/edit.js.map +1 -1
  70. package/build/latest-posts/edit.native.js +3 -3
  71. package/build/latest-posts/edit.native.js.map +1 -1
  72. package/build/list/ordered-list-settings.js +1 -0
  73. package/build/list/ordered-list-settings.js.map +1 -1
  74. package/build/list-item/edit.js +2 -2
  75. package/build/list-item/edit.js.map +1 -1
  76. package/build/list-item/hooks/use-outdent-list-item.js +2 -1
  77. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  78. package/build/loginout/edit.js +2 -0
  79. package/build/loginout/edit.js.map +1 -1
  80. package/build/media-text/constants.js +17 -1
  81. package/build/media-text/constants.js.map +1 -1
  82. package/build/media-text/edit.js +9 -19
  83. package/build/media-text/edit.js.map +1 -1
  84. package/build/media-text/edit.native.js +6 -5
  85. package/build/media-text/edit.native.js.map +1 -1
  86. package/build/media-text/transforms.js +32 -44
  87. package/build/media-text/transforms.js.map +1 -1
  88. package/build/more/edit.js +1 -0
  89. package/build/more/edit.js.map +1 -1
  90. package/build/navigation/edit/index.js +64 -68
  91. package/build/navigation/edit/index.js.map +1 -1
  92. package/build/navigation/edit/inner-blocks.js +4 -1
  93. package/build/navigation/edit/inner-blocks.js.map +1 -1
  94. package/build/navigation/edit/menu-inspector-controls.js +2 -5
  95. package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
  96. package/build/navigation/edit/navigation-menu-selector.js +26 -22
  97. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  98. package/build/navigation/edit/overlay-menu-preview.js +1 -0
  99. package/build/navigation/edit/overlay-menu-preview.js.map +1 -1
  100. package/build/navigation/edit/placeholder/index.js +1 -1
  101. package/build/navigation/edit/placeholder/index.js.map +1 -1
  102. package/build/navigation/edit/unsaved-inner-blocks.js +14 -1
  103. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  104. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +3 -5
  105. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  106. package/build/navigation/edit/use-create-navigation-menu.js +1 -1
  107. package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
  108. package/build/navigation/edit/use-generate-default-navigation-title.js +1 -1
  109. package/build/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  110. package/build/navigation/edit/use-navigation-notice.js +4 -7
  111. package/build/navigation/edit/use-navigation-notice.js.map +1 -1
  112. package/build/navigation-link/edit.js +0 -11
  113. package/build/navigation-link/edit.js.map +1 -1
  114. package/build/navigation-submenu/edit.js +1 -13
  115. package/build/navigation-submenu/edit.js.map +1 -1
  116. package/build/page-list/convert-to-links-modal.js +47 -0
  117. package/build/page-list/convert-to-links-modal.js.map +1 -0
  118. package/build/page-list/edit.js +62 -62
  119. package/build/page-list/edit.js.map +1 -1
  120. package/build/page-list-item/edit.js +3 -2
  121. package/build/page-list-item/edit.js.map +1 -1
  122. package/build/paragraph/edit.js +1 -0
  123. package/build/paragraph/edit.js.map +1 -1
  124. package/build/post-author/edit.js +4 -0
  125. package/build/post-author/edit.js.map +1 -1
  126. package/build/post-author-name/edit.js +2 -0
  127. package/build/post-author-name/edit.js.map +1 -1
  128. package/build/post-content/edit.js +6 -1
  129. package/build/post-content/edit.js.map +1 -1
  130. package/build/post-date/edit.js +2 -0
  131. package/build/post-date/edit.js.map +1 -1
  132. package/build/post-excerpt/edit.js +1 -0
  133. package/build/post-excerpt/edit.js.map +1 -1
  134. package/build/post-featured-image/dimension-controls.js +0 -6
  135. package/build/post-featured-image/dimension-controls.js.map +1 -1
  136. package/build/post-featured-image/edit.js +3 -1
  137. package/build/post-featured-image/edit.js.map +1 -1
  138. package/build/post-navigation-link/edit.js +2 -0
  139. package/build/post-navigation-link/edit.js.map +1 -1
  140. package/build/post-terms/use-post-terms.js +1 -1
  141. package/build/post-terms/use-post-terms.js.map +1 -1
  142. package/build/post-time-to-read/edit.js +104 -0
  143. package/build/post-time-to-read/edit.js.map +1 -0
  144. package/build/post-time-to-read/icon.js +25 -0
  145. package/build/post-time-to-read/icon.js.map +1 -0
  146. package/build/post-time-to-read/index.js +57 -0
  147. package/build/post-time-to-read/index.js.map +1 -0
  148. package/build/post-title/edit.js +2 -0
  149. package/build/post-title/edit.js.map +1 -1
  150. package/build/pullquote/deprecated.js +3 -3
  151. package/build/pullquote/deprecated.js.map +1 -1
  152. package/build/query/edit/inspector-controls/index.js +1 -0
  153. package/build/query/edit/inspector-controls/index.js.map +1 -1
  154. package/build/query/edit/query-placeholder.js +3 -2
  155. package/build/query/edit/query-placeholder.js.map +1 -1
  156. package/build/query/utils.js +26 -9
  157. package/build/query/utils.js.map +1 -1
  158. package/build/query-title/edit.js +2 -0
  159. package/build/query-title/edit.js.map +1 -1
  160. package/build/read-more/edit.js +1 -0
  161. package/build/read-more/edit.js.map +1 -1
  162. package/build/rss/edit.js +3 -0
  163. package/build/rss/edit.js.map +1 -1
  164. package/build/site-logo/edit.js +3 -0
  165. package/build/site-logo/edit.js.map +1 -1
  166. package/build/site-tagline/index.js +1 -0
  167. package/build/site-tagline/index.js.map +1 -1
  168. package/build/site-title/edit/index.js +2 -0
  169. package/build/site-title/edit/index.js.map +1 -1
  170. package/build/social-links/edit.js +4 -1
  171. package/build/social-links/edit.js.map +1 -1
  172. package/build/spacer/controls.native.js +10 -8
  173. package/build/spacer/controls.native.js.map +1 -1
  174. package/build/spacer/edit.native.js +43 -5
  175. package/build/spacer/edit.native.js.map +1 -1
  176. package/build/spacer/save.native.js +30 -0
  177. package/build/spacer/save.native.js.map +1 -0
  178. package/build/table/edit.js +3 -0
  179. package/build/table/edit.js.map +1 -1
  180. package/build/table/state.js +12 -4
  181. package/build/table/state.js.map +1 -1
  182. package/build/table-of-contents/edit.js +1 -0
  183. package/build/table-of-contents/edit.js.map +1 -1
  184. package/build/tag-cloud/edit.js +1 -0
  185. package/build/tag-cloud/edit.js.map +1 -1
  186. package/build/template-part/edit/import-controls.js +33 -30
  187. package/build/template-part/edit/import-controls.js.map +1 -1
  188. package/build/template-part/edit/utils/transformers.js +69 -19
  189. package/build/template-part/edit/utils/transformers.js.map +1 -1
  190. package/build/text-columns/edit.js +3 -7
  191. package/build/text-columns/edit.js.map +1 -1
  192. package/build/text-columns/save.js +11 -13
  193. package/build/text-columns/save.js.map +1 -1
  194. package/build/video/edit-common-settings.js +5 -0
  195. package/build/video/edit-common-settings.js.map +1 -1
  196. package/build-module/archives/edit.js +3 -0
  197. package/build-module/archives/edit.js.map +1 -1
  198. package/build-module/audio/edit.js +2 -0
  199. package/build-module/audio/edit.js.map +1 -1
  200. package/build-module/avatar/edit.js +5 -8
  201. package/build-module/avatar/edit.js.map +1 -1
  202. package/build-module/buttons/edit.native.js +1 -1
  203. package/build-module/buttons/edit.native.js.map +1 -1
  204. package/build-module/categories/edit.js +5 -0
  205. package/build-module/categories/edit.js.map +1 -1
  206. package/build-module/columns/edit.js +11 -7
  207. package/build-module/columns/edit.js.map +1 -1
  208. package/build-module/columns/edit.native.js +1 -1
  209. package/build-module/columns/edit.native.js.map +1 -1
  210. package/build-module/columns/utils.js +3 -3
  211. package/build-module/columns/utils.js.map +1 -1
  212. package/build-module/comment-author-name/edit.js +2 -0
  213. package/build-module/comment-author-name/edit.js.map +1 -1
  214. package/build-module/comment-date/edit.js +1 -0
  215. package/build-module/comment-date/edit.js.map +1 -1
  216. package/build-module/comment-edit-link/edit.js +1 -0
  217. package/build-module/comment-edit-link/edit.js.map +1 -1
  218. package/build-module/comments/edit/placeholder.js +9 -5
  219. package/build-module/comments/edit/placeholder.js.map +1 -1
  220. package/build-module/comments-title/edit.js +2 -0
  221. package/build-module/comments-title/edit.js.map +1 -1
  222. package/build-module/cover/edit/inspector-controls.js +2 -0
  223. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  224. package/build-module/cover/index.js +12 -4
  225. package/build-module/cover/index.js.map +1 -1
  226. package/build-module/cover/variations.js +19 -0
  227. package/build-module/cover/variations.js.map +1 -0
  228. package/build-module/embed/edit.js +14 -15
  229. package/build-module/embed/edit.js.map +1 -1
  230. package/build-module/embed/edit.native.js +19 -15
  231. package/build-module/embed/edit.native.js.map +1 -1
  232. package/build-module/embed/embed-controls.js +1 -0
  233. package/build-module/embed/embed-controls.js.map +1 -1
  234. package/build-module/embed/util.js +34 -10
  235. package/build-module/embed/util.js.map +1 -1
  236. package/build-module/file/inspector.js +3 -0
  237. package/build-module/file/inspector.js.map +1 -1
  238. package/build-module/freeform/modal.js +1 -1
  239. package/build-module/freeform/modal.js.map +1 -1
  240. package/build-module/gallery/edit.js +3 -0
  241. package/build-module/gallery/edit.js.map +1 -1
  242. package/build-module/gallery/shared.js +4 -7
  243. package/build-module/gallery/shared.js.map +1 -1
  244. package/build-module/gallery/use-image-sizes.js +4 -7
  245. package/build-module/gallery/use-image-sizes.js.map +1 -1
  246. package/build-module/gallery/v1/edit.js +9 -4
  247. package/build-module/gallery/v1/edit.js.map +1 -1
  248. package/build-module/gallery/v1/gallery-image.js +1 -2
  249. package/build-module/gallery/v1/gallery-image.js.map +1 -1
  250. package/build-module/gallery/v1/shared.js +4 -6
  251. package/build-module/gallery/v1/shared.js.map +1 -1
  252. package/build-module/image/edit.js +7 -5
  253. package/build-module/image/edit.js.map +1 -1
  254. package/build-module/image/image.js +7 -3
  255. package/build-module/image/image.js.map +1 -1
  256. package/build-module/image/utils.js +4 -2
  257. package/build-module/image/utils.js.map +1 -1
  258. package/build-module/index.js +2 -1
  259. package/build-module/index.js.map +1 -1
  260. package/build-module/latest-comments/edit.js +3 -0
  261. package/build-module/latest-comments/edit.js.map +1 -1
  262. package/build-module/latest-posts/edit.js +14 -9
  263. package/build-module/latest-posts/edit.js.map +1 -1
  264. package/build-module/latest-posts/edit.native.js +3 -3
  265. package/build-module/latest-posts/edit.native.js.map +1 -1
  266. package/build-module/list/ordered-list-settings.js +1 -0
  267. package/build-module/list/ordered-list-settings.js.map +1 -1
  268. package/build-module/list-item/edit.js +2 -2
  269. package/build-module/list-item/edit.js.map +1 -1
  270. package/build-module/list-item/hooks/use-outdent-list-item.js +2 -1
  271. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  272. package/build-module/loginout/edit.js +2 -0
  273. package/build-module/loginout/edit.js.map +1 -1
  274. package/build-module/media-text/constants.js +10 -0
  275. package/build-module/media-text/constants.js.map +1 -1
  276. package/build-module/media-text/edit.js +4 -14
  277. package/build-module/media-text/edit.js.map +1 -1
  278. package/build-module/media-text/edit.native.js +4 -3
  279. package/build-module/media-text/edit.native.js.map +1 -1
  280. package/build-module/media-text/transforms.js +32 -44
  281. package/build-module/media-text/transforms.js.map +1 -1
  282. package/build-module/more/edit.js +1 -0
  283. package/build-module/more/edit.js.map +1 -1
  284. package/build-module/navigation/edit/index.js +65 -69
  285. package/build-module/navigation/edit/index.js.map +1 -1
  286. package/build-module/navigation/edit/inner-blocks.js +4 -1
  287. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  288. package/build-module/navigation/edit/menu-inspector-controls.js +2 -5
  289. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
  290. package/build-module/navigation/edit/navigation-menu-selector.js +25 -22
  291. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  292. package/build-module/navigation/edit/overlay-menu-preview.js +1 -0
  293. package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -1
  294. package/build-module/navigation/edit/placeholder/index.js +1 -1
  295. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  296. package/build-module/navigation/edit/unsaved-inner-blocks.js +14 -1
  297. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  298. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +3 -5
  299. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  300. package/build-module/navigation/edit/use-create-navigation-menu.js +1 -1
  301. package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
  302. package/build-module/navigation/edit/use-generate-default-navigation-title.js +1 -1
  303. package/build-module/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  304. package/build-module/navigation/edit/use-navigation-notice.js +5 -8
  305. package/build-module/navigation/edit/use-navigation-notice.js.map +1 -1
  306. package/build-module/navigation-link/edit.js +0 -11
  307. package/build-module/navigation-link/edit.js.map +1 -1
  308. package/build-module/navigation-submenu/edit.js +1 -13
  309. package/build-module/navigation-submenu/edit.js.map +1 -1
  310. package/build-module/page-list/convert-to-links-modal.js +35 -0
  311. package/build-module/page-list/convert-to-links-modal.js.map +1 -0
  312. package/build-module/page-list/edit.js +64 -65
  313. package/build-module/page-list/edit.js.map +1 -1
  314. package/build-module/page-list-item/edit.js +3 -2
  315. package/build-module/page-list-item/edit.js.map +1 -1
  316. package/build-module/paragraph/edit.js +1 -0
  317. package/build-module/paragraph/edit.js.map +1 -1
  318. package/build-module/post-author/edit.js +4 -0
  319. package/build-module/post-author/edit.js.map +1 -1
  320. package/build-module/post-author-name/edit.js +2 -0
  321. package/build-module/post-author-name/edit.js.map +1 -1
  322. package/build-module/post-content/edit.js +6 -1
  323. package/build-module/post-content/edit.js.map +1 -1
  324. package/build-module/post-date/edit.js +2 -0
  325. package/build-module/post-date/edit.js.map +1 -1
  326. package/build-module/post-excerpt/edit.js +1 -0
  327. package/build-module/post-excerpt/edit.js.map +1 -1
  328. package/build-module/post-featured-image/dimension-controls.js +0 -6
  329. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  330. package/build-module/post-featured-image/edit.js +3 -1
  331. package/build-module/post-featured-image/edit.js.map +1 -1
  332. package/build-module/post-navigation-link/edit.js +2 -0
  333. package/build-module/post-navigation-link/edit.js.map +1 -1
  334. package/build-module/post-terms/use-post-terms.js +1 -1
  335. package/build-module/post-terms/use-post-terms.js.map +1 -1
  336. package/build-module/post-time-to-read/edit.js +90 -0
  337. package/build-module/post-time-to-read/edit.js.map +1 -0
  338. package/build-module/post-time-to-read/icon.js +15 -0
  339. package/build-module/post-time-to-read/icon.js.map +1 -0
  340. package/build-module/post-time-to-read/index.js +40 -0
  341. package/build-module/post-time-to-read/index.js.map +1 -0
  342. package/build-module/post-title/edit.js +2 -0
  343. package/build-module/post-title/edit.js.map +1 -1
  344. package/build-module/pullquote/deprecated.js +3 -2
  345. package/build-module/pullquote/deprecated.js.map +1 -1
  346. package/build-module/query/edit/inspector-controls/index.js +1 -0
  347. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  348. package/build-module/query/edit/query-placeholder.js +4 -3
  349. package/build-module/query/edit/query-placeholder.js.map +1 -1
  350. package/build-module/query/utils.js +21 -6
  351. package/build-module/query/utils.js.map +1 -1
  352. package/build-module/query-title/edit.js +2 -0
  353. package/build-module/query-title/edit.js.map +1 -1
  354. package/build-module/read-more/edit.js +1 -0
  355. package/build-module/read-more/edit.js.map +1 -1
  356. package/build-module/rss/edit.js +3 -0
  357. package/build-module/rss/edit.js.map +1 -1
  358. package/build-module/site-logo/edit.js +3 -0
  359. package/build-module/site-logo/edit.js.map +1 -1
  360. package/build-module/site-tagline/index.js +1 -0
  361. package/build-module/site-tagline/index.js.map +1 -1
  362. package/build-module/site-title/edit/index.js +2 -0
  363. package/build-module/site-title/edit/index.js.map +1 -1
  364. package/build-module/social-links/edit.js +4 -1
  365. package/build-module/social-links/edit.js.map +1 -1
  366. package/build-module/spacer/controls.native.js +9 -8
  367. package/build-module/spacer/controls.native.js.map +1 -1
  368. package/build-module/spacer/edit.native.js +39 -7
  369. package/build-module/spacer/edit.native.js.map +1 -1
  370. package/build-module/spacer/save.native.js +22 -0
  371. package/build-module/spacer/save.native.js.map +1 -0
  372. package/build-module/table/edit.js +3 -0
  373. package/build-module/table/edit.js.map +1 -1
  374. package/build-module/table/state.js +13 -5
  375. package/build-module/table/state.js.map +1 -1
  376. package/build-module/table-of-contents/edit.js +1 -0
  377. package/build-module/table-of-contents/edit.js.map +1 -1
  378. package/build-module/tag-cloud/edit.js +1 -0
  379. package/build-module/tag-cloud/edit.js.map +1 -1
  380. package/build-module/template-part/edit/import-controls.js +32 -29
  381. package/build-module/template-part/edit/import-controls.js.map +1 -1
  382. package/build-module/template-part/edit/utils/transformers.js +69 -20
  383. package/build-module/template-part/edit/utils/transformers.js.map +1 -1
  384. package/build-module/text-columns/edit.js +3 -6
  385. package/build-module/text-columns/edit.js.map +1 -1
  386. package/build-module/text-columns/save.js +11 -12
  387. package/build-module/text-columns/save.js.map +1 -1
  388. package/build-module/video/edit-common-settings.js +5 -0
  389. package/build-module/video/edit-common-settings.js.map +1 -1
  390. package/build-style/cover/style-rtl.css +11 -5
  391. package/build-style/cover/style.css +11 -5
  392. package/build-style/editor-rtl.css +9 -4
  393. package/build-style/editor.css +9 -4
  394. package/build-style/navigation/editor-rtl.css +1 -1
  395. package/build-style/navigation/editor.css +1 -1
  396. package/build-style/page-list/editor-rtl.css +4 -0
  397. package/build-style/page-list/editor.css +4 -0
  398. package/build-style/post-excerpt/editor-rtl.css +1 -1
  399. package/build-style/post-excerpt/editor.css +1 -1
  400. package/build-style/post-featured-image/style-rtl.css +1 -0
  401. package/build-style/post-featured-image/style.css +1 -0
  402. package/build-style/query/editor-rtl.css +1 -0
  403. package/build-style/query/editor.css +1 -0
  404. package/build-style/site-logo/editor-rtl.css +2 -2
  405. package/build-style/site-logo/editor.css +2 -2
  406. package/build-style/style-rtl.css +12 -5
  407. package/build-style/style.css +12 -5
  408. package/package.json +31 -30
  409. package/src/archives/edit.js +3 -0
  410. package/src/audio/edit.js +2 -0
  411. package/src/audio/test/__snapshots__/edit.native.js.snap +82 -42
  412. package/src/audio/test/__snapshots__/transforms.native.js.snap +25 -0
  413. package/src/audio/test/transforms.native.js +42 -0
  414. package/src/avatar/edit.js +2 -4
  415. package/src/block/test/__snapshots__/transforms.native.js.snap +15 -0
  416. package/src/block/test/transforms.native.js +40 -0
  417. package/src/buttons/edit.native.js +1 -1
  418. package/src/buttons/test/__snapshots__/edit.native.js.snap +11 -11
  419. package/src/buttons/test/__snapshots__/transforms.native.js.snap +31 -0
  420. package/src/buttons/test/transforms.native.js +48 -0
  421. package/src/categories/edit.js +5 -0
  422. package/src/code/test/__snapshots__/edit.native.js.snap +2 -2
  423. package/src/columns/edit.js +29 -17
  424. package/src/columns/edit.native.js +1 -1
  425. package/src/columns/test/__snapshots__/edit.native.js.snap +66 -66
  426. package/src/columns/test/__snapshots__/transforms.native.js.snap +61 -0
  427. package/src/columns/test/transforms.native.js +91 -0
  428. package/src/columns/test/utils.js +54 -0
  429. package/src/columns/utils.js +8 -8
  430. package/src/comment-author-name/edit.js +2 -0
  431. package/src/comment-date/edit.js +1 -0
  432. package/src/comment-edit-link/edit.js +1 -0
  433. package/src/comment-template/index.php +1 -2
  434. package/src/comments/edit/placeholder.js +16 -4
  435. package/src/comments-title/edit.js +2 -0
  436. package/src/cover/block.json +9 -3
  437. package/src/cover/edit/inspector-controls.js +2 -0
  438. package/src/cover/index.js +2 -0
  439. package/src/cover/index.php +4 -6
  440. package/src/cover/style.scss +16 -7
  441. package/src/cover/test/__snapshots__/edit.native.js.snap +36 -36
  442. package/src/cover/test/__snapshots__/transforms.native.js.snap +73 -0
  443. package/src/cover/test/transforms.native.js +112 -0
  444. package/src/cover/variations.js +20 -0
  445. package/src/embed/edit.js +16 -12
  446. package/src/embed/edit.native.js +28 -18
  447. package/src/embed/embed-controls.js +1 -0
  448. package/src/embed/test/__snapshots__/index.native.js.snap +52 -52
  449. package/src/embed/test/__snapshots__/transforms.native.js.snap +23 -0
  450. package/src/embed/test/index.js +12 -0
  451. package/src/embed/test/transforms.native.js +44 -0
  452. package/src/embed/util.js +29 -8
  453. package/src/file/inspector.js +3 -0
  454. package/src/file/test/__snapshots__/edit.native.js.snap +67 -51
  455. package/src/file/test/__snapshots__/transforms.native.js.snap +19 -0
  456. package/src/file/test/transforms.native.js +42 -0
  457. package/src/freeform/modal.js +1 -1
  458. package/src/freeform/test/__snapshots__/transforms.native.js.snap +19 -0
  459. package/src/freeform/test/transforms.native.js +39 -0
  460. package/src/gallery/edit.js +5 -0
  461. package/src/gallery/shared.js +6 -11
  462. package/src/gallery/test/__snapshots__/index.native.js.snap +71 -71
  463. package/src/gallery/test/__snapshots__/transforms.native.js.snap +53 -0
  464. package/src/gallery/test/transforms.native.js +52 -0
  465. package/src/gallery/use-image-sizes.js +3 -16
  466. package/src/gallery/v1/edit.js +8 -16
  467. package/src/gallery/v1/gallery-image.js +1 -2
  468. package/src/gallery/v1/shared.js +5 -10
  469. package/src/group/test/__snapshots__/edit.native.js.snap +5 -5
  470. package/src/group/test/__snapshots__/transforms.native.js.snap +35 -0
  471. package/src/group/test/transforms.native.js +75 -0
  472. package/src/heading/test/__snapshots__/index.native.js.snap +1 -1
  473. package/src/heading/test/__snapshots__/transforms.native.js.snap +47 -0
  474. package/src/heading/test/transforms.native.js +46 -0
  475. package/src/image/edit.js +4 -4
  476. package/src/image/image.js +4 -9
  477. package/src/image/index.php +4 -4
  478. package/src/image/test/__snapshots__/transforms.native.js.snap +49 -0
  479. package/src/image/test/transforms.native.js +48 -0
  480. package/src/image/utils.js +2 -2
  481. package/src/index.js +2 -0
  482. package/src/latest-comments/edit.js +3 -0
  483. package/src/latest-posts/edit.js +15 -16
  484. package/src/latest-posts/edit.native.js +3 -3
  485. package/src/latest-posts/test/__snapshots__/transforms.native.js.snap +15 -0
  486. package/src/latest-posts/test/transforms.native.js +61 -0
  487. package/src/list/ordered-list-settings.js +1 -0
  488. package/src/list/test/__snapshots__/edit.native.js.snap +4 -4
  489. package/src/list/test/__snapshots__/transforms.native.js.snap +85 -0
  490. package/src/list/test/transforms.native.js +56 -0
  491. package/src/list-item/edit.js +10 -3
  492. package/src/list-item/hooks/use-outdent-list-item.js +2 -1
  493. package/src/loginout/edit.js +2 -0
  494. package/src/media-text/constants.js +16 -0
  495. package/src/media-text/edit.js +10 -18
  496. package/src/media-text/edit.native.js +3 -9
  497. package/src/media-text/test/__snapshots__/transforms.native.js.snap +73 -0
  498. package/src/media-text/test/transforms.native.js +112 -0
  499. package/src/media-text/transforms.js +24 -51
  500. package/src/missing/test/__snapshots__/edit.native.js.snap +21 -3
  501. package/src/more/edit.js +1 -0
  502. package/src/more/test/__snapshots__/transforms.native.js.snap +19 -0
  503. package/src/more/test/transforms.native.js +42 -0
  504. package/src/navigation/edit/index.js +121 -76
  505. package/src/navigation/edit/inner-blocks.js +3 -0
  506. package/src/navigation/edit/menu-inspector-controls.js +2 -7
  507. package/src/navigation/edit/navigation-menu-selector.js +41 -25
  508. package/src/navigation/edit/overlay-menu-preview.js +1 -0
  509. package/src/navigation/edit/placeholder/index.js +1 -1
  510. package/src/navigation/edit/unsaved-inner-blocks.js +46 -32
  511. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +124 -122
  512. package/src/navigation/edit/use-create-navigation-menu.js +1 -1
  513. package/src/navigation/edit/use-generate-default-navigation-title.js +1 -1
  514. package/src/navigation/edit/use-navigation-notice.js +16 -13
  515. package/src/navigation/editor.scss +23 -20
  516. package/src/navigation/index.php +5 -3
  517. package/src/navigation-link/edit.js +0 -9
  518. package/src/navigation-link/index.php +5 -8
  519. package/src/navigation-link/test/__snapshots__/hooks.js.snap +12 -12
  520. package/src/navigation-submenu/edit.js +0 -10
  521. package/src/navigation-submenu/index.php +23 -6
  522. package/src/nextpage/test/__snapshots__/transforms.native.js.snap +19 -0
  523. package/src/nextpage/test/transforms.native.js +42 -0
  524. package/src/page-list/convert-to-links-modal.js +38 -0
  525. package/src/page-list/edit.js +82 -69
  526. package/src/page-list/editor.scss +6 -0
  527. package/src/page-list-item/edit.js +2 -3
  528. package/src/paragraph/edit.js +1 -0
  529. package/src/paragraph/test/__snapshots__/transforms.native.js.snap +59 -0
  530. package/src/paragraph/test/transforms.native.js +50 -0
  531. package/src/post-author/edit.js +4 -0
  532. package/src/post-author-name/edit.js +2 -0
  533. package/src/post-content/edit.js +5 -1
  534. package/src/post-date/edit.js +2 -0
  535. package/src/post-excerpt/edit.js +1 -0
  536. package/src/post-excerpt/editor.scss +1 -1
  537. package/src/post-excerpt/index.php +1 -2
  538. package/src/post-featured-image/dimension-controls.js +0 -8
  539. package/src/post-featured-image/edit.js +3 -1
  540. package/src/post-featured-image/style.scss +1 -0
  541. package/src/post-navigation-link/edit.js +2 -0
  542. package/src/post-terms/index.php +1 -0
  543. package/src/post-terms/use-post-terms.js +1 -1
  544. package/src/post-time-to-read/block.json +20 -0
  545. package/src/post-time-to-read/edit.js +101 -0
  546. package/src/post-time-to-read/icon.js +15 -0
  547. package/src/post-time-to-read/index.js +17 -0
  548. package/src/post-time-to-read/index.php +62 -0
  549. package/src/post-title/edit.js +2 -0
  550. package/src/preformatted/test/__snapshots__/edit.native.js.snap +10 -10
  551. package/src/preformatted/test/__snapshots__/transforms.native.js.snap +31 -0
  552. package/src/preformatted/test/transforms.native.js +42 -0
  553. package/src/pullquote/deprecated.js +2 -6
  554. package/src/pullquote/test/__snapshots__/transforms.native.js.snap +47 -0
  555. package/src/pullquote/test/transforms.native.js +46 -0
  556. package/src/query/edit/inspector-controls/index.js +1 -0
  557. package/src/query/edit/query-placeholder.js +10 -5
  558. package/src/query/editor.scss +1 -0
  559. package/src/query/test/utils.js +33 -1
  560. package/src/query/utils.js +19 -6
  561. package/src/query-title/edit.js +2 -0
  562. package/src/quote/test/__snapshots__/transforms.native.js.snap +39 -0
  563. package/src/quote/test/transforms.native.js +67 -0
  564. package/src/read-more/edit.js +1 -0
  565. package/src/rss/edit.js +3 -0
  566. package/src/search/test/__snapshots__/edit.native.js.snap +71 -61
  567. package/src/search/test/__snapshots__/transforms.native.js.snap +15 -0
  568. package/src/search/test/transforms.native.js +40 -0
  569. package/src/separator/test/__snapshots__/edit.native.js.snap +1 -1
  570. package/src/separator/test/__snapshots__/transforms.native.js.snap +19 -0
  571. package/src/separator/test/transforms.native.js +42 -0
  572. package/src/shortcode/test/__snapshots__/transforms.native.js.snap +19 -0
  573. package/src/shortcode/test/transforms.native.js +42 -0
  574. package/src/site-logo/edit.js +3 -0
  575. package/src/site-logo/editor.scss +3 -3
  576. package/src/site-logo/index.php +7 -2
  577. package/src/site-tagline/block.json +1 -0
  578. package/src/site-title/edit/index.js +2 -0
  579. package/src/social-link/index.php +6 -6
  580. package/src/social-links/edit.js +3 -0
  581. package/src/social-links/test/__snapshots__/edit.native.js.snap +16 -16
  582. package/src/social-links/test/__snapshots__/transforms.native.js.snap +31 -0
  583. package/src/social-links/test/transforms.native.js +53 -0
  584. package/src/spacer/controls.native.js +13 -5
  585. package/src/spacer/edit.native.js +45 -6
  586. package/src/spacer/save.native.js +18 -0
  587. package/src/spacer/test/__snapshots__/index.native.js.snap +21 -9
  588. package/src/spacer/test/__snapshots__/transforms.native.js.snap +19 -0
  589. package/src/spacer/test/index.native.js +81 -0
  590. package/src/spacer/test/transforms.native.js +42 -0
  591. package/src/table/edit.js +3 -0
  592. package/src/table/state.js +8 -17
  593. package/src/table-of-contents/edit.js +1 -0
  594. package/src/tag-cloud/edit.js +1 -0
  595. package/src/template-part/edit/import-controls.js +26 -34
  596. package/src/template-part/edit/utils/transformers.js +96 -19
  597. package/src/template-part/index.php +7 -6
  598. package/src/text-columns/edit.js +1 -6
  599. package/src/text-columns/save.js +1 -6
  600. package/src/verse/test/__snapshots__/edit.native.js.snap +2 -2
  601. package/src/verse/test/__snapshots__/transforms.native.js.snap +25 -0
  602. package/src/verse/test/transforms.native.js +42 -0
  603. package/src/video/edit-common-settings.js +5 -0
  604. package/src/video/test/__snapshots__/transforms.native.js.snap +41 -0
  605. package/src/video/test/transforms.native.js +48 -0
  606. package/tsconfig.json +2 -1
  607. package/tsconfig.tsbuildinfo +1 -1
@@ -1,171 +1,171 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`Gallery block Columns setting decrements columns 1`] = `
4
- "<!-- wp:gallery {\\"columns\\":2,\\"linkTo\\":\\"none\\"} -->
5
- <figure class=\\"wp-block-gallery has-nested-images columns-2 is-cropped\\"><!-- wp:image {\\"id\\":2000} -->
6
- <figure class=\\"wp-block-image\\"><img src=\\"https://test-site.files.wordpress.com/local-image-1.jpeg\\" alt=\\"\\" class=\\"wp-image-2000\\"/></figure>
4
+ "<!-- wp:gallery {"columns":2,"linkTo":"none"} -->
5
+ <figure class="wp-block-gallery has-nested-images columns-2 is-cropped"><!-- wp:image {"id":2000} -->
6
+ <figure class="wp-block-image"><img src="https://test-site.files.wordpress.com/local-image-1.jpeg" alt="" class="wp-image-2000"/></figure>
7
7
  <!-- /wp:image -->
8
8
 
9
- <!-- wp:image {\\"id\\":2001} -->
10
- <figure class=\\"wp-block-image\\"><img src=\\"https://test-site.files.wordpress.com/local-image-2.jpeg\\" alt=\\"\\" class=\\"wp-image-2001\\"/></figure>
9
+ <!-- wp:image {"id":2001} -->
10
+ <figure class="wp-block-image"><img src="https://test-site.files.wordpress.com/local-image-2.jpeg" alt="" class="wp-image-2001"/></figure>
11
11
  <!-- /wp:image -->
12
12
 
13
- <!-- wp:image {\\"id\\":2002} -->
14
- <figure class=\\"wp-block-image\\"><img src=\\"https://test-site.files.wordpress.com/local-image-3.jpeg\\" alt=\\"\\" class=\\"wp-image-2002\\"/></figure>
13
+ <!-- wp:image {"id":2002} -->
14
+ <figure class="wp-block-image"><img src="https://test-site.files.wordpress.com/local-image-3.jpeg" alt="" class="wp-image-2002"/></figure>
15
15
  <!-- /wp:image --></figure>
16
16
  <!-- /wp:gallery -->"
17
17
  `;
18
18
 
19
19
  exports[`Gallery block Columns setting does not increment due to maximum value 1`] = `
20
- "<!-- wp:gallery {\\"linkTo\\":\\"none\\"} -->
21
- <figure class=\\"wp-block-gallery has-nested-images columns-default is-cropped\\"><!-- wp:image {\\"id\\":2000} -->
22
- <figure class=\\"wp-block-image\\"><img src=\\"https://test-site.files.wordpress.com/local-image-1.jpeg\\" alt=\\"\\" class=\\"wp-image-2000\\"/></figure>
20
+ "<!-- wp:gallery {"linkTo":"none"} -->
21
+ <figure class="wp-block-gallery has-nested-images columns-default is-cropped"><!-- wp:image {"id":2000} -->
22
+ <figure class="wp-block-image"><img src="https://test-site.files.wordpress.com/local-image-1.jpeg" alt="" class="wp-image-2000"/></figure>
23
23
  <!-- /wp:image -->
24
24
 
25
- <!-- wp:image {\\"id\\":2001} -->
26
- <figure class=\\"wp-block-image\\"><img src=\\"https://test-site.files.wordpress.com/local-image-2.jpeg\\" alt=\\"\\" class=\\"wp-image-2001\\"/></figure>
25
+ <!-- wp:image {"id":2001} -->
26
+ <figure class="wp-block-image"><img src="https://test-site.files.wordpress.com/local-image-2.jpeg" alt="" class="wp-image-2001"/></figure>
27
27
  <!-- /wp:image -->
28
28
 
29
- <!-- wp:image {\\"id\\":2002} -->
30
- <figure class=\\"wp-block-image\\"><img src=\\"https://test-site.files.wordpress.com/local-image-3.jpeg\\" alt=\\"\\" class=\\"wp-image-2002\\"/></figure>
29
+ <!-- wp:image {"id":2002} -->
30
+ <figure class="wp-block-image"><img src="https://test-site.files.wordpress.com/local-image-3.jpeg" alt="" class="wp-image-2002"/></figure>
31
31
  <!-- /wp:image --></figure>
32
32
  <!-- /wp:gallery -->"
33
33
  `;
34
34
 
35
35
  exports[`Gallery block cancels uploads 1`] = `
36
- "<!-- wp:gallery {\\"linkTo\\":\\"none\\"} -->
37
- <figure class=\\"wp-block-gallery has-nested-images columns-default is-cropped\\"><!-- wp:image {\\"id\\":null} -->
38
- <figure class=\\"wp-block-image\\"><img alt=\\"\\"/></figure>
36
+ "<!-- wp:gallery {"linkTo":"none"} -->
37
+ <figure class="wp-block-gallery has-nested-images columns-default is-cropped"><!-- wp:image {"id":null} -->
38
+ <figure class="wp-block-image"><img alt=""/></figure>
39
39
  <!-- /wp:image -->
40
40
 
41
- <!-- wp:image {\\"id\\":null} -->
42
- <figure class=\\"wp-block-image\\"><img alt=\\"\\"/></figure>
41
+ <!-- wp:image {"id":null} -->
42
+ <figure class="wp-block-image"><img alt=""/></figure>
43
43
  <!-- /wp:image --></figure>
44
44
  <!-- /wp:gallery -->"
45
45
  `;
46
46
 
47
47
  exports[`Gallery block disables crop images setting 1`] = `
48
- "<!-- wp:gallery {\\"imageCrop\\":false,\\"linkTo\\":\\"none\\"} -->
49
- <figure class=\\"wp-block-gallery has-nested-images columns-default\\"><!-- wp:image {\\"id\\":2000} -->
50
- <figure class=\\"wp-block-image\\"><img src=\\"https://test-site.files.wordpress.com/local-image-1.jpeg\\" alt=\\"\\" class=\\"wp-image-2000\\"/></figure>
48
+ "<!-- wp:gallery {"imageCrop":false,"linkTo":"none"} -->
49
+ <figure class="wp-block-gallery has-nested-images columns-default"><!-- wp:image {"id":2000} -->
50
+ <figure class="wp-block-image"><img src="https://test-site.files.wordpress.com/local-image-1.jpeg" alt="" class="wp-image-2000"/></figure>
51
51
  <!-- /wp:image --></figure>
52
52
  <!-- /wp:gallery -->"
53
53
  `;
54
54
 
55
55
  exports[`Gallery block finishes pending uploads upon opening the editor 1`] = `
56
- "<!-- wp:gallery {\\"linkTo\\":\\"none\\"} -->
57
- <figure class=\\"wp-block-gallery has-nested-images columns-default is-cropped\\"><!-- wp:image {\\"id\\":2000} -->
58
- <figure class=\\"wp-block-image\\"><img src=\\"https://test-site.files.wordpress.com/local-image-1.jpeg\\" alt=\\"\\" class=\\"wp-image-2000\\"/></figure>
56
+ "<!-- wp:gallery {"linkTo":"none"} -->
57
+ <figure class="wp-block-gallery has-nested-images columns-default is-cropped"><!-- wp:image {"id":2000} -->
58
+ <figure class="wp-block-image"><img src="https://test-site.files.wordpress.com/local-image-1.jpeg" alt="" class="wp-image-2000"/></figure>
59
59
  <!-- /wp:image -->
60
60
 
61
- <!-- wp:image {\\"id\\":2001} -->
62
- <figure class=\\"wp-block-image\\"><img src=\\"https://test-site.files.wordpress.com/local-image-2.jpeg\\" alt=\\"\\" class=\\"wp-image-2001\\"/></figure>
61
+ <!-- wp:image {"id":2001} -->
62
+ <figure class="wp-block-image"><img src="https://test-site.files.wordpress.com/local-image-2.jpeg" alt="" class="wp-image-2001"/></figure>
63
63
  <!-- /wp:image --></figure>
64
64
  <!-- /wp:gallery -->"
65
65
  `;
66
66
 
67
67
  exports[`Gallery block handles failed uploads 1`] = `
68
- "<!-- wp:gallery {\\"linkTo\\":\\"none\\"} -->
69
- <figure class=\\"wp-block-gallery has-nested-images columns-default is-cropped\\"><!-- wp:image {\\"id\\":1} -->
70
- <figure class=\\"wp-block-image\\"><img src=\\"file:///local-image-1.jpeg\\" alt=\\"\\" class=\\"wp-image-1\\"/></figure>
68
+ "<!-- wp:gallery {"linkTo":"none"} -->
69
+ <figure class="wp-block-gallery has-nested-images columns-default is-cropped"><!-- wp:image {"id":1} -->
70
+ <figure class="wp-block-image"><img src="file:///local-image-1.jpeg" alt="" class="wp-image-1"/></figure>
71
71
  <!-- /wp:image -->
72
72
 
73
- <!-- wp:image {\\"id\\":2} -->
74
- <figure class=\\"wp-block-image\\"><img src=\\"file:///local-image-2.jpeg\\" alt=\\"\\" class=\\"wp-image-2\\"/></figure>
73
+ <!-- wp:image {"id":2} -->
74
+ <figure class="wp-block-image"><img src="file:///local-image-2.jpeg" alt="" class="wp-image-2"/></figure>
75
75
  <!-- /wp:image --></figure>
76
76
  <!-- /wp:gallery -->"
77
77
  `;
78
78
 
79
79
  exports[`Gallery block inserts block 1`] = `
80
- "<!-- wp:gallery {\\"linkTo\\":\\"none\\"} -->
81
- <figure class=\\"wp-block-gallery has-nested-images columns-default is-cropped\\"></figure>
80
+ "<!-- wp:gallery {"linkTo":"none"} -->
81
+ <figure class="wp-block-gallery has-nested-images columns-default is-cropped"></figure>
82
82
  <!-- /wp:gallery -->"
83
83
  `;
84
84
 
85
85
  exports[`Gallery block overrides "Link to" setting of gallery items 1`] = `
86
- "<!-- wp:gallery {\\"linkTo\\":\\"media\\"} -->
87
- <figure class=\\"wp-block-gallery has-nested-images columns-default is-cropped\\"><!-- wp:image {\\"id\\":1,\\"linkDestination\\":\\"media\\"} -->
88
- <figure class=\\"wp-block-image\\"><img src=\\"file:///local-image-1.jpeg\\" alt=\\"\\" class=\\"wp-image-1\\"/></figure>
86
+ "<!-- wp:gallery {"linkTo":"media"} -->
87
+ <figure class="wp-block-gallery has-nested-images columns-default is-cropped"><!-- wp:image {"id":1,"linkDestination":"media"} -->
88
+ <figure class="wp-block-image"><img src="file:///local-image-1.jpeg" alt="" class="wp-image-1"/></figure>
89
89
  <!-- /wp:image -->
90
90
 
91
- <!-- wp:image {\\"id\\":2,\\"linkDestination\\":\\"media\\"} -->
92
- <figure class=\\"wp-block-image\\"><img src=\\"file:///local-image-2.jpeg\\" alt=\\"\\" class=\\"wp-image-2\\"/></figure>
91
+ <!-- wp:image {"id":2,"linkDestination":"media"} -->
92
+ <figure class="wp-block-image"><img src="file:///local-image-2.jpeg" alt="" class="wp-image-2"/></figure>
93
93
  <!-- /wp:image --></figure>
94
94
  <!-- /wp:gallery -->"
95
95
  `;
96
96
 
97
97
  exports[`Gallery block rearranges gallery items 1`] = `
98
- "<!-- wp:gallery {\\"linkTo\\":\\"none\\"} -->
99
- <figure class=\\"wp-block-gallery has-nested-images columns-default is-cropped\\"><!-- wp:image {\\"id\\":2002} -->
100
- <figure class=\\"wp-block-image\\"><img src=\\"https://test-site.files.wordpress.com/local-image-3.jpeg\\" alt=\\"\\" class=\\"wp-image-2002\\"/></figure>
98
+ "<!-- wp:gallery {"linkTo":"none"} -->
99
+ <figure class="wp-block-gallery has-nested-images columns-default is-cropped"><!-- wp:image {"id":2002} -->
100
+ <figure class="wp-block-image"><img src="https://test-site.files.wordpress.com/local-image-3.jpeg" alt="" class="wp-image-2002"/></figure>
101
101
  <!-- /wp:image -->
102
102
 
103
- <!-- wp:image {\\"id\\":2000} -->
104
- <figure class=\\"wp-block-image\\"><img src=\\"https://test-site.files.wordpress.com/local-image-1.jpeg\\" alt=\\"\\" class=\\"wp-image-2000\\"/></figure>
103
+ <!-- wp:image {"id":2000} -->
104
+ <figure class="wp-block-image"><img src="https://test-site.files.wordpress.com/local-image-1.jpeg" alt="" class="wp-image-2000"/></figure>
105
105
  <!-- /wp:image -->
106
106
 
107
- <!-- wp:image {\\"id\\":2001} -->
108
- <figure class=\\"wp-block-image\\"><img src=\\"https://test-site.files.wordpress.com/local-image-2.jpeg\\" alt=\\"\\" class=\\"wp-image-2001\\"/></figure>
107
+ <!-- wp:image {"id":2001} -->
108
+ <figure class="wp-block-image"><img src="https://test-site.files.wordpress.com/local-image-2.jpeg" alt="" class="wp-image-2001"/></figure>
109
109
  <!-- /wp:image --></figure>
110
110
  <!-- /wp:gallery -->"
111
111
  `;
112
112
 
113
113
  exports[`Gallery block sets caption to gallery 1`] = `
114
- "<!-- wp:gallery {\\"linkTo\\":\\"none\\"} -->
115
- <figure class=\\"wp-block-gallery has-nested-images columns-default is-cropped\\"><!-- wp:image {\\"id\\":2000} -->
116
- <figure class=\\"wp-block-image\\"><img src=\\"https://test-site.files.wordpress.com/local-image-1.jpeg\\" alt=\\"\\" class=\\"wp-image-2000\\"/></figure>
117
- <!-- /wp:image --><figcaption class=\\"blocks-gallery-caption wp-element-caption\\"><strong>Bold</strong> <em>italic</em> <s>strikethrough</s> gallery caption</figcaption></figure>
114
+ "<!-- wp:gallery {"linkTo":"none"} -->
115
+ <figure class="wp-block-gallery has-nested-images columns-default is-cropped"><!-- wp:image {"id":2000} -->
116
+ <figure class="wp-block-image"><img src="https://test-site.files.wordpress.com/local-image-1.jpeg" alt="" class="wp-image-2000"/></figure>
117
+ <!-- /wp:image --><figcaption class="blocks-gallery-caption wp-element-caption"><strong>Bold</strong> <em>italic</em> <s>strikethrough</s> gallery caption</figcaption></figure>
118
118
  <!-- /wp:gallery -->"
119
119
  `;
120
120
 
121
121
  exports[`Gallery block sets caption to gallery items 1`] = `
122
- "<!-- wp:gallery {\\"linkTo\\":\\"none\\"} -->
123
- <figure class=\\"wp-block-gallery has-nested-images columns-default is-cropped\\"><!-- wp:image {\\"id\\":2000} -->
124
- <figure class=\\"wp-block-image\\"><img src=\\"https://test-site.files.wordpress.com/local-image-1.jpeg\\" alt=\\"\\" class=\\"wp-image-2000\\"/><figcaption class=\\"wp-element-caption\\"><strong>Bold</strong> <em>italic</em> <s>strikethrough</s> image caption</figcaption></figure>
122
+ "<!-- wp:gallery {"linkTo":"none"} -->
123
+ <figure class="wp-block-gallery has-nested-images columns-default is-cropped"><!-- wp:image {"id":2000} -->
124
+ <figure class="wp-block-image"><img src="https://test-site.files.wordpress.com/local-image-1.jpeg" alt="" class="wp-image-2000"/><figcaption class="wp-element-caption"><strong>Bold</strong> <em>italic</em> <s>strikethrough</s> image caption</figcaption></figure>
125
125
  <!-- /wp:image --></figure>
126
126
  <!-- /wp:gallery -->"
127
127
  `;
128
128
 
129
129
  exports[`Gallery block successfully uploads items 1`] = `
130
- "<!-- wp:gallery {\\"linkTo\\":\\"none\\"} -->
131
- <figure class=\\"wp-block-gallery has-nested-images columns-default is-cropped\\"><!-- wp:image {\\"id\\":2000} -->
132
- <figure class=\\"wp-block-image\\"><img src=\\"https://test-site.files.wordpress.com/local-image-1.jpeg\\" alt=\\"\\" class=\\"wp-image-2000\\"/></figure>
130
+ "<!-- wp:gallery {"linkTo":"none"} -->
131
+ <figure class="wp-block-gallery has-nested-images columns-default is-cropped"><!-- wp:image {"id":2000} -->
132
+ <figure class="wp-block-image"><img src="https://test-site.files.wordpress.com/local-image-1.jpeg" alt="" class="wp-image-2000"/></figure>
133
133
  <!-- /wp:image -->
134
134
 
135
- <!-- wp:image {\\"id\\":2001} -->
136
- <figure class=\\"wp-block-image\\"><img src=\\"https://test-site.files.wordpress.com/local-image-2.jpeg\\" alt=\\"\\" class=\\"wp-image-2001\\"/></figure>
135
+ <!-- wp:image {"id":2001} -->
136
+ <figure class="wp-block-image"><img src="https://test-site.files.wordpress.com/local-image-2.jpeg" alt="" class="wp-image-2001"/></figure>
137
137
  <!-- /wp:image --></figure>
138
138
  <!-- /wp:gallery -->"
139
139
  `;
140
140
 
141
141
  exports[`Gallery block takes a photo 1`] = `
142
- "<!-- wp:gallery {\\"linkTo\\":\\"none\\"} -->
143
- <figure class=\\"wp-block-gallery has-nested-images columns-default is-cropped\\"><!-- wp:image {\\"id\\":2000} -->
144
- <figure class=\\"wp-block-image\\"><img src=\\"https://test-site.files.wordpress.com/local-image-1.jpeg\\" alt=\\"\\" class=\\"wp-image-2000\\"/></figure>
142
+ "<!-- wp:gallery {"linkTo":"none"} -->
143
+ <figure class="wp-block-gallery has-nested-images columns-default is-cropped"><!-- wp:image {"id":2000} -->
144
+ <figure class="wp-block-image"><img src="https://test-site.files.wordpress.com/local-image-1.jpeg" alt="" class="wp-image-2000"/></figure>
145
145
  <!-- /wp:image --></figure>
146
146
  <!-- /wp:gallery -->"
147
147
  `;
148
148
 
149
149
  exports[`Gallery block uploads from free photo library 1`] = `
150
- "<!-- wp:gallery {\\"linkTo\\":\\"none\\"} -->
151
- <figure class=\\"wp-block-gallery has-nested-images columns-default is-cropped\\"><!-- wp:image {\\"id\\":2000} -->
152
- <figure class=\\"wp-block-image\\"><img src=\\"https://test-site.files.wordpress.com/local-image-1.jpeg\\" alt=\\"\\" class=\\"wp-image-2000\\"/></figure>
150
+ "<!-- wp:gallery {"linkTo":"none"} -->
151
+ <figure class="wp-block-gallery has-nested-images columns-default is-cropped"><!-- wp:image {"id":2000} -->
152
+ <figure class="wp-block-image"><img src="https://test-site.files.wordpress.com/local-image-1.jpeg" alt="" class="wp-image-2000"/></figure>
153
153
  <!-- /wp:image -->
154
154
 
155
- <!-- wp:image {\\"id\\":2001} -->
156
- <figure class=\\"wp-block-image\\"><img src=\\"https://test-site.files.wordpress.com/local-image-2.jpeg\\" alt=\\"\\" class=\\"wp-image-2001\\"/></figure>
155
+ <!-- wp:image {"id":2001} -->
156
+ <figure class="wp-block-image"><img src="https://test-site.files.wordpress.com/local-image-2.jpeg" alt="" class="wp-image-2001"/></figure>
157
157
  <!-- /wp:image --></figure>
158
158
  <!-- /wp:gallery -->"
159
159
  `;
160
160
 
161
161
  exports[`Gallery block uploads from other apps 1`] = `
162
- "<!-- wp:gallery {\\"linkTo\\":\\"none\\"} -->
163
- <figure class=\\"wp-block-gallery has-nested-images columns-default is-cropped\\"><!-- wp:image {\\"id\\":2000} -->
164
- <figure class=\\"wp-block-image\\"><img src=\\"https://test-site.files.wordpress.com/local-image-1.jpeg\\" alt=\\"\\" class=\\"wp-image-2000\\"/></figure>
162
+ "<!-- wp:gallery {"linkTo":"none"} -->
163
+ <figure class="wp-block-gallery has-nested-images columns-default is-cropped"><!-- wp:image {"id":2000} -->
164
+ <figure class="wp-block-image"><img src="https://test-site.files.wordpress.com/local-image-1.jpeg" alt="" class="wp-image-2000"/></figure>
165
165
  <!-- /wp:image -->
166
166
 
167
- <!-- wp:image {\\"id\\":2001} -->
168
- <figure class=\\"wp-block-image\\"><img src=\\"https://test-site.files.wordpress.com/local-image-2.jpeg\\" alt=\\"\\" class=\\"wp-image-2001\\"/></figure>
167
+ <!-- wp:image {"id":2001} -->
168
+ <figure class="wp-block-image"><img src="https://test-site.files.wordpress.com/local-image-2.jpeg" alt="" class="wp-image-2001"/></figure>
169
169
  <!-- /wp:image --></figure>
170
170
  <!-- /wp:gallery -->"
171
171
  `;
@@ -0,0 +1,53 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Gallery block transformations 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:gallery {"columns":8,"linkTo":"none","className":"alignfull"} -->
7
+ <figure class="wp-block-gallery has-nested-images columns-8 is-cropped alignfull"><!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
8
+ <figure class="wp-block-image size-large"><img src="https://wordpress.org/gutenberg/files/2018/07/Block-Icon.png" alt=""/><figcaption class="wp-element-caption">Paragraph</figcaption></figure>
9
+ <!-- /wp:image -->
10
+
11
+ <!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
12
+ <figure class="wp-block-image size-large"><img src="https://wordpress.org/gutenberg/files/2018/07/Block-Icon-Heading.png" alt=""/><figcaption class="wp-element-caption">Heading</figcaption></figure>
13
+ <!-- /wp:image -->
14
+
15
+ <!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
16
+ <figure class="wp-block-image size-large"><img src="https://wordpress.org/gutenberg/files/2018/07/Block-Icon-Subheading.png" alt=""/><figcaption class="wp-element-caption">Subheading</figcaption></figure>
17
+ <!-- /wp:image --></figure>
18
+ <!-- /wp:gallery --></div>
19
+ <!-- /wp:column --></div>
20
+ <!-- /wp:columns -->"
21
+ `;
22
+
23
+ exports[`Gallery block transformations to Group block 1`] = `
24
+ "<!-- wp:group {"layout":{"type":"constrained"}} -->
25
+ <div class="wp-block-group"><!-- wp:gallery {"columns":8,"linkTo":"none","className":"alignfull"} -->
26
+ <figure class="wp-block-gallery has-nested-images columns-8 is-cropped alignfull"><!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
27
+ <figure class="wp-block-image size-large"><img src="https://wordpress.org/gutenberg/files/2018/07/Block-Icon.png" alt=""/><figcaption class="wp-element-caption">Paragraph</figcaption></figure>
28
+ <!-- /wp:image -->
29
+
30
+ <!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
31
+ <figure class="wp-block-image size-large"><img src="https://wordpress.org/gutenberg/files/2018/07/Block-Icon-Heading.png" alt=""/><figcaption class="wp-element-caption">Heading</figcaption></figure>
32
+ <!-- /wp:image -->
33
+
34
+ <!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
35
+ <figure class="wp-block-image size-large"><img src="https://wordpress.org/gutenberg/files/2018/07/Block-Icon-Subheading.png" alt=""/><figcaption class="wp-element-caption">Subheading</figcaption></figure>
36
+ <!-- /wp:image --></figure>
37
+ <!-- /wp:gallery --></div>
38
+ <!-- /wp:group -->"
39
+ `;
40
+
41
+ exports[`Gallery block transformations to Image block 1`] = `
42
+ "<!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
43
+ <figure class="wp-block-image size-large"><img src="https://wordpress.org/gutenberg/files/2018/07/Block-Icon.png" alt=""/><figcaption class="wp-element-caption">Paragraph</figcaption></figure>
44
+ <!-- /wp:image -->
45
+
46
+ <!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
47
+ <figure class="wp-block-image size-large"><img src="https://wordpress.org/gutenberg/files/2018/07/Block-Icon-Heading.png" alt=""/><figcaption class="wp-element-caption">Heading</figcaption></figure>
48
+ <!-- /wp:image -->
49
+
50
+ <!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
51
+ <figure class="wp-block-image size-large"><img src="https://wordpress.org/gutenberg/files/2018/07/Block-Icon-Subheading.png" alt=""/><figcaption class="wp-element-caption">Subheading</figcaption></figure>
52
+ <!-- /wp:image -->"
53
+ `;
@@ -0,0 +1,52 @@
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 = 'Gallery';
13
+ const initialHtml = `
14
+ <!-- wp:gallery {"columns":8,"linkTo":"none","className":"alignfull"} -->
15
+ <figure class="wp-block-gallery has-nested-images columns-8 is-cropped alignfull"><!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
16
+ <figure class="wp-block-image size-large"><img src="https://wordpress.org/gutenberg/files/2018/07/Block-Icon.png" alt=""/><figcaption class="wp-element-caption">Paragraph</figcaption></figure>
17
+ <!-- /wp:image -->
18
+
19
+ <!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
20
+ <figure class="wp-block-image size-large"><img src="https://wordpress.org/gutenberg/files/2018/07/Block-Icon-Heading.png" alt=""/><figcaption class="wp-element-caption">Heading</figcaption></figure>
21
+ <!-- /wp:image -->
22
+
23
+ <!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
24
+ <figure class="wp-block-image size-large"><img src="https://wordpress.org/gutenberg/files/2018/07/Block-Icon-Subheading.png" alt=""/><figcaption class="wp-element-caption">Subheading</figcaption></figure>
25
+ <!-- /wp:image --></figure>
26
+ <!-- /wp:gallery -->`;
27
+
28
+ const tranformsWithInnerBlocks = [ 'Columns', 'Group' ];
29
+ const blockTransforms = [ 'Image', ...tranformsWithInnerBlocks ];
30
+
31
+ setupCoreBlocks();
32
+
33
+ describe( `${ block } block transformations`, () => {
34
+ test.each( blockTransforms )( 'to %s block', async ( blockTransform ) => {
35
+ const screen = await initializeEditor( { initialHtml } );
36
+ const newBlock = await transformBlock( screen, block, blockTransform, {
37
+ isMediaBlock: true,
38
+ hasInnerBlocks: tranformsWithInnerBlocks.includes( blockTransform ),
39
+ } );
40
+ expect( newBlock ).toBeVisible();
41
+ expect( getEditorHtml() ).toMatchSnapshot();
42
+ } );
43
+
44
+ it( 'matches expected transformation options', async () => {
45
+ const screen = await initializeEditor( { initialHtml } );
46
+ const transformOptions = await getBlockTransformOptions(
47
+ screen,
48
+ block
49
+ );
50
+ expect( transformOptions ).toHaveLength( blockTransforms.length );
51
+ } );
52
+ } );
@@ -1,8 +1,3 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { get } from 'lodash';
5
-
6
1
  /**
7
2
  * WordPress dependencies
8
3
  */
@@ -35,17 +30,9 @@ export default function useImageSizes( images, isSelected, getSettings ) {
35
30
  }
36
31
 
37
32
  const sizes = imageSizes.reduce( ( currentSizes, size ) => {
38
- const defaultUrl = get( img, [
39
- 'sizes',
40
- size.slug,
41
- 'url',
42
- ] );
43
- const mediaDetailsUrl = get( img, [
44
- 'media_details',
45
- 'sizes',
46
- size.slug,
47
- 'source_url',
48
- ] );
33
+ const defaultUrl = img.sizes?.[ size.slug ]?.url;
34
+ const mediaDetailsUrl =
35
+ img.media_details?.sizes?.[ size.slug ]?.source_url;
49
36
  return {
50
37
  ...currentSizes,
51
38
  [ size.slug ]: defaultUrl || mediaDetailsUrl,
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { get, isEmpty } from 'lodash';
4
+ import { isEmpty } from 'lodash';
5
5
 
6
6
  /**
7
7
  * WordPress dependencies
@@ -105,17 +105,10 @@ function GalleryEdit( props ) {
105
105
  }
106
106
  const image = getMedia( id );
107
107
  const sizes = imageSizes.reduce( ( currentSizes, size ) => {
108
- const defaultUrl = get( image, [
109
- 'sizes',
110
- size.slug,
111
- 'url',
112
- ] );
113
- const mediaDetailsUrl = get( image, [
114
- 'media_details',
115
- 'sizes',
116
- size.slug,
117
- 'source_url',
118
- ] );
108
+ const defaultUrl = image?.sizes?.[ size.slug ]?.url;
109
+ const mediaDetailsUrl =
110
+ image?.media_details?.sizes?.[ size.slug ]
111
+ ?.source_url;
119
112
  return {
120
113
  ...currentSizes,
121
114
  [ size.slug ]: defaultUrl || mediaDetailsUrl,
@@ -310,10 +303,8 @@ function GalleryEdit( props ) {
310
303
  if ( ! image.id ) {
311
304
  return image;
312
305
  }
313
- const url = get( resizedImages, [
314
- parseInt( image.id, 10 ),
315
- newSizeSlug,
316
- ] );
306
+ const url =
307
+ resizedImages[ parseInt( image.id, 10 ) ]?.[ newSizeSlug ];
317
308
  return {
318
309
  ...image,
319
310
  ...( url && { url } ),
@@ -413,6 +404,7 @@ function GalleryEdit( props ) {
413
404
  />
414
405
  ) }
415
406
  <ToggleControl
407
+ __nextHasNoMarginBottom
416
408
  label={ __( 'Crop images' ) }
417
409
  checked={ !! imageCrop }
418
410
  onChange={ toggleImageCrop }
@@ -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
@@ -119,7 +118,7 @@ class GalleryImage extends Component {
119
118
 
120
119
  // If a caption text was meanwhile written by the user,
121
120
  // make sure the text is not overwritten by empty captions.
122
- if ( caption && ! get( mediaAttributes, [ 'caption' ] ) ) {
121
+ if ( caption && ! mediaAttributes.caption ) {
123
122
  const { caption: omittedCaption, ...restMediaAttributes } =
124
123
  mediaAttributes;
125
124
  mediaAttributes = restMediaAttributes;
@@ -1,8 +1,3 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { get } from 'lodash';
5
-
6
1
  export const pickRelevantMediaFiles = ( image, sizeSlug = 'large' ) => {
7
2
  const imageProps = Object.fromEntries(
8
3
  Object.entries( image ?? {} ).filter( ( [ key ] ) =>
@@ -11,12 +6,12 @@ export const pickRelevantMediaFiles = ( image, sizeSlug = 'large' ) => {
11
6
  );
12
7
 
13
8
  imageProps.url =
14
- get( image, [ 'sizes', sizeSlug, 'url' ] ) ||
15
- get( image, [ 'media_details', 'sizes', sizeSlug, 'source_url' ] ) ||
16
- image.url;
9
+ image?.sizes?.[ sizeSlug ]?.url ||
10
+ image?.media_details?.sizes?.[ sizeSlug ]?.source_url ||
11
+ image?.url;
17
12
  const fullUrl =
18
- get( image, [ 'sizes', 'full', 'url' ] ) ||
19
- get( image, [ 'media_details', 'sizes', 'full', 'source_url' ] );
13
+ image?.sizes?.full?.url ||
14
+ image?.media_details?.sizes?.full?.source_url;
20
15
  if ( fullUrl ) {
21
16
  imageProps.fullUrl = fullUrl;
22
17
  }
@@ -1,19 +1,19 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`Group block inserts block and adds a Heading block as an inner block 1`] = `
4
- "<!-- wp:group {\\"layout\\":{\\"type\\":\\"constrained\\"}} -->
5
- <div class=\\"wp-block-group\\"><!-- wp:heading -->
6
- <h2 class=\\"wp-block-heading\\"></h2>
4
+ "<!-- wp:group {"layout":{"type":"constrained"}} -->
5
+ <div class="wp-block-group"><!-- wp:heading -->
6
+ <h2 class="wp-block-heading"></h2>
7
7
  <!-- /wp:heading --></div>
8
8
  <!-- /wp:group -->"
9
9
  `;
10
10
 
11
11
  exports[`Group block ungroups inner blocks 1`] = `
12
12
  "<!-- wp:image -->
13
- <figure class=\\"wp-block-image\\"><img alt=\\"\\"/></figure>
13
+ <figure class="wp-block-image"><img alt=""/></figure>
14
14
  <!-- /wp:image -->
15
15
 
16
16
  <!-- wp:spacer -->
17
- <div style=\\"height:100px\\" aria-hidden=\\"true\\" class=\\"wp-block-spacer\\"></div>
17
+ <div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>
18
18
  <!-- /wp:spacer -->"
19
19
  `;
@@ -0,0 +1,35 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Group 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:group -->
7
+ <div id="this-is-another-anchor" class="wp-block-group"><!-- wp:paragraph -->
8
+ <p>One.</p>
9
+ <!-- /wp:paragraph -->
10
+
11
+ <!-- wp:paragraph -->
12
+ <p>Two</p>
13
+ <!-- /wp:paragraph -->
14
+
15
+ <!-- wp:paragraph -->
16
+ <p>Three.</p>
17
+ <!-- /wp:paragraph --></div>
18
+ <!-- /wp:group --></div>
19
+ <!-- /wp:column --></div>
20
+ <!-- /wp:columns -->"
21
+ `;
22
+
23
+ exports[`Group block transforms unwraps content 1`] = `
24
+ "<!-- wp:paragraph -->
25
+ <p>One.</p>
26
+ <!-- /wp:paragraph -->
27
+
28
+ <!-- wp:paragraph -->
29
+ <p>Two</p>
30
+ <!-- /wp:paragraph -->
31
+
32
+ <!-- wp:paragraph -->
33
+ <p>Three.</p>
34
+ <!-- /wp:paragraph -->"
35
+ `;
@@ -0,0 +1,75 @@
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 = 'Group';
16
+ const initialHtml = `
17
+ <!-- wp:group -->
18
+ <div id="this-is-another-anchor" class="wp-block-group"><!-- wp:paragraph -->
19
+ <p>One.</p>
20
+ <!-- /wp:paragraph -->
21
+
22
+ <!-- wp:paragraph -->
23
+ <p>Two</p>
24
+ <!-- /wp:paragraph -->
25
+
26
+ <!-- wp:paragraph -->
27
+ <p>Three.</p>
28
+ <!-- /wp:paragraph --></div>
29
+ <!-- /wp:group -->`;
30
+
31
+ const transformsWithInnerBlocks = [ 'Columns' ];
32
+ const blockTransforms = [ ...transformsWithInnerBlocks ];
33
+
34
+ setupCoreBlocks();
35
+
36
+ describe( `${ block } block transforms`, () => {
37
+ test.each( blockTransforms )( 'to %s block', async ( blockTransform ) => {
38
+ const screen = await initializeEditor( { initialHtml } );
39
+ const newBlock = await transformBlock( screen, block, blockTransform, {
40
+ hasInnerBlocks:
41
+ transformsWithInnerBlocks.includes( blockTransform ),
42
+ } );
43
+ expect( newBlock ).toBeVisible();
44
+ expect( getEditorHtml() ).toMatchSnapshot();
45
+ } );
46
+
47
+ it( 'unwraps content', async () => {
48
+ const screen = await initializeEditor( { initialHtml } );
49
+ const { getByText } = screen;
50
+ fireEvent.press( getBlock( screen, block ) );
51
+
52
+ await openBlockActionsMenu( screen );
53
+ fireEvent.press( getByText( 'Transform block…' ) );
54
+ fireEvent.press( getByText( 'Unwrap' ) );
55
+
56
+ // The first block created is the content of the Paragraph block.
57
+ const paragraph = getBlock( screen, 'Paragraph', 0 );
58
+ expect( paragraph ).toBeVisible();
59
+ // The second block created is the content of the citation element.
60
+ const citation = getBlock( screen, 'Paragraph', 1 );
61
+ expect( citation ).toBeVisible();
62
+
63
+ expect( getEditorHtml() ).toMatchSnapshot();
64
+ } );
65
+
66
+ it( 'matches expected transformation options', async () => {
67
+ const screen = await initializeEditor( { initialHtml } );
68
+ const transformOptions = await getBlockTransformOptions(
69
+ screen,
70
+ block,
71
+ { canUnwrap: true }
72
+ );
73
+ expect( transformOptions ).toHaveLength( blockTransforms.length );
74
+ } );
75
+ } );