@wordpress/block-library 7.13.1-next.957ca95e4c.0 → 7.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1537) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +67 -61
  3. package/babel-plugin.js +1 -1
  4. package/build/archives/index.js +24 -1
  5. package/build/archives/index.js.map +1 -1
  6. package/build/archives/init.js +16 -0
  7. package/build/archives/init.js.map +1 -0
  8. package/build/audio/edit.js +10 -7
  9. package/build/audio/edit.js.map +1 -1
  10. package/build/audio/index.js +17 -9
  11. package/build/audio/index.js.map +1 -1
  12. package/build/audio/init.js +16 -0
  13. package/build/audio/init.js.map +1 -0
  14. package/build/audio/transforms.native.js +1 -1
  15. package/build/audio/transforms.native.js.map +1 -1
  16. package/build/avatar/index.js +13 -2
  17. package/build/avatar/index.js.map +1 -1
  18. package/build/avatar/init.js +16 -0
  19. package/build/avatar/init.js.map +1 -0
  20. package/build/block/edit.js +1 -4
  21. package/build/block/edit.js.map +1 -1
  22. package/build/block/index.js +11 -1
  23. package/build/block/index.js.map +1 -1
  24. package/build/block/init.js +16 -0
  25. package/build/block/init.js.map +1 -0
  26. package/build/button/edit.js +9 -4
  27. package/build/button/edit.js.map +1 -1
  28. package/build/button/index.js +16 -1
  29. package/build/button/index.js.map +1 -1
  30. package/build/button/init.js +16 -0
  31. package/build/button/init.js.map +1 -0
  32. package/build/buttons/edit.js +22 -4
  33. package/build/buttons/edit.js.map +1 -1
  34. package/build/buttons/index.js +24 -1
  35. package/build/buttons/index.js.map +1 -1
  36. package/build/buttons/init.js +16 -0
  37. package/build/buttons/init.js.map +1 -0
  38. package/build/buttons/save.js +27 -2
  39. package/build/buttons/save.js.map +1 -1
  40. package/build/buttons/transforms.js +13 -0
  41. package/build/buttons/transforms.js.map +1 -1
  42. package/build/buttons/transforms.native.js +1 -1
  43. package/build/buttons/transforms.native.js.map +1 -1
  44. package/build/calendar/index.js +24 -2
  45. package/build/calendar/index.js.map +1 -1
  46. package/build/calendar/init.js +16 -0
  47. package/build/calendar/init.js.map +1 -0
  48. package/build/categories/edit.js +26 -20
  49. package/build/categories/edit.js.map +1 -1
  50. package/build/categories/index.js +15 -1
  51. package/build/categories/index.js.map +1 -1
  52. package/build/categories/init.js +16 -0
  53. package/build/categories/init.js.map +1 -0
  54. package/build/code/index.js +11 -1
  55. package/build/code/index.js.map +1 -1
  56. package/build/code/init.js +16 -0
  57. package/build/code/init.js.map +1 -0
  58. package/build/code/transforms.js +12 -0
  59. package/build/code/transforms.js.map +1 -1
  60. package/build/code/transforms.native.js +1 -1
  61. package/build/code/transforms.native.js.map +1 -1
  62. package/build/column/edit.js +1 -1
  63. package/build/column/edit.js.map +1 -1
  64. package/build/column/index.js +12 -2
  65. package/build/column/index.js.map +1 -1
  66. package/build/column/init.js +16 -0
  67. package/build/column/init.js.map +1 -0
  68. package/build/columns/index.js +13 -2
  69. package/build/columns/index.js.map +1 -1
  70. package/build/columns/init.js +16 -0
  71. package/build/columns/init.js.map +1 -0
  72. package/build/columns/transforms.native.js +1 -1
  73. package/build/columns/transforms.native.js.map +1 -1
  74. package/build/comment-author-avatar/index.js +11 -1
  75. package/build/comment-author-avatar/index.js.map +1 -1
  76. package/build/comment-author-avatar/init.js +16 -0
  77. package/build/comment-author-avatar/init.js.map +1 -0
  78. package/build/comment-author-name/index.js +11 -1
  79. package/build/comment-author-name/index.js.map +1 -1
  80. package/build/comment-author-name/init.js +16 -0
  81. package/build/comment-author-name/init.js.map +1 -0
  82. package/build/comment-content/index.js +11 -1
  83. package/build/comment-content/index.js.map +1 -1
  84. package/build/comment-content/init.js +16 -0
  85. package/build/comment-content/init.js.map +1 -0
  86. package/build/comment-date/edit.js +1 -1
  87. package/build/comment-date/edit.js.map +1 -1
  88. package/build/comment-date/index.js +15 -1
  89. package/build/comment-date/index.js.map +1 -1
  90. package/build/comment-date/init.js +16 -0
  91. package/build/comment-date/init.js.map +1 -0
  92. package/build/comment-edit-link/index.js +15 -1
  93. package/build/comment-edit-link/index.js.map +1 -1
  94. package/build/comment-edit-link/init.js +16 -0
  95. package/build/comment-edit-link/init.js.map +1 -0
  96. package/build/comment-reply-link/index.js +15 -1
  97. package/build/comment-reply-link/index.js.map +1 -1
  98. package/build/comment-reply-link/init.js +16 -0
  99. package/build/comment-reply-link/init.js.map +1 -0
  100. package/build/comment-template/index.js +11 -1
  101. package/build/comment-template/index.js.map +1 -1
  102. package/build/comment-template/init.js +16 -0
  103. package/build/comment-template/init.js.map +1 -0
  104. package/build/comments/edit/comments-legacy.js +1 -1
  105. package/build/comments/edit/comments-legacy.js.map +1 -1
  106. package/build/comments/index.js +11 -1
  107. package/build/comments/index.js.map +1 -1
  108. package/build/comments/init.js +16 -0
  109. package/build/comments/init.js.map +1 -0
  110. package/build/comments-pagination/edit.js +2 -1
  111. package/build/comments-pagination/edit.js.map +1 -1
  112. package/build/comments-pagination/index.js +11 -1
  113. package/build/comments-pagination/index.js.map +1 -1
  114. package/build/comments-pagination/init.js +16 -0
  115. package/build/comments-pagination/init.js.map +1 -0
  116. package/build/comments-pagination-next/index.js +11 -1
  117. package/build/comments-pagination-next/index.js.map +1 -1
  118. package/build/comments-pagination-next/init.js +16 -0
  119. package/build/comments-pagination-next/init.js.map +1 -0
  120. package/build/comments-pagination-numbers/index.js +11 -1
  121. package/build/comments-pagination-numbers/index.js.map +1 -1
  122. package/build/comments-pagination-numbers/init.js +16 -0
  123. package/build/comments-pagination-numbers/init.js.map +1 -0
  124. package/build/comments-pagination-previous/index.js +11 -1
  125. package/build/comments-pagination-previous/index.js.map +1 -1
  126. package/build/comments-pagination-previous/init.js +16 -0
  127. package/build/comments-pagination-previous/init.js.map +1 -0
  128. package/build/comments-title/index.js +11 -1
  129. package/build/comments-title/index.js.map +1 -1
  130. package/build/comments-title/init.js +16 -0
  131. package/build/comments-title/init.js.map +1 -0
  132. package/build/cover/edit/block-controls.js +2 -9
  133. package/build/cover/edit/block-controls.js.map +1 -1
  134. package/build/cover/index.js +12 -2
  135. package/build/cover/index.js.map +1 -1
  136. package/build/cover/init.js +16 -0
  137. package/build/cover/init.js.map +1 -0
  138. package/build/cover/transforms.native.js +1 -1
  139. package/build/cover/transforms.native.js.map +1 -1
  140. package/build/embed/deprecated.js +1 -6
  141. package/build/embed/deprecated.js.map +1 -1
  142. package/build/embed/index.js +12 -7
  143. package/build/embed/index.js.map +1 -1
  144. package/build/embed/init.js +16 -0
  145. package/build/embed/init.js.map +1 -0
  146. package/build/embed/transforms.js +1 -6
  147. package/build/embed/transforms.js.map +1 -1
  148. package/build/embed/transforms.native.js +1 -1
  149. package/build/embed/transforms.native.js.map +1 -1
  150. package/build/embed/util.js +1 -6
  151. package/build/embed/util.js.map +1 -1
  152. package/build/file/deprecated.js +115 -3
  153. package/build/file/deprecated.js.map +1 -1
  154. package/build/file/edit.js +7 -7
  155. package/build/file/edit.js.map +1 -1
  156. package/build/file/index.js +11 -1
  157. package/build/file/index.js.map +1 -1
  158. package/build/file/init.js +16 -0
  159. package/build/file/init.js.map +1 -0
  160. package/build/file/save.js +1 -5
  161. package/build/file/save.js.map +1 -1
  162. package/build/file/transforms.native.js +1 -1
  163. package/build/file/transforms.native.js.map +1 -1
  164. package/build/freeform/index.js +11 -1
  165. package/build/freeform/index.js.map +1 -1
  166. package/build/freeform/init.js +16 -0
  167. package/build/freeform/init.js.map +1 -0
  168. package/build/gallery/edit.js +11 -12
  169. package/build/gallery/edit.js.map +1 -1
  170. package/build/gallery/index.js +13 -1
  171. package/build/gallery/index.js.map +1 -1
  172. package/build/gallery/init.js +16 -0
  173. package/build/gallery/init.js.map +1 -0
  174. package/build/gallery/transforms.native.js +1 -1
  175. package/build/gallery/transforms.native.js.map +1 -1
  176. package/build/gallery/v1/edit.js +1 -1
  177. package/build/gallery/v1/edit.js.map +1 -1
  178. package/build/gallery/v1/gallery-image.js +10 -2
  179. package/build/gallery/v1/gallery-image.js.map +1 -1
  180. package/build/group/edit.js +0 -17
  181. package/build/group/edit.js.map +1 -1
  182. package/build/group/index.js +12 -8
  183. package/build/group/index.js.map +1 -1
  184. package/build/group/init.js +16 -0
  185. package/build/group/init.js.map +1 -0
  186. package/build/group/transforms.js +4 -1
  187. package/build/group/transforms.js.map +1 -1
  188. package/build/group/variations.js +2 -1
  189. package/build/group/variations.js.map +1 -1
  190. package/build/heading/index.js +12 -1
  191. package/build/heading/index.js.map +1 -1
  192. package/build/heading/init.js +16 -0
  193. package/build/heading/init.js.map +1 -0
  194. package/build/heading/transforms.js +1 -0
  195. package/build/heading/transforms.js.map +1 -1
  196. package/build/heading/transforms.native.js +1 -1
  197. package/build/heading/transforms.native.js.map +1 -1
  198. package/build/home-link/index.js +11 -1
  199. package/build/home-link/index.js.map +1 -1
  200. package/build/home-link/init.js +16 -0
  201. package/build/home-link/init.js.map +1 -0
  202. package/build/html/index.js +11 -1
  203. package/build/html/index.js.map +1 -1
  204. package/build/html/init.js +16 -0
  205. package/build/html/init.js.map +1 -0
  206. package/build/image/edit.js +27 -13
  207. package/build/image/edit.js.map +1 -1
  208. package/build/image/image.js +5 -4
  209. package/build/image/image.js.map +1 -1
  210. package/build/image/index.js +11 -6
  211. package/build/image/index.js.map +1 -1
  212. package/build/image/init.js +16 -0
  213. package/build/image/init.js.map +1 -0
  214. package/build/image/transforms.js +2 -1
  215. package/build/image/transforms.js.map +1 -1
  216. package/build/image/transforms.native.js +1 -1
  217. package/build/image/transforms.native.js.map +1 -1
  218. package/build/index.js +18 -31
  219. package/build/index.js.map +1 -1
  220. package/build/index.native.js +9 -43
  221. package/build/index.native.js.map +1 -1
  222. package/build/latest-comments/index.js +11 -1
  223. package/build/latest-comments/index.js.map +1 -1
  224. package/build/latest-comments/init.js +16 -0
  225. package/build/latest-comments/init.js.map +1 -0
  226. package/build/latest-posts/edit.js +1 -1
  227. package/build/latest-posts/edit.js.map +1 -1
  228. package/build/latest-posts/index.js +11 -1
  229. package/build/latest-posts/index.js.map +1 -1
  230. package/build/latest-posts/init.js +16 -0
  231. package/build/latest-posts/init.js.map +1 -0
  232. package/build/list/edit.js +2 -7
  233. package/build/list/edit.js.map +1 -1
  234. package/build/list/index.js +15 -4
  235. package/build/list/index.js.map +1 -1
  236. package/build/list/init.js +16 -0
  237. package/build/list/init.js.map +1 -0
  238. package/build/list/transforms.native.js +1 -1
  239. package/build/list/transforms.native.js.map +1 -1
  240. package/build/list/utils.js +6 -8
  241. package/build/list/utils.js.map +1 -1
  242. package/build/list-item/edit.native.js +24 -8
  243. package/build/list-item/edit.native.js.map +1 -1
  244. package/build/list-item/hooks/use-enter.native.js +81 -0
  245. package/build/list-item/hooks/use-enter.native.js.map +1 -0
  246. package/build/list-item/hooks/use-outdent-list-item.js +3 -3
  247. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  248. package/build/list-item/index.js +11 -1
  249. package/build/list-item/index.js.map +1 -1
  250. package/build/list-item/init.js +16 -0
  251. package/build/list-item/init.js.map +1 -0
  252. package/build/list-item/utils.js +4 -3
  253. package/build/list-item/utils.js.map +1 -1
  254. package/build/loginout/index.js +11 -1
  255. package/build/loginout/index.js.map +1 -1
  256. package/build/loginout/init.js +16 -0
  257. package/build/loginout/init.js.map +1 -0
  258. package/build/media-text/edit.js +25 -11
  259. package/build/media-text/edit.js.map +1 -1
  260. package/build/media-text/index.js +21 -6
  261. package/build/media-text/index.js.map +1 -1
  262. package/build/media-text/init.js +16 -0
  263. package/build/media-text/init.js.map +1 -0
  264. package/build/media-text/media-container.js +13 -9
  265. package/build/media-text/media-container.js.map +1 -1
  266. package/build/media-text/transforms.native.js +1 -1
  267. package/build/media-text/transforms.native.js.map +1 -1
  268. package/build/missing/index.js +11 -1
  269. package/build/missing/index.js.map +1 -1
  270. package/build/missing/init.js +16 -0
  271. package/build/missing/init.js.map +1 -0
  272. package/build/more/index.js +11 -1
  273. package/build/more/index.js.map +1 -1
  274. package/build/more/init.js +16 -0
  275. package/build/more/init.js.map +1 -0
  276. package/build/more/transforms.native.js +1 -1
  277. package/build/more/transforms.native.js.map +1 -1
  278. package/build/navigation/edit/index.js +121 -71
  279. package/build/navigation/edit/index.js.map +1 -1
  280. package/build/navigation/edit/navigation-menu-selector.js +85 -31
  281. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  282. package/build/navigation/edit/overlay-menu-icon.js +13 -1
  283. package/build/navigation/edit/overlay-menu-icon.js.map +1 -1
  284. package/build/navigation/edit/overlay-menu-preview.js +59 -0
  285. package/build/navigation/edit/overlay-menu-preview.js.map +1 -0
  286. package/build/navigation/edit/responsive-wrapper.js +5 -2
  287. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  288. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +21 -1
  289. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  290. package/build/navigation/edit/use-create-navigation-menu.js +2 -1
  291. package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
  292. package/build/navigation/index.js +15 -1
  293. package/build/navigation/index.js.map +1 -1
  294. package/build/navigation/init.js +16 -0
  295. package/build/navigation/init.js.map +1 -0
  296. package/build/navigation/use-navigation-menu.js +7 -6
  297. package/build/navigation/use-navigation-menu.js.map +1 -1
  298. package/build/navigation-link/edit.js +23 -5
  299. package/build/navigation-link/edit.js.map +1 -1
  300. package/build/navigation-link/index.js +29 -5
  301. package/build/navigation-link/index.js.map +1 -1
  302. package/build/navigation-link/init.js +16 -0
  303. package/build/navigation-link/init.js.map +1 -0
  304. package/build/navigation-submenu/edit.js +9 -4
  305. package/build/navigation-submenu/edit.js.map +1 -1
  306. package/build/navigation-submenu/index.js +11 -1
  307. package/build/navigation-submenu/index.js.map +1 -1
  308. package/build/navigation-submenu/init.js +16 -0
  309. package/build/navigation-submenu/init.js.map +1 -0
  310. package/build/nextpage/index.js +11 -1
  311. package/build/nextpage/index.js.map +1 -1
  312. package/build/nextpage/init.js +16 -0
  313. package/build/nextpage/init.js.map +1 -0
  314. package/build/nextpage/transforms.native.js +1 -1
  315. package/build/nextpage/transforms.native.js.map +1 -1
  316. package/build/page-list/index.js +11 -1
  317. package/build/page-list/index.js.map +1 -1
  318. package/build/page-list/init.js +16 -0
  319. package/build/page-list/init.js.map +1 -0
  320. package/build/paragraph/index.js +11 -1
  321. package/build/paragraph/index.js.map +1 -1
  322. package/build/paragraph/init.js +16 -0
  323. package/build/paragraph/init.js.map +1 -0
  324. package/build/paragraph/transforms.native.js +1 -1
  325. package/build/paragraph/transforms.native.js.map +1 -1
  326. package/build/pattern/index.js +11 -1
  327. package/build/pattern/index.js.map +1 -1
  328. package/build/pattern/init.js +16 -0
  329. package/build/pattern/init.js.map +1 -0
  330. package/build/post-author/edit.js +1 -3
  331. package/build/post-author/edit.js.map +1 -1
  332. package/build/post-author/index.js +16 -2
  333. package/build/post-author/index.js.map +1 -1
  334. package/build/post-author/init.js +16 -0
  335. package/build/post-author/init.js.map +1 -0
  336. package/build/post-author-biography/index.js +16 -2
  337. package/build/post-author-biography/index.js.map +1 -1
  338. package/build/post-author-biography/init.js +16 -0
  339. package/build/post-author-biography/init.js.map +1 -0
  340. package/build/post-author-name/index.js +16 -2
  341. package/build/post-author-name/index.js.map +1 -1
  342. package/build/post-author-name/init.js +16 -0
  343. package/build/post-author-name/init.js.map +1 -0
  344. package/build/post-comment/index.js +11 -1
  345. package/build/post-comment/index.js.map +1 -1
  346. package/build/post-comment/init.js +16 -0
  347. package/build/post-comment/init.js.map +1 -0
  348. package/build/post-comments-count/index.js +11 -1
  349. package/build/post-comments-count/index.js.map +1 -1
  350. package/build/post-comments-count/init.js +16 -0
  351. package/build/post-comments-count/init.js.map +1 -0
  352. package/build/post-comments-form/index.js +11 -1
  353. package/build/post-comments-form/index.js.map +1 -1
  354. package/build/post-comments-form/init.js +16 -0
  355. package/build/post-comments-form/init.js.map +1 -0
  356. package/build/post-comments-link/index.js +11 -1
  357. package/build/post-comments-link/index.js.map +1 -1
  358. package/build/post-comments-link/init.js +16 -0
  359. package/build/post-comments-link/init.js.map +1 -0
  360. package/build/post-content/index.js +25 -2
  361. package/build/post-content/index.js.map +1 -1
  362. package/build/post-content/init.js +16 -0
  363. package/build/post-content/init.js.map +1 -0
  364. package/build/post-date/edit.js +11 -7
  365. package/build/post-date/edit.js.map +1 -1
  366. package/build/post-date/index.js +11 -1
  367. package/build/post-date/index.js.map +1 -1
  368. package/build/post-date/init.js +16 -0
  369. package/build/post-date/init.js.map +1 -0
  370. package/build/post-excerpt/index.js +11 -1
  371. package/build/post-excerpt/index.js.map +1 -1
  372. package/build/post-excerpt/init.js +16 -0
  373. package/build/post-excerpt/init.js.map +1 -0
  374. package/build/post-featured-image/edit.js +16 -2
  375. package/build/post-featured-image/edit.js.map +1 -1
  376. package/build/post-featured-image/index.js +27 -1
  377. package/build/post-featured-image/index.js.map +1 -1
  378. package/build/post-featured-image/init.js +16 -0
  379. package/build/post-featured-image/init.js.map +1 -0
  380. package/build/post-featured-image/overlay.js +118 -0
  381. package/build/post-featured-image/overlay.js.map +1 -0
  382. package/build/post-featured-image/utils.js +18 -0
  383. package/build/post-featured-image/utils.js.map +1 -0
  384. package/build/post-navigation-link/index.js +11 -1
  385. package/build/post-navigation-link/index.js.map +1 -1
  386. package/build/post-navigation-link/init.js +16 -0
  387. package/build/post-navigation-link/init.js.map +1 -0
  388. package/build/post-template/edit.js +37 -3
  389. package/build/post-template/edit.js.map +1 -1
  390. package/build/post-template/index.js +11 -1
  391. package/build/post-template/index.js.map +1 -1
  392. package/build/post-template/init.js +16 -0
  393. package/build/post-template/init.js.map +1 -0
  394. package/build/post-terms/index.js +15 -4
  395. package/build/post-terms/index.js.map +1 -1
  396. package/build/post-terms/init.js +16 -0
  397. package/build/post-terms/init.js.map +1 -0
  398. package/build/post-title/index.js +11 -1
  399. package/build/post-title/index.js.map +1 -1
  400. package/build/post-title/init.js +16 -0
  401. package/build/post-title/init.js.map +1 -0
  402. package/build/preformatted/index.js +11 -1
  403. package/build/preformatted/index.js.map +1 -1
  404. package/build/preformatted/init.js +16 -0
  405. package/build/preformatted/init.js.map +1 -0
  406. package/build/preformatted/transforms.native.js +1 -1
  407. package/build/preformatted/transforms.native.js.map +1 -1
  408. package/build/pullquote/index.js +11 -1
  409. package/build/pullquote/index.js.map +1 -1
  410. package/build/pullquote/init.js +16 -0
  411. package/build/pullquote/init.js.map +1 -0
  412. package/build/pullquote/transforms.native.js +1 -1
  413. package/build/pullquote/transforms.native.js.map +1 -1
  414. package/build/query/edit/index.js +23 -211
  415. package/build/query/edit/index.js.map +1 -1
  416. package/build/query/edit/inspector-controls/index.js +23 -26
  417. package/build/query/edit/inspector-controls/index.js.map +1 -1
  418. package/build/query/edit/query-content.js +169 -0
  419. package/build/query/edit/query-content.js.map +1 -0
  420. package/build/query/edit/query-placeholder.js +69 -6
  421. package/build/query/edit/query-placeholder.js.map +1 -1
  422. package/build/query/index.js +18 -5
  423. package/build/query/index.js.map +1 -1
  424. package/build/query/init.js +16 -0
  425. package/build/query/init.js.map +1 -0
  426. package/build/query/utils.js +157 -3
  427. package/build/query/utils.js.map +1 -1
  428. package/build/query-no-results/index.js +11 -1
  429. package/build/query-no-results/index.js.map +1 -1
  430. package/build/query-no-results/init.js +16 -0
  431. package/build/query-no-results/init.js.map +1 -0
  432. package/build/query-pagination/edit.js +2 -1
  433. package/build/query-pagination/edit.js.map +1 -1
  434. package/build/query-pagination/index.js +24 -1
  435. package/build/query-pagination/index.js.map +1 -1
  436. package/build/query-pagination/init.js +16 -0
  437. package/build/query-pagination/init.js.map +1 -0
  438. package/build/query-pagination-next/index.js +15 -3
  439. package/build/query-pagination-next/index.js.map +1 -1
  440. package/build/query-pagination-next/init.js +16 -0
  441. package/build/query-pagination-next/init.js.map +1 -0
  442. package/build/query-pagination-numbers/index.js +11 -1
  443. package/build/query-pagination-numbers/index.js.map +1 -1
  444. package/build/query-pagination-numbers/init.js +16 -0
  445. package/build/query-pagination-numbers/init.js.map +1 -0
  446. package/build/query-pagination-previous/index.js +15 -3
  447. package/build/query-pagination-previous/index.js.map +1 -1
  448. package/build/query-pagination-previous/init.js +16 -0
  449. package/build/query-pagination-previous/init.js.map +1 -0
  450. package/build/query-title/index.js +16 -2
  451. package/build/query-title/index.js.map +1 -1
  452. package/build/query-title/init.js +16 -0
  453. package/build/query-title/init.js.map +1 -0
  454. package/build/quote/index.js +11 -1
  455. package/build/quote/index.js.map +1 -1
  456. package/build/quote/init.js +16 -0
  457. package/build/quote/init.js.map +1 -0
  458. package/build/quote/transforms.js +7 -0
  459. package/build/quote/transforms.js.map +1 -1
  460. package/build/quote/transforms.native.js +1 -1
  461. package/build/quote/transforms.native.js.map +1 -1
  462. package/build/read-more/index.js +11 -1
  463. package/build/read-more/index.js.map +1 -1
  464. package/build/read-more/init.js +16 -0
  465. package/build/read-more/init.js.map +1 -0
  466. package/build/rss/index.js +11 -1
  467. package/build/rss/index.js.map +1 -1
  468. package/build/rss/init.js +16 -0
  469. package/build/rss/init.js.map +1 -0
  470. package/build/search/edit.js +19 -8
  471. package/build/search/edit.js.map +1 -1
  472. package/build/search/index.js +26 -1
  473. package/build/search/index.js.map +1 -1
  474. package/build/search/init.js +16 -0
  475. package/build/search/init.js.map +1 -0
  476. package/build/separator/index.js +11 -1
  477. package/build/separator/index.js.map +1 -1
  478. package/build/separator/init.js +16 -0
  479. package/build/separator/init.js.map +1 -0
  480. package/build/separator/transforms.native.js +1 -1
  481. package/build/separator/transforms.native.js.map +1 -1
  482. package/build/shortcode/index.js +11 -1
  483. package/build/shortcode/index.js.map +1 -1
  484. package/build/shortcode/init.js +16 -0
  485. package/build/shortcode/init.js.map +1 -0
  486. package/build/shortcode/transforms.native.js +1 -1
  487. package/build/shortcode/transforms.native.js.map +1 -1
  488. package/build/site-logo/index.js +15 -1
  489. package/build/site-logo/index.js.map +1 -1
  490. package/build/site-logo/init.js +16 -0
  491. package/build/site-logo/init.js.map +1 -0
  492. package/build/site-tagline/index.js +12 -1
  493. package/build/site-tagline/index.js.map +1 -1
  494. package/build/site-tagline/init.js +16 -0
  495. package/build/site-tagline/init.js.map +1 -0
  496. package/build/site-title/index.js +12 -1
  497. package/build/site-title/index.js.map +1 -1
  498. package/build/site-title/init.js +16 -0
  499. package/build/site-title/init.js.map +1 -0
  500. package/build/social-link/edit.js +8 -6
  501. package/build/social-link/edit.js.map +1 -1
  502. package/build/social-link/index.js +11 -1
  503. package/build/social-link/index.js.map +1 -1
  504. package/build/social-link/init.js +16 -0
  505. package/build/social-link/init.js.map +1 -0
  506. package/build/social-links/index.js +13 -2
  507. package/build/social-links/index.js.map +1 -1
  508. package/build/social-links/init.js +16 -0
  509. package/build/social-links/init.js.map +1 -0
  510. package/build/spacer/index.js +11 -1
  511. package/build/spacer/index.js.map +1 -1
  512. package/build/spacer/init.js +16 -0
  513. package/build/spacer/init.js.map +1 -0
  514. package/build/table/index.js +14 -7
  515. package/build/table/index.js.map +1 -1
  516. package/build/table/init.js +16 -0
  517. package/build/table/init.js.map +1 -0
  518. package/build/table-of-contents/index.js +11 -1
  519. package/build/table-of-contents/index.js.map +1 -1
  520. package/build/table-of-contents/init.js +16 -0
  521. package/build/table-of-contents/init.js.map +1 -0
  522. package/build/tag-cloud/index.js +11 -1
  523. package/build/tag-cloud/index.js.map +1 -1
  524. package/build/tag-cloud/init.js +16 -0
  525. package/build/tag-cloud/init.js.map +1 -0
  526. package/build/template-part/edit/index.js +1 -6
  527. package/build/template-part/edit/index.js.map +1 -1
  528. package/build/template-part/edit/selection-modal.js +2 -13
  529. package/build/template-part/edit/selection-modal.js.map +1 -1
  530. package/build/template-part/index.js +32 -21
  531. package/build/template-part/index.js.map +1 -1
  532. package/build/template-part/init.js +16 -0
  533. package/build/template-part/init.js.map +1 -0
  534. package/build/term-description/index.js +11 -1
  535. package/build/term-description/index.js.map +1 -1
  536. package/build/term-description/init.js +16 -0
  537. package/build/term-description/init.js.map +1 -0
  538. package/build/text-columns/index.js +11 -1
  539. package/build/text-columns/index.js.map +1 -1
  540. package/build/text-columns/init.js +16 -0
  541. package/build/text-columns/init.js.map +1 -0
  542. package/build/text-columns/transforms.native.js +1 -1
  543. package/build/text-columns/transforms.native.js.map +1 -1
  544. package/build/utils/init-block.js +37 -0
  545. package/build/utils/init-block.js.map +1 -0
  546. package/build/utils/init-block.native.js +51 -0
  547. package/build/utils/init-block.native.js.map +1 -0
  548. package/build/{is-block-metadata-experimental.js → utils/is-block-metadata-experimental.js} +0 -0
  549. package/build/utils/is-block-metadata-experimental.js.map +1 -0
  550. package/build/utils/migrate-font-family.js +11 -18
  551. package/build/utils/migrate-font-family.js.map +1 -1
  552. package/build/{transformationCategories.native.js → utils/transformation-categories.native.js} +1 -1
  553. package/build/utils/transformation-categories.native.js.map +1 -0
  554. package/build/verse/index.js +11 -1
  555. package/build/verse/index.js.map +1 -1
  556. package/build/verse/init.js +16 -0
  557. package/build/verse/init.js.map +1 -0
  558. package/build/verse/transforms.native.js +1 -1
  559. package/build/verse/transforms.native.js.map +1 -1
  560. package/build/video/edit.js +12 -11
  561. package/build/video/edit.js.map +1 -1
  562. package/build/video/index.js +18 -9
  563. package/build/video/index.js.map +1 -1
  564. package/build/video/init.js +16 -0
  565. package/build/video/init.js.map +1 -0
  566. package/build/video/transforms.native.js +1 -1
  567. package/build/video/transforms.native.js.map +1 -1
  568. package/build-module/archives/index.js +19 -0
  569. package/build-module/archives/index.js.map +1 -1
  570. package/build-module/archives/init.js +6 -0
  571. package/build-module/archives/init.js.map +1 -0
  572. package/build-module/audio/edit.js +11 -8
  573. package/build-module/audio/edit.js.map +1 -1
  574. package/build-module/audio/index.js +12 -8
  575. package/build-module/audio/index.js.map +1 -1
  576. package/build-module/audio/init.js +6 -0
  577. package/build-module/audio/init.js.map +1 -0
  578. package/build-module/audio/transforms.native.js +1 -1
  579. package/build-module/audio/transforms.native.js.map +1 -1
  580. package/build-module/avatar/index.js +8 -1
  581. package/build-module/avatar/index.js.map +1 -1
  582. package/build-module/avatar/init.js +6 -0
  583. package/build-module/avatar/init.js.map +1 -0
  584. package/build-module/block/edit.js +2 -5
  585. package/build-module/block/edit.js.map +1 -1
  586. package/build-module/block/index.js +6 -0
  587. package/build-module/block/index.js.map +1 -1
  588. package/build-module/block/init.js +6 -0
  589. package/build-module/block/init.js.map +1 -0
  590. package/build-module/button/edit.js +8 -4
  591. package/build-module/button/edit.js.map +1 -1
  592. package/build-module/button/index.js +11 -0
  593. package/build-module/button/index.js.map +1 -1
  594. package/build-module/button/init.js +6 -0
  595. package/build-module/button/init.js.map +1 -0
  596. package/build-module/buttons/edit.js +19 -4
  597. package/build-module/buttons/edit.js.map +1 -1
  598. package/build-module/buttons/index.js +19 -0
  599. package/build-module/buttons/index.js.map +1 -1
  600. package/build-module/buttons/init.js +6 -0
  601. package/build-module/buttons/init.js.map +1 -0
  602. package/build-module/buttons/save.js +22 -2
  603. package/build-module/buttons/save.js.map +1 -1
  604. package/build-module/buttons/transforms.js +13 -0
  605. package/build-module/buttons/transforms.js.map +1 -1
  606. package/build-module/buttons/transforms.native.js +1 -1
  607. package/build-module/buttons/transforms.native.js.map +1 -1
  608. package/build-module/calendar/index.js +19 -1
  609. package/build-module/calendar/index.js.map +1 -1
  610. package/build-module/calendar/init.js +6 -0
  611. package/build-module/calendar/init.js.map +1 -0
  612. package/build-module/categories/edit.js +23 -20
  613. package/build-module/categories/edit.js.map +1 -1
  614. package/build-module/categories/index.js +10 -0
  615. package/build-module/categories/index.js.map +1 -1
  616. package/build-module/categories/init.js +6 -0
  617. package/build-module/categories/init.js.map +1 -0
  618. package/build-module/code/index.js +6 -0
  619. package/build-module/code/index.js.map +1 -1
  620. package/build-module/code/init.js +6 -0
  621. package/build-module/code/init.js.map +1 -0
  622. package/build-module/code/transforms.js +12 -0
  623. package/build-module/code/transforms.js.map +1 -1
  624. package/build-module/code/transforms.native.js +1 -1
  625. package/build-module/code/transforms.native.js.map +1 -1
  626. package/build-module/column/edit.js +1 -1
  627. package/build-module/column/edit.js.map +1 -1
  628. package/build-module/column/index.js +7 -1
  629. package/build-module/column/index.js.map +1 -1
  630. package/build-module/column/init.js +6 -0
  631. package/build-module/column/init.js.map +1 -0
  632. package/build-module/columns/index.js +8 -1
  633. package/build-module/columns/index.js.map +1 -1
  634. package/build-module/columns/init.js +6 -0
  635. package/build-module/columns/init.js.map +1 -0
  636. package/build-module/columns/transforms.native.js +1 -1
  637. package/build-module/columns/transforms.native.js.map +1 -1
  638. package/build-module/comment-author-avatar/index.js +6 -0
  639. package/build-module/comment-author-avatar/index.js.map +1 -1
  640. package/build-module/comment-author-avatar/init.js +6 -0
  641. package/build-module/comment-author-avatar/init.js.map +1 -0
  642. package/build-module/comment-author-name/index.js +6 -0
  643. package/build-module/comment-author-name/index.js.map +1 -1
  644. package/build-module/comment-author-name/init.js +6 -0
  645. package/build-module/comment-author-name/init.js.map +1 -0
  646. package/build-module/comment-content/index.js +6 -0
  647. package/build-module/comment-content/index.js.map +1 -1
  648. package/build-module/comment-content/init.js +6 -0
  649. package/build-module/comment-content/init.js.map +1 -0
  650. package/build-module/comment-date/edit.js +1 -1
  651. package/build-module/comment-date/edit.js.map +1 -1
  652. package/build-module/comment-date/index.js +10 -0
  653. package/build-module/comment-date/index.js.map +1 -1
  654. package/build-module/comment-date/init.js +6 -0
  655. package/build-module/comment-date/init.js.map +1 -0
  656. package/build-module/comment-edit-link/index.js +10 -0
  657. package/build-module/comment-edit-link/index.js.map +1 -1
  658. package/build-module/comment-edit-link/init.js +6 -0
  659. package/build-module/comment-edit-link/init.js.map +1 -0
  660. package/build-module/comment-reply-link/index.js +10 -0
  661. package/build-module/comment-reply-link/index.js.map +1 -1
  662. package/build-module/comment-reply-link/init.js +6 -0
  663. package/build-module/comment-reply-link/init.js.map +1 -0
  664. package/build-module/comment-template/index.js +6 -0
  665. package/build-module/comment-template/index.js.map +1 -1
  666. package/build-module/comment-template/init.js +6 -0
  667. package/build-module/comment-template/init.js.map +1 -0
  668. package/build-module/comments/edit/comments-legacy.js +1 -1
  669. package/build-module/comments/edit/comments-legacy.js.map +1 -1
  670. package/build-module/comments/index.js +6 -0
  671. package/build-module/comments/index.js.map +1 -1
  672. package/build-module/comments/init.js +6 -0
  673. package/build-module/comments/init.js.map +1 -0
  674. package/build-module/comments-pagination/edit.js +2 -1
  675. package/build-module/comments-pagination/edit.js.map +1 -1
  676. package/build-module/comments-pagination/index.js +6 -0
  677. package/build-module/comments-pagination/index.js.map +1 -1
  678. package/build-module/comments-pagination/init.js +6 -0
  679. package/build-module/comments-pagination/init.js.map +1 -0
  680. package/build-module/comments-pagination-next/index.js +6 -0
  681. package/build-module/comments-pagination-next/index.js.map +1 -1
  682. package/build-module/comments-pagination-next/init.js +6 -0
  683. package/build-module/comments-pagination-next/init.js.map +1 -0
  684. package/build-module/comments-pagination-numbers/index.js +6 -0
  685. package/build-module/comments-pagination-numbers/index.js.map +1 -1
  686. package/build-module/comments-pagination-numbers/init.js +6 -0
  687. package/build-module/comments-pagination-numbers/init.js.map +1 -0
  688. package/build-module/comments-pagination-previous/index.js +6 -0
  689. package/build-module/comments-pagination-previous/index.js.map +1 -1
  690. package/build-module/comments-pagination-previous/init.js +6 -0
  691. package/build-module/comments-pagination-previous/init.js.map +1 -0
  692. package/build-module/comments-title/index.js +6 -0
  693. package/build-module/comments-title/index.js.map +1 -1
  694. package/build-module/comments-title/init.js +6 -0
  695. package/build-module/comments-title/init.js.map +1 -0
  696. package/build-module/cover/edit/block-controls.js +3 -10
  697. package/build-module/cover/edit/block-controls.js.map +1 -1
  698. package/build-module/cover/index.js +7 -1
  699. package/build-module/cover/index.js.map +1 -1
  700. package/build-module/cover/init.js +6 -0
  701. package/build-module/cover/init.js.map +1 -0
  702. package/build-module/cover/transforms.native.js +1 -1
  703. package/build-module/cover/transforms.native.js.map +1 -1
  704. package/build-module/embed/deprecated.js +1 -6
  705. package/build-module/embed/deprecated.js.map +1 -1
  706. package/build-module/embed/index.js +7 -6
  707. package/build-module/embed/index.js.map +1 -1
  708. package/build-module/embed/init.js +6 -0
  709. package/build-module/embed/init.js.map +1 -0
  710. package/build-module/embed/transforms.js +1 -6
  711. package/build-module/embed/transforms.js.map +1 -1
  712. package/build-module/embed/transforms.native.js +1 -1
  713. package/build-module/embed/transforms.native.js.map +1 -1
  714. package/build-module/embed/util.js +1 -6
  715. package/build-module/embed/util.js.map +1 -1
  716. package/build-module/file/deprecated.js +113 -4
  717. package/build-module/file/deprecated.js.map +1 -1
  718. package/build-module/file/edit.js +8 -7
  719. package/build-module/file/edit.js.map +1 -1
  720. package/build-module/file/index.js +6 -0
  721. package/build-module/file/index.js.map +1 -1
  722. package/build-module/file/init.js +6 -0
  723. package/build-module/file/init.js.map +1 -0
  724. package/build-module/file/save.js +1 -4
  725. package/build-module/file/save.js.map +1 -1
  726. package/build-module/file/transforms.native.js +1 -1
  727. package/build-module/file/transforms.native.js.map +1 -1
  728. package/build-module/freeform/index.js +6 -0
  729. package/build-module/freeform/index.js.map +1 -1
  730. package/build-module/freeform/init.js +6 -0
  731. package/build-module/freeform/init.js.map +1 -0
  732. package/build-module/gallery/edit.js +12 -13
  733. package/build-module/gallery/edit.js.map +1 -1
  734. package/build-module/gallery/index.js +8 -0
  735. package/build-module/gallery/index.js.map +1 -1
  736. package/build-module/gallery/init.js +6 -0
  737. package/build-module/gallery/init.js.map +1 -0
  738. package/build-module/gallery/transforms.native.js +1 -1
  739. package/build-module/gallery/transforms.native.js.map +1 -1
  740. package/build-module/gallery/v1/edit.js +2 -2
  741. package/build-module/gallery/v1/edit.js.map +1 -1
  742. package/build-module/gallery/v1/gallery-image.js +11 -3
  743. package/build-module/gallery/v1/gallery-image.js.map +1 -1
  744. package/build-module/group/edit.js +1 -19
  745. package/build-module/group/edit.js.map +1 -1
  746. package/build-module/group/index.js +7 -7
  747. package/build-module/group/index.js.map +1 -1
  748. package/build-module/group/init.js +6 -0
  749. package/build-module/group/init.js.map +1 -0
  750. package/build-module/group/transforms.js +4 -1
  751. package/build-module/group/transforms.js.map +1 -1
  752. package/build-module/group/variations.js +2 -1
  753. package/build-module/group/variations.js.map +1 -1
  754. package/build-module/heading/index.js +7 -0
  755. package/build-module/heading/index.js.map +1 -1
  756. package/build-module/heading/init.js +6 -0
  757. package/build-module/heading/init.js.map +1 -0
  758. package/build-module/heading/transforms.js +1 -0
  759. package/build-module/heading/transforms.js.map +1 -1
  760. package/build-module/heading/transforms.native.js +1 -1
  761. package/build-module/heading/transforms.native.js.map +1 -1
  762. package/build-module/home-link/index.js +6 -0
  763. package/build-module/home-link/index.js.map +1 -1
  764. package/build-module/home-link/init.js +6 -0
  765. package/build-module/home-link/init.js.map +1 -0
  766. package/build-module/html/index.js +6 -0
  767. package/build-module/html/index.js.map +1 -1
  768. package/build-module/html/init.js +6 -0
  769. package/build-module/html/init.js.map +1 -0
  770. package/build-module/image/edit.js +29 -15
  771. package/build-module/image/edit.js.map +1 -1
  772. package/build-module/image/image.js +5 -4
  773. package/build-module/image/image.js.map +1 -1
  774. package/build-module/image/index.js +6 -5
  775. package/build-module/image/index.js.map +1 -1
  776. package/build-module/image/init.js +6 -0
  777. package/build-module/image/init.js.map +1 -0
  778. package/build-module/image/transforms.js +2 -1
  779. package/build-module/image/transforms.js.map +1 -1
  780. package/build-module/image/transforms.native.js +1 -1
  781. package/build-module/image/transforms.native.js.map +1 -1
  782. package/build-module/index.js +19 -32
  783. package/build-module/index.js.map +1 -1
  784. package/build-module/index.native.js +7 -38
  785. package/build-module/index.native.js.map +1 -1
  786. package/build-module/latest-comments/index.js +6 -0
  787. package/build-module/latest-comments/index.js.map +1 -1
  788. package/build-module/latest-comments/init.js +6 -0
  789. package/build-module/latest-comments/init.js.map +1 -0
  790. package/build-module/latest-posts/edit.js +2 -4
  791. package/build-module/latest-posts/edit.js.map +1 -1
  792. package/build-module/latest-posts/index.js +6 -0
  793. package/build-module/latest-posts/index.js.map +1 -1
  794. package/build-module/latest-posts/init.js +6 -0
  795. package/build-module/latest-posts/init.js.map +1 -0
  796. package/build-module/list/edit.js +2 -6
  797. package/build-module/list/edit.js.map +1 -1
  798. package/build-module/list/index.js +10 -3
  799. package/build-module/list/index.js.map +1 -1
  800. package/build-module/list/init.js +6 -0
  801. package/build-module/list/init.js.map +1 -0
  802. package/build-module/list/transforms.native.js +1 -1
  803. package/build-module/list/transforms.native.js.map +1 -1
  804. package/build-module/list/utils.js +6 -7
  805. package/build-module/list/utils.js.map +1 -1
  806. package/build-module/list-item/edit.native.js +26 -10
  807. package/build-module/list-item/edit.native.js.map +1 -1
  808. package/build-module/list-item/hooks/use-enter.native.js +67 -0
  809. package/build-module/list-item/hooks/use-enter.native.js.map +1 -0
  810. package/build-module/list-item/hooks/use-outdent-list-item.js +4 -4
  811. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  812. package/build-module/list-item/index.js +6 -0
  813. package/build-module/list-item/index.js.map +1 -1
  814. package/build-module/list-item/init.js +6 -0
  815. package/build-module/list-item/init.js.map +1 -0
  816. package/build-module/list-item/utils.js +4 -3
  817. package/build-module/list-item/utils.js.map +1 -1
  818. package/build-module/loginout/index.js +6 -0
  819. package/build-module/loginout/index.js.map +1 -1
  820. package/build-module/loginout/init.js +6 -0
  821. package/build-module/loginout/init.js.map +1 -0
  822. package/build-module/media-text/edit.js +25 -11
  823. package/build-module/media-text/edit.js.map +1 -1
  824. package/build-module/media-text/index.js +16 -5
  825. package/build-module/media-text/index.js.map +1 -1
  826. package/build-module/media-text/init.js +6 -0
  827. package/build-module/media-text/init.js.map +1 -0
  828. package/build-module/media-text/media-container.js +13 -10
  829. package/build-module/media-text/media-container.js.map +1 -1
  830. package/build-module/media-text/transforms.native.js +1 -1
  831. package/build-module/media-text/transforms.native.js.map +1 -1
  832. package/build-module/missing/index.js +6 -0
  833. package/build-module/missing/index.js.map +1 -1
  834. package/build-module/missing/init.js +6 -0
  835. package/build-module/missing/init.js.map +1 -0
  836. package/build-module/more/index.js +6 -0
  837. package/build-module/more/index.js.map +1 -1
  838. package/build-module/more/init.js +6 -0
  839. package/build-module/more/init.js.map +1 -0
  840. package/build-module/more/transforms.native.js +1 -1
  841. package/build-module/more/transforms.native.js.map +1 -1
  842. package/build-module/navigation/edit/index.js +122 -74
  843. package/build-module/navigation/edit/index.js.map +1 -1
  844. package/build-module/navigation/edit/navigation-menu-selector.js +83 -29
  845. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  846. package/build-module/navigation/edit/overlay-menu-icon.js +12 -1
  847. package/build-module/navigation/edit/overlay-menu-icon.js.map +1 -1
  848. package/build-module/navigation/edit/overlay-menu-preview.js +47 -0
  849. package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -0
  850. package/build-module/navigation/edit/responsive-wrapper.js +5 -2
  851. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  852. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +22 -2
  853. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  854. package/build-module/navigation/edit/use-create-navigation-menu.js +2 -1
  855. package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
  856. package/build-module/navigation/index.js +10 -0
  857. package/build-module/navigation/index.js.map +1 -1
  858. package/build-module/navigation/init.js +6 -0
  859. package/build-module/navigation/init.js.map +1 -0
  860. package/build-module/navigation/use-navigation-menu.js +7 -6
  861. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  862. package/build-module/navigation-link/edit.js +22 -5
  863. package/build-module/navigation-link/edit.js.map +1 -1
  864. package/build-module/navigation-link/index.js +24 -4
  865. package/build-module/navigation-link/index.js.map +1 -1
  866. package/build-module/navigation-link/init.js +6 -0
  867. package/build-module/navigation-link/init.js.map +1 -0
  868. package/build-module/navigation-submenu/edit.js +8 -4
  869. package/build-module/navigation-submenu/edit.js.map +1 -1
  870. package/build-module/navigation-submenu/index.js +6 -0
  871. package/build-module/navigation-submenu/index.js.map +1 -1
  872. package/build-module/navigation-submenu/init.js +6 -0
  873. package/build-module/navigation-submenu/init.js.map +1 -0
  874. package/build-module/nextpage/index.js +6 -0
  875. package/build-module/nextpage/index.js.map +1 -1
  876. package/build-module/nextpage/init.js +6 -0
  877. package/build-module/nextpage/init.js.map +1 -0
  878. package/build-module/nextpage/transforms.native.js +1 -1
  879. package/build-module/nextpage/transforms.native.js.map +1 -1
  880. package/build-module/page-list/index.js +6 -0
  881. package/build-module/page-list/index.js.map +1 -1
  882. package/build-module/page-list/init.js +6 -0
  883. package/build-module/page-list/init.js.map +1 -0
  884. package/build-module/paragraph/index.js +6 -0
  885. package/build-module/paragraph/index.js.map +1 -1
  886. package/build-module/paragraph/init.js +6 -0
  887. package/build-module/paragraph/init.js.map +1 -0
  888. package/build-module/paragraph/transforms.native.js +1 -1
  889. package/build-module/paragraph/transforms.native.js.map +1 -1
  890. package/build-module/pattern/index.js +6 -0
  891. package/build-module/pattern/index.js.map +1 -1
  892. package/build-module/pattern/init.js +6 -0
  893. package/build-module/pattern/init.js.map +1 -0
  894. package/build-module/post-author/edit.js +1 -2
  895. package/build-module/post-author/edit.js.map +1 -1
  896. package/build-module/post-author/index.js +11 -5
  897. package/build-module/post-author/index.js.map +1 -1
  898. package/build-module/post-author/init.js +6 -0
  899. package/build-module/post-author/init.js.map +1 -0
  900. package/build-module/post-author-biography/index.js +11 -5
  901. package/build-module/post-author-biography/index.js.map +1 -1
  902. package/build-module/post-author-biography/init.js +6 -0
  903. package/build-module/post-author-biography/init.js.map +1 -0
  904. package/build-module/post-author-name/index.js +11 -5
  905. package/build-module/post-author-name/index.js.map +1 -1
  906. package/build-module/post-author-name/init.js +6 -0
  907. package/build-module/post-author-name/init.js.map +1 -0
  908. package/build-module/post-comment/index.js +6 -0
  909. package/build-module/post-comment/index.js.map +1 -1
  910. package/build-module/post-comment/init.js +6 -0
  911. package/build-module/post-comment/init.js.map +1 -0
  912. package/build-module/post-comments-count/index.js +6 -0
  913. package/build-module/post-comments-count/index.js.map +1 -1
  914. package/build-module/post-comments-count/init.js +6 -0
  915. package/build-module/post-comments-count/init.js.map +1 -0
  916. package/build-module/post-comments-form/index.js +6 -0
  917. package/build-module/post-comments-form/index.js.map +1 -1
  918. package/build-module/post-comments-form/init.js +6 -0
  919. package/build-module/post-comments-form/init.js.map +1 -0
  920. package/build-module/post-comments-link/index.js +6 -0
  921. package/build-module/post-comments-link/index.js.map +1 -1
  922. package/build-module/post-comments-link/init.js +6 -0
  923. package/build-module/post-comments-link/init.js.map +1 -0
  924. package/build-module/post-content/index.js +20 -1
  925. package/build-module/post-content/index.js.map +1 -1
  926. package/build-module/post-content/init.js +6 -0
  927. package/build-module/post-content/init.js.map +1 -0
  928. package/build-module/post-date/edit.js +12 -8
  929. package/build-module/post-date/edit.js.map +1 -1
  930. package/build-module/post-date/index.js +6 -0
  931. package/build-module/post-date/index.js.map +1 -1
  932. package/build-module/post-date/init.js +6 -0
  933. package/build-module/post-date/init.js.map +1 -0
  934. package/build-module/post-excerpt/index.js +6 -0
  935. package/build-module/post-excerpt/index.js.map +1 -1
  936. package/build-module/post-excerpt/init.js +6 -0
  937. package/build-module/post-excerpt/init.js.map +1 -0
  938. package/build-module/post-featured-image/edit.js +15 -2
  939. package/build-module/post-featured-image/edit.js.map +1 -1
  940. package/build-module/post-featured-image/index.js +22 -0
  941. package/build-module/post-featured-image/index.js.map +1 -1
  942. package/build-module/post-featured-image/init.js +6 -0
  943. package/build-module/post-featured-image/init.js.map +1 -0
  944. package/build-module/post-featured-image/overlay.js +103 -0
  945. package/build-module/post-featured-image/overlay.js.map +1 -0
  946. package/build-module/post-featured-image/utils.js +11 -0
  947. package/build-module/post-featured-image/utils.js.map +1 -0
  948. package/build-module/post-navigation-link/index.js +6 -0
  949. package/build-module/post-navigation-link/index.js.map +1 -1
  950. package/build-module/post-navigation-link/init.js +6 -0
  951. package/build-module/post-navigation-link/init.js.map +1 -0
  952. package/build-module/post-template/edit.js +38 -4
  953. package/build-module/post-template/edit.js.map +1 -1
  954. package/build-module/post-template/index.js +6 -0
  955. package/build-module/post-template/index.js.map +1 -1
  956. package/build-module/post-template/init.js +6 -0
  957. package/build-module/post-template/init.js.map +1 -0
  958. package/build-module/post-terms/index.js +10 -3
  959. package/build-module/post-terms/index.js.map +1 -1
  960. package/build-module/post-terms/init.js +6 -0
  961. package/build-module/post-terms/init.js.map +1 -0
  962. package/build-module/post-title/index.js +6 -0
  963. package/build-module/post-title/index.js.map +1 -1
  964. package/build-module/post-title/init.js +6 -0
  965. package/build-module/post-title/init.js.map +1 -0
  966. package/build-module/preformatted/index.js +6 -0
  967. package/build-module/preformatted/index.js.map +1 -1
  968. package/build-module/preformatted/init.js +6 -0
  969. package/build-module/preformatted/init.js.map +1 -0
  970. package/build-module/preformatted/transforms.native.js +1 -1
  971. package/build-module/preformatted/transforms.native.js.map +1 -1
  972. package/build-module/pullquote/index.js +6 -0
  973. package/build-module/pullquote/index.js.map +1 -1
  974. package/build-module/pullquote/init.js +6 -0
  975. package/build-module/pullquote/init.js.map +1 -0
  976. package/build-module/pullquote/transforms.native.js +1 -1
  977. package/build-module/pullquote/transforms.native.js.map +1 -1
  978. package/build-module/query/edit/index.js +27 -208
  979. package/build-module/query/edit/index.js.map +1 -1
  980. package/build-module/query/edit/inspector-controls/index.js +23 -25
  981. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  982. package/build-module/query/edit/query-content.js +152 -0
  983. package/build-module/query/edit/query-content.js.map +1 -0
  984. package/build-module/query/edit/query-placeholder.js +67 -5
  985. package/build-module/query/edit/query-placeholder.js.map +1 -1
  986. package/build-module/query/index.js +13 -4
  987. package/build-module/query/index.js.map +1 -1
  988. package/build-module/query/init.js +6 -0
  989. package/build-module/query/init.js.map +1 -0
  990. package/build-module/query/utils.js +144 -1
  991. package/build-module/query/utils.js.map +1 -1
  992. package/build-module/query-no-results/index.js +6 -0
  993. package/build-module/query-no-results/index.js.map +1 -1
  994. package/build-module/query-no-results/init.js +6 -0
  995. package/build-module/query-no-results/init.js.map +1 -0
  996. package/build-module/query-pagination/edit.js +2 -1
  997. package/build-module/query-pagination/edit.js.map +1 -1
  998. package/build-module/query-pagination/index.js +19 -0
  999. package/build-module/query-pagination/index.js.map +1 -1
  1000. package/build-module/query-pagination/init.js +6 -0
  1001. package/build-module/query-pagination/init.js.map +1 -0
  1002. package/build-module/query-pagination-next/index.js +10 -2
  1003. package/build-module/query-pagination-next/index.js.map +1 -1
  1004. package/build-module/query-pagination-next/init.js +6 -0
  1005. package/build-module/query-pagination-next/init.js.map +1 -0
  1006. package/build-module/query-pagination-numbers/index.js +6 -0
  1007. package/build-module/query-pagination-numbers/index.js.map +1 -1
  1008. package/build-module/query-pagination-numbers/init.js +6 -0
  1009. package/build-module/query-pagination-numbers/init.js.map +1 -0
  1010. package/build-module/query-pagination-previous/index.js +10 -2
  1011. package/build-module/query-pagination-previous/index.js.map +1 -1
  1012. package/build-module/query-pagination-previous/init.js +6 -0
  1013. package/build-module/query-pagination-previous/init.js.map +1 -0
  1014. package/build-module/query-title/index.js +11 -5
  1015. package/build-module/query-title/index.js.map +1 -1
  1016. package/build-module/query-title/init.js +6 -0
  1017. package/build-module/query-title/init.js.map +1 -0
  1018. package/build-module/quote/index.js +6 -0
  1019. package/build-module/quote/index.js.map +1 -1
  1020. package/build-module/quote/init.js +6 -0
  1021. package/build-module/quote/init.js.map +1 -0
  1022. package/build-module/quote/transforms.js +7 -0
  1023. package/build-module/quote/transforms.js.map +1 -1
  1024. package/build-module/quote/transforms.native.js +1 -1
  1025. package/build-module/quote/transforms.native.js.map +1 -1
  1026. package/build-module/read-more/index.js +6 -0
  1027. package/build-module/read-more/index.js.map +1 -1
  1028. package/build-module/read-more/init.js +6 -0
  1029. package/build-module/read-more/init.js.map +1 -0
  1030. package/build-module/rss/index.js +6 -0
  1031. package/build-module/rss/index.js.map +1 -1
  1032. package/build-module/rss/init.js +6 -0
  1033. package/build-module/rss/init.js.map +1 -0
  1034. package/build-module/search/edit.js +20 -9
  1035. package/build-module/search/edit.js.map +1 -1
  1036. package/build-module/search/index.js +21 -0
  1037. package/build-module/search/index.js.map +1 -1
  1038. package/build-module/search/init.js +6 -0
  1039. package/build-module/search/init.js.map +1 -0
  1040. package/build-module/separator/index.js +6 -0
  1041. package/build-module/separator/index.js.map +1 -1
  1042. package/build-module/separator/init.js +6 -0
  1043. package/build-module/separator/init.js.map +1 -0
  1044. package/build-module/separator/transforms.native.js +1 -1
  1045. package/build-module/separator/transforms.native.js.map +1 -1
  1046. package/build-module/shortcode/index.js +6 -0
  1047. package/build-module/shortcode/index.js.map +1 -1
  1048. package/build-module/shortcode/init.js +6 -0
  1049. package/build-module/shortcode/init.js.map +1 -0
  1050. package/build-module/shortcode/transforms.native.js +1 -1
  1051. package/build-module/shortcode/transforms.native.js.map +1 -1
  1052. package/build-module/site-logo/index.js +10 -0
  1053. package/build-module/site-logo/index.js.map +1 -1
  1054. package/build-module/site-logo/init.js +6 -0
  1055. package/build-module/site-logo/init.js.map +1 -0
  1056. package/build-module/site-tagline/index.js +7 -0
  1057. package/build-module/site-tagline/index.js.map +1 -1
  1058. package/build-module/site-tagline/init.js +6 -0
  1059. package/build-module/site-tagline/init.js.map +1 -0
  1060. package/build-module/site-title/index.js +7 -0
  1061. package/build-module/site-title/index.js.map +1 -1
  1062. package/build-module/site-title/init.js +6 -0
  1063. package/build-module/site-title/init.js.map +1 -0
  1064. package/build-module/social-link/edit.js +9 -7
  1065. package/build-module/social-link/edit.js.map +1 -1
  1066. package/build-module/social-link/index.js +6 -0
  1067. package/build-module/social-link/index.js.map +1 -1
  1068. package/build-module/social-link/init.js +6 -0
  1069. package/build-module/social-link/init.js.map +1 -0
  1070. package/build-module/social-links/index.js +8 -1
  1071. package/build-module/social-links/index.js.map +1 -1
  1072. package/build-module/social-links/init.js +6 -0
  1073. package/build-module/social-links/init.js.map +1 -0
  1074. package/build-module/spacer/index.js +6 -0
  1075. package/build-module/spacer/index.js.map +1 -1
  1076. package/build-module/spacer/init.js +6 -0
  1077. package/build-module/spacer/init.js.map +1 -0
  1078. package/build-module/table/index.js +9 -6
  1079. package/build-module/table/index.js.map +1 -1
  1080. package/build-module/table/init.js +6 -0
  1081. package/build-module/table/init.js.map +1 -0
  1082. package/build-module/table-of-contents/index.js +6 -0
  1083. package/build-module/table-of-contents/index.js.map +1 -1
  1084. package/build-module/table-of-contents/init.js +6 -0
  1085. package/build-module/table-of-contents/init.js.map +1 -0
  1086. package/build-module/tag-cloud/index.js +6 -0
  1087. package/build-module/tag-cloud/index.js.map +1 -1
  1088. package/build-module/tag-cloud/init.js +6 -0
  1089. package/build-module/tag-cloud/init.js.map +1 -0
  1090. package/build-module/template-part/edit/index.js +2 -7
  1091. package/build-module/template-part/edit/index.js.map +1 -1
  1092. package/build-module/template-part/edit/selection-modal.js +3 -14
  1093. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  1094. package/build-module/template-part/index.js +27 -20
  1095. package/build-module/template-part/index.js.map +1 -1
  1096. package/build-module/template-part/init.js +6 -0
  1097. package/build-module/template-part/init.js.map +1 -0
  1098. package/build-module/term-description/index.js +6 -0
  1099. package/build-module/term-description/index.js.map +1 -1
  1100. package/build-module/term-description/init.js +6 -0
  1101. package/build-module/term-description/init.js.map +1 -0
  1102. package/build-module/text-columns/index.js +6 -0
  1103. package/build-module/text-columns/index.js.map +1 -1
  1104. package/build-module/text-columns/init.js +6 -0
  1105. package/build-module/text-columns/init.js.map +1 -0
  1106. package/build-module/text-columns/transforms.native.js +1 -1
  1107. package/build-module/text-columns/transforms.native.js.map +1 -1
  1108. package/build-module/utils/init-block.js +29 -0
  1109. package/build-module/utils/init-block.js.map +1 -0
  1110. package/build-module/utils/init-block.native.js +43 -0
  1111. package/build-module/utils/init-block.native.js.map +1 -0
  1112. package/build-module/{is-block-metadata-experimental.js → utils/is-block-metadata-experimental.js} +0 -0
  1113. package/build-module/utils/is-block-metadata-experimental.js.map +1 -0
  1114. package/build-module/utils/migrate-font-family.js +10 -16
  1115. package/build-module/utils/migrate-font-family.js.map +1 -1
  1116. package/build-module/{transformationCategories.native.js → utils/transformation-categories.native.js} +1 -1
  1117. package/build-module/utils/transformation-categories.native.js.map +1 -0
  1118. package/build-module/verse/index.js +6 -0
  1119. package/build-module/verse/index.js.map +1 -1
  1120. package/build-module/verse/init.js +6 -0
  1121. package/build-module/verse/init.js.map +1 -0
  1122. package/build-module/verse/transforms.native.js +1 -1
  1123. package/build-module/verse/transforms.native.js.map +1 -1
  1124. package/build-module/video/edit.js +13 -12
  1125. package/build-module/video/edit.js.map +1 -1
  1126. package/build-module/video/index.js +13 -8
  1127. package/build-module/video/index.js.map +1 -1
  1128. package/build-module/video/init.js +6 -0
  1129. package/build-module/video/init.js.map +1 -0
  1130. package/build-module/video/transforms.native.js +1 -1
  1131. package/build-module/video/transforms.native.js.map +1 -1
  1132. package/build-style/audio/theme-rtl.css +4 -0
  1133. package/build-style/audio/theme.css +4 -0
  1134. package/build-style/avatar/style-rtl.css +3 -0
  1135. package/build-style/avatar/style.css +3 -0
  1136. package/build-style/button/editor-rtl.css +4 -0
  1137. package/build-style/button/editor.css +4 -0
  1138. package/build-style/button/style-rtl.css +4 -0
  1139. package/build-style/button/style.css +4 -0
  1140. package/build-style/buttons/editor-rtl.css +3 -0
  1141. package/build-style/buttons/editor.css +3 -0
  1142. package/build-style/buttons/style-rtl.css +7 -0
  1143. package/build-style/buttons/style.css +7 -0
  1144. package/build-style/categories/style-rtl.css +3 -0
  1145. package/build-style/categories/style.css +3 -0
  1146. package/build-style/common-rtl.css +7 -0
  1147. package/build-style/common.css +7 -0
  1148. package/build-style/cover/style-rtl.css +2 -2
  1149. package/build-style/cover/style.css +2 -0
  1150. package/build-style/editor-rtl.css +37 -0
  1151. package/build-style/editor.css +37 -0
  1152. package/build-style/embed/theme-rtl.css +4 -0
  1153. package/build-style/embed/theme.css +4 -0
  1154. package/build-style/image/theme-rtl.css +4 -0
  1155. package/build-style/image/theme.css +4 -0
  1156. package/build-style/navigation/editor-rtl.css +20 -0
  1157. package/build-style/navigation/editor.css +20 -0
  1158. package/build-style/navigation/style-rtl.css +20 -3
  1159. package/build-style/navigation/style.css +20 -3
  1160. package/build-style/post-featured-image/editor-rtl.css +5 -0
  1161. package/build-style/post-featured-image/editor.css +5 -0
  1162. package/build-style/post-featured-image/style-rtl.css +45 -0
  1163. package/build-style/post-featured-image/style.css +45 -0
  1164. package/build-style/search/style-rtl.css +2 -3
  1165. package/build-style/search/style.css +2 -3
  1166. package/build-style/separator/style-rtl.css +2 -0
  1167. package/build-style/separator/style.css +2 -0
  1168. package/build-style/site-logo/editor-rtl.css +5 -0
  1169. package/build-style/site-logo/editor.css +5 -0
  1170. package/build-style/site-logo/style-rtl.css +1 -0
  1171. package/build-style/site-logo/style.css +1 -0
  1172. package/build-style/social-links/style-rtl.css +2 -2
  1173. package/build-style/social-links/style.css +2 -2
  1174. package/build-style/style-rtl.css +98 -10
  1175. package/build-style/style.css +98 -8
  1176. package/build-style/table/theme-rtl.css +3 -0
  1177. package/build-style/table/theme.css +3 -0
  1178. package/build-style/theme-rtl.css +19 -0
  1179. package/build-style/theme.css +19 -0
  1180. package/build-style/video/theme-rtl.css +4 -0
  1181. package/build-style/video/theme.css +4 -0
  1182. package/package.json +29 -32
  1183. package/src/archives/block.json +13 -0
  1184. package/src/archives/index.js +3 -0
  1185. package/src/archives/init.js +6 -0
  1186. package/src/audio/block.json +6 -8
  1187. package/src/audio/edit.js +6 -8
  1188. package/src/audio/index.js +3 -0
  1189. package/src/audio/init.js +6 -0
  1190. package/src/audio/theme.scss +4 -0
  1191. package/src/audio/transforms.native.js +1 -1
  1192. package/src/avatar/block.json +2 -1
  1193. package/src/avatar/index.js +3 -0
  1194. package/src/avatar/init.js +6 -0
  1195. package/src/avatar/style.scss +3 -0
  1196. package/src/block/edit.js +3 -10
  1197. package/src/block/index.js +3 -0
  1198. package/src/block/init.js +6 -0
  1199. package/src/block/test/edit.native.js +4 -0
  1200. package/src/button/block.json +5 -0
  1201. package/src/button/edit.js +11 -3
  1202. package/src/button/editor.scss +4 -0
  1203. package/src/button/index.js +3 -0
  1204. package/src/button/init.js +6 -0
  1205. package/src/button/style.scss +4 -0
  1206. package/src/buttons/block.json +13 -0
  1207. package/src/buttons/edit.js +12 -2
  1208. package/src/buttons/editor.scss +6 -0
  1209. package/src/buttons/index.js +3 -0
  1210. package/src/buttons/init.js +6 -0
  1211. package/src/buttons/save.js +13 -2
  1212. package/src/buttons/style.scss +13 -0
  1213. package/src/buttons/transforms.native.js +1 -1
  1214. package/src/calendar/block.json +13 -1
  1215. package/src/calendar/index.js +3 -0
  1216. package/src/calendar/init.js +6 -0
  1217. package/src/categories/block.json +4 -0
  1218. package/src/categories/edit.js +37 -25
  1219. package/src/categories/index.js +3 -0
  1220. package/src/categories/index.php +1 -1
  1221. package/src/categories/init.js +6 -0
  1222. package/src/categories/style.scss +3 -0
  1223. package/src/code/index.js +3 -0
  1224. package/src/code/init.js +6 -0
  1225. package/src/code/transforms.js +9 -0
  1226. package/src/code/transforms.native.js +1 -1
  1227. package/src/column/block.json +1 -1
  1228. package/src/column/edit.js +1 -6
  1229. package/src/column/index.js +3 -0
  1230. package/src/column/init.js +6 -0
  1231. package/src/columns/block.json +2 -1
  1232. package/src/columns/index.js +3 -0
  1233. package/src/columns/init.js +6 -0
  1234. package/src/columns/transforms.native.js +1 -1
  1235. package/src/comment-author-avatar/index.js +3 -0
  1236. package/src/comment-author-avatar/init.js +6 -0
  1237. package/src/comment-author-name/index.js +3 -0
  1238. package/src/comment-author-name/init.js +6 -0
  1239. package/src/comment-content/index.js +3 -0
  1240. package/src/comment-content/init.js +6 -0
  1241. package/src/comment-date/block.json +4 -0
  1242. package/src/comment-date/edit.js +1 -4
  1243. package/src/comment-date/index.js +3 -0
  1244. package/src/comment-date/init.js +6 -0
  1245. package/src/comment-edit-link/block.json +4 -0
  1246. package/src/comment-edit-link/index.js +3 -0
  1247. package/src/comment-edit-link/init.js +6 -0
  1248. package/src/comment-reply-link/block.json +4 -0
  1249. package/src/comment-reply-link/index.js +3 -0
  1250. package/src/comment-reply-link/init.js +6 -0
  1251. package/src/comment-template/index.js +3 -0
  1252. package/src/comment-template/init.js +6 -0
  1253. package/src/comments/edit/comments-legacy.js +4 -5
  1254. package/src/comments/index.js +3 -0
  1255. package/src/comments/index.php +1 -1
  1256. package/src/comments/init.js +6 -0
  1257. package/src/comments-pagination/edit.js +6 -5
  1258. package/src/comments-pagination/index.js +3 -0
  1259. package/src/comments-pagination/init.js +6 -0
  1260. package/src/comments-pagination-next/index.js +3 -0
  1261. package/src/comments-pagination-next/init.js +6 -0
  1262. package/src/comments-pagination-numbers/index.js +3 -0
  1263. package/src/comments-pagination-numbers/init.js +6 -0
  1264. package/src/comments-pagination-previous/index.js +3 -0
  1265. package/src/comments-pagination-previous/init.js +6 -0
  1266. package/src/comments-title/index.js +3 -0
  1267. package/src/comments-title/init.js +6 -0
  1268. package/src/common.scss +7 -0
  1269. package/src/cover/block.json +1 -1
  1270. package/src/cover/edit/block-controls.js +3 -15
  1271. package/src/cover/index.js +3 -0
  1272. package/src/cover/init.js +6 -0
  1273. package/src/cover/style.scss +4 -0
  1274. package/src/cover/test/edit.native.js +2 -3
  1275. package/src/cover/transforms.native.js +1 -1
  1276. package/src/embed/block.json +1 -6
  1277. package/src/embed/index.js +3 -0
  1278. package/src/embed/init.js +6 -0
  1279. package/src/embed/test/index.native.js +19 -3
  1280. package/src/embed/theme.scss +4 -0
  1281. package/src/embed/transforms.native.js +1 -1
  1282. package/src/file/deprecated.js +249 -112
  1283. package/src/file/edit.js +4 -13
  1284. package/src/file/index.js +3 -0
  1285. package/src/file/index.php +22 -0
  1286. package/src/file/init.js +6 -0
  1287. package/src/file/save.js +1 -8
  1288. package/src/file/transforms.native.js +1 -1
  1289. package/src/freeform/index.js +3 -0
  1290. package/src/freeform/init.js +6 -0
  1291. package/src/gallery/block.json +2 -0
  1292. package/src/gallery/edit.js +8 -15
  1293. package/src/gallery/index.js +3 -0
  1294. package/src/gallery/index.php +1 -1
  1295. package/src/gallery/init.js +6 -0
  1296. package/src/gallery/transforms.native.js +1 -1
  1297. package/src/gallery/v1/edit.js +2 -12
  1298. package/src/gallery/v1/gallery-image.js +7 -3
  1299. package/src/group/block.json +1 -7
  1300. package/src/group/edit.js +2 -12
  1301. package/src/group/index.js +3 -0
  1302. package/src/group/init.js +6 -0
  1303. package/src/group/transforms.js +1 -0
  1304. package/src/group/variations.js +2 -1
  1305. package/src/heading/block.json +1 -0
  1306. package/src/heading/index.js +3 -0
  1307. package/src/heading/init.js +6 -0
  1308. package/src/heading/transforms.native.js +1 -1
  1309. package/src/home-link/index.js +3 -0
  1310. package/src/home-link/index.php +1 -1
  1311. package/src/home-link/init.js +6 -0
  1312. package/src/html/index.js +3 -0
  1313. package/src/html/init.js +6 -0
  1314. package/src/image/block.json +0 -5
  1315. package/src/image/edit.js +26 -15
  1316. package/src/image/image.js +12 -6
  1317. package/src/image/index.js +3 -0
  1318. package/src/image/init.js +6 -0
  1319. package/src/image/theme.scss +4 -0
  1320. package/src/image/transforms.js +4 -1
  1321. package/src/image/transforms.native.js +1 -1
  1322. package/src/index.js +103 -117
  1323. package/src/index.native.js +4 -36
  1324. package/src/latest-comments/index.js +3 -0
  1325. package/src/latest-comments/init.js +6 -0
  1326. package/src/latest-posts/edit.js +2 -2
  1327. package/src/latest-posts/index.js +3 -0
  1328. package/src/latest-posts/init.js +6 -0
  1329. package/src/list/block.json +4 -3
  1330. package/src/list/edit.js +2 -6
  1331. package/src/list/index.js +3 -0
  1332. package/src/list/init.js +6 -0
  1333. package/src/list/test/__snapshots__/edit.native.js.snap +8 -32
  1334. package/src/list/test/edit.native.js +16 -68
  1335. package/src/list/transforms.native.js +1 -1
  1336. package/src/list/utils.js +4 -7
  1337. package/src/list-item/edit.native.js +23 -6
  1338. package/src/list-item/hooks/use-enter.native.js +77 -0
  1339. package/src/list-item/hooks/use-outdent-list-item.js +4 -4
  1340. package/src/list-item/index.js +3 -0
  1341. package/src/list-item/init.js +6 -0
  1342. package/src/loginout/index.js +3 -0
  1343. package/src/loginout/init.js +6 -0
  1344. package/src/media-text/block.json +10 -5
  1345. package/src/media-text/edit.js +45 -29
  1346. package/src/media-text/index.js +3 -0
  1347. package/src/media-text/init.js +6 -0
  1348. package/src/media-text/media-container.js +10 -14
  1349. package/src/media-text/transforms.native.js +1 -1
  1350. package/src/missing/index.js +3 -0
  1351. package/src/missing/init.js +6 -0
  1352. package/src/more/index.js +3 -0
  1353. package/src/more/init.js +6 -0
  1354. package/src/more/transforms.native.js +1 -1
  1355. package/src/navigation/block.json +4 -0
  1356. package/src/navigation/edit/index.js +183 -121
  1357. package/src/navigation/edit/navigation-menu-selector.js +134 -49
  1358. package/src/navigation/edit/overlay-menu-icon.js +6 -1
  1359. package/src/navigation/edit/overlay-menu-preview.js +47 -0
  1360. package/src/navigation/edit/responsive-wrapper.js +2 -1
  1361. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +27 -3
  1362. package/src/navigation/edit/use-create-navigation-menu.js +5 -2
  1363. package/src/navigation/editor.scss +19 -0
  1364. package/src/navigation/index.js +3 -0
  1365. package/src/navigation/index.php +36 -23
  1366. package/src/navigation/init.js +6 -0
  1367. package/src/navigation/style.scss +17 -2
  1368. package/src/navigation/test/use-navigation-menu.js +5 -5
  1369. package/src/navigation/use-navigation-menu.js +11 -6
  1370. package/src/navigation-link/block.json +14 -1
  1371. package/src/navigation-link/edit.js +7 -3
  1372. package/src/navigation-link/index.js +10 -6
  1373. package/src/navigation-link/index.php +1 -1
  1374. package/src/navigation-link/init.js +6 -0
  1375. package/src/navigation-submenu/edit.js +7 -3
  1376. package/src/navigation-submenu/index.js +3 -1
  1377. package/src/navigation-submenu/init.js +6 -0
  1378. package/src/nextpage/index.js +3 -0
  1379. package/src/nextpage/init.js +6 -0
  1380. package/src/nextpage/transforms.native.js +1 -1
  1381. package/src/page-list/index.js +3 -0
  1382. package/src/page-list/init.js +6 -0
  1383. package/src/paragraph/index.js +3 -0
  1384. package/src/paragraph/init.js +6 -0
  1385. package/src/paragraph/transforms.native.js +1 -1
  1386. package/src/pattern/index.js +3 -0
  1387. package/src/pattern/init.js +6 -0
  1388. package/src/post-author/edit.js +1 -2
  1389. package/src/post-author/index.js +8 -5
  1390. package/src/post-author/init.js +6 -0
  1391. package/src/post-author-biography/index.js +8 -5
  1392. package/src/post-author-biography/init.js +6 -0
  1393. package/src/post-author-name/index.js +8 -5
  1394. package/src/post-author-name/init.js +6 -0
  1395. package/src/post-comment/index.js +3 -0
  1396. package/src/post-comment/init.js +6 -0
  1397. package/src/post-comments-count/index.js +3 -0
  1398. package/src/post-comments-count/init.js +6 -0
  1399. package/src/post-comments-form/index.js +3 -0
  1400. package/src/post-comments-form/index.php +1 -1
  1401. package/src/post-comments-form/init.js +6 -0
  1402. package/src/post-comments-link/index.js +3 -0
  1403. package/src/post-comments-link/init.js +6 -0
  1404. package/src/post-content/block.json +14 -1
  1405. package/src/post-content/index.js +3 -0
  1406. package/src/post-content/init.js +6 -0
  1407. package/src/post-date/edit.js +14 -8
  1408. package/src/post-date/index.js +3 -0
  1409. package/src/post-date/init.js +6 -0
  1410. package/src/post-excerpt/index.js +3 -0
  1411. package/src/post-excerpt/init.js +6 -0
  1412. package/src/post-featured-image/block.json +16 -0
  1413. package/src/post-featured-image/edit.js +22 -2
  1414. package/src/post-featured-image/editor.scss +77 -70
  1415. package/src/post-featured-image/index.js +3 -0
  1416. package/src/post-featured-image/index.php +89 -8
  1417. package/src/post-featured-image/init.js +6 -0
  1418. package/src/post-featured-image/overlay.js +118 -0
  1419. package/src/post-featured-image/style.scss +22 -0
  1420. package/src/post-featured-image/utils.js +12 -0
  1421. package/src/post-navigation-link/index.js +3 -0
  1422. package/src/post-navigation-link/init.js +6 -0
  1423. package/src/post-template/edit.js +33 -2
  1424. package/src/post-template/index.js +3 -0
  1425. package/src/post-template/init.js +6 -0
  1426. package/src/post-terms/index.js +10 -6
  1427. package/src/post-terms/init.js +6 -0
  1428. package/src/post-title/index.js +3 -0
  1429. package/src/post-title/init.js +6 -0
  1430. package/src/preformatted/index.js +3 -0
  1431. package/src/preformatted/init.js +6 -0
  1432. package/src/preformatted/transforms.native.js +1 -1
  1433. package/src/pullquote/index.js +3 -0
  1434. package/src/pullquote/init.js +6 -0
  1435. package/src/pullquote/transforms.native.js +1 -1
  1436. package/src/query/block.json +3 -0
  1437. package/src/query/edit/index.js +50 -227
  1438. package/src/query/edit/inspector-controls/index.js +139 -113
  1439. package/src/query/edit/query-content.js +131 -0
  1440. package/src/query/edit/query-placeholder.js +87 -8
  1441. package/src/query/index.js +6 -3
  1442. package/src/query/init.js +6 -0
  1443. package/src/query/utils.js +94 -1
  1444. package/src/query-no-results/index.js +3 -0
  1445. package/src/query-no-results/init.js +6 -0
  1446. package/src/query-pagination/block.json +13 -0
  1447. package/src/query-pagination/edit.js +6 -5
  1448. package/src/query-pagination/index.js +3 -0
  1449. package/src/query-pagination/init.js +6 -0
  1450. package/src/query-pagination-next/block.json +4 -2
  1451. package/src/query-pagination-next/index.js +3 -0
  1452. package/src/query-pagination-next/init.js +6 -0
  1453. package/src/query-pagination-numbers/index.js +3 -0
  1454. package/src/query-pagination-numbers/init.js +6 -0
  1455. package/src/query-pagination-previous/block.json +4 -2
  1456. package/src/query-pagination-previous/index.js +3 -0
  1457. package/src/query-pagination-previous/init.js +6 -0
  1458. package/src/query-title/index.js +8 -5
  1459. package/src/query-title/init.js +6 -0
  1460. package/src/quote/index.js +3 -0
  1461. package/src/quote/init.js +6 -0
  1462. package/src/quote/transforms.js +10 -0
  1463. package/src/quote/transforms.native.js +1 -1
  1464. package/src/read-more/index.js +3 -0
  1465. package/src/read-more/init.js +6 -0
  1466. package/src/rss/index.js +3 -0
  1467. package/src/rss/init.js +6 -0
  1468. package/src/search/block.json +15 -0
  1469. package/src/search/edit.js +25 -5
  1470. package/src/search/index.js +3 -0
  1471. package/src/search/index.php +114 -9
  1472. package/src/search/init.js +6 -0
  1473. package/src/search/style.scss +4 -3
  1474. package/src/separator/index.js +3 -0
  1475. package/src/separator/init.js +6 -0
  1476. package/src/separator/style.scss +4 -0
  1477. package/src/separator/transforms.native.js +1 -1
  1478. package/src/shortcode/index.js +3 -0
  1479. package/src/shortcode/init.js +6 -0
  1480. package/src/shortcode/transforms.native.js +1 -1
  1481. package/src/site-logo/block.json +4 -0
  1482. package/src/site-logo/editor.scss +7 -0
  1483. package/src/site-logo/index.js +3 -0
  1484. package/src/site-logo/init.js +6 -0
  1485. package/src/site-logo/style.scss +2 -0
  1486. package/src/site-tagline/block.json +1 -0
  1487. package/src/site-tagline/index.js +3 -0
  1488. package/src/site-tagline/init.js +6 -0
  1489. package/src/site-title/block.json +1 -0
  1490. package/src/site-title/index.js +3 -0
  1491. package/src/site-title/init.js +6 -0
  1492. package/src/social-link/edit.js +9 -9
  1493. package/src/social-link/index.js +3 -0
  1494. package/src/social-link/init.js +6 -0
  1495. package/src/social-link/socials-without-bg.scss +1 -2
  1496. package/src/social-links/block.json +2 -1
  1497. package/src/social-links/index.js +3 -0
  1498. package/src/social-links/init.js +6 -0
  1499. package/src/social-links/style.scss +3 -0
  1500. package/src/spacer/index.js +3 -0
  1501. package/src/spacer/init.js +6 -0
  1502. package/src/table/block.json +3 -6
  1503. package/src/table/index.js +3 -0
  1504. package/src/table/init.js +6 -0
  1505. package/src/table/theme.scss +2 -0
  1506. package/src/table-of-contents/index.js +3 -0
  1507. package/src/table-of-contents/init.js +6 -0
  1508. package/src/tag-cloud/index.js +3 -0
  1509. package/src/tag-cloud/init.js +6 -0
  1510. package/src/template-part/edit/index.js +1 -10
  1511. package/src/template-part/edit/selection-modal.js +2 -14
  1512. package/src/template-part/index.js +36 -30
  1513. package/src/template-part/index.php +1 -1
  1514. package/src/template-part/init.js +6 -0
  1515. package/src/term-description/index.js +3 -0
  1516. package/src/term-description/init.js +6 -0
  1517. package/src/text-columns/index.js +3 -0
  1518. package/src/text-columns/init.js +6 -0
  1519. package/src/text-columns/transforms.native.js +1 -1
  1520. package/src/utils/init-block.js +20 -0
  1521. package/src/utils/init-block.native.js +40 -0
  1522. package/src/{is-block-metadata-experimental.js → utils/is-block-metadata-experimental.js} +0 -0
  1523. package/src/utils/migrate-font-family.js +7 -15
  1524. package/src/{transformationCategories.native.js → utils/transformation-categories.native.js} +0 -0
  1525. package/src/verse/index.js +3 -0
  1526. package/src/verse/init.js +6 -0
  1527. package/src/verse/transforms.native.js +1 -1
  1528. package/src/video/block.json +7 -8
  1529. package/src/video/edit.js +6 -11
  1530. package/src/video/index.js +3 -0
  1531. package/src/video/init.js +6 -0
  1532. package/src/video/theme.scss +4 -0
  1533. package/src/video/transforms.native.js +1 -1
  1534. package/build/is-block-metadata-experimental.js.map +0 -1
  1535. package/build/transformationCategories.native.js.map +0 -1
  1536. package/build-module/is-block-metadata-experimental.js.map +0 -1
  1537. package/build-module/transformationCategories.native.js.map +0 -1
@@ -11,6 +11,8 @@ var _element = require("@wordpress/element");
11
11
 
12
12
  var _classnames = _interopRequireDefault(require("classnames"));
13
13
 
14
+ var _url = require("@wordpress/url");
15
+
14
16
  var _blockEditor = require("@wordpress/block-editor");
15
17
 
16
18
  var _coreData = require("@wordpress/core-data");
@@ -49,6 +51,8 @@ var _useNavigationNotice = _interopRequireDefault(require("./use-navigation-noti
49
51
 
50
52
  var _overlayMenuIcon = _interopRequireDefault(require("./overlay-menu-icon"));
51
53
 
54
+ var _overlayMenuPreview = _interopRequireDefault(require("./overlay-menu-preview"));
55
+
52
56
  var _useConvertClassicMenuToBlockMenu = _interopRequireWildcard(require("./use-convert-classic-menu-to-block-menu"));
53
57
 
54
58
  var _useCreateNavigationMenu = _interopRequireDefault(require("./use-create-navigation-menu"));
@@ -104,7 +108,8 @@ function Navigation(_ref) {
104
108
  orientation = 'horizontal',
105
109
  flexWrap = 'wrap'
106
110
  } = {},
107
- hasIcon
111
+ hasIcon,
112
+ icon = 'handle'
108
113
  } = attributes;
109
114
  const ref = attributes.ref;
110
115
 
@@ -115,7 +120,10 @@ function Navigation(_ref) {
115
120
  };
116
121
 
117
122
  const recursionId = `navigationMenu/${ref}`;
118
- const hasAlreadyRendered = (0, _blockEditor.__experimentalUseHasRecursion)(recursionId); // Preload classic menus, so that they don't suddenly pop-in when viewing
123
+ const hasAlreadyRendered = (0, _blockEditor.__experimentalUseHasRecursion)(recursionId);
124
+ const {
125
+ editEntityRecord
126
+ } = (0, _data.useDispatch)(_coreData.store); // Preload classic menus, so that they don't suddenly pop-in when viewing
119
127
  // the Select Menu dropdown.
120
128
 
121
129
  (0, _useNavigationEntities.default)();
@@ -125,6 +133,9 @@ function Navigation(_ref) {
125
133
  const [showClassicMenuConversionNotice, hideClassicMenuConversionNotice] = (0, _useNavigationNotice.default)({
126
134
  name: 'block-library/core/navigation/classic-menu-conversion'
127
135
  });
136
+ const [showMenuAutoPublishDraftNotice, hideMenuAutoPublishDraftNotice] = (0, _useNavigationNotice.default)({
137
+ name: 'block-library/core/navigation/auto-publish-draft'
138
+ });
128
139
  const [showNavigationMenuPermissionsNotice, hideNavigationMenuPermissionsNotice] = (0, _useNavigationNotice.default)({
129
140
  name: 'block-library/core/navigation/permissions/update'
130
141
  });
@@ -137,6 +148,11 @@ function Navigation(_ref) {
137
148
  isSuccess: createNavigationMenuIsSuccess,
138
149
  isError: createNavigationMenuIsError
139
150
  } = (0, _useCreateNavigationMenu.default)(clientId);
151
+
152
+ const createUntitledEmptyNavigationMenu = () => {
153
+ createNavigationMenu('');
154
+ };
155
+
140
156
  (0, _element.useEffect)(() => {
141
157
  hideNavigationMenuStatusNotice();
142
158
 
@@ -145,15 +161,16 @@ function Navigation(_ref) {
145
161
  }
146
162
 
147
163
  if (createNavigationMenuIsSuccess) {
148
- setRef(createNavigationMenuPost.id);
149
- selectBlock(clientId);
164
+ handleUpdateMenu(createNavigationMenuPost.id, {
165
+ focusNavigationBlock: true
166
+ });
150
167
  showNavigationMenuStatusNotice((0, _i18n.__)(`Navigation Menu successfully created.`));
151
168
  }
152
169
 
153
170
  if (createNavigationMenuIsError) {
154
171
  showNavigationMenuStatusNotice((0, _i18n.__)('Failed to create Navigation Menu.'));
155
172
  }
156
- }, [createNavigationMenu, createNavigationMenuStatus, createNavigationMenuError, createNavigationMenuPost]);
173
+ }, [createNavigationMenuStatus, createNavigationMenuError, createNavigationMenuPost]);
157
174
  const {
158
175
  hasUncontrolledInnerBlocks,
159
176
  uncontrolledInnerBlocks,
@@ -200,7 +217,10 @@ function Navigation(_ref) {
200
217
  const menuADate = new Date(menuA.date);
201
218
  const menuBDate = new Date(menuB.date);
202
219
  return menuADate.getTime() < menuBDate.getTime();
203
- });
220
+ }); // Only autofallback to published menus.
221
+
222
+ const fallbackNavigationMenus = navigationMenus.filter(menu => menu.status === 'publish');
223
+ if (fallbackNavigationMenus.length === 0) return;
204
224
  /**
205
225
  * This fallback displays (both in editor and on front)
206
226
  * a list of pages only if no menu (user assigned or
@@ -211,10 +231,9 @@ function Navigation(_ref) {
211
231
 
212
232
  __unstableMarkNextChangeAsNotPersistent();
213
233
 
214
- setRef(navigationMenus[0].id);
234
+ setRef(fallbackNavigationMenus[0].id);
215
235
  }, [navigationMenus]);
216
236
  const navRef = (0, _element.useRef)();
217
- const isDraftNavigationMenu = (navigationMenu === null || navigationMenu === void 0 ? void 0 : navigationMenu.status) === 'draft';
218
237
  const {
219
238
  convert: convertClassicMenu,
220
239
  status: classicMenuConversionStatus,
@@ -281,9 +300,18 @@ function Navigation(_ref) {
281
300
  const [detectedOverlayBackgroundColor, setDetectedOverlayBackgroundColor] = (0, _element.useState)();
282
301
  const [detectedOverlayColor, setDetectedOverlayColor] = (0, _element.useState)();
283
302
 
284
- const handleUpdateMenu = menuId => {
303
+ const handleUpdateMenu = function (menuId) {
304
+ let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
305
+ focusNavigationBlock: false
306
+ };
307
+ const {
308
+ focusNavigationBlock
309
+ } = options;
285
310
  setRef(menuId);
286
- selectBlock(clientId);
311
+
312
+ if (focusNavigationBlock) {
313
+ selectBlock(clientId);
314
+ }
287
315
  };
288
316
 
289
317
  (0, _element.useEffect)(() => {
@@ -341,40 +369,43 @@ function Navigation(_ref) {
341
369
  }
342
370
  }
343
371
  }, [isSelected, isInnerBlockSelected, canUserUpdateNavigationMenu, hasResolvedCanUserUpdateNavigationMenu, canUserCreateNavigationMenu, hasResolvedCanUserCreateNavigationMenu, ref]);
344
- const navigationSelectorRef = (0, _element.useRef)();
345
- const [shouldFocusNavigationSelector, setShouldFocusNavigationSelector] = (0, _element.useState)(false); // Focus support after menu selection.
346
-
347
- (0, _element.useEffect)(() => {
348
- var _navigationSelectorRe;
349
-
350
- if (isDraftNavigationMenu || !isEntityAvailable || !shouldFocusNavigationSelector) {
351
- return;
352
- }
353
-
354
- navigationSelectorRef === null || navigationSelectorRef === void 0 ? void 0 : (_navigationSelectorRe = navigationSelectorRef.current) === null || _navigationSelectorRe === void 0 ? void 0 : _navigationSelectorRe.focus();
355
- setShouldFocusNavigationSelector(false);
356
- }, [isDraftNavigationMenu, isEntityAvailable, shouldFocusNavigationSelector]);
372
+ const hasManagePermissions = canUserCreateNavigationMenu || canUserUpdateNavigationMenu;
357
373
  const isResponsive = 'never' !== overlayMenu;
358
374
  const overlayMenuPreviewClasses = (0, _classnames.default)('wp-block-navigation__overlay-menu-preview', {
359
375
  open: overlayMenuPreview
360
- });
376
+ }); // Prompt the user to publish the menu they have set as a draft
377
+
378
+ const isDraftNavigationMenu = (navigationMenu === null || navigationMenu === void 0 ? void 0 : navigationMenu.status) === 'draft';
379
+ (0, _element.useEffect)(async () => {
380
+ hideMenuAutoPublishDraftNotice();
381
+ if (!isDraftNavigationMenu) return;
382
+
383
+ try {
384
+ await editEntityRecord('postType', 'wp_navigation', navigationMenu === null || navigationMenu === void 0 ? void 0 : navigationMenu.id, {
385
+ status: 'publish'
386
+ }, {
387
+ throwOnError: true
388
+ });
389
+ } catch {
390
+ showMenuAutoPublishDraftNotice((0, _i18n.__)('Error ocurred while publishing the navigation menu.'));
391
+ }
392
+ }, [isDraftNavigationMenu, navigationMenu]);
361
393
  const stylingInspectorControls = (0, _element.createElement)(_blockEditor.InspectorControls, null, hasSubmenuIndicatorSetting && (0, _element.createElement)(_components.PanelBody, {
362
394
  title: (0, _i18n.__)('Display')
363
- }, isResponsive && (0, _element.createElement)(_components.Button, {
395
+ }, isResponsive && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.Button, {
364
396
  className: overlayMenuPreviewClasses,
365
397
  onClick: () => {
366
398
  setOverlayMenuPreview(!overlayMenuPreview);
367
399
  }
368
- }, hasIcon && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_overlayMenuIcon.default, null), (0, _element.createElement)(_icons.Icon, {
400
+ }, hasIcon && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_overlayMenuIcon.default, {
401
+ icon: icon
402
+ }), (0, _element.createElement)(_icons.Icon, {
369
403
  icon: _icons.close
370
- })), !hasIcon && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)("span", null, (0, _i18n.__)('Menu')), (0, _element.createElement)("span", null, (0, _i18n.__)('Close')))), overlayMenuPreview && (0, _element.createElement)(_components.ToggleControl, {
371
- label: (0, _i18n.__)('Show icon button'),
372
- help: (0, _i18n.__)('Configure the visual appearance of the button opening and closing the overlay menu.'),
373
- onChange: value => setAttributes({
374
- hasIcon: value
375
- }),
376
- checked: hasIcon
377
- }), (0, _element.createElement)("h3", null, (0, _i18n.__)('Overlay Menu')), (0, _element.createElement)(_components.__experimentalToggleGroupControl, {
404
+ })), !hasIcon && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)("span", null, (0, _i18n.__)('Menu')), (0, _element.createElement)("span", null, (0, _i18n.__)('Close')))), overlayMenuPreview && (0, _element.createElement)(_overlayMenuPreview.default, {
405
+ setAttributes: setAttributes,
406
+ hasIcon: hasIcon,
407
+ icon: icon
408
+ })), (0, _element.createElement)("h3", null, (0, _i18n.__)('Overlay Menu')), (0, _element.createElement)(_components.__experimentalToggleGroupControl, {
378
409
  label: (0, _i18n.__)('Configure overlay menu'),
379
410
  value: overlayMenu,
380
411
  help: (0, _i18n.__)('Collapses the navigation options in a menu icon opening an overlay.'),
@@ -451,33 +482,40 @@ function Navigation(_ref) {
451
482
  const hasUnsavedBlocks = hasUncontrolledInnerBlocks && !isEntityAvailable;
452
483
 
453
484
  if (hasUnsavedBlocks) {
454
- return (0, _element.createElement)(TagName, blockProps, (0, _element.createElement)(_blockEditor.BlockControls, null, (0, _element.createElement)(_components.ToolbarGroup, {
455
- className: "wp-block-navigation__toolbar-menu-selector"
485
+ return (0, _element.createElement)(TagName, blockProps, (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
486
+ title: (0, _i18n.__)('Menu')
456
487
  }, (0, _element.createElement)(_navigationMenuSelector.default, {
457
- ref: null,
458
- currentMenuId: null,
488
+ currentMenuId: ref,
459
489
  clientId: clientId,
460
490
  onSelectNavigationMenu: menuId => {
461
491
  handleUpdateMenu(menuId);
462
- setShouldFocusNavigationSelector(true);
463
492
  },
464
493
  onSelectClassicMenu: async classicMenu => {
465
494
  const navMenu = await convertClassicMenu(classicMenu.id, classicMenu.name);
466
495
 
467
496
  if (navMenu) {
468
- handleUpdateMenu(navMenu.id);
469
- setShouldFocusNavigationSelector(true);
497
+ handleUpdateMenu(navMenu.id, {
498
+ focusNavigationBlock: true
499
+ });
470
500
  }
471
501
  },
472
- onCreateNew: () => createNavigationMenu('', [])
502
+ onCreateNew: createUntitledEmptyNavigationMenu,
503
+ createNavigationMenuIsSuccess: createNavigationMenuIsSuccess
473
504
  /* translators: %s: The name of a menu. */
474
505
  ,
475
- actionLabel: (0, _i18n.__)("Switch to '%s'"),
476
- showManageActions: true
477
- }))), stylingInspectorControls, (0, _element.createElement)(_responsiveWrapper.default, {
506
+ actionLabel: (0, _i18n.__)("Switch to '%s'")
507
+ }), (0, _element.createElement)(_components.Button, {
508
+ variant: "link",
509
+ disabled: !hasManagePermissions || !hasResolvedNavigationMenus,
510
+ href: (0, _url.addQueryArgs)('edit.php', {
511
+ post_type: 'wp_navigation'
512
+ })
513
+ }, (0, _i18n.__)('Manage menus')))), stylingInspectorControls, (0, _element.createElement)(_responsiveWrapper.default, {
478
514
  id: clientId,
479
515
  onToggle: setResponsiveMenuVisibility,
480
516
  isOpen: isResponsiveMenuOpen,
517
+ hasIcon: hasIcon,
518
+ icon: icon,
481
519
  isResponsive: 'never' !== overlayMenu,
482
520
  isHiddenByDefault: 'always' === overlayMenu,
483
521
  overlayBackgroundColor: overlayBackgroundColor,
@@ -501,31 +539,36 @@ function Navigation(_ref) {
501
539
 
502
540
 
503
541
  if (ref && isNavigationMenuMissing) {
504
- return (0, _element.createElement)(TagName, blockProps, (0, _element.createElement)(_blockEditor.BlockControls, null, (0, _element.createElement)(_components.ToolbarGroup, {
505
- className: "wp-block-navigation__toolbar-menu-selector"
542
+ return (0, _element.createElement)(TagName, blockProps, (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
543
+ title: (0, _i18n.__)('Menu')
506
544
  }, (0, _element.createElement)(_navigationMenuSelector.default, {
507
- ref: navigationSelectorRef,
508
- currentMenuId: ref,
545
+ currentMenuId: null,
509
546
  clientId: clientId,
510
547
  onSelectNavigationMenu: menuId => {
511
548
  handleUpdateMenu(menuId);
512
- setShouldFocusNavigationSelector(true);
513
549
  },
514
550
  onSelectClassicMenu: async classicMenu => {
515
551
  const navMenu = await convertClassicMenu(classicMenu.id, classicMenu.name);
516
552
 
517
553
  if (navMenu) {
518
- handleUpdateMenu(navMenu.id);
519
- setShouldFocusNavigationSelector(true);
554
+ handleUpdateMenu(navMenu.id, {
555
+ focusNavigationBlock: true
556
+ });
520
557
  }
521
558
  },
522
- onCreateNew: () => createNavigationMenu('', [])
559
+ onCreateNew: createUntitledEmptyNavigationMenu,
560
+ createNavigationMenuIsSuccess: createNavigationMenuIsSuccess
523
561
  /* translators: %s: The name of a menu. */
524
562
  ,
525
- actionLabel: (0, _i18n.__)("Switch to '%s'"),
526
- showManageActions: true
527
- }))), (0, _element.createElement)(_blockEditor.Warning, null, (0, _i18n.__)('Navigation menu has been deleted or is unavailable. '), (0, _element.createElement)(_components.Button, {
528
- onClick: () => createNavigationMenu('', []),
563
+ actionLabel: (0, _i18n.__)("Switch to '%s'")
564
+ }), (0, _element.createElement)(_components.Button, {
565
+ variant: "link",
566
+ disabled: !hasManagePermissions || !hasResolvedNavigationMenus,
567
+ href: (0, _url.addQueryArgs)('edit.php', {
568
+ post_type: 'wp_navigation'
569
+ })
570
+ }, (0, _i18n.__)('Manage menus')))), (0, _element.createElement)(_blockEditor.Warning, null, (0, _i18n.__)('Navigation menu has been deleted or is unavailable. '), (0, _element.createElement)(_components.Button, {
571
+ onClick: createUntitledEmptyNavigationMenu,
529
572
  variant: "link"
530
573
  }, (0, _i18n.__)('Create a new menu?'))));
531
574
  }
@@ -554,17 +597,17 @@ function Navigation(_ref) {
554
597
  isResolvingCanUserCreateNavigationMenu: isResolvingCanUserCreateNavigationMenu,
555
598
  onSelectNavigationMenu: menuId => {
556
599
  handleUpdateMenu(menuId);
557
- setShouldFocusNavigationSelector(true);
558
600
  },
559
601
  onSelectClassicMenu: async classicMenu => {
560
602
  const navMenu = await convertClassicMenu(classicMenu.id, classicMenu.name);
561
603
 
562
604
  if (navMenu) {
563
- handleUpdateMenu(navMenu.id);
564
- setShouldFocusNavigationSelector(true);
605
+ handleUpdateMenu(navMenu.id, {
606
+ focusNavigationBlock: true
607
+ });
565
608
  }
566
609
  },
567
- onCreateEmpty: () => createNavigationMenu('', [])
610
+ onCreateEmpty: createUntitledEmptyNavigationMenu
568
611
  }));
569
612
  }
570
613
 
@@ -574,30 +617,36 @@ function Navigation(_ref) {
574
617
  id: ref
575
618
  }, (0, _element.createElement)(_blockEditor.__experimentalRecursionProvider, {
576
619
  uniqueId: recursionId
577
- }, (0, _element.createElement)(_blockEditor.BlockControls, null, !isDraftNavigationMenu && isEntityAvailable && (0, _element.createElement)(_components.ToolbarGroup, {
578
- className: "wp-block-navigation__toolbar-menu-selector"
620
+ }, (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
621
+ title: (0, _i18n.__)('Menu')
579
622
  }, (0, _element.createElement)(_navigationMenuSelector.default, {
580
- ref: navigationSelectorRef,
581
623
  currentMenuId: ref,
582
624
  clientId: clientId,
583
625
  onSelectNavigationMenu: menuId => {
584
626
  handleUpdateMenu(menuId);
585
- setShouldFocusNavigationSelector(true);
586
627
  },
587
628
  onSelectClassicMenu: async classicMenu => {
588
629
  const navMenu = await convertClassicMenu(classicMenu.id, classicMenu.name);
589
630
 
590
631
  if (navMenu) {
591
- handleUpdateMenu(navMenu.id);
592
- setShouldFocusNavigationSelector(true);
632
+ handleUpdateMenu(navMenu.id, {
633
+ focusNavigationBlock: true
634
+ });
593
635
  }
594
636
  },
595
- onCreateNew: () => createNavigationMenu('', [])
637
+ onCreateNew: createUntitledEmptyNavigationMenu,
638
+ createNavigationMenuIsSuccess: createNavigationMenuIsSuccess,
639
+ createNavigationMenuIsError: createNavigationMenuIsError
596
640
  /* translators: %s: The name of a menu. */
597
641
  ,
598
- actionLabel: (0, _i18n.__)("Switch to '%s'"),
599
- showManageActions: true
600
- }))), stylingInspectorControls, isEntityAvailable && (0, _element.createElement)(_blockEditor.InspectorControls, {
642
+ actionLabel: (0, _i18n.__)("Switch to '%s'")
643
+ }), (0, _element.createElement)(_components.Button, {
644
+ variant: "link",
645
+ disabled: !hasManagePermissions || !hasResolvedNavigationMenus,
646
+ href: (0, _url.addQueryArgs)('edit.php', {
647
+ post_type: 'wp_navigation'
648
+ })
649
+ }, (0, _i18n.__)('Manage menus')))), stylingInspectorControls, isEntityAvailable && (0, _element.createElement)(_blockEditor.InspectorControls, {
601
650
  __experimentalGroup: "advanced"
602
651
  }, hasResolvedCanUserUpdateNavigationMenu && canUserUpdateNavigationMenu && (0, _element.createElement)(_navigationMenuNameControl.default, null), hasResolvedCanUserDeleteNavigationMenu && canUserDeleteNavigationMenu && (0, _element.createElement)(_navigationMenuDeleteControl.default, {
603
652
  onDelete: function () {
@@ -613,6 +662,7 @@ function Navigation(_ref) {
613
662
  onToggle: setResponsiveMenuVisibility,
614
663
  label: (0, _i18n.__)('Menu'),
615
664
  hasIcon: hasIcon,
665
+ icon: icon,
616
666
  isOpen: isResponsiveMenuOpen,
617
667
  isResponsive: isResponsive,
618
668
  isHiddenByDefault: 'always' === overlayMenu,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"names":["Navigation","attributes","setAttributes","clientId","isSelected","className","backgroundColor","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","hasSubmenuIndicatorSetting","hasColorSettings","customPlaceholder","CustomPlaceholder","openSubmenusOnClick","overlayMenu","showSubmenuIcon","layout","justifyContent","orientation","flexWrap","hasIcon","ref","setRef","postId","recursionId","hasAlreadyRendered","showNavigationMenuStatusNotice","hideNavigationMenuStatusNotice","name","showClassicMenuConversionNotice","hideClassicMenuConversionNotice","showNavigationMenuPermissionsNotice","hideNavigationMenuPermissionsNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isPending","isCreatingNavigationMenu","isSuccess","createNavigationMenuIsSuccess","isError","createNavigationMenuIsError","id","selectBlock","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","innerBlocks","hasSubmenus","find","block","replaceInnerBlocks","__unstableMarkNextChangeAsNotPersistent","blockEditorStore","hasSavedUnsavedInnerBlocks","setHasSavedUnsavedInnerBlocks","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","navigationMenus","navigationMenu","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","hasResolvedCanUserCreateNavigationMenu","navMenuResolvedButMissing","length","sort","menuA","menuB","menuADate","Date","date","menuBDate","getTime","navRef","isDraftNavigationMenu","convert","convertClassicMenu","classicMenuConversionStatus","classicMenuConversionError","isConvertingClassicMenu","CLASSIC_MENU_CONVERSION_PENDING","TagName","isPlaceholder","isEntityAvailable","isLoading","textDecoration","style","typography","hasBlockOverlay","blockProps","color","class","slug","enableContrastChecking","Platform","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","handleUpdateMenu","menuId","CLASSIC_MENU_CONVERSION_SUCCESS","CLASSIC_MENU_CONVERSION_ERROR","current","subMenuElement","querySelector","navigationSelectorRef","shouldFocusNavigationSelector","setShouldFocusNavigationSelector","focus","isResponsive","overlayMenuPreviewClasses","open","stylingInspectorControls","close","onChange","label","hasUnsavedBlocks","classicMenu","navMenu","post","PlaceholderComponent","Placeholder","deletedMenuTitle"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect, useRef, Platform } from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n\tstore as blockEditorStore,\n\twithColors,\n\tPanelColorSettings,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalUseBlockOverlayActive as useBlockOverlayActive,\n} from '@wordpress/block-editor';\nimport { EntityProvider } from '@wordpress/core-data';\n\nimport { useDispatch } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToolbarGroup,\n\tButton,\n\tSpinner,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { createBlock } from '@wordpress/blocks';\nimport { close, Icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuSelector from './navigation-menu-selector';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuIcon from './overlay-menu-icon';\nimport useConvertClassicToBlockMenu, {\n\tCLASSIC_MENU_CONVERSION_ERROR,\n\tCLASSIC_MENU_CONVERSION_PENDING,\n\tCLASSIC_MENU_CONVERSION_SUCCESS,\n} from './use-convert-classic-menu-to-block-menu';\nimport useCreateNavigationMenu from './use-create-navigation-menu';\nimport { useInnerBlocks } from './use-inner-blocks';\nimport { detectColors } from './utils';\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\thasColorSettings = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst setRef = ( postId ) => {\n\t\tsetAttributes( { ref: postId } );\n\t};\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\tconst hasAlreadyRendered = useHasRecursion( recursionId );\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tuseNavigationEntities();\n\n\tconst [ showNavigationMenuStatusNotice, hideNavigationMenuStatusNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/status',\n\t\t} );\n\n\tconst [ showClassicMenuConversionNotice, hideClassicMenuConversionNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/classic-menu-conversion',\n\t\t} );\n\n\tconst [\n\t\tshowNavigationMenuPermissionsNotice,\n\t\thideNavigationMenuPermissionsNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t\tisPending: isCreatingNavigationMenu,\n\t\tisSuccess: createNavigationMenuIsSuccess,\n\t\tisError: createNavigationMenuIsError,\n\t} = useCreateNavigationMenu( clientId );\n\n\tuseEffect( () => {\n\t\thideNavigationMenuStatusNotice();\n\n\t\tif ( isCreatingNavigationMenu ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuIsSuccess ) {\n\t\t\tsetRef( createNavigationMenuPost.id );\n\t\t\tselectBlock( clientId );\n\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuIsError ) {\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenu,\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost,\n\t] );\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\tinnerBlocks,\n\t} = useInnerBlocks( clientId );\n\n\tconst hasSubmenus = !! innerBlocks.find(\n\t\t( block ) => block.name === 'core/navigation-submenu'\n\t);\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [ hasSavedUnsavedInnerBlocks, setHasSavedUnsavedInnerBlocks ] =\n\t\tuseState( false );\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] =\n\t\tuseState( false );\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tnavigationMenus,\n\t\tnavigationMenu,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\tisResolvingCanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t} = useNavigationMenu( ref );\n\n\tconst navMenuResolvedButMissing =\n\t\thasResolvedNavigationMenus && isNavigationMenuMissing;\n\n\t// Attempt to retrieve and prioritize any existing navigation menu unless:\n\t// - the are uncontrolled inner blocks already present in the block.\n\t// - the user is creating a new menu.\n\t// - there are no menus to choose from.\n\t// This attempts to pick the first menu if there is a single Navigation Post. If more\n\t// than 1 exists then use the most recent.\n\t// The aim is for the block to \"just work\" from a user perspective using existing data.\n\tuseEffect( () => {\n\t\tif (\n\t\t\thasUncontrolledInnerBlocks ||\n\t\t\tisCreatingNavigationMenu ||\n\t\t\tref ||\n\t\t\t! navigationMenus?.length\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tnavigationMenus.sort( ( menuA, menuB ) => {\n\t\t\tconst menuADate = new Date( menuA.date );\n\t\t\tconst menuBDate = new Date( menuB.date );\n\t\t\treturn menuADate.getTime() < menuBDate.getTime();\n\t\t} );\n\n\t\t/**\n\t\t * This fallback displays (both in editor and on front)\n\t\t * a list of pages only if no menu (user assigned or\n\t\t * automatically picked) is available.\n\t\t * The fallback should not request a save (entity dirty state)\n\t\t * nor to be undoable, hence why it is marked as non persistent\n\t\t */\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( navigationMenus[ 0 ].id );\n\t}, [ navigationMenus ] );\n\n\tconst navRef = useRef();\n\n\tconst isDraftNavigationMenu = navigationMenu?.status === 'draft';\n\n\tconst {\n\t\tconvert: convertClassicMenu,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t} = useConvertClassicToBlockMenu( clientId );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\t// The standard HTML5 tag for the block wrapper.\n\tconst TagName = 'nav';\n\n\t// \"placeholder\" shown if:\n\t// - there is no ref attribute pointing to a Navigation Post.\n\t// - there is no classic menu conversion process in progress.\n\t// - there is no menu creation process in progress.\n\t// - there are no uncontrolled blocks.\n\tconst isPlaceholder =\n\t\t! ref &&\n\t\t! isCreatingNavigationMenu &&\n\t\t! isConvertingClassicMenu &&\n\t\thasResolvedNavigationMenus &&\n\t\t! hasUncontrolledInnerBlocks;\n\n\tif ( isPlaceholder && ! ref ) {\n\t\t/**\n\t\t * this fallback only displays (both in editor and on front)\n\t\t * the list of pages block if no menu is available as a fallback.\n\t\t * We don't want the fallback to request a save,\n\t\t * nor to be undoable, hence we mark it non persistent.\n\t\t */\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\treplaceInnerBlocks( clientId, [ createBlock( 'core/page-list' ) ] );\n\t}\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\t// \"loading\" state:\n\t// - there is a menu creation process in progress.\n\t// - there is a classic menu conversion process in progress.\n\t// OR:\n\t// - there is a ref attribute pointing to a Navigation Post\n\t// - the Navigation Post isn't available (hasn't resolved) yet.\n\tconst isLoading =\n\t\t! hasResolvedNavigationMenus ||\n\t\tisCreatingNavigationMenu ||\n\t\tisConvertingClassicMenu ||\n\t\t!! ( ref && ! isEntityAvailable && ! isConvertingClassicMenu );\n\n\tconst textDecoration = attributes.style?.typography?.textDecoration;\n\n\tconst hasBlockOverlay = useBlockOverlayActive( clientId );\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: classnames( className, {\n\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t'items-justified-space-between': justifyContent === 'space-between',\n\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t'is-responsive': 'never' !== overlayMenu,\n\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t[ getColorClassName( 'color', textColor?.slug ) ]:\n\t\t\t\t!! textColor?.slug,\n\t\t\t'has-background': !! backgroundColor.color || backgroundColor.class,\n\t\t\t[ getColorClassName( 'background-color', backgroundColor?.slug ) ]:\n\t\t\t\t!! backgroundColor?.slug,\n\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t\t'block-editor-block-content-overlay': hasBlockOverlay,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\tconst handleUpdateMenu = ( menuId ) => {\n\t\tsetRef( menuId );\n\t\tselectBlock( clientId );\n\t};\n\n\tuseEffect( () => {\n\t\thideClassicMenuConversionNotice();\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu imported successfully.' )\n\t\t\t);\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu import failed.' )\n\t\t\t);\n\t\t}\n\t}, [ classicMenuConversionStatus, classicMenuConversionError ] );\n\n\t// Spacer block needs orientation from context. This is a patch until\n\t// https://github.com/WordPress/gutenberg/issues/36197 is addressed.\n\tuseEffect( () => {\n\t\tif ( orientation ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { orientation } );\n\t\t}\n\t}, [ orientation ] );\n\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-link\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\t\tif ( subMenuElement ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideNavigationMenuPermissionsNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\tref &&\n\t\t\t\t! navMenuResolvedButMissing &&\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenu &&\n\t\t\t\t! canUserCreateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t\tref,\n\t] );\n\n\tconst navigationSelectorRef = useRef();\n\tconst [ shouldFocusNavigationSelector, setShouldFocusNavigationSelector ] =\n\t\tuseState( false );\n\n\t// Focus support after menu selection.\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisDraftNavigationMenu ||\n\t\t\t! isEntityAvailable ||\n\t\t\t! shouldFocusNavigationSelector\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tnavigationSelectorRef?.current?.focus();\n\t\tsetShouldFocusNavigationSelector( false );\n\t}, [\n\t\tisDraftNavigationMenu,\n\t\tisEntityAvailable,\n\t\tshouldFocusNavigationSelector,\n\t] );\n\n\tconst isResponsive = 'never' !== overlayMenu;\n\n\tconst overlayMenuPreviewClasses = classnames(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tconst stylingInspectorControls = (\n\t\t<InspectorControls>\n\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetOverlayMenuPreview( ! overlayMenuPreview );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ hasIcon && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<OverlayMenuIcon />\n\t\t\t\t\t\t\t\t\t<Icon icon={ close } />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t<span>{ __( 'Close' ) }</span>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show icon button' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Configure the visual appearance of the button opening and closing the overlay menu.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { hasIcon: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ hasIcon }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdisabled={ attributes.openSubmenusOnClick }\n\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t\t{ hasColorSettings && (\n\t\t\t\t<PanelColorSettings\n\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\tcolorSettings={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: textColor.color,\n\t\t\t\t\t\t\tonChange: setTextColor,\n\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: backgroundColor.color,\n\t\t\t\t\t\t\tonChange: setBackgroundColor,\n\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: overlayTextColor.color,\n\t\t\t\t\t\t\tonChange: setOverlayTextColor,\n\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\tonChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelColorSettings>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n\n\t// If the block has inner blocks, but no menu id, then these blocks are either:\n\t// - inserted via a pattern.\n\t// - inserted directly via Code View (or otherwise).\n\t// - from an older version of navigation block added before the block used a wp_navigation entity.\n\t// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu as an entity when changes are made to the inner blocks.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\tif ( hasUnsavedBlocks ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup className=\"wp-block-navigation__toolbar-menu-selector\">\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tref={ null }\n\t\t\t\t\t\t\tcurrentMenuId={ null }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\t\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\t\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\t\t\t\t\tclassicMenu.name\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif ( navMenu ) {\n\t\t\t\t\t\t\t\t\thandleUpdateMenu( navMenu.id );\n\t\t\t\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonCreateNew={ () => createNavigationMenu( '', [] ) }\n\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t\t\t\t\tshowManageActions\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t\t{ stylingInspectorControls }\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\tisResponsive={ 'never' !== overlayMenu }\n\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t\thasSavedUnsavedInnerBlocks={\n\t\t\t\t\t\t\thasSavedUnsavedInnerBlocks\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSave={ ( post ) => {\n\t\t\t\t\t\t\t// Set some state used as a guard to prevent the creation of multiple posts.\n\t\t\t\t\t\t\tsetHasSavedUnsavedInnerBlocks( true );\n\t\t\t\t\t\t\t// Switch to using the wp_navigation entity.\n\t\t\t\t\t\t\tsetRef( post.id );\n\n\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t__( `New Navigation Menu created.` )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup className=\"wp-block-navigation__toolbar-menu-selector\">\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tref={ navigationSelectorRef }\n\t\t\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\t\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\t\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\t\t\t\t\tclassicMenu.name\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif ( navMenu ) {\n\t\t\t\t\t\t\t\t\thandleUpdateMenu( navMenu.id );\n\t\t\t\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonCreateNew={ () => createNavigationMenu( '', [] ) }\n\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t\t\t\t\tshowManageActions\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Navigation menu has been deleted or is unavailable. '\n\t\t\t\t\t) }\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ () => createNavigationMenu( '', [] ) }\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Create a new menu?' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\t/**\n\t * Historically the navigation block has supported custom placeholders.\n\t * Even though the current UX tries as hard as possible not to\n\t * end up in a placeholder state, the block continues to support\n\t * this extensibility point, via a CustomPlaceholder.\n\t * When CustomPlaceholder is present it becomes the default fallback\n\t * for an empty navigation block, instead of the default fallbacks.\n\t *\n\t */\n\n\tif ( isPlaceholder && CustomPlaceholder ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<PlaceholderComponent\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcanUserCreateNavigationMenu={ canUserCreateNavigationMenu }\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenu={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenu\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t} }\n\t\t\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\t\t\tclassicMenu.name\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( navMenu ) {\n\t\t\t\t\t\t\thandleUpdateMenu( navMenu.id );\n\t\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tonCreateEmpty={ () => createNavigationMenu( '', [] ) }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider uniqueId={ recursionId }>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ ! isDraftNavigationMenu && isEntityAvailable && (\n\t\t\t\t\t\t<ToolbarGroup className=\"wp-block-navigation__toolbar-menu-selector\">\n\t\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\t\tref={ navigationSelectorRef }\n\t\t\t\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\t\t\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\t\t\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\t\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\t\t\t\t\t\tclassicMenu.name\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tif ( navMenu ) {\n\t\t\t\t\t\t\t\t\t\thandleUpdateMenu( navMenu.id );\n\t\t\t\t\t\t\t\t\t\tsetShouldFocusNavigationSelector(\n\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tonCreateNew={ () =>\n\t\t\t\t\t\t\t\t\tcreateNavigationMenu( '', [] )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t\t\t\t\t\tshowManageActions\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t\t{ stylingInspectorControls }\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ ( deletedMenuTitle = '' ) => {\n\t\t\t\t\t\t\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Navigation menu %s successfully deleted.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tdeletedMenuTitle\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\n\t\t\t\t{ isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\n\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\tlabel={ __( 'Menu' ) }\n\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"names":["Navigation","attributes","setAttributes","clientId","isSelected","className","backgroundColor","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","hasSubmenuIndicatorSetting","hasColorSettings","customPlaceholder","CustomPlaceholder","openSubmenusOnClick","overlayMenu","showSubmenuIcon","layout","justifyContent","orientation","flexWrap","hasIcon","icon","ref","setRef","postId","recursionId","hasAlreadyRendered","editEntityRecord","coreStore","showNavigationMenuStatusNotice","hideNavigationMenuStatusNotice","name","showClassicMenuConversionNotice","hideClassicMenuConversionNotice","showMenuAutoPublishDraftNotice","hideMenuAutoPublishDraftNotice","showNavigationMenuPermissionsNotice","hideNavigationMenuPermissionsNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isPending","isCreatingNavigationMenu","isSuccess","createNavigationMenuIsSuccess","isError","createNavigationMenuIsError","createUntitledEmptyNavigationMenu","handleUpdateMenu","id","focusNavigationBlock","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","innerBlocks","hasSubmenus","find","block","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","blockEditorStore","hasSavedUnsavedInnerBlocks","setHasSavedUnsavedInnerBlocks","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","navigationMenus","navigationMenu","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","hasResolvedCanUserCreateNavigationMenu","navMenuResolvedButMissing","length","sort","menuA","menuB","menuADate","Date","date","menuBDate","getTime","fallbackNavigationMenus","filter","menu","navRef","convert","convertClassicMenu","classicMenuConversionStatus","classicMenuConversionError","isConvertingClassicMenu","CLASSIC_MENU_CONVERSION_PENDING","TagName","isPlaceholder","isEntityAvailable","isLoading","textDecoration","style","typography","hasBlockOverlay","blockProps","color","class","slug","enableContrastChecking","Platform","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","menuId","options","CLASSIC_MENU_CONVERSION_SUCCESS","CLASSIC_MENU_CONVERSION_ERROR","current","subMenuElement","querySelector","hasManagePermissions","isResponsive","overlayMenuPreviewClasses","open","isDraftNavigationMenu","throwOnError","stylingInspectorControls","close","onChange","label","hasUnsavedBlocks","classicMenu","navMenu","post_type","post","PlaceholderComponent","Placeholder","deletedMenuTitle"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect, useRef, Platform } from '@wordpress/element';\nimport { addQueryArgs } from '@wordpress/url';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n\tstore as blockEditorStore,\n\twithColors,\n\tPanelColorSettings,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalUseBlockOverlayActive as useBlockOverlayActive,\n} from '@wordpress/block-editor';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\n\nimport { useDispatch } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tButton,\n\tSpinner,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { createBlock } from '@wordpress/blocks';\nimport { close, Icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuSelector from './navigation-menu-selector';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuIcon from './overlay-menu-icon';\nimport OverlayMenuPreview from './overlay-menu-preview';\nimport useConvertClassicToBlockMenu, {\n\tCLASSIC_MENU_CONVERSION_ERROR,\n\tCLASSIC_MENU_CONVERSION_PENDING,\n\tCLASSIC_MENU_CONVERSION_SUCCESS,\n} from './use-convert-classic-menu-to-block-menu';\nimport useCreateNavigationMenu from './use-create-navigation-menu';\nimport { useInnerBlocks } from './use-inner-blocks';\nimport { detectColors } from './utils';\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\thasColorSettings = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t\ticon = 'handle',\n\t} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst setRef = ( postId ) => {\n\t\tsetAttributes( { ref: postId } );\n\t};\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\tconst hasAlreadyRendered = useHasRecursion( recursionId );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tuseNavigationEntities();\n\n\tconst [ showNavigationMenuStatusNotice, hideNavigationMenuStatusNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/status',\n\t\t} );\n\n\tconst [ showClassicMenuConversionNotice, hideClassicMenuConversionNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/classic-menu-conversion',\n\t\t} );\n\n\tconst [ showMenuAutoPublishDraftNotice, hideMenuAutoPublishDraftNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/auto-publish-draft',\n\t\t} );\n\n\tconst [\n\t\tshowNavigationMenuPermissionsNotice,\n\t\thideNavigationMenuPermissionsNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t\tisPending: isCreatingNavigationMenu,\n\t\tisSuccess: createNavigationMenuIsSuccess,\n\t\tisError: createNavigationMenuIsError,\n\t} = useCreateNavigationMenu( clientId );\n\n\tconst createUntitledEmptyNavigationMenu = () => {\n\t\tcreateNavigationMenu( '' );\n\t};\n\n\tuseEffect( () => {\n\t\thideNavigationMenuStatusNotice();\n\n\t\tif ( isCreatingNavigationMenu ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuIsSuccess ) {\n\t\t\thandleUpdateMenu( createNavigationMenuPost.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuIsError ) {\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost,\n\t] );\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\tinnerBlocks,\n\t} = useInnerBlocks( clientId );\n\n\tconst hasSubmenus = !! innerBlocks.find(\n\t\t( block ) => block.name === 'core/navigation-submenu'\n\t);\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [ hasSavedUnsavedInnerBlocks, setHasSavedUnsavedInnerBlocks ] =\n\t\tuseState( false );\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] =\n\t\tuseState( false );\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tnavigationMenus,\n\t\tnavigationMenu,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\tisResolvingCanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t} = useNavigationMenu( ref );\n\n\tconst navMenuResolvedButMissing =\n\t\thasResolvedNavigationMenus && isNavigationMenuMissing;\n\n\t// Attempt to retrieve and prioritize any existing navigation menu unless:\n\t// - the are uncontrolled inner blocks already present in the block.\n\t// - the user is creating a new menu.\n\t// - there are no menus to choose from.\n\t// This attempts to pick the first menu if there is a single Navigation Post. If more\n\t// than 1 exists then use the most recent.\n\t// The aim is for the block to \"just work\" from a user perspective using existing data.\n\tuseEffect( () => {\n\t\tif (\n\t\t\thasUncontrolledInnerBlocks ||\n\t\t\tisCreatingNavigationMenu ||\n\t\t\tref ||\n\t\t\t! navigationMenus?.length\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tnavigationMenus.sort( ( menuA, menuB ) => {\n\t\t\tconst menuADate = new Date( menuA.date );\n\t\t\tconst menuBDate = new Date( menuB.date );\n\t\t\treturn menuADate.getTime() < menuBDate.getTime();\n\t\t} );\n\n\t\t// Only autofallback to published menus.\n\t\tconst fallbackNavigationMenus = navigationMenus.filter(\n\t\t\t( menu ) => menu.status === 'publish'\n\t\t);\n\t\tif ( fallbackNavigationMenus.length === 0 ) return;\n\n\t\t/**\n\t\t * This fallback displays (both in editor and on front)\n\t\t * a list of pages only if no menu (user assigned or\n\t\t * automatically picked) is available.\n\t\t * The fallback should not request a save (entity dirty state)\n\t\t * nor to be undoable, hence why it is marked as non persistent\n\t\t */\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( fallbackNavigationMenus[ 0 ].id );\n\t}, [ navigationMenus ] );\n\n\tconst navRef = useRef();\n\n\tconst {\n\t\tconvert: convertClassicMenu,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t} = useConvertClassicToBlockMenu( clientId );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\t// The standard HTML5 tag for the block wrapper.\n\tconst TagName = 'nav';\n\n\t// \"placeholder\" shown if:\n\t// - there is no ref attribute pointing to a Navigation Post.\n\t// - there is no classic menu conversion process in progress.\n\t// - there is no menu creation process in progress.\n\t// - there are no uncontrolled blocks.\n\tconst isPlaceholder =\n\t\t! ref &&\n\t\t! isCreatingNavigationMenu &&\n\t\t! isConvertingClassicMenu &&\n\t\thasResolvedNavigationMenus &&\n\t\t! hasUncontrolledInnerBlocks;\n\n\tif ( isPlaceholder && ! ref ) {\n\t\t/**\n\t\t * this fallback only displays (both in editor and on front)\n\t\t * the list of pages block if no menu is available as a fallback.\n\t\t * We don't want the fallback to request a save,\n\t\t * nor to be undoable, hence we mark it non persistent.\n\t\t */\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\treplaceInnerBlocks( clientId, [ createBlock( 'core/page-list' ) ] );\n\t}\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\t// \"loading\" state:\n\t// - there is a menu creation process in progress.\n\t// - there is a classic menu conversion process in progress.\n\t// OR:\n\t// - there is a ref attribute pointing to a Navigation Post\n\t// - the Navigation Post isn't available (hasn't resolved) yet.\n\tconst isLoading =\n\t\t! hasResolvedNavigationMenus ||\n\t\tisCreatingNavigationMenu ||\n\t\tisConvertingClassicMenu ||\n\t\t!! ( ref && ! isEntityAvailable && ! isConvertingClassicMenu );\n\n\tconst textDecoration = attributes.style?.typography?.textDecoration;\n\n\tconst hasBlockOverlay = useBlockOverlayActive( clientId );\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: classnames( className, {\n\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t'items-justified-space-between': justifyContent === 'space-between',\n\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t'is-responsive': 'never' !== overlayMenu,\n\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t[ getColorClassName( 'color', textColor?.slug ) ]:\n\t\t\t\t!! textColor?.slug,\n\t\t\t'has-background': !! backgroundColor.color || backgroundColor.class,\n\t\t\t[ getColorClassName( 'background-color', backgroundColor?.slug ) ]:\n\t\t\t\t!! backgroundColor?.slug,\n\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t\t'block-editor-block-content-overlay': hasBlockOverlay,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\tconst handleUpdateMenu = (\n\t\tmenuId,\n\t\toptions = { focusNavigationBlock: false }\n\t) => {\n\t\tconst { focusNavigationBlock } = options;\n\t\tsetRef( menuId );\n\t\tif ( focusNavigationBlock ) {\n\t\t\tselectBlock( clientId );\n\t\t}\n\t};\n\n\tuseEffect( () => {\n\t\thideClassicMenuConversionNotice();\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu imported successfully.' )\n\t\t\t);\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu import failed.' )\n\t\t\t);\n\t\t}\n\t}, [ classicMenuConversionStatus, classicMenuConversionError ] );\n\n\t// Spacer block needs orientation from context. This is a patch until\n\t// https://github.com/WordPress/gutenberg/issues/36197 is addressed.\n\tuseEffect( () => {\n\t\tif ( orientation ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { orientation } );\n\t\t}\n\t}, [ orientation ] );\n\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-link\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\t\tif ( subMenuElement ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideNavigationMenuPermissionsNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\tref &&\n\t\t\t\t! navMenuResolvedButMissing &&\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenu &&\n\t\t\t\t! canUserCreateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t\tref,\n\t] );\n\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenu || canUserUpdateNavigationMenu;\n\tconst isResponsive = 'never' !== overlayMenu;\n\n\tconst overlayMenuPreviewClasses = classnames(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\t// Prompt the user to publish the menu they have set as a draft\n\tconst isDraftNavigationMenu = navigationMenu?.status === 'draft';\n\tuseEffect( async () => {\n\t\thideMenuAutoPublishDraftNotice();\n\t\tif ( ! isDraftNavigationMenu ) return;\n\t\ttry {\n\t\t\tawait editEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_navigation',\n\t\t\t\tnavigationMenu?.id,\n\t\t\t\t{\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\t\t} catch {\n\t\t\tshowMenuAutoPublishDraftNotice(\n\t\t\t\t__( 'Error ocurred while publishing the navigation menu.' )\n\t\t\t);\n\t\t}\n\t}, [ isDraftNavigationMenu, navigationMenu ] );\n\n\tconst stylingInspectorControls = (\n\t\t<InspectorControls>\n\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ hasIcon && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<OverlayMenuIcon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ close } />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Close' ) }</span>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t<OverlayMenuPreview\n\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdisabled={ attributes.openSubmenusOnClick }\n\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t\t{ hasColorSettings && (\n\t\t\t\t<PanelColorSettings\n\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\tcolorSettings={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: textColor.color,\n\t\t\t\t\t\t\tonChange: setTextColor,\n\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: backgroundColor.color,\n\t\t\t\t\t\t\tonChange: setBackgroundColor,\n\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: overlayTextColor.color,\n\t\t\t\t\t\t\tonChange: setOverlayTextColor,\n\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\tonChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelColorSettings>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n\n\t// If the block has inner blocks, but no menu id, then these blocks are either:\n\t// - inserted via a pattern.\n\t// - inserted directly via Code View (or otherwise).\n\t// - from an older version of navigation block added before the block used a wp_navigation entity.\n\t// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu as an entity when changes are made to the inner blocks.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\tif ( hasUnsavedBlocks ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Menu' ) }>\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\t\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\t\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\t\t\t\t\tclassicMenu.name\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif ( navMenu ) {\n\t\t\t\t\t\t\t\t\thandleUpdateMenu( navMenu.id, {\n\t\t\t\t\t\t\t\t\t\tfocusNavigationBlock: true,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t! hasManagePermissions ||\n\t\t\t\t\t\t\t\t! hasResolvedNavigationMenus\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thref={ addQueryArgs( 'edit.php', {\n\t\t\t\t\t\t\t\tpost_type: 'wp_navigation',\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Manage menus' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ stylingInspectorControls }\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tisResponsive={ 'never' !== overlayMenu }\n\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t\thasSavedUnsavedInnerBlocks={\n\t\t\t\t\t\t\thasSavedUnsavedInnerBlocks\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSave={ ( post ) => {\n\t\t\t\t\t\t\t// Set some state used as a guard to prevent the creation of multiple posts.\n\t\t\t\t\t\t\tsetHasSavedUnsavedInnerBlocks( true );\n\t\t\t\t\t\t\t// Switch to using the wp_navigation entity.\n\t\t\t\t\t\t\tsetRef( post.id );\n\n\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t__( `New Navigation Menu created.` )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Menu' ) }>\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tcurrentMenuId={ null }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\t\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\t\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\t\t\t\t\tclassicMenu.name\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif ( navMenu ) {\n\t\t\t\t\t\t\t\t\thandleUpdateMenu( navMenu.id, {\n\t\t\t\t\t\t\t\t\t\tfocusNavigationBlock: true,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t! hasManagePermissions ||\n\t\t\t\t\t\t\t\t! hasResolvedNavigationMenus\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thref={ addQueryArgs( 'edit.php', {\n\t\t\t\t\t\t\t\tpost_type: 'wp_navigation',\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Manage menus' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Navigation menu has been deleted or is unavailable. '\n\t\t\t\t\t) }\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Create a new menu?' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\t/**\n\t * Historically the navigation block has supported custom placeholders.\n\t * Even though the current UX tries as hard as possible not to\n\t * end up in a placeholder state, the block continues to support\n\t * this extensibility point, via a CustomPlaceholder.\n\t * When CustomPlaceholder is present it becomes the default fallback\n\t * for an empty navigation block, instead of the default fallbacks.\n\t *\n\t */\n\n\tif ( isPlaceholder && CustomPlaceholder ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<PlaceholderComponent\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcanUserCreateNavigationMenu={ canUserCreateNavigationMenu }\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenu={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenu\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t\t\t} }\n\t\t\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\t\t\tclassicMenu.name\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( navMenu ) {\n\t\t\t\t\t\t\thandleUpdateMenu( navMenu.id, {\n\t\t\t\t\t\t\t\tfocusNavigationBlock: true,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tonCreateEmpty={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider uniqueId={ recursionId }>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Menu' ) }>\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\t\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\t\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\t\t\t\t\tclassicMenu.name\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif ( navMenu ) {\n\t\t\t\t\t\t\t\t\thandleUpdateMenu( navMenu.id, {\n\t\t\t\t\t\t\t\t\t\tfocusNavigationBlock: true,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcreateNavigationMenuIsError={\n\t\t\t\t\t\t\t\tcreateNavigationMenuIsError\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t! hasManagePermissions ||\n\t\t\t\t\t\t\t\t! hasResolvedNavigationMenus\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thref={ addQueryArgs( 'edit.php', {\n\t\t\t\t\t\t\t\tpost_type: 'wp_navigation',\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Manage menus' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ stylingInspectorControls }\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ ( deletedMenuTitle = '' ) => {\n\t\t\t\t\t\t\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Navigation menu %s successfully deleted.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tdeletedMenuTitle\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\n\t\t\t\t{ isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\n\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\tlabel={ __( 'Menu' ) }\n\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"]}