@wordpress/block-library 8.2.0 → 8.3.1

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 (797) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/babel-plugin.js +1 -1
  3. package/build/archives/index.js +1 -0
  4. package/build/archives/index.js.map +1 -1
  5. package/build/avatar/index.js +1 -0
  6. package/build/avatar/index.js.map +1 -1
  7. package/build/block/edit.js +1 -0
  8. package/build/block/edit.js.map +1 -1
  9. package/build/button/edit.js +2 -1
  10. package/build/button/edit.js.map +1 -1
  11. package/build/button/index.js +1 -0
  12. package/build/button/index.js.map +1 -1
  13. package/build/buttons/edit.js +0 -2
  14. package/build/buttons/edit.js.map +1 -1
  15. package/build/calendar/index.js +1 -0
  16. package/build/calendar/index.js.map +1 -1
  17. package/build/categories/edit.js +3 -3
  18. package/build/categories/edit.js.map +1 -1
  19. package/build/categories/index.js +1 -0
  20. package/build/categories/index.js.map +1 -1
  21. package/build/column/edit.native.js +2 -1
  22. package/build/column/edit.native.js.map +1 -1
  23. package/build/columns/deprecated.js +1 -1
  24. package/build/columns/deprecated.js.map +1 -1
  25. package/build/comment-author-avatar/index.js +1 -0
  26. package/build/comment-author-avatar/index.js.map +1 -1
  27. package/build/comment-author-name/index.js +1 -0
  28. package/build/comment-author-name/index.js.map +1 -1
  29. package/build/comment-content/index.js +1 -0
  30. package/build/comment-content/index.js.map +1 -1
  31. package/build/comment-date/index.js +1 -0
  32. package/build/comment-date/index.js.map +1 -1
  33. package/build/comment-edit-link/index.js +1 -0
  34. package/build/comment-edit-link/index.js.map +1 -1
  35. package/build/comment-reply-link/index.js +1 -0
  36. package/build/comment-reply-link/index.js.map +1 -1
  37. package/build/comment-template/index.js +1 -0
  38. package/build/comment-template/index.js.map +1 -1
  39. package/build/comments/edit/comments-inspector-controls.js +1 -1
  40. package/build/comments/edit/comments-inspector-controls.js.map +1 -1
  41. package/build/comments/index.js +2 -1
  42. package/build/comments/index.js.map +1 -1
  43. package/build/comments-pagination/comments-pagination-arrow-controls.js +1 -0
  44. package/build/comments-pagination/comments-pagination-arrow-controls.js.map +1 -1
  45. package/build/comments-pagination/edit.js +3 -14
  46. package/build/comments-pagination/edit.js.map +1 -1
  47. package/build/comments-pagination/index.js +1 -0
  48. package/build/comments-pagination/index.js.map +1 -1
  49. package/build/comments-pagination-next/index.js +1 -0
  50. package/build/comments-pagination-next/index.js.map +1 -1
  51. package/build/comments-pagination-numbers/index.js +1 -0
  52. package/build/comments-pagination-numbers/index.js.map +1 -1
  53. package/build/comments-pagination-previous/index.js +1 -0
  54. package/build/comments-pagination-previous/index.js.map +1 -1
  55. package/build/cover/deprecated.js +153 -30
  56. package/build/cover/deprecated.js.map +1 -1
  57. package/build/cover/edit/index.js +4 -3
  58. package/build/cover/edit/index.js.map +1 -1
  59. package/build/cover/edit/inspector-controls.js +45 -4
  60. package/build/cover/edit/inspector-controls.js.map +1 -1
  61. package/build/cover/edit.native.js +0 -4
  62. package/build/cover/edit.native.js.map +1 -1
  63. package/build/cover/index.js +4 -0
  64. package/build/cover/index.js.map +1 -1
  65. package/build/cover/save.js +3 -2
  66. package/build/cover/save.js.map +1 -1
  67. package/build/embed/variations.js +1 -1
  68. package/build/embed/variations.js.map +1 -1
  69. package/build/experiments.js +19 -0
  70. package/build/experiments.js.map +1 -0
  71. package/build/gallery/deprecated.js +6 -4
  72. package/build/gallery/deprecated.js.map +1 -1
  73. package/build/gallery/edit.js +48 -7
  74. package/build/gallery/edit.js.map +1 -1
  75. package/build/gallery/gallery.js +8 -34
  76. package/build/gallery/gallery.js.map +1 -1
  77. package/build/gallery/v1/edit.js +5 -5
  78. package/build/gallery/v1/edit.js.map +1 -1
  79. package/build/group/deprecated.js +1 -1
  80. package/build/group/deprecated.js.map +1 -1
  81. package/build/group/edit.js +1 -2
  82. package/build/group/edit.js.map +1 -1
  83. package/build/heading/index.js +1 -7
  84. package/build/heading/index.js.map +1 -1
  85. package/build/home-link/index.js +1 -0
  86. package/build/home-link/index.js.map +1 -1
  87. package/build/image/edit.native.js +2 -2
  88. package/build/image/edit.native.js.map +1 -1
  89. package/build/image/image.js +12 -15
  90. package/build/image/image.js.map +1 -1
  91. package/build/latest-comments/index.js +1 -0
  92. package/build/latest-comments/index.js.map +1 -1
  93. package/build/latest-posts/deprecated.js +1 -0
  94. package/build/latest-posts/deprecated.js.map +1 -1
  95. package/build/latest-posts/index.js +1 -0
  96. package/build/latest-posts/index.js.map +1 -1
  97. package/build/list/ordered-list-settings.js +1 -0
  98. package/build/list/ordered-list-settings.js.map +1 -1
  99. package/build/loginout/index.js +1 -0
  100. package/build/loginout/index.js.map +1 -1
  101. package/build/media-text/edit.js +2 -4
  102. package/build/media-text/edit.js.map +1 -1
  103. package/build/missing/edit.native.js +4 -4
  104. package/build/missing/edit.native.js.map +1 -1
  105. package/build/navigation/edit/deleted-navigation-warning.js +31 -0
  106. package/build/navigation/edit/deleted-navigation-warning.js.map +1 -0
  107. package/build/navigation/edit/index.js +19 -11
  108. package/build/navigation/edit/index.js.map +1 -1
  109. package/build/navigation/edit/inner-blocks.js +0 -5
  110. package/build/navigation/edit/inner-blocks.js.map +1 -1
  111. package/build/navigation/edit/manage-menus-button.js +9 -2
  112. package/build/navigation/edit/manage-menus-button.js.map +1 -1
  113. package/build/navigation/edit/menu-inspector-controls.js +39 -48
  114. package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
  115. package/build/navigation/edit/navigation-menu-delete-control.js +0 -1
  116. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  117. package/build/navigation/edit/navigation-menu-name-control.js +1 -0
  118. package/build/navigation/edit/navigation-menu-name-control.js.map +1 -1
  119. package/build/navigation/edit/navigation-menu-selector.js +11 -52
  120. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  121. package/build/navigation/edit/overlay-menu-preview.js +1 -0
  122. package/build/navigation/edit/overlay-menu-preview.js.map +1 -1
  123. package/build/navigation/edit/placeholder/index.js +1 -6
  124. package/build/navigation/edit/placeholder/index.js.map +1 -1
  125. package/build/navigation/index.js +5 -0
  126. package/build/navigation/index.js.map +1 -1
  127. package/build/navigation/menu-items-to-blocks.js +0 -2
  128. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  129. package/build/navigation-link/edit.js +17 -8
  130. package/build/navigation-link/edit.js.map +1 -1
  131. package/build/navigation-submenu/edit.js +4 -0
  132. package/build/navigation-submenu/edit.js.map +1 -1
  133. package/build/navigation-submenu/index.js +13 -3
  134. package/build/navigation-submenu/index.js.map +1 -1
  135. package/build/page-list/edit.js +153 -132
  136. package/build/page-list/edit.js.map +1 -1
  137. package/build/page-list/index.js +2 -11
  138. package/build/page-list/index.js.map +1 -1
  139. package/build/page-list/{convert-to-navigation-links.js → use-convert-to-navigation-links.js} +41 -9
  140. package/build/page-list/use-convert-to-navigation-links.js.map +1 -0
  141. package/build/page-list-item/edit.js +4 -2
  142. package/build/page-list-item/edit.js.map +1 -1
  143. package/build/page-list-item/index.js +1 -1
  144. package/build/page-list-item/index.js.map +1 -1
  145. package/build/paragraph/edit.js +1 -1
  146. package/build/paragraph/edit.js.map +1 -1
  147. package/build/paragraph/index.js +1 -7
  148. package/build/paragraph/index.js.map +1 -1
  149. package/build/post-author/index.js +1 -0
  150. package/build/post-author/index.js.map +1 -1
  151. package/build/post-author-biography/index.js +1 -0
  152. package/build/post-author-biography/index.js.map +1 -1
  153. package/build/post-author-name/index.js +1 -1
  154. package/build/post-comment/edit.js +1 -0
  155. package/build/post-comment/edit.js.map +1 -1
  156. package/build/post-comments-count/index.js +1 -0
  157. package/build/post-comments-count/index.js.map +1 -1
  158. package/build/post-comments-form/index.js +1 -0
  159. package/build/post-comments-form/index.js.map +1 -1
  160. package/build/post-comments-link/index.js +1 -0
  161. package/build/post-comments-link/index.js.map +1 -1
  162. package/build/post-content/edit.js +1 -20
  163. package/build/post-content/edit.js.map +1 -1
  164. package/build/post-content/index.js +1 -0
  165. package/build/post-content/index.js.map +1 -1
  166. package/build/post-date/index.js +1 -0
  167. package/build/post-date/index.js.map +1 -1
  168. package/build/post-excerpt/edit.js +6 -1
  169. package/build/post-excerpt/edit.js.map +1 -1
  170. package/build/post-excerpt/index.js +1 -0
  171. package/build/post-excerpt/index.js.map +1 -1
  172. package/build/post-featured-image/dimension-controls.js +2 -1
  173. package/build/post-featured-image/dimension-controls.js.map +1 -1
  174. package/build/post-featured-image/edit.js +39 -22
  175. package/build/post-featured-image/edit.js.map +1 -1
  176. package/build/post-featured-image/index.js +1 -0
  177. package/build/post-featured-image/index.js.map +1 -1
  178. package/build/post-featured-image/overlay.js +1 -1
  179. package/build/post-featured-image/overlay.js.map +1 -1
  180. package/build/post-navigation-link/edit.js +1 -0
  181. package/build/post-navigation-link/edit.js.map +1 -1
  182. package/build/post-navigation-link/index.js +1 -0
  183. package/build/post-navigation-link/index.js.map +1 -1
  184. package/build/post-template/edit.js +6 -4
  185. package/build/post-template/edit.js.map +1 -1
  186. package/build/post-template/index.js +1 -0
  187. package/build/post-template/index.js.map +1 -1
  188. package/build/post-terms/edit.js +5 -4
  189. package/build/post-terms/edit.js.map +1 -1
  190. package/build/post-terms/index.js +1 -0
  191. package/build/post-terms/index.js.map +1 -1
  192. package/build/post-title/edit.js +1 -0
  193. package/build/post-title/edit.js.map +1 -1
  194. package/build/post-title/index.js +1 -0
  195. package/build/post-title/index.js.map +1 -1
  196. package/build/query/deprecated.js +90 -1
  197. package/build/query/deprecated.js.map +1 -1
  198. package/build/query/edit/index.js +2 -50
  199. package/build/query/edit/index.js.map +1 -1
  200. package/build/query/edit/inspector-controls/index.js +1 -0
  201. package/build/query/edit/inspector-controls/index.js.map +1 -1
  202. package/build/query/edit/inspector-controls/taxonomy-controls.js +2 -2
  203. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  204. package/build/query/edit/pattern-selection-modal.js +88 -0
  205. package/build/query/edit/pattern-selection-modal.js.map +1 -0
  206. package/build/query/edit/query-content.js +3 -24
  207. package/build/query/edit/query-content.js.map +1 -1
  208. package/build/query/edit/query-placeholder.js +2 -2
  209. package/build/query/edit/query-placeholder.js.map +1 -1
  210. package/build/query/edit/query-toolbar.js +6 -11
  211. package/build/query/edit/query-toolbar.js.map +1 -1
  212. package/build/query/index.js +1 -0
  213. package/build/query/index.js.map +1 -1
  214. package/build/query/utils.js +25 -3
  215. package/build/query/utils.js.map +1 -1
  216. package/build/query-no-results/index.js +1 -0
  217. package/build/query-no-results/index.js.map +1 -1
  218. package/build/query-pagination/edit.js +3 -14
  219. package/build/query-pagination/edit.js.map +1 -1
  220. package/build/query-pagination/index.js +1 -0
  221. package/build/query-pagination/index.js.map +1 -1
  222. package/build/query-pagination/query-pagination-arrow-controls.js +1 -0
  223. package/build/query-pagination/query-pagination-arrow-controls.js.map +1 -1
  224. package/build/query-pagination-next/index.js +1 -0
  225. package/build/query-pagination-next/index.js.map +1 -1
  226. package/build/query-pagination-numbers/index.js +1 -0
  227. package/build/query-pagination-numbers/index.js.map +1 -1
  228. package/build/query-pagination-previous/index.js +1 -0
  229. package/build/query-pagination-previous/index.js.map +1 -1
  230. package/build/query-title/index.js +1 -0
  231. package/build/query-title/index.js.map +1 -1
  232. package/build/read-more/index.js +1 -0
  233. package/build/read-more/index.js.map +1 -1
  234. package/build/rss/edit.js +5 -2
  235. package/build/rss/edit.js.map +1 -1
  236. package/build/rss/index.js +1 -0
  237. package/build/rss/index.js.map +1 -1
  238. package/build/search/index.js +1 -0
  239. package/build/search/index.js.map +1 -1
  240. package/build/site-logo/edit.js +9 -13
  241. package/build/site-logo/edit.js.map +1 -1
  242. package/build/site-logo/index.js +1 -0
  243. package/build/site-logo/index.js.map +1 -1
  244. package/build/site-tagline/index.js +1 -0
  245. package/build/site-tagline/index.js.map +1 -1
  246. package/build/site-title/index.js +1 -0
  247. package/build/site-title/index.js.map +1 -1
  248. package/build/social-link/edit.js +3 -1
  249. package/build/social-link/edit.js.map +1 -1
  250. package/build/social-link/index.js +1 -0
  251. package/build/social-link/index.js.map +1 -1
  252. package/build/social-links/edit.js +3 -14
  253. package/build/social-links/edit.js.map +1 -1
  254. package/build/table/edit.js +9 -5
  255. package/build/table/edit.js.map +1 -1
  256. package/build/table/index.js +15 -0
  257. package/build/table/index.js.map +1 -1
  258. package/build/table/save.js +4 -2
  259. package/build/table/save.js.map +1 -1
  260. package/build/table/state.js +1 -1
  261. package/build/table/state.js.map +1 -1
  262. package/build/table/transforms.js +47 -3
  263. package/build/table/transforms.js.map +1 -1
  264. package/build/table/utils.js +26 -0
  265. package/build/table/utils.js.map +1 -0
  266. package/build/tag-cloud/edit.js +3 -9
  267. package/build/tag-cloud/edit.js.map +1 -1
  268. package/build/tag-cloud/index.js +1 -0
  269. package/build/tag-cloud/index.js.map +1 -1
  270. package/build/template-part/edit/advanced-controls.js +2 -1
  271. package/build/template-part/edit/advanced-controls.js.map +1 -1
  272. package/build/template-part/edit/index.js +0 -1
  273. package/build/template-part/edit/index.js.map +1 -1
  274. package/build/template-part/edit/selection-modal.js +3 -3
  275. package/build/template-part/edit/selection-modal.js.map +1 -1
  276. package/build/template-part/edit/title-modal.js +6 -5
  277. package/build/template-part/edit/title-modal.js.map +1 -1
  278. package/build/template-part/edit/utils/hooks.js +2 -2
  279. package/build/template-part/edit/utils/hooks.js.map +1 -1
  280. package/build/template-part/index.js +1 -0
  281. package/build/template-part/index.js.map +1 -1
  282. package/build/term-description/index.js +1 -0
  283. package/build/term-description/index.js.map +1 -1
  284. package/build/utils/init-block.js +1 -1
  285. package/build/utils/init-block.js.map +1 -1
  286. package/build/utils/init-block.native.js +1 -1
  287. package/build/utils/init-block.native.js.map +1 -1
  288. package/build/{template-part/edit/utils/search.js → utils/search-patterns.js} +3 -1
  289. package/build/utils/search-patterns.js.map +1 -0
  290. package/build/video/tracks-editor.js +17 -11
  291. package/build/video/tracks-editor.js.map +1 -1
  292. package/build-module/archives/index.js +1 -0
  293. package/build-module/archives/index.js.map +1 -1
  294. package/build-module/avatar/index.js +1 -0
  295. package/build-module/avatar/index.js.map +1 -1
  296. package/build-module/block/edit.js +1 -0
  297. package/build-module/block/edit.js.map +1 -1
  298. package/build-module/button/edit.js +2 -1
  299. package/build-module/button/edit.js.map +1 -1
  300. package/build-module/button/index.js +1 -0
  301. package/build-module/button/index.js.map +1 -1
  302. package/build-module/buttons/edit.js +0 -2
  303. package/build-module/buttons/edit.js.map +1 -1
  304. package/build-module/calendar/index.js +1 -0
  305. package/build-module/calendar/index.js.map +1 -1
  306. package/build-module/categories/edit.js +2 -2
  307. package/build-module/categories/edit.js.map +1 -1
  308. package/build-module/categories/index.js +1 -0
  309. package/build-module/categories/index.js.map +1 -1
  310. package/build-module/column/edit.native.js +2 -1
  311. package/build-module/column/edit.native.js.map +1 -1
  312. package/build-module/columns/deprecated.js +1 -1
  313. package/build-module/columns/deprecated.js.map +1 -1
  314. package/build-module/comment-author-avatar/index.js +1 -0
  315. package/build-module/comment-author-avatar/index.js.map +1 -1
  316. package/build-module/comment-author-name/index.js +1 -0
  317. package/build-module/comment-author-name/index.js.map +1 -1
  318. package/build-module/comment-content/index.js +1 -0
  319. package/build-module/comment-content/index.js.map +1 -1
  320. package/build-module/comment-date/index.js +1 -0
  321. package/build-module/comment-date/index.js.map +1 -1
  322. package/build-module/comment-edit-link/index.js +1 -0
  323. package/build-module/comment-edit-link/index.js.map +1 -1
  324. package/build-module/comment-reply-link/index.js +1 -0
  325. package/build-module/comment-reply-link/index.js.map +1 -1
  326. package/build-module/comment-template/index.js +1 -0
  327. package/build-module/comment-template/index.js.map +1 -1
  328. package/build-module/comments/edit/comments-inspector-controls.js +1 -1
  329. package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
  330. package/build-module/comments/index.js +2 -1
  331. package/build-module/comments/index.js.map +1 -1
  332. package/build-module/comments-pagination/comments-pagination-arrow-controls.js +1 -0
  333. package/build-module/comments-pagination/comments-pagination-arrow-controls.js.map +1 -1
  334. package/build-module/comments-pagination/edit.js +3 -14
  335. package/build-module/comments-pagination/edit.js.map +1 -1
  336. package/build-module/comments-pagination/index.js +1 -0
  337. package/build-module/comments-pagination/index.js.map +1 -1
  338. package/build-module/comments-pagination-next/index.js +1 -0
  339. package/build-module/comments-pagination-next/index.js.map +1 -1
  340. package/build-module/comments-pagination-numbers/index.js +1 -0
  341. package/build-module/comments-pagination-numbers/index.js.map +1 -1
  342. package/build-module/comments-pagination-previous/index.js +1 -0
  343. package/build-module/comments-pagination-previous/index.js.map +1 -1
  344. package/build-module/cover/deprecated.js +155 -31
  345. package/build-module/cover/deprecated.js.map +1 -1
  346. package/build-module/cover/edit/index.js +4 -3
  347. package/build-module/cover/edit/index.js.map +1 -1
  348. package/build-module/cover/edit/inspector-controls.js +46 -5
  349. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  350. package/build-module/cover/edit.native.js +0 -4
  351. package/build-module/cover/edit.native.js.map +1 -1
  352. package/build-module/cover/index.js +4 -0
  353. package/build-module/cover/index.js.map +1 -1
  354. package/build-module/cover/save.js +3 -2
  355. package/build-module/cover/save.js.map +1 -1
  356. package/build-module/embed/variations.js +1 -1
  357. package/build-module/embed/variations.js.map +1 -1
  358. package/build-module/experiments.js +9 -0
  359. package/build-module/experiments.js.map +1 -0
  360. package/build-module/gallery/deprecated.js +6 -3
  361. package/build-module/gallery/deprecated.js.map +1 -1
  362. package/build-module/gallery/edit.js +50 -10
  363. package/build-module/gallery/edit.js.map +1 -1
  364. package/build-module/gallery/gallery.js +9 -35
  365. package/build-module/gallery/gallery.js.map +1 -1
  366. package/build-module/gallery/v1/edit.js +6 -6
  367. package/build-module/gallery/v1/edit.js.map +1 -1
  368. package/build-module/group/deprecated.js +1 -1
  369. package/build-module/group/deprecated.js.map +1 -1
  370. package/build-module/group/edit.js +1 -2
  371. package/build-module/group/edit.js.map +1 -1
  372. package/build-module/heading/index.js +1 -6
  373. package/build-module/heading/index.js.map +1 -1
  374. package/build-module/home-link/index.js +1 -0
  375. package/build-module/home-link/index.js.map +1 -1
  376. package/build-module/image/edit.native.js +2 -2
  377. package/build-module/image/edit.native.js.map +1 -1
  378. package/build-module/image/image.js +14 -17
  379. package/build-module/image/image.js.map +1 -1
  380. package/build-module/latest-comments/index.js +1 -0
  381. package/build-module/latest-comments/index.js.map +1 -1
  382. package/build-module/latest-posts/deprecated.js +1 -0
  383. package/build-module/latest-posts/deprecated.js.map +1 -1
  384. package/build-module/latest-posts/index.js +1 -0
  385. package/build-module/latest-posts/index.js.map +1 -1
  386. package/build-module/list/ordered-list-settings.js +1 -0
  387. package/build-module/list/ordered-list-settings.js.map +1 -1
  388. package/build-module/loginout/index.js +1 -0
  389. package/build-module/loginout/index.js.map +1 -1
  390. package/build-module/media-text/edit.js +2 -3
  391. package/build-module/media-text/edit.js.map +1 -1
  392. package/build-module/missing/edit.native.js +4 -4
  393. package/build-module/missing/edit.native.js.map +1 -1
  394. package/build-module/navigation/edit/deleted-navigation-warning.js +21 -0
  395. package/build-module/navigation/edit/deleted-navigation-warning.js.map +1 -0
  396. package/build-module/navigation/edit/index.js +18 -11
  397. package/build-module/navigation/edit/index.js.map +1 -1
  398. package/build-module/navigation/edit/inner-blocks.js +0 -5
  399. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  400. package/build-module/navigation/edit/manage-menus-button.js +10 -3
  401. package/build-module/navigation/edit/manage-menus-button.js.map +1 -1
  402. package/build-module/navigation/edit/menu-inspector-controls.js +38 -49
  403. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
  404. package/build-module/navigation/edit/navigation-menu-delete-control.js +0 -1
  405. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  406. package/build-module/navigation/edit/navigation-menu-name-control.js +1 -0
  407. package/build-module/navigation/edit/navigation-menu-name-control.js.map +1 -1
  408. package/build-module/navigation/edit/navigation-menu-selector.js +13 -54
  409. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  410. package/build-module/navigation/edit/overlay-menu-preview.js +1 -0
  411. package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -1
  412. package/build-module/navigation/edit/placeholder/index.js +1 -6
  413. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  414. package/build-module/navigation/index.js +5 -0
  415. package/build-module/navigation/index.js.map +1 -1
  416. package/build-module/navigation/menu-items-to-blocks.js +0 -2
  417. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  418. package/build-module/navigation-link/edit.js +16 -7
  419. package/build-module/navigation-link/edit.js.map +1 -1
  420. package/build-module/navigation-submenu/edit.js +4 -0
  421. package/build-module/navigation-submenu/edit.js.map +1 -1
  422. package/build-module/navigation-submenu/index.js +14 -4
  423. package/build-module/navigation-submenu/index.js.map +1 -1
  424. package/build-module/page-list/edit.js +155 -132
  425. package/build-module/page-list/edit.js.map +1 -1
  426. package/build-module/page-list/index.js +3 -12
  427. package/build-module/page-list/index.js.map +1 -1
  428. package/build-module/page-list/{convert-to-navigation-links.js → use-convert-to-navigation-links.js} +37 -7
  429. package/build-module/page-list/use-convert-to-navigation-links.js.map +1 -0
  430. package/build-module/page-list-item/edit.js +3 -2
  431. package/build-module/page-list-item/edit.js.map +1 -1
  432. package/build-module/page-list-item/index.js +1 -1
  433. package/build-module/page-list-item/index.js.map +1 -1
  434. package/build-module/paragraph/edit.js +1 -1
  435. package/build-module/paragraph/edit.js.map +1 -1
  436. package/build-module/paragraph/index.js +1 -6
  437. package/build-module/paragraph/index.js.map +1 -1
  438. package/build-module/post-author/index.js +1 -0
  439. package/build-module/post-author/index.js.map +1 -1
  440. package/build-module/post-author-biography/index.js +1 -0
  441. package/build-module/post-author-biography/index.js.map +1 -1
  442. package/build-module/post-author-name/index.js +1 -1
  443. package/build-module/post-comment/edit.js +1 -0
  444. package/build-module/post-comment/edit.js.map +1 -1
  445. package/build-module/post-comments-count/index.js +1 -0
  446. package/build-module/post-comments-count/index.js.map +1 -1
  447. package/build-module/post-comments-form/index.js +1 -0
  448. package/build-module/post-comments-form/index.js.map +1 -1
  449. package/build-module/post-comments-link/index.js +1 -0
  450. package/build-module/post-comments-link/index.js.map +1 -1
  451. package/build-module/post-content/edit.js +2 -20
  452. package/build-module/post-content/edit.js.map +1 -1
  453. package/build-module/post-content/index.js +1 -0
  454. package/build-module/post-content/index.js.map +1 -1
  455. package/build-module/post-date/index.js +1 -0
  456. package/build-module/post-date/index.js.map +1 -1
  457. package/build-module/post-excerpt/edit.js +6 -1
  458. package/build-module/post-excerpt/edit.js.map +1 -1
  459. package/build-module/post-excerpt/index.js +1 -0
  460. package/build-module/post-excerpt/index.js.map +1 -1
  461. package/build-module/post-featured-image/dimension-controls.js +2 -1
  462. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  463. package/build-module/post-featured-image/edit.js +39 -22
  464. package/build-module/post-featured-image/edit.js.map +1 -1
  465. package/build-module/post-featured-image/index.js +1 -0
  466. package/build-module/post-featured-image/index.js.map +1 -1
  467. package/build-module/post-featured-image/overlay.js +1 -1
  468. package/build-module/post-featured-image/overlay.js.map +1 -1
  469. package/build-module/post-navigation-link/edit.js +1 -0
  470. package/build-module/post-navigation-link/edit.js.map +1 -1
  471. package/build-module/post-navigation-link/index.js +1 -0
  472. package/build-module/post-navigation-link/index.js.map +1 -1
  473. package/build-module/post-template/edit.js +6 -4
  474. package/build-module/post-template/edit.js.map +1 -1
  475. package/build-module/post-template/index.js +1 -0
  476. package/build-module/post-template/index.js.map +1 -1
  477. package/build-module/post-terms/edit.js +4 -3
  478. package/build-module/post-terms/edit.js.map +1 -1
  479. package/build-module/post-terms/index.js +1 -0
  480. package/build-module/post-terms/index.js.map +1 -1
  481. package/build-module/post-title/edit.js +1 -0
  482. package/build-module/post-title/edit.js.map +1 -1
  483. package/build-module/post-title/index.js +1 -0
  484. package/build-module/post-title/index.js.map +1 -1
  485. package/build-module/query/deprecated.js +87 -1
  486. package/build-module/query/deprecated.js.map +1 -1
  487. package/build-module/query/edit/index.js +4 -50
  488. package/build-module/query/edit/index.js.map +1 -1
  489. package/build-module/query/edit/inspector-controls/index.js +1 -0
  490. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  491. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +2 -2
  492. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  493. package/build-module/query/edit/pattern-selection-modal.js +75 -0
  494. package/build-module/query/edit/pattern-selection-modal.js.map +1 -0
  495. package/build-module/query/edit/query-content.js +4 -25
  496. package/build-module/query/edit/query-content.js.map +1 -1
  497. package/build-module/query/edit/query-placeholder.js +2 -2
  498. package/build-module/query/edit/query-placeholder.js.map +1 -1
  499. package/build-module/query/edit/query-toolbar.js +6 -10
  500. package/build-module/query/edit/query-toolbar.js.map +1 -1
  501. package/build-module/query/index.js +1 -0
  502. package/build-module/query/index.js.map +1 -1
  503. package/build-module/query/utils.js +21 -2
  504. package/build-module/query/utils.js.map +1 -1
  505. package/build-module/query-no-results/index.js +1 -0
  506. package/build-module/query-no-results/index.js.map +1 -1
  507. package/build-module/query-pagination/edit.js +3 -14
  508. package/build-module/query-pagination/edit.js.map +1 -1
  509. package/build-module/query-pagination/index.js +1 -0
  510. package/build-module/query-pagination/index.js.map +1 -1
  511. package/build-module/query-pagination/query-pagination-arrow-controls.js +1 -0
  512. package/build-module/query-pagination/query-pagination-arrow-controls.js.map +1 -1
  513. package/build-module/query-pagination-next/index.js +1 -0
  514. package/build-module/query-pagination-next/index.js.map +1 -1
  515. package/build-module/query-pagination-numbers/index.js +1 -0
  516. package/build-module/query-pagination-numbers/index.js.map +1 -1
  517. package/build-module/query-pagination-previous/index.js +1 -0
  518. package/build-module/query-pagination-previous/index.js.map +1 -1
  519. package/build-module/query-title/index.js +1 -0
  520. package/build-module/query-title/index.js.map +1 -1
  521. package/build-module/read-more/index.js +1 -0
  522. package/build-module/read-more/index.js.map +1 -1
  523. package/build-module/rss/edit.js +6 -3
  524. package/build-module/rss/edit.js.map +1 -1
  525. package/build-module/rss/index.js +1 -0
  526. package/build-module/rss/index.js.map +1 -1
  527. package/build-module/search/index.js +1 -0
  528. package/build-module/search/index.js.map +1 -1
  529. package/build-module/site-logo/edit.js +10 -14
  530. package/build-module/site-logo/edit.js.map +1 -1
  531. package/build-module/site-logo/index.js +1 -0
  532. package/build-module/site-logo/index.js.map +1 -1
  533. package/build-module/site-tagline/index.js +1 -0
  534. package/build-module/site-tagline/index.js.map +1 -1
  535. package/build-module/site-title/index.js +1 -0
  536. package/build-module/site-title/index.js.map +1 -1
  537. package/build-module/social-link/edit.js +3 -1
  538. package/build-module/social-link/edit.js.map +1 -1
  539. package/build-module/social-link/index.js +1 -0
  540. package/build-module/social-link/index.js.map +1 -1
  541. package/build-module/social-links/edit.js +3 -14
  542. package/build-module/social-links/edit.js.map +1 -1
  543. package/build-module/table/edit.js +9 -5
  544. package/build-module/table/edit.js.map +1 -1
  545. package/build-module/table/index.js +15 -0
  546. package/build-module/table/index.js.map +1 -1
  547. package/build-module/table/save.js +4 -2
  548. package/build-module/table/save.js.map +1 -1
  549. package/build-module/table/state.js +1 -1
  550. package/build-module/table/state.js.map +1 -1
  551. package/build-module/table/transforms.js +46 -3
  552. package/build-module/table/transforms.js.map +1 -1
  553. package/build-module/table/utils.js +19 -0
  554. package/build-module/table/utils.js.map +1 -0
  555. package/build-module/tag-cloud/edit.js +4 -9
  556. package/build-module/tag-cloud/edit.js.map +1 -1
  557. package/build-module/tag-cloud/index.js +1 -0
  558. package/build-module/tag-cloud/index.js.map +1 -1
  559. package/build-module/template-part/edit/advanced-controls.js +2 -1
  560. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  561. package/build-module/template-part/edit/index.js +0 -1
  562. package/build-module/template-part/edit/index.js.map +1 -1
  563. package/build-module/template-part/edit/selection-modal.js +1 -1
  564. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  565. package/build-module/template-part/edit/title-modal.js +7 -6
  566. package/build-module/template-part/edit/title-modal.js.map +1 -1
  567. package/build-module/template-part/edit/utils/hooks.js +2 -2
  568. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  569. package/build-module/template-part/index.js +1 -0
  570. package/build-module/template-part/index.js.map +1 -1
  571. package/build-module/term-description/index.js +1 -0
  572. package/build-module/term-description/index.js.map +1 -1
  573. package/build-module/utils/init-block.js +1 -1
  574. package/build-module/utils/init-block.js.map +1 -1
  575. package/build-module/utils/init-block.native.js +1 -1
  576. package/build-module/utils/init-block.native.js.map +1 -1
  577. package/build-module/{template-part/edit/utils/search.js → utils/search-patterns.js} +3 -5
  578. package/build-module/utils/search-patterns.js.map +1 -0
  579. package/build-module/video/tracks-editor.js +18 -12
  580. package/build-module/video/tracks-editor.js.map +1 -1
  581. package/build-style/common-rtl.css +14 -0
  582. package/build-style/common.css +14 -0
  583. package/build-style/editor-rtl.css +14 -67
  584. package/build-style/editor.css +14 -67
  585. package/build-style/post-excerpt/style-rtl.css +15 -0
  586. package/build-style/post-excerpt/style.css +15 -0
  587. package/build-style/query/editor-rtl.css +11 -14
  588. package/build-style/query/editor.css +11 -14
  589. package/build-style/rss/editor-rtl.css +3 -16
  590. package/build-style/rss/editor.css +3 -16
  591. package/build-style/style-rtl.css +29 -0
  592. package/build-style/style.css +29 -0
  593. package/build-style/table/editor-rtl.css +0 -3
  594. package/build-style/table/editor.css +0 -3
  595. package/build-style/video/editor-rtl.css +0 -34
  596. package/build-style/video/editor.css +0 -34
  597. package/package.json +30 -29
  598. package/src/archives/block.json +1 -0
  599. package/src/avatar/block.json +1 -0
  600. package/src/block/edit.js +1 -0
  601. package/src/button/block.json +1 -0
  602. package/src/button/edit.js +2 -1
  603. package/src/buttons/edit.js +2 -2
  604. package/src/calendar/block.json +1 -0
  605. package/src/calendar/index.php +4 -2
  606. package/src/categories/block.json +1 -0
  607. package/src/categories/edit.js +2 -2
  608. package/src/column/edit.native.js +6 -1
  609. package/src/columns/deprecated.js +1 -1
  610. package/src/comment-author-avatar/block.json +1 -0
  611. package/src/comment-author-name/block.json +1 -0
  612. package/src/comment-author-name/index.php +6 -3
  613. package/src/comment-content/block.json +1 -0
  614. package/src/comment-content/index.php +6 -3
  615. package/src/comment-date/block.json +1 -0
  616. package/src/comment-date/index.php +1 -1
  617. package/src/comment-edit-link/block.json +1 -0
  618. package/src/comment-edit-link/index.php +6 -3
  619. package/src/comment-reply-link/block.json +1 -0
  620. package/src/comment-reply-link/index.php +6 -3
  621. package/src/comment-template/block.json +1 -0
  622. package/src/comments/block.json +2 -1
  623. package/src/comments/edit/comments-inspector-controls.js +1 -1
  624. package/src/comments-pagination/block.json +1 -0
  625. package/src/comments-pagination/comments-pagination-arrow-controls.js +1 -0
  626. package/src/comments-pagination/edit.js +1 -13
  627. package/src/comments-pagination/index.php +4 -1
  628. package/src/comments-pagination-next/block.json +1 -0
  629. package/src/comments-pagination-numbers/block.json +1 -0
  630. package/src/comments-pagination-previous/block.json +1 -0
  631. package/src/common.scss +19 -0
  632. package/src/cover/block.json +4 -0
  633. package/src/cover/deprecated.js +173 -6
  634. package/src/cover/edit/index.js +5 -4
  635. package/src/cover/edit/inspector-controls.js +45 -2
  636. package/src/cover/edit.native.js +0 -3
  637. package/src/cover/save.js +3 -2
  638. package/src/embed/variations.js +1 -1
  639. package/src/experiments.js +10 -0
  640. package/src/gallery/deprecated.js +2 -3
  641. package/src/gallery/edit.js +66 -5
  642. package/src/gallery/gallery.js +27 -44
  643. package/src/gallery/index.php +1 -1
  644. package/src/gallery/v1/edit.js +8 -9
  645. package/src/group/deprecated.js +3 -1
  646. package/src/group/edit.js +1 -2
  647. package/src/heading/index.js +1 -6
  648. package/src/home-link/block.json +1 -0
  649. package/src/image/edit.native.js +2 -3
  650. package/src/image/image.js +17 -22
  651. package/src/latest-comments/block.json +1 -0
  652. package/src/latest-posts/block.json +1 -0
  653. package/src/latest-posts/index.php +9 -10
  654. package/src/list/ordered-list-settings.js +1 -0
  655. package/src/loginout/block.json +1 -0
  656. package/src/media-text/edit.js +3 -7
  657. package/src/missing/edit.native.js +3 -4
  658. package/src/missing/test/edit.native.js +2 -2
  659. package/src/navigation/block.json +2 -0
  660. package/src/navigation/edit/deleted-navigation-warning.js +19 -0
  661. package/src/navigation/edit/index.js +22 -24
  662. package/src/navigation/edit/inner-blocks.js +0 -6
  663. package/src/navigation/edit/manage-menus-button.js +24 -13
  664. package/src/navigation/edit/menu-inspector-controls.js +51 -74
  665. package/src/navigation/edit/navigation-menu-delete-control.js +0 -1
  666. package/src/navigation/edit/navigation-menu-name-control.js +1 -0
  667. package/src/navigation/edit/navigation-menu-selector.js +12 -77
  668. package/src/navigation/edit/overlay-menu-preview.js +1 -0
  669. package/src/navigation/edit/placeholder/index.js +0 -6
  670. package/src/navigation/index.js +3 -0
  671. package/src/navigation/index.php +27 -9
  672. package/src/navigation/menu-items-to-blocks.js +0 -2
  673. package/src/navigation-link/edit.js +16 -7
  674. package/src/navigation-link/index.php +2 -34
  675. package/src/navigation-submenu/edit.js +4 -0
  676. package/src/navigation-submenu/index.js +8 -2
  677. package/src/navigation-submenu/index.php +2 -34
  678. package/src/page-list/block.json +1 -0
  679. package/src/page-list/edit.js +196 -161
  680. package/src/page-list/index.js +2 -8
  681. package/src/page-list/test/convert-to-links-modal.js +1 -1
  682. package/src/page-list/{convert-to-navigation-links.js → use-convert-to-navigation-links.js} +36 -6
  683. package/src/page-list-item/edit.js +3 -2
  684. package/src/page-list-item/index.js +1 -1
  685. package/src/paragraph/edit.js +1 -1
  686. package/src/paragraph/index.js +1 -6
  687. package/src/post-author/block.json +1 -0
  688. package/src/post-author/index.php +10 -4
  689. package/src/post-author-biography/block.json +1 -0
  690. package/src/post-author-name/block.json +1 -1
  691. package/src/post-author-name/index.php +9 -4
  692. package/src/post-comment/edit.js +1 -0
  693. package/src/post-comments-count/block.json +1 -0
  694. package/src/post-comments-form/block.json +1 -0
  695. package/src/post-comments-form/index.php +6 -4
  696. package/src/post-comments-link/block.json +1 -0
  697. package/src/post-comments-link/index.php +8 -2
  698. package/src/post-content/block.json +1 -0
  699. package/src/post-content/edit.js +2 -13
  700. package/src/post-date/block.json +1 -0
  701. package/src/post-date/index.php +10 -3
  702. package/src/post-excerpt/block.json +1 -0
  703. package/src/post-excerpt/edit.js +22 -12
  704. package/src/post-excerpt/index.php +6 -3
  705. package/src/post-excerpt/style.scss +18 -0
  706. package/src/post-featured-image/block.json +1 -0
  707. package/src/post-featured-image/dimension-controls.js +2 -1
  708. package/src/post-featured-image/edit.js +46 -27
  709. package/src/post-featured-image/index.php +19 -6
  710. package/src/post-featured-image/overlay.js +1 -1
  711. package/src/post-navigation-link/block.json +1 -0
  712. package/src/post-navigation-link/edit.js +1 -0
  713. package/src/post-template/block.json +1 -0
  714. package/src/post-template/edit.js +4 -3
  715. package/src/post-template/index.php +4 -1
  716. package/src/post-terms/block.json +1 -0
  717. package/src/post-terms/edit.js +4 -3
  718. package/src/post-terms/index.php +6 -3
  719. package/src/post-title/block.json +1 -0
  720. package/src/post-title/edit.js +1 -0
  721. package/src/post-title/index.php +10 -4
  722. package/src/preformatted/test/__snapshots__/edit.native.js.snap +0 -2
  723. package/src/query/block.json +1 -0
  724. package/src/query/deprecated.js +77 -1
  725. package/src/query/edit/index.js +4 -60
  726. package/src/query/edit/inspector-controls/index.js +1 -0
  727. package/src/query/edit/inspector-controls/taxonomy-controls.js +2 -2
  728. package/src/query/edit/pattern-selection-modal.js +86 -0
  729. package/src/query/edit/query-content.js +1 -12
  730. package/src/query/edit/query-placeholder.js +4 -8
  731. package/src/query/edit/query-toolbar.js +6 -16
  732. package/src/query/editor.scss +21 -19
  733. package/src/query/utils.js +22 -8
  734. package/src/query-no-results/block.json +1 -0
  735. package/src/query-no-results/index.php +3 -1
  736. package/src/query-pagination/block.json +1 -0
  737. package/src/query-pagination/edit.js +1 -13
  738. package/src/query-pagination/index.php +2 -0
  739. package/src/query-pagination/query-pagination-arrow-controls.js +1 -0
  740. package/src/query-pagination-next/block.json +1 -0
  741. package/src/query-pagination-numbers/block.json +1 -0
  742. package/src/query-pagination-previous/block.json +1 -0
  743. package/src/query-title/block.json +1 -0
  744. package/src/read-more/block.json +1 -0
  745. package/src/rss/block.json +1 -0
  746. package/src/rss/edit.js +16 -12
  747. package/src/rss/editor.scss +4 -15
  748. package/src/search/block.json +1 -0
  749. package/src/search/index.php +2 -2
  750. package/src/site-logo/block.json +1 -0
  751. package/src/site-logo/edit.js +9 -16
  752. package/src/site-tagline/block.json +1 -0
  753. package/src/site-title/block.json +1 -0
  754. package/src/site-title/index.php +6 -3
  755. package/src/social-link/block.json +1 -0
  756. package/src/social-link/edit.js +3 -1
  757. package/src/social-links/edit.js +1 -14
  758. package/src/table/block.json +15 -0
  759. package/src/table/edit.js +38 -26
  760. package/src/table/editor.scss +0 -6
  761. package/src/table/save.js +9 -1
  762. package/src/table/state.js +1 -1
  763. package/src/table/test/utils.js +20 -0
  764. package/src/table/transforms.js +65 -2
  765. package/src/table/utils.js +18 -0
  766. package/src/tag-cloud/block.json +1 -0
  767. package/src/tag-cloud/edit.js +12 -15
  768. package/src/template-part/block.json +1 -0
  769. package/src/template-part/edit/advanced-controls.js +2 -1
  770. package/src/template-part/edit/index.js +0 -1
  771. package/src/template-part/edit/selection-modal.js +1 -1
  772. package/src/template-part/edit/title-modal.js +12 -15
  773. package/src/template-part/edit/utils/hooks.js +3 -8
  774. package/src/template-part/index.php +19 -7
  775. package/src/term-description/block.json +1 -0
  776. package/src/term-description/index.php +8 -4
  777. package/src/utils/init-block.js +1 -1
  778. package/src/utils/init-block.native.js +1 -1
  779. package/src/{template-part/edit/utils/search.js → utils/search-patterns.js} +2 -2
  780. package/src/utils/test/search-patterns.js +58 -0
  781. package/src/video/editor.scss +0 -35
  782. package/src/video/tracks-editor.js +65 -51
  783. package/tsconfig.tsbuildinfo +1 -1
  784. package/build/page-list/constants.js +0 -15
  785. package/build/page-list/constants.js.map +0 -1
  786. package/build/page-list/convert-to-links-modal.js +0 -83
  787. package/build/page-list/convert-to-links-modal.js.map +0 -1
  788. package/build/page-list/convert-to-navigation-links.js.map +0 -1
  789. package/build/template-part/edit/utils/search.js.map +0 -1
  790. package/build-module/page-list/constants.js +0 -6
  791. package/build-module/page-list/constants.js.map +0 -1
  792. package/build-module/page-list/convert-to-links-modal.js +0 -68
  793. package/build-module/page-list/convert-to-links-modal.js.map +0 -1
  794. package/build-module/page-list/convert-to-navigation-links.js.map +0 -1
  795. package/build-module/template-part/edit/utils/search.js.map +0 -1
  796. package/src/page-list/constants.js +0 -8
  797. package/src/page-list/convert-to-links-modal.js +0 -70
@@ -2,7 +2,6 @@
2
2
  * External dependencies
3
3
  */
4
4
  import classnames from 'classnames';
5
- import { unescape } from 'lodash';
6
5
 
7
6
  /**
8
7
  * WordPress dependencies
@@ -35,6 +34,7 @@ import {
35
34
  placeCaretAtHorizontalEdge,
36
35
  __unstableStripHTML as stripHTML,
37
36
  } from '@wordpress/dom';
37
+ import { decodeEntities } from '@wordpress/html-entities';
38
38
  import { link as linkIcon, addSubmenu } from '@wordpress/icons';
39
39
  import {
40
40
  store as coreStore,
@@ -312,12 +312,17 @@ export default function NavigationLinkEdit( {
312
312
  */
313
313
  function removeLink() {
314
314
  // Reset all attributes that comprise the link.
315
+ // It is critical that all attributes are reset
316
+ // to their default values otherwise this may
317
+ // in advertently trigger side effects because
318
+ // the values will have "changed".
315
319
  setAttributes( {
316
- url: '',
317
- label: '',
318
- id: '',
319
- kind: '',
320
- type: '',
320
+ url: undefined,
321
+ label: undefined,
322
+ id: undefined,
323
+ kind: undefined,
324
+ type: undefined,
325
+ opensInNewTab: false,
321
326
  } );
322
327
 
323
328
  // Close the link editing UI.
@@ -432,6 +437,7 @@ export default function NavigationLinkEdit( {
432
437
  <InspectorControls>
433
438
  <PanelBody title={ __( 'Link settings' ) }>
434
439
  <TextControl
440
+ __nextHasNoMarginBottom
435
441
  value={ label ? stripHTML( label ) : '' }
436
442
  onChange={ ( labelValue ) => {
437
443
  setAttributes( { label: labelValue } );
@@ -440,6 +446,7 @@ export default function NavigationLinkEdit( {
440
446
  autoComplete="off"
441
447
  />
442
448
  <TextControl
449
+ __nextHasNoMarginBottom
443
450
  value={ url || '' }
444
451
  onChange={ ( urlValue ) => {
445
452
  updateAttributes(
@@ -463,6 +470,7 @@ export default function NavigationLinkEdit( {
463
470
  ) }
464
471
  />
465
472
  <TextControl
473
+ __nextHasNoMarginBottom
466
474
  value={ title || '' }
467
475
  onChange={ ( titleValue ) => {
468
476
  setAttributes( { title: titleValue } );
@@ -471,6 +479,7 @@ export default function NavigationLinkEdit( {
471
479
  autoComplete="off"
472
480
  />
473
481
  <TextControl
482
+ __nextHasNoMarginBottom
474
483
  value={ rel || '' }
475
484
  onChange={ ( relValue ) => {
476
485
  setAttributes( { rel: relValue } );
@@ -567,7 +576,7 @@ export default function NavigationLinkEdit( {
567
576
  // Unescape is used here to "recover" the escaped characters
568
577
  // so they display without encoding.
569
578
  // See `updateAttributes` for more details.
570
- `${ unescape(
579
+ `${ decodeEntities(
571
580
  label
572
581
  ) } ${ placeholderText }`.trim()
573
582
  }
@@ -372,38 +372,6 @@ function register_block_core_navigation_link() {
372
372
  }
373
373
  add_action( 'init', 'register_block_core_navigation_link' );
374
374
 
375
- /**
376
- * Disables the display of block inspector tabs for the Navigation Link block.
377
- *
378
- * This is only a temporary measure until we have a TabPanel and mechanism that
379
- * will allow the Navigation Link to programmatically select a tab when edited
380
- * via a specific context.
381
- *
382
- * See:
383
- * - https://github.com/WordPress/gutenberg/issues/45951
384
- * - https://github.com/WordPress/gutenberg/pull/46321
385
- * - https://github.com/WordPress/gutenberg/pull/46271
386
- *
387
- * @param array $settings Default editor settings.
388
- * @return array Filtered editor settings.
389
- */
390
- function gutenberg_disable_tabs_for_navigation_link_block( $settings ) {
391
- $current_tab_settings = _wp_array_get(
392
- $settings,
393
- array( 'blockInspectorTabs' ),
394
- array()
395
- );
396
-
397
- $settings['blockInspectorTabs'] = array_merge(
398
- $current_tab_settings,
399
- array( 'core/navigation-link' => false )
400
- );
401
-
402
- return $settings;
403
- }
404
-
405
- add_filter( 'block_editor_settings_all', 'gutenberg_disable_tabs_for_navigation_link_block' );
406
-
407
375
  /**
408
376
  * Enables animation of the block inspector for the Navigation Link block.
409
377
  *
@@ -414,7 +382,7 @@ add_filter( 'block_editor_settings_all', 'gutenberg_disable_tabs_for_navigation_
414
382
  * @param array $settings Default editor settings.
415
383
  * @return array Filtered editor settings.
416
384
  */
417
- function gutenberg_enable_animation_for_navigation_link_inspector( $settings ) {
385
+ function block_core_navigation_link_enable_inspector_animation( $settings ) {
418
386
  $current_animation_settings = _wp_array_get(
419
387
  $settings,
420
388
  array( '__experimentalBlockInspectorAnimation' ),
@@ -434,4 +402,4 @@ function gutenberg_enable_animation_for_navigation_link_inspector( $settings ) {
434
402
  return $settings;
435
403
  }
436
404
 
437
- add_filter( 'block_editor_settings_all', 'gutenberg_enable_animation_for_navigation_link_inspector' );
405
+ add_filter( 'block_editor_settings_all', 'block_core_navigation_link_enable_inspector_animation' );
@@ -393,6 +393,7 @@ export default function NavigationSubmenuEdit( {
393
393
  <InspectorControls>
394
394
  <PanelBody title={ __( 'Link settings' ) }>
395
395
  <TextControl
396
+ __nextHasNoMarginBottom
396
397
  value={ label || '' }
397
398
  onChange={ ( labelValue ) => {
398
399
  setAttributes( { label: labelValue } );
@@ -401,6 +402,7 @@ export default function NavigationSubmenuEdit( {
401
402
  autoComplete="off"
402
403
  />
403
404
  <TextControl
405
+ __nextHasNoMarginBottom
404
406
  value={ url || '' }
405
407
  onChange={ ( urlValue ) => {
406
408
  setAttributes( { url: urlValue } );
@@ -422,6 +424,7 @@ export default function NavigationSubmenuEdit( {
422
424
  ) }
423
425
  />
424
426
  <TextControl
427
+ __nextHasNoMarginBottom
425
428
  value={ title || '' }
426
429
  onChange={ ( titleValue ) => {
427
430
  setAttributes( { title: titleValue } );
@@ -430,6 +433,7 @@ export default function NavigationSubmenuEdit( {
430
433
  autoComplete="off"
431
434
  />
432
435
  <TextControl
436
+ __nextHasNoMarginBottom
433
437
  value={ rel || '' }
434
438
  onChange={ ( relValue ) => {
435
439
  setAttributes( { rel: relValue } );
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { addSubmenu } from '@wordpress/icons';
4
+ import { page, addSubmenu } from '@wordpress/icons';
5
5
 
6
6
  /**
7
7
  * Internal dependencies
@@ -17,7 +17,13 @@ const { name } = metadata;
17
17
  export { metadata, name };
18
18
 
19
19
  export const settings = {
20
- icon: addSubmenu,
20
+ icon: ( { context } ) => {
21
+ if ( context === 'list-view' ) {
22
+ return page;
23
+ }
24
+
25
+ return addSubmenu;
26
+ },
21
27
 
22
28
  __experimentalLabel: ( { label } ) => label,
23
29
 
@@ -290,38 +290,6 @@ function register_block_core_navigation_submenu() {
290
290
  }
291
291
  add_action( 'init', 'register_block_core_navigation_submenu' );
292
292
 
293
- /**
294
- * Disables display of block inspector tabs for the Navigation Submenu block.
295
- *
296
- * This is only a temporary measure until we have a TabPanel and mechanism that
297
- * will allow the Navigation Submenu to programmatically select a tab when
298
- * edited via a specific context.
299
- *
300
- * See:
301
- * - https://github.com/WordPress/gutenberg/issues/45951
302
- * - https://github.com/WordPress/gutenberg/pull/46321
303
- * - https://github.com/WordPress/gutenberg/pull/46271
304
- *
305
- * @param array $settings Default editor settings.
306
- * @return array Filtered editor settings.
307
- */
308
- function gutenberg_disable_tabs_for_navigation_submenu_block( $settings ) {
309
- $current_tab_settings = _wp_array_get(
310
- $settings,
311
- array( 'blockInspectorTabs' ),
312
- array()
313
- );
314
-
315
- $settings['blockInspectorTabs'] = array_merge(
316
- $current_tab_settings,
317
- array( 'core/navigation-submenu' => false )
318
- );
319
-
320
- return $settings;
321
- }
322
-
323
- add_filter( 'block_editor_settings_all', 'gutenberg_disable_tabs_for_navigation_submenu_block' );
324
-
325
293
  /**
326
294
  * Enables animation of the block inspector for the Navigation Submenu block.
327
295
  *
@@ -332,7 +300,7 @@ add_filter( 'block_editor_settings_all', 'gutenberg_disable_tabs_for_navigation_
332
300
  * @param array $settings Default editor settings.
333
301
  * @return array Filtered editor settings.
334
302
  */
335
- function gutenberg_enable_animation_for_navigation_submenu_inspector( $settings ) {
303
+ function block_core_navigation_submenu_enable_inspector_animation( $settings ) {
336
304
  $current_animation_settings = _wp_array_get(
337
305
  $settings,
338
306
  array( '__experimentalBlockInspectorAnimation' ),
@@ -352,4 +320,4 @@ function gutenberg_enable_animation_for_navigation_submenu_inspector( $settings
352
320
  return $settings;
353
321
  }
354
322
 
355
- add_filter( 'block_editor_settings_all', 'gutenberg_enable_animation_for_navigation_submenu_inspector' );
323
+ add_filter( 'block_editor_settings_all', 'block_core_navigation_submenu_enable_inspector_animation' );
@@ -33,6 +33,7 @@
33
33
  "openSubmenusOnClick"
34
34
  ],
35
35
  "supports": {
36
+ "anchor": true,
36
37
  "reusable": false,
37
38
  "html": false,
38
39
  "typography": {
@@ -23,24 +23,138 @@ import {
23
23
  Notice,
24
24
  ComboboxControl,
25
25
  Button,
26
+ Modal,
26
27
  } from '@wordpress/components';
27
28
  import { __, sprintf } from '@wordpress/i18n';
28
29
  import { useMemo, useState, useEffect } from '@wordpress/element';
29
30
  import { useEntityRecords } from '@wordpress/core-data';
30
- import { useSelect, useDispatch } from '@wordpress/data';
31
+ import { useSelect } from '@wordpress/data';
31
32
 
32
33
  /**
33
34
  * Internal dependencies
34
35
  */
35
- import ConvertToLinksModal from './convert-to-links-modal';
36
- import { convertToNavigationLinks } from './convert-to-navigation-links';
37
- import { convertDescription } from './constants';
36
+ import { useConvertToNavigationLinks } from './use-convert-to-navigation-links';
38
37
 
39
38
  // We only show the edit option when page count is <= MAX_PAGE_COUNT
40
39
  // Performance of Navigation Links is not good past this value.
41
40
  const MAX_PAGE_COUNT = 100;
42
41
  const NOOP = () => {};
43
42
 
43
+ const convertDescription = __(
44
+ 'This menu is automatically kept in sync with pages on your site. You can manage the menu yourself by clicking "Edit" below.'
45
+ );
46
+
47
+ function BlockContent( {
48
+ blockProps,
49
+ innerBlocksProps,
50
+ hasResolvedPages,
51
+ blockList,
52
+ pages,
53
+ parentPageID,
54
+ } ) {
55
+ if ( ! hasResolvedPages ) {
56
+ return (
57
+ <div { ...blockProps }>
58
+ <Spinner />
59
+ </div>
60
+ );
61
+ }
62
+
63
+ if ( pages === null ) {
64
+ return (
65
+ <div { ...blockProps }>
66
+ <Notice status={ 'warning' } isDismissible={ false }>
67
+ { __( 'Page List: Cannot retrieve Pages.' ) }
68
+ </Notice>
69
+ </div>
70
+ );
71
+ }
72
+
73
+ if ( pages.length === 0 ) {
74
+ return (
75
+ <div { ...blockProps }>
76
+ <Notice status={ 'info' } isDismissible={ false }>
77
+ { __( 'Page List: Cannot retrieve Pages.' ) }
78
+ </Notice>
79
+ </div>
80
+ );
81
+ }
82
+
83
+ if ( blockList.length === 0 ) {
84
+ const parentPageDetails = pages.find(
85
+ ( page ) => page.id === parentPageID
86
+ );
87
+
88
+ if ( parentPageDetails?.title?.rendered ) {
89
+ return (
90
+ <div { ...blockProps }>
91
+ <Warning>
92
+ { sprintf(
93
+ // translators: %s: Page title.
94
+ __( 'Page List: "%s" page has no children.' ),
95
+ parentPageDetails.title.rendered
96
+ ) }
97
+ </Warning>
98
+ </div>
99
+ );
100
+ }
101
+
102
+ return (
103
+ <div { ...blockProps }>
104
+ <Notice status={ 'warning' } isDismissible={ false }>
105
+ { __( 'Page List: Cannot retrieve Pages.' ) }
106
+ </Notice>
107
+ </div>
108
+ );
109
+ }
110
+
111
+ if ( pages.length > 0 ) {
112
+ return <ul { ...innerBlocksProps }></ul>;
113
+ }
114
+ }
115
+
116
+ function ConvertToLinksModal( { onClick, disabled } ) {
117
+ const [ isOpen, setOpen ] = useState( false );
118
+ const openModal = () => setOpen( true );
119
+ const closeModal = () => setOpen( false );
120
+
121
+ return (
122
+ <>
123
+ <BlockControls group="other">
124
+ <ToolbarButton title={ __( 'Edit' ) } onClick={ openModal }>
125
+ { __( 'Edit' ) }
126
+ </ToolbarButton>
127
+ </BlockControls>
128
+ { isOpen && (
129
+ <Modal
130
+ onRequestClose={ closeModal }
131
+ title={ __( 'Edit this menu' ) }
132
+ className={ 'wp-block-page-list-modal' }
133
+ aria={ {
134
+ describedby: 'wp-block-page-list-modal__description',
135
+ } }
136
+ >
137
+ <p id={ 'wp-block-page-list-modal__description' }>
138
+ { convertDescription }
139
+ </p>
140
+ <div className="wp-block-page-list-modal-buttons">
141
+ <Button variant="tertiary" onClick={ closeModal }>
142
+ { __( 'Cancel' ) }
143
+ </Button>
144
+ <Button
145
+ variant="primary"
146
+ disabled={ disabled }
147
+ onClick={ onClick }
148
+ >
149
+ { __( 'Edit' ) }
150
+ </Button>
151
+ </div>
152
+ </Modal>
153
+ ) }
154
+ </>
155
+ );
156
+ }
157
+
44
158
  export default function PageListEdit( {
45
159
  context,
46
160
  clientId,
@@ -48,16 +162,56 @@ export default function PageListEdit( {
48
162
  setAttributes,
49
163
  } ) {
50
164
  const { parentPageID } = attributes;
51
- const [ pages ] = useGetPages();
52
- const { pagesByParentId, totalPages, hasResolvedPages } = usePageData();
53
165
 
54
- const isNavigationChild = 'showSubmenuIcon' in context;
166
+ const { records: pages, hasResolved: hasResolvedPages } = useEntityRecords(
167
+ 'postType',
168
+ 'page',
169
+ {
170
+ per_page: MAX_PAGE_COUNT,
171
+ _fields: [ 'id', 'link', 'menu_order', 'parent', 'title', 'type' ],
172
+ // TODO: When https://core.trac.wordpress.org/ticket/39037 REST API support for multiple orderby
173
+ // values is resolved, update 'orderby' to [ 'menu_order', 'post_title' ] to provide a consistent
174
+ // sort.
175
+ orderby: 'menu_order',
176
+ order: 'asc',
177
+ }
178
+ );
179
+
55
180
  const allowConvertToLinks =
56
- isNavigationChild && totalPages <= MAX_PAGE_COUNT;
181
+ 'showSubmenuIcon' in context &&
182
+ pages?.length > 0 &&
183
+ pages?.length <= MAX_PAGE_COUNT;
57
184
 
58
- const [ isOpen, setOpen ] = useState( false );
59
- const openModal = () => setOpen( true );
60
- const closeModal = () => setOpen( false );
185
+ const convertToNavigationLinks = useConvertToNavigationLinks( {
186
+ clientId,
187
+ pages,
188
+ } );
189
+
190
+ const pagesByParentId = useMemo( () => {
191
+ if ( pages === null ) {
192
+ return new Map();
193
+ }
194
+
195
+ // TODO: Once the REST API supports passing multiple values to
196
+ // 'orderby', this can be removed.
197
+ // https://core.trac.wordpress.org/ticket/39037
198
+ const sortedPages = pages.sort( ( a, b ) => {
199
+ if ( a.menu_order === b.menu_order ) {
200
+ return a.title.rendered.localeCompare( b.title.rendered );
201
+ }
202
+ return a.menu_order - b.menu_order;
203
+ } );
204
+
205
+ return sortedPages.reduce( ( accumulator, page ) => {
206
+ const { parent } = page;
207
+ if ( accumulator.has( parent ) ) {
208
+ accumulator.get( parent ).push( page );
209
+ } else {
210
+ accumulator.set( parent, [ page ] );
211
+ }
212
+ return accumulator;
213
+ }, new Map() );
214
+ }, [ pages ] );
61
215
 
62
216
  const blockProps = useBlockProps( {
63
217
  className: classnames( 'wp-block-page-list', {
@@ -137,77 +291,16 @@ export default function PageListEdit( {
137
291
  value: blockList,
138
292
  } );
139
293
 
140
- const getBlockContent = () => {
141
- if ( ! hasResolvedPages ) {
142
- return (
143
- <div { ...blockProps }>
144
- <Spinner />
145
- </div>
146
- );
147
- }
148
-
149
- if ( totalPages === null ) {
150
- return (
151
- <div { ...blockProps }>
152
- <Notice status={ 'warning' } isDismissible={ false }>
153
- { __( 'Page List: Cannot retrieve Pages.' ) }
154
- </Notice>
155
- </div>
156
- );
157
- }
158
-
159
- if ( totalPages === 0 ) {
160
- return (
161
- <div { ...blockProps }>
162
- <Notice status={ 'info' } isDismissible={ false }>
163
- { __( 'Page List: Cannot retrieve Pages.' ) }
164
- </Notice>
165
- </div>
166
- );
167
- }
168
-
169
- if ( blockList.length === 0 ) {
170
- const parentPageDetails =
171
- pages && pages.find( ( page ) => page.id === parentPageID );
172
- return (
173
- <div { ...blockProps }>
174
- <Warning>
175
- { sprintf(
176
- // translators: %s: Page title.
177
- __( '"%s" page has no children.' ),
178
- parentPageDetails.title.rendered
179
- ) }
180
- </Warning>
181
- </div>
182
- );
183
- }
184
-
185
- if ( totalPages > 0 ) {
186
- return <ul { ...innerBlocksProps }></ul>;
187
- }
188
- };
189
-
190
- const { replaceBlock, selectBlock } = useDispatch( blockEditorStore );
191
-
192
- const { parentNavBlockClientId, isNested } = useSelect(
294
+ const { isNested } = useSelect(
193
295
  ( select ) => {
194
- const { getSelectedBlockClientId, getBlockParentsByBlockName } =
195
- select( blockEditorStore );
196
-
197
- const _selectedBlockClientId = getSelectedBlockClientId();
198
-
296
+ const { getBlockParentsByBlockName } = select( blockEditorStore );
297
+ const blockParents = getBlockParentsByBlockName(
298
+ clientId,
299
+ 'core/navigation-submenu',
300
+ true
301
+ );
199
302
  return {
200
- parentNavBlockClientId: getBlockParentsByBlockName(
201
- _selectedBlockClientId,
202
- 'core/navigation',
203
- true
204
- )[ 0 ],
205
- isNested:
206
- getBlockParentsByBlockName(
207
- clientId,
208
- 'core/navigation-submenu',
209
- true
210
- ).length > 0,
303
+ isNested: blockParents.length > 0,
211
304
  };
212
305
  },
213
306
  [ clientId ]
@@ -220,27 +313,6 @@ export default function PageListEdit( {
220
313
  return (
221
314
  <>
222
315
  <InspectorControls>
223
- { isNavigationChild && pages?.length > 0 && (
224
- <PanelBody title={ __( 'Customize this menu' ) }>
225
- <p>{ convertDescription }</p>
226
- <Button
227
- variant="primary"
228
- disabled={ ! hasResolvedPages }
229
- onClick={ () => {
230
- const navigationLinks =
231
- convertToNavigationLinks( pages );
232
-
233
- // Replace the Page List block with the Navigation Links.
234
- replaceBlock( clientId, navigationLinks );
235
-
236
- // Select the Navigation block to reveal the changes.
237
- selectBlock( parentNavBlockClientId );
238
- } }
239
- >
240
- { __( 'Customize' ) }
241
- </Button>
242
- </PanelBody>
243
- ) }
244
316
  { pagesTree.length > 0 && (
245
317
  <PanelBody>
246
318
  <ComboboxControl
@@ -257,70 +329,33 @@ export default function PageListEdit( {
257
329
  />
258
330
  </PanelBody>
259
331
  ) }
332
+ { allowConvertToLinks && (
333
+ <PanelBody title={ __( 'Edit this menu' ) }>
334
+ <p>{ convertDescription }</p>
335
+ <Button
336
+ variant="primary"
337
+ disabled={ ! hasResolvedPages }
338
+ onClick={ convertToNavigationLinks }
339
+ >
340
+ { __( 'Edit' ) }
341
+ </Button>
342
+ </PanelBody>
343
+ ) }
260
344
  </InspectorControls>
261
- { allowConvertToLinks && totalPages > 0 && (
262
- <BlockControls group="other">
263
- <ToolbarButton title={ __( 'Edit' ) } onClick={ openModal }>
264
- { __( 'Edit' ) }
265
- </ToolbarButton>
266
- </BlockControls>
267
- ) }
268
- { allowConvertToLinks && isOpen && (
345
+ { allowConvertToLinks && (
269
346
  <ConvertToLinksModal
270
- onClose={ closeModal }
271
- clientId={ clientId }
347
+ disabled={ ! hasResolvedPages }
348
+ onClick={ convertToNavigationLinks }
272
349
  />
273
350
  ) }
274
-
275
- { getBlockContent() }
351
+ <BlockContent
352
+ blockProps={ blockProps }
353
+ innerBlocksProps={ innerBlocksProps }
354
+ hasResolvedPages={ hasResolvedPages }
355
+ blockList={ blockList }
356
+ pages={ pages }
357
+ parentPageID={ parentPageID }
358
+ />
276
359
  </>
277
360
  );
278
361
  }
279
-
280
- function useGetPages() {
281
- const { records: pages, hasResolved: hasResolvedPages } = useEntityRecords(
282
- 'postType',
283
- 'page',
284
- {
285
- orderby: 'menu_order',
286
- order: 'asc',
287
- _fields: [ 'id', 'link', 'parent', 'title', 'menu_order' ],
288
- per_page: -1,
289
- context: 'view',
290
- }
291
- );
292
-
293
- return [ pages, hasResolvedPages ];
294
- }
295
-
296
- function usePageData( pageId = 0 ) {
297
- const [ pages, hasResolvedPages ] = useGetPages();
298
-
299
- return useMemo( () => {
300
- // TODO: Once the REST API supports passing multiple values to
301
- // 'orderby', this can be removed.
302
- // https://core.trac.wordpress.org/ticket/39037
303
-
304
- const sortedPages = [ ...( pages ?? [] ) ].sort( ( a, b ) => {
305
- if ( a.menu_order === b.menu_order ) {
306
- return a.title.rendered.localeCompare( b.title.rendered );
307
- }
308
- return a.menu_order - b.menu_order;
309
- } );
310
- const pagesByParentId = sortedPages.reduce( ( accumulator, page ) => {
311
- const { parent } = page;
312
- if ( accumulator.has( parent ) ) {
313
- accumulator.get( parent ).push( page );
314
- } else {
315
- accumulator.set( parent, [ page ] );
316
- }
317
- return accumulator;
318
- }, new Map() );
319
-
320
- return {
321
- pagesByParentId,
322
- hasResolvedPages,
323
- totalPages: pages?.length ?? null,
324
- };
325
- }, [ pageId, pages, hasResolvedPages ] );
326
- }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { pages, update } from '@wordpress/icons';
4
+ import { pages } from '@wordpress/icons';
5
5
 
6
6
  /**
7
7
  * Internal dependencies
@@ -15,13 +15,7 @@ const { name } = metadata;
15
15
  export { metadata, name };
16
16
 
17
17
  export const settings = {
18
- icon: ( { context } ) => {
19
- if ( context === 'list-view' ) {
20
- return update;
21
- }
22
-
23
- return pages;
24
- },
18
+ icon: pages,
25
19
  example: {},
26
20
  edit,
27
21
  };
@@ -2,7 +2,7 @@
2
2
  * Internal dependencies
3
3
  */
4
4
 
5
- import { convertToNavigationLinks } from '../convert-to-navigation-links';
5
+ import { convertToNavigationLinks } from '../use-convert-to-navigation-links';
6
6
 
7
7
  // Mock createBlock to avoid creating the blocks in test environment
8
8
  // as convertToNavigationLinks calls this method internally.