@wordpress/block-library 8.29.0 → 8.31.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 (527) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/audio/edit.js +7 -17
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/audio/edit.native.js.map +1 -1
  5. package/build/avatar/edit.js.map +1 -1
  6. package/build/block/deprecated.js +71 -11
  7. package/build/block/deprecated.js.map +1 -1
  8. package/build/block/edit.js +65 -31
  9. package/build/block/edit.js.map +1 -1
  10. package/build/button/edit.js +2 -2
  11. package/build/button/edit.js.map +1 -1
  12. package/build/buttons/edit.native.js.map +1 -1
  13. package/build/buttons/transforms.js +16 -2
  14. package/build/buttons/transforms.js.map +1 -1
  15. package/build/code/save.js +3 -1
  16. package/build/code/save.js.map +1 -1
  17. package/build/code/transforms.js +17 -6
  18. package/build/code/transforms.js.map +1 -1
  19. package/build/columns/edit.js +3 -2
  20. package/build/columns/edit.js.map +1 -1
  21. package/build/comment-author-avatar/edit.js +1 -1
  22. package/build/comment-author-avatar/edit.js.map +1 -1
  23. package/build/cover/edit/block-controls.js +14 -3
  24. package/build/cover/edit/block-controls.js.map +1 -1
  25. package/build/cover/edit/index.js +2 -1
  26. package/build/cover/edit/index.js.map +1 -1
  27. package/build/cover/edit/inspector-controls.js.map +1 -1
  28. package/build/cover/edit/resizable-cover-popover.js +0 -6
  29. package/build/cover/edit/resizable-cover-popover.js.map +1 -1
  30. package/build/cover/edit.native.js.map +1 -1
  31. package/build/details/edit.js +1 -0
  32. package/build/details/edit.js.map +1 -1
  33. package/build/file/deprecated.js.map +1 -1
  34. package/build/file/edit.js +8 -13
  35. package/build/file/edit.js.map +1 -1
  36. package/build/file/edit.native.js.map +1 -1
  37. package/build/file/save.js.map +1 -1
  38. package/build/form-input/edit.js +1 -1
  39. package/build/form-input/edit.js.map +1 -1
  40. package/build/gallery/edit.js.map +1 -1
  41. package/build/gallery/gallery.native.js.map +1 -1
  42. package/build/gallery/v1/edit.js.map +1 -1
  43. package/build/gallery/v1/gallery.native.js.map +1 -1
  44. package/build/heading/index.js +4 -3
  45. package/build/heading/index.js.map +1 -1
  46. package/build/heading/transforms.js +17 -4
  47. package/build/heading/transforms.js.map +1 -1
  48. package/build/image/edit.js +8 -4
  49. package/build/image/edit.js.map +1 -1
  50. package/build/image/edit.native.js.map +1 -1
  51. package/build/image/image.js +22 -8
  52. package/build/image/image.js.map +1 -1
  53. package/build/latest-posts/edit.native.js.map +1 -1
  54. package/build/list/ordered-list-settings.js +1 -1
  55. package/build/list/ordered-list-settings.js.map +1 -1
  56. package/build/list-item/edit.js +1 -3
  57. package/build/list-item/edit.js.map +1 -1
  58. package/build/list-item/edit.native.js.map +1 -1
  59. package/build/list-item/hooks/index.js +0 -7
  60. package/build/list-item/hooks/index.js.map +1 -1
  61. package/build/list-item/hooks/use-indent-list-item.js +1 -0
  62. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  63. package/build/list-item/hooks/use-outdent-list-item.js +1 -0
  64. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  65. package/build/list-item/hooks/use-space.js +16 -7
  66. package/build/list-item/hooks/use-space.js.map +1 -1
  67. package/build/list-item/index.js +4 -1
  68. package/build/list-item/index.js.map +1 -1
  69. package/build/media-text/edit.js +33 -9
  70. package/build/media-text/edit.js.map +1 -1
  71. package/build/media-text/index.js +5 -0
  72. package/build/media-text/index.js.map +1 -1
  73. package/build/media-text/media-container.js +30 -11
  74. package/build/media-text/media-container.js.map +1 -1
  75. package/build/media-text/media-container.native.js +1 -1
  76. package/build/media-text/media-container.native.js.map +1 -1
  77. package/build/media-text/save.js +2 -2
  78. package/build/media-text/save.js.map +1 -1
  79. package/build/navigation/edit/index.js +23 -29
  80. package/build/navigation/edit/index.js.map +1 -1
  81. package/build/navigation/edit/navigation-menu-delete-control.js +12 -20
  82. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  83. package/build/navigation/edit/navigation-menu-selector.js +24 -23
  84. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  85. package/build/navigation/edit/placeholder/index.js +4 -4
  86. package/build/navigation/edit/placeholder/index.js.map +1 -1
  87. package/build/navigation/use-navigation-menu.js +15 -12
  88. package/build/navigation/use-navigation-menu.js.map +1 -1
  89. package/build/navigation-link/edit.js +12 -10
  90. package/build/navigation-link/edit.js.map +1 -1
  91. package/build/navigation-link/link-ui.js.map +1 -1
  92. package/build/navigation-submenu/edit.js +4 -0
  93. package/build/navigation-submenu/edit.js.map +1 -1
  94. package/build/paragraph/edit.native.js.map +1 -1
  95. package/build/pattern/edit.js +11 -0
  96. package/build/pattern/edit.js.map +1 -1
  97. package/build/post-author/edit.js +1 -0
  98. package/build/post-author/edit.js.map +1 -1
  99. package/build/post-excerpt/edit.js +1 -0
  100. package/build/post-excerpt/edit.js.map +1 -1
  101. package/build/post-featured-image/dimension-controls.js.map +1 -1
  102. package/build/post-featured-image/edit.js +12 -12
  103. package/build/post-featured-image/edit.js.map +1 -1
  104. package/build/post-featured-image/index.js +6 -0
  105. package/build/post-featured-image/index.js.map +1 -1
  106. package/build/post-navigation-link/edit.js +1 -0
  107. package/build/post-navigation-link/edit.js.map +1 -1
  108. package/build/post-terms/edit.js +2 -0
  109. package/build/post-terms/edit.js.map +1 -1
  110. package/build/post-title/edit.js +2 -2
  111. package/build/post-title/edit.js.map +1 -1
  112. package/build/query/edit/pattern-selection-modal.js.map +1 -1
  113. package/build/query/utils.js +7 -5
  114. package/build/query/utils.js.map +1 -1
  115. package/build/query-pagination-next/edit.js.map +1 -1
  116. package/build/query-pagination-previous/edit.js.map +1 -1
  117. package/build/quote/deprecated.js +111 -12
  118. package/build/quote/deprecated.js.map +1 -1
  119. package/build/quote/edit.js +7 -7
  120. package/build/quote/edit.js.map +1 -1
  121. package/build/quote/index.js +1 -1
  122. package/build/quote/index.js.map +1 -1
  123. package/build/quote/save.js +2 -2
  124. package/build/quote/save.js.map +1 -1
  125. package/build/read-more/edit.js +1 -0
  126. package/build/read-more/edit.js.map +1 -1
  127. package/build/search/edit.js +3 -1
  128. package/build/search/edit.js.map +1 -1
  129. package/build/search/edit.native.js +2 -2
  130. package/build/search/edit.native.js.map +1 -1
  131. package/build/site-logo/edit.js +7 -2
  132. package/build/site-logo/edit.js.map +1 -1
  133. package/build/site-title/{edit/index.js → edit.js} +1 -1
  134. package/build/site-title/edit.js.map +1 -0
  135. package/build/social-link/edit.js +1 -1
  136. package/build/social-link/edit.js.map +1 -1
  137. package/build/social-link/icons/medium.js +1 -1
  138. package/build/social-link/icons/medium.js.map +1 -1
  139. package/build/social-link/icons/reddit.js +1 -1
  140. package/build/social-link/icons/reddit.js.map +1 -1
  141. package/build/social-links/edit.native.js.map +1 -1
  142. package/build/spacer/edit.js.map +1 -1
  143. package/build/table/deprecated.js +285 -175
  144. package/build/table/deprecated.js.map +1 -1
  145. package/build/table/index.js +1 -1
  146. package/build/table-of-contents/edit.js.map +1 -1
  147. package/build/template-part/edit/index.js +53 -1
  148. package/build/template-part/edit/index.js.map +1 -1
  149. package/build/template-part/edit/selection-modal.js +2 -8
  150. package/build/template-part/edit/selection-modal.js.map +1 -1
  151. package/build/template-part/edit/utils/map-template-part-to-block-pattern.js +30 -0
  152. package/build/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
  153. package/build/utils/caption.js +15 -5
  154. package/build/utils/caption.js.map +1 -1
  155. package/build/utils/get-transformed-metadata.js +57 -0
  156. package/build/utils/get-transformed-metadata.js.map +1 -0
  157. package/build/utils/hooks.js +55 -4
  158. package/build/utils/hooks.js.map +1 -1
  159. package/build/video/edit-common-settings.js.map +1 -1
  160. package/build/video/edit.js +7 -16
  161. package/build/video/edit.js.map +1 -1
  162. package/build/video/edit.native.js +3 -8
  163. package/build/video/edit.native.js.map +1 -1
  164. package/build-module/audio/edit.js +10 -20
  165. package/build-module/audio/edit.js.map +1 -1
  166. package/build-module/audio/edit.native.js.map +1 -1
  167. package/build-module/avatar/edit.js.map +1 -1
  168. package/build-module/block/deprecated.js +71 -11
  169. package/build-module/block/deprecated.js.map +1 -1
  170. package/build-module/block/edit.js +66 -32
  171. package/build-module/block/edit.js.map +1 -1
  172. package/build-module/button/edit.js +3 -3
  173. package/build-module/button/edit.js.map +1 -1
  174. package/build-module/buttons/edit.native.js.map +1 -1
  175. package/build-module/buttons/transforms.js +16 -2
  176. package/build-module/buttons/transforms.js.map +1 -1
  177. package/build-module/code/save.js +3 -1
  178. package/build-module/code/save.js.map +1 -1
  179. package/build-module/code/transforms.js +17 -6
  180. package/build-module/code/transforms.js.map +1 -1
  181. package/build-module/columns/edit.js +3 -2
  182. package/build-module/columns/edit.js.map +1 -1
  183. package/build-module/comment-author-avatar/edit.js +1 -1
  184. package/build-module/comment-author-avatar/edit.js.map +1 -1
  185. package/build-module/cover/edit/block-controls.js +15 -4
  186. package/build-module/cover/edit/block-controls.js.map +1 -1
  187. package/build-module/cover/edit/index.js +2 -1
  188. package/build-module/cover/edit/index.js.map +1 -1
  189. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  190. package/build-module/cover/edit/resizable-cover-popover.js +1 -7
  191. package/build-module/cover/edit/resizable-cover-popover.js.map +1 -1
  192. package/build-module/cover/edit.native.js.map +1 -1
  193. package/build-module/details/edit.js +1 -0
  194. package/build-module/details/edit.js.map +1 -1
  195. package/build-module/file/deprecated.js.map +1 -1
  196. package/build-module/file/edit.js +9 -14
  197. package/build-module/file/edit.js.map +1 -1
  198. package/build-module/file/edit.native.js.map +1 -1
  199. package/build-module/file/save.js.map +1 -1
  200. package/build-module/form-input/edit.js +1 -1
  201. package/build-module/form-input/edit.js.map +1 -1
  202. package/build-module/gallery/edit.js.map +1 -1
  203. package/build-module/gallery/gallery.native.js.map +1 -1
  204. package/build-module/gallery/v1/edit.js.map +1 -1
  205. package/build-module/gallery/v1/gallery.native.js.map +1 -1
  206. package/build-module/heading/index.js +4 -3
  207. package/build-module/heading/index.js.map +1 -1
  208. package/build-module/heading/transforms.js +17 -4
  209. package/build-module/heading/transforms.js.map +1 -1
  210. package/build-module/image/edit.js +9 -5
  211. package/build-module/image/edit.js.map +1 -1
  212. package/build-module/image/edit.native.js.map +1 -1
  213. package/build-module/image/image.js +23 -9
  214. package/build-module/image/image.js.map +1 -1
  215. package/build-module/latest-posts/edit.native.js.map +1 -1
  216. package/build-module/list/ordered-list-settings.js +1 -1
  217. package/build-module/list/ordered-list-settings.js.map +1 -1
  218. package/build-module/list-item/edit.js +2 -4
  219. package/build-module/list-item/edit.js.map +1 -1
  220. package/build-module/list-item/edit.native.js.map +1 -1
  221. package/build-module/list-item/hooks/index.js +0 -1
  222. package/build-module/list-item/hooks/index.js.map +1 -1
  223. package/build-module/list-item/hooks/use-indent-list-item.js +1 -0
  224. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  225. package/build-module/list-item/hooks/use-outdent-list-item.js +1 -0
  226. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  227. package/build-module/list-item/hooks/use-space.js +17 -8
  228. package/build-module/list-item/hooks/use-space.js.map +1 -1
  229. package/build-module/list-item/index.js +4 -1
  230. package/build-module/list-item/index.js.map +1 -1
  231. package/build-module/media-text/edit.js +34 -10
  232. package/build-module/media-text/edit.js.map +1 -1
  233. package/build-module/media-text/index.js +5 -0
  234. package/build-module/media-text/index.js.map +1 -1
  235. package/build-module/media-text/media-container.js +31 -12
  236. package/build-module/media-text/media-container.js.map +1 -1
  237. package/build-module/media-text/media-container.native.js +1 -1
  238. package/build-module/media-text/media-container.native.js.map +1 -1
  239. package/build-module/media-text/save.js +2 -2
  240. package/build-module/media-text/save.js.map +1 -1
  241. package/build-module/navigation/edit/index.js +24 -30
  242. package/build-module/navigation/edit/index.js.map +1 -1
  243. package/build-module/navigation/edit/navigation-menu-delete-control.js +15 -23
  244. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  245. package/build-module/navigation/edit/navigation-menu-selector.js +24 -23
  246. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  247. package/build-module/navigation/edit/placeholder/index.js +4 -4
  248. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  249. package/build-module/navigation/use-navigation-menu.js +15 -12
  250. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  251. package/build-module/navigation-link/edit.js +13 -11
  252. package/build-module/navigation-link/edit.js.map +1 -1
  253. package/build-module/navigation-link/link-ui.js.map +1 -1
  254. package/build-module/navigation-submenu/edit.js +4 -0
  255. package/build-module/navigation-submenu/edit.js.map +1 -1
  256. package/build-module/paragraph/edit.native.js.map +1 -1
  257. package/build-module/pattern/edit.js +11 -0
  258. package/build-module/pattern/edit.js.map +1 -1
  259. package/build-module/post-author/edit.js +1 -0
  260. package/build-module/post-author/edit.js.map +1 -1
  261. package/build-module/post-excerpt/edit.js +1 -0
  262. package/build-module/post-excerpt/edit.js.map +1 -1
  263. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  264. package/build-module/post-featured-image/edit.js +13 -13
  265. package/build-module/post-featured-image/edit.js.map +1 -1
  266. package/build-module/post-featured-image/index.js +6 -0
  267. package/build-module/post-featured-image/index.js.map +1 -1
  268. package/build-module/post-navigation-link/edit.js +1 -0
  269. package/build-module/post-navigation-link/edit.js.map +1 -1
  270. package/build-module/post-terms/edit.js +2 -0
  271. package/build-module/post-terms/edit.js.map +1 -1
  272. package/build-module/post-title/edit.js +2 -2
  273. package/build-module/post-title/edit.js.map +1 -1
  274. package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
  275. package/build-module/query/utils.js +7 -5
  276. package/build-module/query/utils.js.map +1 -1
  277. package/build-module/query-pagination-next/edit.js.map +1 -1
  278. package/build-module/query-pagination-previous/edit.js.map +1 -1
  279. package/build-module/quote/deprecated.js +112 -13
  280. package/build-module/quote/deprecated.js.map +1 -1
  281. package/build-module/quote/edit.js +7 -7
  282. package/build-module/quote/edit.js.map +1 -1
  283. package/build-module/quote/index.js +1 -1
  284. package/build-module/quote/index.js.map +1 -1
  285. package/build-module/quote/save.js +2 -2
  286. package/build-module/quote/save.js.map +1 -1
  287. package/build-module/read-more/edit.js +1 -0
  288. package/build-module/read-more/edit.js.map +1 -1
  289. package/build-module/search/edit.js +3 -1
  290. package/build-module/search/edit.js.map +1 -1
  291. package/build-module/search/edit.native.js +2 -2
  292. package/build-module/search/edit.native.js.map +1 -1
  293. package/build-module/site-logo/edit.js +7 -2
  294. package/build-module/site-logo/edit.js.map +1 -1
  295. package/build-module/site-title/{edit/index.js → edit.js} +1 -1
  296. package/build-module/site-title/edit.js.map +1 -0
  297. package/build-module/social-link/edit.js +1 -1
  298. package/build-module/social-link/edit.js.map +1 -1
  299. package/build-module/social-link/icons/medium.js +1 -1
  300. package/build-module/social-link/icons/medium.js.map +1 -1
  301. package/build-module/social-link/icons/reddit.js +1 -1
  302. package/build-module/social-link/icons/reddit.js.map +1 -1
  303. package/build-module/social-links/edit.native.js.map +1 -1
  304. package/build-module/spacer/edit.js.map +1 -1
  305. package/build-module/table/deprecated.js +286 -176
  306. package/build-module/table/deprecated.js.map +1 -1
  307. package/build-module/table/index.js +1 -1
  308. package/build-module/table-of-contents/edit.js.map +1 -1
  309. package/build-module/template-part/edit/index.js +57 -5
  310. package/build-module/template-part/edit/index.js.map +1 -1
  311. package/build-module/template-part/edit/selection-modal.js +2 -8
  312. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  313. package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js +24 -0
  314. package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
  315. package/build-module/utils/caption.js +13 -3
  316. package/build-module/utils/caption.js.map +1 -1
  317. package/build-module/utils/get-transformed-metadata.js +51 -0
  318. package/build-module/utils/get-transformed-metadata.js.map +1 -0
  319. package/build-module/utils/hooks.js +54 -3
  320. package/build-module/utils/hooks.js.map +1 -1
  321. package/build-module/video/edit-common-settings.js.map +1 -1
  322. package/build-module/video/edit.js +10 -19
  323. package/build-module/video/edit.js.map +1 -1
  324. package/build-module/video/edit.native.js +3 -8
  325. package/build-module/video/edit.native.js.map +1 -1
  326. package/build-style/common-rtl.css +1 -0
  327. package/build-style/common.css +1 -0
  328. package/build-style/cover/style-rtl.css +2 -1
  329. package/build-style/cover/style.css +2 -1
  330. package/build-style/editor-rtl.css +11 -2
  331. package/build-style/editor.css +11 -2
  332. package/build-style/file/editor-rtl.css +3 -0
  333. package/build-style/file/editor.css +3 -0
  334. package/build-style/group/editor-rtl.css +1 -1
  335. package/build-style/group/editor.css +1 -1
  336. package/build-style/media-text/editor-rtl.css +7 -1
  337. package/build-style/media-text/editor.css +7 -1
  338. package/build-style/search/style-rtl.css +2 -0
  339. package/build-style/search/style.css +2 -0
  340. package/build-style/social-links/style-rtl.css +2 -2
  341. package/build-style/social-links/style.css +2 -2
  342. package/build-style/style-rtl.css +6 -3
  343. package/build-style/style.css +6 -3
  344. package/package.json +34 -34
  345. package/src/archives/index.php +4 -0
  346. package/src/audio/edit.js +9 -19
  347. package/src/audio/edit.native.js +3 -3
  348. package/src/avatar/edit.js +1 -1
  349. package/src/avatar/index.php +6 -0
  350. package/src/block/deprecated.js +76 -11
  351. package/src/block/edit.js +100 -32
  352. package/src/block/index.php +27 -12
  353. package/src/block/test/edit.native.js +67 -0
  354. package/src/button/edit.js +4 -3
  355. package/src/buttons/edit.native.js +1 -1
  356. package/src/buttons/transforms.js +14 -4
  357. package/src/calendar/index.php +17 -0
  358. package/src/categories/index.php +6 -0
  359. package/src/code/save.js +7 -1
  360. package/src/code/transforms.js +20 -5
  361. package/src/columns/edit.js +3 -2
  362. package/src/comment-author-avatar/edit.js +1 -1
  363. package/src/comment-author-name/index.php +4 -0
  364. package/src/comment-content/index.php +4 -0
  365. package/src/comment-date/index.php +4 -0
  366. package/src/comment-edit-link/index.php +4 -0
  367. package/src/comment-reply-link/index.php +4 -0
  368. package/src/comment-template/index.php +4 -0
  369. package/src/comments/index.php +12 -0
  370. package/src/comments-pagination/index.php +4 -0
  371. package/src/comments-pagination-next/index.php +4 -0
  372. package/src/comments-pagination-numbers/index.php +4 -0
  373. package/src/comments-pagination-previous/index.php +4 -0
  374. package/src/comments-title/index.php +4 -0
  375. package/src/cover/edit/block-controls.js +16 -2
  376. package/src/cover/edit/index.js +6 -3
  377. package/src/cover/edit/inspector-controls.js +1 -1
  378. package/src/cover/edit/resizable-cover-popover.js +1 -6
  379. package/src/cover/edit.native.js +1 -1
  380. package/src/cover/index.php +4 -0
  381. package/src/cover/style.scss +3 -2
  382. package/src/details/edit.js +1 -0
  383. package/src/file/deprecated.js +3 -3
  384. package/src/file/edit.js +10 -15
  385. package/src/file/edit.native.js +4 -4
  386. package/src/file/editor.scss +3 -0
  387. package/src/file/index.php +4 -0
  388. package/src/file/save.js +1 -1
  389. package/src/footnotes/index.php +1 -1
  390. package/src/form-input/edit.js +1 -1
  391. package/src/gallery/edit.js +3 -3
  392. package/src/gallery/gallery.native.js +1 -1
  393. package/src/gallery/index.php +6 -0
  394. package/src/gallery/test/index.native.js +1 -1
  395. package/src/gallery/v1/edit.js +2 -2
  396. package/src/gallery/v1/gallery.native.js +1 -1
  397. package/src/group/editor.scss +1 -1
  398. package/src/heading/index.js +4 -3
  399. package/src/heading/index.php +4 -0
  400. package/src/heading/transforms.js +27 -8
  401. package/src/home-link/index.php +10 -0
  402. package/src/image/edit.js +13 -5
  403. package/src/image/edit.native.js +1 -1
  404. package/src/image/editor.scss +1 -0
  405. package/src/image/image.js +34 -22
  406. package/src/image/index.php +12 -1
  407. package/src/latest-comments/index.php +4 -0
  408. package/src/latest-posts/edit.native.js +1 -1
  409. package/src/latest-posts/index.php +8 -0
  410. package/src/list/ordered-list-settings.js +1 -1
  411. package/src/list-item/edit.js +1 -2
  412. package/src/list-item/edit.native.js +1 -1
  413. package/src/list-item/hooks/index.js +0 -1
  414. package/src/list-item/hooks/use-indent-list-item.js +2 -0
  415. package/src/list-item/hooks/use-outdent-list-item.js +2 -0
  416. package/src/list-item/hooks/use-space.js +16 -9
  417. package/src/list-item/index.js +3 -0
  418. package/src/loginout/index.php +4 -0
  419. package/src/media-text/block.json +5 -0
  420. package/src/media-text/edit.js +70 -19
  421. package/src/media-text/editor.scss +7 -1
  422. package/src/media-text/index.php +70 -0
  423. package/src/media-text/media-container.js +49 -9
  424. package/src/media-text/media-container.native.js +5 -3
  425. package/src/media-text/save.js +2 -2
  426. package/src/media-text/test/edit.native.js +58 -0
  427. package/src/missing/test/edit-integration.native.js +2 -1
  428. package/src/navigation/edit/index.js +68 -72
  429. package/src/navigation/edit/navigation-menu-delete-control.js +22 -49
  430. package/src/navigation/edit/navigation-menu-selector.js +39 -21
  431. package/src/navigation/edit/placeholder/index.js +4 -4
  432. package/src/navigation/edit/test/navigation-menu-selector.js +77 -55
  433. package/src/navigation/index.php +118 -34
  434. package/src/navigation/test/use-navigation-menu.js +21 -21
  435. package/src/navigation/use-navigation-menu.js +23 -9
  436. package/src/navigation-link/edit.js +12 -13
  437. package/src/navigation-link/index.php +14 -0
  438. package/src/navigation-link/link-ui.js +2 -2
  439. package/src/navigation-submenu/edit.js +4 -0
  440. package/src/navigation-submenu/index.php +8 -0
  441. package/src/page-list/index.php +12 -0
  442. package/src/page-list-item/index.php +2 -0
  443. package/src/paragraph/edit.native.js +1 -1
  444. package/src/paragraph/test/edit.native.js +36 -0
  445. package/src/pattern/edit.js +14 -0
  446. package/src/pattern/index.php +2 -0
  447. package/src/post-author/edit.js +1 -0
  448. package/src/post-author/index.php +4 -0
  449. package/src/post-author-biography/index.php +4 -0
  450. package/src/post-author-name/index.php +4 -0
  451. package/src/post-comments-form/index.php +6 -0
  452. package/src/post-content/index.php +4 -0
  453. package/src/post-date/index.php +4 -0
  454. package/src/post-excerpt/edit.js +2 -1
  455. package/src/post-excerpt/index.php +4 -0
  456. package/src/post-featured-image/block.json +6 -0
  457. package/src/post-featured-image/dimension-controls.js +4 -4
  458. package/src/post-featured-image/edit.js +14 -12
  459. package/src/post-featured-image/index.php +15 -0
  460. package/src/post-navigation-link/edit.js +2 -1
  461. package/src/post-navigation-link/index.php +4 -0
  462. package/src/post-template/index.php +6 -0
  463. package/src/post-terms/edit.js +2 -0
  464. package/src/post-terms/index.php +6 -0
  465. package/src/post-title/edit.js +49 -43
  466. package/src/post-title/index.php +2 -0
  467. package/src/query/edit/pattern-selection-modal.js +1 -1
  468. package/src/query/index.php +2 -0
  469. package/src/query/utils.js +6 -4
  470. package/src/query-no-results/index.php +4 -0
  471. package/src/query-pagination/index.php +4 -0
  472. package/src/query-pagination-next/edit.js +1 -1
  473. package/src/query-pagination-next/index.php +4 -0
  474. package/src/query-pagination-numbers/index.php +4 -0
  475. package/src/query-pagination-previous/edit.js +1 -1
  476. package/src/query-pagination-previous/index.php +4 -0
  477. package/src/query-title/index.php +4 -0
  478. package/src/quote/block.json +1 -1
  479. package/src/quote/deprecated.js +110 -15
  480. package/src/quote/edit.js +16 -10
  481. package/src/quote/save.js +2 -2
  482. package/src/quote/test/__snapshots__/transforms.native.js.snap +2 -2
  483. package/src/read-more/edit.js +2 -1
  484. package/src/read-more/index.php +4 -0
  485. package/src/rss/index.php +4 -0
  486. package/src/search/edit.js +3 -1
  487. package/src/search/edit.native.js +6 -6
  488. package/src/search/index.php +20 -2
  489. package/src/search/style.scss +2 -0
  490. package/src/shortcode/index.php +4 -0
  491. package/src/site-logo/edit.js +11 -6
  492. package/src/site-logo/index.php +20 -0
  493. package/src/site-tagline/index.php +4 -0
  494. package/src/site-title/index.php +4 -0
  495. package/src/social-link/edit.js +2 -2
  496. package/src/social-link/icons/medium.js +1 -1
  497. package/src/social-link/icons/reddit.js +1 -1
  498. package/src/social-link/index.php +22 -9
  499. package/src/social-link/socials-with-bg.scss +1 -1
  500. package/src/social-link/socials-without-bg.scss +1 -1
  501. package/src/social-links/edit.native.js +1 -1
  502. package/src/spacer/edit.js +1 -1
  503. package/src/table/block.json +1 -1
  504. package/src/table/deprecated.js +308 -175
  505. package/src/table-of-contents/edit.js +1 -1
  506. package/src/tag-cloud/index.php +4 -0
  507. package/src/template-part/edit/index.js +91 -4
  508. package/src/template-part/edit/selection-modal.js +4 -8
  509. package/src/template-part/edit/utils/map-template-part-to-block-pattern.js +23 -0
  510. package/src/template-part/index.php +10 -0
  511. package/src/term-description/index.php +4 -0
  512. package/src/utils/caption.js +10 -1
  513. package/src/utils/get-transformed-metadata.js +65 -0
  514. package/src/utils/hooks.js +53 -3
  515. package/src/video/edit-common-settings.js +1 -1
  516. package/src/video/edit.js +10 -18
  517. package/src/video/edit.native.js +7 -8
  518. package/src/video/test/edit.native.js +0 -14
  519. package/tsconfig.json +1 -0
  520. package/build/list-item/hooks/use-copy.js +0 -39
  521. package/build/list-item/hooks/use-copy.js.map +0 -1
  522. package/build/site-title/edit/index.js.map +0 -1
  523. package/build-module/list-item/hooks/use-copy.js +0 -32
  524. package/build-module/list-item/hooks/use-copy.js.map +0 -1
  525. package/build-module/site-title/edit/index.js.map +0 -1
  526. package/src/list-item/hooks/use-copy.js +0 -38
  527. /package/src/site-title/{edit/index.js → edit.js} +0 -0
@@ -117,16 +117,16 @@ describe( 'useNavigationMenus', () => {
117
117
  navigationMenus: null,
118
118
  navigationMenu: undefined,
119
119
  canSwitchNavigationMenu: false,
120
- canUserCreateNavigationMenu: false,
120
+ canUserCreateNavigationMenus: false,
121
121
  canUserDeleteNavigationMenu: undefined,
122
122
  canUserUpdateNavigationMenu: undefined,
123
- hasResolvedCanUserCreateNavigationMenu: false,
123
+ hasResolvedCanUserCreateNavigationMenus: false,
124
124
  hasResolvedCanUserDeleteNavigationMenu: undefined,
125
125
  hasResolvedCanUserUpdateNavigationMenu: undefined,
126
126
  hasResolvedNavigationMenus: false,
127
127
  isNavigationMenuMissing: true,
128
128
  isNavigationMenuResolved: false,
129
- isResolvingCanUserCreateNavigationMenu: false,
129
+ isResolvingCanUserCreateNavigationMenus: false,
130
130
  isResolvingNavigationMenus: false,
131
131
  } );
132
132
  } );
@@ -139,16 +139,16 @@ describe( 'useNavigationMenus', () => {
139
139
  navigationMenus,
140
140
  navigationMenu: undefined,
141
141
  canSwitchNavigationMenu: true,
142
- canUserCreateNavigationMenu: true,
142
+ canUserCreateNavigationMenus: true,
143
143
  canUserDeleteNavigationMenu: undefined,
144
144
  canUserUpdateNavigationMenu: undefined,
145
- hasResolvedCanUserCreateNavigationMenu: true,
145
+ hasResolvedCanUserCreateNavigationMenus: true,
146
146
  hasResolvedCanUserDeleteNavigationMenu: undefined,
147
147
  hasResolvedCanUserUpdateNavigationMenu: undefined,
148
148
  hasResolvedNavigationMenus: true,
149
149
  isNavigationMenuMissing: true,
150
150
  isNavigationMenuResolved: false,
151
- isResolvingCanUserCreateNavigationMenu: false,
151
+ isResolvingCanUserCreateNavigationMenus: false,
152
152
  isResolvingNavigationMenus: false,
153
153
  } );
154
154
  } );
@@ -159,16 +159,16 @@ describe( 'useNavigationMenus', () => {
159
159
  navigationMenu: navigationMenu1,
160
160
  navigationMenus,
161
161
  canSwitchNavigationMenu: true,
162
- canUserCreateNavigationMenu: false,
162
+ canUserCreateNavigationMenus: false,
163
163
  canUserDeleteNavigationMenu: false,
164
164
  canUserUpdateNavigationMenu: false,
165
- hasResolvedCanUserCreateNavigationMenu: false,
165
+ hasResolvedCanUserCreateNavigationMenus: false,
166
166
  hasResolvedCanUserDeleteNavigationMenu: false,
167
167
  hasResolvedCanUserUpdateNavigationMenu: false,
168
168
  hasResolvedNavigationMenus: true,
169
169
  isNavigationMenuMissing: false,
170
170
  isNavigationMenuResolved: false,
171
- isResolvingCanUserCreateNavigationMenu: false,
171
+ isResolvingCanUserCreateNavigationMenus: false,
172
172
  isResolvingNavigationMenus: false,
173
173
  } );
174
174
  } );
@@ -181,16 +181,16 @@ describe( 'useNavigationMenus', () => {
181
181
  navigationMenu: navigationMenuDraft,
182
182
  navigationMenus: testMenus,
183
183
  canSwitchNavigationMenu: true,
184
- canUserCreateNavigationMenu: false,
184
+ canUserCreateNavigationMenus: false,
185
185
  canUserDeleteNavigationMenu: false,
186
186
  canUserUpdateNavigationMenu: false,
187
- hasResolvedCanUserCreateNavigationMenu: false,
187
+ hasResolvedCanUserCreateNavigationMenus: false,
188
188
  hasResolvedCanUserDeleteNavigationMenu: false,
189
189
  hasResolvedCanUserUpdateNavigationMenu: false,
190
190
  hasResolvedNavigationMenus: true,
191
191
  isNavigationMenuMissing: false,
192
192
  isNavigationMenuResolved: false,
193
- isResolvingCanUserCreateNavigationMenu: false,
193
+ isResolvingCanUserCreateNavigationMenus: false,
194
194
  isResolvingNavigationMenus: false,
195
195
  } );
196
196
  } );
@@ -205,16 +205,16 @@ describe( 'useNavigationMenus', () => {
205
205
  navigationMenu: navigationMenu1,
206
206
  navigationMenus,
207
207
  canSwitchNavigationMenu: true,
208
- canUserCreateNavigationMenu: true,
208
+ canUserCreateNavigationMenus: true,
209
209
  canUserDeleteNavigationMenu: false,
210
210
  canUserUpdateNavigationMenu: true,
211
- hasResolvedCanUserCreateNavigationMenu: true,
211
+ hasResolvedCanUserCreateNavigationMenus: true,
212
212
  hasResolvedCanUserDeleteNavigationMenu: true,
213
213
  hasResolvedCanUserUpdateNavigationMenu: true,
214
214
  hasResolvedNavigationMenus: true,
215
215
  isNavigationMenuMissing: false,
216
216
  isNavigationMenuResolved: false,
217
- isResolvingCanUserCreateNavigationMenu: false,
217
+ isResolvingCanUserCreateNavigationMenus: false,
218
218
  isResolvingNavigationMenus: false,
219
219
  } );
220
220
  } );
@@ -229,16 +229,16 @@ describe( 'useNavigationMenus', () => {
229
229
  navigationMenu: navigationMenu1,
230
230
  navigationMenus,
231
231
  canSwitchNavigationMenu: true,
232
- canUserCreateNavigationMenu: false,
232
+ canUserCreateNavigationMenus: false,
233
233
  canUserDeleteNavigationMenu: true,
234
234
  canUserUpdateNavigationMenu: false,
235
- hasResolvedCanUserCreateNavigationMenu: true,
235
+ hasResolvedCanUserCreateNavigationMenus: true,
236
236
  hasResolvedCanUserDeleteNavigationMenu: true,
237
237
  hasResolvedCanUserUpdateNavigationMenu: true,
238
238
  hasResolvedNavigationMenus: true,
239
239
  isNavigationMenuMissing: false,
240
240
  isNavigationMenuResolved: false,
241
- isResolvingCanUserCreateNavigationMenu: false,
241
+ isResolvingCanUserCreateNavigationMenus: false,
242
242
  isResolvingNavigationMenus: false,
243
243
  } );
244
244
  } );
@@ -254,16 +254,16 @@ describe( 'useNavigationMenus', () => {
254
254
  navigationMenu: requestedMenu,
255
255
  navigationMenus,
256
256
  canSwitchNavigationMenu: true,
257
- canUserCreateNavigationMenu: false,
257
+ canUserCreateNavigationMenus: false,
258
258
  canUserDeleteNavigationMenu: false,
259
259
  canUserUpdateNavigationMenu: false,
260
- hasResolvedCanUserCreateNavigationMenu: false,
260
+ hasResolvedCanUserCreateNavigationMenus: false,
261
261
  hasResolvedCanUserDeleteNavigationMenu: false,
262
262
  hasResolvedCanUserUpdateNavigationMenu: false,
263
263
  hasResolvedNavigationMenus: true,
264
264
  isNavigationMenuMissing: false,
265
265
  isNavigationMenuResolved: false,
266
- isResolvingCanUserCreateNavigationMenu: false,
266
+ isResolvingCanUserCreateNavigationMenus: false,
267
267
  isResolvingNavigationMenus: false,
268
268
  } );
269
269
  } );
@@ -27,8 +27,18 @@ export default function useNavigationMenu( ref ) {
27
27
  [ ref ]
28
28
  );
29
29
 
30
- const { canCreate, canUpdate, canDelete, isResolving, hasResolved } =
31
- permissions;
30
+ const {
31
+ // Can the user create navigation menus?
32
+ canCreate: canCreateNavigationMenus,
33
+
34
+ // Can the user update the specific navigation menu with the given post ID?
35
+ canUpdate: canUpdateNavigationMenu,
36
+
37
+ // Can the user delete the specific navigation menu with the given post ID?
38
+ canDelete: canDeleteNavigationMenu,
39
+ isResolving: isResolvingPermissions,
40
+ hasResolved: hasResolvedPermissions,
41
+ } = permissions;
32
42
 
33
43
  const {
34
44
  records: navigationMenus,
@@ -52,13 +62,17 @@ export default function useNavigationMenu( ref ) {
52
62
  isResolvingNavigationMenus,
53
63
  hasResolvedNavigationMenus,
54
64
  canSwitchNavigationMenu,
55
- canUserCreateNavigationMenu: canCreate,
56
- isResolvingCanUserCreateNavigationMenu: isResolving,
57
- hasResolvedCanUserCreateNavigationMenu: hasResolved,
58
- canUserUpdateNavigationMenu: canUpdate,
59
- hasResolvedCanUserUpdateNavigationMenu: ref ? hasResolved : undefined,
60
- canUserDeleteNavigationMenu: canDelete,
61
- hasResolvedCanUserDeleteNavigationMenu: ref ? hasResolved : undefined,
65
+ canUserCreateNavigationMenus: canCreateNavigationMenus,
66
+ isResolvingCanUserCreateNavigationMenus: isResolvingPermissions,
67
+ hasResolvedCanUserCreateNavigationMenus: hasResolvedPermissions,
68
+ canUserUpdateNavigationMenu: canUpdateNavigationMenu,
69
+ hasResolvedCanUserUpdateNavigationMenu: ref
70
+ ? hasResolvedPermissions
71
+ : undefined,
72
+ canUserDeleteNavigationMenu: canDeleteNavigationMenu,
73
+ hasResolvedCanUserDeleteNavigationMenu: ref
74
+ ? hasResolvedPermissions
75
+ : undefined,
62
76
  };
63
77
  }
64
78
 
@@ -16,7 +16,7 @@ import {
16
16
  Tooltip,
17
17
  ToolbarGroup,
18
18
  } from '@wordpress/components';
19
- import { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';
19
+ import { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';
20
20
  import { __ } from '@wordpress/i18n';
21
21
  import {
22
22
  BlockControls,
@@ -220,7 +220,7 @@ export default function NavigationLinkEdit( {
220
220
  hasChildren: !! getBlockCount( clientId ),
221
221
  };
222
222
  },
223
- [ clientId ]
223
+ [ clientId, maxNestingLevel ]
224
224
  );
225
225
 
226
226
  /**
@@ -282,7 +282,7 @@ export default function NavigationLinkEdit( {
282
282
  placeCaretAtHorizontalEdge( ref.current, true );
283
283
  }
284
284
  }
285
- }, [ url ] );
285
+ }, [ url, isLinkOpen, label ] );
286
286
 
287
287
  /**
288
288
  * Focus the Link label text and select it.
@@ -329,10 +329,11 @@ export default function NavigationLinkEdit( {
329
329
  } = getColors( context, ! isTopLevelLink );
330
330
 
331
331
  function onKeyDown( event ) {
332
- if (
333
- isKeyboardEvent.primary( event, 'k' ) ||
334
- ( ( ! url || isDraft || isInvalid ) && event.keyCode === ENTER )
335
- ) {
332
+ if ( isKeyboardEvent.primary( event, 'k' ) ) {
333
+ // Required to prevent the command center from opening,
334
+ // as it shares the CMD+K shortcut.
335
+ // See https://github.com/WordPress/gutenberg/pull/59845.
336
+ event.preventDefault();
336
337
  setIsLinkOpen( true );
337
338
  }
338
339
  }
@@ -370,7 +371,9 @@ export default function NavigationLinkEdit( {
370
371
  );
371
372
 
372
373
  if ( ! url || isInvalid || isDraft ) {
373
- blockProps.onClick = () => setIsLinkOpen( true );
374
+ blockProps.onClick = () => {
375
+ setIsLinkOpen( true );
376
+ };
374
377
  }
375
378
 
376
379
  const classes = classnames( 'wp-block-navigation-item__content', {
@@ -518,11 +521,6 @@ export default function NavigationLinkEdit( {
518
521
  'core/image',
519
522
  'core/strikethrough',
520
523
  ] }
521
- onClick={ () => {
522
- if ( ! url ) {
523
- setIsLinkOpen( true );
524
- }
525
- } }
526
524
  />
527
525
  { description && (
528
526
  <span className="wp-block-navigation-item__description">
@@ -570,6 +568,7 @@ export default function NavigationLinkEdit( {
570
568
  // Need to handle refocusing the Nav block or the inserter?
571
569
  onReplace( [] );
572
570
  }
571
+ setIsLinkOpen( false );
573
572
  } }
574
573
  anchor={ popoverAnchor }
575
574
  onRemove={ removeLink }
@@ -9,6 +9,8 @@
9
9
  * Build an array with CSS classes and inline styles defining the colors
10
10
  * which will be applied to the navigation markup in the front-end.
11
11
  *
12
+ * @since 5.9.0
13
+ *
12
14
  * @param array $context Navigation block context.
13
15
  * @param array $attributes Block attributes.
14
16
  * @param bool $is_sub_menu Whether the link is part of a sub-menu.
@@ -79,6 +81,8 @@ function block_core_navigation_link_build_css_colors( $context, $attributes, $is
79
81
  * Build an array with CSS classes and inline styles defining the font sizes
80
82
  * which will be applied to the navigation markup in the front-end.
81
83
  *
84
+ * @since 5.9.0
85
+ *
82
86
  * @param array $context Navigation block context.
83
87
  * @return array Font size CSS classes and inline styles.
84
88
  */
@@ -113,6 +117,8 @@ function block_core_navigation_link_build_css_font_sizes( $context ) {
113
117
  /**
114
118
  * Returns the top-level submenu SVG chevron icon.
115
119
  *
120
+ * @since 5.9.0
121
+ *
116
122
  * @return string
117
123
  */
118
124
  function block_core_navigation_link_render_submenu_icon() {
@@ -122,6 +128,8 @@ function block_core_navigation_link_render_submenu_icon() {
122
128
  /**
123
129
  * Decodes a url if it's encoded, returning the same url if not.
124
130
  *
131
+ * @since 6.2.0
132
+ *
125
133
  * @param string $url The url to decode.
126
134
  *
127
135
  * @return string $url Returns the decoded url.
@@ -153,6 +161,8 @@ function block_core_navigation_link_maybe_urldecode( $url ) {
153
161
  /**
154
162
  * Renders the `core/navigation-link` block.
155
163
  *
164
+ * @since 5.9.0
165
+ *
156
166
  * @param array $attributes The block attributes.
157
167
  * @param string $content The saved content.
158
168
  * @param WP_Block $block The parsed block.
@@ -269,6 +279,8 @@ function render_block_core_navigation_link( $attributes, $content, $block ) {
269
279
  /**
270
280
  * Returns a navigation link variation
271
281
  *
282
+ * @since 5.9.0
283
+ *
272
284
  * @param WP_Taxonomy|WP_Post_Type $entity post type or taxonomy entity.
273
285
  * @param string $kind string of value 'taxonomy' or 'post-type'.
274
286
  *
@@ -391,6 +403,8 @@ function block_core_navigation_link_build_variations() {
391
403
  /**
392
404
  * Registers the navigation link block.
393
405
  *
406
+ * @since 5.9.0
407
+ *
394
408
  * @uses render_block_core_navigation_link()
395
409
  * @throws WP_Error An WP_Error exception parsing the block definition.
396
410
  */
@@ -137,7 +137,7 @@ function LinkUIBlockInserter( { clientId, onBack, onSelectBlock } ) {
137
137
  clientId={ clientId }
138
138
  isAppender={ false }
139
139
  prioritizePatterns={ false }
140
- selectBlockOnInsert={ true }
140
+ selectBlockOnInsert
141
141
  hasSearch={ false }
142
142
  onSelect={ onSelectBlock }
143
143
  />
@@ -247,7 +247,7 @@ export function LinkUI( props ) {
247
247
  hasTextControl
248
248
  hasRichPreviews
249
249
  value={ link }
250
- showInitialSuggestions={ true }
250
+ showInitialSuggestions
251
251
  withCreateSuggestion={ userCanCreate }
252
252
  createSuggestion={ handleCreate }
253
253
  createSuggestionButtonText={ ( searchTerm ) => {
@@ -279,6 +279,10 @@ export default function NavigationSubmenuEdit( {
279
279
 
280
280
  function onKeyDown( event ) {
281
281
  if ( isKeyboardEvent.primary( event, 'k' ) ) {
282
+ // Required to prevent the command center from opening,
283
+ // as it shares the CMD+K shortcut.
284
+ // See https://github.com/WordPress/gutenberg/pull/59845.
285
+ event.preventDefault();
282
286
  setIsLinkOpen( true );
283
287
  }
284
288
  }
@@ -9,6 +9,8 @@
9
9
  * Build an array with CSS classes and inline styles defining the font sizes
10
10
  * which will be applied to the navigation markup in the front-end.
11
11
  *
12
+ * @since 5.9.0
13
+ *
12
14
  * @param array $context Navigation block context.
13
15
  * @return array Font size CSS classes and inline styles.
14
16
  */
@@ -43,6 +45,8 @@ function block_core_navigation_submenu_build_css_font_sizes( $context ) {
43
45
  /**
44
46
  * Returns the top-level submenu SVG chevron icon.
45
47
  *
48
+ * @since 5.9.0
49
+ *
46
50
  * @return string
47
51
  */
48
52
  function block_core_navigation_submenu_render_submenu_icon() {
@@ -52,6 +56,8 @@ function block_core_navigation_submenu_render_submenu_icon() {
52
56
  /**
53
57
  * Renders the `core/navigation-submenu` block.
54
58
  *
59
+ * @since 5.9.0
60
+ *
55
61
  * @param array $attributes The block attributes.
56
62
  * @param string $content The saved content.
57
63
  * @param WP_Block $block The parsed block.
@@ -238,6 +244,8 @@ function render_block_core_navigation_submenu( $attributes, $content, $block ) {
238
244
  /**
239
245
  * Register the navigation submenu block.
240
246
  *
247
+ * @since 5.9.0
248
+ *
241
249
  * @uses render_block_core_navigation_submenu()
242
250
  * @throws WP_Error An WP_Error exception parsing the block definition.
243
251
  */
@@ -9,6 +9,8 @@
9
9
  * Build an array with CSS classes and inline styles defining the colors
10
10
  * which will be applied to the pages markup in the front-end when it is a descendant of navigation.
11
11
  *
12
+ * @since 5.8.0
13
+ *
12
14
  * @param array $attributes Block attributes.
13
15
  * @param array $context Navigation block context.
14
16
  * @return array Colors CSS classes and inline styles.
@@ -101,6 +103,8 @@ function block_core_page_list_build_css_colors( $attributes, $context ) {
101
103
  * Build an array with CSS classes and inline styles defining the font sizes
102
104
  * which will be applied to the pages markup in the front-end when it is a descendant of navigation.
103
105
  *
106
+ * @since 5.8.0
107
+ *
104
108
  * @param array $context Navigation block context.
105
109
  * @return array Font size CSS classes and inline styles.
106
110
  */
@@ -135,6 +139,8 @@ function block_core_page_list_build_css_font_sizes( $context ) {
135
139
  /**
136
140
  * Outputs Page list markup from an array of pages with nested children.
137
141
  *
142
+ * @since 5.8.0
143
+ *
138
144
  * @param boolean $open_submenus_on_click Whether to open submenus on click instead of hover.
139
145
  * @param boolean $show_submenu_icons Whether to show submenu indicator icons.
140
146
  * @param boolean $is_navigation_child If block is a child of Navigation block.
@@ -220,6 +226,8 @@ function block_core_page_list_render_nested_page_list( $open_submenus_on_click,
220
226
  /**
221
227
  * Outputs nested array of pages
222
228
  *
229
+ * @since 5.8.0
230
+ *
223
231
  * @param array $current_level The level being iterated through.
224
232
  * @param array $children The children grouped by parent post ID.
225
233
  *
@@ -240,6 +248,8 @@ function block_core_page_list_nest_pages( $current_level, $children ) {
240
248
  /**
241
249
  * Renders the `core/page-list` block on server.
242
250
  *
251
+ * @since 5.8.0
252
+ *
243
253
  * @param array $attributes The block attributes.
244
254
  * @param string $content The saved content.
245
255
  * @param WP_Block $block The parsed block.
@@ -345,6 +355,8 @@ function render_block_core_page_list( $attributes, $content, $block ) {
345
355
 
346
356
  /**
347
357
  * Registers the `core/pages` block on server.
358
+ *
359
+ * @since 5.8.0
348
360
  */
349
361
  function register_block_core_page_list() {
350
362
  register_block_type_from_metadata(
@@ -7,6 +7,8 @@
7
7
 
8
8
  /**
9
9
  * Registers the `core/page-list-item` block on server.
10
+ *
11
+ * @since 6.3.0
10
12
  */
11
13
  function register_block_core_page_list_item() {
12
14
  register_block_type_from_metadata( __DIR__ . '/page-list-item' );
@@ -65,7 +65,7 @@ function ParagraphBlock( {
65
65
  identifier="content"
66
66
  tagName="p"
67
67
  value={ content }
68
- deleteEnter={ true }
68
+ deleteEnter
69
69
  style={ styles }
70
70
  onChange={ ( nextContent ) => {
71
71
  setAttributes( {
@@ -12,6 +12,7 @@ import {
12
12
  initializeEditor,
13
13
  render,
14
14
  setupCoreBlocks,
15
+ triggerBlockListLayout,
15
16
  waitFor,
16
17
  within,
17
18
  withFakeTimers,
@@ -213,6 +214,41 @@ describe( 'Paragraph block', () => {
213
214
  ` );
214
215
  } );
215
216
 
217
+ it( 'should inherit parent alignment', async () => {
218
+ // Arrange
219
+ const screen = await initializeEditor();
220
+ await addBlock( screen, 'Quote' );
221
+ await triggerBlockListLayout( getBlock( screen, 'Quote' ) );
222
+
223
+ // Act
224
+ const paragraphBlock = getBlock( screen, 'Paragraph' );
225
+ fireEvent.press( paragraphBlock );
226
+ const paragraphTextInput =
227
+ within( paragraphBlock ).getByPlaceholderText( 'Start writing…' );
228
+ typeInRichText(
229
+ paragraphTextInput,
230
+ 'A quick brown fox jumps over the lazy dog.'
231
+ );
232
+ fireEvent.press( screen.getByLabelText( 'Navigate Up' ) );
233
+ fireEvent.press( screen.getByLabelText( 'Align text' ) );
234
+ fireEvent.press( screen.getByLabelText( 'Align text right' ) );
235
+
236
+ // Assert
237
+ // This not an ideal assertion, as it relies implementation details of the
238
+ // component: prop names. However, the only aspect we can assert is the prop
239
+ // passed to Aztec, the native module controlling visual alignment. A less
240
+ // brittle alternative might be snapshotting, but RNTL does not yet support
241
+ // focused snapshots, which means the snapshot would be huge.
242
+ // https://github.com/facebook/react/pull/25329
243
+ expect(
244
+ screen.UNSAFE_queryAllByProps( {
245
+ value: '<p>A quick brown fox jumps over the lazy dog.</p>',
246
+ placeholder: 'Start writing…',
247
+ textAlign: 'right',
248
+ } ).length
249
+ ).toBe( 2 ); // One for Aztec mock, one for the TextInput.
250
+ } );
251
+
216
252
  it( 'should preserve alignment when split', async () => {
217
253
  // Arrange
218
254
  const screen = await initializeEditor();
@@ -97,6 +97,20 @@ const PatternEdit = ( { attributes, clientId } ) => {
97
97
  injectThemeAttributeInBlockTemplateContent( block )
98
98
  )
99
99
  );
100
+ // If the pattern has a single block and categories, we should add the
101
+ // categories of the pattern to the block's metadata.
102
+ if (
103
+ clonedBlocks.length === 1 &&
104
+ selectedPattern.categories?.length > 0
105
+ ) {
106
+ clonedBlocks[ 0 ].attributes = {
107
+ ...clonedBlocks[ 0 ].attributes,
108
+ metadata: {
109
+ ...clonedBlocks[ 0 ].attributes.metadata,
110
+ categories: selectedPattern.categories,
111
+ },
112
+ };
113
+ }
100
114
  const rootEditingMode = getBlockEditingMode( rootClientId );
101
115
  registry.batch( () => {
102
116
  // Temporarily set the root block to default mode to allow replacing the pattern.
@@ -7,6 +7,8 @@
7
7
 
8
8
  /**
9
9
  * Registers the `core/pattern` block on the server.
10
+ *
11
+ * @since 5.9.0
10
12
  */
11
13
  function register_block_core_pattern() {
12
14
  register_block_type_from_metadata(
@@ -195,6 +195,7 @@ function PostAuthorEdit( {
195
195
  <div className="wp-block-post-author__content">
196
196
  { ( ! RichText.isEmpty( byline ) || isSelected ) && (
197
197
  <RichText
198
+ identifier="byline"
198
199
  className="wp-block-post-author__byline"
199
200
  aria-label={ __( 'Post author byline text' ) }
200
201
  placeholder={ __( 'Write byline…' ) }
@@ -8,6 +8,8 @@
8
8
  /**
9
9
  * Renders the `core/post-author` block on the server.
10
10
  *
11
+ * @since 5.9.0
12
+ *
11
13
  * @param array $attributes Block attributes.
12
14
  * @param string $content Block default content.
13
15
  * @param WP_Block $block Block instance.
@@ -61,6 +63,8 @@ function render_block_core_post_author( $attributes, $content, $block ) {
61
63
 
62
64
  /**
63
65
  * Registers the `core/post-author` block on the server.
66
+ *
67
+ * @since 5.9.0
64
68
  */
65
69
  function register_block_core_post_author() {
66
70
  register_block_type_from_metadata(
@@ -8,6 +8,8 @@
8
8
  /**
9
9
  * Renders the `core/post-author-biography` block on the server.
10
10
  *
11
+ * @since 6.0.0
12
+ *
11
13
  * @param array $attributes Block attributes.
12
14
  * @param string $content Block default content.
13
15
  * @param WP_Block $block Block instance.
@@ -37,6 +39,8 @@ function render_block_core_post_author_biography( $attributes, $content, $block
37
39
 
38
40
  /**
39
41
  * Registers the `core/post-author-biography` block on the server.
42
+ *
43
+ * @since 6.0.0
40
44
  */
41
45
  function register_block_core_post_author_biography() {
42
46
  register_block_type_from_metadata(
@@ -8,6 +8,8 @@
8
8
  /**
9
9
  * Renders the `core/post-author-name` block on the server.
10
10
  *
11
+ * @since 6.2.0
12
+ *
11
13
  * @param array $attributes Block attributes.
12
14
  * @param string $content Block default content.
13
15
  * @param WP_Block $block Block instance.
@@ -43,6 +45,8 @@ function render_block_core_post_author_name( $attributes, $content, $block ) {
43
45
 
44
46
  /**
45
47
  * Registers the `core/post-author-name` block on the server.
48
+ *
49
+ * @since 6.2.0
46
50
  */
47
51
  function register_block_core_post_author_name() {
48
52
  register_block_type_from_metadata(
@@ -8,6 +8,8 @@
8
8
  /**
9
9
  * Renders the `core/post-comments-form` block on the server.
10
10
  *
11
+ * @since 6.0.0
12
+ *
11
13
  * @param array $attributes Block attributes.
12
14
  * @param string $content Block default content.
13
15
  * @param WP_Block $block Block instance.
@@ -54,6 +56,8 @@ function render_block_core_post_comments_form( $attributes, $content, $block ) {
54
56
 
55
57
  /**
56
58
  * Registers the `core/post-comments-form` block on the server.
59
+ *
60
+ * @since 6.0.0
57
61
  */
58
62
  function register_block_core_post_comments_form() {
59
63
  register_block_type_from_metadata(
@@ -68,6 +72,8 @@ add_action( 'init', 'register_block_core_post_comments_form' );
68
72
  /**
69
73
  * Use the button block classes for the form-submit button.
70
74
  *
75
+ * @since 6.0.0
76
+ *
71
77
  * @param array $fields The default comment form arguments.
72
78
  *
73
79
  * @return array Returns the modified fields.
@@ -8,6 +8,8 @@
8
8
  /**
9
9
  * Renders the `core/post-content` block on the server.
10
10
  *
11
+ * @since 5.8.0
12
+ *
11
13
  * @param array $attributes Block attributes.
12
14
  * @param string $content Block default content.
13
15
  * @param WP_Block $block Block instance.
@@ -63,6 +65,8 @@ function render_block_core_post_content( $attributes, $content, $block ) {
63
65
 
64
66
  /**
65
67
  * Registers the `core/post-content` block on the server.
68
+ *
69
+ * @since 5.8.0
66
70
  */
67
71
  function register_block_core_post_content() {
68
72
  register_block_type_from_metadata(
@@ -8,6 +8,8 @@
8
8
  /**
9
9
  * Renders the `core/post-date` block on the server.
10
10
  *
11
+ * @since 5.8.0
12
+ *
11
13
  * @param array $attributes Block attributes.
12
14
  * @param string $content Block default content.
13
15
  * @param WP_Block $block Block instance.
@@ -60,6 +62,8 @@ function render_block_core_post_date( $attributes, $content, $block ) {
60
62
 
61
63
  /**
62
64
  * Registers the `core/post-date` block on the server.
65
+ *
66
+ * @since 5.8.0
63
67
  */
64
68
  function register_block_core_post_date() {
65
69
  register_block_type_from_metadata(