@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
@@ -23,6 +23,8 @@ var _i18n = require("@wordpress/i18n");
23
23
 
24
24
  var _a11y = require("@wordpress/a11y");
25
25
 
26
+ var _blocks = require("@wordpress/blocks");
27
+
26
28
  var _useNavigationMenu = _interopRequireDefault(require("../use-navigation-menu"));
27
29
 
28
30
  var _useNavigationEntities = _interopRequireDefault(require("../use-navigation-entities"));
@@ -47,7 +49,11 @@ var _overlayMenuIcon = _interopRequireDefault(require("./overlay-menu-icon"));
47
49
 
48
50
  var _useConvertClassicMenuToBlockMenu = _interopRequireWildcard(require("./use-convert-classic-menu-to-block-menu"));
49
51
 
50
- var _useCreateNavigationMenu = _interopRequireWildcard(require("./use-create-navigation-menu"));
52
+ var _useCreateNavigationMenu = _interopRequireDefault(require("./use-create-navigation-menu"));
53
+
54
+ var _useInnerBlocks = require("./use-inner-blocks");
55
+
56
+ var _utils = require("./utils");
51
57
 
52
58
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
53
59
 
@@ -64,29 +70,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
64
70
  /**
65
71
  * Internal dependencies
66
72
  */
67
- const EMPTY_ARRAY = [];
68
-
69
- function getComputedStyle(node) {
70
- return node.ownerDocument.defaultView.getComputedStyle(node);
71
- }
72
-
73
- function detectColors(colorsDetectionElement, setColor, setBackground) {
74
- if (!colorsDetectionElement) {
75
- return;
76
- }
77
-
78
- setColor(getComputedStyle(colorsDetectionElement).color);
79
- let backgroundColorNode = colorsDetectionElement;
80
- let backgroundColor = getComputedStyle(backgroundColorNode).backgroundColor;
81
-
82
- while (backgroundColor === 'rgba(0, 0, 0, 0)' && backgroundColorNode.parentNode && backgroundColorNode.parentNode.nodeType === backgroundColorNode.parentNode.ELEMENT_NODE) {
83
- backgroundColorNode = backgroundColorNode.parentNode;
84
- backgroundColor = getComputedStyle(backgroundColorNode).backgroundColor;
85
- }
86
-
87
- setBackground(backgroundColor);
88
- }
89
-
90
73
  function Navigation(_ref) {
91
74
  var _attributes$style, _attributes$style$typ;
92
75
 
@@ -122,7 +105,6 @@ function Navigation(_ref) {
122
105
  hasIcon
123
106
  } = attributes;
124
107
  const ref = attributes.ref;
125
- const registry = (0, _data.useRegistry)();
126
108
 
127
109
  const setRef = postId => {
128
110
  setAttributes({
@@ -130,69 +112,53 @@ function Navigation(_ref) {
130
112
  });
131
113
  };
132
114
 
133
- const [hasAlreadyRendered, RecursionProvider] = (0, _blockEditor.__experimentalUseNoRecursiveRenders)(`navigationMenu/${ref}`); // Preload classic menus, so that they don't suddenly pop-in when viewing
115
+ const recursionId = `navigationMenu/${ref}`;
116
+ const hasAlreadyRendered = (0, _blockEditor.__experimentalUseHasRecursion)(recursionId); // Preload classic menus, so that they don't suddenly pop-in when viewing
134
117
  // the Select Menu dropdown.
135
118
 
136
119
  (0, _useNavigationEntities.default)();
137
- const [showNavigationMenuDeleteNotice] = (0, _useNavigationNotice.default)({
138
- name: 'block-library/core/navigation/delete'
120
+ const [showNavigationMenuStatusNotice, hideNavigationMenuStatusNotice] = (0, _useNavigationNotice.default)({
121
+ name: 'block-library/core/navigation/status'
122
+ });
123
+ const [showClassicMenuConversionNotice, hideClassicMenuConversionNotice] = (0, _useNavigationNotice.default)({
124
+ name: 'block-library/core/navigation/classic-menu-conversion'
139
125
  });
140
- const [showNavigationMenuCreateNotice, hideNavigationMenuCreateNotice] = (0, _useNavigationNotice.default)({
141
- name: 'block-library/core/navigation/create'
126
+ const [showNavigationMenuPermissionsNotice, hideNavigationMenuPermissionsNotice] = (0, _useNavigationNotice.default)({
127
+ name: 'block-library/core/navigation/permissions/update'
142
128
  });
143
129
  const {
144
130
  create: createNavigationMenu,
145
131
  status: createNavigationMenuStatus,
146
132
  error: createNavigationMenuError,
147
- value: createNavigationMenuPost
133
+ value: createNavigationMenuPost,
134
+ isPending: isCreatingNavigationMenu,
135
+ isSuccess: createNavigationMenuIsSuccess,
136
+ isError: createNavigationMenuIsError
148
137
  } = (0, _useCreateNavigationMenu.default)(clientId);
149
- const isCreatingNavigationMenu = createNavigationMenuStatus === _useCreateNavigationMenu.CREATE_NAVIGATION_MENU_PENDING;
150
138
  (0, _element.useEffect)(() => {
151
- hideNavigationMenuCreateNotice();
139
+ hideNavigationMenuStatusNotice();
152
140
 
153
- if (createNavigationMenuStatus === _useCreateNavigationMenu.CREATE_NAVIGATION_MENU_PENDING) {
141
+ if (isCreatingNavigationMenu) {
154
142
  (0, _a11y.speak)((0, _i18n.__)(`Creating Navigation Menu.`));
155
143
  }
156
144
 
157
- if (createNavigationMenuStatus === _useCreateNavigationMenu.CREATE_NAVIGATION_MENU_SUCCESS) {
145
+ if (createNavigationMenuIsSuccess) {
158
146
  setRef(createNavigationMenuPost.id);
159
147
  selectBlock(clientId);
160
- showNavigationMenuCreateNotice((0, _i18n.__)(`Navigation Menu successfully created.`));
148
+ showNavigationMenuStatusNotice((0, _i18n.__)(`Navigation Menu successfully created.`));
161
149
  }
162
150
 
163
- if (createNavigationMenuStatus === _useCreateNavigationMenu.CREATE_NAVIGATION_MENU_ERROR) {
164
- showNavigationMenuCreateNotice((0, _i18n.__)('Failed to create Navigation Menu.'));
151
+ if (createNavigationMenuIsError) {
152
+ showNavigationMenuStatusNotice((0, _i18n.__)('Failed to create Navigation Menu.'));
165
153
  }
166
154
  }, [createNavigationMenu, createNavigationMenuStatus, createNavigationMenuError, createNavigationMenuPost]);
167
155
  const {
168
156
  hasUncontrolledInnerBlocks,
169
157
  uncontrolledInnerBlocks,
170
158
  isInnerBlockSelected,
171
- hasSubmenus
172
- } = (0, _data.useSelect)(select => {
173
- const {
174
- getBlock,
175
- getBlocks,
176
- hasSelectedInnerBlock
177
- } = select(_blockEditor.store); // This relies on the fact that `getBlock` won't return controlled
178
- // inner blocks, while `getBlocks` does. It might be more stable to
179
- // introduce a selector like `getUncontrolledInnerBlocks`, just in
180
- // case `getBlock` is fixed.
181
-
182
- const _uncontrolledInnerBlocks = getBlock(clientId).innerBlocks;
183
-
184
- const _hasUncontrolledInnerBlocks = !!(_uncontrolledInnerBlocks !== null && _uncontrolledInnerBlocks !== void 0 && _uncontrolledInnerBlocks.length);
185
-
186
- const _controlledInnerBlocks = _hasUncontrolledInnerBlocks ? EMPTY_ARRAY : getBlocks(clientId);
187
-
188
- const innerBlocks = _hasUncontrolledInnerBlocks ? _uncontrolledInnerBlocks : _controlledInnerBlocks;
189
- return {
190
- hasSubmenus: !!innerBlocks.find(block => block.name === 'core/navigation-submenu'),
191
- hasUncontrolledInnerBlocks: _hasUncontrolledInnerBlocks,
192
- uncontrolledInnerBlocks: _uncontrolledInnerBlocks,
193
- isInnerBlockSelected: hasSelectedInnerBlock(clientId, true)
194
- };
195
- }, [clientId]);
159
+ innerBlocks
160
+ } = (0, _useInnerBlocks.useInnerBlocks)(clientId);
161
+ const hasSubmenus = !!innerBlocks.find(block => block.name === 'core/navigation-submenu');
196
162
  const {
197
163
  replaceInnerBlocks,
198
164
  selectBlock,
@@ -214,24 +180,43 @@ function Navigation(_ref) {
214
180
  canUserCreateNavigationMenu,
215
181
  isResolvingCanUserCreateNavigationMenu,
216
182
  hasResolvedCanUserCreateNavigationMenu
217
- } = (0, _useNavigationMenu.default)(ref); // Attempt to retrieve and prioritize any existing navigation menu unless
218
- // a specific ref is allocated or the user is explicitly creating a new menu. The aim is
219
- // for the block to "just work" from a user perspective using existing data.
183
+ } = (0, _useNavigationMenu.default)(ref);
184
+ const navMenuResolvedButMissing = hasResolvedNavigationMenus && isNavigationMenuMissing; // Attempt to retrieve and prioritize any existing navigation menu unless:
185
+ // - the are uncontrolled inner blocks already present in the block.
186
+ // - the user is creating a new menu.
187
+ // - there are no menus to choose from.
188
+ // This attempts to pick the first menu if there is a single Navigation Post. If more
189
+ // than 1 exists then use the most recent.
190
+ // The aim is for the block to "just work" from a user perspective using existing data.
220
191
 
221
192
  (0, _element.useEffect)(() => {
222
- if (isCreatingNavigationMenu || ref || !(navigationMenus !== null && navigationMenus !== void 0 && navigationMenus.length) || (navigationMenus === null || navigationMenus === void 0 ? void 0 : navigationMenus.length) > 1) {
193
+ if (hasUncontrolledInnerBlocks || isCreatingNavigationMenu || ref || !(navigationMenus !== null && navigationMenus !== void 0 && navigationMenus.length)) {
223
194
  return;
224
195
  }
225
196
 
197
+ navigationMenus.sort((menuA, menuB) => {
198
+ const menuADate = new Date(menuA.date);
199
+ const menuBDate = new Date(menuB.date);
200
+ return menuADate.getTime() < menuBDate.getTime();
201
+ });
202
+ /**
203
+ * This fallback displays (both in editor and on front)
204
+ * a list of pages only if no menu (user assigned or
205
+ * automatically picked) is available.
206
+ * The fallback should not request a save (entity dirty state)
207
+ * nor to be undoable, hence why it is marked as non persistent
208
+ */
209
+
210
+ __unstableMarkNextChangeAsNotPersistent();
211
+
226
212
  setRef(navigationMenus[0].id);
227
213
  }, [navigationMenus]);
228
214
  const navRef = (0, _element.useRef)();
229
215
  const isDraftNavigationMenu = (navigationMenu === null || navigationMenu === void 0 ? void 0 : navigationMenu.status) === 'draft';
230
216
  const {
231
- convert,
217
+ convert: convertClassicMenu,
232
218
  status: classicMenuConversionStatus,
233
- error: classicMenuConversionError,
234
- value: classicMenuConversionResult
219
+ error: classicMenuConversionError
235
220
  } = (0, _useConvertClassicMenuToBlockMenu.default)(clientId);
236
221
  const isConvertingClassicMenu = classicMenuConversionStatus === _useConvertClassicMenuToBlockMenu.CLASSIC_MENU_CONVERSION_PENDING; // The standard HTML5 tag for the block wrapper.
237
222
 
@@ -242,10 +227,23 @@ function Navigation(_ref) {
242
227
  // - there are no uncontrolled blocks.
243
228
 
244
229
  const isPlaceholder = !ref && !isCreatingNavigationMenu && !isConvertingClassicMenu && hasResolvedNavigationMenus && !hasUncontrolledInnerBlocks;
230
+
231
+ if (isPlaceholder && !ref) {
232
+ /**
233
+ * this fallback only displays (both in editor and on front)
234
+ * the list of pages block if no menu is available as a fallback.
235
+ * We don't want the fallback to request a save,
236
+ * nor to be undoable, hence we mark it non persistent.
237
+ */
238
+ __unstableMarkNextChangeAsNotPersistent();
239
+
240
+ replaceInnerBlocks(clientId, [(0, _blocks.createBlock)('core/page-list')]);
241
+ }
242
+
245
243
  const isEntityAvailable = !isNavigationMenuMissing && isNavigationMenuResolved; // "loading" state:
246
244
  // - there is a menu creation process in progress.
247
245
  // - there is a classic menu conversion process in progress.
248
- // OR
246
+ // OR:
249
247
  // - there is a ref attribute pointing to a Navigation Post
250
248
  // - the Navigation Post isn't available (hasn't resolved) yet.
251
249
 
@@ -273,50 +271,34 @@ function Navigation(_ref) {
273
271
  color: !(textColor !== null && textColor !== void 0 && textColor.slug) && (textColor === null || textColor === void 0 ? void 0 : textColor.color),
274
272
  backgroundColor: !(backgroundColor !== null && backgroundColor !== void 0 && backgroundColor.slug) && (backgroundColor === null || backgroundColor === void 0 ? void 0 : backgroundColor.color)
275
273
  }
276
- }, {
277
- __unstableIsDisabled: hasBlockOverlay
278
- });
279
- const overlayClassnames = (0, _classnames.default)({
280
- 'has-text-color': !!overlayTextColor.color || !!(overlayTextColor !== null && overlayTextColor !== void 0 && overlayTextColor.class),
281
- [(0, _blockEditor.getColorClassName)('color', overlayTextColor === null || overlayTextColor === void 0 ? void 0 : overlayTextColor.slug)]: !!(overlayTextColor !== null && overlayTextColor !== void 0 && overlayTextColor.slug),
282
- 'has-background': !!overlayBackgroundColor.color || (overlayBackgroundColor === null || overlayBackgroundColor === void 0 ? void 0 : overlayBackgroundColor.class),
283
- [(0, _blockEditor.getColorClassName)('background-color', overlayBackgroundColor === null || overlayBackgroundColor === void 0 ? void 0 : overlayBackgroundColor.slug)]: !!(overlayBackgroundColor !== null && overlayBackgroundColor !== void 0 && overlayBackgroundColor.slug)
284
- });
285
- const overlayStyles = {
286
- color: !(overlayTextColor !== null && overlayTextColor !== void 0 && overlayTextColor.slug) && (overlayTextColor === null || overlayTextColor === void 0 ? void 0 : overlayTextColor.color),
287
- backgroundColor: !(overlayBackgroundColor !== null && overlayBackgroundColor !== void 0 && overlayBackgroundColor.slug) && (overlayBackgroundColor === null || overlayBackgroundColor === void 0 ? void 0 : overlayBackgroundColor.color) && overlayBackgroundColor.color
288
- }; // Turn on contrast checker for web only since it's not supported on mobile yet.
274
+ }); // Turn on contrast checker for web only since it's not supported on mobile yet.
289
275
 
290
276
  const enableContrastChecking = _element.Platform.OS === 'web';
291
277
  const [detectedBackgroundColor, setDetectedBackgroundColor] = (0, _element.useState)();
292
278
  const [detectedColor, setDetectedColor] = (0, _element.useState)();
293
279
  const [detectedOverlayBackgroundColor, setDetectedOverlayBackgroundColor] = (0, _element.useState)();
294
280
  const [detectedOverlayColor, setDetectedOverlayColor] = (0, _element.useState)();
295
- const [showClassicMenuConversionErrorNotice, hideClassicMenuConversionErrorNotice] = (0, _useNavigationNotice.default)({
296
- name: 'block-library/core/navigation/classic-menu-conversion/error'
297
- });
298
281
 
299
- function handleUpdateMenu(menuId) {
282
+ const handleUpdateMenu = menuId => {
300
283
  setRef(menuId);
301
284
  selectBlock(clientId);
302
- }
285
+ };
303
286
 
304
287
  (0, _element.useEffect)(() => {
288
+ hideClassicMenuConversionNotice();
289
+
305
290
  if (classicMenuConversionStatus === _useConvertClassicMenuToBlockMenu.CLASSIC_MENU_CONVERSION_PENDING) {
306
291
  (0, _a11y.speak)((0, _i18n.__)('Classic menu importing.'));
307
292
  }
308
293
 
309
- if (classicMenuConversionStatus === _useConvertClassicMenuToBlockMenu.CLASSIC_MENU_CONVERSION_SUCCESS && classicMenuConversionResult) {
310
- handleUpdateMenu(classicMenuConversionResult === null || classicMenuConversionResult === void 0 ? void 0 : classicMenuConversionResult.id);
311
- hideClassicMenuConversionErrorNotice();
312
- (0, _a11y.speak)((0, _i18n.__)('Classic menu imported successfully.'));
294
+ if (classicMenuConversionStatus === _useConvertClassicMenuToBlockMenu.CLASSIC_MENU_CONVERSION_SUCCESS) {
295
+ showClassicMenuConversionNotice((0, _i18n.__)('Classic menu imported successfully.'));
313
296
  }
314
297
 
315
298
  if (classicMenuConversionStatus === _useConvertClassicMenuToBlockMenu.CLASSIC_MENU_CONVERSION_ERROR) {
316
- showClassicMenuConversionErrorNotice(classicMenuConversionError);
317
- (0, _a11y.speak)((0, _i18n.__)('Classic menu import failed.'));
299
+ showClassicMenuConversionNotice((0, _i18n.__)('Classic menu import failed.'));
318
300
  }
319
- }, [classicMenuConversionStatus, classicMenuConversionResult, classicMenuConversionError]); // Spacer block needs orientation from context. This is a patch until
301
+ }, [classicMenuConversionStatus, classicMenuConversionError]); // Spacer block needs orientation from context. This is a patch until
320
302
  // https://github.com/WordPress/gutenberg/issues/36197 is addressed.
321
303
 
322
304
  (0, _element.useEffect)(() => {
@@ -335,54 +317,30 @@ function Navigation(_ref) {
335
317
  return;
336
318
  }
337
319
 
338
- detectColors(navRef.current, setDetectedColor, setDetectedBackgroundColor);
320
+ (0, _utils.detectColors)(navRef.current, setDetectedColor, setDetectedBackgroundColor);
339
321
  const subMenuElement = (_navRef$current = navRef.current) === null || _navRef$current === void 0 ? void 0 : _navRef$current.querySelector('[data-type="core/navigation-link"] [data-type="core/navigation-link"]');
340
322
 
341
323
  if (subMenuElement) {
342
- detectColors(subMenuElement, setDetectedOverlayColor, setDetectedOverlayBackgroundColor);
324
+ (0, _utils.detectColors)(subMenuElement, setDetectedOverlayColor, setDetectedOverlayBackgroundColor);
343
325
  }
344
326
  });
345
- const [showCantEditNotice, hideCantEditNotice] = (0, _useNavigationNotice.default)({
346
- name: 'block-library/core/navigation/permissions/update',
347
- message: (0, _i18n.__)('You do not have permission to edit this Menu. Any changes made will not be saved.')
348
- });
349
- const [showCantCreateNotice, hideCantCreateNotice] = (0, _useNavigationNotice.default)({
350
- name: 'block-library/core/navigation/permissions/create',
351
- message: (0, _i18n.__)('You do not have permission to create Navigation Menus.')
352
- });
353
327
  (0, _element.useEffect)(() => {
354
328
  if (!isSelected && !isInnerBlockSelected) {
355
- hideCantEditNotice();
356
- hideCantCreateNotice();
329
+ hideNavigationMenuPermissionsNotice();
357
330
  }
358
331
 
359
332
  if (isSelected || isInnerBlockSelected) {
360
- if (ref && hasResolvedCanUserUpdateNavigationMenu && !canUserUpdateNavigationMenu) {
361
- showCantEditNotice();
333
+ if (ref && !navMenuResolvedButMissing && hasResolvedCanUserUpdateNavigationMenu && !canUserUpdateNavigationMenu) {
334
+ showNavigationMenuPermissionsNotice((0, _i18n.__)('You do not have permission to edit this Menu. Any changes made will not be saved.'));
362
335
  }
363
336
 
364
337
  if (!ref && hasResolvedCanUserCreateNavigationMenu && !canUserCreateNavigationMenu) {
365
- showCantCreateNotice();
338
+ showNavigationMenuPermissionsNotice((0, _i18n.__)('You do not have permission to create Navigation Menus.'));
366
339
  }
367
340
  }
368
341
  }, [isSelected, isInnerBlockSelected, canUserUpdateNavigationMenu, hasResolvedCanUserUpdateNavigationMenu, canUserCreateNavigationMenu, hasResolvedCanUserCreateNavigationMenu, ref]);
369
342
  const navigationSelectorRef = (0, _element.useRef)();
370
- const [shouldFocusNavigationSelector, setShouldFocusNavigationSelector] = (0, _element.useState)(false);
371
- const handleSelectNavigation = (0, _element.useCallback)(navPostOrClassicMenu => {
372
- if (!navPostOrClassicMenu) {
373
- return;
374
- }
375
-
376
- const isClassicMenu = navPostOrClassicMenu.hasOwnProperty('auto_add');
377
-
378
- if (isClassicMenu) {
379
- convert(navPostOrClassicMenu.id, navPostOrClassicMenu.name);
380
- } else {
381
- handleUpdateMenu(navPostOrClassicMenu.id);
382
- }
383
-
384
- setShouldFocusNavigationSelector(true);
385
- }, [convert, handleUpdateMenu]); // Focus support after menu selection.
343
+ const [shouldFocusNavigationSelector, setShouldFocusNavigationSelector] = (0, _element.useState)(false); // Focus support after menu selection.
386
344
 
387
345
  (0, _element.useEffect)(() => {
388
346
  var _navigationSelectorRe;
@@ -394,17 +352,6 @@ function Navigation(_ref) {
394
352
  navigationSelectorRef === null || navigationSelectorRef === void 0 ? void 0 : (_navigationSelectorRe = navigationSelectorRef.current) === null || _navigationSelectorRe === void 0 ? void 0 : _navigationSelectorRe.focus();
395
353
  setShouldFocusNavigationSelector(false);
396
354
  }, [isDraftNavigationMenu, isEntityAvailable, shouldFocusNavigationSelector]);
397
- const resetToEmptyBlock = (0, _element.useCallback)(() => {
398
- registry.batch(() => {
399
- setAttributes({
400
- ref: undefined
401
- });
402
-
403
- if (!ref) {
404
- replaceInnerBlocks(clientId, []);
405
- }
406
- });
407
- }, [clientId, ref]);
408
355
  const isResponsive = 'never' !== overlayMenu;
409
356
  const overlayMenuPreviewClasses = (0, _classnames.default)('wp-block-navigation__overlay-menu-preview', {
410
357
  open: overlayMenuPreview
@@ -500,14 +447,37 @@ function Navigation(_ref) {
500
447
  const hasUnsavedBlocks = hasUncontrolledInnerBlocks && !isEntityAvailable;
501
448
 
502
449
  if (hasUnsavedBlocks) {
503
- return (0, _element.createElement)(TagName, blockProps, stylingInspectorControls, (0, _element.createElement)(_responsiveWrapper.default, {
450
+ return (0, _element.createElement)(TagName, blockProps, (0, _element.createElement)(_blockEditor.BlockControls, null, (0, _element.createElement)(_components.ToolbarGroup, {
451
+ className: "wp-block-navigation__toolbar-menu-selector"
452
+ }, (0, _element.createElement)(_navigationMenuSelector.default, {
453
+ ref: null,
454
+ currentMenuId: null,
455
+ clientId: clientId,
456
+ onSelectNavigationMenu: menuId => {
457
+ handleUpdateMenu(menuId);
458
+ setShouldFocusNavigationSelector(true);
459
+ },
460
+ onSelectClassicMenu: async classicMenu => {
461
+ const navMenu = await convertClassicMenu(classicMenu.id, classicMenu.name);
462
+
463
+ if (navMenu) {
464
+ handleUpdateMenu(navMenu.id);
465
+ setShouldFocusNavigationSelector(true);
466
+ }
467
+ },
468
+ onCreateNew: () => createNavigationMenu('', [])
469
+ /* translators: %s: The name of a menu. */
470
+ ,
471
+ actionLabel: (0, _i18n.__)("Switch to '%s'"),
472
+ showManageActions: true
473
+ }))), stylingInspectorControls, (0, _element.createElement)(_responsiveWrapper.default, {
504
474
  id: clientId,
505
475
  onToggle: setResponsiveMenuVisibility,
506
476
  isOpen: isResponsiveMenuOpen,
507
477
  isResponsive: 'never' !== overlayMenu,
508
478
  isHiddenByDefault: 'always' === overlayMenu,
509
- classNames: overlayClassnames,
510
- styles: overlayStyles
479
+ overlayBackgroundColor: overlayBackgroundColor,
480
+ overlayTextColor: overlayTextColor
511
481
  }, (0, _element.createElement)(_unsavedInnerBlocks.default, {
512
482
  blockProps: blockProps,
513
483
  blocks: uncontrolledInnerBlocks,
@@ -520,7 +490,7 @@ function Navigation(_ref) {
520
490
  setHasSavedUnsavedInnerBlocks(true); // Switch to using the wp_navigation entity.
521
491
 
522
492
  setRef(post.id);
523
- showNavigationMenuCreateNotice((0, _i18n.__)(`New Navigation Menu created.`));
493
+ showNavigationMenuStatusNotice((0, _i18n.__)(`New Navigation Menu created.`));
524
494
  }
525
495
  })));
526
496
  } // Show a warning if the selected menu is no longer available.
@@ -528,8 +498,31 @@ function Navigation(_ref) {
528
498
 
529
499
 
530
500
  if (ref && isNavigationMenuMissing) {
531
- return (0, _element.createElement)("div", blockProps, (0, _element.createElement)(_blockEditor.Warning, null, (0, _i18n.__)('Navigation menu has been deleted or is unavailable. '), (0, _element.createElement)(_components.Button, {
532
- onClick: resetToEmptyBlock,
501
+ return (0, _element.createElement)(TagName, blockProps, (0, _element.createElement)(_blockEditor.BlockControls, null, (0, _element.createElement)(_components.ToolbarGroup, {
502
+ className: "wp-block-navigation__toolbar-menu-selector"
503
+ }, (0, _element.createElement)(_navigationMenuSelector.default, {
504
+ ref: navigationSelectorRef,
505
+ currentMenuId: ref,
506
+ clientId: clientId,
507
+ onSelectNavigationMenu: menuId => {
508
+ handleUpdateMenu(menuId);
509
+ setShouldFocusNavigationSelector(true);
510
+ },
511
+ onSelectClassicMenu: async classicMenu => {
512
+ const navMenu = await convertClassicMenu(classicMenu.id, classicMenu.name);
513
+
514
+ if (navMenu) {
515
+ handleUpdateMenu(navMenu.id);
516
+ setShouldFocusNavigationSelector(true);
517
+ }
518
+ },
519
+ onCreateNew: () => createNavigationMenu('', [])
520
+ /* translators: %s: The name of a menu. */
521
+ ,
522
+ actionLabel: (0, _i18n.__)("Switch to '%s'"),
523
+ showManageActions: true
524
+ }))), (0, _element.createElement)(_blockEditor.Warning, null, (0, _i18n.__)('Navigation menu has been deleted or is unavailable. '), (0, _element.createElement)(_components.Button, {
525
+ onClick: () => createNavigationMenu('', []),
533
526
  variant: "link"
534
527
  }, (0, _i18n.__)('Create a new menu?'))));
535
528
  }
@@ -539,15 +532,35 @@ function Navigation(_ref) {
539
532
  }
540
533
 
541
534
  const PlaceholderComponent = CustomPlaceholder ? CustomPlaceholder : _placeholder.default;
542
-
543
- if (isPlaceholder) {
535
+ /**
536
+ * Historically the navigation block has supported custom placeholders.
537
+ * Even though the current UX tries as hard as possible not to
538
+ * end up in a placeholder state, the block continues to support
539
+ * this extensibility point, via a CustomPlaceholder.
540
+ * When CustomPlaceholder is present it becomes the default fallback
541
+ * for an empty navigation block, instead of the default fallbacks.
542
+ *
543
+ */
544
+
545
+ if (isPlaceholder && CustomPlaceholder) {
544
546
  return (0, _element.createElement)(TagName, blockProps, (0, _element.createElement)(PlaceholderComponent, {
545
547
  isSelected: isSelected,
546
548
  currentMenuId: ref,
547
549
  clientId: clientId,
548
550
  canUserCreateNavigationMenu: canUserCreateNavigationMenu,
549
551
  isResolvingCanUserCreateNavigationMenu: isResolvingCanUserCreateNavigationMenu,
550
- onFinish: handleSelectNavigation,
552
+ onSelectNavigationMenu: menuId => {
553
+ handleUpdateMenu(menuId);
554
+ setShouldFocusNavigationSelector(true);
555
+ },
556
+ onSelectClassicMenu: async classicMenu => {
557
+ const navMenu = await convertClassicMenu(classicMenu.id, classicMenu.name);
558
+
559
+ if (navMenu) {
560
+ handleUpdateMenu(navMenu.id);
561
+ setShouldFocusNavigationSelector(true);
562
+ }
563
+ },
551
564
  onCreateEmpty: () => createNavigationMenu('', [])
552
565
  }));
553
566
  }
@@ -556,14 +569,27 @@ function Navigation(_ref) {
556
569
  kind: "postType",
557
570
  type: "wp_navigation",
558
571
  id: ref
559
- }, (0, _element.createElement)(RecursionProvider, null, (0, _element.createElement)(_blockEditor.BlockControls, null, !isDraftNavigationMenu && isEntityAvailable && (0, _element.createElement)(_components.ToolbarGroup, {
572
+ }, (0, _element.createElement)(_blockEditor.__experimentalRecursionProvider, {
573
+ uniqueId: recursionId
574
+ }, (0, _element.createElement)(_blockEditor.BlockControls, null, !isDraftNavigationMenu && isEntityAvailable && (0, _element.createElement)(_components.ToolbarGroup, {
560
575
  className: "wp-block-navigation__toolbar-menu-selector"
561
576
  }, (0, _element.createElement)(_navigationMenuSelector.default, {
562
577
  ref: navigationSelectorRef,
563
578
  currentMenuId: ref,
564
579
  clientId: clientId,
565
- onSelect: handleSelectNavigation,
566
- onCreateNew: resetToEmptyBlock
580
+ onSelectNavigationMenu: menuId => {
581
+ handleUpdateMenu(menuId);
582
+ setShouldFocusNavigationSelector(true);
583
+ },
584
+ onSelectClassicMenu: async classicMenu => {
585
+ const navMenu = await convertClassicMenu(classicMenu.id, classicMenu.name);
586
+
587
+ if (navMenu) {
588
+ handleUpdateMenu(navMenu.id);
589
+ setShouldFocusNavigationSelector(true);
590
+ }
591
+ },
592
+ onCreateNew: () => createNavigationMenu('', [])
567
593
  /* translators: %s: The name of a menu. */
568
594
  ,
569
595
  actionLabel: (0, _i18n.__)("Switch to '%s'"),
@@ -573,8 +599,8 @@ function Navigation(_ref) {
573
599
  }, hasResolvedCanUserUpdateNavigationMenu && canUserUpdateNavigationMenu && (0, _element.createElement)(_navigationMenuNameControl.default, null), hasResolvedCanUserDeleteNavigationMenu && canUserDeleteNavigationMenu && (0, _element.createElement)(_navigationMenuDeleteControl.default, {
574
600
  onDelete: function () {
575
601
  let deletedMenuTitle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
576
- resetToEmptyBlock();
577
- showNavigationMenuDeleteNotice((0, _i18n.sprintf)( // translators: %s: the name of a menu (e.g. Header navigation).
602
+ replaceInnerBlocks(clientId, []);
603
+ showNavigationMenuStatusNotice((0, _i18n.sprintf)( // translators: %s: the name of a menu (e.g. Header navigation).
578
604
  (0, _i18n.__)('Navigation menu %s successfully deleted.'), deletedMenuTitle));
579
605
  }
580
606
  })), isLoading && (0, _element.createElement)(TagName, blockProps, (0, _element.createElement)(_components.Spinner, {
@@ -587,8 +613,8 @@ function Navigation(_ref) {
587
613
  isOpen: isResponsiveMenuOpen,
588
614
  isResponsive: isResponsive,
589
615
  isHiddenByDefault: 'always' === overlayMenu,
590
- classNames: overlayClassnames,
591
- styles: overlayStyles
616
+ overlayBackgroundColor: overlayBackgroundColor,
617
+ overlayTextColor: overlayTextColor
592
618
  }, isEntityAvailable && (0, _element.createElement)(_innerBlocks.default, {
593
619
  clientId: clientId,
594
620
  hasCustomPlaceholder: !!CustomPlaceholder,