@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
@@ -0,0 +1,40 @@
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 = 'Search';
13
+ const initialHtml = `
14
+ <!-- wp:search {"label":"Search","buttonText":"Search"} /-->`;
15
+
16
+ const transformsWithInnerBlocks = [ 'Columns', 'Group' ];
17
+ const blockTransforms = [ ...transformsWithInnerBlocks ];
18
+
19
+ setupCoreBlocks();
20
+
21
+ describe( `${ block } block transforms`, () => {
22
+ test.each( blockTransforms )( 'to %s block', async ( blockTransform ) => {
23
+ const screen = await initializeEditor( { initialHtml } );
24
+ const newBlock = await transformBlock( screen, block, blockTransform, {
25
+ hasInnerBlocks:
26
+ transformsWithInnerBlocks.includes( blockTransform ),
27
+ } );
28
+ expect( newBlock ).toBeVisible();
29
+ expect( getEditorHtml() ).toMatchSnapshot();
30
+ } );
31
+
32
+ it( 'matches expected transformation options', async () => {
33
+ const screen = await initializeEditor( { initialHtml } );
34
+ const transformOptions = await getBlockTransformOptions(
35
+ screen,
36
+ block
37
+ );
38
+ expect( transformOptions ).toHaveLength( blockTransforms.length );
39
+ } );
40
+ } );
@@ -2,6 +2,6 @@
2
2
 
3
3
  exports[`Separator block inserts block 1`] = `
4
4
  "<!-- wp:separator -->
5
- <hr class=\\"wp-block-separator has-alpha-channel-opacity\\"/>
5
+ <hr class="wp-block-separator has-alpha-channel-opacity"/>
6
6
  <!-- /wp:separator -->"
7
7
  `;
@@ -0,0 +1,19 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Separator 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:separator -->
7
+ <hr class="wp-block-separator has-alpha-channel-opacity"/>
8
+ <!-- /wp:separator --></div>
9
+ <!-- /wp:column --></div>
10
+ <!-- /wp:columns -->"
11
+ `;
12
+
13
+ exports[`Separator block transforms to Group block 1`] = `
14
+ "<!-- wp:group {"layout":{"type":"constrained"}} -->
15
+ <div class="wp-block-group"><!-- wp:separator -->
16
+ <hr class="wp-block-separator has-alpha-channel-opacity"/>
17
+ <!-- /wp:separator --></div>
18
+ <!-- /wp:group -->"
19
+ `;
@@ -0,0 +1,42 @@
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 = 'Separator';
13
+ const initialHtml = `
14
+ <!-- wp:separator -->
15
+ <hr class="wp-block-separator has-alpha-channel-opacity"/>
16
+ <!-- /wp:separator -->`;
17
+
18
+ const transformsWithInnerBlocks = [ 'Columns', 'Group' ];
19
+ const blockTransforms = [ ...transformsWithInnerBlocks ];
20
+
21
+ setupCoreBlocks();
22
+
23
+ describe( `${ block } block transforms`, () => {
24
+ test.each( blockTransforms )( 'to %s block', async ( blockTransform ) => {
25
+ const screen = await initializeEditor( { initialHtml } );
26
+ const newBlock = await transformBlock( screen, block, blockTransform, {
27
+ hasInnerBlocks:
28
+ transformsWithInnerBlocks.includes( blockTransform ),
29
+ } );
30
+ expect( newBlock ).toBeVisible();
31
+ expect( getEditorHtml() ).toMatchSnapshot();
32
+ } );
33
+
34
+ it( 'matches expected transformation options', async () => {
35
+ const screen = await initializeEditor( { initialHtml } );
36
+ const transformOptions = await getBlockTransformOptions(
37
+ screen,
38
+ block
39
+ );
40
+ expect( transformOptions ).toHaveLength( blockTransforms.length );
41
+ } );
42
+ } );
@@ -0,0 +1,19 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Shortcode 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:shortcode -->
7
+ [youtube https://www.youtube.com/watch?v=ssfHW5lwFZg]
8
+ <!-- /wp:shortcode --></div>
9
+ <!-- /wp:column --></div>
10
+ <!-- /wp:columns -->"
11
+ `;
12
+
13
+ exports[`Shortcode block transforms to Group block 1`] = `
14
+ "<!-- wp:group {"layout":{"type":"constrained"}} -->
15
+ <div class="wp-block-group"><!-- wp:shortcode -->
16
+ [youtube https://www.youtube.com/watch?v=ssfHW5lwFZg]
17
+ <!-- /wp:shortcode --></div>
18
+ <!-- /wp:group -->"
19
+ `;
@@ -0,0 +1,42 @@
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 = 'Shortcode';
13
+ const initialHtml = `
14
+ <!-- wp:shortcode -->
15
+ [youtube https://www.youtube.com/watch?v=ssfHW5lwFZg]
16
+ <!-- /wp:shortcode -->`;
17
+
18
+ const transformsWithInnerBlocks = [ 'Columns', 'Group' ];
19
+ const blockTransforms = [ ...transformsWithInnerBlocks ];
20
+
21
+ setupCoreBlocks();
22
+
23
+ describe( `${ block } block transforms`, () => {
24
+ test.each( blockTransforms )( 'to %s block', async ( blockTransform ) => {
25
+ const screen = await initializeEditor( { initialHtml } );
26
+ const newBlock = await transformBlock( screen, block, blockTransform, {
27
+ hasInnerBlocks:
28
+ transformsWithInnerBlocks.includes( blockTransform ),
29
+ } );
30
+ expect( newBlock ).toBeVisible();
31
+ expect( getEditorHtml() ).toMatchSnapshot();
32
+ } );
33
+
34
+ it( 'matches expected transformation options', async () => {
35
+ const screen = await initializeEditor( { initialHtml } );
36
+ const transformOptions = await getBlockTransformOptions(
37
+ screen,
38
+ block
39
+ );
40
+ expect( transformOptions ).toHaveLength( blockTransforms.length );
41
+ } );
42
+ } );
@@ -300,6 +300,7 @@ const SiteLogo = ( {
300
300
  disabled={ ! isResizable }
301
301
  />
302
302
  <ToggleControl
303
+ __nextHasNoMarginBottom
303
304
  label={ __( 'Link image to home' ) }
304
305
  onChange={ () => setAttributes( { isLink: ! isLink } ) }
305
306
  checked={ isLink }
@@ -307,6 +308,7 @@ const SiteLogo = ( {
307
308
  { isLink && (
308
309
  <>
309
310
  <ToggleControl
311
+ __nextHasNoMarginBottom
310
312
  label={ __( 'Open in new tab' ) }
311
313
  onChange={ ( value ) =>
312
314
  setAttributes( {
@@ -320,6 +322,7 @@ const SiteLogo = ( {
320
322
  { canUserEdit && (
321
323
  <>
322
324
  <ToggleControl
325
+ __nextHasNoMarginBottom
323
326
  label={ __( 'Use as site icon' ) }
324
327
  onChange={ ( value ) => {
325
328
  setAttributes( { shouldSyncIcon: value } );
@@ -33,10 +33,10 @@
33
33
  // Provide special styling for the placeholder.
34
34
  // @todo: this particular minimal style of placeholder could be componentized further.
35
35
  .wp-block-site-logo.wp-block-site-logo {
36
- // Match the default logo size.
36
+
37
37
  &.is-default-size .components-placeholder {
38
- height: 120px;
39
- width: 120px;
38
+ height: 60px;
39
+ width: 60px;
40
40
  }
41
41
 
42
42
  // Inherit radius.
@@ -39,8 +39,13 @@ function render_block_core_site_logo( $attributes ) {
39
39
  if ( $attributes['isLink'] && '_blank' === $attributes['linkTarget'] ) {
40
40
  // Add the link target after the rel="home".
41
41
  // Add an aria-label for informing that the page opens in a new tab.
42
- $aria_label = 'aria-label="' . esc_attr__( '(Home link, opens in a new tab)' ) . '"';
43
- $custom_logo = str_replace( 'rel="home"', 'rel="home" target="' . esc_attr( $attributes['linkTarget'] ) . '"' . $aria_label, $custom_logo );
42
+ $processor = new WP_HTML_Tag_Processor( $custom_logo );
43
+ $processor->next_tag( 'a' );
44
+ if ( 'home' === $processor->get_attribute( 'rel' ) ) {
45
+ $processor->set_attribute( 'aria-label', __( '(Home link, opens in a new tab)' ) );
46
+ $processor->set_attribute( 'target', $attributes['linkTarget'] );
47
+ }
48
+ $custom_logo = $processor->get_updated_html();
44
49
  }
45
50
 
46
51
  $classnames = array();
@@ -12,6 +12,7 @@
12
12
  "type": "string"
13
13
  }
14
14
  },
15
+ "example": {},
15
16
  "supports": {
16
17
  "anchor": true,
17
18
  "align": [ "wide", "full" ],
@@ -111,12 +111,14 @@ export default function SiteTitleEdit( {
111
111
  <InspectorControls>
112
112
  <PanelBody title={ __( 'Link settings' ) }>
113
113
  <ToggleControl
114
+ __nextHasNoMarginBottom
114
115
  label={ __( 'Make title link to home' ) }
115
116
  onChange={ () => setAttributes( { isLink: ! isLink } ) }
116
117
  checked={ isLink }
117
118
  />
118
119
  { isLink && (
119
120
  <ToggleControl
121
+ __nextHasNoMarginBottom
120
122
  label={ __( 'Open in new tab' ) }
121
123
  onChange={ ( value ) =>
122
124
  setAttributes( {
@@ -59,15 +59,15 @@ function render_block_core_social_link( $attributes, $content, $block ) {
59
59
  $link .= esc_html( $label );
60
60
  $link .= '</span></a></li>';
61
61
 
62
- $w = new WP_HTML_Tag_Processor( $link );
63
- $w->next_tag( 'a' );
62
+ $processor = new WP_HTML_Tag_Processor( $link );
63
+ $processor->next_tag( 'a' );
64
64
  if ( $open_in_new_tab ) {
65
- $w->set_attribute( 'rel', esc_attr( $rel ) . ' noopener nofollow' );
66
- $w->set_attribute( 'target', '_blank' );
65
+ $processor->set_attribute( 'rel', esc_attr( $rel ) . ' noopener nofollow' );
66
+ $processor->set_attribute( 'target', '_blank' );
67
67
  } elseif ( '' !== $rel ) {
68
- $w->set_attribute( 'rel', esc_attr( $rel ) );
68
+ $processor->set_attribute( 'rel', esc_attr( $rel ) );
69
69
  }
70
- return $w;
70
+ return $processor->get_updated_html();
71
71
  }
72
72
 
73
73
  /**
@@ -109,6 +109,7 @@ export function SocialLinksEdit( props ) {
109
109
  allowedBlocks: ALLOWED_BLOCKS,
110
110
  placeholder: isSelected ? SelectedSocialPlaceholder : SocialPlaceholder,
111
111
  templateLock: false,
112
+ orientation: attributes.layout?.orientation ?? 'horizontal',
112
113
  __experimentalAppenderTagName: 'li',
113
114
  } );
114
115
 
@@ -196,6 +197,7 @@ export function SocialLinksEdit( props ) {
196
197
  <InspectorControls>
197
198
  <PanelBody title={ __( 'Link settings' ) }>
198
199
  <ToggleControl
200
+ __nextHasNoMarginBottom
199
201
  label={ __( 'Open links in new tab' ) }
200
202
  checked={ openInNewTab }
201
203
  onChange={ () =>
@@ -203,6 +205,7 @@ export function SocialLinksEdit( props ) {
203
205
  }
204
206
  />
205
207
  <ToggleControl
208
+ __nextHasNoMarginBottom
206
209
  label={ __( 'Show labels' ) }
207
210
  checked={ showLabels }
208
211
  onChange={ () =>
@@ -2,25 +2,25 @@
2
2
 
3
3
  exports[`Social links block inserts block with the default icons and the WordPress link set as active 1`] = `
4
4
  "<!-- wp:social-links -->
5
- <ul class=\\"wp-block-social-links\\"><!-- wp:social-link {\\"url\\":\\"https://wordpress.org\\",\\"service\\":\\"wordpress\\"} /-->
5
+ <ul class="wp-block-social-links"><!-- wp:social-link {"url":"https://wordpress.org","service":"wordpress"} /-->
6
6
 
7
- <!-- wp:social-link {\\"service\\":\\"facebook\\"} /-->
7
+ <!-- wp:social-link {"service":"facebook"} /-->
8
8
 
9
- <!-- wp:social-link {\\"service\\":\\"twitter\\"} /-->
9
+ <!-- wp:social-link {"service":"twitter"} /-->
10
10
 
11
- <!-- wp:social-link {\\"service\\":\\"instagram\\"} /--></ul>
11
+ <!-- wp:social-link {"service":"instagram"} /--></ul>
12
12
  <!-- /wp:social-links -->"
13
13
  `;
14
14
 
15
15
  exports[`Social links block shows active links correctly when not selected 1`] = `
16
16
  "<!-- wp:social-links -->
17
- <ul class=\\"wp-block-social-links\\"><!-- wp:social-link {\\"url\\":\\"https://wordpress.org\\",\\"service\\":\\"wordpress\\"} /-->
17
+ <ul class="wp-block-social-links"><!-- wp:social-link {"url":"https://wordpress.org","service":"wordpress"} /-->
18
18
 
19
- <!-- wp:social-link {\\"service\\":\\"facebook\\"} /-->
19
+ <!-- wp:social-link {"service":"facebook"} /-->
20
20
 
21
- <!-- wp:social-link {\\"service\\":\\"twitter\\"} /-->
21
+ <!-- wp:social-link {"service":"twitter"} /-->
22
22
 
23
- <!-- wp:social-link {\\"service\\":\\"instagram\\"} /--></ul>
23
+ <!-- wp:social-link {"service":"instagram"} /--></ul>
24
24
  <!-- /wp:social-links -->
25
25
 
26
26
  <!-- wp:paragraph -->
@@ -30,11 +30,11 @@ exports[`Social links block shows active links correctly when not selected 1`] =
30
30
 
31
31
  exports[`Social links block shows the ghost placeholder when no icon is active 1`] = `
32
32
  "<!-- wp:social-links -->
33
- <ul class=\\"wp-block-social-links\\"><!-- wp:social-link {\\"service\\":\\"facebook\\"} /-->
33
+ <ul class="wp-block-social-links"><!-- wp:social-link {"service":"facebook"} /-->
34
34
 
35
- <!-- wp:social-link {\\"service\\":\\"twitter\\"} /-->
35
+ <!-- wp:social-link {"service":"twitter"} /-->
36
36
 
37
- <!-- wp:social-link {\\"service\\":\\"instagram\\"} /--></ul>
37
+ <!-- wp:social-link {"service":"instagram"} /--></ul>
38
38
  <!-- /wp:social-links -->
39
39
 
40
40
  <!-- wp:paragraph -->
@@ -44,14 +44,14 @@ exports[`Social links block shows the ghost placeholder when no icon is active 1
44
44
 
45
45
  exports[`Social links block shows the social links bottom sheet when tapping on the inline appender 1`] = `
46
46
  "<!-- wp:social-links -->
47
- <ul class=\\"wp-block-social-links\\"><!-- wp:social-link {\\"url\\":\\"https://wordpress.org\\",\\"service\\":\\"wordpress\\"} /-->
47
+ <ul class="wp-block-social-links"><!-- wp:social-link {"url":"https://wordpress.org","service":"wordpress"} /-->
48
48
 
49
- <!-- wp:social-link {\\"service\\":\\"facebook\\"} /-->
49
+ <!-- wp:social-link {"service":"facebook"} /-->
50
50
 
51
- <!-- wp:social-link {\\"service\\":\\"twitter\\"} /-->
51
+ <!-- wp:social-link {"service":"twitter"} /-->
52
52
 
53
- <!-- wp:social-link {\\"service\\":\\"instagram\\"} /-->
53
+ <!-- wp:social-link {"service":"instagram"} /-->
54
54
 
55
- <!-- wp:social-link-amazon {\\"url\\":\\"\\"} /--></ul>
55
+ <!-- wp:social-link-amazon {"url":""} /--></ul>
56
56
  <!-- /wp:social-links -->"
57
57
  `;
@@ -0,0 +1,31 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Social Icons 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:social-links -->
7
+ <ul class="wp-block-social-links"><!-- wp:social-link {"url":"https://wordpress.org","service":"wordpress"} /-->
8
+
9
+ <!-- wp:social-link {"service":"facebook"} /-->
10
+
11
+ <!-- wp:social-link {"service":"twitter"} /-->
12
+
13
+ <!-- wp:social-link {"service":"instagram"} /--></ul>
14
+ <!-- /wp:social-links --></div>
15
+ <!-- /wp:column --></div>
16
+ <!-- /wp:columns -->"
17
+ `;
18
+
19
+ exports[`Social Icons block transforms to Group block 1`] = `
20
+ "<!-- wp:group {"layout":{"type":"constrained"}} -->
21
+ <div class="wp-block-group"><!-- wp:social-links -->
22
+ <ul class="wp-block-social-links"><!-- wp:social-link {"url":"https://wordpress.org","service":"wordpress"} /-->
23
+
24
+ <!-- wp:social-link {"service":"facebook"} /-->
25
+
26
+ <!-- wp:social-link {"service":"twitter"} /-->
27
+
28
+ <!-- wp:social-link {"service":"instagram"} /--></ul>
29
+ <!-- /wp:social-links --></div>
30
+ <!-- /wp:group -->"
31
+ `;
@@ -0,0 +1,53 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import {
5
+ getEditorHtml,
6
+ initializeEditor,
7
+ setupCoreBlocks,
8
+ transformBlock,
9
+ getBlockTransformOptions,
10
+ } from 'test/helpers';
11
+ import { Animated } from 'react-native';
12
+
13
+ const block = 'Social Icons';
14
+ const initialHtml = `
15
+ <!-- wp:social-links -->
16
+ <ul class="wp-block-social-links"><!-- wp:social-link {"url":"https://wordpress.org","service":"wordpress"} /-->
17
+ <!-- wp:social-link {"service":"facebook"} /-->
18
+ <!-- wp:social-link {"service":"twitter"} /-->
19
+ <!-- wp:social-link {"service":"instagram"} /--></ul>
20
+ <!-- /wp:social-links -->`;
21
+
22
+ const transformsWithInnerBlocks = [ 'Columns', 'Group' ];
23
+ const blockTransforms = [ ...transformsWithInnerBlocks ];
24
+
25
+ setupCoreBlocks();
26
+
27
+ describe( `${ block } block transforms`, () => {
28
+ beforeAll( () => {
29
+ // Mock call to Animated.sequence for animating colors.
30
+ jest.spyOn( Animated, 'sequence' ).mockImplementation( () => ( {
31
+ start: ( cb ) => cb(),
32
+ } ) );
33
+ } );
34
+
35
+ test.each( blockTransforms )( 'to %s block', async ( blockTransform ) => {
36
+ const screen = await initializeEditor( { initialHtml } );
37
+ const newBlock = await transformBlock( screen, block, blockTransform, {
38
+ hasInnerBlocks:
39
+ transformsWithInnerBlocks.includes( blockTransform ),
40
+ } );
41
+ expect( newBlock ).toBeVisible();
42
+ expect( getEditorHtml() ).toMatchSnapshot();
43
+ } );
44
+
45
+ it( 'matches expected transformation options', async () => {
46
+ const screen = await initializeEditor( { initialHtml } );
47
+ const transformOptions = await getBlockTransformOptions(
48
+ screen,
49
+ block
50
+ );
51
+ expect( transformOptions ).toHaveLength( blockTransforms.length );
52
+ } );
53
+ } );
@@ -17,16 +17,24 @@ import { __ } from '@wordpress/i18n';
17
17
  import { MIN_SPACER_SIZE } from './constants';
18
18
  import styles from './style.scss';
19
19
 
20
- const DEFAULT_VALUES = { px: 100, em: 10, rem: 10, vw: 10, vh: 25 };
20
+ export const DEFAULT_VALUES = { px: 100, em: 10, rem: 10, vw: 10, vh: 25 };
21
21
 
22
- function Controls( { attributes, context, setAttributes } ) {
22
+ function Controls( {
23
+ attributes,
24
+ context,
25
+ setAttributes,
26
+ presetWidth,
27
+ presetHeight,
28
+ } ) {
23
29
  const { orientation } = context;
24
30
  const label = orientation !== 'horizontal' ? __( 'Height' ) : __( 'Width' );
25
31
 
26
- const { height, width } = attributes;
32
+ const width = presetWidth || attributes.width;
33
+ const height = presetHeight || attributes.height;
27
34
  const { valueToConvert, valueUnit: unit } =
28
35
  getValueAndUnit( orientation !== 'horizontal' ? height : width ) || {};
29
36
  const value = Number( valueToConvert );
37
+ const currentUnit = unit || 'px';
30
38
 
31
39
  const setNewDimensions = ( nextValue, nextUnit ) => {
32
40
  const valueWithUnit = `${ nextValue }${ nextUnit }`;
@@ -39,7 +47,7 @@ function Controls( { attributes, context, setAttributes } ) {
39
47
 
40
48
  const handleChange = useCallback(
41
49
  ( nextValue ) => {
42
- setNewDimensions( nextValue, unit );
50
+ setNewDimensions( nextValue, currentUnit );
43
51
  },
44
52
  [ height, width ]
45
53
  );
@@ -72,7 +80,7 @@ function Controls( { attributes, context, setAttributes } ) {
72
80
  onChange={ handleChange }
73
81
  onUnitChange={ handleUnitChange }
74
82
  units={ units }
75
- unit={ unit }
83
+ unit={ currentUnit }
76
84
  style={ styles.rangeCellContainer }
77
85
  />
78
86
  </PanelBody>
@@ -1,22 +1,30 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { View } from 'react-native';
4
+ import { View, useWindowDimensions } from 'react-native';
5
5
 
6
6
  /**
7
7
  * WordPress dependencies
8
8
  */
9
9
  import { useConvertUnitToMobile } from '@wordpress/components';
10
10
  import { withPreferredColorScheme } from '@wordpress/compose';
11
- import { InspectorControls } from '@wordpress/block-editor';
11
+ import {
12
+ InspectorControls,
13
+ isValueSpacingPreset,
14
+ useSetting,
15
+ getCustomValueFromPreset,
16
+ getPxFromCssUnit,
17
+ } from '@wordpress/block-editor';
12
18
  import { useEffect } from '@wordpress/element';
13
19
 
14
20
  /**
15
21
  * Internal dependencies
16
22
  */
17
- import Controls from './controls';
23
+ import Controls, { DEFAULT_VALUES } from './controls';
18
24
  import styles from './editor.native.scss';
19
25
 
26
+ const DEFAULT_FONT_SIZE = 16;
27
+
20
28
  const Spacer = ( {
21
29
  attributes,
22
30
  context,
@@ -24,8 +32,17 @@ const Spacer = ( {
24
32
  isSelected,
25
33
  getStylesFromColorScheme,
26
34
  } ) => {
35
+ const { height: screenHeight, width: screenWidth } = useWindowDimensions();
36
+ const cssUnitOptions = {
37
+ height: screenHeight,
38
+ width: screenWidth,
39
+ fontSize: DEFAULT_FONT_SIZE,
40
+ };
27
41
  const { height, width } = attributes;
28
-
42
+ const spacingSizes = [
43
+ { name: 0, slug: '0', size: 0 },
44
+ ...( useSetting( 'spacing.spacingSizes' ) || [] ),
45
+ ];
29
46
  const { orientation } = context;
30
47
  const defaultStyle = getStylesFromColorScheme(
31
48
  styles.staticSpacer,
@@ -41,8 +58,29 @@ const Spacer = ( {
41
58
  }
42
59
  }, [] );
43
60
 
44
- const convertedHeight = useConvertUnitToMobile( height );
45
- const convertedWidth = useConvertUnitToMobile( width );
61
+ let convertedHeight = useConvertUnitToMobile( height );
62
+ let convertedWidth = useConvertUnitToMobile( width );
63
+ const presetValues = {};
64
+
65
+ if ( isValueSpacingPreset( height ) ) {
66
+ const heightValue = getCustomValueFromPreset( height, spacingSizes );
67
+ const parsedPresetHeightValue = parseFloat(
68
+ getPxFromCssUnit( heightValue, cssUnitOptions )
69
+ );
70
+
71
+ convertedHeight = parsedPresetHeightValue || DEFAULT_VALUES.px;
72
+ presetValues.presetHeight = convertedHeight;
73
+ }
74
+
75
+ if ( isValueSpacingPreset( width ) ) {
76
+ const widthValue = getCustomValueFromPreset( width, spacingSizes );
77
+ const parsedPresetWidthValue = parseFloat(
78
+ getPxFromCssUnit( widthValue, cssUnitOptions )
79
+ );
80
+
81
+ convertedWidth = parsedPresetWidthValue || DEFAULT_VALUES.px;
82
+ presetValues.presetWidth = convertedWidth;
83
+ }
46
84
 
47
85
  return (
48
86
  <View
@@ -58,6 +96,7 @@ const Spacer = ( {
58
96
  attributes={ attributes }
59
97
  context={ context }
60
98
  setAttributes={ setAttributes }
99
+ { ...presetValues }
61
100
  />
62
101
  </InspectorControls>
63
102
  ) }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useBlockProps, getSpacingPresetCssVar } from '@wordpress/block-editor';
5
+
6
+ export default function save( { attributes: { height, width } } ) {
7
+ return (
8
+ <div
9
+ { ...useBlockProps.save( {
10
+ style: {
11
+ height: getSpacingPresetCssVar( height ),
12
+ width: getSpacingPresetCssVar( width ),
13
+ },
14
+ 'aria-hidden': true,
15
+ } ) }
16
+ />
17
+ );
18
+ }