@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
@@ -2,60 +2,60 @@
2
2
 
3
3
  exports[`Columns block adds a column block using the appender 1`] = `
4
4
  "<!-- wp:columns -->
5
- <div class=\\"wp-block-columns\\"><!-- wp:column -->
6
- <div class=\\"wp-block-column\\"></div>
5
+ <div class="wp-block-columns"><!-- wp:column -->
6
+ <div class="wp-block-column"></div>
7
7
  <!-- /wp:column -->
8
8
 
9
9
  <!-- wp:column -->
10
- <div class=\\"wp-block-column\\"></div>
10
+ <div class="wp-block-column"></div>
11
11
  <!-- /wp:column -->
12
12
 
13
13
  <!-- wp:column -->
14
- <div class=\\"wp-block-column\\"></div>
14
+ <div class="wp-block-column"></div>
15
15
  <!-- /wp:column --></div>
16
16
  <!-- /wp:columns -->"
17
17
  `;
18
18
 
19
19
  exports[`Columns block changes the vertical alignment on individual Column 1`] = `
20
- "<!-- wp:columns {\\"verticalAlignment\\":\\"top\\"} -->
21
- <div class=\\"wp-block-columns are-vertically-aligned-top\\"><!-- wp:column {\\"verticalAlignment\\":\\"bottom\\"} -->
22
- <div class=\\"wp-block-column is-vertically-aligned-bottom\\"></div>
20
+ "<!-- wp:columns {"verticalAlignment":"top"} -->
21
+ <div class="wp-block-columns are-vertically-aligned-top"><!-- wp:column {"verticalAlignment":"bottom"} -->
22
+ <div class="wp-block-column is-vertically-aligned-bottom"></div>
23
23
  <!-- /wp:column -->
24
24
 
25
- <!-- wp:column {\\"verticalAlignment\\":\\"top\\"} -->
26
- <div class=\\"wp-block-column is-vertically-aligned-top\\"></div>
25
+ <!-- wp:column {"verticalAlignment":"top"} -->
26
+ <div class="wp-block-column is-vertically-aligned-top"></div>
27
27
  <!-- /wp:column --></div>
28
28
  <!-- /wp:columns -->"
29
29
  `;
30
30
 
31
31
  exports[`Columns block changes vertical alignment on Columns 1`] = `
32
- "<!-- wp:columns {\\"verticalAlignment\\":\\"top\\"} -->
33
- <div class=\\"wp-block-columns are-vertically-aligned-top\\"><!-- wp:column {\\"verticalAlignment\\":\\"top\\"} -->
34
- <div class=\\"wp-block-column is-vertically-aligned-top\\"></div>
32
+ "<!-- wp:columns {"verticalAlignment":"top"} -->
33
+ <div class="wp-block-columns are-vertically-aligned-top"><!-- wp:column {"verticalAlignment":"top"} -->
34
+ <div class="wp-block-column is-vertically-aligned-top"></div>
35
35
  <!-- /wp:column -->
36
36
 
37
- <!-- wp:column {\\"verticalAlignment\\":\\"top\\"} -->
38
- <div class=\\"wp-block-column is-vertically-aligned-top\\"></div>
37
+ <!-- wp:column {"verticalAlignment":"top"} -->
38
+ <div class="wp-block-column is-vertically-aligned-top"></div>
39
39
  <!-- /wp:column --></div>
40
40
  <!-- /wp:columns -->"
41
41
  `;
42
42
 
43
43
  exports[`Columns block inserts block 1`] = `
44
44
  "<!-- wp:columns -->
45
- <div class=\\"wp-block-columns\\"><!-- wp:column {\\"width\\":\\"50%\\"} -->
46
- <div class=\\"wp-block-column\\" style=\\"flex-basis:50%\\"></div>
45
+ <div class="wp-block-columns"><!-- wp:column {"width":"50%"} -->
46
+ <div class="wp-block-column" style="flex-basis:50%"></div>
47
47
  <!-- /wp:column -->
48
48
 
49
- <!-- wp:column {\\"width\\":\\"50%\\"} -->
50
- <div class=\\"wp-block-column\\" style=\\"flex-basis:50%\\"></div>
49
+ <!-- wp:column {"width":"50%"} -->
50
+ <div class="wp-block-column" style="flex-basis:50%"></div>
51
51
  <!-- /wp:column --></div>
52
52
  <!-- /wp:columns -->"
53
53
  `;
54
54
 
55
55
  exports[`Columns block removes column with the remove button 1`] = `
56
56
  "<!-- wp:columns -->
57
- <div class=\\"wp-block-columns\\"><!-- wp:column -->
58
- <div class=\\"wp-block-column\\"></div>
57
+ <div class="wp-block-columns"><!-- wp:column -->
58
+ <div class="wp-block-column"></div>
59
59
  <!-- /wp:column --></div>
60
60
  <!-- /wp:columns -->"
61
61
  `;
@@ -67,153 +67,153 @@ exports[`Columns block removes the only one left Column with the remove button 1
67
67
  `;
68
68
 
69
69
  exports[`Columns block sets current vertical alignment on new Columns 1`] = `
70
- "<!-- wp:columns {\\"verticalAlignment\\":\\"top\\"} -->
71
- <div class=\\"wp-block-columns are-vertically-aligned-top\\"><!-- wp:column {\\"verticalAlignment\\":\\"top\\"} -->
72
- <div class=\\"wp-block-column is-vertically-aligned-top\\"></div>
70
+ "<!-- wp:columns {"verticalAlignment":"top"} -->
71
+ <div class="wp-block-columns are-vertically-aligned-top"><!-- wp:column {"verticalAlignment":"top"} -->
72
+ <div class="wp-block-column is-vertically-aligned-top"></div>
73
73
  <!-- /wp:column -->
74
74
 
75
- <!-- wp:column {\\"verticalAlignment\\":\\"top\\"} -->
76
- <div class=\\"wp-block-column is-vertically-aligned-top\\"></div>
75
+ <!-- wp:column {"verticalAlignment":"top"} -->
76
+ <div class="wp-block-column is-vertically-aligned-top"></div>
77
77
  <!-- /wp:column -->
78
78
 
79
- <!-- wp:column {\\"verticalAlignment\\":\\"top\\"} -->
80
- <div class=\\"wp-block-column is-vertically-aligned-top\\"></div>
79
+ <!-- wp:column {"verticalAlignment":"top"} -->
80
+ <div class="wp-block-column is-vertically-aligned-top"></div>
81
81
  <!-- /wp:column --></div>
82
82
  <!-- /wp:columns -->"
83
83
  `;
84
84
 
85
85
  exports[`Columns block when using columns percentage mechanism sets custom values correctly 1`] = `
86
86
  "<!-- wp:columns -->
87
- <div class=\\"wp-block-columns\\"><!-- wp:column {\\"width\\":\\"90%\\"} -->
88
- <div class=\\"wp-block-column\\" style=\\"flex-basis:90%\\"></div>
87
+ <div class="wp-block-columns"><!-- wp:column {"width":"90%"} -->
88
+ <div class="wp-block-column" style="flex-basis:90%"></div>
89
89
  <!-- /wp:column -->
90
90
 
91
- <!-- wp:column {\\"width\\":\\"55.5%\\"} -->
92
- <div class=\\"wp-block-column\\" style=\\"flex-basis:55.5%\\"></div>
91
+ <!-- wp:column {"width":"55.5%"} -->
92
+ <div class="wp-block-column" style="flex-basis:55.5%"></div>
93
93
  <!-- /wp:column --></div>
94
94
  <!-- /wp:columns -->"
95
95
  `;
96
96
 
97
97
  exports[`Columns block when using columns percentage mechanism updates the slider's input value 1`] = `
98
98
  "<!-- wp:columns -->
99
- <div class=\\"wp-block-columns\\"><!-- wp:column {\\"width\\":\\"55.6%\\"} -->
100
- <div class=\\"wp-block-column\\" style=\\"flex-basis:55.6%\\"></div>
99
+ <div class="wp-block-columns"><!-- wp:column {"width":"55.6%"} -->
100
+ <div class="wp-block-column" style="flex-basis:55.6%"></div>
101
101
  <!-- /wp:column -->
102
102
 
103
103
  <!-- wp:column -->
104
- <div class=\\"wp-block-column\\"></div>
104
+ <div class="wp-block-column"></div>
105
105
  <!-- /wp:column -->
106
106
 
107
107
  <!-- wp:column -->
108
- <div class=\\"wp-block-column\\"></div>
108
+ <div class="wp-block-column"></div>
109
109
  <!-- /wp:column --></div>
110
110
  <!-- /wp:columns -->"
111
111
  `;
112
112
 
113
113
  exports[`Columns block when using the columns layout picker sets the predefined percentages for 25 / 50 / 25 block 1`] = `
114
114
  "<!-- wp:columns -->
115
- <div class=\\"wp-block-columns\\"><!-- wp:column {\\"width\\":\\"25%\\"} -->
116
- <div class=\\"wp-block-column\\" style=\\"flex-basis:25%\\"></div>
115
+ <div class="wp-block-columns"><!-- wp:column {"width":"25%"} -->
116
+ <div class="wp-block-column" style="flex-basis:25%"></div>
117
117
  <!-- /wp:column -->
118
118
 
119
- <!-- wp:column {\\"width\\":\\"50%\\"} -->
120
- <div class=\\"wp-block-column\\" style=\\"flex-basis:50%\\"></div>
119
+ <!-- wp:column {"width":"50%"} -->
120
+ <div class="wp-block-column" style="flex-basis:50%"></div>
121
121
  <!-- /wp:column -->
122
122
 
123
- <!-- wp:column {\\"width\\":\\"25%\\"} -->
124
- <div class=\\"wp-block-column\\" style=\\"flex-basis:25%\\"></div>
123
+ <!-- wp:column {"width":"25%"} -->
124
+ <div class="wp-block-column" style="flex-basis:25%"></div>
125
125
  <!-- /wp:column --></div>
126
126
  <!-- /wp:columns -->"
127
127
  `;
128
128
 
129
129
  exports[`Columns block when using the columns layout picker sets the predefined percentages for 33 / 33 / 33 block 1`] = `
130
130
  "<!-- wp:columns -->
131
- <div class=\\"wp-block-columns\\"><!-- wp:column -->
132
- <div class=\\"wp-block-column\\"></div>
131
+ <div class="wp-block-columns"><!-- wp:column -->
132
+ <div class="wp-block-column"></div>
133
133
  <!-- /wp:column -->
134
134
 
135
135
  <!-- wp:column -->
136
- <div class=\\"wp-block-column\\"></div>
136
+ <div class="wp-block-column"></div>
137
137
  <!-- /wp:column -->
138
138
 
139
139
  <!-- wp:column -->
140
- <div class=\\"wp-block-column\\"></div>
140
+ <div class="wp-block-column"></div>
141
141
  <!-- /wp:column --></div>
142
142
  <!-- /wp:columns -->"
143
143
  `;
144
144
 
145
145
  exports[`Columns block when using the columns layout picker sets the predefined percentages for 33 / 66 block 1`] = `
146
146
  "<!-- wp:columns -->
147
- <div class=\\"wp-block-columns\\"><!-- wp:column {\\"width\\":\\"33.33%\\"} -->
148
- <div class=\\"wp-block-column\\" style=\\"flex-basis:33.33%\\"></div>
147
+ <div class="wp-block-columns"><!-- wp:column {"width":"33.33%"} -->
148
+ <div class="wp-block-column" style="flex-basis:33.33%"></div>
149
149
  <!-- /wp:column -->
150
150
 
151
- <!-- wp:column {\\"width\\":\\"66.66%\\"} -->
152
- <div class=\\"wp-block-column\\" style=\\"flex-basis:66.66%\\"></div>
151
+ <!-- wp:column {"width":"66.66%"} -->
152
+ <div class="wp-block-column" style="flex-basis:66.66%"></div>
153
153
  <!-- /wp:column --></div>
154
154
  <!-- /wp:columns -->"
155
155
  `;
156
156
 
157
157
  exports[`Columns block when using the columns layout picker sets the predefined percentages for 50 / 50 block 1`] = `
158
158
  "<!-- wp:columns -->
159
- <div class=\\"wp-block-columns\\"><!-- wp:column -->
160
- <div class=\\"wp-block-column\\"></div>
159
+ <div class="wp-block-columns"><!-- wp:column -->
160
+ <div class="wp-block-column"></div>
161
161
  <!-- /wp:column -->
162
162
 
163
163
  <!-- wp:column -->
164
- <div class=\\"wp-block-column\\"></div>
164
+ <div class="wp-block-column"></div>
165
165
  <!-- /wp:column --></div>
166
166
  <!-- /wp:columns -->"
167
167
  `;
168
168
 
169
169
  exports[`Columns block when using the columns layout picker sets the predefined percentages for 66 / 33 block 1`] = `
170
170
  "<!-- wp:columns -->
171
- <div class=\\"wp-block-columns\\"><!-- wp:column {\\"width\\":\\"66.66%\\"} -->
172
- <div class=\\"wp-block-column\\" style=\\"flex-basis:66.66%\\"></div>
171
+ <div class="wp-block-columns"><!-- wp:column {"width":"66.66%"} -->
172
+ <div class="wp-block-column" style="flex-basis:66.66%"></div>
173
173
  <!-- /wp:column -->
174
174
 
175
- <!-- wp:column {\\"width\\":\\"33.33%\\"} -->
176
- <div class=\\"wp-block-column\\" style=\\"flex-basis:33.33%\\"></div>
175
+ <!-- wp:column {"width":"33.33%"} -->
176
+ <div class="wp-block-column" style="flex-basis:33.33%"></div>
177
177
  <!-- /wp:column --></div>
178
178
  <!-- /wp:columns -->"
179
179
  `;
180
180
 
181
181
  exports[`Columns block when using the columns layout picker sets the predefined percentages for 100 block 1`] = `
182
182
  "<!-- wp:columns -->
183
- <div class=\\"wp-block-columns\\"><!-- wp:column -->
184
- <div class=\\"wp-block-column\\"></div>
183
+ <div class="wp-block-columns"><!-- wp:column -->
184
+ <div class="wp-block-column"></div>
185
185
  <!-- /wp:column --></div>
186
186
  <!-- /wp:columns -->"
187
187
  `;
188
188
 
189
189
  exports[`Columns block when using the number of columns setting adds a column block when incrementing the value 1`] = `
190
190
  "<!-- wp:columns -->
191
- <div class=\\"wp-block-columns\\"><!-- wp:column -->
192
- <div class=\\"wp-block-column\\"></div>
191
+ <div class="wp-block-columns"><!-- wp:column -->
192
+ <div class="wp-block-column"></div>
193
193
  <!-- /wp:column -->
194
194
 
195
195
  <!-- wp:column -->
196
- <div class=\\"wp-block-column\\"></div>
196
+ <div class="wp-block-column"></div>
197
197
  <!-- /wp:column -->
198
198
 
199
199
  <!-- wp:column -->
200
- <div class=\\"wp-block-column\\"></div>
200
+ <div class="wp-block-column"></div>
201
201
  <!-- /wp:column --></div>
202
202
  <!-- /wp:columns -->"
203
203
  `;
204
204
 
205
205
  exports[`Columns block when using the number of columns setting reaches the minimum limit of number of column blocks 1`] = `
206
206
  "<!-- wp:columns -->
207
- <div class=\\"wp-block-columns\\"><!-- wp:column -->
208
- <div class=\\"wp-block-column\\"></div>
207
+ <div class="wp-block-columns"><!-- wp:column -->
208
+ <div class="wp-block-column"></div>
209
209
  <!-- /wp:column --></div>
210
210
  <!-- /wp:columns -->"
211
211
  `;
212
212
 
213
213
  exports[`Columns block when using the number of columns setting removes a column block when decrementing the value 1`] = `
214
214
  "<!-- wp:columns -->
215
- <div class=\\"wp-block-columns\\"><!-- wp:column -->
216
- <div class=\\"wp-block-column\\"></div>
215
+ <div class="wp-block-columns"><!-- wp:column -->
216
+ <div class="wp-block-column"></div>
217
217
  <!-- /wp:column --></div>
218
218
  <!-- /wp:columns -->"
219
219
  `;
@@ -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
+ } );
@@ -1,3 +1,8 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import deepFreeze from 'deep-freeze';
5
+
1
6
  /**
2
7
  * Internal dependencies
3
8
  */
@@ -280,4 +285,53 @@ describe( 'getMappedColumnWidths', () => {
280
285
  { clientId: 'b', attributes: { width: '35%' } },
281
286
  ] );
282
287
  } );
288
+
289
+ it( 'always returns new objects and does not mutate input blocks', () => {
290
+ const blocks = [
291
+ deepFreeze( { clientId: 'a', attributes: { width: 30 } } ),
292
+ deepFreeze( { clientId: 'b', attributes: { width: 40 } } ),
293
+ ];
294
+ const widths = {
295
+ a: 25,
296
+ b: 35,
297
+ };
298
+
299
+ const result = getMappedColumnWidths( blocks, widths );
300
+
301
+ expect( blocks[ 0 ] ).not.toBe( result[ 0 ] );
302
+ expect( blocks[ 1 ] ).not.toBe( result[ 1 ] );
303
+ } );
304
+
305
+ it( 'merges to block attributes if original blocks do not have any attributes', () => {
306
+ const blocks = [ { clientId: 'a' }, { clientId: 'b' } ];
307
+ const widths = {
308
+ a: 25,
309
+ b: 35,
310
+ };
311
+
312
+ const result = getMappedColumnWidths( blocks, widths );
313
+
314
+ expect( result ).toEqual( [
315
+ { clientId: 'a', attributes: { width: '25%' } },
316
+ { clientId: 'b', attributes: { width: '35%' } },
317
+ ] );
318
+ } );
319
+
320
+ it( 'merges to block attributes if original blocks do not have a width attribute', () => {
321
+ const blocks = [
322
+ { clientId: 'a', attributes: { align: 'left' } },
323
+ { clientId: 'b', attributes: { align: 'right' } },
324
+ ];
325
+ const widths = {
326
+ a: 25,
327
+ b: 35,
328
+ };
329
+
330
+ const result = getMappedColumnWidths( blocks, widths );
331
+
332
+ expect( result ).toEqual( [
333
+ { clientId: 'a', attributes: { align: 'left', width: '25%' } },
334
+ { clientId: 'b', attributes: { align: 'right', width: '35%' } },
335
+ ] );
336
+ } );
283
337
  } );
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { merge, mapValues } from 'lodash';
4
+ import { mapValues } from 'lodash';
5
5
 
6
6
  /**
7
7
  * Returns a column width attribute value rounded to standard precision.
@@ -121,13 +121,13 @@ export function hasExplicitPercentColumnWidths( blocks ) {
121
121
  * @return {WPBlock[]} blocks Mapped block objects.
122
122
  */
123
123
  export function getMappedColumnWidths( blocks, widths ) {
124
- return blocks.map( ( block ) =>
125
- merge( {}, block, {
126
- attributes: {
127
- width: `${ widths[ block.clientId ] }%`,
128
- },
129
- } )
130
- );
124
+ return blocks.map( ( block ) => ( {
125
+ ...block,
126
+ attributes: {
127
+ ...block.attributes,
128
+ width: `${ widths[ block.clientId ] }%`,
129
+ },
130
+ } ) );
131
131
  }
132
132
 
133
133
  /**
@@ -72,12 +72,14 @@ export default function Edit( {
72
72
  <InspectorControls>
73
73
  <PanelBody title={ __( 'Link settings' ) }>
74
74
  <ToggleControl
75
+ __nextHasNoMarginBottom
75
76
  label={ __( 'Link to authors URL' ) }
76
77
  onChange={ () => setAttributes( { isLink: ! isLink } ) }
77
78
  checked={ isLink }
78
79
  />
79
80
  { isLink && (
80
81
  <ToggleControl
82
+ __nextHasNoMarginBottom
81
83
  label={ __( 'Open in new tab' ) }
82
84
  onChange={ ( value ) =>
83
85
  setAttributes( {
@@ -48,6 +48,7 @@ export default function Edit( {
48
48
  }
49
49
  />
50
50
  <ToggleControl
51
+ __nextHasNoMarginBottom
51
52
  label={ __( 'Link to comment' ) }
52
53
  onChange={ () => setAttributes( { isLink: ! isLink } ) }
53
54
  checked={ isLink }
@@ -39,6 +39,7 @@ export default function Edit( {
39
39
  <InspectorControls>
40
40
  <PanelBody title={ __( 'Link settings' ) }>
41
41
  <ToggleControl
42
+ __nextHasNoMarginBottom
42
43
  label={ __( 'Open in new tab' ) }
43
44
  onChange={ ( value ) =>
44
45
  setAttributes( {
@@ -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>
@@ -110,6 +110,7 @@ export default function Edit( {
110
110
  <InspectorControls>
111
111
  <PanelBody title={ __( 'Settings' ) }>
112
112
  <ToggleControl
113
+ __nextHasNoMarginBottom
113
114
  label={ __( 'Show post title' ) }
114
115
  checked={ showPostTitle }
115
116
  onChange={ ( value ) =>
@@ -117,6 +118,7 @@ export default function Edit( {
117
118
  }
118
119
  />
119
120
  <ToggleControl
121
+ __nextHasNoMarginBottom
120
122
  label={ __( 'Show comments count' ) }
121
123
  checked={ showCommentsCount }
122
124
  onChange={ ( value ) =>