@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
package/src/audio/edit.js CHANGED
@@ -26,6 +26,7 @@ import { __, _x } from '@wordpress/i18n';
26
26
  import { useDispatch } from '@wordpress/data';
27
27
  import { audio as icon } from '@wordpress/icons';
28
28
  import { store as noticesStore } from '@wordpress/notices';
29
+ import { useState } from '@wordpress/element';
29
30
 
30
31
  /**
31
32
  * Internal dependencies
@@ -45,10 +46,10 @@ function AudioEdit( {
45
46
  insertBlocksAfter,
46
47
  } ) {
47
48
  const { id, autoplay, loop, preload, src } = attributes;
48
- const isTemporaryAudio = ! id && isBlobURL( src );
49
+ const [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );
49
50
 
50
51
  useUploadMediaFromBlobURL( {
51
- url: src,
52
+ url: temporaryURL,
52
53
  allowedTypes: ALLOWED_MEDIA_TYPES,
53
54
  onChange: onSelectAudio,
54
55
  onError: onUploadError,
@@ -72,7 +73,8 @@ function AudioEdit( {
72
73
  onReplace( embedBlock );
73
74
  return;
74
75
  }
75
- setAttributes( { src: newSrc, id: undefined } );
76
+ setAttributes( { src: newSrc, id: undefined, blob: undefined } );
77
+ setTemporaryURL();
76
78
  }
77
79
  }
78
80
 
@@ -95,27 +97,37 @@ function AudioEdit( {
95
97
  src: undefined,
96
98
  id: undefined,
97
99
  caption: undefined,
100
+ blob: undefined,
98
101
  } );
102
+ setTemporaryURL();
99
103
  return;
100
104
  }
105
+
106
+ if ( isBlobURL( media.url ) ) {
107
+ setTemporaryURL( media.url );
108
+ return;
109
+ }
110
+
101
111
  // Sets the block's attribute and updates the edit component from the
102
112
  // selected media, then switches off the editing UI.
103
113
  setAttributes( {
114
+ blob: undefined,
104
115
  src: media.url,
105
116
  id: media.id,
106
117
  caption: media.caption,
107
118
  } );
119
+ setTemporaryURL();
108
120
  }
109
121
 
110
122
  const classes = clsx( className, {
111
- 'is-transient': isTemporaryAudio,
123
+ 'is-transient': !! temporaryURL,
112
124
  } );
113
125
 
114
126
  const blockProps = useBlockProps( {
115
127
  className: classes,
116
128
  } );
117
129
 
118
- if ( ! src ) {
130
+ if ( ! src && ! temporaryURL ) {
119
131
  return (
120
132
  <div { ...blockProps }>
121
133
  <MediaPlaceholder
@@ -190,9 +202,9 @@ function AudioEdit( {
190
202
  file or change the position slider when the controls are enabled.
191
203
  */ }
192
204
  <Disabled isDisabled={ ! isSingleSelected }>
193
- <audio controls="controls" src={ src } />
205
+ <audio controls="controls" src={ src ?? temporaryURL } />
194
206
  </Disabled>
195
- { isTemporaryAudio && <Spinner /> }
207
+ { !! temporaryURL && <Spinner /> }
196
208
  <Caption
197
209
  attributes={ attributes }
198
210
  setAttributes={ setAttributes }
@@ -20,7 +20,7 @@ const transforms = {
20
20
  // It's already done as part of the `componentDidMount`
21
21
  // in the audio block.
22
22
  const block = createBlock( 'core/audio', {
23
- src: createBlobURL( file ),
23
+ blob: createBlobURL( file ),
24
24
  } );
25
25
 
26
26
  return block;
@@ -12,9 +12,13 @@
12
12
  "type": "number"
13
13
  },
14
14
  "content": {
15
- "type": "object"
15
+ "type": "object",
16
+ "default": {}
16
17
  }
17
18
  },
19
+ "providesContext": {
20
+ "pattern/overrides": "content"
21
+ },
18
22
  "supports": {
19
23
  "customClassName": false,
20
24
  "html": false,
package/src/block/edit.js CHANGED
@@ -121,6 +121,51 @@ export default function ReusableBlockEditRecursionWrapper( props ) {
121
121
  );
122
122
  }
123
123
 
124
+ function ReusableBlockControl( {
125
+ recordId,
126
+ canOverrideBlocks,
127
+ hasContent,
128
+ handleEditOriginal,
129
+ resetContent,
130
+ } ) {
131
+ const canUserEdit = useSelect(
132
+ ( select ) =>
133
+ !! select( coreStore ).canUser( 'update', {
134
+ kind: 'postType',
135
+ name: 'wp_block',
136
+ id: recordId,
137
+ } ),
138
+ [ recordId ]
139
+ );
140
+
141
+ return (
142
+ <>
143
+ { canUserEdit && !! handleEditOriginal && (
144
+ <BlockControls>
145
+ <ToolbarGroup>
146
+ <ToolbarButton onClick={ handleEditOriginal }>
147
+ { __( 'Edit original' ) }
148
+ </ToolbarButton>
149
+ </ToolbarGroup>
150
+ </BlockControls>
151
+ ) }
152
+
153
+ { canOverrideBlocks && (
154
+ <BlockControls>
155
+ <ToolbarGroup>
156
+ <ToolbarButton
157
+ onClick={ resetContent }
158
+ disabled={ ! hasContent }
159
+ >
160
+ { __( 'Reset' ) }
161
+ </ToolbarButton>
162
+ </ToolbarGroup>
163
+ </BlockControls>
164
+ ) }
165
+ </>
166
+ );
167
+ }
168
+
124
169
  function ReusableBlockEdit( {
125
170
  name,
126
171
  attributes: { ref, content },
@@ -143,25 +188,20 @@ function ReusableBlockEdit( {
143
188
 
144
189
  const {
145
190
  innerBlocks,
146
- userCanEdit,
147
191
  onNavigateToEntityRecord,
148
192
  editingMode,
149
193
  hasPatternOverridesSource,
150
194
  } = useSelect(
151
195
  ( select ) => {
152
- const { canUser } = select( coreStore );
153
196
  const {
154
197
  getBlocks,
155
198
  getSettings,
156
199
  getBlockEditingMode: _getBlockEditingMode,
157
200
  } = select( blockEditorStore );
158
201
  const { getBlockBindingsSource } = unlock( select( blocksStore ) );
159
- const canEdit = canUser( 'update', 'blocks', ref );
160
-
161
202
  // For editing link to the site editor if the theme and user permissions support it.
162
203
  return {
163
204
  innerBlocks: getBlocks( patternClientId ),
164
- userCanEdit: canEdit,
165
205
  getBlockEditingMode: _getBlockEditingMode,
166
206
  onNavigateToEntityRecord:
167
207
  getSettings().onNavigateToEntityRecord,
@@ -171,7 +211,7 @@ function ReusableBlockEdit( {
171
211
  ),
172
212
  };
173
213
  },
174
- [ patternClientId, ref ]
214
+ [ patternClientId ]
175
215
  );
176
216
 
177
217
  // Sync the editing mode of the pattern block with the inner blocks.
@@ -252,28 +292,18 @@ function ReusableBlockEdit( {
252
292
 
253
293
  return (
254
294
  <>
255
- { userCanEdit && onNavigateToEntityRecord && (
256
- <BlockControls>
257
- <ToolbarGroup>
258
- <ToolbarButton onClick={ handleEditOriginal }>
259
- { __( 'Edit original' ) }
260
- </ToolbarButton>
261
- </ToolbarGroup>
262
- </BlockControls>
263
- ) }
264
-
265
- { canOverrideBlocks && (
266
- <BlockControls>
267
- <ToolbarGroup>
268
- <ToolbarButton
269
- onClick={ resetContent }
270
- disabled={ ! content }
271
- __experimentalIsFocusable
272
- >
273
- { __( 'Reset' ) }
274
- </ToolbarButton>
275
- </ToolbarGroup>
276
- </BlockControls>
295
+ { hasResolved && (
296
+ <ReusableBlockControl
297
+ recordId={ ref }
298
+ canOverrideBlocks={ canOverrideBlocks }
299
+ hasContent={ !! content }
300
+ handleEditOriginal={
301
+ onNavigateToEntityRecord
302
+ ? handleEditOriginal
303
+ : undefined
304
+ }
305
+ resetContent={ resetContent }
306
+ />
277
307
  ) }
278
308
 
279
309
  { children === null ? (
@@ -158,7 +158,9 @@ describe( 'Synced patterns', () => {
158
158
  if ( path.startsWith( endpoint ) ) {
159
159
  response = getMockedReusableBlock( id );
160
160
  }
161
- return Promise.resolve( response );
161
+ return Promise.resolve( {
162
+ json: () => Promise.resolve( response ),
163
+ } );
162
164
  } );
163
165
 
164
166
  const screen = await initializeEditor( {
@@ -229,7 +231,9 @@ describe( 'Synced patterns', () => {
229
231
  response.content.raw = `<!-- wp:image {"id":1,"sizeSlug":"large","linkDestination":"none"} -->
230
232
  <figure class="wp-block-image size-large"><img src="https://cldup.com/cXyG__fTLN.jpg" alt="" class="wp-image-1"/></figure>
231
233
  <!-- /wp:image -->`;
232
- return Promise.resolve( response );
234
+ return Promise.resolve( {
235
+ json: () => Promise.resolve( response ),
236
+ } );
233
237
  } );
234
238
 
235
239
  const screen = await initializeEditor( {
@@ -247,7 +247,7 @@ function ButtonEdit( props ) {
247
247
  return {
248
248
  lockUrlControls:
249
249
  !! metadata?.bindings?.url &&
250
- ! blockBindingsSource?.canUserEditValue( {
250
+ ! blockBindingsSource?.canUserEditValue?.( {
251
251
  select,
252
252
  context,
253
253
  args: metadata?.bindings?.url?.args,
@@ -17,7 +17,20 @@
17
17
  * @return string The block content.
18
18
  */
19
19
  function render_block_core_button( $attributes, $content ) {
20
- $p = new WP_HTML_Tag_Processor( $content );
20
+ /*
21
+ * The current Gutenberg plugin supports WordPress 6.4, but the next_token()
22
+ * method does not exist in WordPress 6.4. Therefore, if Gutenberg is used
23
+ * as a plugin, use the Gutenberg class that has the `next_token()` method.
24
+ *
25
+ * TODO: After the Gutenberg plugin drops support for WordPress 6.4, this
26
+ * conditional statement will be removed and the core class `WP_HTML_Tag_Processor`
27
+ * should be used.
28
+ */
29
+ if ( defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN && class_exists( 'Gutenberg_HTML_Tag_Processor_6_7' ) ) {
30
+ $p = new Gutenberg_HTML_Tag_Processor_6_7( $content );
31
+ } else {
32
+ $p = new WP_HTML_Tag_Processor( $content );
33
+ }
21
34
 
22
35
  /*
23
36
  * The button block can render an `<a>` or `<button>` and also has a
@@ -13,8 +13,16 @@
13
13
  "align": [ "wide", "full" ],
14
14
  "html": false,
15
15
  "__experimentalExposeControlsToChildren": true,
16
+ "color": {
17
+ "gradients": true,
18
+ "text": false,
19
+ "__experimentalDefaultControls": {
20
+ "background": true
21
+ }
22
+ },
16
23
  "spacing": {
17
24
  "blockGap": true,
25
+ "padding": true,
18
26
  "margin": [ "top", "bottom" ],
19
27
  "__experimentalDefaultControls": {
20
28
  "blockGap": true
@@ -33,6 +41,18 @@
33
41
  "fontSize": true
34
42
  }
35
43
  },
44
+ "__experimentalBorder": {
45
+ "color": true,
46
+ "radius": true,
47
+ "style": true,
48
+ "width": true,
49
+ "__experimentalDefaultControls": {
50
+ "color": true,
51
+ "radius": true,
52
+ "style": true,
53
+ "width": true
54
+ }
55
+ },
36
56
  "layout": {
37
57
  "allowSwitching": false,
38
58
  "allowInheriting": false,
@@ -21,6 +21,12 @@ export { metadata, name };
21
21
  export const settings = {
22
22
  icon,
23
23
  example: {
24
+ attributes: {
25
+ layout: {
26
+ type: 'flex',
27
+ justifyContent: 'center',
28
+ },
29
+ },
24
30
  innerBlocks: [
25
31
  {
26
32
  name: 'core/button',
@@ -26,6 +26,14 @@
26
26
  "showEmpty": {
27
27
  "type": "boolean",
28
28
  "default": false
29
+ },
30
+ "label": {
31
+ "type": "string",
32
+ "__experimentalRole": "content"
33
+ },
34
+ "showLabel": {
35
+ "type": "boolean",
36
+ "default": true
29
37
  }
30
38
  },
31
39
  "supports": {
@@ -14,7 +14,11 @@ import {
14
14
  VisuallyHidden,
15
15
  } from '@wordpress/components';
16
16
  import { useInstanceId } from '@wordpress/compose';
17
- import { InspectorControls, useBlockProps } from '@wordpress/block-editor';
17
+ import {
18
+ InspectorControls,
19
+ useBlockProps,
20
+ RichText,
21
+ } from '@wordpress/block-editor';
18
22
  import { decodeEntities } from '@wordpress/html-entities';
19
23
  import { __ } from '@wordpress/i18n';
20
24
  import { pin } from '@wordpress/icons';
@@ -27,6 +31,8 @@ export default function CategoriesEdit( {
27
31
  showPostCounts,
28
32
  showOnlyTopLevel,
29
33
  showEmpty,
34
+ label,
35
+ showLabel,
30
36
  },
31
37
  setAttributes,
32
38
  className,
@@ -92,9 +98,22 @@ export default function CategoriesEdit( {
92
98
  const categoriesList = getCategoriesList( parentId );
93
99
  return (
94
100
  <>
95
- <VisuallyHidden as="label" htmlFor={ selectId }>
96
- { __( 'Categories' ) }
97
- </VisuallyHidden>
101
+ { showLabel ? (
102
+ <RichText
103
+ className="wp-block-categories__label"
104
+ aria-label={ __( 'Label text' ) }
105
+ placeholder={ __( 'Categories' ) }
106
+ withoutInteractiveFormatting
107
+ value={ label }
108
+ onChange={ ( html ) =>
109
+ setAttributes( { label: html } )
110
+ }
111
+ />
112
+ ) : (
113
+ <VisuallyHidden as="label" htmlFor={ selectId }>
114
+ { label ? label : __( 'Categories' ) }
115
+ </VisuallyHidden>
116
+ ) }
98
117
  <select id={ selectId }>
99
118
  <option>{ __( 'Select Category' ) }</option>
100
119
  { categoriesList.map( ( category ) =>
@@ -148,6 +167,15 @@ export default function CategoriesEdit( {
148
167
  checked={ displayAsDropdown }
149
168
  onChange={ toggleAttribute( 'displayAsDropdown' ) }
150
169
  />
170
+ { displayAsDropdown && (
171
+ <ToggleControl
172
+ __nextHasNoMarginBottom
173
+ className="wp-block-categories__indentation"
174
+ label={ __( 'Show label' ) }
175
+ checked={ showLabel }
176
+ onChange={ toggleAttribute( 'showLabel' ) }
177
+ />
178
+ ) }
151
179
  <ToggleControl
152
180
  __nextHasNoMarginBottom
153
181
  label={ __( 'Show post counts' ) }
@@ -10,3 +10,7 @@
10
10
  [data-align="center"] .wp-block-categories {
11
11
  text-align: center;
12
12
  }
13
+
14
+ .wp-block-categories__indentation {
15
+ padding-left: 16px;
16
+ }
@@ -34,7 +34,10 @@ function render_block_core_categories( $attributes ) {
34
34
  $id = 'wp-block-categories-' . $block_id;
35
35
  $args['id'] = $id;
36
36
  $args['show_option_none'] = __( 'Select Category' );
37
- $wrapper_markup = '<div %1$s><label class="screen-reader-text" for="' . esc_attr( $id ) . '">' . __( 'Categories' ) . '</label>%2$s</div>';
37
+ $show_label = empty( $attributes['showLabel'] ) ? ' screen-reader-text' : '';
38
+ $default_label = __( 'Categories' );
39
+ $label_text = ! empty( $attributes['label'] ) ? $attributes['label'] : $default_label;
40
+ $wrapper_markup = '<div %1$s><label class="wp-block-categories__label' . $show_label . '" for="' . esc_attr( $id ) . '">' . $label_text . '</label>%2$s</div>';
38
41
  $items_markup = wp_dropdown_categories( $args );
39
42
  $type = 'dropdown';
40
43
 
@@ -14,4 +14,8 @@
14
14
  &.wp-block-categories-dropdown.aligncenter {
15
15
  text-align: center;
16
16
  }
17
+ & .wp-block-categories__label {
18
+ width: 100%;
19
+ display: block;
20
+ }
17
21
  }
@@ -23,7 +23,7 @@ export const settings = {
23
23
  icon,
24
24
  variations,
25
25
  example: {
26
- viewportWidth: 600, // Columns collapse "@media (max-width: 599px)".
26
+ viewportWidth: 782, // Columns collapse "@media (max-width: 781px)".
27
27
  innerBlocks: [
28
28
  {
29
29
  name: 'core/column',
@@ -260,6 +260,7 @@ export default function CoverInspectorControls( {
260
260
  gradient: undefined,
261
261
  customGradient: undefined,
262
262
  } ),
263
+ clearable: true,
263
264
  },
264
265
  ] }
265
266
  panelId={ clientId }
@@ -20,6 +20,7 @@ import {
20
20
  } from '@wordpress/block-editor';
21
21
  import { Component } from '@wordpress/element';
22
22
  import { createBlock, getDefaultBlockName } from '@wordpress/blocks';
23
+ import { getAuthority } from '@wordpress/url';
23
24
 
24
25
  /**
25
26
  * Internal dependencies
@@ -73,14 +74,11 @@ class EmbedPreview extends Component {
73
74
  const { interactive } = this.state;
74
75
 
75
76
  const html = 'photo' === type ? getPhotoHtml( preview ) : preview.html;
76
- const parsedHost = new URL( url ).host.split( '.' );
77
- const parsedHostBaseUrl = parsedHost
78
- .splice( parsedHost.length - 2, parsedHost.length - 1 )
79
- .join( '.' );
77
+ const embedSourceUrl = getAuthority( url );
80
78
  const iframeTitle = sprintf(
81
79
  // translators: %s: host providing embed content e.g: www.youtube.com
82
80
  __( 'Embedded content from %s' ),
83
- parsedHostBaseUrl
81
+ embedSourceUrl
84
82
  );
85
83
  const sandboxClassnames = clsx(
86
84
  type,
@@ -136,7 +134,7 @@ class EmbedPreview extends Component {
136
134
  __(
137
135
  "Embedded content from %s can't be previewed in the editor."
138
136
  ),
139
- parsedHostBaseUrl
137
+ embedSourceUrl
140
138
  ) }
141
139
  </p>
142
140
  </Placeholder>
@@ -106,21 +106,21 @@ exports[`Embed block edit URL sets empty state when setting an empty URL 1`] = `
106
106
 
107
107
  exports[`Embed block insert via slash inserter insert generic embed block 1`] = `"<!-- wp:embed /-->"`;
108
108
 
109
- exports[`Embed block insert via slash inserter inserts Twitter embed block 1`] = `"<!-- wp:embed {"providerNameSlug":"twitter","responsive":true} /-->"`;
109
+ exports[`Embed block insert via slash inserter inserts Twitter Embed block 1`] = `"<!-- wp:embed {"providerNameSlug":"twitter","responsive":true} /-->"`;
110
110
 
111
- exports[`Embed block insert via slash inserter inserts Vimeo embed block 1`] = `"<!-- wp:embed {"providerNameSlug":"vimeo","responsive":true} /-->"`;
111
+ exports[`Embed block insert via slash inserter inserts Vimeo Embed block 1`] = `"<!-- wp:embed {"providerNameSlug":"vimeo","responsive":true} /-->"`;
112
112
 
113
- exports[`Embed block insert via slash inserter inserts WordPress embed block 1`] = `"<!-- wp:embed {"providerNameSlug":"wordpress"} /-->"`;
113
+ exports[`Embed block insert via slash inserter inserts WordPress Embed block 1`] = `"<!-- wp:embed {"providerNameSlug":"wordpress"} /-->"`;
114
114
 
115
- exports[`Embed block insert via slash inserter inserts YouTube embed block 1`] = `"<!-- wp:embed {"providerNameSlug":"youtube","responsive":true} /-->"`;
115
+ exports[`Embed block insert via slash inserter inserts YouTube Embed block 1`] = `"<!-- wp:embed {"providerNameSlug":"youtube","responsive":true} /-->"`;
116
116
 
117
- exports[`Embed block insertion inserts Twitter embed block 1`] = `"<!-- wp:embed {"providerNameSlug":"twitter","responsive":true} /-->"`;
117
+ exports[`Embed block insertion inserts Twitter Embed block 1`] = `"<!-- wp:embed {"providerNameSlug":"twitter","responsive":true} /-->"`;
118
118
 
119
- exports[`Embed block insertion inserts Vimeo embed block 1`] = `"<!-- wp:embed {"providerNameSlug":"vimeo","responsive":true} /-->"`;
119
+ exports[`Embed block insertion inserts Vimeo Embed block 1`] = `"<!-- wp:embed {"providerNameSlug":"vimeo","responsive":true} /-->"`;
120
120
 
121
- exports[`Embed block insertion inserts WordPress embed block 1`] = `"<!-- wp:embed {"providerNameSlug":"wordpress"} /-->"`;
121
+ exports[`Embed block insertion inserts WordPress Embed block 1`] = `"<!-- wp:embed {"providerNameSlug":"wordpress"} /-->"`;
122
122
 
123
- exports[`Embed block insertion inserts YouTube embed block 1`] = `"<!-- wp:embed {"providerNameSlug":"youtube","responsive":true} /-->"`;
123
+ exports[`Embed block insertion inserts YouTube Embed block 1`] = `"<!-- wp:embed {"providerNameSlug":"youtube","responsive":true} /-->"`;
124
124
 
125
125
  exports[`Embed block insertion inserts generic embed block 1`] = `"<!-- wp:embed /-->"`;
126
126
 
@@ -200,7 +200,7 @@ describe( 'utils', () => {
200
200
  expect( getEmbedInfoByProvider( 'instagram' ) ).toEqual(
201
201
  expect.objectContaining( {
202
202
  icon: embedInstagramIcon,
203
- title: 'Instagram',
203
+ title: 'Instagram Embed',
204
204
  } )
205
205
  );
206
206
  } );