@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
@@ -29,6 +29,15 @@
29
29
  },
30
30
  "supports": {
31
31
  "align": true,
32
+ "color": {
33
+ "gradients": true,
34
+ "link": true,
35
+ "__experimentalDefaultControls": {
36
+ "background": true,
37
+ "text": true,
38
+ "link": true
39
+ }
40
+ },
32
41
  "html": false,
33
42
  "spacing": {
34
43
  "margin": true,
package/src/list/edit.js CHANGED
@@ -110,7 +110,7 @@ function IndentUI( { clientId } ) {
110
110
  <ToolbarButton
111
111
  icon={ isRTL() ? formatOutdentRTL : formatOutdent }
112
112
  title={ __( 'Outdent' ) }
113
- describedBy={ __( 'Outdent list item' ) }
113
+ description={ __( 'Outdent list item' ) }
114
114
  disabled={ ! canOutdent }
115
115
  onClick={ outdentList }
116
116
  />
@@ -147,7 +147,7 @@ export default function Edit( { attributes, setAttributes, clientId, style } ) {
147
147
  <ToolbarButton
148
148
  icon={ isRTL() ? formatListBulletsRTL : formatListBullets }
149
149
  title={ __( 'Unordered' ) }
150
- describedBy={ __( 'Convert to unordered list' ) }
150
+ description={ __( 'Convert to unordered list' ) }
151
151
  isActive={ ordered === false }
152
152
  onClick={ () => {
153
153
  setAttributes( { ordered: false } );
@@ -156,7 +156,7 @@ export default function Edit( { attributes, setAttributes, clientId, style } ) {
156
156
  <ToolbarButton
157
157
  icon={ isRTL() ? formatListNumberedRTL : formatListNumbered }
158
158
  title={ __( 'Ordered' ) }
159
- describedBy={ __( 'Convert to ordered list' ) }
159
+ description={ __( 'Convert to ordered list' ) }
160
160
  isActive={ ordered === true }
161
161
  onClick={ () => {
162
162
  setAttributes( { ordered: true } );
@@ -3,6 +3,6 @@ ul {
3
3
  box-sizing: border-box;
4
4
  }
5
5
 
6
- :root :where(ul.has-background, ol.has-background) {
6
+ :root :where(.wp-block-list.has-background) {
7
7
  padding: $block-bg-padding--v $block-bg-padding--h;
8
8
  }
@@ -21,8 +21,15 @@
21
21
  },
22
22
  "supports": {
23
23
  "className": false,
24
- "__experimentalSelector": ".wp-block-list > li",
25
24
  "splitting": true,
25
+ "color": {
26
+ "gradients": true,
27
+ "link": true,
28
+ "__experimentalDefaultControls": {
29
+ "background": true,
30
+ "text": true
31
+ }
32
+ },
26
33
  "spacing": {
27
34
  "margin": true,
28
35
  "padding": true,
@@ -47,5 +54,8 @@
47
54
  "interactivity": {
48
55
  "clientNavigation": true
49
56
  }
57
+ },
58
+ "selectors": {
59
+ "root": ".wp-block-list > li"
50
60
  }
51
61
  }
@@ -53,15 +53,15 @@ export function IndentUI( { clientId } ) {
53
53
  <ToolbarButton
54
54
  icon={ isRTL() ? formatOutdentRTL : formatOutdent }
55
55
  title={ __( 'Outdent' ) }
56
- describedBy={ __( 'Outdent list item' ) }
56
+ description={ __( 'Outdent list item' ) }
57
57
  disabled={ ! canOutdent }
58
58
  onClick={ () => outdentListItem() }
59
59
  />
60
60
  <ToolbarButton
61
61
  icon={ isRTL() ? formatIndentRTL : formatIndent }
62
62
  title={ __( 'Indent' ) }
63
- describedBy={ __( 'Indent list item' ) }
64
- isDisabled={ ! canIndent }
63
+ description={ __( 'Indent list item' ) }
64
+ disabled={ ! canIndent }
65
65
  onClick={ () => indentListItem() }
66
66
  />
67
67
  </>
@@ -2,5 +2,4 @@ export { default as useOutdentListItem } from './use-outdent-list-item';
2
2
  export { default as useIndentListItem } from './use-indent-list-item';
3
3
  export { default as useEnter } from './use-enter';
4
4
  export { default as useSpace } from './use-space';
5
- export { default as useSplit } from './use-split';
6
5
  export { default as useMerge } from './use-merge';
@@ -92,11 +92,25 @@ export default function useMerge( clientId, onMerge ) {
92
92
  // list.
93
93
  const [ nestedListClientId ] = getBlockOrder( clientIdB );
94
94
  if ( nestedListClientId ) {
95
- moveBlocksToPosition(
96
- getBlockOrder( nestedListClientId ),
97
- nestedListClientId,
98
- getBlockRootClientId( clientIdA )
99
- );
95
+ // If we are merging with the previous list item, and the
96
+ // previous list item does not have nested list, move the
97
+ // nested list to the previous list item.
98
+ if (
99
+ getPreviousBlockClientId( clientIdB ) === clientIdA &&
100
+ ! getBlockOrder( clientIdA ).length
101
+ ) {
102
+ moveBlocksToPosition(
103
+ [ nestedListClientId ],
104
+ clientIdB,
105
+ clientIdA
106
+ );
107
+ } else {
108
+ moveBlocksToPosition(
109
+ getBlockOrder( nestedListClientId ),
110
+ nestedListClientId,
111
+ getBlockRootClientId( clientIdA )
112
+ );
113
+ }
100
114
  }
101
115
  mergeBlocks( clientIdA, clientIdB );
102
116
  } );
@@ -17,6 +17,9 @@
17
17
  "default": true
18
18
  }
19
19
  },
20
+ "example": {
21
+ "viewportWidth": 350
22
+ },
20
23
  "supports": {
21
24
  "className": true,
22
25
  "spacing": {
@@ -103,6 +103,18 @@
103
103
  "anchor": true,
104
104
  "align": [ "wide", "full" ],
105
105
  "html": false,
106
+ "__experimentalBorder": {
107
+ "color": true,
108
+ "radius": true,
109
+ "style": true,
110
+ "width": true,
111
+ "__experimentalDefaultControls": {
112
+ "color": true,
113
+ "radius": true,
114
+ "style": true,
115
+ "width": true
116
+ }
117
+ },
106
118
  "color": {
107
119
  "gradients": true,
108
120
  "heading": true,
@@ -46,7 +46,7 @@ import {
46
46
  TEMPLATE,
47
47
  } from './constants';
48
48
  import { unlock } from '../lock-unlock';
49
- import { TOOLSPANEL_DROPDOWNMENU_PROPS } from '../utils/constants';
49
+ import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
50
50
 
51
51
  const { ResolutionTool } = unlock( blockEditorPrivateApis );
52
52
 
@@ -276,6 +276,7 @@ function MediaTextEdit( {
276
276
  mediaSizeSlug: newMediaSizeSlug,
277
277
  } );
278
278
  };
279
+ const dropdownMenuProps = useToolsPanelDropdownMenuProps();
279
280
 
280
281
  const mediaTextGeneralSettings = (
281
282
  <ToolsPanel
@@ -290,7 +291,7 @@ function MediaTextEdit( {
290
291
  mediaSizeSlug: undefined,
291
292
  } );
292
293
  } }
293
- dropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }
294
+ dropdownMenuProps={ dropdownMenuProps }
294
295
  >
295
296
  <ToolsPanelItem
296
297
  label={ __( 'Media width' ) }
@@ -41,6 +41,7 @@ export default function NavigationMenuDeleteControl( { onDelete } ) {
41
41
  setIsConfirmDialogVisible( false );
42
42
  } }
43
43
  confirmButtonText={ __( 'Delete' ) }
44
+ size="medium"
44
45
  >
45
46
  { __(
46
47
  'Are you sure you want to delete this Navigation Menu?'
@@ -483,7 +483,7 @@ class WP_Navigation_Block_Renderer {
483
483
  }
484
484
  }
485
485
  $toggle_button_content = $should_display_icon_label ? $toggle_button_icon : __( 'Menu' );
486
- $toggle_close_button_icon = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" focusable="false"><path d="M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z"></path></svg>';
486
+ $toggle_close_button_icon = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" focusable="false"><path d="m13.06 12 6.47-6.47-1.06-1.06L12 10.94 5.53 4.47 4.47 5.53 10.94 12l-6.47 6.47 1.06 1.06L12 13.06l6.47 6.47 1.06-1.06L13.06 12Z"></path></svg>';
487
487
  $toggle_close_button_content = $should_display_icon_label ? $toggle_close_button_icon : __( 'Close' );
488
488
  $toggle_aria_label_open = $should_display_icon_label ? 'aria-label="' . __( 'Open menu' ) . '"' : ''; // Open button label.
489
489
  $toggle_aria_label_close = $should_display_icon_label ? 'aria-label="' . __( 'Close menu' ) . '"' : ''; // Close button label.
@@ -76,15 +76,10 @@ $navigation-icon-size: 24px;
76
76
  }
77
77
  }
78
78
 
79
- &:where(:not([class*="has-text-decoration"])) {
80
- a {
81
- text-decoration: none;
82
-
83
- &:focus,
84
- &:active {
85
- text-decoration: none;
86
- }
87
- }
79
+ & :where(a),
80
+ & :where(a:focus),
81
+ & :where(a:active) {
82
+ text-decoration: none;
88
83
  }
89
84
 
90
85
  // Submenu indicator.
@@ -9,6 +9,12 @@ import { store as coreStore } from '@wordpress/core-data';
9
9
  */
10
10
  import useNavigationMenu from '../use-navigation-menu';
11
11
 
12
+ const BASE_ENTITY = {
13
+ kind: 'postType',
14
+ name: 'wp_navigation',
15
+ id: undefined,
16
+ };
17
+
12
18
  function createRegistryWithStores() {
13
19
  // Create a registry and register used stores.
14
20
  const registry = createRegistry();
@@ -63,37 +69,70 @@ function resolveRecords( registry, menus ) {
63
69
 
64
70
  function resolveReadPermission( registry, allowed ) {
65
71
  const dispatch = registry.dispatch( coreStore );
66
- dispatch.receiveUserPermission( 'create/navigation', allowed );
67
- dispatch.startResolution( 'canUser', [ 'read', 'navigation' ] );
68
- dispatch.finishResolution( 'canUser', [ 'read', 'navigation' ] );
72
+ dispatch.receiveUserPermission( 'read/postType/wp_navigation', allowed );
73
+ dispatch.startResolution( 'canUser', [ 'read', BASE_ENTITY ] );
74
+ dispatch.finishResolution( 'canUser', [ 'read', BASE_ENTITY ] );
69
75
  }
70
76
 
71
77
  function resolveReadRecordPermission( registry, ref, allowed ) {
72
78
  const dispatch = registry.dispatch( coreStore );
73
- dispatch.receiveUserPermission( 'create/navigation', allowed );
74
- dispatch.startResolution( 'canUser', [ 'read', 'navigation', ref ] );
75
- dispatch.finishResolution( 'canUser', [ 'read', 'navigation', ref ] );
79
+ dispatch.receiveUserPermission(
80
+ `read/postType/wp_navigation/${ ref }`,
81
+ allowed
82
+ );
83
+ dispatch.startResolution( 'canUser', [
84
+ 'read',
85
+ { ...BASE_ENTITY, id: ref },
86
+ ] );
87
+ dispatch.finishResolution( 'canUser', [
88
+ 'read',
89
+ { ...BASE_ENTITY, id: ref },
90
+ ] );
76
91
  }
77
92
 
78
93
  function resolveCreatePermission( registry, allowed ) {
79
94
  const dispatch = registry.dispatch( coreStore );
80
- dispatch.receiveUserPermission( 'create/navigation', allowed );
81
- dispatch.startResolution( 'canUser', [ 'create', 'navigation' ] );
82
- dispatch.finishResolution( 'canUser', [ 'create', 'navigation' ] );
95
+ dispatch.receiveUserPermission( 'create/postType/wp_navigation', allowed );
96
+ dispatch.startResolution( 'canUser', [
97
+ 'create',
98
+ { kind: 'postType', name: 'wp_navigation' },
99
+ ] );
100
+ dispatch.finishResolution( 'canUser', [
101
+ 'create',
102
+ { kind: 'postType', name: 'wp_navigation' },
103
+ ] );
83
104
  }
84
105
 
85
106
  function resolveUpdatePermission( registry, ref, allowed ) {
86
107
  const dispatch = registry.dispatch( coreStore );
87
- dispatch.receiveUserPermission( `update/navigation/${ ref }`, allowed );
88
- dispatch.startResolution( 'canUser', [ 'update', 'navigation', ref ] );
89
- dispatch.finishResolution( 'canUser', [ 'update', 'navigation', ref ] );
108
+ dispatch.receiveUserPermission(
109
+ `update/postType/wp_navigation/${ ref }`,
110
+ allowed
111
+ );
112
+ dispatch.startResolution( 'canUser', [
113
+ 'update',
114
+ { ...BASE_ENTITY, id: ref },
115
+ ] );
116
+ dispatch.finishResolution( 'canUser', [
117
+ 'update',
118
+ { ...BASE_ENTITY, id: ref },
119
+ ] );
90
120
  }
91
121
 
92
122
  function resolveDeletePermission( registry, ref, allowed ) {
93
123
  const dispatch = registry.dispatch( coreStore );
94
- dispatch.receiveUserPermission( `delete/navigation/${ ref }`, allowed );
95
- dispatch.startResolution( 'canUser', [ 'delete', 'navigation', ref ] );
96
- dispatch.finishResolution( 'canUser', [ 'delete', 'navigation', ref ] );
124
+ dispatch.receiveUserPermission(
125
+ `delete/postType/wp_navigation/${ ref }`,
126
+ allowed
127
+ );
128
+ dispatch.startResolution( 'canUser', [
129
+ 'delete',
130
+ { ...BASE_ENTITY, id: ref },
131
+ ] );
132
+ dispatch.finishResolution( 'canUser', [
133
+ 'delete',
134
+ { ...BASE_ENTITY, id: ref },
135
+ ] );
97
136
  }
98
137
 
99
138
  describe( 'useNavigationMenus', () => {
@@ -14,7 +14,11 @@ import { useSelect } from '@wordpress/data';
14
14
  import { PRELOADED_NAVIGATION_MENUS_QUERY } from './constants';
15
15
 
16
16
  export default function useNavigationMenu( ref ) {
17
- const permissions = useResourcePermissions( 'navigation', ref );
17
+ const permissions = useResourcePermissions( {
18
+ kind: 'postType',
19
+ name: 'wp_navigation',
20
+ id: ref,
21
+ } );
18
22
 
19
23
  const {
20
24
  navigationMenu,
@@ -147,15 +147,18 @@ function LinkUIBlockInserter( { clientId, onBack, onSelectBlock } ) {
147
147
  }
148
148
 
149
149
  function UnforwardedLinkUI( props, ref ) {
150
+ const { label, url, opensInNewTab, type, kind } = props.link;
151
+ const postType = type || 'page';
152
+
150
153
  const [ addingBlock, setAddingBlock ] = useState( false );
151
154
  const [ focusAddBlockButton, setFocusAddBlockButton ] = useState( false );
152
155
  const { saveEntityRecord } = useDispatch( coreStore );
153
- const pagesPermissions = useResourcePermissions( 'pages' );
154
- const postsPermissions = useResourcePermissions( 'posts' );
156
+ const permissions = useResourcePermissions( {
157
+ kind: 'postType',
158
+ name: postType,
159
+ } );
155
160
 
156
161
  async function handleCreate( pageTitle ) {
157
- const postType = props.link.type || 'page';
158
-
159
162
  const page = await saveEntityRecord( 'postType', postType, {
160
163
  title: pageTitle,
161
164
  status: 'draft',
@@ -180,15 +183,6 @@ function UnforwardedLinkUI( props, ref ) {
180
183
  };
181
184
  }
182
185
 
183
- const { label, url, opensInNewTab, type, kind } = props.link;
184
-
185
- let userCanCreate = false;
186
- if ( ! type || type === 'page' ) {
187
- userCanCreate = pagesPermissions.canCreate;
188
- } else if ( type === 'post' ) {
189
- userCanCreate = postsPermissions.canCreate;
190
- }
191
-
192
186
  // Memoize link value to avoid overriding the LinkControl's internal state.
193
187
  // This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/50976#issuecomment-1568226407.
194
188
  const link = useMemo(
@@ -241,7 +235,7 @@ function UnforwardedLinkUI( props, ref ) {
241
235
  hasRichPreviews
242
236
  value={ link }
243
237
  showInitialSuggestions
244
- withCreateSuggestion={ userCanCreate }
238
+ withCreateSuggestion={ permissions.canCreate }
245
239
  createSuggestion={ handleCreate }
246
240
  createSuggestionButtonText={ ( searchTerm ) => {
247
241
  let format;
@@ -29,7 +29,6 @@ import {
29
29
  import { isURL, prependHTTP } from '@wordpress/url';
30
30
  import { useState, useEffect, useRef } from '@wordpress/element';
31
31
  import { link as linkIcon, removeSubmenu } from '@wordpress/icons';
32
- import { useResourcePermissions } from '@wordpress/core-data';
33
32
  import { speak } from '@wordpress/a11y';
34
33
  import { createBlock } from '@wordpress/blocks';
35
34
  import { useMergeRefs, usePrevious } from '@wordpress/compose';
@@ -134,7 +133,7 @@ export default function NavigationSubmenuEdit( {
134
133
  context,
135
134
  clientId,
136
135
  } ) {
137
- const { label, type, url, description, rel, title } = attributes;
136
+ const { label, url, description, rel, title } = attributes;
138
137
 
139
138
  const { showSubmenuIcon, maxNestingLevel, openSubmenusOnClick } = context;
140
139
 
@@ -154,9 +153,6 @@ export default function NavigationSubmenuEdit( {
154
153
  const itemLabelPlaceholder = __( 'Add text…' );
155
154
  const ref = useRef();
156
155
 
157
- const pagesPermissions = useResourcePermissions( 'pages' );
158
- const postsPermissions = useResourcePermissions( 'posts' );
159
-
160
156
  const {
161
157
  parentCount,
162
158
  isParentOfSelectedBlock,
@@ -264,13 +260,6 @@ export default function NavigationSubmenuEdit( {
264
260
  selection.addRange( range );
265
261
  }
266
262
 
267
- let userCanCreate = false;
268
- if ( ! type || type === 'page' ) {
269
- userCanCreate = pagesPermissions.canCreate;
270
- } else if ( type === 'post' ) {
271
- userCanCreate = postsPermissions.canCreate;
272
- }
273
-
274
263
  const {
275
264
  textColor,
276
265
  customTextColor,
@@ -387,7 +376,7 @@ export default function NavigationSubmenuEdit( {
387
376
  title={ __( 'Convert to Link' ) }
388
377
  onClick={ transformToLink }
389
378
  className="wp-block-navigation__submenu__revert"
390
- isDisabled={ ! canConvertToLink }
379
+ disabled={ ! canConvertToLink }
391
380
  />
392
381
  </ToolbarGroup>
393
382
  </BlockControls>
@@ -499,7 +488,6 @@ export default function NavigationSubmenuEdit( {
499
488
  }
500
489
  } }
501
490
  anchor={ popoverAnchor }
502
- hasCreateSuggestion={ userCanCreate }
503
491
  onRemove={ () => {
504
492
  setAttributes( { url: '' } );
505
493
  speak( __( 'Link removed.' ), 'assertive' );
@@ -36,7 +36,7 @@ export function ConvertToLinksModal( { onClick, onClose, disabled } ) {
36
36
  </Button>
37
37
  <Button
38
38
  variant="primary"
39
- __experimentalIsFocusable
39
+ accessibleWhenDisabled
40
40
  disabled={ disabled }
41
41
  onClick={ onClick }
42
42
  >
@@ -319,6 +319,7 @@ export default function PageListEdit( {
319
319
  { pagesTree.length > 0 && (
320
320
  <PanelBody>
321
321
  <ComboboxControl
322
+ __nextHasNoMarginBottom
322
323
  __next40pxDefaultSize
323
324
  className="editor-page-attributes__parent"
324
325
  label={ __( 'Parent' ) }
@@ -338,7 +339,7 @@ export default function PageListEdit( {
338
339
  <p>{ convertDescription }</p>
339
340
  <Button
340
341
  variant="primary"
341
- __experimentalIsFocusable
342
+ accessibleWhenDisabled
342
343
  disabled={ ! hasResolvedPages }
343
344
  onClick={ convertToNavigationLinks }
344
345
  >
@@ -21,10 +21,10 @@ import {
21
21
 
22
22
  function useFrontPageId() {
23
23
  return useSelect( ( select ) => {
24
- const canReadSettings = select( coreStore ).canUser(
25
- 'read',
26
- 'settings'
27
- );
24
+ const canReadSettings = select( coreStore ).canUser( 'read', {
25
+ kind: 'root',
26
+ name: 'site',
27
+ } );
28
28
  if ( ! canReadSettings ) {
29
29
  return undefined;
30
30
  }
@@ -33,6 +33,12 @@
33
33
  "splitting": true,
34
34
  "anchor": true,
35
35
  "className": false,
36
+ "__experimentalBorder": {
37
+ "color": true,
38
+ "radius": true,
39
+ "style": true,
40
+ "width": true
41
+ },
36
42
  "color": {
37
43
  "gradients": true,
38
44
  "link": true,
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
+ import { __ } from '@wordpress/i18n';
4
5
  import { postAuthor as icon } from '@wordpress/icons';
5
6
 
6
7
  /**
@@ -15,6 +16,13 @@ export { metadata, name };
15
16
 
16
17
  export const settings = {
17
18
  icon,
19
+ example: {
20
+ viewportWidth: 350,
21
+ attributes: {
22
+ showBio: true,
23
+ byline: __( 'Posted by' ),
24
+ },
25
+ },
18
26
  edit,
19
27
  };
20
28
 
@@ -12,6 +12,9 @@
12
12
  }
13
13
  },
14
14
  "usesContext": [ "postType", "postId" ],
15
+ "example": {
16
+ "viewportWidth": 350
17
+ },
15
18
  "supports": {
16
19
  "spacing": {
17
20
  "margin": true,
@@ -20,6 +20,9 @@
20
20
  }
21
21
  },
22
22
  "usesContext": [ "postType", "postId" ],
23
+ "example": {
24
+ "viewportWidth": 350
25
+ },
23
26
  "supports": {
24
27
  "html": false,
25
28
  "spacing": {
@@ -1,3 +1,18 @@
1
+ // Allow these default styles to be overridden by global styles.
2
+ :where(.wp-block-post-comments-form) {
3
+ textarea,
4
+ input:not([type="submit"]) {
5
+ border: 1px solid $gray-600;
6
+ font-size: 1em;
7
+ font-family: inherit;
8
+ }
9
+
10
+ textarea,
11
+ input:where(:not([type="submit"]):not([type="checkbox"])) {
12
+ padding: calc(0.667em + 2px); // The extra 2px is added to match outline buttons.
13
+ }
14
+ }
15
+
1
16
  .wp-block-post-comments-form {
2
17
  // This block has customizable padding, border-box makes that more predictable.
3
18
  box-sizing: border-box;
@@ -23,7 +38,7 @@
23
38
  }
24
39
 
25
40
  // Styles copied from button block styles.
26
- input[type="submit"] {
41
+ :where(input[type="submit"]) {
27
42
  box-shadow: none;
28
43
  cursor: pointer;
29
44
  display: inline-block;
@@ -31,18 +46,6 @@
31
46
  overflow-wrap: break-word;
32
47
  }
33
48
 
34
- textarea,
35
- input:not([type="submit"]) {
36
- border: 1px solid $gray-600;
37
- font-size: 1em;
38
- font-family: inherit;
39
- }
40
-
41
- textarea,
42
- input:not([type="submit"]):not([type="checkbox"]) {
43
- padding: calc(0.667em + 2px); // The extra 2px is added to match outline buttons.
44
- }
45
-
46
49
  .comment-form {
47
50
  textarea,
48
51
  // Make sure to not set display block on hidden input fields, to prevent
@@ -7,6 +7,9 @@
7
7
  "description": "Displays the contents of a post or page.",
8
8
  "textdomain": "default",
9
9
  "usesContext": [ "postId", "postType", "queryId" ],
10
+ "example": {
11
+ "viewportWidth": 350
12
+ },
10
13
  "supports": {
11
14
  "align": [ "wide", "full" ],
12
15
  "html": false,
@@ -23,6 +23,9 @@
23
23
  }
24
24
  },
25
25
  "usesContext": [ "postId", "postType", "queryId" ],
26
+ "example": {
27
+ "viewportWidth": 350
28
+ },
26
29
  "supports": {
27
30
  "html": false,
28
31
  "color": {
@@ -28,7 +28,7 @@ import {
28
28
  ToggleControl,
29
29
  PanelBody,
30
30
  } from '@wordpress/components';
31
- import { __, sprintf } from '@wordpress/i18n';
31
+ import { __, _x, sprintf } from '@wordpress/i18n';
32
32
  import { edit } from '@wordpress/icons';
33
33
  import { DOWN } from '@wordpress/keycodes';
34
34
  import { useSelect } from '@wordpress/data';
@@ -128,6 +128,10 @@ export default function PostDateEdit( {
128
128
  siteTimeFormat
129
129
  ) }
130
130
  onClose={ onClose }
131
+ dateOrder={
132
+ /* translators: Order of day, month, and year. Available formats are 'dmy', 'mdy', and 'ymd'. */
133
+ _x( 'dmy', 'date order' )
134
+ }
131
135
  />
132
136
  ) }
133
137
  renderToggle={ ( { isOpen, onToggle } ) => {
@@ -23,8 +23,14 @@ function render_block_core_post_date( $attributes, $content, $block ) {
23
23
  $post_ID = $block->context['postId'];
24
24
 
25
25
  if ( isset( $attributes['format'] ) && 'human-diff' === $attributes['format'] ) {
26
- // translators: %s: human-readable time difference.
27
- $formatted_date = sprintf( __( '%s ago', 'gutenberg' ), human_time_diff( get_post_timestamp( $post_ID ) ) );
26
+ $post_timestamp = get_post_timestamp( $post_ID );
27
+ if ( $post_timestamp > time() ) {
28
+ // translators: %s: human-readable time difference.
29
+ $formatted_date = sprintf( __( '%s from now', 'gutenberg' ), human_time_diff( $post_timestamp ) );
30
+ } else {
31
+ // translators: %s: human-readable time difference.
32
+ $formatted_date = sprintf( __( '%s ago', 'gutenberg' ), human_time_diff( $post_timestamp ) );
33
+ }
28
34
  } else {
29
35
  $formatted_date = get_the_date( empty( $attributes['format'] ) ? '' : $attributes['format'], $post_ID );
30
36
  }