@wordpress/block-library 9.2.0 → 9.4.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 (623) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/audio/edit.js +20 -8
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/audio/index.js +4 -0
  5. package/build/audio/index.js.map +1 -1
  6. package/build/audio/transforms.js +1 -1
  7. package/build/audio/transforms.js.map +1 -1
  8. package/build/block/edit.js +38 -24
  9. package/build/block/edit.js.map +1 -1
  10. package/build/block/index.js +5 -1
  11. package/build/block/index.js.map +1 -1
  12. package/build/button/edit.js +1 -1
  13. package/build/button/edit.js.map +1 -1
  14. package/build/buttons/index.js +26 -0
  15. package/build/buttons/index.js.map +1 -1
  16. package/build/categories/edit.js +20 -3
  17. package/build/categories/edit.js.map +1 -1
  18. package/build/categories/index.js +8 -0
  19. package/build/categories/index.js.map +1 -1
  20. package/build/columns/index.js +2 -2
  21. package/build/columns/index.js.map +1 -1
  22. package/build/cover/edit/inspector-controls.js +2 -1
  23. package/build/cover/edit/inspector-controls.js.map +1 -1
  24. package/build/embed/embed-preview.js +4 -4
  25. package/build/embed/embed-preview.js.map +1 -1
  26. package/build/embed/variations.js +39 -34
  27. package/build/embed/variations.js.map +1 -1
  28. package/build/file/edit.js +14 -6
  29. package/build/file/edit.js.map +1 -1
  30. package/build/file/index.js +4 -0
  31. package/build/file/index.js.map +1 -1
  32. package/build/file/transforms.js +2 -3
  33. package/build/file/transforms.js.map +1 -1
  34. package/build/footnotes/index.js +1 -1
  35. package/build/footnotes/index.js.map +1 -1
  36. package/build/form-input/edit.js +2 -0
  37. package/build/form-input/edit.js.map +1 -1
  38. package/build/gallery/deprecated.js +6 -54
  39. package/build/gallery/deprecated.js.map +1 -1
  40. package/build/gallery/edit.js +9 -8
  41. package/build/gallery/edit.js.map +1 -1
  42. package/build/gallery/index.js +12 -2
  43. package/build/gallery/index.js.map +1 -1
  44. package/build/gallery/save.js +0 -11
  45. package/build/gallery/save.js.map +1 -1
  46. package/build/gallery/shared.js +0 -27
  47. package/build/gallery/shared.js.map +1 -1
  48. package/build/gallery/transforms.js +29 -80
  49. package/build/gallery/transforms.js.map +1 -1
  50. package/build/group/deprecated.js +2 -5
  51. package/build/group/deprecated.js.map +1 -1
  52. package/build/group/index.js +1 -0
  53. package/build/group/index.js.map +1 -1
  54. package/build/group/placeholder.js +5 -0
  55. package/build/group/placeholder.js.map +1 -1
  56. package/build/heading/index.js +14 -1
  57. package/build/heading/index.js.map +1 -1
  58. package/build/image/edit.js +14 -22
  59. package/build/image/edit.js.map +1 -1
  60. package/build/image/image.js +54 -28
  61. package/build/image/image.js.map +1 -1
  62. package/build/image/index.js +7 -0
  63. package/build/image/index.js.map +1 -1
  64. package/build/image/transforms.js +1 -1
  65. package/build/image/transforms.js.map +1 -1
  66. package/build/image/view.js +65 -49
  67. package/build/image/view.js.map +1 -1
  68. package/build/latest-comments/index.js +9 -0
  69. package/build/latest-comments/index.js.map +1 -1
  70. package/build/list/edit.js +3 -3
  71. package/build/list/edit.js.map +1 -1
  72. package/build/list-item/edit.js +3 -3
  73. package/build/list-item/edit.js.map +1 -1
  74. package/build/list-item/hooks/index.js +0 -7
  75. package/build/list-item/hooks/index.js.map +1 -1
  76. package/build/list-item/hooks/use-merge.js +8 -1
  77. package/build/list-item/hooks/use-merge.js.map +1 -1
  78. package/build/list-item/index.js +11 -1
  79. package/build/list-item/index.js.map +1 -1
  80. package/build/loginout/index.js +3 -0
  81. package/build/loginout/index.js.map +1 -1
  82. package/build/media-text/edit.js +3 -2
  83. package/build/media-text/edit.js.map +1 -1
  84. package/build/media-text/index.js +12 -0
  85. package/build/media-text/index.js.map +1 -1
  86. package/build/navigation/edit/navigation-menu-delete-control.js +1 -0
  87. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  88. package/build/navigation/use-navigation-menu.js +5 -1
  89. package/build/navigation/use-navigation-menu.js.map +1 -1
  90. package/build/navigation-link/link-ui.js +13 -17
  91. package/build/navigation-link/link-ui.js.map +1 -1
  92. package/build/navigation-submenu/edit.js +1 -12
  93. package/build/navigation-submenu/edit.js.map +1 -1
  94. package/build/page-list/convert-to-links-modal.js +1 -1
  95. package/build/page-list/convert-to-links-modal.js.map +1 -1
  96. package/build/page-list/edit.js +2 -1
  97. package/build/page-list/edit.js.map +1 -1
  98. package/build/page-list-item/edit.js +4 -1
  99. package/build/page-list-item/edit.js.map +1 -1
  100. package/build/paragraph/index.js +6 -0
  101. package/build/paragraph/index.js.map +1 -1
  102. package/build/paragraph/transforms.js +6 -0
  103. package/build/paragraph/transforms.js.map +1 -1
  104. package/build/post-author/index.js +8 -0
  105. package/build/post-author/index.js.map +1 -1
  106. package/build/post-author-biography/index.js +3 -0
  107. package/build/post-author-biography/index.js.map +1 -1
  108. package/build/post-author-name/index.js +3 -0
  109. package/build/post-author-name/index.js.map +1 -1
  110. package/build/post-content/index.js +3 -0
  111. package/build/post-content/index.js.map +1 -1
  112. package/build/post-date/edit.js +3 -1
  113. package/build/post-date/edit.js.map +1 -1
  114. package/build/post-date/index.js +3 -0
  115. package/build/post-date/index.js.map +1 -1
  116. package/build/post-excerpt/edit.js +1 -0
  117. package/build/post-excerpt/edit.js.map +1 -1
  118. package/build/post-excerpt/index.js +3 -0
  119. package/build/post-excerpt/index.js.map +1 -1
  120. package/build/post-featured-image/index.js +3 -0
  121. package/build/post-featured-image/index.js.map +1 -1
  122. package/build/post-terms/index.js +3 -0
  123. package/build/post-terms/index.js.map +1 -1
  124. package/build/post-title/edit.js +5 -1
  125. package/build/post-title/edit.js.map +1 -1
  126. package/build/post-title/index.js +3 -0
  127. package/build/post-title/index.js.map +1 -1
  128. package/build/query/edit/inspector-controls/author-control.js +3 -1
  129. package/build/query/edit/inspector-controls/author-control.js.map +1 -1
  130. package/build/query/edit/inspector-controls/index.js +27 -8
  131. package/build/query/edit/inspector-controls/index.js.map +1 -1
  132. package/build/query/edit/inspector-controls/order-control.js +1 -0
  133. package/build/query/edit/inspector-controls/order-control.js.map +1 -1
  134. package/build/query/edit/inspector-controls/parent-control.js +2 -1
  135. package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
  136. package/build/query/edit/inspector-controls/sticky-control.js +1 -0
  137. package/build/query/edit/inspector-controls/sticky-control.js.map +1 -1
  138. package/build/query/edit/inspector-controls/taxonomy-controls.js +5 -2
  139. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  140. package/build/query/edit/query-content.js +11 -2
  141. package/build/query/edit/query-content.js.map +1 -1
  142. package/build/query/edit/query-placeholder.js +1 -14
  143. package/build/query/edit/query-placeholder.js.map +1 -1
  144. package/build/query/edit/query-toolbar.js +54 -61
  145. package/build/query/edit/query-toolbar.js.map +1 -1
  146. package/build/query/index.js +34 -0
  147. package/build/query/index.js.map +1 -1
  148. package/build/query/utils.js +5 -1
  149. package/build/query/utils.js.map +1 -1
  150. package/build/query/variations.js +9 -55
  151. package/build/query/variations.js.map +1 -1
  152. package/build/query-pagination-numbers/edit.js +1 -0
  153. package/build/query-pagination-numbers/edit.js.map +1 -1
  154. package/build/query-title/edit.js +11 -19
  155. package/build/query-title/edit.js.map +1 -1
  156. package/build/query-title/use-archive-label.js +95 -0
  157. package/build/query-title/use-archive-label.js.map +1 -0
  158. package/build/quote/index.js +15 -1
  159. package/build/quote/index.js.map +1 -1
  160. package/build/search/index.js +3 -0
  161. package/build/search/index.js.map +1 -1
  162. package/build/site-logo/edit.js +4 -1
  163. package/build/site-logo/edit.js.map +1 -1
  164. package/build/site-tagline/edit.js +5 -2
  165. package/build/site-tagline/edit.js.map +1 -1
  166. package/build/site-tagline/index.js +6 -1
  167. package/build/site-tagline/index.js.map +1 -1
  168. package/build/site-title/edit.js +4 -1
  169. package/build/site-title/edit.js.map +1 -1
  170. package/build/site-title/index.js +6 -1
  171. package/build/site-title/index.js.map +1 -1
  172. package/build/social-link/edit.js +27 -7
  173. package/build/social-link/edit.js.map +1 -1
  174. package/build/social-link/icons/soundcloud.js +1 -1
  175. package/build/social-link/icons/soundcloud.js.map +1 -1
  176. package/build/social-links/index.js +12 -0
  177. package/build/social-links/index.js.map +1 -1
  178. package/build/table/edit.js +8 -17
  179. package/build/table/edit.js.map +1 -1
  180. package/build/tag-cloud/edit.js +4 -1
  181. package/build/tag-cloud/edit.js.map +1 -1
  182. package/build/template-part/edit/index.js +5 -3
  183. package/build/template-part/edit/index.js.map +1 -1
  184. package/build/template-part/edit/inner-blocks.js +8 -3
  185. package/build/template-part/edit/inner-blocks.js.map +1 -1
  186. package/build/template-part/edit/placeholder.js +23 -3
  187. package/build/template-part/edit/placeholder.js.map +1 -1
  188. package/build/template-part/edit/title-modal.js +21 -9
  189. package/build/template-part/edit/title-modal.js.map +1 -1
  190. package/build/term-description/index.js +12 -0
  191. package/build/term-description/index.js.map +1 -1
  192. package/build/utils/hooks.js +17 -1
  193. package/build/utils/hooks.js.map +1 -1
  194. package/build/video/deprecated.js +4 -0
  195. package/build/video/deprecated.js.map +1 -1
  196. package/build/video/edit.js +17 -7
  197. package/build/video/edit.js.map +1 -1
  198. package/build/video/index.js +4 -0
  199. package/build/video/index.js.map +1 -1
  200. package/build/video/transforms.js +1 -1
  201. package/build/video/transforms.js.map +1 -1
  202. package/build-module/audio/edit.js +20 -8
  203. package/build-module/audio/edit.js.map +1 -1
  204. package/build-module/audio/index.js +4 -0
  205. package/build-module/audio/index.js.map +1 -1
  206. package/build-module/audio/transforms.js +1 -1
  207. package/build-module/audio/transforms.js.map +1 -1
  208. package/build-module/block/edit.js +38 -24
  209. package/build-module/block/edit.js.map +1 -1
  210. package/build-module/block/index.js +5 -1
  211. package/build-module/block/index.js.map +1 -1
  212. package/build-module/button/edit.js +1 -1
  213. package/build-module/button/edit.js.map +1 -1
  214. package/build-module/buttons/index.js +26 -0
  215. package/build-module/buttons/index.js.map +1 -1
  216. package/build-module/categories/edit.js +21 -4
  217. package/build-module/categories/edit.js.map +1 -1
  218. package/build-module/categories/index.js +8 -0
  219. package/build-module/categories/index.js.map +1 -1
  220. package/build-module/columns/index.js +2 -2
  221. package/build-module/columns/index.js.map +1 -1
  222. package/build-module/cover/edit/inspector-controls.js +2 -1
  223. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  224. package/build-module/embed/embed-preview.js +4 -4
  225. package/build-module/embed/embed-preview.js.map +1 -1
  226. package/build-module/embed/variations.js +40 -35
  227. package/build-module/embed/variations.js.map +1 -1
  228. package/build-module/file/edit.js +15 -7
  229. package/build-module/file/edit.js.map +1 -1
  230. package/build-module/file/index.js +4 -0
  231. package/build-module/file/index.js.map +1 -1
  232. package/build-module/file/transforms.js +2 -3
  233. package/build-module/file/transforms.js.map +1 -1
  234. package/build-module/footnotes/index.js +1 -1
  235. package/build-module/footnotes/index.js.map +1 -1
  236. package/build-module/form-input/edit.js +2 -0
  237. package/build-module/form-input/edit.js.map +1 -1
  238. package/build-module/gallery/deprecated.js +6 -54
  239. package/build-module/gallery/deprecated.js.map +1 -1
  240. package/build-module/gallery/edit.js +10 -9
  241. package/build-module/gallery/edit.js.map +1 -1
  242. package/build-module/gallery/index.js +11 -1
  243. package/build-module/gallery/index.js.map +1 -1
  244. package/build-module/gallery/save.js +0 -11
  245. package/build-module/gallery/save.js.map +1 -1
  246. package/build-module/gallery/shared.js +0 -25
  247. package/build-module/gallery/shared.js.map +1 -1
  248. package/build-module/gallery/transforms.js +29 -80
  249. package/build-module/gallery/transforms.js.map +1 -1
  250. package/build-module/group/deprecated.js +2 -5
  251. package/build-module/group/deprecated.js.map +1 -1
  252. package/build-module/group/index.js +1 -0
  253. package/build-module/group/index.js.map +1 -1
  254. package/build-module/group/placeholder.js +5 -0
  255. package/build-module/group/placeholder.js.map +1 -1
  256. package/build-module/heading/index.js +14 -1
  257. package/build-module/heading/index.js.map +1 -1
  258. package/build-module/image/edit.js +13 -21
  259. package/build-module/image/edit.js.map +1 -1
  260. package/build-module/image/image.js +50 -24
  261. package/build-module/image/image.js.map +1 -1
  262. package/build-module/image/index.js +7 -0
  263. package/build-module/image/index.js.map +1 -1
  264. package/build-module/image/transforms.js +1 -1
  265. package/build-module/image/transforms.js.map +1 -1
  266. package/build-module/image/view.js +65 -49
  267. package/build-module/image/view.js.map +1 -1
  268. package/build-module/latest-comments/index.js +9 -0
  269. package/build-module/latest-comments/index.js.map +1 -1
  270. package/build-module/list/edit.js +3 -3
  271. package/build-module/list/edit.js.map +1 -1
  272. package/build-module/list-item/edit.js +3 -3
  273. package/build-module/list-item/edit.js.map +1 -1
  274. package/build-module/list-item/hooks/index.js +0 -1
  275. package/build-module/list-item/hooks/index.js.map +1 -1
  276. package/build-module/list-item/hooks/use-merge.js +8 -1
  277. package/build-module/list-item/hooks/use-merge.js.map +1 -1
  278. package/build-module/list-item/index.js +11 -1
  279. package/build-module/list-item/index.js.map +1 -1
  280. package/build-module/loginout/index.js +3 -0
  281. package/build-module/loginout/index.js.map +1 -1
  282. package/build-module/media-text/edit.js +3 -2
  283. package/build-module/media-text/edit.js.map +1 -1
  284. package/build-module/media-text/index.js +12 -0
  285. package/build-module/media-text/index.js.map +1 -1
  286. package/build-module/navigation/edit/navigation-menu-delete-control.js +1 -0
  287. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  288. package/build-module/navigation/use-navigation-menu.js +5 -1
  289. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  290. package/build-module/navigation-link/link-ui.js +13 -17
  291. package/build-module/navigation-link/link-ui.js.map +1 -1
  292. package/build-module/navigation-submenu/edit.js +1 -12
  293. package/build-module/navigation-submenu/edit.js.map +1 -1
  294. package/build-module/page-list/convert-to-links-modal.js +1 -1
  295. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  296. package/build-module/page-list/edit.js +2 -1
  297. package/build-module/page-list/edit.js.map +1 -1
  298. package/build-module/page-list-item/edit.js +4 -1
  299. package/build-module/page-list-item/edit.js.map +1 -1
  300. package/build-module/paragraph/index.js +6 -0
  301. package/build-module/paragraph/index.js.map +1 -1
  302. package/build-module/paragraph/transforms.js +6 -0
  303. package/build-module/paragraph/transforms.js.map +1 -1
  304. package/build-module/post-author/index.js +8 -0
  305. package/build-module/post-author/index.js.map +1 -1
  306. package/build-module/post-author-biography/index.js +3 -0
  307. package/build-module/post-author-biography/index.js.map +1 -1
  308. package/build-module/post-author-name/index.js +3 -0
  309. package/build-module/post-author-name/index.js.map +1 -1
  310. package/build-module/post-content/index.js +3 -0
  311. package/build-module/post-content/index.js.map +1 -1
  312. package/build-module/post-date/edit.js +4 -2
  313. package/build-module/post-date/edit.js.map +1 -1
  314. package/build-module/post-date/index.js +3 -0
  315. package/build-module/post-date/index.js.map +1 -1
  316. package/build-module/post-excerpt/edit.js +1 -0
  317. package/build-module/post-excerpt/edit.js.map +1 -1
  318. package/build-module/post-excerpt/index.js +3 -0
  319. package/build-module/post-excerpt/index.js.map +1 -1
  320. package/build-module/post-featured-image/index.js +3 -0
  321. package/build-module/post-featured-image/index.js.map +1 -1
  322. package/build-module/post-terms/index.js +3 -0
  323. package/build-module/post-terms/index.js.map +1 -1
  324. package/build-module/post-title/edit.js +5 -1
  325. package/build-module/post-title/edit.js.map +1 -1
  326. package/build-module/post-title/index.js +3 -0
  327. package/build-module/post-title/index.js.map +1 -1
  328. package/build-module/query/edit/inspector-controls/author-control.js +3 -1
  329. package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
  330. package/build-module/query/edit/inspector-controls/index.js +28 -9
  331. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  332. package/build-module/query/edit/inspector-controls/order-control.js +1 -0
  333. package/build-module/query/edit/inspector-controls/order-control.js.map +1 -1
  334. package/build-module/query/edit/inspector-controls/parent-control.js +2 -1
  335. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
  336. package/build-module/query/edit/inspector-controls/sticky-control.js +1 -0
  337. package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -1
  338. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +6 -4
  339. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  340. package/build-module/query/edit/query-content.js +11 -2
  341. package/build-module/query/edit/query-content.js.map +1 -1
  342. package/build-module/query/edit/query-placeholder.js +1 -14
  343. package/build-module/query/edit/query-placeholder.js.map +1 -1
  344. package/build-module/query/edit/query-toolbar.js +55 -62
  345. package/build-module/query/edit/query-toolbar.js.map +1 -1
  346. package/build-module/query/index.js +34 -0
  347. package/build-module/query/index.js.map +1 -1
  348. package/build-module/query/utils.js +5 -1
  349. package/build-module/query/utils.js.map +1 -1
  350. package/build-module/query/variations.js +4 -50
  351. package/build-module/query/variations.js.map +1 -1
  352. package/build-module/query-pagination-numbers/edit.js +1 -0
  353. package/build-module/query-pagination-numbers/edit.js.map +1 -1
  354. package/build-module/query-title/edit.js +12 -20
  355. package/build-module/query-title/edit.js.map +1 -1
  356. package/build-module/query-title/use-archive-label.js +88 -0
  357. package/build-module/query-title/use-archive-label.js.map +1 -0
  358. package/build-module/quote/index.js +15 -1
  359. package/build-module/quote/index.js.map +1 -1
  360. package/build-module/search/index.js +3 -0
  361. package/build-module/search/index.js.map +1 -1
  362. package/build-module/site-logo/edit.js +4 -1
  363. package/build-module/site-logo/edit.js.map +1 -1
  364. package/build-module/site-tagline/edit.js +5 -2
  365. package/build-module/site-tagline/edit.js.map +1 -1
  366. package/build-module/site-tagline/index.js +6 -1
  367. package/build-module/site-tagline/index.js.map +1 -1
  368. package/build-module/site-title/edit.js +4 -1
  369. package/build-module/site-title/edit.js.map +1 -1
  370. package/build-module/site-title/index.js +6 -1
  371. package/build-module/site-title/index.js.map +1 -1
  372. package/build-module/social-link/edit.js +28 -8
  373. package/build-module/social-link/edit.js.map +1 -1
  374. package/build-module/social-link/icons/soundcloud.js +1 -1
  375. package/build-module/social-link/icons/soundcloud.js.map +1 -1
  376. package/build-module/social-links/index.js +12 -0
  377. package/build-module/social-links/index.js.map +1 -1
  378. package/build-module/table/edit.js +9 -18
  379. package/build-module/table/edit.js.map +1 -1
  380. package/build-module/tag-cloud/edit.js +4 -1
  381. package/build-module/tag-cloud/edit.js.map +1 -1
  382. package/build-module/template-part/edit/index.js +5 -3
  383. package/build-module/template-part/edit/index.js.map +1 -1
  384. package/build-module/template-part/edit/inner-blocks.js +8 -3
  385. package/build-module/template-part/edit/inner-blocks.js.map +1 -1
  386. package/build-module/template-part/edit/placeholder.js +23 -3
  387. package/build-module/template-part/edit/placeholder.js.map +1 -1
  388. package/build-module/template-part/edit/title-modal.js +21 -9
  389. package/build-module/template-part/edit/title-modal.js.map +1 -1
  390. package/build-module/term-description/index.js +12 -0
  391. package/build-module/term-description/index.js.map +1 -1
  392. package/build-module/utils/hooks.js +16 -1
  393. package/build-module/utils/hooks.js.map +1 -1
  394. package/build-module/video/deprecated.js +4 -0
  395. package/build-module/video/deprecated.js.map +1 -1
  396. package/build-module/video/edit.js +18 -8
  397. package/build-module/video/edit.js.map +1 -1
  398. package/build-module/video/index.js +4 -0
  399. package/build-module/video/index.js.map +1 -1
  400. package/build-module/video/transforms.js +1 -1
  401. package/build-module/video/transforms.js.map +1 -1
  402. package/build-style/categories/editor-rtl.css +4 -0
  403. package/build-style/categories/editor.css +4 -0
  404. package/build-style/categories/style-rtl.css +4 -0
  405. package/build-style/categories/style.css +4 -0
  406. package/build-style/editor-rtl.css +16 -12
  407. package/build-style/editor.css +16 -12
  408. package/build-style/image/editor-rtl.css +8 -4
  409. package/build-style/image/editor.css +8 -4
  410. package/build-style/image/style-rtl.css +19 -0
  411. package/build-style/image/style.css +19 -0
  412. package/build-style/list/style-rtl.css +1 -1
  413. package/build-style/list/style.css +1 -1
  414. package/build-style/navigation/style-rtl.css +1 -4
  415. package/build-style/navigation/style.css +1 -4
  416. package/build-style/post-comments-form/style-rtl.css +12 -11
  417. package/build-style/post-comments-form/style.css +12 -11
  418. package/build-style/query/editor-rtl.css +3 -7
  419. package/build-style/query/editor.css +3 -7
  420. package/build-style/search/editor-rtl.css +1 -1
  421. package/build-style/search/editor.css +1 -1
  422. package/build-style/social-links/style-rtl.css +93 -93
  423. package/build-style/social-links/style.css +93 -93
  424. package/build-style/style-rtl.css +131 -109
  425. package/build-style/style.css +131 -109
  426. package/build-style/term-description/style-rtl.css +1 -0
  427. package/build-style/term-description/style.css +1 -0
  428. package/package.json +35 -35
  429. package/src/audio/block.json +4 -0
  430. package/src/audio/edit.js +19 -7
  431. package/src/audio/transforms.js +1 -1
  432. package/src/block/block.json +5 -1
  433. package/src/block/edit.js +58 -28
  434. package/src/block/test/edit.native.js +6 -2
  435. package/src/button/edit.js +1 -1
  436. package/src/button/index.php +14 -1
  437. package/src/buttons/block.json +20 -0
  438. package/src/buttons/index.js +6 -0
  439. package/src/categories/block.json +8 -0
  440. package/src/categories/edit.js +32 -4
  441. package/src/categories/editor.scss +4 -0
  442. package/src/categories/index.php +4 -1
  443. package/src/categories/style.scss +4 -0
  444. package/src/columns/index.js +1 -1
  445. package/src/cover/edit/inspector-controls.js +1 -0
  446. package/src/embed/embed-preview.js +4 -6
  447. package/src/embed/test/__snapshots__/index.native.js.snap +8 -8
  448. package/src/embed/test/index.js +1 -1
  449. package/src/embed/test/index.native.js +24 -23
  450. package/src/embed/variations.js +43 -35
  451. package/src/file/block.json +4 -0
  452. package/src/file/edit.js +19 -6
  453. package/src/file/transforms.js +1 -2
  454. package/src/footnotes/index.js +1 -2
  455. package/src/form-input/edit.js +2 -0
  456. package/src/gallery/block.json +10 -0
  457. package/src/gallery/deprecated.js +6 -55
  458. package/src/gallery/edit.js +13 -10
  459. package/src/gallery/gallery-styles.native.scss +0 -2
  460. package/src/gallery/index.js +1 -1
  461. package/src/gallery/save.js +0 -10
  462. package/src/gallery/shared.js +0 -28
  463. package/src/gallery/transforms.js +56 -99
  464. package/src/group/block.json +1 -0
  465. package/src/group/deprecated.js +3 -7
  466. package/src/group/placeholder.js +7 -0
  467. package/src/heading/block.json +12 -0
  468. package/src/heading/index.js +1 -0
  469. package/src/image/block.json +7 -0
  470. package/src/image/edit.js +11 -20
  471. package/src/image/editor.scss +6 -1
  472. package/src/image/image.js +91 -49
  473. package/src/image/index.php +58 -20
  474. package/src/image/style.scss +22 -0
  475. package/src/image/test/edit.native.js +1 -0
  476. package/src/image/transforms.js +1 -1
  477. package/src/image/view.js +69 -49
  478. package/src/latest-comments/block.json +9 -0
  479. package/src/list/edit.js +3 -3
  480. package/src/list/style.scss +1 -1
  481. package/src/list-item/block.json +11 -1
  482. package/src/list-item/edit.js +3 -3
  483. package/src/list-item/hooks/index.js +0 -1
  484. package/src/list-item/hooks/use-merge.js +19 -5
  485. package/src/loginout/block.json +3 -0
  486. package/src/media-text/block.json +12 -0
  487. package/src/media-text/edit.js +3 -2
  488. package/src/navigation/edit/navigation-menu-delete-control.js +1 -0
  489. package/src/navigation/index.php +1 -1
  490. package/src/navigation/style.scss +4 -9
  491. package/src/navigation/test/use-navigation-menu.js +54 -15
  492. package/src/navigation/use-navigation-menu.js +5 -1
  493. package/src/navigation-link/link-ui.js +8 -14
  494. package/src/navigation-submenu/edit.js +2 -14
  495. package/src/page-list/convert-to-links-modal.js +1 -1
  496. package/src/page-list/edit.js +2 -1
  497. package/src/page-list-item/edit.js +4 -4
  498. package/src/paragraph/block.json +6 -0
  499. package/src/post-author/index.js +8 -0
  500. package/src/post-author-biography/block.json +3 -0
  501. package/src/post-author-name/block.json +3 -0
  502. package/src/post-comments-form/style.scss +16 -13
  503. package/src/post-content/block.json +3 -0
  504. package/src/post-date/block.json +3 -0
  505. package/src/post-date/edit.js +5 -1
  506. package/src/post-date/index.php +8 -2
  507. package/src/post-excerpt/block.json +3 -0
  508. package/src/post-excerpt/edit.js +1 -0
  509. package/src/post-featured-image/block.json +3 -0
  510. package/src/post-terms/block.json +3 -0
  511. package/src/post-title/block.json +3 -0
  512. package/src/post-title/edit.js +5 -5
  513. package/src/query/edit/inspector-controls/author-control.js +2 -0
  514. package/src/query/edit/inspector-controls/index.js +44 -16
  515. package/src/query/edit/inspector-controls/order-control.js +1 -0
  516. package/src/query/edit/inspector-controls/parent-control.js +1 -0
  517. package/src/query/edit/inspector-controls/sticky-control.js +1 -0
  518. package/src/query/edit/inspector-controls/taxonomy-controls.js +8 -3
  519. package/src/query/edit/query-content.js +17 -3
  520. package/src/query/edit/query-placeholder.js +1 -21
  521. package/src/query/edit/query-toolbar.js +60 -72
  522. package/src/query/editor.scss +4 -9
  523. package/src/query/index.js +40 -0
  524. package/src/query/utils.js +4 -0
  525. package/src/query/variations.js +4 -46
  526. package/src/query-pagination-numbers/edit.js +1 -0
  527. package/src/query-title/edit.js +10 -17
  528. package/src/query-title/use-archive-label.js +99 -0
  529. package/src/quote/block.json +15 -1
  530. package/src/search/block.json +3 -0
  531. package/src/search/editor.scss +1 -1
  532. package/src/site-logo/edit.js +4 -1
  533. package/src/site-tagline/block.json +6 -1
  534. package/src/site-tagline/edit.js +5 -2
  535. package/src/site-title/edit.js +4 -1
  536. package/src/site-title/index.js +6 -1
  537. package/src/social-link/edit.js +29 -3
  538. package/src/social-link/icons/soundcloud.js +1 -1
  539. package/src/social-link/socials-with-bg.scss +1 -1
  540. package/src/social-link/socials-without-bg.scss +1 -1
  541. package/src/social-links/block.json +12 -0
  542. package/src/social-links/style.scss +2 -2
  543. package/src/table/edit.js +11 -24
  544. package/src/tag-cloud/edit.js +7 -1
  545. package/src/template-part/edit/index.js +5 -3
  546. package/src/template-part/edit/inner-blocks.js +8 -5
  547. package/src/template-part/edit/placeholder.js +31 -6
  548. package/src/template-part/edit/title-modal.js +19 -5
  549. package/src/term-description/block.json +12 -0
  550. package/src/term-description/style.scss +2 -0
  551. package/src/utils/hooks.js +19 -2
  552. package/src/video/block.json +4 -0
  553. package/src/video/edit.js +23 -8
  554. package/src/video/transforms.js +1 -1
  555. package/tsconfig.tsbuildinfo +1 -1
  556. package/build/gallery/edit-wrapper.js +0 -37
  557. package/build/gallery/edit-wrapper.js.map +0 -1
  558. package/build/gallery/v1/constants.js +0 -10
  559. package/build/gallery/v1/constants.js.map +0 -1
  560. package/build/gallery/v1/edit.js +0 -399
  561. package/build/gallery/v1/edit.js.map +0 -1
  562. package/build/gallery/v1/gallery-button.native.js +0 -55
  563. package/build/gallery/v1/gallery-button.native.js.map +0 -1
  564. package/build/gallery/v1/gallery-image.js +0 -285
  565. package/build/gallery/v1/gallery-image.js.map +0 -1
  566. package/build/gallery/v1/gallery-image.native.js +0 -297
  567. package/build/gallery/v1/gallery-image.native.js.map +0 -1
  568. package/build/gallery/v1/gallery.js +0 -112
  569. package/build/gallery/v1/gallery.js.map +0 -1
  570. package/build/gallery/v1/gallery.native.js +0 -139
  571. package/build/gallery/v1/gallery.native.js.map +0 -1
  572. package/build/gallery/v1/save.js +0 -81
  573. package/build/gallery/v1/save.js.map +0 -1
  574. package/build/gallery/v1/shared.js +0 -17
  575. package/build/gallery/v1/shared.js.map +0 -1
  576. package/build/gallery/v1/tiles.native.js +0 -83
  577. package/build/gallery/v1/tiles.native.js.map +0 -1
  578. package/build/list-item/hooks/use-split.js +0 -39
  579. package/build/list-item/hooks/use-split.js.map +0 -1
  580. package/build/utils/constants.js +0 -15
  581. package/build/utils/constants.js.map +0 -1
  582. package/build-module/gallery/edit-wrapper.js +0 -31
  583. package/build-module/gallery/edit-wrapper.js.map +0 -1
  584. package/build-module/gallery/v1/constants.js +0 -4
  585. package/build-module/gallery/v1/constants.js.map +0 -1
  586. package/build-module/gallery/v1/edit.js +0 -393
  587. package/build-module/gallery/v1/edit.js.map +0 -1
  588. package/build-module/gallery/v1/gallery-button.native.js +0 -46
  589. package/build-module/gallery/v1/gallery-button.native.js.map +0 -1
  590. package/build-module/gallery/v1/gallery-image.js +0 -279
  591. package/build-module/gallery/v1/gallery-image.js.map +0 -1
  592. package/build-module/gallery/v1/gallery-image.native.js +0 -291
  593. package/build-module/gallery/v1/gallery-image.native.js.map +0 -1
  594. package/build-module/gallery/v1/gallery.js +0 -104
  595. package/build-module/gallery/v1/gallery.js.map +0 -1
  596. package/build-module/gallery/v1/gallery.native.js +0 -131
  597. package/build-module/gallery/v1/gallery.native.js.map +0 -1
  598. package/build-module/gallery/v1/save.js +0 -74
  599. package/build-module/gallery/v1/save.js.map +0 -1
  600. package/build-module/gallery/v1/shared.js +0 -10
  601. package/build-module/gallery/v1/shared.js.map +0 -1
  602. package/build-module/gallery/v1/tiles.native.js +0 -75
  603. package/build-module/gallery/v1/tiles.native.js.map +0 -1
  604. package/build-module/list-item/hooks/use-split.js +0 -32
  605. package/build-module/list-item/hooks/use-split.js.map +0 -1
  606. package/build-module/utils/constants.js +0 -9
  607. package/build-module/utils/constants.js.map +0 -1
  608. package/src/gallery/edit-wrapper.js +0 -27
  609. package/src/gallery/v1/constants.js +0 -3
  610. package/src/gallery/v1/edit.js +0 -450
  611. package/src/gallery/v1/gallery-button.native.js +0 -47
  612. package/src/gallery/v1/gallery-image-style.native.scss +0 -109
  613. package/src/gallery/v1/gallery-image.js +0 -293
  614. package/src/gallery/v1/gallery-image.native.js +0 -348
  615. package/src/gallery/v1/gallery-styles.native.scss +0 -8
  616. package/src/gallery/v1/gallery.js +0 -125
  617. package/src/gallery/v1/gallery.native.js +0 -162
  618. package/src/gallery/v1/save.js +0 -98
  619. package/src/gallery/v1/shared.js +0 -19
  620. package/src/gallery/v1/tiles-styles.native.scss +0 -11
  621. package/src/gallery/v1/tiles.native.js +0 -79
  622. package/src/list-item/hooks/use-split.js +0 -33
  623. package/src/utils/constants.js +0 -8
@@ -230,7 +230,7 @@ describe( 'Embed block', () => {
230
230
  } );
231
231
 
232
232
  MOST_USED_PROVIDERS.forEach( ( { title } ) =>
233
- it( `inserts ${ title } embed block`, async () => {
233
+ it( `inserts ${ title } block`, async () => {
234
234
  const { block } = await insertEmbedBlock( title );
235
235
  const blockName = within( block ).getByText( title );
236
236
 
@@ -285,10 +285,10 @@ describe( 'Embed block', () => {
285
285
  const blockSettingsModal = await editor.findByTestId(
286
286
  'block-settings-modal'
287
287
  );
288
- // Get Twitter link field.
288
+ // Get Twitter Embed link field.
289
289
  const twitterLinkField = within(
290
290
  blockSettingsModal
291
- ).getByLabelText( `Twitter link, ${ expectedURL }` );
291
+ ).getByLabelText( `Twitter Embed link, ${ expectedURL }` );
292
292
 
293
293
  expect( twitterLinkField ).toBeDefined();
294
294
  expect( getEditorHtml() ).toMatchSnapshot();
@@ -321,10 +321,10 @@ describe( 'Embed block', () => {
321
321
  const blockSettingsModal = await editor.findByTestId(
322
322
  'block-settings-modal'
323
323
  );
324
- // Get Twitter link field.
324
+ // Get Twitter Embed link field.
325
325
  const twitterLinkField = within(
326
326
  blockSettingsModal
327
- ).getByLabelText( `Twitter link, ${ clipboardURL }` );
327
+ ).getByLabelText( `Twitter Embed link, ${ clipboardURL }` );
328
328
 
329
329
  expect( autopastedLinkField ).toBeDefined();
330
330
  expect( twitterLinkField ).toBeDefined();
@@ -383,10 +383,10 @@ describe( 'Embed block', () => {
383
383
  const blockSettingsModal = await editor.findByTestId(
384
384
  'block-settings-modal'
385
385
  );
386
- // Get Twitter link field.
386
+ // Get Twitter Embed link field.
387
387
  const twitterLinkField = within(
388
388
  blockSettingsModal
389
- ).getByLabelText( `Twitter link, ${ expectedURL }` );
389
+ ).getByLabelText( `Twitter Embed link, ${ expectedURL }` );
390
390
 
391
391
  expect( twitterLinkField ).toBeDefined();
392
392
  expect( getEditorHtml() ).toMatchSnapshot();
@@ -422,10 +422,10 @@ describe( 'Embed block', () => {
422
422
  const blockSettingsModal = await editor.findByTestId(
423
423
  'block-settings-modal'
424
424
  );
425
- // Get Twitter link field.
425
+ // Get Twitter Embed link field.
426
426
  const twitterLinkField = within(
427
427
  blockSettingsModal
428
- ).getByLabelText( `Twitter link, ${ clipboardURL }` );
428
+ ).getByLabelText( `Twitter Embed link, ${ clipboardURL }` );
429
429
 
430
430
  expect( embedLink ).toBeDefined();
431
431
  expect( twitterLinkField ).toBeDefined();
@@ -472,10 +472,10 @@ describe( 'Embed block', () => {
472
472
  );
473
473
  await waitForModalVisible( blockSettingsModal );
474
474
 
475
- // Start editing link.
475
+ // Start editing Embed link.
476
476
  fireEvent.press(
477
477
  within( blockSettingsModal ).getByLabelText(
478
- `Twitter link, ${ initialURL }`
478
+ `Twitter Embed link, ${ initialURL }`
479
479
  )
480
480
  );
481
481
 
@@ -491,10 +491,10 @@ describe( 'Embed block', () => {
491
491
  await waitFor( () => editor.UNSAFE_getByType( WebView ) );
492
492
  await editor.findByText( 'Media settings' );
493
493
 
494
- // Get YouTube link field.
494
+ // Get YouTube Embed link field.
495
495
  const youtubeLinkField = await within(
496
496
  blockSettingsModal
497
- ).findByLabelText( `YouTube link, ${ expectedURL }` );
497
+ ).findByLabelText( `YouTube Embed link, ${ expectedURL }` );
498
498
 
499
499
  expect( youtubeLinkField ).toBeDefined();
500
500
  expect( getEditorHtml() ).toMatchSnapshot();
@@ -519,7 +519,7 @@ describe( 'Embed block', () => {
519
519
  // Start editing link.
520
520
  fireEvent.press(
521
521
  within( blockSettingsModal ).getByLabelText(
522
- `Twitter link, ${ previousURL }`
522
+ `Twitter Embed link, ${ previousURL }`
523
523
  )
524
524
  );
525
525
 
@@ -557,7 +557,7 @@ describe( 'Embed block', () => {
557
557
  // Start editing link.
558
558
  fireEvent.press(
559
559
  within( blockSettingsModal ).getByLabelText(
560
- `Twitter link, ${ previousURL }`
560
+ `Twitter Embed link, ${ previousURL }`
561
561
  )
562
562
  );
563
563
 
@@ -661,10 +661,10 @@ describe( 'Embed block', () => {
661
661
  fireEvent( blockSettingsModal, 'backdropPress' );
662
662
  fireEvent( blockSettingsModal, MODAL_DISMISS_EVENT );
663
663
 
664
- // Get Twitter link field.
664
+ // Get Twitter Embed link field.
665
665
  const twitterLinkField = await within(
666
666
  blockSettingsModal
667
- ).findByLabelText( `Twitter link, ${ expectedURL }` );
667
+ ).findByLabelText( `Twitter Embed link, ${ expectedURL }` );
668
668
 
669
669
  expect( twitterLinkField ).toBeDefined();
670
670
  expect( getEditorHtml() ).toMatchSnapshot();
@@ -728,10 +728,10 @@ describe( 'Embed block', () => {
728
728
  const blockSettingsModal = await editor.findByTestId(
729
729
  'block-settings-modal'
730
730
  );
731
- // Get Twitter link field.
731
+ // Get Twitter Embed link field.
732
732
  const twitterLinkField = within(
733
733
  blockSettingsModal
734
- ).getByLabelText( `Twitter link, ${ expectedURL }` );
734
+ ).getByLabelText( `Twitter Embed link, ${ expectedURL }` );
735
735
 
736
736
  expect( twitterLinkField ).toBeDefined();
737
737
  expect( getEditorHtml() ).toMatchSnapshot();
@@ -811,10 +811,10 @@ describe( 'Embed block', () => {
811
811
  const blockSettingsModal = await editor.findByTestId(
812
812
  'block-settings-modal'
813
813
  );
814
- // Get Twitter link field.
814
+ // Get Twitter embed link field.
815
815
  const twitterLinkField = within(
816
816
  blockSettingsModal
817
- ).getByLabelText( `Twitter link, ${ successURL }` );
817
+ ).getByLabelText( `Twitter Embed link, ${ successURL }` );
818
818
 
819
819
  expect( twitterLinkField ).toBeDefined();
820
820
  expect( getEditorHtml() ).toMatchSnapshot();
@@ -1000,8 +1000,9 @@ describe( 'Embed block', () => {
1000
1000
  } );
1001
1001
 
1002
1002
  MOST_USED_PROVIDERS.forEach( ( { title } ) =>
1003
- it( `inserts ${ title } embed block`, async () => {
1004
- const embedBlockSlashInserter = `/${ title }`;
1003
+ it( `inserts ${ title } block`, async () => {
1004
+ // Get just the first word of the title ("Twitter") as the full title ("Twitter Embed") breaks the test.
1005
+ const embedBlockSlashInserter = `/${ title.split( ' ' )[ 0 ] }`;
1005
1006
  const editor = await initializeEditor( {
1006
1007
  initialHtml: EMPTY_PARAGRAPH_HTML,
1007
1008
  } );
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { __ } from '@wordpress/i18n';
4
+ import { __, sprintf } from '@wordpress/i18n';
5
5
 
6
6
  /**
7
7
  * Internal dependencies
@@ -32,6 +32,14 @@ import {
32
32
 
33
33
  /** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */
34
34
 
35
+ function getTitle( providerName ) {
36
+ return sprintf(
37
+ /* translators: %s: provider name */
38
+ __( '%s Embed' ),
39
+ providerName
40
+ );
41
+ }
42
+
35
43
  /**
36
44
  * The embed provider services.
37
45
  *
@@ -40,7 +48,7 @@ import {
40
48
  const variations = [
41
49
  {
42
50
  name: 'twitter',
43
- title: 'Twitter',
51
+ title: getTitle( 'Twitter' ),
44
52
  icon: embedTwitterIcon,
45
53
  keywords: [ 'tweet', __( 'social' ) ],
46
54
  description: __( 'Embed a tweet.' ),
@@ -49,7 +57,7 @@ const variations = [
49
57
  },
50
58
  {
51
59
  name: 'youtube',
52
- title: 'YouTube',
60
+ title: getTitle( 'YouTube' ),
53
61
  icon: embedYouTubeIcon,
54
62
  keywords: [ __( 'music' ), __( 'video' ) ],
55
63
  description: __( 'Embed a YouTube video.' ),
@@ -63,7 +71,7 @@ const variations = [
63
71
  // Deprecate Facebook Embed per FB policy
64
72
  // See: https://developers.facebook.com/docs/plugins/oembed-legacy
65
73
  name: 'facebook',
66
- title: 'Facebook',
74
+ title: getTitle( 'Facebook' ),
67
75
  icon: embedFacebookIcon,
68
76
  keywords: [ __( 'social' ) ],
69
77
  description: __( 'Embed a Facebook post.' ),
@@ -79,7 +87,7 @@ const variations = [
79
87
  // Deprecate Instagram per FB policy
80
88
  // See: https://developers.facebook.com/docs/instagram/oembed-legacy
81
89
  name: 'instagram',
82
- title: 'Instagram',
90
+ title: getTitle( 'Instagram' ),
83
91
  icon: embedInstagramIcon,
84
92
  keywords: [ __( 'image' ), __( 'social' ) ],
85
93
  description: __( 'Embed an Instagram post.' ),
@@ -89,7 +97,7 @@ const variations = [
89
97
  },
90
98
  {
91
99
  name: 'wordpress',
92
- title: 'WordPress',
100
+ title: getTitle( 'WordPress' ),
93
101
  icon: embedWordPressIcon,
94
102
  keywords: [ __( 'post' ), __( 'blog' ) ],
95
103
  description: __( 'Embed a WordPress post.' ),
@@ -99,7 +107,7 @@ const variations = [
99
107
  },
100
108
  {
101
109
  name: 'soundcloud',
102
- title: 'SoundCloud',
110
+ title: getTitle( 'SoundCloud' ),
103
111
  icon: embedAudioIcon,
104
112
  keywords: [ __( 'music' ), __( 'audio' ) ],
105
113
  description: __( 'Embed SoundCloud content.' ),
@@ -108,7 +116,7 @@ const variations = [
108
116
  },
109
117
  {
110
118
  name: 'spotify',
111
- title: 'Spotify',
119
+ title: getTitle( 'Spotify' ),
112
120
  icon: embedSpotifyIcon,
113
121
  keywords: [ __( 'music' ), __( 'audio' ) ],
114
122
  description: __( 'Embed Spotify content.' ),
@@ -117,7 +125,7 @@ const variations = [
117
125
  },
118
126
  {
119
127
  name: 'flickr',
120
- title: 'Flickr',
128
+ title: getTitle( 'Flickr' ),
121
129
  icon: embedFlickrIcon,
122
130
  keywords: [ __( 'image' ) ],
123
131
  description: __( 'Embed Flickr content.' ),
@@ -129,7 +137,7 @@ const variations = [
129
137
  },
130
138
  {
131
139
  name: 'vimeo',
132
- title: 'Vimeo',
140
+ title: getTitle( 'Vimeo' ),
133
141
  icon: embedVimeoIcon,
134
142
  keywords: [ __( 'video' ) ],
135
143
  description: __( 'Embed a Vimeo video.' ),
@@ -138,7 +146,7 @@ const variations = [
138
146
  },
139
147
  {
140
148
  name: 'animoto',
141
- title: 'Animoto',
149
+ title: getTitle( 'Animoto' ),
142
150
  icon: embedAnimotoIcon,
143
151
  description: __( 'Embed an Animoto video.' ),
144
152
  patterns: [ /^https?:\/\/(www\.)?(animoto|video214)\.com\/.+/i ],
@@ -146,7 +154,7 @@ const variations = [
146
154
  },
147
155
  {
148
156
  name: 'cloudup',
149
- title: 'Cloudup',
157
+ title: getTitle( 'Cloudup' ),
150
158
  icon: embedContentIcon,
151
159
  description: __( 'Embed Cloudup content.' ),
152
160
  patterns: [ /^https?:\/\/cloudup\.com\/.+/i ],
@@ -155,7 +163,7 @@ const variations = [
155
163
  {
156
164
  // Deprecated since CollegeHumor content is now powered by YouTube.
157
165
  name: 'collegehumor',
158
- title: 'CollegeHumor',
166
+ title: getTitle( 'CollegeHumor' ),
159
167
  icon: embedVideoIcon,
160
168
  description: __( 'Embed CollegeHumor content.' ),
161
169
  scope: [ 'block' ],
@@ -164,7 +172,7 @@ const variations = [
164
172
  },
165
173
  {
166
174
  name: 'crowdsignal',
167
- title: 'Crowdsignal',
175
+ title: getTitle( 'Crowdsignal' ),
168
176
  icon: embedContentIcon,
169
177
  keywords: [ 'polldaddy', __( 'survey' ) ],
170
178
  description: __( 'Embed Crowdsignal (formerly Polldaddy) content.' ),
@@ -175,7 +183,7 @@ const variations = [
175
183
  },
176
184
  {
177
185
  name: 'dailymotion',
178
- title: 'Dailymotion',
186
+ title: getTitle( 'Dailymotion' ),
179
187
  icon: embedDailymotionIcon,
180
188
  keywords: [ __( 'video' ) ],
181
189
  description: __( 'Embed a Dailymotion video.' ),
@@ -184,7 +192,7 @@ const variations = [
184
192
  },
185
193
  {
186
194
  name: 'imgur',
187
- title: 'Imgur',
195
+ title: getTitle( 'Imgur' ),
188
196
  icon: embedPhotoIcon,
189
197
  description: __( 'Embed Imgur content.' ),
190
198
  patterns: [ /^https?:\/\/(.+\.)?imgur\.com\/.+/i ],
@@ -192,7 +200,7 @@ const variations = [
192
200
  },
193
201
  {
194
202
  name: 'issuu',
195
- title: 'Issuu',
203
+ title: getTitle( 'Issuu' ),
196
204
  icon: embedContentIcon,
197
205
  description: __( 'Embed Issuu content.' ),
198
206
  patterns: [ /^https?:\/\/(www\.)?issuu\.com\/.+/i ],
@@ -200,7 +208,7 @@ const variations = [
200
208
  },
201
209
  {
202
210
  name: 'kickstarter',
203
- title: 'Kickstarter',
211
+ title: getTitle( 'Kickstarter' ),
204
212
  icon: embedContentIcon,
205
213
  description: __( 'Embed Kickstarter content.' ),
206
214
  patterns: [
@@ -211,7 +219,7 @@ const variations = [
211
219
  },
212
220
  {
213
221
  name: 'mixcloud',
214
- title: 'Mixcloud',
222
+ title: getTitle( 'Mixcloud' ),
215
223
  icon: embedAudioIcon,
216
224
  keywords: [ __( 'music' ), __( 'audio' ) ],
217
225
  description: __( 'Embed Mixcloud content.' ),
@@ -220,7 +228,7 @@ const variations = [
220
228
  },
221
229
  {
222
230
  name: 'pocket-casts',
223
- title: 'Pocket Casts',
231
+ title: getTitle( 'Pocket Casts' ),
224
232
  icon: embedPocketCastsIcon,
225
233
  keywords: [ __( 'podcast' ), __( 'audio' ) ],
226
234
  description: __( 'Embed a podcast player from Pocket Casts.' ),
@@ -229,7 +237,7 @@ const variations = [
229
237
  },
230
238
  {
231
239
  name: 'reddit',
232
- title: 'Reddit',
240
+ title: getTitle( 'Reddit' ),
233
241
  icon: embedRedditIcon,
234
242
  description: __( 'Embed a Reddit thread.' ),
235
243
  patterns: [ /^https?:\/\/(www\.)?reddit\.com\/.+/i ],
@@ -237,7 +245,7 @@ const variations = [
237
245
  },
238
246
  {
239
247
  name: 'reverbnation',
240
- title: 'ReverbNation',
248
+ title: getTitle( 'ReverbNation' ),
241
249
  icon: embedAudioIcon,
242
250
  description: __( 'Embed ReverbNation content.' ),
243
251
  patterns: [ /^https?:\/\/(www\.)?reverbnation\.com\/.+/i ],
@@ -245,7 +253,7 @@ const variations = [
245
253
  },
246
254
  {
247
255
  name: 'screencast',
248
- title: 'Screencast',
256
+ title: getTitle( 'Screencast' ),
249
257
  icon: embedVideoIcon,
250
258
  description: __( 'Embed Screencast content.' ),
251
259
  patterns: [ /^https?:\/\/(www\.)?screencast\.com\/.+/i ],
@@ -253,7 +261,7 @@ const variations = [
253
261
  },
254
262
  {
255
263
  name: 'scribd',
256
- title: 'Scribd',
264
+ title: getTitle( 'Scribd' ),
257
265
  icon: embedContentIcon,
258
266
  description: __( 'Embed Scribd content.' ),
259
267
  patterns: [ /^https?:\/\/(www\.)?scribd\.com\/.+/i ],
@@ -261,7 +269,7 @@ const variations = [
261
269
  },
262
270
  {
263
271
  name: 'smugmug',
264
- title: 'SmugMug',
272
+ title: getTitle( 'SmugMug' ),
265
273
  icon: embedPhotoIcon,
266
274
  description: __( 'Embed SmugMug content.' ),
267
275
  patterns: [ /^https?:\/\/(.+\.)?smugmug\.com\/.*/i ],
@@ -273,7 +281,7 @@ const variations = [
273
281
  },
274
282
  {
275
283
  name: 'speaker-deck',
276
- title: 'Speaker Deck',
284
+ title: getTitle( 'Speaker Deck' ),
277
285
  icon: embedContentIcon,
278
286
  description: __( 'Embed Speaker Deck content.' ),
279
287
  patterns: [ /^https?:\/\/(www\.)?speakerdeck\.com\/.+/i ],
@@ -281,7 +289,7 @@ const variations = [
281
289
  },
282
290
  {
283
291
  name: 'tiktok',
284
- title: 'TikTok',
292
+ title: getTitle( 'TikTok' ),
285
293
  icon: embedVideoIcon,
286
294
  keywords: [ __( 'video' ) ],
287
295
  description: __( 'Embed a TikTok video.' ),
@@ -290,7 +298,7 @@ const variations = [
290
298
  },
291
299
  {
292
300
  name: 'ted',
293
- title: 'TED',
301
+ title: getTitle( 'TED' ),
294
302
  icon: embedVideoIcon,
295
303
  description: __( 'Embed a TED video.' ),
296
304
  patterns: [ /^https?:\/\/(www\.|embed\.)?ted\.com\/.+/i ],
@@ -298,7 +306,7 @@ const variations = [
298
306
  },
299
307
  {
300
308
  name: 'tumblr',
301
- title: 'Tumblr',
309
+ title: getTitle( 'Tumblr' ),
302
310
  icon: embedTumblrIcon,
303
311
  keywords: [ __( 'social' ) ],
304
312
  description: __( 'Embed a Tumblr post.' ),
@@ -307,7 +315,7 @@ const variations = [
307
315
  },
308
316
  {
309
317
  name: 'videopress',
310
- title: 'VideoPress',
318
+ title: getTitle( 'VideoPress' ),
311
319
  icon: embedVideoIcon,
312
320
  keywords: [ __( 'video' ) ],
313
321
  description: __( 'Embed a VideoPress video.' ),
@@ -316,7 +324,7 @@ const variations = [
316
324
  },
317
325
  {
318
326
  name: 'wordpress-tv',
319
- title: 'WordPress.tv',
327
+ title: getTitle( 'WordPress.tv' ),
320
328
  icon: embedVideoIcon,
321
329
  description: __( 'Embed a WordPress.tv video.' ),
322
330
  patterns: [ /^https?:\/\/wordpress\.tv\/.+/i ],
@@ -324,7 +332,7 @@ const variations = [
324
332
  },
325
333
  {
326
334
  name: 'amazon-kindle',
327
- title: 'Amazon Kindle',
335
+ title: getTitle( 'Amazon Kindle' ),
328
336
  icon: embedAmazonIcon,
329
337
  keywords: [ __( 'ebook' ) ],
330
338
  description: __( 'Embed Amazon Kindle content.' ),
@@ -336,7 +344,7 @@ const variations = [
336
344
  },
337
345
  {
338
346
  name: 'pinterest',
339
- title: 'Pinterest',
347
+ title: getTitle( 'Pinterest' ),
340
348
  icon: embedPinterestIcon,
341
349
  keywords: [ __( 'social' ), __( 'bookmark' ) ],
342
350
  description: __( 'Embed Pinterest pins, boards, and profiles.' ),
@@ -347,7 +355,7 @@ const variations = [
347
355
  },
348
356
  {
349
357
  name: 'wolfram-cloud',
350
- title: 'Wolfram',
358
+ title: getTitle( 'Wolfram' ),
351
359
  icon: embedWolframIcon,
352
360
  description: __( 'Embed Wolfram notebook content.' ),
353
361
  patterns: [ /^https?:\/\/(www\.)?wolframcloud\.com\/obj\/.+/i ],
@@ -355,7 +363,7 @@ const variations = [
355
363
  },
356
364
  {
357
365
  name: 'bluesky',
358
- title: 'Bluesky',
366
+ title: getTitle( 'Bluesky' ),
359
367
  icon: embedBlueskyIcon,
360
368
  description: __( 'Embed a Bluesky post.' ),
361
369
  patterns: [ /^https?:\/\/bsky\.app\/profile\/.+\/post\/.+/i ],
@@ -11,6 +11,10 @@
11
11
  "id": {
12
12
  "type": "number"
13
13
  },
14
+ "blob": {
15
+ "type": "string",
16
+ "__experimentalRole": "local"
17
+ },
14
18
  "href": {
15
19
  "type": "string"
16
20
  },
package/src/file/edit.js CHANGED
@@ -23,7 +23,7 @@ import {
23
23
  store as blockEditorStore,
24
24
  __experimentalGetElementClassName,
25
25
  } from '@wordpress/block-editor';
26
- import { useEffect } from '@wordpress/element';
26
+ import { useEffect, useState } from '@wordpress/element';
27
27
  import { useCopyToClipboard } from '@wordpress/compose';
28
28
  import { __, _x } from '@wordpress/i18n';
29
29
  import { file as icon } from '@wordpress/icons';
@@ -73,6 +73,7 @@ function FileEdit( { attributes, isSelected, setAttributes, clientId } ) {
73
73
  displayPreview,
74
74
  previewHeight,
75
75
  } = attributes;
76
+ const [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );
76
77
  const { media } = useSelect(
77
78
  ( select ) => ( {
78
79
  media:
@@ -88,7 +89,7 @@ function FileEdit( { attributes, isSelected, setAttributes, clientId } ) {
88
89
  useDispatch( blockEditorStore );
89
90
 
90
91
  useUploadMediaFromBlobURL( {
91
- url: href,
92
+ url: temporaryURL,
92
93
  onChange: onSelectFile,
93
94
  onError: onUploadError,
94
95
  } );
@@ -108,6 +109,12 @@ function FileEdit( { attributes, isSelected, setAttributes, clientId } ) {
108
109
 
109
110
  function onSelectFile( newMedia ) {
110
111
  if ( ! newMedia || ! newMedia.url ) {
112
+ setTemporaryURL();
113
+ return;
114
+ }
115
+
116
+ if ( isBlobURL( newMedia.url ) ) {
117
+ setTemporaryURL( newMedia.url );
111
118
  return;
112
119
  }
113
120
 
@@ -120,7 +127,9 @@ function FileEdit( { attributes, isSelected, setAttributes, clientId } ) {
120
127
  displayPreview: isPdf ? true : undefined,
121
128
  previewHeight: isPdf ? 600 : undefined,
122
129
  fileId: `wp-block-file--media-${ clientId }`,
130
+ blob: undefined,
123
131
  } );
132
+ setTemporaryURL();
124
133
  }
125
134
 
126
135
  function onUploadError( message ) {
@@ -166,16 +175,16 @@ function FileEdit( { attributes, isSelected, setAttributes, clientId } ) {
166
175
 
167
176
  const blockProps = useBlockProps( {
168
177
  className: clsx(
169
- isBlobURL( href ) && getAnimateClassName( { type: 'loading' } ),
178
+ !! temporaryURL && getAnimateClassName( { type: 'loading' } ),
170
179
  {
171
- 'is-transient': isBlobURL( href ),
180
+ 'is-transient': !! temporaryURL,
172
181
  }
173
182
  ),
174
183
  } );
175
184
 
176
185
  const displayPreviewInEditor = browserSupportsPdfs() && displayPreview;
177
186
 
178
- if ( ! href ) {
187
+ if ( ! href && ! temporaryURL ) {
179
188
  return (
180
189
  <div { ...blockProps }>
181
190
  <MediaPlaceholder
@@ -197,7 +206,11 @@ function FileEdit( { attributes, isSelected, setAttributes, clientId } ) {
197
206
  return (
198
207
  <>
199
208
  <FileBlockInspector
200
- hrefs={ { href, textLinkHref, attachmentPage } }
209
+ hrefs={ {
210
+ href: href || temporaryURL,
211
+ textLinkHref,
212
+ attachmentPage,
213
+ } }
201
214
  { ...{
202
215
  openInNewWindow: !! textLinkTarget,
203
216
  showDownloadButton,
@@ -26,9 +26,8 @@ const transforms = {
26
26
  // File will be uploaded in componentDidMount()
27
27
  blocks.push(
28
28
  createBlock( 'core/file', {
29
- href: blobURL,
29
+ blob: blobURL,
30
30
  fileName: file.name,
31
- textLinkHref: blobURL,
32
31
  } )
33
32
  );
34
33
  } );
@@ -21,8 +21,7 @@ export const settings = {
21
21
  edit,
22
22
  };
23
23
 
24
- registerFormatType( formatName, format );
25
-
26
24
  export const init = () => {
25
+ registerFormatType( formatName, format );
27
26
  initBlock( { name, metadata, settings } );
28
27
  };
@@ -38,6 +38,7 @@ function InputFieldBlock( { attributes, setAttributes, className } ) {
38
38
  <PanelBody title={ __( 'Settings' ) }>
39
39
  { 'checkbox' !== type && (
40
40
  <CheckboxControl
41
+ __nextHasNoMarginBottom
41
42
  label={ __( 'Inline label' ) }
42
43
  checked={ inlineLabel }
43
44
  onChange={ ( newVal ) => {
@@ -48,6 +49,7 @@ function InputFieldBlock( { attributes, setAttributes, className } ) {
48
49
  />
49
50
  ) }
50
51
  <CheckboxControl
52
+ __nextHasNoMarginBottom
51
53
  label={ __( 'Required' ) }
52
54
  checked={ required }
53
55
  onChange={ ( newVal ) => {
@@ -112,6 +112,16 @@
112
112
  "supports": {
113
113
  "anchor": true,
114
114
  "align": true,
115
+ "__experimentalBorder": {
116
+ "radius": true,
117
+ "color": true,
118
+ "width": true,
119
+ "style": true,
120
+ "__experimentalDefaultControls": {
121
+ "color": true,
122
+ "radius": true
123
+ }
124
+ },
115
125
  "html": false,
116
126
  "units": [ "px", "em", "rem", "vh", "vw" ],
117
127
  "spacing": {