@wordpress/block-library 7.11.0 → 7.13.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 (817) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/build/archives/edit.js +7 -0
  3. package/build/archives/edit.js.map +1 -1
  4. package/build/archives/index.js +9 -1
  5. package/build/archives/index.js.map +1 -1
  6. package/build/audio/index.js +4 -0
  7. package/build/audio/index.js.map +1 -1
  8. package/build/block/edit.js +4 -2
  9. package/build/block/edit.js.map +1 -1
  10. package/build/block/edit.native.js +4 -2
  11. package/build/block/edit.native.js.map +1 -1
  12. package/build/button/deprecated.js +14 -5
  13. package/build/button/deprecated.js.map +1 -1
  14. package/build/button/index.js +1 -1
  15. package/build/calendar/edit.js +12 -5
  16. package/build/calendar/edit.js.map +1 -1
  17. package/build/categories/edit.js +3 -1
  18. package/build/categories/edit.js.map +1 -1
  19. package/build/categories/index.js +14 -1
  20. package/build/categories/index.js.map +1 -1
  21. package/build/code/index.js +4 -2
  22. package/build/code/index.js.map +1 -1
  23. package/build/column/index.js +13 -0
  24. package/build/column/index.js.map +1 -1
  25. package/build/columns/deprecated.js +16 -5
  26. package/build/columns/deprecated.js.map +1 -1
  27. package/build/columns/edit.js +6 -2
  28. package/build/columns/edit.js.map +1 -1
  29. package/build/columns/edit.native.js +8 -3
  30. package/build/columns/edit.native.js.map +1 -1
  31. package/build/columns/index.js +13 -0
  32. package/build/columns/index.js.map +1 -1
  33. package/build/comment-author-name/index.js +5 -1
  34. package/build/comment-author-name/index.js.map +1 -1
  35. package/build/comment-content/index.js +5 -1
  36. package/build/comment-content/index.js.map +1 -1
  37. package/build/comment-date/index.js +1 -0
  38. package/build/comment-date/index.js.map +1 -1
  39. package/build/comment-edit-link/index.js +5 -1
  40. package/build/comment-edit-link/index.js.map +1 -1
  41. package/build/comment-reply-link/index.js +5 -1
  42. package/build/comment-reply-link/index.js.map +1 -1
  43. package/build/comment-template/index.js +14 -1
  44. package/build/comment-template/index.js.map +1 -1
  45. package/build/comments/index.js +13 -0
  46. package/build/comments/index.js.map +1 -1
  47. package/build/comments-pagination/index.js +13 -0
  48. package/build/comments-pagination/index.js.map +1 -1
  49. package/build/comments-pagination-next/index.js +4 -2
  50. package/build/comments-pagination-next/index.js.map +1 -1
  51. package/build/comments-pagination-numbers/edit.js +5 -1
  52. package/build/comments-pagination-numbers/edit.js.map +1 -1
  53. package/build/comments-pagination-numbers/index.js +14 -1
  54. package/build/comments-pagination-numbers/index.js.map +1 -1
  55. package/build/comments-pagination-previous/index.js +4 -2
  56. package/build/comments-pagination-previous/index.js.map +1 -1
  57. package/build/comments-title/deprecated.js +4 -2
  58. package/build/comments-title/deprecated.js.map +1 -1
  59. package/build/comments-title/index.js +4 -2
  60. package/build/comments-title/index.js.map +1 -1
  61. package/build/cover/deprecated.js +20 -5
  62. package/build/cover/deprecated.js.map +1 -1
  63. package/build/cover/edit/resizable-cover.js +6 -0
  64. package/build/cover/edit/resizable-cover.js.map +1 -1
  65. package/build/cover/index.js +13 -0
  66. package/build/cover/index.js.map +1 -1
  67. package/build/cover/shared.js +1 -1
  68. package/build/cover/shared.js.map +1 -1
  69. package/build/embed/icons.js +1 -1
  70. package/build/embed/icons.js.map +1 -1
  71. package/build/gallery/deprecated.js +6 -1
  72. package/build/gallery/deprecated.js.map +1 -1
  73. package/build/gallery/edit.js +15 -2
  74. package/build/gallery/edit.js.map +1 -1
  75. package/build/gallery/index.js +5 -0
  76. package/build/gallery/index.js.map +1 -1
  77. package/build/gallery/transforms.js +20 -7
  78. package/build/gallery/transforms.js.map +1 -1
  79. package/build/gallery/utils.js +7 -6
  80. package/build/gallery/utils.js.map +1 -1
  81. package/build/group/deprecated.js +108 -12
  82. package/build/group/deprecated.js.map +1 -1
  83. package/build/group/edit.js +23 -1
  84. package/build/group/edit.js.map +1 -1
  85. package/build/group/index.js +10 -2
  86. package/build/group/index.js.map +1 -1
  87. package/build/group/transforms.js +5 -0
  88. package/build/group/transforms.js.map +1 -1
  89. package/build/group/variations.js +8 -8
  90. package/build/group/variations.js.map +1 -1
  91. package/build/heading/deprecated.js +5 -3
  92. package/build/heading/deprecated.js.map +1 -1
  93. package/build/heading/index.js +3 -1
  94. package/build/heading/index.js.map +1 -1
  95. package/build/heading/transforms.js +3 -1
  96. package/build/heading/transforms.js.map +1 -1
  97. package/build/home-link/edit.js +8 -4
  98. package/build/home-link/edit.js.map +1 -1
  99. package/build/image/edit.js +13 -1
  100. package/build/image/edit.js.map +1 -1
  101. package/build/image/index.js +13 -7
  102. package/build/image/index.js.map +1 -1
  103. package/build/index.native.js +23 -7
  104. package/build/index.native.js.map +1 -1
  105. package/build/list/index.js +10 -0
  106. package/build/list/index.js.map +1 -1
  107. package/build/list/v2/edit.js +16 -5
  108. package/build/list/v2/edit.js.map +1 -1
  109. package/build/list/v2/tag-name.js +31 -0
  110. package/build/list/v2/tag-name.js.map +1 -0
  111. package/build/list/v2/tag-name.native.js +32 -0
  112. package/build/list/v2/tag-name.native.js.map +1 -0
  113. package/build/list/v2/transforms.js +1 -11
  114. package/build/list/v2/transforms.js.map +1 -1
  115. package/build/list-item/edit.js +4 -1
  116. package/build/list-item/edit.js.map +1 -1
  117. package/build/list-item/edit.native.js +158 -0
  118. package/build/list-item/edit.native.js.map +1 -0
  119. package/build/list-item/hooks/index.js +8 -0
  120. package/build/list-item/hooks/index.js.map +1 -1
  121. package/build/list-item/hooks/use-copy.js +42 -0
  122. package/build/list-item/hooks/use-copy.js.map +1 -0
  123. package/build/list-item/icons.native.js +53 -0
  124. package/build/list-item/icons.native.js.map +1 -0
  125. package/build/list-item/list-style-type.native.js +139 -0
  126. package/build/list-item/list-style-type.native.js.map +1 -0
  127. package/build/list-item/utils.js +4 -0
  128. package/build/list-item/utils.js.map +1 -1
  129. package/build/media-text/deprecated.js +193 -67
  130. package/build/media-text/deprecated.js.map +1 -1
  131. package/build/media-text/edit.js +2 -1
  132. package/build/media-text/edit.js.map +1 -1
  133. package/build/media-text/index.js +17 -0
  134. package/build/media-text/index.js.map +1 -1
  135. package/build/media-text/media-container.js +1 -1
  136. package/build/media-text/media-container.js.map +1 -1
  137. package/build/navigation/deprecated.js +6 -1
  138. package/build/navigation/deprecated.js.map +1 -1
  139. package/build/navigation/edit/index.js +180 -154
  140. package/build/navigation/edit/index.js.map +1 -1
  141. package/build/navigation/edit/navigation-menu-selector.js +11 -14
  142. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  143. package/build/navigation/edit/placeholder/index.js +4 -2
  144. package/build/navigation/edit/placeholder/index.js.map +1 -1
  145. package/build/navigation/edit/responsive-wrapper.js +13 -3
  146. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  147. package/build/navigation/edit/unsaved-inner-blocks.js +2 -1
  148. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  149. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +4 -7
  150. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  151. package/build/navigation/edit/use-create-navigation-menu.js +5 -1
  152. package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
  153. package/build/navigation/edit/use-inner-blocks.js +43 -0
  154. package/build/navigation/edit/use-inner-blocks.js.map +1 -0
  155. package/build/navigation/edit/utils.js +28 -0
  156. package/build/navigation/edit/utils.js.map +1 -0
  157. package/build/navigation/index.js +1 -0
  158. package/build/navigation/index.js.map +1 -1
  159. package/build/navigation/menu-items-to-blocks.js +1 -7
  160. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  161. package/build/navigation/use-navigation-menu.js +15 -10
  162. package/build/navigation/use-navigation-menu.js.map +1 -1
  163. package/build/navigation-link/edit.js +6 -8
  164. package/build/navigation-link/edit.js.map +1 -1
  165. package/build/navigation-submenu/edit.js +4 -6
  166. package/build/navigation-submenu/edit.js.map +1 -1
  167. package/build/page-list/edit.js +7 -3
  168. package/build/page-list/edit.js.map +1 -1
  169. package/build/paragraph/deprecated.js +18 -10
  170. package/build/paragraph/deprecated.js.map +1 -1
  171. package/build/paragraph/edit.js +1 -0
  172. package/build/paragraph/edit.js.map +1 -1
  173. package/build/paragraph/index.js +7 -0
  174. package/build/paragraph/index.js.map +1 -1
  175. package/build/paragraph/transforms.js +7 -0
  176. package/build/paragraph/transforms.js.map +1 -1
  177. package/build/post-author/edit.js +5 -2
  178. package/build/post-author/edit.js.map +1 -1
  179. package/build/post-author/index.js +4 -2
  180. package/build/post-author/index.js.map +1 -1
  181. package/build/post-author-biography/edit.js +7 -1
  182. package/build/post-author-biography/edit.js.map +1 -1
  183. package/build/post-author-biography/index.js +1 -0
  184. package/build/post-author-biography/index.js.map +1 -1
  185. package/build/post-author-name/index.js +5 -1
  186. package/build/post-author-name/index.js.map +1 -1
  187. package/build/post-comments-count/edit.js +11 -1
  188. package/build/post-comments-count/edit.js.map +1 -1
  189. package/build/post-comments-count/index.js +4 -1
  190. package/build/post-comments-count/index.js.map +1 -1
  191. package/build/post-comments-link/index.js +4 -2
  192. package/build/post-comments-link/index.js.map +1 -1
  193. package/build/post-content/edit.js +4 -2
  194. package/build/post-content/edit.js.map +1 -1
  195. package/build/post-date/edit.js +9 -2
  196. package/build/post-date/edit.js.map +1 -1
  197. package/build/post-date/index.js +9 -0
  198. package/build/post-date/index.js.map +1 -1
  199. package/build/post-featured-image/edit.js +43 -14
  200. package/build/post-featured-image/edit.js.map +1 -1
  201. package/build/post-featured-image/index.js +21 -0
  202. package/build/post-featured-image/index.js.map +1 -1
  203. package/build/post-navigation-link/index.js +3 -2
  204. package/build/post-navigation-link/index.js.map +1 -1
  205. package/build/post-template/edit.js +8 -4
  206. package/build/post-template/edit.js.map +1 -1
  207. package/build/post-template/index.js +14 -1
  208. package/build/post-template/index.js.map +1 -1
  209. package/build/post-terms/index.js +5 -3
  210. package/build/post-terms/index.js.map +1 -1
  211. package/build/post-title/index.js +2 -1
  212. package/build/post-title/index.js.map +1 -1
  213. package/build/preformatted/index.js +4 -2
  214. package/build/preformatted/index.js.map +1 -1
  215. package/build/pullquote/deprecated.js +135 -25
  216. package/build/pullquote/deprecated.js.map +1 -1
  217. package/build/pullquote/edit.js +1 -1
  218. package/build/pullquote/edit.js.map +1 -1
  219. package/build/pullquote/edit.native.js +0 -1
  220. package/build/pullquote/edit.native.js.map +1 -1
  221. package/build/pullquote/index.js +13 -6
  222. package/build/pullquote/index.js.map +1 -1
  223. package/build/pullquote/save.js +2 -2
  224. package/build/pullquote/save.js.map +1 -1
  225. package/build/pullquote/transforms.js +14 -33
  226. package/build/pullquote/transforms.js.map +1 -1
  227. package/build/query/deprecated.js +10 -9
  228. package/build/query/deprecated.js.map +1 -1
  229. package/build/query/edit/index.js +19 -8
  230. package/build/query/edit/index.js.map +1 -1
  231. package/build/query/edit/inspector-controls/index.js +42 -9
  232. package/build/query/edit/inspector-controls/index.js.map +1 -1
  233. package/build/query/edit/inspector-controls/taxonomy-controls.js +22 -14
  234. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  235. package/build/query/edit/query-placeholder.js +6 -1
  236. package/build/query/edit/query-placeholder.js.map +1 -1
  237. package/build/query/utils.js +35 -9
  238. package/build/query/utils.js.map +1 -1
  239. package/build/query-no-results/edit.js +1 -1
  240. package/build/query-no-results/edit.js.map +1 -1
  241. package/build/query-title/edit.js +30 -8
  242. package/build/query-title/edit.js.map +1 -1
  243. package/build/query-title/index.js +11 -2
  244. package/build/query-title/index.js.map +1 -1
  245. package/build/query-title/variations.js +10 -0
  246. package/build/query-title/variations.js.map +1 -1
  247. package/build/quote/deprecated.js +13 -6
  248. package/build/quote/deprecated.js.map +1 -1
  249. package/build/quote/transforms.js +24 -39
  250. package/build/quote/transforms.js.map +1 -1
  251. package/build/separator/deprecated.js +3 -4
  252. package/build/separator/deprecated.js.map +1 -1
  253. package/build/separator/edit.js +1 -1
  254. package/build/separator/edit.js.map +1 -1
  255. package/build/separator/index.js +1 -0
  256. package/build/separator/index.js.map +1 -1
  257. package/build/social-link/icons/reddit.js +1 -1
  258. package/build/social-link/icons/reddit.js.map +1 -1
  259. package/build/social-links/edit.js +44 -9
  260. package/build/social-links/edit.js.map +1 -1
  261. package/build/social-links/index.js +9 -0
  262. package/build/social-links/index.js.map +1 -1
  263. package/build/spacer/index.js +7 -1
  264. package/build/spacer/index.js.map +1 -1
  265. package/build/table/index.js +4 -0
  266. package/build/table/index.js.map +1 -1
  267. package/build/table/state.js +9 -3
  268. package/build/table/state.js.map +1 -1
  269. package/build/table-of-contents/index.js +24 -1
  270. package/build/table-of-contents/index.js.map +1 -1
  271. package/build/tag-cloud/index.js +5 -1
  272. package/build/tag-cloud/index.js.map +1 -1
  273. package/build/template-part/edit/index.js +4 -2
  274. package/build/template-part/edit/index.js.map +1 -1
  275. package/build/template-part/index.js +2 -2
  276. package/build/template-part/index.js.map +1 -1
  277. package/build/term-description/index.js +4 -0
  278. package/build/term-description/index.js.map +1 -1
  279. package/build/text-columns/edit.js +3 -1
  280. package/build/text-columns/edit.js.map +1 -1
  281. package/build/text-columns/save.js +3 -1
  282. package/build/text-columns/save.js.map +1 -1
  283. package/build/verse/index.js +1 -0
  284. package/build/verse/index.js.map +1 -1
  285. package/build/video/index.js +4 -0
  286. package/build/video/index.js.map +1 -1
  287. package/build-module/archives/edit.js +7 -0
  288. package/build-module/archives/edit.js.map +1 -1
  289. package/build-module/archives/index.js +9 -1
  290. package/build-module/archives/index.js.map +1 -1
  291. package/build-module/audio/index.js +4 -0
  292. package/build-module/audio/index.js.map +1 -1
  293. package/build-module/block/edit.js +5 -3
  294. package/build-module/block/edit.js.map +1 -1
  295. package/build-module/block/edit.native.js +5 -3
  296. package/build-module/block/edit.native.js.map +1 -1
  297. package/build-module/button/deprecated.js +14 -4
  298. package/build-module/button/deprecated.js.map +1 -1
  299. package/build-module/button/index.js +1 -1
  300. package/build-module/calendar/edit.js +12 -4
  301. package/build-module/calendar/edit.js.map +1 -1
  302. package/build-module/categories/edit.js +4 -2
  303. package/build-module/categories/edit.js.map +1 -1
  304. package/build-module/categories/index.js +14 -1
  305. package/build-module/categories/index.js.map +1 -1
  306. package/build-module/code/index.js +4 -2
  307. package/build-module/code/index.js.map +1 -1
  308. package/build-module/column/index.js +13 -0
  309. package/build-module/column/index.js.map +1 -1
  310. package/build-module/columns/deprecated.js +16 -4
  311. package/build-module/columns/deprecated.js.map +1 -1
  312. package/build-module/columns/edit.js +7 -3
  313. package/build-module/columns/edit.js.map +1 -1
  314. package/build-module/columns/edit.native.js +9 -4
  315. package/build-module/columns/edit.native.js.map +1 -1
  316. package/build-module/columns/index.js +13 -0
  317. package/build-module/columns/index.js.map +1 -1
  318. package/build-module/comment-author-name/index.js +5 -1
  319. package/build-module/comment-author-name/index.js.map +1 -1
  320. package/build-module/comment-content/index.js +5 -1
  321. package/build-module/comment-content/index.js.map +1 -1
  322. package/build-module/comment-date/index.js +1 -0
  323. package/build-module/comment-date/index.js.map +1 -1
  324. package/build-module/comment-edit-link/index.js +5 -1
  325. package/build-module/comment-edit-link/index.js.map +1 -1
  326. package/build-module/comment-reply-link/index.js +5 -1
  327. package/build-module/comment-reply-link/index.js.map +1 -1
  328. package/build-module/comment-template/index.js +14 -1
  329. package/build-module/comment-template/index.js.map +1 -1
  330. package/build-module/comments/index.js +13 -0
  331. package/build-module/comments/index.js.map +1 -1
  332. package/build-module/comments-pagination/index.js +13 -0
  333. package/build-module/comments-pagination/index.js.map +1 -1
  334. package/build-module/comments-pagination-next/index.js +4 -2
  335. package/build-module/comments-pagination-next/index.js.map +1 -1
  336. package/build-module/comments-pagination-numbers/edit.js +5 -1
  337. package/build-module/comments-pagination-numbers/edit.js.map +1 -1
  338. package/build-module/comments-pagination-numbers/index.js +14 -1
  339. package/build-module/comments-pagination-numbers/index.js.map +1 -1
  340. package/build-module/comments-pagination-previous/index.js +4 -2
  341. package/build-module/comments-pagination-previous/index.js.map +1 -1
  342. package/build-module/comments-title/deprecated.js +4 -2
  343. package/build-module/comments-title/deprecated.js.map +1 -1
  344. package/build-module/comments-title/index.js +4 -2
  345. package/build-module/comments-title/index.js.map +1 -1
  346. package/build-module/cover/deprecated.js +20 -4
  347. package/build-module/cover/deprecated.js.map +1 -1
  348. package/build-module/cover/edit/resizable-cover.js +6 -0
  349. package/build-module/cover/edit/resizable-cover.js.map +1 -1
  350. package/build-module/cover/index.js +13 -0
  351. package/build-module/cover/index.js.map +1 -1
  352. package/build-module/cover/shared.js +1 -1
  353. package/build-module/cover/shared.js.map +1 -1
  354. package/build-module/embed/icons.js +1 -1
  355. package/build-module/embed/icons.js.map +1 -1
  356. package/build-module/gallery/deprecated.js +7 -2
  357. package/build-module/gallery/deprecated.js.map +1 -1
  358. package/build-module/gallery/edit.js +15 -2
  359. package/build-module/gallery/edit.js.map +1 -1
  360. package/build-module/gallery/index.js +5 -0
  361. package/build-module/gallery/index.js.map +1 -1
  362. package/build-module/gallery/transforms.js +20 -7
  363. package/build-module/gallery/transforms.js.map +1 -1
  364. package/build-module/gallery/utils.js +7 -6
  365. package/build-module/gallery/utils.js.map +1 -1
  366. package/build-module/group/deprecated.js +109 -12
  367. package/build-module/group/deprecated.js.map +1 -1
  368. package/build-module/group/edit.js +25 -2
  369. package/build-module/group/edit.js.map +1 -1
  370. package/build-module/group/index.js +10 -2
  371. package/build-module/group/index.js.map +1 -1
  372. package/build-module/group/transforms.js +5 -0
  373. package/build-module/group/transforms.js.map +1 -1
  374. package/build-module/group/variations.js +8 -8
  375. package/build-module/group/variations.js.map +1 -1
  376. package/build-module/heading/deprecated.js +5 -2
  377. package/build-module/heading/deprecated.js.map +1 -1
  378. package/build-module/heading/index.js +3 -1
  379. package/build-module/heading/index.js.map +1 -1
  380. package/build-module/heading/transforms.js +3 -1
  381. package/build-module/heading/transforms.js.map +1 -1
  382. package/build-module/home-link/edit.js +10 -6
  383. package/build-module/home-link/edit.js.map +1 -1
  384. package/build-module/image/edit.js +14 -2
  385. package/build-module/image/edit.js.map +1 -1
  386. package/build-module/image/index.js +13 -7
  387. package/build-module/image/index.js.map +1 -1
  388. package/build-module/index.native.js +22 -6
  389. package/build-module/index.native.js.map +1 -1
  390. package/build-module/list/index.js +5 -1
  391. package/build-module/list/index.js.map +1 -1
  392. package/build-module/list/v2/edit.js +15 -5
  393. package/build-module/list/v2/edit.js.map +1 -1
  394. package/build-module/list/v2/tag-name.js +21 -0
  395. package/build-module/list/v2/tag-name.js.map +1 -0
  396. package/build-module/list/v2/tag-name.native.js +21 -0
  397. package/build-module/list/v2/tag-name.native.js.map +1 -0
  398. package/build-module/list/v2/transforms.js +1 -10
  399. package/build-module/list/v2/transforms.js.map +1 -1
  400. package/build-module/list-item/edit.js +5 -5
  401. package/build-module/list-item/edit.js.map +1 -1
  402. package/build-module/list-item/edit.native.js +141 -0
  403. package/build-module/list-item/edit.native.js.map +1 -0
  404. package/build-module/list-item/hooks/index.js +1 -0
  405. package/build-module/list-item/hooks/index.js.map +1 -1
  406. package/build-module/list-item/hooks/use-copy.js +32 -0
  407. package/build-module/list-item/hooks/use-copy.js.map +1 -0
  408. package/build-module/list-item/icons.native.js +37 -0
  409. package/build-module/list-item/icons.native.js.map +1 -0
  410. package/build-module/list-item/list-style-type.native.js +126 -0
  411. package/build-module/list-item/list-style-type.native.js.map +1 -0
  412. package/build-module/list-item/utils.js +4 -0
  413. package/build-module/list-item/utils.js.map +1 -1
  414. package/build-module/media-text/deprecated.js +195 -67
  415. package/build-module/media-text/deprecated.js.map +1 -1
  416. package/build-module/media-text/edit.js +2 -1
  417. package/build-module/media-text/edit.js.map +1 -1
  418. package/build-module/media-text/index.js +17 -0
  419. package/build-module/media-text/index.js.map +1 -1
  420. package/build-module/media-text/media-container.js +1 -1
  421. package/build-module/media-text/media-container.js.map +1 -1
  422. package/build-module/navigation/deprecated.js +7 -2
  423. package/build-module/navigation/deprecated.js.map +1 -1
  424. package/build-module/navigation/edit/index.js +178 -154
  425. package/build-module/navigation/edit/index.js.map +1 -1
  426. package/build-module/navigation/edit/navigation-menu-selector.js +12 -15
  427. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  428. package/build-module/navigation/edit/placeholder/index.js +4 -2
  429. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  430. package/build-module/navigation/edit/responsive-wrapper.js +12 -3
  431. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  432. package/build-module/navigation/edit/unsaved-inner-blocks.js +2 -1
  433. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  434. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +4 -7
  435. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  436. package/build-module/navigation/edit/use-create-navigation-menu.js +5 -1
  437. package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
  438. package/build-module/navigation/edit/use-inner-blocks.js +33 -0
  439. package/build-module/navigation/edit/use-inner-blocks.js.map +1 -0
  440. package/build-module/navigation/edit/utils.js +21 -0
  441. package/build-module/navigation/edit/utils.js.map +1 -0
  442. package/build-module/navigation/index.js +1 -0
  443. package/build-module/navigation/index.js.map +1 -1
  444. package/build-module/navigation/menu-items-to-blocks.js +1 -6
  445. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  446. package/build-module/navigation/use-navigation-menu.js +15 -10
  447. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  448. package/build-module/navigation-link/edit.js +7 -9
  449. package/build-module/navigation-link/edit.js.map +1 -1
  450. package/build-module/navigation-submenu/edit.js +5 -7
  451. package/build-module/navigation-submenu/edit.js.map +1 -1
  452. package/build-module/page-list/edit.js +7 -2
  453. package/build-module/page-list/edit.js.map +1 -1
  454. package/build-module/paragraph/deprecated.js +18 -9
  455. package/build-module/paragraph/deprecated.js.map +1 -1
  456. package/build-module/paragraph/edit.js +1 -0
  457. package/build-module/paragraph/edit.js.map +1 -1
  458. package/build-module/paragraph/index.js +7 -0
  459. package/build-module/paragraph/index.js.map +1 -1
  460. package/build-module/paragraph/transforms.js +7 -0
  461. package/build-module/paragraph/transforms.js.map +1 -1
  462. package/build-module/post-author/edit.js +5 -2
  463. package/build-module/post-author/edit.js.map +1 -1
  464. package/build-module/post-author/index.js +4 -2
  465. package/build-module/post-author/index.js.map +1 -1
  466. package/build-module/post-author-biography/edit.js +6 -1
  467. package/build-module/post-author-biography/edit.js.map +1 -1
  468. package/build-module/post-author-biography/index.js +1 -0
  469. package/build-module/post-author-biography/index.js.map +1 -1
  470. package/build-module/post-author-name/index.js +5 -1
  471. package/build-module/post-author-name/index.js.map +1 -1
  472. package/build-module/post-comments-count/edit.js +10 -1
  473. package/build-module/post-comments-count/edit.js.map +1 -1
  474. package/build-module/post-comments-count/index.js +4 -1
  475. package/build-module/post-comments-count/index.js.map +1 -1
  476. package/build-module/post-comments-link/index.js +4 -2
  477. package/build-module/post-comments-link/index.js.map +1 -1
  478. package/build-module/post-content/edit.js +5 -3
  479. package/build-module/post-content/edit.js.map +1 -1
  480. package/build-module/post-date/edit.js +9 -2
  481. package/build-module/post-date/edit.js.map +1 -1
  482. package/build-module/post-date/index.js +9 -0
  483. package/build-module/post-date/index.js.map +1 -1
  484. package/build-module/post-featured-image/edit.js +45 -16
  485. package/build-module/post-featured-image/edit.js.map +1 -1
  486. package/build-module/post-featured-image/index.js +21 -0
  487. package/build-module/post-featured-image/index.js.map +1 -1
  488. package/build-module/post-navigation-link/index.js +3 -2
  489. package/build-module/post-navigation-link/index.js.map +1 -1
  490. package/build-module/post-template/edit.js +8 -4
  491. package/build-module/post-template/edit.js.map +1 -1
  492. package/build-module/post-template/index.js +14 -1
  493. package/build-module/post-template/index.js.map +1 -1
  494. package/build-module/post-terms/index.js +5 -3
  495. package/build-module/post-terms/index.js.map +1 -1
  496. package/build-module/post-title/index.js +2 -1
  497. package/build-module/post-title/index.js.map +1 -1
  498. package/build-module/preformatted/index.js +4 -2
  499. package/build-module/preformatted/index.js.map +1 -1
  500. package/build-module/pullquote/deprecated.js +134 -25
  501. package/build-module/pullquote/deprecated.js.map +1 -1
  502. package/build-module/pullquote/edit.js +1 -1
  503. package/build-module/pullquote/edit.js.map +1 -1
  504. package/build-module/pullquote/edit.native.js +0 -1
  505. package/build-module/pullquote/edit.native.js.map +1 -1
  506. package/build-module/pullquote/index.js +13 -6
  507. package/build-module/pullquote/index.js.map +1 -1
  508. package/build-module/pullquote/save.js +2 -2
  509. package/build-module/pullquote/save.js.map +1 -1
  510. package/build-module/pullquote/transforms.js +15 -34
  511. package/build-module/pullquote/transforms.js.map +1 -1
  512. package/build-module/query/deprecated.js +10 -8
  513. package/build-module/query/deprecated.js.map +1 -1
  514. package/build-module/query/edit/index.js +23 -12
  515. package/build-module/query/edit/index.js.map +1 -1
  516. package/build-module/query/edit/inspector-controls/index.js +42 -9
  517. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  518. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +17 -12
  519. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  520. package/build-module/query/edit/query-placeholder.js +6 -1
  521. package/build-module/query/edit/query-placeholder.js.map +1 -1
  522. package/build-module/query/utils.js +32 -7
  523. package/build-module/query/utils.js.map +1 -1
  524. package/build-module/query-no-results/edit.js +1 -1
  525. package/build-module/query-no-results/edit.js.map +1 -1
  526. package/build-module/query-title/edit.js +30 -9
  527. package/build-module/query-title/edit.js.map +1 -1
  528. package/build-module/query-title/index.js +11 -2
  529. package/build-module/query-title/index.js.map +1 -1
  530. package/build-module/query-title/variations.js +10 -0
  531. package/build-module/query-title/variations.js.map +1 -1
  532. package/build-module/quote/deprecated.js +13 -5
  533. package/build-module/quote/deprecated.js.map +1 -1
  534. package/build-module/quote/transforms.js +25 -40
  535. package/build-module/quote/transforms.js.map +1 -1
  536. package/build-module/separator/deprecated.js +3 -3
  537. package/build-module/separator/deprecated.js.map +1 -1
  538. package/build-module/separator/edit.js +1 -1
  539. package/build-module/separator/edit.js.map +1 -1
  540. package/build-module/separator/index.js +1 -0
  541. package/build-module/separator/index.js.map +1 -1
  542. package/build-module/social-link/icons/reddit.js +1 -1
  543. package/build-module/social-link/icons/reddit.js.map +1 -1
  544. package/build-module/social-links/edit.js +46 -12
  545. package/build-module/social-links/edit.js.map +1 -1
  546. package/build-module/social-links/index.js +9 -0
  547. package/build-module/social-links/index.js.map +1 -1
  548. package/build-module/spacer/index.js +7 -1
  549. package/build-module/spacer/index.js.map +1 -1
  550. package/build-module/table/index.js +4 -0
  551. package/build-module/table/index.js.map +1 -1
  552. package/build-module/table/state.js +10 -4
  553. package/build-module/table/state.js.map +1 -1
  554. package/build-module/table-of-contents/index.js +24 -1
  555. package/build-module/table-of-contents/index.js.map +1 -1
  556. package/build-module/tag-cloud/index.js +5 -1
  557. package/build-module/tag-cloud/index.js.map +1 -1
  558. package/build-module/template-part/edit/index.js +5 -3
  559. package/build-module/template-part/edit/index.js.map +1 -1
  560. package/build-module/template-part/index.js +2 -2
  561. package/build-module/template-part/index.js.map +1 -1
  562. package/build-module/term-description/index.js +4 -0
  563. package/build-module/term-description/index.js.map +1 -1
  564. package/build-module/text-columns/edit.js +4 -2
  565. package/build-module/text-columns/edit.js.map +1 -1
  566. package/build-module/text-columns/save.js +4 -2
  567. package/build-module/text-columns/save.js.map +1 -1
  568. package/build-module/verse/index.js +1 -0
  569. package/build-module/verse/index.js.map +1 -1
  570. package/build-module/video/index.js +4 -0
  571. package/build-module/video/index.js.map +1 -1
  572. package/build-style/audio/style-rtl.css +3 -0
  573. package/build-style/audio/style.css +3 -0
  574. package/build-style/button/style-rtl.css +6 -6
  575. package/build-style/button/style.css +6 -6
  576. package/build-style/editor-rtl.css +115 -122
  577. package/build-style/editor.css +115 -122
  578. package/build-style/group/editor-rtl.css +27 -8
  579. package/build-style/group/editor.css +27 -8
  580. package/build-style/image/editor-rtl.css +21 -2
  581. package/build-style/image/editor.css +21 -2
  582. package/build-style/latest-posts/editor-rtl.css +3 -0
  583. package/build-style/latest-posts/editor.css +3 -0
  584. package/build-style/media-text/style-rtl.css +1 -0
  585. package/build-style/media-text/style.css +1 -0
  586. package/build-style/navigation/editor-rtl.css +8 -4
  587. package/build-style/navigation/editor.css +8 -4
  588. package/build-style/navigation/style-rtl.css +17 -19
  589. package/build-style/navigation/style.css +17 -19
  590. package/build-style/paragraph/editor-rtl.css +1 -1
  591. package/build-style/paragraph/editor.css +1 -1
  592. package/build-style/post-date/style-rtl.css +79 -0
  593. package/build-style/post-date/style.css +79 -0
  594. package/build-style/post-featured-image/editor-rtl.css +45 -43
  595. package/build-style/post-featured-image/editor.css +45 -43
  596. package/build-style/post-featured-image/style-rtl.css +1 -0
  597. package/build-style/post-featured-image/style.css +1 -0
  598. package/build-style/post-title/style-rtl.css +1 -0
  599. package/build-style/post-title/style.css +1 -0
  600. package/build-style/pullquote/editor-rtl.css +0 -12
  601. package/build-style/pullquote/editor.css +0 -12
  602. package/build-style/pullquote/style-rtl.css +1 -8
  603. package/build-style/pullquote/style.css +1 -8
  604. package/build-style/query/editor-rtl.css +7 -0
  605. package/build-style/query/editor.css +7 -0
  606. package/build-style/query-pagination/style-rtl.css +6 -0
  607. package/build-style/query-pagination/style.css +6 -0
  608. package/build-style/query-title/style-rtl.css +79 -0
  609. package/build-style/query-title/style.css +79 -0
  610. package/build-style/search/style-rtl.css +2 -0
  611. package/build-style/search/style.css +2 -0
  612. package/build-style/site-logo/editor-rtl.css +3 -52
  613. package/build-style/site-logo/editor.css +3 -52
  614. package/build-style/social-links/style-rtl.css +2 -2
  615. package/build-style/social-links/style.css +2 -2
  616. package/build-style/style-rtl.css +52 -35
  617. package/build-style/style.css +52 -35
  618. package/build-style/tag-cloud/style-rtl.css +1 -0
  619. package/build-style/tag-cloud/style.css +1 -0
  620. package/build-style/video/style-rtl.css +3 -0
  621. package/build-style/video/style.css +3 -0
  622. package/package.json +30 -30
  623. package/src/archives/block.json +9 -1
  624. package/src/archives/edit.js +12 -1
  625. package/src/archives/index.php +5 -3
  626. package/src/audio/block.json +4 -0
  627. package/src/audio/style.scss +2 -0
  628. package/src/audio/test/__snapshots__/edit.native.js.snap +16 -2
  629. package/src/block/edit.js +4 -4
  630. package/src/block/edit.native.js +4 -4
  631. package/src/button/block.json +1 -1
  632. package/src/button/deprecated.js +21 -22
  633. package/src/button/style.scss +6 -6
  634. package/src/calendar/edit.js +11 -4
  635. package/src/calendar/index.php +2 -2
  636. package/src/categories/block.json +14 -1
  637. package/src/categories/edit.js +2 -2
  638. package/src/code/block.json +4 -2
  639. package/src/column/block.json +13 -0
  640. package/src/columns/block.json +13 -0
  641. package/src/columns/deprecated.js +10 -4
  642. package/src/columns/edit.js +7 -3
  643. package/src/columns/edit.native.js +10 -4
  644. package/src/comment-author-name/block.json +5 -1
  645. package/src/comment-content/block.json +5 -1
  646. package/src/comment-date/block.json +1 -0
  647. package/src/comment-edit-link/block.json +5 -1
  648. package/src/comment-reply-link/block.json +5 -1
  649. package/src/comment-template/block.json +14 -1
  650. package/src/comments/block.json +13 -0
  651. package/src/comments/index.php +6 -5
  652. package/src/comments-pagination/block.json +13 -0
  653. package/src/comments-pagination-next/block.json +4 -2
  654. package/src/comments-pagination-numbers/block.json +14 -1
  655. package/src/comments-pagination-numbers/edit.js +12 -3
  656. package/src/comments-pagination-previous/block.json +4 -2
  657. package/src/comments-title/block.json +4 -2
  658. package/src/cover/block.json +13 -0
  659. package/src/cover/deprecated.js +11 -4
  660. package/src/cover/edit/resizable-cover.js +6 -0
  661. package/src/cover/index.php +2 -2
  662. package/src/cover/shared.js +2 -1
  663. package/src/embed/icons.js +1 -1
  664. package/src/file/test/__snapshots__/edit.native.js.snap +32 -4
  665. package/src/gallery/block.json +5 -0
  666. package/src/gallery/deprecated.js +4 -2
  667. package/src/gallery/edit.js +22 -2
  668. package/src/gallery/transforms.js +18 -5
  669. package/src/gallery/utils.js +11 -7
  670. package/src/group/block.json +10 -2
  671. package/src/group/deprecated.js +89 -2
  672. package/src/group/edit.js +15 -2
  673. package/src/group/editor.scss +28 -3
  674. package/src/group/transforms.js +7 -0
  675. package/src/group/variations.js +4 -3
  676. package/src/heading/block.json +3 -1
  677. package/src/heading/deprecated.js +4 -2
  678. package/src/home-link/edit.js +19 -20
  679. package/src/home-link/index.php +8 -17
  680. package/src/image/block.json +13 -7
  681. package/src/image/edit.js +19 -1
  682. package/src/image/editor.scss +39 -3
  683. package/src/image/index.php +1 -1
  684. package/src/image/test/edit.native.js +6 -10
  685. package/src/index.native.js +30 -12
  686. package/src/latest-posts/editor.scss +5 -0
  687. package/src/list/block.json +4 -0
  688. package/src/list/index.js +1 -1
  689. package/src/list/test/__snapshots__/edit.native.js.snap +133 -0
  690. package/src/list/test/edit.native.js +511 -7
  691. package/src/list/v2/edit.js +12 -4
  692. package/src/list/v2/tag-name.js +13 -0
  693. package/src/list/v2/tag-name.native.js +12 -0
  694. package/src/list/v2/transforms.js +1 -9
  695. package/src/list-item/edit.js +3 -2
  696. package/src/list-item/edit.native.js +148 -0
  697. package/src/list-item/hooks/index.js +1 -0
  698. package/src/list-item/hooks/use-copy.js +36 -0
  699. package/src/list-item/icons.native.js +34 -0
  700. package/src/list-item/list-style-type.native.js +146 -0
  701. package/src/list-item/style.native.scss +49 -0
  702. package/src/media-text/block.json +17 -0
  703. package/src/media-text/deprecated.js +564 -417
  704. package/src/media-text/edit.js +1 -0
  705. package/src/media-text/media-container.js +3 -1
  706. package/src/media-text/style.scss +2 -0
  707. package/src/media-text/test/media-container.js +24 -0
  708. package/src/navigation/block.json +1 -0
  709. package/src/navigation/deprecated.js +4 -2
  710. package/src/navigation/edit/index.js +234 -237
  711. package/src/navigation/edit/navigation-menu-selector.js +12 -26
  712. package/src/navigation/edit/placeholder/index.js +4 -2
  713. package/src/navigation/edit/responsive-wrapper.js +24 -3
  714. package/src/navigation/edit/unsaved-inner-blocks.js +3 -1
  715. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +31 -37
  716. package/src/navigation/edit/use-create-navigation-menu.js +4 -0
  717. package/src/navigation/edit/use-inner-blocks.js +39 -0
  718. package/src/navigation/edit/utils.js +30 -0
  719. package/src/navigation/editor.scss +3 -2
  720. package/src/navigation/index.php +17 -16
  721. package/src/navigation/menu-items-to-blocks.js +3 -6
  722. package/src/navigation/style.scss +13 -22
  723. package/src/navigation/test/use-navigation-menu.js +18 -1
  724. package/src/navigation/use-navigation-menu.js +20 -13
  725. package/src/navigation-link/edit.js +9 -13
  726. package/src/navigation-link/index.php +1 -1
  727. package/src/navigation-submenu/edit.js +9 -13
  728. package/src/navigation-submenu/index.php +1 -1
  729. package/src/page-list/edit.js +6 -2
  730. package/src/page-list/index.php +4 -4
  731. package/src/paragraph/block.json +7 -0
  732. package/src/paragraph/deprecated.js +33 -35
  733. package/src/paragraph/edit.js +1 -0
  734. package/src/paragraph/editor.scss +5 -3
  735. package/src/post-author/block.json +4 -2
  736. package/src/post-author/edit.js +6 -3
  737. package/src/post-author-biography/block.json +1 -0
  738. package/src/post-author-biography/edit.js +4 -1
  739. package/src/post-author-name/block.json +5 -1
  740. package/src/post-comments-count/block.json +4 -1
  741. package/src/post-comments-count/edit.js +10 -2
  742. package/src/post-comments-link/block.json +4 -2
  743. package/src/post-content/edit.js +4 -4
  744. package/src/post-date/block.json +9 -0
  745. package/src/post-date/edit.js +12 -2
  746. package/src/post-date/index.php +10 -2
  747. package/src/post-date/style.scss +4 -0
  748. package/src/post-featured-image/block.json +21 -0
  749. package/src/post-featured-image/edit.js +66 -14
  750. package/src/post-featured-image/editor.scss +44 -53
  751. package/src/post-featured-image/index.php +64 -5
  752. package/src/post-featured-image/style.scss +1 -0
  753. package/src/post-navigation-link/block.json +3 -2
  754. package/src/post-template/block.json +15 -1
  755. package/src/post-template/edit.js +6 -1
  756. package/src/post-template/index.php +7 -4
  757. package/src/post-terms/block.json +5 -3
  758. package/src/post-title/block.json +2 -1
  759. package/src/post-title/index.php +2 -1
  760. package/src/post-title/style.scss +2 -0
  761. package/src/preformatted/block.json +4 -2
  762. package/src/preformatted/test/__snapshots__/edit.native.js.snap +16 -2
  763. package/src/pullquote/block.json +11 -4
  764. package/src/pullquote/deprecated.js +490 -412
  765. package/src/pullquote/edit.js +1 -1
  766. package/src/pullquote/edit.native.js +0 -1
  767. package/src/pullquote/editor.scss +0 -16
  768. package/src/pullquote/index.js +1 -3
  769. package/src/pullquote/save.js +1 -1
  770. package/src/pullquote/style.scss +0 -11
  771. package/src/pullquote/transforms.js +17 -33
  772. package/src/query/deprecated.js +4 -9
  773. package/src/query/edit/index.js +28 -15
  774. package/src/query/edit/inspector-controls/index.js +129 -65
  775. package/src/query/edit/inspector-controls/taxonomy-controls.js +18 -11
  776. package/src/query/edit/query-placeholder.js +17 -2
  777. package/src/query/editor.scss +9 -0
  778. package/src/query/utils.js +29 -7
  779. package/src/query-no-results/edit.js +1 -1
  780. package/src/query-pagination/style.scss +14 -0
  781. package/src/query-title/block.json +11 -2
  782. package/src/query-title/edit.js +51 -7
  783. package/src/query-title/index.php +28 -2
  784. package/src/query-title/style.scss +4 -0
  785. package/src/query-title/variations.js +13 -0
  786. package/src/quote/deprecated.js +6 -5
  787. package/src/quote/transforms.js +6 -24
  788. package/src/search/index.php +1 -1
  789. package/src/search/style.scss +2 -0
  790. package/src/search/test/__snapshots__/edit.native.js.snap +56 -7
  791. package/src/separator/block.json +1 -0
  792. package/src/separator/deprecated.js +2 -3
  793. package/src/separator/edit.js +1 -1
  794. package/src/separator/test/edit.js +5 -3
  795. package/src/site-logo/editor.scss +8 -66
  796. package/src/site-title/index.php +8 -9
  797. package/src/social-link/icons/reddit.js +1 -1
  798. package/src/social-link/index.php +2 -2
  799. package/src/social-link/socials-with-bg.scss +1 -1
  800. package/src/social-link/socials-without-bg.scss +1 -1
  801. package/src/social-links/block.json +9 -0
  802. package/src/social-links/edit.js +48 -19
  803. package/src/spacer/block.json +7 -1
  804. package/src/style.scss +2 -0
  805. package/src/table/block.json +4 -0
  806. package/src/table/state.js +21 -19
  807. package/src/table-of-contents/block.json +24 -1
  808. package/src/tag-cloud/block.json +5 -1
  809. package/src/tag-cloud/style.scss +1 -0
  810. package/src/template-part/edit/index.js +4 -4
  811. package/src/template-part/index.js +3 -2
  812. package/src/term-description/block.json +4 -0
  813. package/src/text-columns/edit.js +2 -2
  814. package/src/text-columns/save.js +2 -2
  815. package/src/verse/block.json +1 -0
  816. package/src/video/block.json +4 -0
  817. package/src/video/style.scss +2 -0
@@ -1,3 +1,8 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import classnames from 'classnames';
5
+
1
6
  /**
2
7
  * WordPress dependencies
3
8
  */
@@ -9,6 +14,7 @@ import {
9
14
  PanelBody,
10
15
  Placeholder,
11
16
  Button,
17
+ TextControl,
12
18
  } from '@wordpress/components';
13
19
  import {
14
20
  InspectorControls,
@@ -17,6 +23,7 @@ import {
17
23
  MediaReplaceFlow,
18
24
  useBlockProps,
19
25
  store as blockEditorStore,
26
+ __experimentalUseBorderProps as useBorderProps,
20
27
  } from '@wordpress/block-editor';
21
28
  import { __, sprintf } from '@wordpress/i18n';
22
29
  import { upload } from '@wordpress/icons';
@@ -29,17 +36,6 @@ import DimensionControls from './dimension-controls';
29
36
 
30
37
  const ALLOWED_MEDIA_TYPES = [ 'image' ];
31
38
 
32
- const placeholder = ( content ) => {
33
- return (
34
- <Placeholder
35
- className="block-editor-media-placeholder"
36
- withIllustration={ true }
37
- >
38
- { content }
39
- </Placeholder>
40
- );
41
- };
42
-
43
39
  function getMediaSourceUrlBySizeSlug( media, slug ) {
44
40
  return (
45
41
  media?.media_details?.sizes?.[ slug ]?.source_url || media?.source_url
@@ -53,7 +49,8 @@ function PostFeaturedImageDisplay( {
53
49
  context: { postId, postType: postTypeSlug, queryId },
54
50
  } ) {
55
51
  const isDescendentOfQueryLoop = Number.isFinite( queryId );
56
- const { isLink, height, width, scale, sizeSlug } = attributes;
52
+ const { isLink, height, width, scale, sizeSlug, rel, linkTarget } =
53
+ attributes;
57
54
  const [ featuredImage, setFeaturedImage ] = useEntityProp(
58
55
  'postType',
59
56
  postTypeSlug,
@@ -93,6 +90,22 @@ function PostFeaturedImageDisplay( {
93
90
  const blockProps = useBlockProps( {
94
91
  style: { width, height },
95
92
  } );
93
+ const borderProps = useBorderProps( attributes );
94
+
95
+ const placeholder = ( content ) => {
96
+ return (
97
+ <Placeholder
98
+ className={ classnames(
99
+ 'block-editor-media-placeholder',
100
+ borderProps.className
101
+ ) }
102
+ withIllustration={ true }
103
+ style={ borderProps.style }
104
+ >
105
+ { content }
106
+ </Placeholder>
107
+ );
108
+ };
96
109
 
97
110
  const onSelectImage = ( value ) => {
98
111
  if ( value?.id ) {
@@ -128,6 +141,26 @@ function PostFeaturedImageDisplay( {
128
141
  onChange={ () => setAttributes( { isLink: ! isLink } ) }
129
142
  checked={ isLink }
130
143
  />
144
+ { isLink && (
145
+ <>
146
+ <ToggleControl
147
+ label={ __( 'Open in new tab' ) }
148
+ onChange={ ( value ) =>
149
+ setAttributes( {
150
+ linkTarget: value ? '_blank' : '_self',
151
+ } )
152
+ }
153
+ checked={ linkTarget === '_blank' }
154
+ />
155
+ <TextControl
156
+ label={ __( 'Link rel' ) }
157
+ value={ rel }
158
+ onChange={ ( newRel ) =>
159
+ setAttributes( { rel: newRel } )
160
+ }
161
+ />
162
+ </>
163
+ ) }
131
164
  </PanelBody>
132
165
  </InspectorControls>
133
166
  </>
@@ -143,6 +176,11 @@ function PostFeaturedImageDisplay( {
143
176
  }
144
177
 
145
178
  const label = __( 'Add a featured image' );
179
+ const imageStyles = {
180
+ ...borderProps.style,
181
+ height,
182
+ objectFit: height && scale,
183
+ };
146
184
 
147
185
  if ( ! featuredImage ) {
148
186
  image = (
@@ -174,6 +212,7 @@ function PostFeaturedImageDisplay( {
174
212
  placeholder()
175
213
  ) : (
176
214
  <img
215
+ className={ borderProps.className }
177
216
  src={ mediaUrl }
178
217
  alt={
179
218
  media.alt_text
@@ -184,7 +223,7 @@ function PostFeaturedImageDisplay( {
184
223
  )
185
224
  : __( 'Featured image' )
186
225
  }
187
- style={ { height, objectFit: height && scale } }
226
+ style={ imageStyles }
188
227
  />
189
228
  );
190
229
  }
@@ -215,8 +254,21 @@ function PostFeaturedImageDisplay( {
215
254
 
216
255
  export default function PostFeaturedImageEdit( props ) {
217
256
  const blockProps = useBlockProps();
257
+ const borderProps = useBorderProps( props.attributes );
258
+
218
259
  if ( ! props.context?.postId ) {
219
- return <div { ...blockProps }>{ placeholder() }</div>;
260
+ return (
261
+ <div { ...blockProps }>
262
+ <Placeholder
263
+ className={ classnames(
264
+ 'block-editor-media-placeholder',
265
+ borderProps.className
266
+ ) }
267
+ withIllustration={ true }
268
+ style={ borderProps.style }
269
+ />
270
+ </div>
271
+ );
220
272
  }
221
273
  return <PostFeaturedImageDisplay { ...props } />;
222
274
  }
@@ -1,19 +1,11 @@
1
- // Give the featured image placeholder the appearance of a literal image placeholder.
2
- // @todo: this CSS is similar to that of the Site Logo. That makes it an opportunity
3
- // to create a new component for placeholders meant to inherit some theme styles.
1
+ // Provide special styling for the placeholder.
2
+ // @todo: this particular minimal style of placeholder could be componentized further.
4
3
  .wp-block-post-featured-image.wp-block-post-featured-image {
5
- // Inherit border radius from style variations.
6
- .components-placeholder,
7
- .components-resizable-box__container {
8
- border-radius: inherit;
9
- }
10
-
11
4
  // Style the placeholder.
12
5
  .wp-block-post-featured-image__placeholder,
13
6
  .components-placeholder {
14
7
  justify-content: center;
15
8
  align-items: center;
16
- box-shadow: none;
17
9
  padding: 0;
18
10
 
19
11
  // Hide the upload button, as it's also available in the media library.
@@ -21,32 +13,8 @@
21
13
  display: none;
22
14
  }
23
15
 
24
- // Position the spinner.
25
- .components-placeholder__preview {
26
- position: absolute;
27
- top: $grid-unit-05;
28
- right: $grid-unit-05;
29
- bottom: $grid-unit-05;
30
- left: $grid-unit-05;
31
- background: rgba($white, 0.8);
32
- display: flex;
33
- align-items: center;
34
- justify-content: center;
35
- }
36
-
37
- // Draw the dashed outline.
38
- // By setting the dashed border to currentColor, we ensure it's visible
39
- // against any background color.
40
- color: currentColor;
41
- background: transparent;
42
-
43
16
  // Style the upload button.
44
- .components-placeholder__fieldset {
45
- width: auto;
46
- }
47
-
48
17
  .components-button.components-button {
49
- color: inherit;
50
18
  padding: 0;
51
19
  display: flex;
52
20
  justify-content: center;
@@ -55,20 +23,53 @@
55
23
  height: $grid-unit-60;
56
24
  border-radius: 50%;
57
25
  position: relative;
58
- visibility: hidden;
59
-
60
- // Animation.
61
- background: transparent;
62
- transition: all 0.1s linear;
63
- @include reduce-motion("transition");
64
- }
65
-
66
- .components-button.components-button > svg {
26
+ background: var(--wp-admin-theme-color);
27
+ border-color: var(--wp-admin-theme-color);
28
+ border-style: solid;
67
29
  color: $white;
30
+
31
+ > svg {
32
+ color: inherit;
33
+ }
68
34
  }
69
35
 
70
36
  // Show default placeholder height when not resized.
71
37
  min-height: 200px;
38
+
39
+ // The following override the default placeholder styles that remove
40
+ // its border so that a user selection for border color or width displays
41
+ // a visual border.
42
+ &:where(.has-border-color) {
43
+ border-style: solid;
44
+ }
45
+ &:where([style*="border-top-color"]) {
46
+ border-top-style: solid;
47
+ }
48
+ &:where([style*="border-right-color"]) {
49
+ border-right-style: solid;
50
+ }
51
+ &:where([style*="border-bottom-color"]) {
52
+ border-bottom-style: solid;
53
+ }
54
+ &:where([style*="border-left-color"]) {
55
+ border-left-style: solid;
56
+ }
57
+
58
+ &:where([style*="border-width"]) {
59
+ border-style: solid;
60
+ }
61
+ &:where([style*="border-top-width"]) {
62
+ border-top-style: solid;
63
+ }
64
+ &:where([style*="border-right-width"]) {
65
+ border-right-style: solid;
66
+ }
67
+ &:where([style*="border-bottom-width"]) {
68
+ border-bottom-style: solid;
69
+ }
70
+ &:where([style*="border-left-width"]) {
71
+ border-left-style: solid;
72
+ }
72
73
  }
73
74
 
74
75
  // Provide a minimum size for the placeholder when resized.
@@ -80,16 +81,6 @@
80
81
  height: 100%;
81
82
  width: 100%;
82
83
  }
83
-
84
- // Show upload button on block selection.
85
- &.is-selected .components-button.components-button {
86
- background: var(--wp-admin-theme-color);
87
- border-color: var(--wp-admin-theme-color);
88
- border-style: solid;
89
- color: $white;
90
- opacity: 1;
91
- visibility: visible;
92
- }
93
84
  }
94
85
 
95
86
  div[data-type="core/post-featured-image"] {
@@ -19,17 +19,24 @@ function render_block_core_post_featured_image( $attributes, $content, $block )
19
19
  }
20
20
  $post_ID = $block->context['postId'];
21
21
 
22
- $is_link = isset( $attributes['isLink'] ) && $attributes['isLink'];
23
- $size_slug = isset( $attributes['sizeSlug'] ) ? $attributes['sizeSlug'] : 'post-thumbnail';
24
- $post_title = trim( strip_tags( get_the_title( $post_ID ) ) );
25
- $attr = $is_link ? array( 'alt' => $post_title ) : array();
22
+ $is_link = isset( $attributes['isLink'] ) && $attributes['isLink'];
23
+ $size_slug = isset( $attributes['sizeSlug'] ) ? $attributes['sizeSlug'] : 'post-thumbnail';
24
+ $post_title = trim( strip_tags( get_the_title( $post_ID ) ) );
25
+ $attr = get_block_core_post_featured_image_border_attributes( $attributes );
26
+
27
+ if ( $is_link ) {
28
+ $attr['alt'] = $post_title;
29
+ }
30
+
26
31
  $featured_image = get_the_post_thumbnail( $post_ID, $size_slug, $attr );
27
32
  if ( ! $featured_image ) {
28
33
  return '';
29
34
  }
30
35
  $wrapper_attributes = get_block_wrapper_attributes();
31
36
  if ( $is_link ) {
32
- $featured_image = sprintf( '<a href="%1s">%2s</a>', get_the_permalink( $post_ID ), $featured_image );
37
+ $link_target = $attributes['linkTarget'];
38
+ $rel = ! empty( $attributes['rel'] ) ? 'rel="' . esc_attr( $attributes['rel'] ) . '"' : '';
39
+ $featured_image = sprintf( '<a href="%1$s" target="%2$s" %3$s>%4$s</a>', get_the_permalink( $post_ID ), esc_attr( $link_target ), $rel, $featured_image );
33
40
  }
34
41
 
35
42
  $has_width = ! empty( $attributes['width'] );
@@ -53,6 +60,58 @@ function render_block_core_post_featured_image( $attributes, $content, $block )
53
60
  return "<figure $wrapper_attributes>$featured_image</figure>";
54
61
  }
55
62
 
63
+ /**
64
+ * Generates class names and styles to apply the border support styles for
65
+ * the Post Featured Image block.
66
+ *
67
+ * @param array $attributes The block attributes.
68
+ * @return array The border-related classnames and styles for the block.
69
+ */
70
+ function get_block_core_post_featured_image_border_attributes( $attributes ) {
71
+ $border_styles = array();
72
+ $sides = array( 'top', 'right', 'bottom', 'left' );
73
+
74
+ // Border radius.
75
+ if ( isset( $attributes['style']['border']['radius'] ) ) {
76
+ $border_styles['radius'] = $attributes['style']['border']['radius'];
77
+ }
78
+
79
+ // Border style.
80
+ if ( isset( $attributes['style']['border']['style'] ) ) {
81
+ $border_styles['style'] = $attributes['style']['border']['style'];
82
+ }
83
+
84
+ // Border width.
85
+ if ( isset( $attributes['style']['border']['width'] ) ) {
86
+ $border_styles['width'] = $attributes['style']['border']['width'];
87
+ }
88
+
89
+ // Border color.
90
+ $preset_color = array_key_exists( 'borderColor', $attributes ) ? "var:preset|color|{$attributes['borderColor']}" : null;
91
+ $custom_color = _wp_array_get( $attributes, array( 'style', 'border', 'color' ), null );
92
+ $border_styles['color'] = $preset_color ? $preset_color : $custom_color;
93
+
94
+ // Individual border styles e.g. top, left etc.
95
+ foreach ( $sides as $side ) {
96
+ $border = _wp_array_get( $attributes, array( 'style', 'border', $side ), null );
97
+ $border_styles[ $side ] = array(
98
+ 'color' => isset( $border['color'] ) ? $border['color'] : null,
99
+ 'style' => isset( $border['style'] ) ? $border['style'] : null,
100
+ 'width' => isset( $border['width'] ) ? $border['width'] : null,
101
+ );
102
+ }
103
+
104
+ $styles = gutenberg_style_engine_get_styles( array( 'border' => $border_styles ) );
105
+ $attributes = array();
106
+ if ( ! empty( $styles['classnames'] ) ) {
107
+ $attributes['class'] = $styles['classnames'];
108
+ }
109
+ if ( ! empty( $styles['css'] ) ) {
110
+ $attributes['style'] = $styles['css'];
111
+ }
112
+ return $attributes;
113
+ }
114
+
56
115
  /**
57
116
  * Registers the `core/post-featured-image` block on the server.
58
117
  */
@@ -9,6 +9,7 @@
9
9
  width: 100%;
10
10
  height: auto;
11
11
  vertical-align: bottom;
12
+ box-sizing: border-box;
12
13
  }
13
14
 
14
15
  &.alignwide img,
@@ -36,10 +36,11 @@
36
36
  "fontSize": true,
37
37
  "lineHeight": true,
38
38
  "__experimentalFontFamily": true,
39
- "__experimentalFontStyle": true,
40
39
  "__experimentalFontWeight": true,
41
- "__experimentalLetterSpacing": true,
40
+ "__experimentalFontStyle": true,
42
41
  "__experimentalTextTransform": true,
42
+ "__experimentalTextDecoration": true,
43
+ "__experimentalLetterSpacing": true,
43
44
  "__experimentalDefaultControls": {
44
45
  "fontSize": true
45
46
  }
@@ -12,7 +12,8 @@
12
12
  "query",
13
13
  "queryContext",
14
14
  "displayLayout",
15
- "templateSlug"
15
+ "templateSlug",
16
+ "previewPostType"
16
17
  ],
17
18
  "supports": {
18
19
  "reusable": false,
@@ -20,6 +21,19 @@
20
21
  "align": true,
21
22
  "__experimentalLayout": {
22
23
  "allowEditing": false
24
+ },
25
+ "typography": {
26
+ "fontSize": true,
27
+ "lineHeight": true,
28
+ "__experimentalFontFamily": true,
29
+ "__experimentalFontWeight": true,
30
+ "__experimentalFontStyle": true,
31
+ "__experimentalTextTransform": true,
32
+ "__experimentalTextDecoration": true,
33
+ "__experimentalLetterSpacing": true,
34
+ "__experimentalDefaultControls": {
35
+ "fontSize": true
36
+ }
23
37
  }
24
38
  },
25
39
  "style": "wp-block-post-template",
@@ -89,6 +89,7 @@ export default function PostTemplateEdit( {
89
89
  queryContext = [ { page: 1 } ],
90
90
  templateSlug,
91
91
  displayLayout: { type: layoutType = 'flex', columns = 1 } = {},
92
+ previewPostType,
92
93
  },
93
94
  } ) {
94
95
  const [ { page } ] = queryContext;
@@ -156,8 +157,11 @@ export default function PostTemplateEdit( {
156
157
  postType = query.postType;
157
158
  }
158
159
  }
160
+ // When we preview Query Loop blocks we should prefer the current
161
+ // block's postType, which is passed through block context.
162
+ const usedPostType = previewPostType || postType;
159
163
  return {
160
- posts: getEntityRecords( 'postType', postType, query ),
164
+ posts: getEntityRecords( 'postType', usedPostType, query ),
161
165
  blocks: getBlocks( clientId ),
162
166
  };
163
167
  },
@@ -177,6 +181,7 @@ export default function PostTemplateEdit( {
177
181
  templateSlug,
178
182
  taxQuery,
179
183
  parents,
184
+ previewPostType,
180
185
  ]
181
186
  );
182
187
  const blockContexts = useMemo(
@@ -48,7 +48,7 @@ function render_block_core_post_template( $attributes, $content, $block ) {
48
48
  $use_global_query = ( isset( $block->context['query']['inherit'] ) && $block->context['query']['inherit'] );
49
49
  if ( $use_global_query ) {
50
50
  global $wp_query;
51
- $query = $wp_query;
51
+ $query = clone $wp_query;
52
52
  } else {
53
53
  $query_args = build_query_vars_from_query_block( $block, $page );
54
54
  $query = new WP_Query( $query_args );
@@ -99,9 +99,12 @@ function render_block_core_post_template( $attributes, $content, $block ) {
99
99
  $content .= '<li class="' . esc_attr( $post_classes ) . '">' . $block_content . '</li>';
100
100
  }
101
101
 
102
- if ( ! $use_global_query ) {
103
- wp_reset_postdata();
104
- }
102
+ /*
103
+ * Use this function to restore the context of the template tags
104
+ * from a secondary query loop back to the main query loop.
105
+ * Since we use two custom loops, it's safest to always restore.
106
+ */
107
+ wp_reset_postdata();
105
108
 
106
109
  return sprintf(
107
110
  '<ul %1$s>%2$s</ul>',
@@ -39,12 +39,14 @@
39
39
  }
40
40
  },
41
41
  "typography": {
42
- "lineHeight": true,
43
42
  "fontSize": true,
44
- "__experimentalFontStyle": true,
43
+ "lineHeight": true,
44
+ "__experimentalFontFamily": true,
45
45
  "__experimentalFontWeight": true,
46
- "__experimentalLetterSpacing": true,
46
+ "__experimentalFontStyle": true,
47
47
  "__experimentalTextTransform": true,
48
+ "__experimentalTextDecoration": true,
49
+ "__experimentalLetterSpacing": true,
48
50
  "__experimentalDefaultControls": {
49
51
  "fontSize": true
50
52
  }
@@ -42,7 +42,8 @@
42
42
  }
43
43
  },
44
44
  "spacing": {
45
- "margin": true
45
+ "margin": true,
46
+ "padding": true
46
47
  },
47
48
  "typography": {
48
49
  "fontSize": true,
@@ -34,7 +34,8 @@ function render_block_core_post_title( $attributes, $content, $block ) {
34
34
  }
35
35
 
36
36
  if ( isset( $attributes['isLink'] ) && $attributes['isLink'] ) {
37
- $title = sprintf( '<a href="%1$s" target="%2$s" rel="%3$s">%4$s</a>', get_the_permalink( $post_ID ), esc_attr( $attributes['linkTarget'] ), esc_attr( $attributes['rel'] ), $title );
37
+ $rel = ! empty( $attributes['rel'] ) ? 'rel="' . esc_attr( $attributes['rel'] ) . '"' : '';
38
+ $title = sprintf( '<a href="%1$s" target="%2$s" %3$s>%4$s</a>', get_the_permalink( $post_ID ), esc_attr( $attributes['linkTarget'] ), $rel, $title );
38
39
  }
39
40
  $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $align_class_name ) );
40
41
 
@@ -1,5 +1,7 @@
1
1
  .wp-block-post-title {
2
2
  word-break: break-word;
3
+ // This block has customizable padding, border-box makes that more predictable.
4
+ box-sizing: border-box;
3
5
 
4
6
  a {
5
7
  display: inline-block;
@@ -28,10 +28,12 @@
28
28
  "typography": {
29
29
  "fontSize": true,
30
30
  "lineHeight": true,
31
- "__experimentalFontStyle": true,
31
+ "__experimentalFontFamily": true,
32
32
  "__experimentalFontWeight": true,
33
- "__experimentalLetterSpacing": true,
33
+ "__experimentalFontStyle": true,
34
34
  "__experimentalTextTransform": true,
35
+ "__experimentalTextDecoration": true,
36
+ "__experimentalLetterSpacing": true,
35
37
  "__experimentalDefaultControls": {
36
38
  "fontSize": true
37
39
  }
@@ -10,7 +10,14 @@ exports[`core/more/edit/native should match snapshot when content is empty 1`] =
10
10
  ]
11
11
  }
12
12
  >
13
- <View>
13
+ <View
14
+ style={
15
+ Array [
16
+ undefined,
17
+ undefined,
18
+ ]
19
+ }
20
+ >
14
21
  <TextInput
15
22
  accessibilityLabel="Text input. Empty"
16
23
  activeFormats={Array []}
@@ -50,7 +57,14 @@ exports[`core/more/edit/native should match snapshot when content is not empty 1
50
57
  ]
51
58
  }
52
59
  >
53
- <View>
60
+ <View
61
+ style={
62
+ Array [
63
+ undefined,
64
+ undefined,
65
+ ]
66
+ }
67
+ >
54
68
  <TextInput
55
69
  accessibilityLabel="Text input. <pre>Hello World!</pre>"
56
70
  activeFormats={Array []}
@@ -10,8 +10,7 @@
10
10
  "value": {
11
11
  "type": "string",
12
12
  "source": "html",
13
- "selector": "blockquote",
14
- "multiline": "p",
13
+ "selector": "p",
15
14
  "__experimentalRole": "content"
16
15
  },
17
16
  "citation": {
@@ -40,10 +39,12 @@
40
39
  "typography": {
41
40
  "fontSize": true,
42
41
  "lineHeight": true,
43
- "__experimentalFontStyle": true,
42
+ "__experimentalFontFamily": true,
44
43
  "__experimentalFontWeight": true,
45
- "__experimentalLetterSpacing": true,
44
+ "__experimentalFontStyle": true,
46
45
  "__experimentalTextTransform": true,
46
+ "__experimentalTextDecoration": true,
47
+ "__experimentalLetterSpacing": true,
47
48
  "__experimentalDefaultControls": {
48
49
  "fontSize": true,
49
50
  "fontAppearance": true
@@ -60,6 +61,12 @@
60
61
  "style": true,
61
62
  "width": true
62
63
  }
64
+ },
65
+ "__experimentalStyle": {
66
+ "typography": {
67
+ "fontSize": "1.5em",
68
+ "lineHeight": "1.6"
69
+ }
63
70
  }
64
71
  },
65
72
  "editorStyle": "wp-block-pullquote-editor",