@wordpress/block-library 7.11.0 → 7.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (817) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/build/archives/edit.js +7 -0
  3. package/build/archives/edit.js.map +1 -1
  4. package/build/archives/index.js +9 -1
  5. package/build/archives/index.js.map +1 -1
  6. package/build/audio/index.js +4 -0
  7. package/build/audio/index.js.map +1 -1
  8. package/build/block/edit.js +4 -2
  9. package/build/block/edit.js.map +1 -1
  10. package/build/block/edit.native.js +4 -2
  11. package/build/block/edit.native.js.map +1 -1
  12. package/build/button/deprecated.js +14 -5
  13. package/build/button/deprecated.js.map +1 -1
  14. package/build/button/index.js +1 -1
  15. package/build/calendar/edit.js +12 -5
  16. package/build/calendar/edit.js.map +1 -1
  17. package/build/categories/edit.js +3 -1
  18. package/build/categories/edit.js.map +1 -1
  19. package/build/categories/index.js +14 -1
  20. package/build/categories/index.js.map +1 -1
  21. package/build/code/index.js +4 -2
  22. package/build/code/index.js.map +1 -1
  23. package/build/column/index.js +13 -0
  24. package/build/column/index.js.map +1 -1
  25. package/build/columns/deprecated.js +16 -5
  26. package/build/columns/deprecated.js.map +1 -1
  27. package/build/columns/edit.js +6 -2
  28. package/build/columns/edit.js.map +1 -1
  29. package/build/columns/edit.native.js +8 -3
  30. package/build/columns/edit.native.js.map +1 -1
  31. package/build/columns/index.js +13 -0
  32. package/build/columns/index.js.map +1 -1
  33. package/build/comment-author-name/index.js +5 -1
  34. package/build/comment-author-name/index.js.map +1 -1
  35. package/build/comment-content/index.js +5 -1
  36. package/build/comment-content/index.js.map +1 -1
  37. package/build/comment-date/index.js +1 -0
  38. package/build/comment-date/index.js.map +1 -1
  39. package/build/comment-edit-link/index.js +5 -1
  40. package/build/comment-edit-link/index.js.map +1 -1
  41. package/build/comment-reply-link/index.js +5 -1
  42. package/build/comment-reply-link/index.js.map +1 -1
  43. package/build/comment-template/index.js +14 -1
  44. package/build/comment-template/index.js.map +1 -1
  45. package/build/comments/index.js +13 -0
  46. package/build/comments/index.js.map +1 -1
  47. package/build/comments-pagination/index.js +13 -0
  48. package/build/comments-pagination/index.js.map +1 -1
  49. package/build/comments-pagination-next/index.js +4 -2
  50. package/build/comments-pagination-next/index.js.map +1 -1
  51. package/build/comments-pagination-numbers/edit.js +5 -1
  52. package/build/comments-pagination-numbers/edit.js.map +1 -1
  53. package/build/comments-pagination-numbers/index.js +14 -1
  54. package/build/comments-pagination-numbers/index.js.map +1 -1
  55. package/build/comments-pagination-previous/index.js +4 -2
  56. package/build/comments-pagination-previous/index.js.map +1 -1
  57. package/build/comments-title/deprecated.js +4 -2
  58. package/build/comments-title/deprecated.js.map +1 -1
  59. package/build/comments-title/index.js +4 -2
  60. package/build/comments-title/index.js.map +1 -1
  61. package/build/cover/deprecated.js +20 -5
  62. package/build/cover/deprecated.js.map +1 -1
  63. package/build/cover/edit/resizable-cover.js +6 -0
  64. package/build/cover/edit/resizable-cover.js.map +1 -1
  65. package/build/cover/index.js +13 -0
  66. package/build/cover/index.js.map +1 -1
  67. package/build/cover/shared.js +1 -1
  68. package/build/cover/shared.js.map +1 -1
  69. package/build/embed/icons.js +1 -1
  70. package/build/embed/icons.js.map +1 -1
  71. package/build/gallery/deprecated.js +6 -1
  72. package/build/gallery/deprecated.js.map +1 -1
  73. package/build/gallery/edit.js +15 -2
  74. package/build/gallery/edit.js.map +1 -1
  75. package/build/gallery/index.js +5 -0
  76. package/build/gallery/index.js.map +1 -1
  77. package/build/gallery/transforms.js +20 -7
  78. package/build/gallery/transforms.js.map +1 -1
  79. package/build/gallery/utils.js +7 -6
  80. package/build/gallery/utils.js.map +1 -1
  81. package/build/group/deprecated.js +108 -12
  82. package/build/group/deprecated.js.map +1 -1
  83. package/build/group/edit.js +23 -1
  84. package/build/group/edit.js.map +1 -1
  85. package/build/group/index.js +10 -2
  86. package/build/group/index.js.map +1 -1
  87. package/build/group/transforms.js +5 -0
  88. package/build/group/transforms.js.map +1 -1
  89. package/build/group/variations.js +8 -8
  90. package/build/group/variations.js.map +1 -1
  91. package/build/heading/deprecated.js +5 -3
  92. package/build/heading/deprecated.js.map +1 -1
  93. package/build/heading/index.js +3 -1
  94. package/build/heading/index.js.map +1 -1
  95. package/build/heading/transforms.js +3 -1
  96. package/build/heading/transforms.js.map +1 -1
  97. package/build/home-link/edit.js +8 -4
  98. package/build/home-link/edit.js.map +1 -1
  99. package/build/image/edit.js +13 -1
  100. package/build/image/edit.js.map +1 -1
  101. package/build/image/index.js +13 -7
  102. package/build/image/index.js.map +1 -1
  103. package/build/index.native.js +23 -7
  104. package/build/index.native.js.map +1 -1
  105. package/build/list/index.js +10 -0
  106. package/build/list/index.js.map +1 -1
  107. package/build/list/v2/edit.js +16 -5
  108. package/build/list/v2/edit.js.map +1 -1
  109. package/build/list/v2/tag-name.js +31 -0
  110. package/build/list/v2/tag-name.js.map +1 -0
  111. package/build/list/v2/tag-name.native.js +32 -0
  112. package/build/list/v2/tag-name.native.js.map +1 -0
  113. package/build/list/v2/transforms.js +1 -11
  114. package/build/list/v2/transforms.js.map +1 -1
  115. package/build/list-item/edit.js +4 -1
  116. package/build/list-item/edit.js.map +1 -1
  117. package/build/list-item/edit.native.js +158 -0
  118. package/build/list-item/edit.native.js.map +1 -0
  119. package/build/list-item/hooks/index.js +8 -0
  120. package/build/list-item/hooks/index.js.map +1 -1
  121. package/build/list-item/hooks/use-copy.js +42 -0
  122. package/build/list-item/hooks/use-copy.js.map +1 -0
  123. package/build/list-item/icons.native.js +53 -0
  124. package/build/list-item/icons.native.js.map +1 -0
  125. package/build/list-item/list-style-type.native.js +139 -0
  126. package/build/list-item/list-style-type.native.js.map +1 -0
  127. package/build/list-item/utils.js +4 -0
  128. package/build/list-item/utils.js.map +1 -1
  129. package/build/media-text/deprecated.js +193 -67
  130. package/build/media-text/deprecated.js.map +1 -1
  131. package/build/media-text/edit.js +2 -1
  132. package/build/media-text/edit.js.map +1 -1
  133. package/build/media-text/index.js +17 -0
  134. package/build/media-text/index.js.map +1 -1
  135. package/build/media-text/media-container.js +1 -1
  136. package/build/media-text/media-container.js.map +1 -1
  137. package/build/navigation/deprecated.js +6 -1
  138. package/build/navigation/deprecated.js.map +1 -1
  139. package/build/navigation/edit/index.js +180 -154
  140. package/build/navigation/edit/index.js.map +1 -1
  141. package/build/navigation/edit/navigation-menu-selector.js +11 -14
  142. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  143. package/build/navigation/edit/placeholder/index.js +4 -2
  144. package/build/navigation/edit/placeholder/index.js.map +1 -1
  145. package/build/navigation/edit/responsive-wrapper.js +13 -3
  146. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  147. package/build/navigation/edit/unsaved-inner-blocks.js +2 -1
  148. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  149. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +4 -7
  150. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  151. package/build/navigation/edit/use-create-navigation-menu.js +5 -1
  152. package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
  153. package/build/navigation/edit/use-inner-blocks.js +43 -0
  154. package/build/navigation/edit/use-inner-blocks.js.map +1 -0
  155. package/build/navigation/edit/utils.js +28 -0
  156. package/build/navigation/edit/utils.js.map +1 -0
  157. package/build/navigation/index.js +1 -0
  158. package/build/navigation/index.js.map +1 -1
  159. package/build/navigation/menu-items-to-blocks.js +1 -7
  160. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  161. package/build/navigation/use-navigation-menu.js +15 -10
  162. package/build/navigation/use-navigation-menu.js.map +1 -1
  163. package/build/navigation-link/edit.js +6 -8
  164. package/build/navigation-link/edit.js.map +1 -1
  165. package/build/navigation-submenu/edit.js +4 -6
  166. package/build/navigation-submenu/edit.js.map +1 -1
  167. package/build/page-list/edit.js +7 -3
  168. package/build/page-list/edit.js.map +1 -1
  169. package/build/paragraph/deprecated.js +18 -10
  170. package/build/paragraph/deprecated.js.map +1 -1
  171. package/build/paragraph/edit.js +1 -0
  172. package/build/paragraph/edit.js.map +1 -1
  173. package/build/paragraph/index.js +7 -0
  174. package/build/paragraph/index.js.map +1 -1
  175. package/build/paragraph/transforms.js +7 -0
  176. package/build/paragraph/transforms.js.map +1 -1
  177. package/build/post-author/edit.js +5 -2
  178. package/build/post-author/edit.js.map +1 -1
  179. package/build/post-author/index.js +4 -2
  180. package/build/post-author/index.js.map +1 -1
  181. package/build/post-author-biography/edit.js +7 -1
  182. package/build/post-author-biography/edit.js.map +1 -1
  183. package/build/post-author-biography/index.js +1 -0
  184. package/build/post-author-biography/index.js.map +1 -1
  185. package/build/post-author-name/index.js +5 -1
  186. package/build/post-author-name/index.js.map +1 -1
  187. package/build/post-comments-count/edit.js +11 -1
  188. package/build/post-comments-count/edit.js.map +1 -1
  189. package/build/post-comments-count/index.js +4 -1
  190. package/build/post-comments-count/index.js.map +1 -1
  191. package/build/post-comments-link/index.js +4 -2
  192. package/build/post-comments-link/index.js.map +1 -1
  193. package/build/post-content/edit.js +4 -2
  194. package/build/post-content/edit.js.map +1 -1
  195. package/build/post-date/edit.js +9 -2
  196. package/build/post-date/edit.js.map +1 -1
  197. package/build/post-date/index.js +9 -0
  198. package/build/post-date/index.js.map +1 -1
  199. package/build/post-featured-image/edit.js +43 -14
  200. package/build/post-featured-image/edit.js.map +1 -1
  201. package/build/post-featured-image/index.js +21 -0
  202. package/build/post-featured-image/index.js.map +1 -1
  203. package/build/post-navigation-link/index.js +3 -2
  204. package/build/post-navigation-link/index.js.map +1 -1
  205. package/build/post-template/edit.js +8 -4
  206. package/build/post-template/edit.js.map +1 -1
  207. package/build/post-template/index.js +14 -1
  208. package/build/post-template/index.js.map +1 -1
  209. package/build/post-terms/index.js +5 -3
  210. package/build/post-terms/index.js.map +1 -1
  211. package/build/post-title/index.js +2 -1
  212. package/build/post-title/index.js.map +1 -1
  213. package/build/preformatted/index.js +4 -2
  214. package/build/preformatted/index.js.map +1 -1
  215. package/build/pullquote/deprecated.js +135 -25
  216. package/build/pullquote/deprecated.js.map +1 -1
  217. package/build/pullquote/edit.js +1 -1
  218. package/build/pullquote/edit.js.map +1 -1
  219. package/build/pullquote/edit.native.js +0 -1
  220. package/build/pullquote/edit.native.js.map +1 -1
  221. package/build/pullquote/index.js +13 -6
  222. package/build/pullquote/index.js.map +1 -1
  223. package/build/pullquote/save.js +2 -2
  224. package/build/pullquote/save.js.map +1 -1
  225. package/build/pullquote/transforms.js +14 -33
  226. package/build/pullquote/transforms.js.map +1 -1
  227. package/build/query/deprecated.js +10 -9
  228. package/build/query/deprecated.js.map +1 -1
  229. package/build/query/edit/index.js +19 -8
  230. package/build/query/edit/index.js.map +1 -1
  231. package/build/query/edit/inspector-controls/index.js +42 -9
  232. package/build/query/edit/inspector-controls/index.js.map +1 -1
  233. package/build/query/edit/inspector-controls/taxonomy-controls.js +22 -14
  234. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  235. package/build/query/edit/query-placeholder.js +6 -1
  236. package/build/query/edit/query-placeholder.js.map +1 -1
  237. package/build/query/utils.js +35 -9
  238. package/build/query/utils.js.map +1 -1
  239. package/build/query-no-results/edit.js +1 -1
  240. package/build/query-no-results/edit.js.map +1 -1
  241. package/build/query-title/edit.js +30 -8
  242. package/build/query-title/edit.js.map +1 -1
  243. package/build/query-title/index.js +11 -2
  244. package/build/query-title/index.js.map +1 -1
  245. package/build/query-title/variations.js +10 -0
  246. package/build/query-title/variations.js.map +1 -1
  247. package/build/quote/deprecated.js +13 -6
  248. package/build/quote/deprecated.js.map +1 -1
  249. package/build/quote/transforms.js +24 -39
  250. package/build/quote/transforms.js.map +1 -1
  251. package/build/separator/deprecated.js +3 -4
  252. package/build/separator/deprecated.js.map +1 -1
  253. package/build/separator/edit.js +1 -1
  254. package/build/separator/edit.js.map +1 -1
  255. package/build/separator/index.js +1 -0
  256. package/build/separator/index.js.map +1 -1
  257. package/build/social-link/icons/reddit.js +1 -1
  258. package/build/social-link/icons/reddit.js.map +1 -1
  259. package/build/social-links/edit.js +44 -9
  260. package/build/social-links/edit.js.map +1 -1
  261. package/build/social-links/index.js +9 -0
  262. package/build/social-links/index.js.map +1 -1
  263. package/build/spacer/index.js +7 -1
  264. package/build/spacer/index.js.map +1 -1
  265. package/build/table/index.js +4 -0
  266. package/build/table/index.js.map +1 -1
  267. package/build/table/state.js +9 -3
  268. package/build/table/state.js.map +1 -1
  269. package/build/table-of-contents/index.js +24 -1
  270. package/build/table-of-contents/index.js.map +1 -1
  271. package/build/tag-cloud/index.js +5 -1
  272. package/build/tag-cloud/index.js.map +1 -1
  273. package/build/template-part/edit/index.js +4 -2
  274. package/build/template-part/edit/index.js.map +1 -1
  275. package/build/template-part/index.js +2 -2
  276. package/build/template-part/index.js.map +1 -1
  277. package/build/term-description/index.js +4 -0
  278. package/build/term-description/index.js.map +1 -1
  279. package/build/text-columns/edit.js +3 -1
  280. package/build/text-columns/edit.js.map +1 -1
  281. package/build/text-columns/save.js +3 -1
  282. package/build/text-columns/save.js.map +1 -1
  283. package/build/verse/index.js +1 -0
  284. package/build/verse/index.js.map +1 -1
  285. package/build/video/index.js +4 -0
  286. package/build/video/index.js.map +1 -1
  287. package/build-module/archives/edit.js +7 -0
  288. package/build-module/archives/edit.js.map +1 -1
  289. package/build-module/archives/index.js +9 -1
  290. package/build-module/archives/index.js.map +1 -1
  291. package/build-module/audio/index.js +4 -0
  292. package/build-module/audio/index.js.map +1 -1
  293. package/build-module/block/edit.js +5 -3
  294. package/build-module/block/edit.js.map +1 -1
  295. package/build-module/block/edit.native.js +5 -3
  296. package/build-module/block/edit.native.js.map +1 -1
  297. package/build-module/button/deprecated.js +14 -4
  298. package/build-module/button/deprecated.js.map +1 -1
  299. package/build-module/button/index.js +1 -1
  300. package/build-module/calendar/edit.js +12 -4
  301. package/build-module/calendar/edit.js.map +1 -1
  302. package/build-module/categories/edit.js +4 -2
  303. package/build-module/categories/edit.js.map +1 -1
  304. package/build-module/categories/index.js +14 -1
  305. package/build-module/categories/index.js.map +1 -1
  306. package/build-module/code/index.js +4 -2
  307. package/build-module/code/index.js.map +1 -1
  308. package/build-module/column/index.js +13 -0
  309. package/build-module/column/index.js.map +1 -1
  310. package/build-module/columns/deprecated.js +16 -4
  311. package/build-module/columns/deprecated.js.map +1 -1
  312. package/build-module/columns/edit.js +7 -3
  313. package/build-module/columns/edit.js.map +1 -1
  314. package/build-module/columns/edit.native.js +9 -4
  315. package/build-module/columns/edit.native.js.map +1 -1
  316. package/build-module/columns/index.js +13 -0
  317. package/build-module/columns/index.js.map +1 -1
  318. package/build-module/comment-author-name/index.js +5 -1
  319. package/build-module/comment-author-name/index.js.map +1 -1
  320. package/build-module/comment-content/index.js +5 -1
  321. package/build-module/comment-content/index.js.map +1 -1
  322. package/build-module/comment-date/index.js +1 -0
  323. package/build-module/comment-date/index.js.map +1 -1
  324. package/build-module/comment-edit-link/index.js +5 -1
  325. package/build-module/comment-edit-link/index.js.map +1 -1
  326. package/build-module/comment-reply-link/index.js +5 -1
  327. package/build-module/comment-reply-link/index.js.map +1 -1
  328. package/build-module/comment-template/index.js +14 -1
  329. package/build-module/comment-template/index.js.map +1 -1
  330. package/build-module/comments/index.js +13 -0
  331. package/build-module/comments/index.js.map +1 -1
  332. package/build-module/comments-pagination/index.js +13 -0
  333. package/build-module/comments-pagination/index.js.map +1 -1
  334. package/build-module/comments-pagination-next/index.js +4 -2
  335. package/build-module/comments-pagination-next/index.js.map +1 -1
  336. package/build-module/comments-pagination-numbers/edit.js +5 -1
  337. package/build-module/comments-pagination-numbers/edit.js.map +1 -1
  338. package/build-module/comments-pagination-numbers/index.js +14 -1
  339. package/build-module/comments-pagination-numbers/index.js.map +1 -1
  340. package/build-module/comments-pagination-previous/index.js +4 -2
  341. package/build-module/comments-pagination-previous/index.js.map +1 -1
  342. package/build-module/comments-title/deprecated.js +4 -2
  343. package/build-module/comments-title/deprecated.js.map +1 -1
  344. package/build-module/comments-title/index.js +4 -2
  345. package/build-module/comments-title/index.js.map +1 -1
  346. package/build-module/cover/deprecated.js +20 -4
  347. package/build-module/cover/deprecated.js.map +1 -1
  348. package/build-module/cover/edit/resizable-cover.js +6 -0
  349. package/build-module/cover/edit/resizable-cover.js.map +1 -1
  350. package/build-module/cover/index.js +13 -0
  351. package/build-module/cover/index.js.map +1 -1
  352. package/build-module/cover/shared.js +1 -1
  353. package/build-module/cover/shared.js.map +1 -1
  354. package/build-module/embed/icons.js +1 -1
  355. package/build-module/embed/icons.js.map +1 -1
  356. package/build-module/gallery/deprecated.js +7 -2
  357. package/build-module/gallery/deprecated.js.map +1 -1
  358. package/build-module/gallery/edit.js +15 -2
  359. package/build-module/gallery/edit.js.map +1 -1
  360. package/build-module/gallery/index.js +5 -0
  361. package/build-module/gallery/index.js.map +1 -1
  362. package/build-module/gallery/transforms.js +20 -7
  363. package/build-module/gallery/transforms.js.map +1 -1
  364. package/build-module/gallery/utils.js +7 -6
  365. package/build-module/gallery/utils.js.map +1 -1
  366. package/build-module/group/deprecated.js +109 -12
  367. package/build-module/group/deprecated.js.map +1 -1
  368. package/build-module/group/edit.js +25 -2
  369. package/build-module/group/edit.js.map +1 -1
  370. package/build-module/group/index.js +10 -2
  371. package/build-module/group/index.js.map +1 -1
  372. package/build-module/group/transforms.js +5 -0
  373. package/build-module/group/transforms.js.map +1 -1
  374. package/build-module/group/variations.js +8 -8
  375. package/build-module/group/variations.js.map +1 -1
  376. package/build-module/heading/deprecated.js +5 -2
  377. package/build-module/heading/deprecated.js.map +1 -1
  378. package/build-module/heading/index.js +3 -1
  379. package/build-module/heading/index.js.map +1 -1
  380. package/build-module/heading/transforms.js +3 -1
  381. package/build-module/heading/transforms.js.map +1 -1
  382. package/build-module/home-link/edit.js +10 -6
  383. package/build-module/home-link/edit.js.map +1 -1
  384. package/build-module/image/edit.js +14 -2
  385. package/build-module/image/edit.js.map +1 -1
  386. package/build-module/image/index.js +13 -7
  387. package/build-module/image/index.js.map +1 -1
  388. package/build-module/index.native.js +22 -6
  389. package/build-module/index.native.js.map +1 -1
  390. package/build-module/list/index.js +5 -1
  391. package/build-module/list/index.js.map +1 -1
  392. package/build-module/list/v2/edit.js +15 -5
  393. package/build-module/list/v2/edit.js.map +1 -1
  394. package/build-module/list/v2/tag-name.js +21 -0
  395. package/build-module/list/v2/tag-name.js.map +1 -0
  396. package/build-module/list/v2/tag-name.native.js +21 -0
  397. package/build-module/list/v2/tag-name.native.js.map +1 -0
  398. package/build-module/list/v2/transforms.js +1 -10
  399. package/build-module/list/v2/transforms.js.map +1 -1
  400. package/build-module/list-item/edit.js +5 -5
  401. package/build-module/list-item/edit.js.map +1 -1
  402. package/build-module/list-item/edit.native.js +141 -0
  403. package/build-module/list-item/edit.native.js.map +1 -0
  404. package/build-module/list-item/hooks/index.js +1 -0
  405. package/build-module/list-item/hooks/index.js.map +1 -1
  406. package/build-module/list-item/hooks/use-copy.js +32 -0
  407. package/build-module/list-item/hooks/use-copy.js.map +1 -0
  408. package/build-module/list-item/icons.native.js +37 -0
  409. package/build-module/list-item/icons.native.js.map +1 -0
  410. package/build-module/list-item/list-style-type.native.js +126 -0
  411. package/build-module/list-item/list-style-type.native.js.map +1 -0
  412. package/build-module/list-item/utils.js +4 -0
  413. package/build-module/list-item/utils.js.map +1 -1
  414. package/build-module/media-text/deprecated.js +195 -67
  415. package/build-module/media-text/deprecated.js.map +1 -1
  416. package/build-module/media-text/edit.js +2 -1
  417. package/build-module/media-text/edit.js.map +1 -1
  418. package/build-module/media-text/index.js +17 -0
  419. package/build-module/media-text/index.js.map +1 -1
  420. package/build-module/media-text/media-container.js +1 -1
  421. package/build-module/media-text/media-container.js.map +1 -1
  422. package/build-module/navigation/deprecated.js +7 -2
  423. package/build-module/navigation/deprecated.js.map +1 -1
  424. package/build-module/navigation/edit/index.js +178 -154
  425. package/build-module/navigation/edit/index.js.map +1 -1
  426. package/build-module/navigation/edit/navigation-menu-selector.js +12 -15
  427. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  428. package/build-module/navigation/edit/placeholder/index.js +4 -2
  429. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  430. package/build-module/navigation/edit/responsive-wrapper.js +12 -3
  431. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  432. package/build-module/navigation/edit/unsaved-inner-blocks.js +2 -1
  433. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  434. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +4 -7
  435. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  436. package/build-module/navigation/edit/use-create-navigation-menu.js +5 -1
  437. package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
  438. package/build-module/navigation/edit/use-inner-blocks.js +33 -0
  439. package/build-module/navigation/edit/use-inner-blocks.js.map +1 -0
  440. package/build-module/navigation/edit/utils.js +21 -0
  441. package/build-module/navigation/edit/utils.js.map +1 -0
  442. package/build-module/navigation/index.js +1 -0
  443. package/build-module/navigation/index.js.map +1 -1
  444. package/build-module/navigation/menu-items-to-blocks.js +1 -6
  445. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  446. package/build-module/navigation/use-navigation-menu.js +15 -10
  447. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  448. package/build-module/navigation-link/edit.js +7 -9
  449. package/build-module/navigation-link/edit.js.map +1 -1
  450. package/build-module/navigation-submenu/edit.js +5 -7
  451. package/build-module/navigation-submenu/edit.js.map +1 -1
  452. package/build-module/page-list/edit.js +7 -2
  453. package/build-module/page-list/edit.js.map +1 -1
  454. package/build-module/paragraph/deprecated.js +18 -9
  455. package/build-module/paragraph/deprecated.js.map +1 -1
  456. package/build-module/paragraph/edit.js +1 -0
  457. package/build-module/paragraph/edit.js.map +1 -1
  458. package/build-module/paragraph/index.js +7 -0
  459. package/build-module/paragraph/index.js.map +1 -1
  460. package/build-module/paragraph/transforms.js +7 -0
  461. package/build-module/paragraph/transforms.js.map +1 -1
  462. package/build-module/post-author/edit.js +5 -2
  463. package/build-module/post-author/edit.js.map +1 -1
  464. package/build-module/post-author/index.js +4 -2
  465. package/build-module/post-author/index.js.map +1 -1
  466. package/build-module/post-author-biography/edit.js +6 -1
  467. package/build-module/post-author-biography/edit.js.map +1 -1
  468. package/build-module/post-author-biography/index.js +1 -0
  469. package/build-module/post-author-biography/index.js.map +1 -1
  470. package/build-module/post-author-name/index.js +5 -1
  471. package/build-module/post-author-name/index.js.map +1 -1
  472. package/build-module/post-comments-count/edit.js +10 -1
  473. package/build-module/post-comments-count/edit.js.map +1 -1
  474. package/build-module/post-comments-count/index.js +4 -1
  475. package/build-module/post-comments-count/index.js.map +1 -1
  476. package/build-module/post-comments-link/index.js +4 -2
  477. package/build-module/post-comments-link/index.js.map +1 -1
  478. package/build-module/post-content/edit.js +5 -3
  479. package/build-module/post-content/edit.js.map +1 -1
  480. package/build-module/post-date/edit.js +9 -2
  481. package/build-module/post-date/edit.js.map +1 -1
  482. package/build-module/post-date/index.js +9 -0
  483. package/build-module/post-date/index.js.map +1 -1
  484. package/build-module/post-featured-image/edit.js +45 -16
  485. package/build-module/post-featured-image/edit.js.map +1 -1
  486. package/build-module/post-featured-image/index.js +21 -0
  487. package/build-module/post-featured-image/index.js.map +1 -1
  488. package/build-module/post-navigation-link/index.js +3 -2
  489. package/build-module/post-navigation-link/index.js.map +1 -1
  490. package/build-module/post-template/edit.js +8 -4
  491. package/build-module/post-template/edit.js.map +1 -1
  492. package/build-module/post-template/index.js +14 -1
  493. package/build-module/post-template/index.js.map +1 -1
  494. package/build-module/post-terms/index.js +5 -3
  495. package/build-module/post-terms/index.js.map +1 -1
  496. package/build-module/post-title/index.js +2 -1
  497. package/build-module/post-title/index.js.map +1 -1
  498. package/build-module/preformatted/index.js +4 -2
  499. package/build-module/preformatted/index.js.map +1 -1
  500. package/build-module/pullquote/deprecated.js +134 -25
  501. package/build-module/pullquote/deprecated.js.map +1 -1
  502. package/build-module/pullquote/edit.js +1 -1
  503. package/build-module/pullquote/edit.js.map +1 -1
  504. package/build-module/pullquote/edit.native.js +0 -1
  505. package/build-module/pullquote/edit.native.js.map +1 -1
  506. package/build-module/pullquote/index.js +13 -6
  507. package/build-module/pullquote/index.js.map +1 -1
  508. package/build-module/pullquote/save.js +2 -2
  509. package/build-module/pullquote/save.js.map +1 -1
  510. package/build-module/pullquote/transforms.js +15 -34
  511. package/build-module/pullquote/transforms.js.map +1 -1
  512. package/build-module/query/deprecated.js +10 -8
  513. package/build-module/query/deprecated.js.map +1 -1
  514. package/build-module/query/edit/index.js +23 -12
  515. package/build-module/query/edit/index.js.map +1 -1
  516. package/build-module/query/edit/inspector-controls/index.js +42 -9
  517. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  518. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +17 -12
  519. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  520. package/build-module/query/edit/query-placeholder.js +6 -1
  521. package/build-module/query/edit/query-placeholder.js.map +1 -1
  522. package/build-module/query/utils.js +32 -7
  523. package/build-module/query/utils.js.map +1 -1
  524. package/build-module/query-no-results/edit.js +1 -1
  525. package/build-module/query-no-results/edit.js.map +1 -1
  526. package/build-module/query-title/edit.js +30 -9
  527. package/build-module/query-title/edit.js.map +1 -1
  528. package/build-module/query-title/index.js +11 -2
  529. package/build-module/query-title/index.js.map +1 -1
  530. package/build-module/query-title/variations.js +10 -0
  531. package/build-module/query-title/variations.js.map +1 -1
  532. package/build-module/quote/deprecated.js +13 -5
  533. package/build-module/quote/deprecated.js.map +1 -1
  534. package/build-module/quote/transforms.js +25 -40
  535. package/build-module/quote/transforms.js.map +1 -1
  536. package/build-module/separator/deprecated.js +3 -3
  537. package/build-module/separator/deprecated.js.map +1 -1
  538. package/build-module/separator/edit.js +1 -1
  539. package/build-module/separator/edit.js.map +1 -1
  540. package/build-module/separator/index.js +1 -0
  541. package/build-module/separator/index.js.map +1 -1
  542. package/build-module/social-link/icons/reddit.js +1 -1
  543. package/build-module/social-link/icons/reddit.js.map +1 -1
  544. package/build-module/social-links/edit.js +46 -12
  545. package/build-module/social-links/edit.js.map +1 -1
  546. package/build-module/social-links/index.js +9 -0
  547. package/build-module/social-links/index.js.map +1 -1
  548. package/build-module/spacer/index.js +7 -1
  549. package/build-module/spacer/index.js.map +1 -1
  550. package/build-module/table/index.js +4 -0
  551. package/build-module/table/index.js.map +1 -1
  552. package/build-module/table/state.js +10 -4
  553. package/build-module/table/state.js.map +1 -1
  554. package/build-module/table-of-contents/index.js +24 -1
  555. package/build-module/table-of-contents/index.js.map +1 -1
  556. package/build-module/tag-cloud/index.js +5 -1
  557. package/build-module/tag-cloud/index.js.map +1 -1
  558. package/build-module/template-part/edit/index.js +5 -3
  559. package/build-module/template-part/edit/index.js.map +1 -1
  560. package/build-module/template-part/index.js +2 -2
  561. package/build-module/template-part/index.js.map +1 -1
  562. package/build-module/term-description/index.js +4 -0
  563. package/build-module/term-description/index.js.map +1 -1
  564. package/build-module/text-columns/edit.js +4 -2
  565. package/build-module/text-columns/edit.js.map +1 -1
  566. package/build-module/text-columns/save.js +4 -2
  567. package/build-module/text-columns/save.js.map +1 -1
  568. package/build-module/verse/index.js +1 -0
  569. package/build-module/verse/index.js.map +1 -1
  570. package/build-module/video/index.js +4 -0
  571. package/build-module/video/index.js.map +1 -1
  572. package/build-style/audio/style-rtl.css +3 -0
  573. package/build-style/audio/style.css +3 -0
  574. package/build-style/button/style-rtl.css +6 -6
  575. package/build-style/button/style.css +6 -6
  576. package/build-style/editor-rtl.css +115 -122
  577. package/build-style/editor.css +115 -122
  578. package/build-style/group/editor-rtl.css +27 -8
  579. package/build-style/group/editor.css +27 -8
  580. package/build-style/image/editor-rtl.css +21 -2
  581. package/build-style/image/editor.css +21 -2
  582. package/build-style/latest-posts/editor-rtl.css +3 -0
  583. package/build-style/latest-posts/editor.css +3 -0
  584. package/build-style/media-text/style-rtl.css +1 -0
  585. package/build-style/media-text/style.css +1 -0
  586. package/build-style/navigation/editor-rtl.css +8 -4
  587. package/build-style/navigation/editor.css +8 -4
  588. package/build-style/navigation/style-rtl.css +17 -19
  589. package/build-style/navigation/style.css +17 -19
  590. package/build-style/paragraph/editor-rtl.css +1 -1
  591. package/build-style/paragraph/editor.css +1 -1
  592. package/build-style/post-date/style-rtl.css +79 -0
  593. package/build-style/post-date/style.css +79 -0
  594. package/build-style/post-featured-image/editor-rtl.css +45 -43
  595. package/build-style/post-featured-image/editor.css +45 -43
  596. package/build-style/post-featured-image/style-rtl.css +1 -0
  597. package/build-style/post-featured-image/style.css +1 -0
  598. package/build-style/post-title/style-rtl.css +1 -0
  599. package/build-style/post-title/style.css +1 -0
  600. package/build-style/pullquote/editor-rtl.css +0 -12
  601. package/build-style/pullquote/editor.css +0 -12
  602. package/build-style/pullquote/style-rtl.css +1 -8
  603. package/build-style/pullquote/style.css +1 -8
  604. package/build-style/query/editor-rtl.css +7 -0
  605. package/build-style/query/editor.css +7 -0
  606. package/build-style/query-pagination/style-rtl.css +6 -0
  607. package/build-style/query-pagination/style.css +6 -0
  608. package/build-style/query-title/style-rtl.css +79 -0
  609. package/build-style/query-title/style.css +79 -0
  610. package/build-style/search/style-rtl.css +2 -0
  611. package/build-style/search/style.css +2 -0
  612. package/build-style/site-logo/editor-rtl.css +3 -52
  613. package/build-style/site-logo/editor.css +3 -52
  614. package/build-style/social-links/style-rtl.css +2 -2
  615. package/build-style/social-links/style.css +2 -2
  616. package/build-style/style-rtl.css +52 -35
  617. package/build-style/style.css +52 -35
  618. package/build-style/tag-cloud/style-rtl.css +1 -0
  619. package/build-style/tag-cloud/style.css +1 -0
  620. package/build-style/video/style-rtl.css +3 -0
  621. package/build-style/video/style.css +3 -0
  622. package/package.json +30 -30
  623. package/src/archives/block.json +9 -1
  624. package/src/archives/edit.js +12 -1
  625. package/src/archives/index.php +5 -3
  626. package/src/audio/block.json +4 -0
  627. package/src/audio/style.scss +2 -0
  628. package/src/audio/test/__snapshots__/edit.native.js.snap +16 -2
  629. package/src/block/edit.js +4 -4
  630. package/src/block/edit.native.js +4 -4
  631. package/src/button/block.json +1 -1
  632. package/src/button/deprecated.js +21 -22
  633. package/src/button/style.scss +6 -6
  634. package/src/calendar/edit.js +11 -4
  635. package/src/calendar/index.php +2 -2
  636. package/src/categories/block.json +14 -1
  637. package/src/categories/edit.js +2 -2
  638. package/src/code/block.json +4 -2
  639. package/src/column/block.json +13 -0
  640. package/src/columns/block.json +13 -0
  641. package/src/columns/deprecated.js +10 -4
  642. package/src/columns/edit.js +7 -3
  643. package/src/columns/edit.native.js +10 -4
  644. package/src/comment-author-name/block.json +5 -1
  645. package/src/comment-content/block.json +5 -1
  646. package/src/comment-date/block.json +1 -0
  647. package/src/comment-edit-link/block.json +5 -1
  648. package/src/comment-reply-link/block.json +5 -1
  649. package/src/comment-template/block.json +14 -1
  650. package/src/comments/block.json +13 -0
  651. package/src/comments/index.php +6 -5
  652. package/src/comments-pagination/block.json +13 -0
  653. package/src/comments-pagination-next/block.json +4 -2
  654. package/src/comments-pagination-numbers/block.json +14 -1
  655. package/src/comments-pagination-numbers/edit.js +12 -3
  656. package/src/comments-pagination-previous/block.json +4 -2
  657. package/src/comments-title/block.json +4 -2
  658. package/src/cover/block.json +13 -0
  659. package/src/cover/deprecated.js +11 -4
  660. package/src/cover/edit/resizable-cover.js +6 -0
  661. package/src/cover/index.php +2 -2
  662. package/src/cover/shared.js +2 -1
  663. package/src/embed/icons.js +1 -1
  664. package/src/file/test/__snapshots__/edit.native.js.snap +32 -4
  665. package/src/gallery/block.json +5 -0
  666. package/src/gallery/deprecated.js +4 -2
  667. package/src/gallery/edit.js +22 -2
  668. package/src/gallery/transforms.js +18 -5
  669. package/src/gallery/utils.js +11 -7
  670. package/src/group/block.json +10 -2
  671. package/src/group/deprecated.js +89 -2
  672. package/src/group/edit.js +15 -2
  673. package/src/group/editor.scss +28 -3
  674. package/src/group/transforms.js +7 -0
  675. package/src/group/variations.js +4 -3
  676. package/src/heading/block.json +3 -1
  677. package/src/heading/deprecated.js +4 -2
  678. package/src/home-link/edit.js +19 -20
  679. package/src/home-link/index.php +8 -17
  680. package/src/image/block.json +13 -7
  681. package/src/image/edit.js +19 -1
  682. package/src/image/editor.scss +39 -3
  683. package/src/image/index.php +1 -1
  684. package/src/image/test/edit.native.js +6 -10
  685. package/src/index.native.js +30 -12
  686. package/src/latest-posts/editor.scss +5 -0
  687. package/src/list/block.json +4 -0
  688. package/src/list/index.js +1 -1
  689. package/src/list/test/__snapshots__/edit.native.js.snap +133 -0
  690. package/src/list/test/edit.native.js +511 -7
  691. package/src/list/v2/edit.js +12 -4
  692. package/src/list/v2/tag-name.js +13 -0
  693. package/src/list/v2/tag-name.native.js +12 -0
  694. package/src/list/v2/transforms.js +1 -9
  695. package/src/list-item/edit.js +3 -2
  696. package/src/list-item/edit.native.js +148 -0
  697. package/src/list-item/hooks/index.js +1 -0
  698. package/src/list-item/hooks/use-copy.js +36 -0
  699. package/src/list-item/icons.native.js +34 -0
  700. package/src/list-item/list-style-type.native.js +146 -0
  701. package/src/list-item/style.native.scss +49 -0
  702. package/src/media-text/block.json +17 -0
  703. package/src/media-text/deprecated.js +564 -417
  704. package/src/media-text/edit.js +1 -0
  705. package/src/media-text/media-container.js +3 -1
  706. package/src/media-text/style.scss +2 -0
  707. package/src/media-text/test/media-container.js +24 -0
  708. package/src/navigation/block.json +1 -0
  709. package/src/navigation/deprecated.js +4 -2
  710. package/src/navigation/edit/index.js +234 -237
  711. package/src/navigation/edit/navigation-menu-selector.js +12 -26
  712. package/src/navigation/edit/placeholder/index.js +4 -2
  713. package/src/navigation/edit/responsive-wrapper.js +24 -3
  714. package/src/navigation/edit/unsaved-inner-blocks.js +3 -1
  715. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +31 -37
  716. package/src/navigation/edit/use-create-navigation-menu.js +4 -0
  717. package/src/navigation/edit/use-inner-blocks.js +39 -0
  718. package/src/navigation/edit/utils.js +30 -0
  719. package/src/navigation/editor.scss +3 -2
  720. package/src/navigation/index.php +17 -16
  721. package/src/navigation/menu-items-to-blocks.js +3 -6
  722. package/src/navigation/style.scss +13 -22
  723. package/src/navigation/test/use-navigation-menu.js +18 -1
  724. package/src/navigation/use-navigation-menu.js +20 -13
  725. package/src/navigation-link/edit.js +9 -13
  726. package/src/navigation-link/index.php +1 -1
  727. package/src/navigation-submenu/edit.js +9 -13
  728. package/src/navigation-submenu/index.php +1 -1
  729. package/src/page-list/edit.js +6 -2
  730. package/src/page-list/index.php +4 -4
  731. package/src/paragraph/block.json +7 -0
  732. package/src/paragraph/deprecated.js +33 -35
  733. package/src/paragraph/edit.js +1 -0
  734. package/src/paragraph/editor.scss +5 -3
  735. package/src/post-author/block.json +4 -2
  736. package/src/post-author/edit.js +6 -3
  737. package/src/post-author-biography/block.json +1 -0
  738. package/src/post-author-biography/edit.js +4 -1
  739. package/src/post-author-name/block.json +5 -1
  740. package/src/post-comments-count/block.json +4 -1
  741. package/src/post-comments-count/edit.js +10 -2
  742. package/src/post-comments-link/block.json +4 -2
  743. package/src/post-content/edit.js +4 -4
  744. package/src/post-date/block.json +9 -0
  745. package/src/post-date/edit.js +12 -2
  746. package/src/post-date/index.php +10 -2
  747. package/src/post-date/style.scss +4 -0
  748. package/src/post-featured-image/block.json +21 -0
  749. package/src/post-featured-image/edit.js +66 -14
  750. package/src/post-featured-image/editor.scss +44 -53
  751. package/src/post-featured-image/index.php +64 -5
  752. package/src/post-featured-image/style.scss +1 -0
  753. package/src/post-navigation-link/block.json +3 -2
  754. package/src/post-template/block.json +15 -1
  755. package/src/post-template/edit.js +6 -1
  756. package/src/post-template/index.php +7 -4
  757. package/src/post-terms/block.json +5 -3
  758. package/src/post-title/block.json +2 -1
  759. package/src/post-title/index.php +2 -1
  760. package/src/post-title/style.scss +2 -0
  761. package/src/preformatted/block.json +4 -2
  762. package/src/preformatted/test/__snapshots__/edit.native.js.snap +16 -2
  763. package/src/pullquote/block.json +11 -4
  764. package/src/pullquote/deprecated.js +490 -412
  765. package/src/pullquote/edit.js +1 -1
  766. package/src/pullquote/edit.native.js +0 -1
  767. package/src/pullquote/editor.scss +0 -16
  768. package/src/pullquote/index.js +1 -3
  769. package/src/pullquote/save.js +1 -1
  770. package/src/pullquote/style.scss +0 -11
  771. package/src/pullquote/transforms.js +17 -33
  772. package/src/query/deprecated.js +4 -9
  773. package/src/query/edit/index.js +28 -15
  774. package/src/query/edit/inspector-controls/index.js +129 -65
  775. package/src/query/edit/inspector-controls/taxonomy-controls.js +18 -11
  776. package/src/query/edit/query-placeholder.js +17 -2
  777. package/src/query/editor.scss +9 -0
  778. package/src/query/utils.js +29 -7
  779. package/src/query-no-results/edit.js +1 -1
  780. package/src/query-pagination/style.scss +14 -0
  781. package/src/query-title/block.json +11 -2
  782. package/src/query-title/edit.js +51 -7
  783. package/src/query-title/index.php +28 -2
  784. package/src/query-title/style.scss +4 -0
  785. package/src/query-title/variations.js +13 -0
  786. package/src/quote/deprecated.js +6 -5
  787. package/src/quote/transforms.js +6 -24
  788. package/src/search/index.php +1 -1
  789. package/src/search/style.scss +2 -0
  790. package/src/search/test/__snapshots__/edit.native.js.snap +56 -7
  791. package/src/separator/block.json +1 -0
  792. package/src/separator/deprecated.js +2 -3
  793. package/src/separator/edit.js +1 -1
  794. package/src/separator/test/edit.js +5 -3
  795. package/src/site-logo/editor.scss +8 -66
  796. package/src/site-title/index.php +8 -9
  797. package/src/social-link/icons/reddit.js +1 -1
  798. package/src/social-link/index.php +2 -2
  799. package/src/social-link/socials-with-bg.scss +1 -1
  800. package/src/social-link/socials-without-bg.scss +1 -1
  801. package/src/social-links/block.json +9 -0
  802. package/src/social-links/edit.js +48 -19
  803. package/src/spacer/block.json +7 -1
  804. package/src/style.scss +2 -0
  805. package/src/table/block.json +4 -0
  806. package/src/table/state.js +21 -19
  807. package/src/table-of-contents/block.json +24 -1
  808. package/src/tag-cloud/block.json +5 -1
  809. package/src/tag-cloud/style.scss +1 -0
  810. package/src/template-part/edit/index.js +4 -4
  811. package/src/template-part/index.js +3 -2
  812. package/src/term-description/block.json +4 -0
  813. package/src/text-columns/edit.js +2 -2
  814. package/src/text-columns/save.js +2 -2
  815. package/src/verse/block.json +1 -0
  816. package/src/video/block.json +4 -0
  817. package/src/video/style.scss +2 -0
@@ -10,7 +10,7 @@ import {
10
10
  import { __, sprintf } from '@wordpress/i18n';
11
11
  import { decodeEntities } from '@wordpress/html-entities';
12
12
  import { addQueryArgs } from '@wordpress/url';
13
- import { forwardRef, useCallback, useMemo } from '@wordpress/element';
13
+ import { forwardRef, useMemo } from '@wordpress/element';
14
14
 
15
15
  /**
16
16
  * Internal dependencies
@@ -21,7 +21,8 @@ import useNavigationEntities from '../use-navigation-entities';
21
21
  function NavigationMenuSelector(
22
22
  {
23
23
  currentMenuId,
24
- onSelect,
24
+ onSelectNavigationMenu,
25
+ onSelectClassicMenu,
25
26
  onCreateNew,
26
27
  showManageActions = false,
27
28
  actionLabel,
@@ -43,24 +44,6 @@ function NavigationMenuSelector(
43
44
  canSwitchNavigationMenu,
44
45
  } = useNavigationMenu();
45
46
 
46
- const handleSelect = useCallback(
47
- ( _onClose ) => ( selectedId ) => {
48
- _onClose();
49
- onSelect(
50
- navigationMenus?.find( ( post ) => post.id === selectedId )
51
- );
52
- },
53
- [ navigationMenus ]
54
- );
55
-
56
- const handleSelectClassic = useCallback(
57
- ( _onClose, menu ) => () => {
58
- _onClose();
59
- onSelect( menu );
60
- },
61
- []
62
- );
63
-
64
47
  const menuChoices = useMemo( () => {
65
48
  return (
66
49
  navigationMenus?.map( ( { id, title } ) => {
@@ -83,7 +66,7 @@ function NavigationMenuSelector(
83
66
 
84
67
  // Show the selector if:
85
68
  // - has switch or create permissions and there are block or classic menus.
86
- // - user has create or update permisisons and component should show the menu actions.
69
+ // - user has create or update permissions and component should show the menu actions.
87
70
  const showSelectMenus =
88
71
  ( ( canSwitchNavigationMenu || canUserCreateNavigationMenu ) &&
89
72
  ( hasNavigationMenus || hasClassicMenus ) ) ||
@@ -107,7 +90,10 @@ function NavigationMenuSelector(
107
90
  <MenuGroup label={ __( 'Menus' ) }>
108
91
  <MenuItemsChoice
109
92
  value={ currentMenuId }
110
- onSelect={ handleSelect( onClose ) }
93
+ onSelect={ ( menuId ) => {
94
+ onClose();
95
+ onSelectNavigationMenu( menuId );
96
+ } }
111
97
  choices={ menuChoices }
112
98
  />
113
99
  </MenuGroup>
@@ -118,10 +104,10 @@ function NavigationMenuSelector(
118
104
  const label = decodeEntities( menu.name );
119
105
  return (
120
106
  <MenuItem
121
- onClick={ handleSelectClassic(
122
- onClose,
123
- menu
124
- ) }
107
+ onClick={ () => {
108
+ onClose();
109
+ onSelectClassicMenu( menu );
110
+ } }
125
111
  key={ menu.id }
126
112
  aria-label={ sprintf(
127
113
  createActionLabel,
@@ -20,7 +20,8 @@ export default function NavigationPlaceholder( {
20
20
  clientId,
21
21
  canUserCreateNavigationMenu = false,
22
22
  isResolvingCanUserCreateNavigationMenu,
23
- onFinish,
23
+ onSelectNavigationMenu,
24
+ onSelectClassicMenu,
24
25
  onCreateEmpty,
25
26
  } ) {
26
27
  const { isResolvingMenus, hasResolvedMenus } = useNavigationEntities();
@@ -67,7 +68,8 @@ export default function NavigationPlaceholder( {
67
68
  <NavigationMenuSelector
68
69
  currentMenuId={ currentMenuId }
69
70
  clientId={ clientId }
70
- onSelect={ onFinish }
71
+ onSelectNavigationMenu={ onSelectNavigationMenu }
72
+ onSelectClassicMenu={ onSelectClassicMenu }
71
73
  toggleProps={ {
72
74
  variant: 'tertiary',
73
75
  iconPosition: 'right',
@@ -9,6 +9,7 @@ import classnames from 'classnames';
9
9
  import { close, Icon } from '@wordpress/icons';
10
10
  import { Button } from '@wordpress/components';
11
11
  import { __ } from '@wordpress/i18n';
12
+ import { getColorClassName } from '@wordpress/block-editor';
12
13
 
13
14
  /**
14
15
  * Internal dependencies
@@ -22,21 +23,41 @@ export default function ResponsiveWrapper( {
22
23
  isResponsive,
23
24
  onToggle,
24
25
  isHiddenByDefault,
25
- classNames,
26
- styles,
26
+ overlayBackgroundColor,
27
+ overlayTextColor,
27
28
  hasIcon,
28
29
  } ) {
29
30
  if ( ! isResponsive ) {
30
31
  return children;
31
32
  }
33
+
32
34
  const responsiveContainerClasses = classnames(
33
35
  'wp-block-navigation__responsive-container',
34
- classNames,
35
36
  {
37
+ 'has-text-color':
38
+ !! overlayTextColor.color || !! overlayTextColor?.class,
39
+ [ getColorClassName( 'color', overlayTextColor?.slug ) ]:
40
+ !! overlayTextColor?.slug,
41
+ 'has-background':
42
+ !! overlayBackgroundColor.color ||
43
+ overlayBackgroundColor?.class,
44
+ [ getColorClassName(
45
+ 'background-color',
46
+ overlayBackgroundColor?.slug
47
+ ) ]: !! overlayBackgroundColor?.slug,
36
48
  'is-menu-open': isOpen,
37
49
  'hidden-by-default': isHiddenByDefault,
38
50
  }
39
51
  );
52
+
53
+ const styles = {
54
+ color: ! overlayTextColor?.slug && overlayTextColor?.color,
55
+ backgroundColor:
56
+ ! overlayBackgroundColor?.slug &&
57
+ overlayBackgroundColor?.color &&
58
+ overlayBackgroundColor.color,
59
+ };
60
+
40
61
  const openButtonClasses = classnames(
41
62
  'wp-block-navigation__responsive-container-open',
42
63
  { 'always-shown': isHiddenByDefault }
@@ -63,7 +63,9 @@ export default function UnsavedInnerBlocks( {
63
63
  // from the original inner blocks from the post content then the
64
64
  // user has made changes to the inner blocks. At this point the inner
65
65
  // blocks can be considered "dirty".
66
- const innerBlocksAreDirty = blocks !== originalBlocks.current;
66
+ // We also make sure the current innerBlocks had a chance to be set.
67
+ const innerBlocksAreDirty =
68
+ !! originalBlocks.current && blocks !== originalBlocks.current;
67
69
 
68
70
  const shouldDirectInsert = useMemo(
69
71
  () =>
@@ -23,7 +23,6 @@ function useConvertClassicToBlockMenu( clientId ) {
23
23
  const registry = useRegistry();
24
24
 
25
25
  const [ status, setStatus ] = useState( CLASSIC_MENU_CONVERSION_IDLE );
26
- const [ value, setValue ] = useState( null );
27
26
  const [ error, setError ] = useState( null );
28
27
 
29
28
  async function convertClassicMenuToBlockMenu( menuId, menuName ) {
@@ -88,47 +87,42 @@ function useConvertClassicToBlockMenu( clientId ) {
88
87
  return navigationMenu;
89
88
  }
90
89
 
91
- const convert = useCallback(
92
- ( menuId, menuName ) => {
93
- if ( ! menuId || ! menuName ) {
94
- setError( 'Unable to convert menu. Missing menu details.' );
90
+ const convert = useCallback( async ( menuId, menuName ) => {
91
+ if ( ! menuId || ! menuName ) {
92
+ setError( 'Unable to convert menu. Missing menu details.' );
93
+ setStatus( CLASSIC_MENU_CONVERSION_ERROR );
94
+ return;
95
+ }
96
+
97
+ setStatus( CLASSIC_MENU_CONVERSION_PENDING );
98
+ setError( null );
99
+
100
+ return await convertClassicMenuToBlockMenu( menuId, menuName )
101
+ .then( ( navigationMenu ) => {
102
+ setStatus( CLASSIC_MENU_CONVERSION_SUCCESS );
103
+ return navigationMenu;
104
+ } )
105
+ .catch( ( err ) => {
106
+ setError( err?.message );
95
107
  setStatus( CLASSIC_MENU_CONVERSION_ERROR );
96
- return;
97
- }
98
-
99
- setStatus( CLASSIC_MENU_CONVERSION_PENDING );
100
- setValue( null );
101
- setError( null );
102
-
103
- convertClassicMenuToBlockMenu( menuId, menuName )
104
- .then( ( navMenu ) => {
105
- setValue( navMenu );
106
- setStatus( CLASSIC_MENU_CONVERSION_SUCCESS );
107
- } )
108
- .catch( ( err ) => {
109
- setError( err?.message );
110
- setStatus( CLASSIC_MENU_CONVERSION_ERROR );
111
-
112
- // Rethrow error for debugging.
113
- throw new Error(
114
- sprintf(
115
- // translators: %s: the name of a menu (e.g. Header navigation).
116
- __( `Unable to create Navigation Menu "%s".` ),
117
- menuName
118
- ),
119
- {
120
- cause: err,
121
- }
122
- );
123
- } );
124
- },
125
- [ clientId ]
126
- );
108
+
109
+ // Rethrow error for debugging.
110
+ throw new Error(
111
+ sprintf(
112
+ // translators: %s: the name of a menu (e.g. Header navigation).
113
+ __( `Unable to create Navigation Menu "%s".` ),
114
+ menuName
115
+ ),
116
+ {
117
+ cause: err,
118
+ }
119
+ );
120
+ } );
121
+ }, [] );
127
122
 
128
123
  return {
129
124
  convert,
130
125
  status,
131
- value,
132
126
  error,
133
127
  };
134
128
  }
@@ -86,5 +86,9 @@ export default function useCreateNavigationMenu( clientId ) {
86
86
  status,
87
87
  value,
88
88
  error,
89
+ isIdle: status === CREATE_NAVIGATION_MENU_IDLE,
90
+ isPending: status === CREATE_NAVIGATION_MENU_PENDING,
91
+ isSuccess: status === CREATE_NAVIGATION_MENU_SUCCESS,
92
+ isError: status === CREATE_NAVIGATION_MENU_ERROR,
89
93
  };
90
94
  }
@@ -0,0 +1,39 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useSelect } from '@wordpress/data';
5
+ import { store as blockEditorStore } from '@wordpress/block-editor';
6
+
7
+ const EMPTY_ARRAY = [];
8
+
9
+ export function useInnerBlocks( clientId ) {
10
+ return useSelect(
11
+ ( select ) => {
12
+ const { getBlock, getBlocks, hasSelectedInnerBlock } =
13
+ select( blockEditorStore );
14
+
15
+ // This relies on the fact that `getBlock` won't return controlled
16
+ // inner blocks, while `getBlocks` does. It might be more stable to
17
+ // introduce a selector like `getUncontrolledInnerBlocks`, just in
18
+ // case `getBlock` is fixed.
19
+ const _uncontrolledInnerBlocks = getBlock( clientId ).innerBlocks;
20
+
21
+ const _hasUncontrolledInnerBlocks =
22
+ !! _uncontrolledInnerBlocks?.length;
23
+ const _controlledInnerBlocks = _hasUncontrolledInnerBlocks
24
+ ? EMPTY_ARRAY
25
+ : getBlocks( clientId );
26
+
27
+ return {
28
+ innerBlocks: _hasUncontrolledInnerBlocks
29
+ ? _uncontrolledInnerBlocks
30
+ : _controlledInnerBlocks,
31
+ hasUncontrolledInnerBlocks: _hasUncontrolledInnerBlocks,
32
+ uncontrolledInnerBlocks: _uncontrolledInnerBlocks,
33
+ controlledInnerBlocks: _controlledInnerBlocks,
34
+ isInnerBlockSelected: hasSelectedInnerBlock( clientId, true ),
35
+ };
36
+ },
37
+ [ clientId ]
38
+ );
39
+ }
@@ -0,0 +1,30 @@
1
+ function getComputedStyle( node ) {
2
+ return node.ownerDocument.defaultView.getComputedStyle( node );
3
+ }
4
+
5
+ export function detectColors(
6
+ colorsDetectionElement,
7
+ setColor,
8
+ setBackground
9
+ ) {
10
+ if ( ! colorsDetectionElement ) {
11
+ return;
12
+ }
13
+ setColor( getComputedStyle( colorsDetectionElement ).color );
14
+
15
+ let backgroundColorNode = colorsDetectionElement;
16
+ let backgroundColor =
17
+ getComputedStyle( backgroundColorNode ).backgroundColor;
18
+ while (
19
+ backgroundColor === 'rgba(0, 0, 0, 0)' &&
20
+ backgroundColorNode.parentNode &&
21
+ backgroundColorNode.parentNode.nodeType ===
22
+ backgroundColorNode.parentNode.ELEMENT_NODE
23
+ ) {
24
+ backgroundColorNode = backgroundColorNode.parentNode;
25
+ backgroundColor =
26
+ getComputedStyle( backgroundColorNode ).backgroundColor;
27
+ }
28
+
29
+ setBackground( backgroundColor );
30
+ }
@@ -200,9 +200,9 @@ $color-control-label-height: 20px;
200
200
 
201
201
  // Override inner padding on default appender.
202
202
  // This should be a temporary fix, to be replaced by improvements to
203
- // the sibling inserter.
203
+ // the sibling inserter. Or by the dropdown appender that is used in Group, instead of the "Button block appender".
204
204
  // See https://github.com/WordPress/gutenberg/issues/37572.
205
- .wp-block-navigation .block-editor-button-block-appender {
205
+ .wp-block-navigation .wp-block + .block-list-appender .block-editor-button-block-appender {
206
206
  background-color: $gray-900;
207
207
  color: $white;
208
208
 
@@ -520,6 +520,7 @@ body.editor-styles-wrapper
520
520
  // so focus is applied naturally on the block container.
521
521
  // It's important the right container has focus, otherwise you can't press
522
522
  // "Delete" to remove the block.
523
+ .wp-block-navigation__responsive-container,
523
524
  .wp-block-navigation__responsive-close {
524
525
  @include break-small() {
525
526
  pointer-events: none;
@@ -250,29 +250,24 @@ function block_core_navigation_render_submenu_icon() {
250
250
 
251
251
 
252
252
  /**
253
- * Finds the first non-empty `wp_navigation` Post.
253
+ * Finds the most recently published `wp_navigation` Post.
254
254
  *
255
255
  * @return WP_Post|null the first non-empty Navigation or null.
256
256
  */
257
- function block_core_navigation_get_first_non_empty_navigation() {
258
- // Order and orderby args set to mirror those in `wp_get_nav_menus`
259
- // see:
260
- // - https://github.com/WordPress/wordpress-develop/blob/ba943e113d3b31b121f77a2d30aebe14b047c69d/src/wp-includes/nav-menu.php#L613-L619.
261
- // - https://developer.wordpress.org/reference/classes/wp_query/#order-orderby-parameters.
257
+ function block_core_navigation_get_most_recently_published_navigation() {
258
+ // We default to the most recently created menu.
262
259
  $parsed_args = array(
263
260
  'post_type' => 'wp_navigation',
264
261
  'no_found_rows' => true,
265
- 'order' => 'ASC',
266
- 'orderby' => 'name',
262
+ 'order' => 'DESC',
263
+ 'orderby' => 'date',
267
264
  'post_status' => 'publish',
268
- 'posts_per_page' => 20, // Try the first 20 posts.
265
+ 'posts_per_page' => 1, // get only the most recent.
269
266
  );
270
267
 
271
- $navigation_posts = new WP_Query( $parsed_args );
272
- foreach ( $navigation_posts->posts as $navigation_post ) {
273
- if ( has_blocks( $navigation_post ) ) {
274
- return $navigation_post;
275
- }
268
+ $navigation_post = new WP_Query( $parsed_args );
269
+ if ( count( $navigation_post->posts ) > 0 ) {
270
+ return $navigation_post->posts[0];
276
271
  }
277
272
 
278
273
  return null;
@@ -325,7 +320,7 @@ function block_core_navigation_get_fallback_blocks() {
325
320
 
326
321
  // Default to a list of Pages.
327
322
 
328
- $navigation_post = block_core_navigation_get_first_non_empty_navigation();
323
+ $navigation_post = block_core_navigation_get_most_recently_published_navigation();
329
324
 
330
325
  // Prefer using the first non-empty Navigation as fallback if available.
331
326
  if ( $navigation_post ) {
@@ -377,7 +372,7 @@ function block_core_navigation_from_block_get_post_ids( $block ) {
377
372
  }
378
373
 
379
374
  if ( 'core/navigation-link' === $block->name || 'core/navigation-submenu' === $block->name ) {
380
- if ( $block->attributes && isset( $block->attributes['kind'] ) && 'post-type' === $block->attributes['kind'] ) {
375
+ if ( $block->attributes && isset( $block->attributes['kind'] ) && 'post-type' === $block->attributes['kind'] && isset( $block->attributes['id'] ) ) {
381
376
  $post_ids[] = $block->attributes['id'];
382
377
  }
383
378
  }
@@ -472,6 +467,12 @@ function render_block_core_navigation( $attributes, $content, $block ) {
472
467
  return '';
473
468
  }
474
469
 
470
+ // Only published posts are valid. If this is changed then a corresponding change
471
+ // must also be implemented in `use-navigation-menu.js`.
472
+ if ( 'publish' !== $navigation_post->post_status ) {
473
+ return '';
474
+ }
475
+
475
476
  $nav_menu_name = $navigation_post->post_title;
476
477
 
477
478
  if ( isset( $seen_menu_names[ $nav_menu_name ] ) ) {
@@ -1,8 +1,3 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { sortBy } from 'lodash';
5
-
6
1
  /**
7
2
  * WordPress dependencies
8
3
  */
@@ -40,7 +35,9 @@ function mapMenuItemsToBlocks( menuItems ) {
40
35
  let mapping = {};
41
36
 
42
37
  // The menuItem should be in menu_order sort order.
43
- const sortedItems = sortBy( menuItems, 'menu_order' );
38
+ const sortedItems = [ ...menuItems ].sort(
39
+ ( a, b ) => a.menu_order - b.menu_order
40
+ );
44
41
 
45
42
  const innerBlocks = sortedItems.map( ( menuItem ) => {
46
43
  if ( menuItem.type === 'block' ) {
@@ -45,9 +45,6 @@ $navigation-icon-size: 24px;
45
45
  // but still allow them to be overridden by user-set colors.
46
46
  .wp-block-navigation-item__content {
47
47
  display: block;
48
-
49
- // Set the default menu item padding to zero, to allow text-only buttons.
50
- padding: 0;
51
48
  }
52
49
 
53
50
  // The following rules provide class based application of user selected text
@@ -154,10 +151,7 @@ $navigation-icon-size: 24px;
154
151
  // Styles for submenu flyout.
155
152
  // These are separated out with reduced specificity to allow better inheritance from Global Styles.
156
153
  .wp-block-navigation .has-child {
157
- // We use :where to keep specificity minimal, yet still scope it to only the navigation block.
158
- // That way if padding is set in theme.json, it still wins.
159
- // https://css-tricks.com/almanac/selectors/w/where/
160
- :where(.wp-block-navigation__submenu-container) {
154
+ .wp-block-navigation__submenu-container {
161
155
  background-color: inherit;
162
156
  color: inherit;
163
157
  position: absolute;
@@ -233,7 +227,7 @@ $navigation-icon-size: 24px;
233
227
 
234
228
  // Custom menu items.
235
229
  // Show submenus on hover unless they open on click.
236
- &:where(:not(.open-on-click)):hover > .wp-block-navigation__submenu-container {
230
+ &:not(.open-on-click):hover > .wp-block-navigation__submenu-container {
237
231
  visibility: visible;
238
232
  overflow: visible;
239
233
  opacity: 1;
@@ -243,7 +237,7 @@ $navigation-icon-size: 24px;
243
237
  }
244
238
 
245
239
  // Keep submenus open when focus is within.
246
- &:where(:not(.open-on-click):not(.open-on-hover-click)):focus-within > .wp-block-navigation__submenu-container {
240
+ &:not(.open-on-click):not(.open-on-hover-click):focus-within > .wp-block-navigation__submenu-container {
247
241
  visibility: visible;
248
242
  overflow: visible;
249
243
  opacity: 1;
@@ -339,17 +333,6 @@ button.wp-block-navigation-item__content {
339
333
  gap: inherit;
340
334
  }
341
335
 
342
- // Menu items with background.
343
- // We use :where to keep specificity minimal, yet still scope it to only the navigation block.
344
- // That way if padding is set in theme.json, it still wins.
345
- // https://css-tricks.com/almanac/selectors/w/where/
346
- .wp-block-navigation:where(.has-background) {
347
- &,
348
- .wp-block-navigation .wp-block-page-list,
349
- .wp-block-navigation__container {
350
- gap: inherit;
351
- }
352
- }
353
336
 
354
337
  /**
355
338
  * Paddings
@@ -358,18 +341,22 @@ button.wp-block-navigation-item__content {
358
341
  // We use :where to keep specificity minimal, yet still scope it to only the navigation block.
359
342
  // That way if padding is set in theme.json, it still wins.
360
343
  // https://css-tricks.com/almanac/selectors/w/where/
344
+ // Note: .wp-block-navigation-item targets both Page List and custom menu items. .wp-block-navigation-link targets only custom.
361
345
 
362
346
  // When the menu has a background, items have paddings, reduce margins to compensate.
363
347
  // Treat margins and paddings differently when the block has a background.
364
- .wp-block-navigation:where(.has-background) .wp-block-navigation-item__content {
348
+ :where(.wp-block-navigation.has-background .wp-block-navigation-item a:not(.wp-element-button)),
349
+ :where(.wp-block-navigation.has-background .wp-block-navigation-submenu a:not(.wp-element-button)) {
365
350
  padding: 0.5em 1em;
366
351
  }
367
352
 
368
353
  // Provide a default padding for submenus who should always have some, regardless of the top level menu items.
369
- .wp-block-navigation :where(.wp-block-navigation__submenu-container) .wp-block-navigation-item__content {
354
+ :where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item a:not(.wp-element-button)),
355
+ :where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu a:not(.wp-element-button)) {
370
356
  padding: 0.5em 1em;
371
357
  }
372
358
 
359
+
373
360
  /**
374
361
  * Justifications.
375
362
  */
@@ -452,6 +439,10 @@ button.wp-block-navigation-item__content {
452
439
  right: 0;
453
440
  bottom: 0;
454
441
 
442
+ .wp-block-navigation-link a {
443
+ color: inherit;
444
+ }
445
+
455
446
  .wp-block-navigation__responsive-container-content {
456
447
  display: flex;
457
448
  flex-wrap: var(--navigation-layout-wrap, wrap);
@@ -49,6 +49,20 @@ function resolveRecords( registry, menus ) {
49
49
  } );
50
50
  }
51
51
 
52
+ function resolveReadPermission( registry, allowed ) {
53
+ const dispatch = registry.dispatch( coreStore );
54
+ dispatch.receiveUserPermission( 'create/navigation', allowed );
55
+ dispatch.startResolution( 'canUser', [ 'read', 'navigation' ] );
56
+ dispatch.finishResolution( 'canUser', [ 'read', 'navigation' ] );
57
+ }
58
+
59
+ function resolveReadRecordPermission( registry, ref, allowed ) {
60
+ const dispatch = registry.dispatch( coreStore );
61
+ dispatch.receiveUserPermission( 'create/navigation', allowed );
62
+ dispatch.startResolution( 'canUser', [ 'read', 'navigation', ref ] );
63
+ dispatch.finishResolution( 'canUser', [ 'read', 'navigation', ref ] );
64
+ }
65
+
52
66
  function resolveCreatePermission( registry, allowed ) {
53
67
  const dispatch = registry.dispatch( coreStore );
54
68
  dispatch.receiveUserPermission( 'create/navigation', allowed );
@@ -105,9 +119,10 @@ describe( 'useNavigationMenus', () => {
105
119
  } );
106
120
  } );
107
121
 
108
- it( 'Should return information about all menus when ref is missing', () => {
122
+ it( 'Should return information about all menus when the ref is missing', () => {
109
123
  resolveRecords( registry, navigationMenus );
110
124
  resolveCreatePermission( registry, true );
125
+ resolveReadPermission( registry, true );
111
126
  expect( useNavigationMenu() ).toEqual( {
112
127
  navigationMenus,
113
128
  navigationMenu: undefined,
@@ -171,6 +186,7 @@ describe( 'useNavigationMenus', () => {
171
186
  it( 'Should return correct permissions (create, update)', () => {
172
187
  resolveRecords( registry, navigationMenus );
173
188
  resolveCreatePermission( registry, true );
189
+ resolveReadRecordPermission( registry, 1, true );
174
190
  resolveUpdatePermission( registry, 1, true );
175
191
  resolveDeletePermission( registry, 1, false );
176
192
  expect( useNavigationMenu( 1 ) ).toEqual( {
@@ -194,6 +210,7 @@ describe( 'useNavigationMenus', () => {
194
210
  it( 'Should return correct permissions (delete only)', () => {
195
211
  resolveRecords( registry, navigationMenus );
196
212
  resolveCreatePermission( registry, false );
213
+ resolveReadRecordPermission( registry, 1, false );
197
214
  resolveUpdatePermission( registry, 1, false );
198
215
  resolveDeletePermission( registry, 1, true );
199
216
  expect( useNavigationMenu( 1 ) ).toEqual( {
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import {
5
5
  store as coreStore,
6
- __experimentalUseResourcePermissions as useResourcePermissions,
6
+ useResourcePermissions,
7
7
  } from '@wordpress/core-data';
8
8
  import { useSelect } from '@wordpress/data';
9
9
 
@@ -12,10 +12,13 @@ export default function useNavigationMenu( ref ) {
12
12
 
13
13
  return useSelect(
14
14
  ( select ) => {
15
- const [
16
- hasResolvedPermissions,
17
- { canCreate, canUpdate, canDelete, isResolving },
18
- ] = permissions;
15
+ const {
16
+ canCreate,
17
+ canUpdate,
18
+ canDelete,
19
+ isResolving,
20
+ hasResolved,
21
+ } = permissions;
19
22
 
20
23
  const {
21
24
  navigationMenus,
@@ -44,16 +47,16 @@ export default function useNavigationMenu( ref ) {
44
47
 
45
48
  canUserCreateNavigationMenu: canCreate,
46
49
  isResolvingCanUserCreateNavigationMenu: isResolving,
47
- hasResolvedCanUserCreateNavigationMenu: hasResolvedPermissions,
50
+ hasResolvedCanUserCreateNavigationMenu: hasResolved,
48
51
 
49
52
  canUserUpdateNavigationMenu: canUpdate,
50
53
  hasResolvedCanUserUpdateNavigationMenu: ref
51
- ? hasResolvedPermissions
54
+ ? hasResolved
52
55
  : undefined,
53
56
 
54
57
  canUserDeleteNavigationMenu: canDelete,
55
58
  hasResolvedCanUserDeleteNavigationMenu: ref
56
- ? hasResolvedPermissions
59
+ ? hasResolved
57
60
  : undefined,
58
61
  };
59
62
  },
@@ -99,15 +102,19 @@ function selectExistingMenu( select, ref ) {
99
102
  args
100
103
  );
101
104
 
105
+ // Only published Navigation posts are considered valid.
106
+ // If this is changed then a corresponding change must also be made
107
+ // in the index.php file.
108
+ const isNavigationMenuPublished = editedNavigationMenu.status === 'publish';
109
+
102
110
  return {
103
111
  isNavigationMenuResolved: hasResolvedNavigationMenu,
104
- isNavigationMenuMissing: hasResolvedNavigationMenu && ! navigationMenu,
112
+ isNavigationMenuMissing:
113
+ hasResolvedNavigationMenu &&
114
+ ( ! navigationMenu || ! isNavigationMenuPublished ),
105
115
 
106
116
  // getEditedEntityRecord will return the post regardless of status.
107
117
  // Therefore if the found post is not published then we should ignore it.
108
- navigationMenu:
109
- editedNavigationMenu.status === 'publish'
110
- ? editedNavigationMenu
111
- : null,
118
+ navigationMenu: isNavigationMenuPublished ? editedNavigationMenu : null,
112
119
  };
113
120
  }