@wordpress/block-library 7.18.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (851) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/audio/edit.native.js +1 -3
  3. package/build/audio/edit.native.js.map +1 -1
  4. package/build/audio/index.js +2 -1
  5. package/build/audio/index.js.map +1 -1
  6. package/build/avatar/edit.js +1 -0
  7. package/build/avatar/edit.js.map +1 -1
  8. package/build/avatar/user-control.js +1 -0
  9. package/build/avatar/user-control.js.map +1 -1
  10. package/build/block/edit.js +14 -2
  11. package/build/block/edit.js.map +1 -1
  12. package/build/block/edit.native.js +14 -6
  13. package/build/block/edit.native.js.map +1 -1
  14. package/build/block/index.js +1 -2
  15. package/build/block/index.js.map +1 -1
  16. package/build/button/deprecated.js +16 -2
  17. package/build/button/deprecated.js.map +1 -1
  18. package/build/button/edit.js +13 -7
  19. package/build/button/edit.js.map +1 -1
  20. package/build/button/edit.native.js.map +1 -1
  21. package/build/button/index.js +4 -1
  22. package/build/button/index.js.map +1 -1
  23. package/build/button/save.js +2 -0
  24. package/build/button/save.js.map +1 -1
  25. package/build/code/transforms.js +1 -1
  26. package/build/code/transforms.js.map +1 -1
  27. package/build/columns/edit.js +1 -0
  28. package/build/columns/edit.js.map +1 -1
  29. package/build/columns/edit.native.js +13 -30
  30. package/build/columns/edit.native.js.map +1 -1
  31. package/build/columns/transforms.js +5 -0
  32. package/build/columns/transforms.js.map +1 -1
  33. package/build/comment-author-avatar/edit.js +1 -0
  34. package/build/comment-author-avatar/edit.js.map +1 -1
  35. package/build/cover/edit/index.js +3 -1
  36. package/build/cover/edit/index.js.map +1 -1
  37. package/build/cover/edit/inspector-controls.js +2 -0
  38. package/build/cover/edit/inspector-controls.js.map +1 -1
  39. package/build/cover/edit.native.js +24 -16
  40. package/build/cover/edit.native.js.map +1 -1
  41. package/build/embed/embed-controls.native.js +1 -0
  42. package/build/embed/embed-controls.native.js.map +1 -1
  43. package/build/embed/embed-preview.native.js +1 -3
  44. package/build/embed/embed-preview.native.js.map +1 -1
  45. package/build/file/inspector.js +1 -0
  46. package/build/file/inspector.js.map +1 -1
  47. package/build/gallery/edit.js +25 -13
  48. package/build/gallery/edit.js.map +1 -1
  49. package/build/gallery/gallery.native.js +1 -3
  50. package/build/gallery/gallery.native.js.map +1 -1
  51. package/build/gallery/shared.js +4 -10
  52. package/build/gallery/shared.js.map +1 -1
  53. package/build/gallery/transforms.js +1 -7
  54. package/build/gallery/transforms.js.map +1 -1
  55. package/build/gallery/use-get-media.js +1 -1
  56. package/build/gallery/use-get-media.js.map +1 -1
  57. package/build/gallery/use-get-media.native.js +3 -1
  58. package/build/gallery/use-get-media.native.js.map +1 -1
  59. package/build/gallery/v1/edit.js +26 -17
  60. package/build/gallery/v1/edit.js.map +1 -1
  61. package/build/gallery/v1/gallery.native.js +1 -3
  62. package/build/gallery/v1/gallery.native.js.map +1 -1
  63. package/build/gallery/v1/shared.js +4 -1
  64. package/build/gallery/v1/shared.js.map +1 -1
  65. package/build/group/edit.js +97 -45
  66. package/build/group/edit.js.map +1 -1
  67. package/build/group/index.js +6 -1
  68. package/build/group/index.js.map +1 -1
  69. package/build/group/placeholder.js +147 -0
  70. package/build/group/placeholder.js.map +1 -0
  71. package/build/group/variations.js +3 -3
  72. package/build/group/variations.js.map +1 -1
  73. package/build/heading/deprecated.js +152 -69
  74. package/build/heading/deprecated.js.map +1 -1
  75. package/build/heading/index.js +1 -2
  76. package/build/heading/index.js.map +1 -1
  77. package/build/heading/transforms.js +1 -2
  78. package/build/heading/transforms.js.map +1 -1
  79. package/build/html/index.js +1 -1
  80. package/build/image/edit.js +8 -5
  81. package/build/image/edit.js.map +1 -1
  82. package/build/image/edit.native.js +3 -2
  83. package/build/image/edit.native.js.map +1 -1
  84. package/build/image/image.js +12 -8
  85. package/build/image/image.js.map +1 -1
  86. package/build/index.js +3 -1
  87. package/build/index.js.map +1 -1
  88. package/build/latest-comments/edit.js +3 -1
  89. package/build/latest-comments/edit.js.map +1 -1
  90. package/build/latest-comments/index.js +5 -1
  91. package/build/latest-comments/index.js.map +1 -1
  92. package/build/latest-posts/deprecated.js +13 -0
  93. package/build/latest-posts/deprecated.js.map +1 -1
  94. package/build/latest-posts/edit.js +2 -0
  95. package/build/latest-posts/edit.js.map +1 -1
  96. package/build/latest-posts/index.js +13 -0
  97. package/build/latest-posts/index.js.map +1 -1
  98. package/build/list/transforms.js +1 -9
  99. package/build/list/transforms.js.map +1 -1
  100. package/build/list/utils.js +5 -2
  101. package/build/list/utils.js.map +1 -1
  102. package/build/list-item/edit.js +2 -1
  103. package/build/list-item/edit.js.map +1 -1
  104. package/build/list-item/index.js +4 -1
  105. package/build/list-item/index.js.map +1 -1
  106. package/build/list-item/transforms.js +22 -0
  107. package/build/list-item/transforms.js.map +1 -0
  108. package/build/list-item/utils.js +77 -1
  109. package/build/list-item/utils.js.map +1 -1
  110. package/build/media-text/edit.js +4 -2
  111. package/build/media-text/edit.js.map +1 -1
  112. package/build/navigation/edit/are-blocks-dirty.js +52 -0
  113. package/build/navigation/edit/are-blocks-dirty.js.map +1 -0
  114. package/build/navigation/edit/index.js +112 -143
  115. package/build/navigation/edit/index.js.map +1 -1
  116. package/build/navigation/edit/manage-menus-button.js +36 -0
  117. package/build/navigation/edit/manage-menus-button.js.map +1 -0
  118. package/build/navigation/edit/menu-inspector-controls.js +72 -0
  119. package/build/navigation/edit/menu-inspector-controls.js.map +1 -0
  120. package/build/navigation/edit/navigation-menu-selector.js +3 -1
  121. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  122. package/build/navigation/edit/responsive-wrapper.js +2 -6
  123. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  124. package/build/navigation/edit/unsaved-inner-blocks.js +15 -25
  125. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  126. package/build/navigation/view-modal.js +6 -2
  127. package/build/navigation/view-modal.js.map +1 -1
  128. package/build/navigation-link/edit.js +52 -299
  129. package/build/navigation-link/edit.js.map +1 -1
  130. package/build/navigation-link/link-ui.js +222 -0
  131. package/build/navigation-link/link-ui.js.map +1 -0
  132. package/build/navigation-link/transforms.js +12 -0
  133. package/build/navigation-link/transforms.js.map +1 -1
  134. package/build/navigation-link/update-attributes.js +108 -0
  135. package/build/navigation-link/update-attributes.js.map +1 -0
  136. package/build/navigation-submenu/edit.js +42 -173
  137. package/build/navigation-submenu/edit.js.map +1 -1
  138. package/build/page-list/constants.js +15 -0
  139. package/build/page-list/constants.js.map +1 -0
  140. package/build/page-list/convert-to-links-modal.js +22 -86
  141. package/build/page-list/convert-to-links-modal.js.map +1 -1
  142. package/build/page-list/convert-to-navigation-links.js +76 -0
  143. package/build/page-list/convert-to-navigation-links.js.map +1 -0
  144. package/build/page-list/edit.js +142 -78
  145. package/build/page-list/edit.js.map +1 -1
  146. package/build/page-list/index.js +6 -1
  147. package/build/page-list/index.js.map +1 -1
  148. package/build/page-list-item/edit.js +87 -0
  149. package/build/page-list-item/edit.js.map +1 -0
  150. package/build/page-list-item/index.js +85 -0
  151. package/build/page-list-item/index.js.map +1 -0
  152. package/build/page-list-item/init.js +16 -0
  153. package/build/page-list-item/init.js.map +1 -0
  154. package/build/paragraph/index.js +1 -7
  155. package/build/paragraph/index.js.map +1 -1
  156. package/build/post-author/edit.js +38 -22
  157. package/build/post-author/edit.js.map +1 -1
  158. package/build/post-content/index.js +3 -0
  159. package/build/post-content/index.js.map +1 -1
  160. package/build/post-featured-image/overlay.js +1 -0
  161. package/build/post-featured-image/overlay.js.map +1 -1
  162. package/build/post-template/index.js +8 -0
  163. package/build/post-template/index.js.map +1 -1
  164. package/build/preformatted/transforms.js +3 -1
  165. package/build/preformatted/transforms.js.map +1 -1
  166. package/build/query/deprecated.js +192 -21
  167. package/build/query/deprecated.js.map +1 -1
  168. package/build/query/edit/inspector-controls/index.js +1 -0
  169. package/build/query/edit/inspector-controls/index.js.map +1 -1
  170. package/build/query/edit/query-placeholder.js +3 -19
  171. package/build/query/edit/query-placeholder.js.map +1 -1
  172. package/build/query/index.js +0 -8
  173. package/build/query/index.js.map +1 -1
  174. package/build/query/utils.js +0 -8
  175. package/build/query/utils.js.map +1 -1
  176. package/build/rss/edit.js +3 -0
  177. package/build/rss/edit.js.map +1 -1
  178. package/build/search/edit.native.js +22 -22
  179. package/build/search/edit.native.js.map +1 -1
  180. package/build/search/index.js +9 -1
  181. package/build/search/index.js.map +1 -1
  182. package/build/site-logo/edit.js +18 -10
  183. package/build/site-logo/edit.js.map +1 -1
  184. package/build/site-logo/index.js +1 -0
  185. package/build/site-logo/index.js.map +1 -1
  186. package/build/site-title/index.js +1 -0
  187. package/build/site-title/index.js.map +1 -1
  188. package/build/social-link/social-list.js +4 -12
  189. package/build/social-link/social-list.js.map +1 -1
  190. package/build/table/edit.js +3 -1
  191. package/build/table/edit.js.map +1 -1
  192. package/build/table/index.js +17 -1
  193. package/build/table/index.js.map +1 -1
  194. package/build/table/save.js +4 -2
  195. package/build/table/save.js.map +1 -1
  196. package/build/table/state.js +24 -12
  197. package/build/table/state.js.map +1 -1
  198. package/build/table/transforms.js +3 -2
  199. package/build/table/transforms.js.map +1 -1
  200. package/build/table-of-contents/edit.js +2 -2
  201. package/build/table-of-contents/edit.js.map +1 -1
  202. package/build/tag-cloud/edit.js +2 -1
  203. package/build/tag-cloud/edit.js.map +1 -1
  204. package/build/template-part/edit/selection-modal.js +5 -2
  205. package/build/template-part/edit/selection-modal.js.map +1 -1
  206. package/build/template-part/edit/utils/hooks.js +2 -6
  207. package/build/template-part/edit/utils/hooks.js.map +1 -1
  208. package/build/template-part/variations.js +5 -0
  209. package/build/template-part/variations.js.map +1 -1
  210. package/build/text-columns/edit.js +1 -0
  211. package/build/text-columns/edit.js.map +1 -1
  212. package/build/utils/transformation-categories.native.js +1 -1
  213. package/build/utils/transformation-categories.native.js.map +1 -1
  214. package/build/video/edit.js +1 -1
  215. package/build/video/edit.js.map +1 -1
  216. package/build/video/edit.native.js +1 -3
  217. package/build/video/edit.native.js.map +1 -1
  218. package/build-module/audio/edit.native.js +1 -2
  219. package/build-module/audio/edit.native.js.map +1 -1
  220. package/build-module/audio/index.js +2 -1
  221. package/build-module/audio/index.js.map +1 -1
  222. package/build-module/avatar/edit.js +1 -0
  223. package/build-module/avatar/edit.js.map +1 -1
  224. package/build-module/avatar/user-control.js +1 -0
  225. package/build-module/avatar/user-control.js.map +1 -1
  226. package/build-module/block/edit.js +14 -2
  227. package/build-module/block/edit.js.map +1 -1
  228. package/build-module/block/edit.native.js +14 -6
  229. package/build-module/block/edit.native.js.map +1 -1
  230. package/build-module/block/index.js +1 -2
  231. package/build-module/block/index.js.map +1 -1
  232. package/build-module/button/deprecated.js +16 -2
  233. package/build-module/button/deprecated.js.map +1 -1
  234. package/build-module/button/edit.js +15 -9
  235. package/build-module/button/edit.js.map +1 -1
  236. package/build-module/button/edit.native.js +2 -1
  237. package/build-module/button/edit.native.js.map +1 -1
  238. package/build-module/button/index.js +4 -1
  239. package/build-module/button/index.js.map +1 -1
  240. package/build-module/button/save.js +2 -0
  241. package/build-module/button/save.js.map +1 -1
  242. package/build-module/code/transforms.js +1 -1
  243. package/build-module/code/transforms.js.map +1 -1
  244. package/build-module/columns/edit.js +1 -0
  245. package/build-module/columns/edit.js.map +1 -1
  246. package/build-module/columns/edit.native.js +13 -29
  247. package/build-module/columns/edit.native.js.map +1 -1
  248. package/build-module/columns/transforms.js +5 -0
  249. package/build-module/columns/transforms.js.map +1 -1
  250. package/build-module/comment-author-avatar/edit.js +1 -0
  251. package/build-module/comment-author-avatar/edit.js.map +1 -1
  252. package/build-module/cover/edit/index.js +3 -1
  253. package/build-module/cover/edit/index.js.map +1 -1
  254. package/build-module/cover/edit/inspector-controls.js +2 -0
  255. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  256. package/build-module/cover/edit.native.js +22 -14
  257. package/build-module/cover/edit.native.js.map +1 -1
  258. package/build-module/embed/embed-controls.native.js +2 -1
  259. package/build-module/embed/embed-controls.native.js.map +1 -1
  260. package/build-module/embed/embed-preview.native.js +1 -2
  261. package/build-module/embed/embed-preview.native.js.map +1 -1
  262. package/build-module/file/inspector.js +1 -0
  263. package/build-module/file/inspector.js.map +1 -1
  264. package/build-module/gallery/edit.js +25 -12
  265. package/build-module/gallery/edit.js.map +1 -1
  266. package/build-module/gallery/gallery.native.js +1 -2
  267. package/build-module/gallery/gallery.native.js.map +1 -1
  268. package/build-module/gallery/shared.js +5 -11
  269. package/build-module/gallery/shared.js.map +1 -1
  270. package/build-module/gallery/transforms.js +1 -6
  271. package/build-module/gallery/transforms.js.map +1 -1
  272. package/build-module/gallery/use-get-media.js +1 -1
  273. package/build-module/gallery/use-get-media.js.map +1 -1
  274. package/build-module/gallery/use-get-media.native.js +3 -1
  275. package/build-module/gallery/use-get-media.native.js.map +1 -1
  276. package/build-module/gallery/v1/edit.js +27 -18
  277. package/build-module/gallery/v1/edit.js.map +1 -1
  278. package/build-module/gallery/v1/gallery.native.js +1 -2
  279. package/build-module/gallery/v1/gallery.native.js.map +1 -1
  280. package/build-module/gallery/v1/shared.js +5 -2
  281. package/build-module/gallery/v1/shared.js.map +1 -1
  282. package/build-module/group/edit.js +92 -45
  283. package/build-module/group/edit.js.map +1 -1
  284. package/build-module/group/index.js +6 -1
  285. package/build-module/group/index.js.map +1 -1
  286. package/build-module/group/placeholder.js +133 -0
  287. package/build-module/group/placeholder.js.map +1 -0
  288. package/build-module/group/variations.js +3 -3
  289. package/build-module/group/variations.js.map +1 -1
  290. package/build-module/heading/deprecated.js +152 -69
  291. package/build-module/heading/deprecated.js.map +1 -1
  292. package/build-module/heading/index.js +1 -2
  293. package/build-module/heading/index.js.map +1 -1
  294. package/build-module/heading/transforms.js +1 -2
  295. package/build-module/heading/transforms.js.map +1 -1
  296. package/build-module/html/index.js +1 -1
  297. package/build-module/image/edit.js +9 -6
  298. package/build-module/image/edit.js.map +1 -1
  299. package/build-module/image/edit.native.js +2 -1
  300. package/build-module/image/edit.native.js.map +1 -1
  301. package/build-module/image/image.js +13 -9
  302. package/build-module/image/image.js.map +1 -1
  303. package/build-module/index.js +2 -1
  304. package/build-module/index.js.map +1 -1
  305. package/build-module/latest-comments/edit.js +3 -1
  306. package/build-module/latest-comments/edit.js.map +1 -1
  307. package/build-module/latest-comments/index.js +5 -1
  308. package/build-module/latest-comments/index.js.map +1 -1
  309. package/build-module/latest-posts/deprecated.js +13 -0
  310. package/build-module/latest-posts/deprecated.js.map +1 -1
  311. package/build-module/latest-posts/edit.js +2 -0
  312. package/build-module/latest-posts/edit.js.map +1 -1
  313. package/build-module/latest-posts/index.js +13 -0
  314. package/build-module/latest-posts/index.js.map +1 -1
  315. package/build-module/list/transforms.js +1 -9
  316. package/build-module/list/transforms.js.map +1 -1
  317. package/build-module/list/utils.js +5 -2
  318. package/build-module/list/utils.js.map +1 -1
  319. package/build-module/list-item/edit.js +2 -1
  320. package/build-module/list-item/edit.js.map +1 -1
  321. package/build-module/list-item/index.js +3 -1
  322. package/build-module/list-item/index.js.map +1 -1
  323. package/build-module/list-item/transforms.js +13 -0
  324. package/build-module/list-item/transforms.js.map +1 -0
  325. package/build-module/list-item/utils.js +78 -1
  326. package/build-module/list-item/utils.js.map +1 -1
  327. package/build-module/media-text/edit.js +5 -3
  328. package/build-module/media-text/edit.js.map +1 -1
  329. package/build-module/navigation/edit/are-blocks-dirty.js +44 -0
  330. package/build-module/navigation/edit/are-blocks-dirty.js.map +1 -0
  331. package/build-module/navigation/edit/index.js +111 -143
  332. package/build-module/navigation/edit/index.js.map +1 -1
  333. package/build-module/navigation/edit/manage-menus-button.js +26 -0
  334. package/build-module/navigation/edit/manage-menus-button.js.map +1 -0
  335. package/build-module/navigation/edit/menu-inspector-controls.js +59 -0
  336. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -0
  337. package/build-module/navigation/edit/navigation-menu-selector.js +3 -1
  338. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  339. package/build-module/navigation/edit/responsive-wrapper.js +2 -6
  340. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  341. package/build-module/navigation/edit/unsaved-inner-blocks.js +16 -26
  342. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  343. package/build-module/navigation/view-modal.js +6 -2
  344. package/build-module/navigation/view-modal.js.map +1 -1
  345. package/build-module/navigation-link/edit.js +56 -300
  346. package/build-module/navigation-link/edit.js.map +1 -1
  347. package/build-module/navigation-link/link-ui.js +206 -0
  348. package/build-module/navigation-link/link-ui.js.map +1 -0
  349. package/build-module/navigation-link/transforms.js +12 -0
  350. package/build-module/navigation-link/transforms.js.map +1 -1
  351. package/build-module/navigation-link/update-attributes.js +97 -0
  352. package/build-module/navigation-link/update-attributes.js.map +1 -0
  353. package/build-module/navigation-submenu/edit.js +47 -175
  354. package/build-module/navigation-submenu/edit.js.map +1 -1
  355. package/build-module/page-list/constants.js +6 -0
  356. package/build-module/page-list/constants.js.map +1 -0
  357. package/build-module/page-list/convert-to-links-modal.js +20 -81
  358. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  359. package/build-module/page-list/convert-to-navigation-links.js +66 -0
  360. package/build-module/page-list/convert-to-navigation-links.js.map +1 -0
  361. package/build-module/page-list/edit.js +144 -82
  362. package/build-module/page-list/edit.js.map +1 -1
  363. package/build-module/page-list/index.js +6 -1
  364. package/build-module/page-list/index.js.map +1 -1
  365. package/build-module/page-list-item/edit.js +74 -0
  366. package/build-module/page-list-item/edit.js.map +1 -0
  367. package/build-module/page-list-item/index.js +68 -0
  368. package/build-module/page-list-item/index.js.map +1 -0
  369. package/build-module/page-list-item/init.js +6 -0
  370. package/build-module/page-list-item/init.js.map +1 -0
  371. package/build-module/paragraph/index.js +1 -7
  372. package/build-module/paragraph/index.js.map +1 -1
  373. package/build-module/post-author/edit.js +38 -23
  374. package/build-module/post-author/edit.js.map +1 -1
  375. package/build-module/post-content/index.js +3 -0
  376. package/build-module/post-content/index.js.map +1 -1
  377. package/build-module/post-featured-image/overlay.js +1 -0
  378. package/build-module/post-featured-image/overlay.js.map +1 -1
  379. package/build-module/post-template/index.js +8 -0
  380. package/build-module/post-template/index.js.map +1 -1
  381. package/build-module/preformatted/transforms.js +3 -1
  382. package/build-module/preformatted/transforms.js.map +1 -1
  383. package/build-module/query/deprecated.js +185 -21
  384. package/build-module/query/deprecated.js.map +1 -1
  385. package/build-module/query/edit/inspector-controls/index.js +1 -0
  386. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  387. package/build-module/query/edit/query-placeholder.js +3 -19
  388. package/build-module/query/edit/query-placeholder.js.map +1 -1
  389. package/build-module/query/index.js +0 -8
  390. package/build-module/query/index.js.map +1 -1
  391. package/build-module/query/utils.js +0 -8
  392. package/build-module/query/utils.js.map +1 -1
  393. package/build-module/rss/edit.js +3 -0
  394. package/build-module/rss/edit.js.map +1 -1
  395. package/build-module/search/edit.native.js +20 -20
  396. package/build-module/search/edit.native.js.map +1 -1
  397. package/build-module/search/index.js +8 -1
  398. package/build-module/search/index.js.map +1 -1
  399. package/build-module/site-logo/edit.js +18 -9
  400. package/build-module/site-logo/edit.js.map +1 -1
  401. package/build-module/site-logo/index.js +1 -0
  402. package/build-module/site-logo/index.js.map +1 -1
  403. package/build-module/site-title/index.js +1 -0
  404. package/build-module/site-title/index.js.map +1 -1
  405. package/build-module/social-link/social-list.js +2 -11
  406. package/build-module/social-link/social-list.js.map +1 -1
  407. package/build-module/table/edit.js +3 -1
  408. package/build-module/table/edit.js.map +1 -1
  409. package/build-module/table/index.js +17 -1
  410. package/build-module/table/index.js.map +1 -1
  411. package/build-module/table/save.js +4 -2
  412. package/build-module/table/save.js.map +1 -1
  413. package/build-module/table/state.js +25 -13
  414. package/build-module/table/state.js.map +1 -1
  415. package/build-module/table/transforms.js +3 -2
  416. package/build-module/table/transforms.js.map +1 -1
  417. package/build-module/table-of-contents/edit.js +2 -2
  418. package/build-module/table-of-contents/edit.js.map +1 -1
  419. package/build-module/tag-cloud/edit.js +3 -2
  420. package/build-module/tag-cloud/edit.js.map +1 -1
  421. package/build-module/template-part/edit/selection-modal.js +6 -3
  422. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  423. package/build-module/template-part/edit/utils/hooks.js +3 -7
  424. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  425. package/build-module/template-part/variations.js +5 -0
  426. package/build-module/template-part/variations.js.map +1 -1
  427. package/build-module/text-columns/edit.js +1 -0
  428. package/build-module/text-columns/edit.js.map +1 -1
  429. package/build-module/utils/transformation-categories.native.js +1 -1
  430. package/build-module/utils/transformation-categories.native.js.map +1 -1
  431. package/build-module/video/edit.js +1 -1
  432. package/build-module/video/edit.js.map +1 -1
  433. package/build-module/video/edit.native.js +1 -2
  434. package/build-module/video/edit.native.js.map +1 -1
  435. package/build-style/archives/editor-rtl.css +12 -0
  436. package/build-style/archives/editor.css +12 -0
  437. package/build-style/archives/style-rtl.css +12 -0
  438. package/build-style/archives/style.css +12 -0
  439. package/build-style/audio/editor-rtl.css +12 -0
  440. package/build-style/audio/editor.css +12 -0
  441. package/build-style/audio/style-rtl.css +12 -0
  442. package/build-style/audio/style.css +12 -0
  443. package/build-style/audio/theme-rtl.css +12 -0
  444. package/build-style/audio/theme.css +12 -0
  445. package/build-style/avatar/editor-rtl.css +12 -0
  446. package/build-style/avatar/editor.css +12 -0
  447. package/build-style/avatar/style-rtl.css +12 -0
  448. package/build-style/avatar/style.css +12 -0
  449. package/build-style/block/editor-rtl.css +22 -0
  450. package/build-style/block/editor.css +22 -0
  451. package/build-style/button/editor-rtl.css +12 -0
  452. package/build-style/button/editor.css +12 -0
  453. package/build-style/button/style-rtl.css +12 -0
  454. package/build-style/button/style.css +12 -0
  455. package/build-style/buttons/editor-rtl.css +12 -0
  456. package/build-style/buttons/editor.css +12 -0
  457. package/build-style/buttons/style-rtl.css +12 -0
  458. package/build-style/buttons/style.css +12 -0
  459. package/build-style/calendar/style-rtl.css +12 -0
  460. package/build-style/calendar/style.css +12 -0
  461. package/build-style/categories/editor-rtl.css +12 -0
  462. package/build-style/categories/editor.css +12 -0
  463. package/build-style/categories/style-rtl.css +12 -0
  464. package/build-style/categories/style.css +12 -0
  465. package/build-style/classic-rtl.css +12 -0
  466. package/build-style/classic.css +12 -0
  467. package/build-style/code/editor-rtl.css +12 -0
  468. package/build-style/code/editor.css +12 -0
  469. package/build-style/code/style-rtl.css +12 -0
  470. package/build-style/code/style.css +12 -0
  471. package/build-style/code/theme-rtl.css +12 -0
  472. package/build-style/code/theme.css +12 -0
  473. package/build-style/columns/editor-rtl.css +12 -0
  474. package/build-style/columns/editor.css +12 -0
  475. package/build-style/columns/style-rtl.css +12 -0
  476. package/build-style/columns/style.css +12 -0
  477. package/build-style/comment-author-avatar/editor-rtl.css +12 -0
  478. package/build-style/comment-author-avatar/editor.css +12 -0
  479. package/build-style/comment-content/style-rtl.css +12 -0
  480. package/build-style/comment-content/style.css +12 -0
  481. package/build-style/comment-template/style-rtl.css +12 -0
  482. package/build-style/comment-template/style.css +12 -0
  483. package/build-style/comments/editor-rtl.css +12 -0
  484. package/build-style/comments/editor.css +12 -0
  485. package/build-style/comments/style-rtl.css +12 -0
  486. package/build-style/comments/style.css +12 -0
  487. package/build-style/comments-pagination/editor-rtl.css +12 -0
  488. package/build-style/comments-pagination/editor.css +12 -0
  489. package/build-style/comments-pagination/style-rtl.css +12 -0
  490. package/build-style/comments-pagination/style.css +12 -0
  491. package/build-style/comments-pagination-numbers/editor-rtl.css +12 -0
  492. package/build-style/comments-pagination-numbers/editor.css +12 -0
  493. package/build-style/comments-title/editor-rtl.css +12 -0
  494. package/build-style/comments-title/editor.css +12 -0
  495. package/build-style/common-rtl.css +17 -1
  496. package/build-style/common.css +17 -1
  497. package/build-style/cover/editor-rtl.css +12 -0
  498. package/build-style/cover/editor.css +12 -0
  499. package/build-style/cover/style-rtl.css +14 -1
  500. package/build-style/cover/style.css +14 -1
  501. package/build-style/editor-elements-rtl.css +12 -0
  502. package/build-style/editor-elements.css +12 -0
  503. package/build-style/editor-rtl.css +115 -21
  504. package/build-style/editor.css +115 -21
  505. package/build-style/elements-rtl.css +12 -0
  506. package/build-style/elements.css +12 -0
  507. package/build-style/embed/editor-rtl.css +12 -0
  508. package/build-style/embed/editor.css +12 -0
  509. package/build-style/embed/style-rtl.css +12 -0
  510. package/build-style/embed/style.css +12 -0
  511. package/build-style/embed/theme-rtl.css +12 -0
  512. package/build-style/embed/theme.css +12 -0
  513. package/build-style/file/editor-rtl.css +12 -0
  514. package/build-style/file/editor.css +12 -0
  515. package/build-style/file/style-rtl.css +12 -0
  516. package/build-style/file/style.css +12 -0
  517. package/build-style/freeform/editor-rtl.css +12 -0
  518. package/build-style/freeform/editor.css +12 -0
  519. package/build-style/gallery/editor-rtl.css +13 -1
  520. package/build-style/gallery/editor.css +13 -1
  521. package/build-style/gallery/style-rtl.css +16 -2
  522. package/build-style/gallery/style.css +16 -2
  523. package/build-style/gallery/theme-rtl.css +12 -0
  524. package/build-style/gallery/theme.css +12 -0
  525. package/build-style/group/editor-rtl.css +56 -0
  526. package/build-style/group/editor.css +56 -0
  527. package/build-style/group/style-rtl.css +12 -0
  528. package/build-style/group/style.css +12 -0
  529. package/build-style/group/theme-rtl.css +12 -0
  530. package/build-style/group/theme.css +12 -0
  531. package/build-style/heading/style-rtl.css +12 -0
  532. package/build-style/heading/style.css +12 -0
  533. package/build-style/html/editor-rtl.css +12 -0
  534. package/build-style/html/editor.css +12 -0
  535. package/build-style/image/editor-rtl.css +12 -9
  536. package/build-style/image/editor.css +12 -9
  537. package/build-style/image/style-rtl.css +12 -0
  538. package/build-style/image/style.css +12 -0
  539. package/build-style/image/theme-rtl.css +12 -0
  540. package/build-style/image/theme.css +12 -0
  541. package/build-style/latest-comments/style-rtl.css +13 -0
  542. package/build-style/latest-comments/style.css +13 -0
  543. package/build-style/latest-posts/editor-rtl.css +12 -0
  544. package/build-style/latest-posts/editor.css +12 -0
  545. package/build-style/latest-posts/style-rtl.css +15 -0
  546. package/build-style/latest-posts/style.css +15 -0
  547. package/build-style/list/style-rtl.css +12 -0
  548. package/build-style/list/style.css +12 -0
  549. package/build-style/media-text/editor-rtl.css +12 -0
  550. package/build-style/media-text/editor.css +12 -0
  551. package/build-style/media-text/style-rtl.css +12 -0
  552. package/build-style/media-text/style.css +12 -0
  553. package/build-style/more/editor-rtl.css +12 -0
  554. package/build-style/more/editor.css +12 -0
  555. package/build-style/navigation/editor-rtl.css +35 -0
  556. package/build-style/navigation/editor.css +35 -0
  557. package/build-style/navigation/style-rtl.css +22 -0
  558. package/build-style/navigation/style.css +22 -0
  559. package/build-style/navigation-link/editor-rtl.css +20 -1
  560. package/build-style/navigation-link/editor.css +20 -1
  561. package/build-style/navigation-link/style-rtl.css +12 -0
  562. package/build-style/navigation-link/style.css +12 -0
  563. package/build-style/navigation-submenu/editor-rtl.css +12 -0
  564. package/build-style/navigation-submenu/editor.css +12 -0
  565. package/build-style/nextpage/editor-rtl.css +12 -0
  566. package/build-style/nextpage/editor.css +12 -0
  567. package/build-style/page-list/editor-rtl.css +12 -0
  568. package/build-style/page-list/editor.css +12 -0
  569. package/build-style/page-list/style-rtl.css +12 -0
  570. package/build-style/page-list/style.css +12 -0
  571. package/build-style/paragraph/editor-rtl.css +12 -0
  572. package/build-style/paragraph/editor.css +12 -0
  573. package/build-style/paragraph/style-rtl.css +12 -0
  574. package/build-style/paragraph/style.css +12 -0
  575. package/build-style/post-author/style-rtl.css +12 -0
  576. package/build-style/post-author/style.css +12 -0
  577. package/build-style/post-comments-form/editor-rtl.css +12 -0
  578. package/build-style/post-comments-form/editor.css +12 -0
  579. package/build-style/post-comments-form/style-rtl.css +12 -0
  580. package/build-style/post-comments-form/style.css +12 -0
  581. package/build-style/post-date/style-rtl.css +12 -0
  582. package/build-style/post-date/style.css +12 -0
  583. package/build-style/post-excerpt/editor-rtl.css +12 -0
  584. package/build-style/post-excerpt/editor.css +12 -0
  585. package/build-style/post-excerpt/style-rtl.css +12 -0
  586. package/build-style/post-excerpt/style.css +12 -0
  587. package/build-style/post-featured-image/editor-rtl.css +12 -0
  588. package/build-style/post-featured-image/editor.css +12 -0
  589. package/build-style/post-featured-image/style-rtl.css +12 -0
  590. package/build-style/post-featured-image/style.css +12 -0
  591. package/build-style/post-navigation-link/style-rtl.css +12 -0
  592. package/build-style/post-navigation-link/style.css +12 -0
  593. package/build-style/post-template/editor-rtl.css +12 -0
  594. package/build-style/post-template/editor.css +12 -0
  595. package/build-style/post-template/style-rtl.css +12 -0
  596. package/build-style/post-template/style.css +12 -0
  597. package/build-style/post-terms/style-rtl.css +12 -0
  598. package/build-style/post-terms/style.css +12 -0
  599. package/build-style/post-title/style-rtl.css +12 -0
  600. package/build-style/post-title/style.css +12 -0
  601. package/build-style/preformatted/style-rtl.css +12 -0
  602. package/build-style/preformatted/style.css +12 -0
  603. package/build-style/pullquote/editor-rtl.css +12 -0
  604. package/build-style/pullquote/editor.css +12 -0
  605. package/build-style/pullquote/style-rtl.css +12 -0
  606. package/build-style/pullquote/style.css +12 -0
  607. package/build-style/pullquote/theme-rtl.css +12 -0
  608. package/build-style/pullquote/theme.css +12 -0
  609. package/build-style/query/editor-rtl.css +13 -1
  610. package/build-style/query/editor.css +13 -1
  611. package/build-style/query-pagination/editor-rtl.css +12 -0
  612. package/build-style/query-pagination/editor.css +12 -0
  613. package/build-style/query-pagination/style-rtl.css +13 -1
  614. package/build-style/query-pagination/style.css +13 -1
  615. package/build-style/query-pagination-numbers/editor-rtl.css +12 -0
  616. package/build-style/query-pagination-numbers/editor.css +12 -0
  617. package/build-style/query-title/style-rtl.css +12 -0
  618. package/build-style/query-title/style.css +12 -0
  619. package/build-style/quote/style-rtl.css +12 -0
  620. package/build-style/quote/style.css +12 -0
  621. package/build-style/quote/theme-rtl.css +12 -0
  622. package/build-style/quote/theme.css +12 -0
  623. package/build-style/read-more/style-rtl.css +12 -0
  624. package/build-style/read-more/style.css +12 -0
  625. package/build-style/reset-rtl.css +12 -0
  626. package/build-style/reset.css +12 -0
  627. package/build-style/rss/editor-rtl.css +12 -0
  628. package/build-style/rss/editor.css +12 -0
  629. package/build-style/rss/style-rtl.css +12 -0
  630. package/build-style/rss/style.css +12 -0
  631. package/build-style/search/editor-rtl.css +12 -0
  632. package/build-style/search/editor.css +12 -0
  633. package/build-style/search/style-rtl.css +12 -0
  634. package/build-style/search/style.css +12 -0
  635. package/build-style/search/theme-rtl.css +12 -0
  636. package/build-style/search/theme.css +12 -0
  637. package/build-style/separator/editor-rtl.css +12 -0
  638. package/build-style/separator/editor.css +12 -0
  639. package/build-style/separator/style-rtl.css +12 -0
  640. package/build-style/separator/style.css +12 -0
  641. package/build-style/separator/theme-rtl.css +12 -0
  642. package/build-style/separator/theme.css +12 -0
  643. package/build-style/shortcode/editor-rtl.css +13 -1
  644. package/build-style/shortcode/editor.css +13 -1
  645. package/build-style/site-logo/editor-rtl.css +12 -0
  646. package/build-style/site-logo/editor.css +12 -0
  647. package/build-style/site-logo/style-rtl.css +12 -0
  648. package/build-style/site-logo/style.css +12 -0
  649. package/build-style/site-tagline/editor-rtl.css +12 -0
  650. package/build-style/site-tagline/editor.css +12 -0
  651. package/build-style/site-title/editor-rtl.css +12 -0
  652. package/build-style/site-title/editor.css +12 -0
  653. package/build-style/site-title/style-rtl.css +12 -0
  654. package/build-style/site-title/style.css +12 -0
  655. package/build-style/social-link/editor-rtl.css +12 -0
  656. package/build-style/social-link/editor.css +12 -0
  657. package/build-style/social-links/editor-rtl.css +12 -0
  658. package/build-style/social-links/editor.css +12 -0
  659. package/build-style/social-links/style-rtl.css +12 -0
  660. package/build-style/social-links/style.css +12 -0
  661. package/build-style/spacer/editor-rtl.css +12 -0
  662. package/build-style/spacer/editor.css +12 -0
  663. package/build-style/spacer/style-rtl.css +12 -0
  664. package/build-style/spacer/style.css +12 -0
  665. package/build-style/style-rtl.css +43 -6
  666. package/build-style/style.css +43 -6
  667. package/build-style/table/editor-rtl.css +13 -8
  668. package/build-style/table/editor.css +13 -8
  669. package/build-style/table/style-rtl.css +17 -0
  670. package/build-style/table/style.css +17 -0
  671. package/build-style/table/theme-rtl.css +13 -3
  672. package/build-style/table/theme.css +13 -3
  673. package/build-style/tag-cloud/style-rtl.css +12 -0
  674. package/build-style/tag-cloud/style.css +12 -0
  675. package/build-style/template-part/editor-rtl.css +27 -1
  676. package/build-style/template-part/editor.css +27 -1
  677. package/build-style/template-part/theme-rtl.css +12 -0
  678. package/build-style/template-part/theme.css +12 -0
  679. package/build-style/text-columns/editor-rtl.css +12 -0
  680. package/build-style/text-columns/editor.css +12 -0
  681. package/build-style/text-columns/style-rtl.css +12 -0
  682. package/build-style/text-columns/style.css +12 -0
  683. package/build-style/theme-rtl.css +13 -3
  684. package/build-style/theme.css +13 -3
  685. package/build-style/verse/style-rtl.css +12 -0
  686. package/build-style/verse/style.css +12 -0
  687. package/build-style/video/editor-rtl.css +12 -0
  688. package/build-style/video/editor.css +12 -0
  689. package/build-style/video/style-rtl.css +14 -1
  690. package/build-style/video/style.css +14 -1
  691. package/build-style/video/theme-rtl.css +12 -0
  692. package/build-style/video/theme.css +12 -0
  693. package/package.json +32 -30
  694. package/src/audio/edit.native.js +1 -2
  695. package/src/audio/index.js +1 -0
  696. package/src/avatar/edit.js +1 -0
  697. package/src/avatar/index.php +1 -1
  698. package/src/avatar/user-control.js +1 -0
  699. package/src/block/block.json +1 -2
  700. package/src/block/edit.js +14 -3
  701. package/src/block/edit.native.js +24 -12
  702. package/src/block/editor.scss +17 -0
  703. package/src/block/index.php +1 -2
  704. package/src/block/test/edit.native.js +28 -32
  705. package/src/button/block.json +4 -1
  706. package/src/button/deprecated.js +18 -2
  707. package/src/button/edit.js +11 -9
  708. package/src/button/edit.native.js +1 -0
  709. package/src/button/save.js +12 -2
  710. package/src/buttons/test/edit.native.js +41 -52
  711. package/src/code/transforms.js +3 -1
  712. package/src/columns/edit.js +1 -0
  713. package/src/columns/edit.native.js +18 -26
  714. package/src/columns/test/edit.native.js +32 -32
  715. package/src/columns/transforms.js +8 -0
  716. package/src/comment-author-avatar/edit.js +1 -0
  717. package/src/cover/edit/index.js +3 -1
  718. package/src/cover/edit/inspector-controls.js +2 -0
  719. package/src/cover/edit.native.js +32 -19
  720. package/src/cover/test/edit.native.js +77 -130
  721. package/src/embed/embed-controls.native.js +1 -0
  722. package/src/embed/embed-preview.native.js +1 -2
  723. package/src/embed/test/index.native.js +251 -245
  724. package/src/file/inspector.js +1 -0
  725. package/src/file/test/__snapshots__/edit.native.js.snap +2 -6
  726. package/src/gallery/edit.js +15 -5
  727. package/src/gallery/gallery.native.js +1 -2
  728. package/src/gallery/shared.js +7 -11
  729. package/src/gallery/test/index.native.js +11 -11
  730. package/src/gallery/transforms.js +1 -6
  731. package/src/gallery/use-get-media.js +1 -1
  732. package/src/gallery/use-get-media.native.js +2 -1
  733. package/src/gallery/v1/edit.js +26 -30
  734. package/src/gallery/v1/gallery.native.js +1 -2
  735. package/src/gallery/v1/shared.js +7 -2
  736. package/src/group/block.json +6 -1
  737. package/src/group/edit.js +91 -44
  738. package/src/group/editor.scss +48 -0
  739. package/src/group/placeholder.js +168 -0
  740. package/src/group/test/__snapshots__/edit.native.js.snap +1 -1
  741. package/src/group/test/edit.native.js +3 -3
  742. package/src/group/test/placeholder.js +78 -0
  743. package/src/group/variations.js +3 -3
  744. package/src/heading/block.json +1 -2
  745. package/src/heading/deprecated.js +209 -136
  746. package/src/heading/index.php +52 -0
  747. package/src/heading/test/__snapshots__/index.native.js.snap +7 -0
  748. package/src/heading/test/index.native.js +44 -0
  749. package/src/home-link/index.php +1 -1
  750. package/src/html/block.json +1 -1
  751. package/src/image/edit.js +7 -2
  752. package/src/image/edit.native.js +2 -1
  753. package/src/image/editor.scss +0 -11
  754. package/src/image/image.js +13 -8
  755. package/src/image/test/edit.native.js +24 -20
  756. package/src/index.js +2 -0
  757. package/src/latest-comments/block.json +5 -1
  758. package/src/latest-comments/edit.js +2 -0
  759. package/src/latest-comments/style.scss +3 -0
  760. package/src/latest-posts/block.json +13 -0
  761. package/src/latest-posts/edit.js +2 -0
  762. package/src/latest-posts/style.scss +3 -0
  763. package/src/list/test/edit.native.js +55 -47
  764. package/src/list/transforms.js +0 -11
  765. package/src/list/utils.js +6 -2
  766. package/src/list-item/edit.js +1 -0
  767. package/src/list-item/index.js +2 -0
  768. package/src/list-item/transforms.js +17 -0
  769. package/src/list-item/utils.js +10 -1
  770. package/src/media-text/edit.js +5 -3
  771. package/src/missing/test/edit-integration.native.js +10 -12
  772. package/src/navigation/edit/are-blocks-dirty.js +51 -0
  773. package/src/navigation/edit/index.js +269 -310
  774. package/src/navigation/edit/manage-menus-button.js +21 -0
  775. package/src/navigation/edit/menu-inspector-controls.js +78 -0
  776. package/src/navigation/edit/navigation-menu-selector.js +5 -1
  777. package/src/navigation/edit/responsive-wrapper.js +2 -10
  778. package/src/navigation/edit/test/are-blocks-dirty.js +121 -0
  779. package/src/navigation/edit/unsaved-inner-blocks.js +17 -36
  780. package/src/navigation/editor.scss +25 -0
  781. package/src/navigation/index.php +57 -10
  782. package/src/navigation/style.scss +16 -0
  783. package/src/navigation/view-modal.js +11 -1
  784. package/src/navigation-link/edit.js +66 -329
  785. package/src/navigation-link/editor.scss +8 -0
  786. package/src/navigation-link/index.php +32 -0
  787. package/src/navigation-link/link-ui.js +213 -0
  788. package/src/navigation-link/test/edit.js +23 -82
  789. package/src/navigation-link/transforms.js +14 -0
  790. package/src/navigation-link/update-attributes.js +99 -0
  791. package/src/navigation-submenu/edit.js +57 -177
  792. package/src/navigation-submenu/index.php +40 -0
  793. package/src/page-list/block.json +6 -1
  794. package/src/page-list/constants.js +8 -0
  795. package/src/page-list/convert-to-links-modal.js +19 -76
  796. package/src/page-list/convert-to-navigation-links.js +60 -0
  797. package/src/page-list/edit.js +179 -118
  798. package/src/page-list/index.php +9 -0
  799. package/src/page-list/test/convert-to-links-modal.js +28 -34
  800. package/src/page-list-item/block.json +51 -0
  801. package/src/page-list-item/edit.js +94 -0
  802. package/src/page-list-item/index.js +24 -0
  803. package/src/page-list-item/init.js +6 -0
  804. package/src/paragraph/index.js +0 -6
  805. package/src/post-author/edit.js +47 -22
  806. package/src/post-content/block.json +3 -0
  807. package/src/post-content/index.php +1 -2
  808. package/src/post-featured-image/index.php +7 -2
  809. package/src/post-featured-image/overlay.js +1 -0
  810. package/src/post-template/block.json +8 -0
  811. package/src/preformatted/transforms.js +4 -1
  812. package/src/query/block.json +0 -8
  813. package/src/query/deprecated.js +257 -86
  814. package/src/query/edit/inspector-controls/index.js +1 -0
  815. package/src/query/edit/query-placeholder.js +4 -16
  816. package/src/query/editor.scss +1 -1
  817. package/src/query-pagination/style.scss +1 -1
  818. package/src/read-more/index.php +9 -2
  819. package/src/rss/edit.js +3 -0
  820. package/src/search/edit.native.js +31 -27
  821. package/src/search/index.js +5 -1
  822. package/src/shortcode/test/edit.native.js +15 -18
  823. package/src/site-logo/edit.js +14 -6
  824. package/src/site-logo/index.js +1 -0
  825. package/src/site-title/index.js +1 -0
  826. package/src/social-link/social-list.js +2 -7
  827. package/src/social-link/test/index.native.js +16 -22
  828. package/src/social-links/test/edit.native.js +8 -7
  829. package/src/spacer/test/index.native.js +39 -36
  830. package/src/table/block.json +15 -0
  831. package/src/table/edit.js +2 -1
  832. package/src/table/editor.scss +1 -4
  833. package/src/table/index.js +1 -0
  834. package/src/table/save.js +5 -1
  835. package/src/table/state.js +22 -7
  836. package/src/table/style.scss +7 -0
  837. package/src/table/theme.scss +1 -3
  838. package/src/table/transforms.js +2 -1
  839. package/src/table-of-contents/edit.js +2 -2
  840. package/src/tag-cloud/edit.js +3 -2
  841. package/src/template-part/edit/selection-modal.js +4 -3
  842. package/src/template-part/edit/utils/hooks.js +7 -3
  843. package/src/template-part/editor.scss +20 -2
  844. package/src/template-part/index.php +6 -2
  845. package/src/template-part/variations.js +4 -0
  846. package/src/text-columns/edit.js +1 -0
  847. package/src/utils/transformation-categories.native.js +1 -0
  848. package/src/video/edit.js +1 -1
  849. package/src/video/edit.native.js +1 -2
  850. package/test/babel-plugin.js +35 -35
  851. package/tsconfig.tsbuildinfo +1 -1
@@ -6,8 +6,13 @@ import classnames from 'classnames';
6
6
  /**
7
7
  * WordPress dependencies
8
8
  */
9
- import { useState, useEffect, useRef, Platform } from '@wordpress/element';
10
- import { addQueryArgs } from '@wordpress/url';
9
+ import {
10
+ useState,
11
+ useEffect,
12
+ useRef,
13
+ Platform,
14
+ useMemo,
15
+ } from '@wordpress/element';
11
16
  import {
12
17
  InspectorControls,
13
18
  useBlockProps,
@@ -15,11 +20,12 @@ import {
15
20
  __experimentalUseHasRecursion as useHasRecursion,
16
21
  store as blockEditorStore,
17
22
  withColors,
18
- PanelColorSettings,
19
23
  ContrastChecker,
20
24
  getColorClassName,
21
25
  Warning,
26
+ __experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,
22
27
  __experimentalUseBlockOverlayActive as useBlockOverlayActive,
28
+ __experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,
23
29
  } from '@wordpress/block-editor';
24
30
  import { EntityProvider, store as coreStore } from '@wordpress/core-data';
25
31
 
@@ -45,7 +51,6 @@ import useNavigationEntities from '../use-navigation-entities';
45
51
  import Placeholder from './placeholder';
46
52
  import ResponsiveWrapper from './responsive-wrapper';
47
53
  import NavigationInnerBlocks from './inner-blocks';
48
- import NavigationMenuSelector from './navigation-menu-selector';
49
54
  import NavigationMenuNameControl from './navigation-menu-name-control';
50
55
  import UnsavedInnerBlocks from './unsaved-inner-blocks';
51
56
  import NavigationMenuDeleteControl from './navigation-menu-delete-control';
@@ -60,6 +65,8 @@ import useConvertClassicToBlockMenu, {
60
65
  import useCreateNavigationMenu from './use-create-navigation-menu';
61
66
  import { useInnerBlocks } from './use-inner-blocks';
62
67
  import { detectColors } from './utils';
68
+ import ManageMenusButton from './manage-menus-button';
69
+ import MenuInspectorControls from './menu-inspector-controls';
63
70
 
64
71
  function Navigation( {
65
72
  attributes,
@@ -82,6 +89,9 @@ function Navigation( {
82
89
  hasColorSettings = true,
83
90
  customPlaceholder: CustomPlaceholder = null,
84
91
  } ) {
92
+ const isOffCanvasNavigationEditorEnabled =
93
+ window?.__experimentalEnableOffCanvasNavigationEditor === true;
94
+
85
95
  const {
86
96
  openSubmenusOnClick,
87
97
  overlayMenu,
@@ -191,9 +201,6 @@ function Navigation( {
191
201
  __unstableMarkNextChangeAsNotPersistent,
192
202
  } = useDispatch( blockEditorStore );
193
203
 
194
- const [ hasSavedUnsavedInnerBlocks, setHasSavedUnsavedInnerBlocks ] =
195
- useState( false );
196
-
197
204
  const [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] =
198
205
  useState( false );
199
206
 
@@ -227,8 +234,16 @@ function Navigation( {
227
234
  classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;
228
235
 
229
236
  // Only autofallback to published menus.
230
- const fallbackNavigationMenus = navigationMenus?.filter(
231
- ( menu ) => menu.status === 'publish'
237
+ const fallbackNavigationMenus = useMemo(
238
+ () =>
239
+ navigationMenus
240
+ ?.filter( ( menu ) => menu.status === 'publish' )
241
+ ?.sort( ( menuA, menuB ) => {
242
+ const menuADate = new Date( menuA.date );
243
+ const menuBDate = new Date( menuB.date );
244
+ return menuADate.getTime() < menuBDate.getTime();
245
+ } ),
246
+ [ navigationMenus ]
232
247
  );
233
248
 
234
249
  // Attempt to retrieve and prioritize any existing navigation menu unless:
@@ -248,12 +263,6 @@ function Navigation( {
248
263
  return;
249
264
  }
250
265
 
251
- fallbackNavigationMenus.sort( ( menuA, menuB ) => {
252
- const menuADate = new Date( menuA.date );
253
- const menuBDate = new Date( menuB.date );
254
- return menuADate.getTime() < menuBDate.getTime();
255
- } );
256
-
257
266
  /**
258
267
  * This fallback displays (both in editor and on front)
259
268
  * a list of pages only if no menu (user assigned or
@@ -263,25 +272,49 @@ function Navigation( {
263
272
  */
264
273
  __unstableMarkNextChangeAsNotPersistent();
265
274
  setRef( fallbackNavigationMenus[ 0 ].id );
266
- }, [ navigationMenus ] );
275
+ }, [
276
+ ref,
277
+ isCreatingNavigationMenu,
278
+ fallbackNavigationMenus,
279
+ hasUncontrolledInnerBlocks,
280
+ ] );
267
281
 
268
282
  useEffect( () => {
269
283
  if (
270
284
  ! hasResolvedNavigationMenus ||
271
285
  isConvertingClassicMenu ||
272
286
  fallbackNavigationMenus?.length > 0 ||
273
- classicMenus?.length !== 1
287
+ ! classicMenus?.length
274
288
  ) {
275
289
  return;
276
290
  }
277
291
 
278
292
  // If there's non fallback navigation menus and
279
- // only one classic menu then create a new navigation menu based on it.
280
- convertClassicMenu(
281
- classicMenus[ 0 ].id,
282
- classicMenus[ 0 ].name,
283
- 'publish'
293
+ // a classic menu with a `primary` location or slug,
294
+ // then create a new navigation menu based on it.
295
+ // Otherwise, use the most recently created classic menu.
296
+ const primaryMenus = classicMenus.filter(
297
+ ( classicMenu ) =>
298
+ classicMenu.locations.includes( 'primary' ) ||
299
+ classicMenu.slug === 'primary'
284
300
  );
301
+
302
+ if ( primaryMenus.length ) {
303
+ convertClassicMenu(
304
+ primaryMenus[ 0 ].id,
305
+ primaryMenus[ 0 ].name,
306
+ 'publish'
307
+ );
308
+ } else {
309
+ classicMenus.sort( ( a, b ) => {
310
+ return b.id - a.id;
311
+ } );
312
+ convertClassicMenu(
313
+ classicMenus[ 0 ].id,
314
+ classicMenus[ 0 ].name,
315
+ 'publish'
316
+ );
317
+ }
285
318
  }, [ hasResolvedNavigationMenus ] );
286
319
 
287
320
  const navRef = useRef();
@@ -380,6 +413,23 @@ function Navigation( {
380
413
  }
381
414
  };
382
415
 
416
+ const onSelectClassicMenu = async ( classicMenu ) => {
417
+ const navMenu = await convertClassicMenu(
418
+ classicMenu.id,
419
+ classicMenu.name,
420
+ 'draft'
421
+ );
422
+ if ( navMenu ) {
423
+ handleUpdateMenu( navMenu.id, {
424
+ focusNavigationBlock: true,
425
+ } );
426
+ }
427
+ };
428
+
429
+ const onSelectNavigationMenu = ( menuId ) => {
430
+ handleUpdateMenu( menuId );
431
+ };
432
+
383
433
  useEffect( () => {
384
434
  hideClassicMenuConversionNotice();
385
435
  if ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {
@@ -499,144 +549,157 @@ function Navigation( {
499
549
  } );
500
550
  }, [ isDraftNavigationMenu, navigationMenu ] );
501
551
 
552
+ const colorGradientSettings = useMultipleOriginColorsAndGradients();
502
553
  const stylingInspectorControls = (
503
- <InspectorControls>
504
- { hasSubmenuIndicatorSetting && (
505
- <PanelBody title={ __( 'Display' ) }>
506
- { isResponsive && (
507
- <>
508
- <Button
509
- className={ overlayMenuPreviewClasses }
510
- onClick={ () => {
511
- setOverlayMenuPreview(
512
- ! overlayMenuPreview
513
- );
514
- } }
515
- >
516
- { hasIcon && (
517
- <>
518
- <OverlayMenuIcon icon={ icon } />
519
- <Icon icon={ close } />
520
- </>
521
- ) }
522
- { ! hasIcon && (
523
- <>
524
- <span>{ __( 'Menu' ) }</span>
525
- <span>{ __( 'Close' ) }</span>
526
- </>
554
+ <>
555
+ <InspectorControls>
556
+ { hasSubmenuIndicatorSetting && (
557
+ <PanelBody title={ __( 'Display' ) }>
558
+ { isResponsive && (
559
+ <>
560
+ <Button
561
+ className={ overlayMenuPreviewClasses }
562
+ onClick={ () => {
563
+ setOverlayMenuPreview(
564
+ ! overlayMenuPreview
565
+ );
566
+ } }
567
+ >
568
+ { hasIcon && (
569
+ <>
570
+ <OverlayMenuIcon icon={ icon } />
571
+ <Icon icon={ close } />
572
+ </>
573
+ ) }
574
+ { ! hasIcon && (
575
+ <>
576
+ <span>{ __( 'Menu' ) }</span>
577
+ <span>{ __( 'Close' ) }</span>
578
+ </>
579
+ ) }
580
+ </Button>
581
+ { overlayMenuPreview && (
582
+ <OverlayMenuPreview
583
+ setAttributes={ setAttributes }
584
+ hasIcon={ hasIcon }
585
+ icon={ icon }
586
+ />
527
587
  ) }
528
- </Button>
529
- { overlayMenuPreview && (
530
- <OverlayMenuPreview
531
- setAttributes={ setAttributes }
532
- hasIcon={ hasIcon }
533
- icon={ icon }
534
- />
535
- ) }
536
- </>
537
- ) }
538
- <h3>{ __( 'Overlay Menu' ) }</h3>
539
- <ToggleGroupControl
540
- label={ __( 'Configure overlay menu' ) }
541
- value={ overlayMenu }
542
- help={ __(
543
- 'Collapses the navigation options in a menu icon opening an overlay.'
588
+ </>
544
589
  ) }
545
- onChange={ ( value ) =>
546
- setAttributes( { overlayMenu: value } )
547
- }
548
- isBlock
549
- hideLabelFromVision
550
- >
551
- <ToggleGroupControlOption
552
- value="never"
553
- label={ __( 'Off' ) }
554
- />
555
- <ToggleGroupControlOption
556
- value="mobile"
557
- label={ __( 'Mobile' ) }
558
- />
559
- <ToggleGroupControlOption
560
- value="always"
561
- label={ __( 'Always' ) }
562
- />
563
- </ToggleGroupControl>
564
- { hasSubmenus && (
565
- <>
566
- <h3>{ __( 'Submenus' ) }</h3>
567
- <ToggleControl
568
- checked={ openSubmenusOnClick }
569
- onChange={ ( value ) => {
570
- setAttributes( {
571
- openSubmenusOnClick: value,
572
- ...( value && {
573
- showSubmenuIcon: true,
574
- } ), // Make sure arrows are shown when we toggle this on.
575
- } );
576
- } }
577
- label={ __( 'Open on click' ) }
578
- />
579
-
580
- <ToggleControl
581
- checked={ showSubmenuIcon }
582
- onChange={ ( value ) => {
583
- setAttributes( {
584
- showSubmenuIcon: value,
585
- } );
586
- } }
587
- disabled={ attributes.openSubmenusOnClick }
588
- label={ __( 'Show arrow' ) }
590
+ <h3>{ __( 'Overlay Menu' ) }</h3>
591
+ <ToggleGroupControl
592
+ label={ __( 'Configure overlay menu' ) }
593
+ value={ overlayMenu }
594
+ help={ __(
595
+ 'Collapses the navigation options in a menu icon opening an overlay.'
596
+ ) }
597
+ onChange={ ( value ) =>
598
+ setAttributes( { overlayMenu: value } )
599
+ }
600
+ isBlock
601
+ hideLabelFromVision
602
+ >
603
+ <ToggleGroupControlOption
604
+ value="never"
605
+ label={ __( 'Off' ) }
589
606
  />
590
- </>
591
- ) }
592
- </PanelBody>
593
- ) }
594
- { hasColorSettings && (
595
- <PanelColorSettings
596
- __experimentalHasMultipleOrigins
597
- __experimentalIsRenderedInSidebar
598
- title={ __( 'Color' ) }
599
- initialOpen={ false }
600
- colorSettings={ [
601
- {
602
- value: textColor.color,
603
- onChange: setTextColor,
604
- label: __( 'Text' ),
605
- },
606
- {
607
- value: backgroundColor.color,
608
- onChange: setBackgroundColor,
609
- label: __( 'Background' ),
610
- },
611
- {
612
- value: overlayTextColor.color,
613
- onChange: setOverlayTextColor,
614
- label: __( 'Submenu & overlay text' ),
615
- },
616
- {
617
- value: overlayBackgroundColor.color,
618
- onChange: setOverlayBackgroundColor,
619
- label: __( 'Submenu & overlay background' ),
620
- },
621
- ] }
622
- >
623
- { enableContrastChecking && (
624
- <>
625
- <ContrastChecker
626
- backgroundColor={ detectedBackgroundColor }
627
- textColor={ detectedColor }
607
+ <ToggleGroupControlOption
608
+ value="mobile"
609
+ label={ __( 'Mobile' ) }
628
610
  />
629
- <ContrastChecker
630
- backgroundColor={
631
- detectedOverlayBackgroundColor
632
- }
633
- textColor={ detectedOverlayColor }
611
+ <ToggleGroupControlOption
612
+ value="always"
613
+ label={ __( 'Always' ) }
634
614
  />
635
- </>
636
- ) }
637
- </PanelColorSettings>
638
- ) }
639
- </InspectorControls>
615
+ </ToggleGroupControl>
616
+ { hasSubmenus && (
617
+ <>
618
+ <h3>{ __( 'Submenus' ) }</h3>
619
+ <ToggleControl
620
+ checked={ openSubmenusOnClick }
621
+ onChange={ ( value ) => {
622
+ setAttributes( {
623
+ openSubmenusOnClick: value,
624
+ ...( value && {
625
+ showSubmenuIcon: true,
626
+ } ), // Make sure arrows are shown when we toggle this on.
627
+ } );
628
+ } }
629
+ label={ __( 'Open on click' ) }
630
+ />
631
+
632
+ <ToggleControl
633
+ checked={ showSubmenuIcon }
634
+ onChange={ ( value ) => {
635
+ setAttributes( {
636
+ showSubmenuIcon: value,
637
+ } );
638
+ } }
639
+ disabled={ attributes.openSubmenusOnClick }
640
+ label={ __( 'Show arrow' ) }
641
+ />
642
+ </>
643
+ ) }
644
+ </PanelBody>
645
+ ) }
646
+ </InspectorControls>
647
+ <InspectorControls __experimentalGroup="color">
648
+ { hasColorSettings && (
649
+ <>
650
+ <ColorGradientSettingsDropdown
651
+ __experimentalHasMultipleOrigins
652
+ __experimentalIsRenderedInSidebar
653
+ settings={ [
654
+ {
655
+ colorValue: textColor.color,
656
+ label: __( 'Text' ),
657
+ onColorChange: setTextColor,
658
+ resetAllFilter: () => setTextColor(),
659
+ },
660
+ {
661
+ colorValue: backgroundColor.color,
662
+ label: __( 'Background' ),
663
+ onColorChange: setBackgroundColor,
664
+ resetAllFilter: () => setBackgroundColor(),
665
+ },
666
+ {
667
+ colorValue: overlayTextColor.color,
668
+ label: __( 'Submenu & overlay text' ),
669
+ onColorChange: setOverlayTextColor,
670
+ resetAllFilter: () => setOverlayTextColor(),
671
+ },
672
+ {
673
+ colorValue: overlayBackgroundColor.color,
674
+ label: __( 'Submenu & overlay background' ),
675
+ onColorChange: setOverlayBackgroundColor,
676
+ resetAllFilter: () =>
677
+ setOverlayBackgroundColor(),
678
+ },
679
+ ] }
680
+ panelId={ clientId }
681
+ { ...colorGradientSettings }
682
+ gradients={ [] }
683
+ disableCustomGradients={ true }
684
+ />
685
+ { enableContrastChecking && (
686
+ <>
687
+ <ContrastChecker
688
+ backgroundColor={ detectedBackgroundColor }
689
+ textColor={ detectedColor }
690
+ />
691
+ <ContrastChecker
692
+ backgroundColor={
693
+ detectedOverlayBackgroundColor
694
+ }
695
+ textColor={ detectedOverlayColor }
696
+ />
697
+ </>
698
+ ) }
699
+ </>
700
+ ) }
701
+ </InspectorControls>
702
+ </>
640
703
  );
641
704
 
642
705
  // If the block has inner blocks, but no menu id, then these blocks are either:
@@ -646,50 +709,26 @@ function Navigation( {
646
709
  // Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,
647
710
  // that automatically saves the menu as an entity when changes are made to the inner blocks.
648
711
  const hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;
649
- if ( hasUnsavedBlocks ) {
712
+
713
+ const isManageMenusButtonDisabled =
714
+ ! hasManagePermissions || ! hasResolvedNavigationMenus;
715
+
716
+ if ( hasUnsavedBlocks && ! isCreatingNavigationMenu ) {
650
717
  return (
651
718
  <TagName { ...blockProps }>
652
- <InspectorControls>
653
- <PanelBody title={ __( 'Menu' ) }>
654
- <NavigationMenuSelector
655
- currentMenuId={ ref }
656
- clientId={ clientId }
657
- onSelectNavigationMenu={ ( menuId ) => {
658
- handleUpdateMenu( menuId );
659
- } }
660
- onSelectClassicMenu={ async ( classicMenu ) => {
661
- const navMenu = await convertClassicMenu(
662
- classicMenu.id,
663
- classicMenu.name,
664
- 'draft'
665
- );
666
- if ( navMenu ) {
667
- handleUpdateMenu( navMenu.id, {
668
- focusNavigationBlock: true,
669
- } );
670
- }
671
- } }
672
- onCreateNew={ createUntitledEmptyNavigationMenu }
673
- createNavigationMenuIsSuccess={
674
- createNavigationMenuIsSuccess
675
- }
676
- /* translators: %s: The name of a menu. */
677
- actionLabel={ __( "Switch to '%s'" ) }
678
- />
679
- <Button
680
- variant="link"
681
- disabled={
682
- ! hasManagePermissions ||
683
- ! hasResolvedNavigationMenus
684
- }
685
- href={ addQueryArgs( 'edit.php', {
686
- post_type: 'wp_navigation',
687
- } ) }
688
- >
689
- { __( 'Manage menus' ) }
690
- </Button>
691
- </PanelBody>
692
- </InspectorControls>
719
+ <MenuInspectorControls
720
+ createNavigationMenuIsSuccess={
721
+ createNavigationMenuIsSuccess
722
+ }
723
+ createNavigationMenuIsError={ createNavigationMenuIsError }
724
+ currentMenuId={ ref }
725
+ isNavigationMenuMissing={ isNavigationMenuMissing }
726
+ innerBlocks={ innerBlocks }
727
+ isManageMenusButtonDisabled={ isManageMenusButtonDisabled }
728
+ onCreateNew={ createUntitledEmptyNavigationMenu }
729
+ onSelectClassicMenu={ onSelectClassicMenu }
730
+ onSelectNavigationMenu={ onSelectNavigationMenu }
731
+ />
693
732
  { stylingInspectorControls }
694
733
  <ResponsiveWrapper
695
734
  id={ clientId }
@@ -703,24 +742,11 @@ function Navigation( {
703
742
  overlayTextColor={ overlayTextColor }
704
743
  >
705
744
  <UnsavedInnerBlocks
745
+ createNavigationMenu={ createNavigationMenu }
706
746
  blocks={ uncontrolledInnerBlocks }
707
- clientId={ clientId }
708
747
  templateLock={ templateLock }
709
748
  navigationMenus={ navigationMenus }
710
749
  hasSelection={ isSelected || isInnerBlockSelected }
711
- hasSavedUnsavedInnerBlocks={
712
- hasSavedUnsavedInnerBlocks
713
- }
714
- onSave={ ( post ) => {
715
- // Set some state used as a guard to prevent the creation of multiple posts.
716
- setHasSavedUnsavedInnerBlocks( true );
717
- // Switch to using the wp_navigation entity.
718
- setRef( post.id );
719
-
720
- showNavigationMenuStatusNotice(
721
- __( `New Navigation Menu created.` )
722
- );
723
- } }
724
750
  />
725
751
  </ResponsiveWrapper>
726
752
  </TagName>
@@ -732,47 +758,18 @@ function Navigation( {
732
758
  if ( ref && isNavigationMenuMissing ) {
733
759
  return (
734
760
  <TagName { ...blockProps }>
735
- <InspectorControls>
736
- <PanelBody title={ __( 'Menu' ) }>
737
- <NavigationMenuSelector
738
- currentMenuId={ null }
739
- clientId={ clientId }
740
- onSelectNavigationMenu={ ( menuId ) => {
741
- handleUpdateMenu( menuId );
742
- } }
743
- onSelectClassicMenu={ async ( classicMenu ) => {
744
- const navMenu = await convertClassicMenu(
745
- classicMenu.id,
746
- classicMenu.name,
747
- 'draft'
748
- );
749
- if ( navMenu ) {
750
- handleUpdateMenu( navMenu.id, {
751
- focusNavigationBlock: true,
752
- } );
753
- }
754
- } }
755
- onCreateNew={ createUntitledEmptyNavigationMenu }
756
- createNavigationMenuIsSuccess={
757
- createNavigationMenuIsSuccess
758
- }
759
- /* translators: %s: The name of a menu. */
760
- actionLabel={ __( "Switch to '%s'" ) }
761
- />
762
- <Button
763
- variant="link"
764
- disabled={
765
- ! hasManagePermissions ||
766
- ! hasResolvedNavigationMenus
767
- }
768
- href={ addQueryArgs( 'edit.php', {
769
- post_type: 'wp_navigation',
770
- } ) }
771
- >
772
- { __( 'Manage menus' ) }
773
- </Button>
774
- </PanelBody>
775
- </InspectorControls>
761
+ <MenuInspectorControls
762
+ createNavigationMenuIsSuccess={
763
+ createNavigationMenuIsSuccess
764
+ }
765
+ createNavigationMenuIsError={ createNavigationMenuIsError }
766
+ isNavigationMenuMissing={ isNavigationMenuMissing }
767
+ innerBlocks={ innerBlocks }
768
+ isManageMenusButtonDisabled={ isManageMenusButtonDisabled }
769
+ onCreateNew={ createUntitledEmptyNavigationMenu }
770
+ onSelectClassicMenu={ onSelectClassicMenu }
771
+ onSelectNavigationMenu={ onSelectNavigationMenu }
772
+ />
776
773
  <Warning>
777
774
  { __(
778
775
  'Navigation menu has been deleted or is unavailable. '
@@ -823,21 +820,8 @@ function Navigation( {
823
820
  isResolvingCanUserCreateNavigationMenu={
824
821
  isResolvingCanUserCreateNavigationMenu
825
822
  }
826
- onSelectNavigationMenu={ ( menuId ) => {
827
- handleUpdateMenu( menuId );
828
- } }
829
- onSelectClassicMenu={ async ( classicMenu ) => {
830
- const navMenu = await convertClassicMenu(
831
- classicMenu.id,
832
- classicMenu.name,
833
- 'draft'
834
- );
835
- if ( navMenu ) {
836
- handleUpdateMenu( navMenu.id, {
837
- focusNavigationBlock: true,
838
- } );
839
- }
840
- } }
823
+ onSelectNavigationMenu={ onSelectNavigationMenu }
824
+ onSelectClassicMenu={ onSelectClassicMenu }
841
825
  onCreateEmpty={ createUntitledEmptyNavigationMenu }
842
826
  />
843
827
  </TagName>
@@ -847,50 +831,19 @@ function Navigation( {
847
831
  return (
848
832
  <EntityProvider kind="postType" type="wp_navigation" id={ ref }>
849
833
  <RecursionProvider uniqueId={ recursionId }>
850
- <InspectorControls>
851
- <PanelBody title={ __( 'Menu' ) }>
852
- <NavigationMenuSelector
853
- currentMenuId={ ref }
854
- clientId={ clientId }
855
- onSelectNavigationMenu={ ( menuId ) => {
856
- handleUpdateMenu( menuId );
857
- } }
858
- onSelectClassicMenu={ async ( classicMenu ) => {
859
- const navMenu = await convertClassicMenu(
860
- classicMenu.id,
861
- classicMenu.name,
862
- 'draft'
863
- );
864
- if ( navMenu ) {
865
- handleUpdateMenu( navMenu.id, {
866
- focusNavigationBlock: true,
867
- } );
868
- }
869
- } }
870
- onCreateNew={ createUntitledEmptyNavigationMenu }
871
- createNavigationMenuIsSuccess={
872
- createNavigationMenuIsSuccess
873
- }
874
- createNavigationMenuIsError={
875
- createNavigationMenuIsError
876
- }
877
- /* translators: %s: The name of a menu. */
878
- actionLabel={ __( "Switch to '%s'" ) }
879
- />
880
- <Button
881
- variant="link"
882
- disabled={
883
- ! hasManagePermissions ||
884
- ! hasResolvedNavigationMenus
885
- }
886
- href={ addQueryArgs( 'edit.php', {
887
- post_type: 'wp_navigation',
888
- } ) }
889
- >
890
- { __( 'Manage menus' ) }
891
- </Button>
892
- </PanelBody>
893
- </InspectorControls>
834
+ <MenuInspectorControls
835
+ createNavigationMenuIsSuccess={
836
+ createNavigationMenuIsSuccess
837
+ }
838
+ createNavigationMenuIsError={ createNavigationMenuIsError }
839
+ currentMenuId={ ref }
840
+ isNavigationMenuMissing={ isNavigationMenuMissing }
841
+ innerBlocks={ innerBlocks }
842
+ isManageMenusButtonDisabled={ isManageMenusButtonDisabled }
843
+ onCreateNew={ createUntitledEmptyNavigationMenu }
844
+ onSelectClassicMenu={ onSelectClassicMenu }
845
+ onSelectNavigationMenu={ onSelectNavigationMenu }
846
+ />
894
847
  { stylingInspectorControls }
895
848
  { isEntityAvailable && (
896
849
  <InspectorControls __experimentalGroup="advanced">
@@ -915,6 +868,12 @@ function Navigation( {
915
868
  } }
916
869
  />
917
870
  ) }
871
+ { isOffCanvasNavigationEditorEnabled && (
872
+ <ManageMenusButton
873
+ disabled={ isManageMenusButtonDisabled }
874
+ className="wp-block-navigation-manage-menus-button"
875
+ />
876
+ ) }
918
877
  </InspectorControls>
919
878
  ) }
920
879