@wordpress/block-library 8.2.0 → 8.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (797) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/babel-plugin.js +1 -1
  3. package/build/archives/index.js +1 -0
  4. package/build/archives/index.js.map +1 -1
  5. package/build/avatar/index.js +1 -0
  6. package/build/avatar/index.js.map +1 -1
  7. package/build/block/edit.js +1 -0
  8. package/build/block/edit.js.map +1 -1
  9. package/build/button/edit.js +2 -1
  10. package/build/button/edit.js.map +1 -1
  11. package/build/button/index.js +1 -0
  12. package/build/button/index.js.map +1 -1
  13. package/build/buttons/edit.js +0 -2
  14. package/build/buttons/edit.js.map +1 -1
  15. package/build/calendar/index.js +1 -0
  16. package/build/calendar/index.js.map +1 -1
  17. package/build/categories/edit.js +3 -3
  18. package/build/categories/edit.js.map +1 -1
  19. package/build/categories/index.js +1 -0
  20. package/build/categories/index.js.map +1 -1
  21. package/build/column/edit.native.js +2 -1
  22. package/build/column/edit.native.js.map +1 -1
  23. package/build/columns/deprecated.js +1 -1
  24. package/build/columns/deprecated.js.map +1 -1
  25. package/build/comment-author-avatar/index.js +1 -0
  26. package/build/comment-author-avatar/index.js.map +1 -1
  27. package/build/comment-author-name/index.js +1 -0
  28. package/build/comment-author-name/index.js.map +1 -1
  29. package/build/comment-content/index.js +1 -0
  30. package/build/comment-content/index.js.map +1 -1
  31. package/build/comment-date/index.js +1 -0
  32. package/build/comment-date/index.js.map +1 -1
  33. package/build/comment-edit-link/index.js +1 -0
  34. package/build/comment-edit-link/index.js.map +1 -1
  35. package/build/comment-reply-link/index.js +1 -0
  36. package/build/comment-reply-link/index.js.map +1 -1
  37. package/build/comment-template/index.js +1 -0
  38. package/build/comment-template/index.js.map +1 -1
  39. package/build/comments/edit/comments-inspector-controls.js +1 -1
  40. package/build/comments/edit/comments-inspector-controls.js.map +1 -1
  41. package/build/comments/index.js +2 -1
  42. package/build/comments/index.js.map +1 -1
  43. package/build/comments-pagination/comments-pagination-arrow-controls.js +1 -0
  44. package/build/comments-pagination/comments-pagination-arrow-controls.js.map +1 -1
  45. package/build/comments-pagination/edit.js +3 -14
  46. package/build/comments-pagination/edit.js.map +1 -1
  47. package/build/comments-pagination/index.js +1 -0
  48. package/build/comments-pagination/index.js.map +1 -1
  49. package/build/comments-pagination-next/index.js +1 -0
  50. package/build/comments-pagination-next/index.js.map +1 -1
  51. package/build/comments-pagination-numbers/index.js +1 -0
  52. package/build/comments-pagination-numbers/index.js.map +1 -1
  53. package/build/comments-pagination-previous/index.js +1 -0
  54. package/build/comments-pagination-previous/index.js.map +1 -1
  55. package/build/cover/deprecated.js +153 -30
  56. package/build/cover/deprecated.js.map +1 -1
  57. package/build/cover/edit/index.js +4 -3
  58. package/build/cover/edit/index.js.map +1 -1
  59. package/build/cover/edit/inspector-controls.js +45 -4
  60. package/build/cover/edit/inspector-controls.js.map +1 -1
  61. package/build/cover/edit.native.js +0 -4
  62. package/build/cover/edit.native.js.map +1 -1
  63. package/build/cover/index.js +4 -0
  64. package/build/cover/index.js.map +1 -1
  65. package/build/cover/save.js +3 -2
  66. package/build/cover/save.js.map +1 -1
  67. package/build/embed/variations.js +1 -1
  68. package/build/embed/variations.js.map +1 -1
  69. package/build/experiments.js +19 -0
  70. package/build/experiments.js.map +1 -0
  71. package/build/gallery/deprecated.js +6 -4
  72. package/build/gallery/deprecated.js.map +1 -1
  73. package/build/gallery/edit.js +48 -7
  74. package/build/gallery/edit.js.map +1 -1
  75. package/build/gallery/gallery.js +8 -34
  76. package/build/gallery/gallery.js.map +1 -1
  77. package/build/gallery/v1/edit.js +5 -5
  78. package/build/gallery/v1/edit.js.map +1 -1
  79. package/build/group/deprecated.js +1 -1
  80. package/build/group/deprecated.js.map +1 -1
  81. package/build/group/edit.js +1 -2
  82. package/build/group/edit.js.map +1 -1
  83. package/build/heading/index.js +1 -7
  84. package/build/heading/index.js.map +1 -1
  85. package/build/home-link/index.js +1 -0
  86. package/build/home-link/index.js.map +1 -1
  87. package/build/image/edit.native.js +2 -2
  88. package/build/image/edit.native.js.map +1 -1
  89. package/build/image/image.js +12 -15
  90. package/build/image/image.js.map +1 -1
  91. package/build/latest-comments/index.js +1 -0
  92. package/build/latest-comments/index.js.map +1 -1
  93. package/build/latest-posts/deprecated.js +1 -0
  94. package/build/latest-posts/deprecated.js.map +1 -1
  95. package/build/latest-posts/index.js +1 -0
  96. package/build/latest-posts/index.js.map +1 -1
  97. package/build/list/ordered-list-settings.js +1 -0
  98. package/build/list/ordered-list-settings.js.map +1 -1
  99. package/build/loginout/index.js +1 -0
  100. package/build/loginout/index.js.map +1 -1
  101. package/build/media-text/edit.js +2 -4
  102. package/build/media-text/edit.js.map +1 -1
  103. package/build/missing/edit.native.js +4 -4
  104. package/build/missing/edit.native.js.map +1 -1
  105. package/build/navigation/edit/deleted-navigation-warning.js +31 -0
  106. package/build/navigation/edit/deleted-navigation-warning.js.map +1 -0
  107. package/build/navigation/edit/index.js +19 -11
  108. package/build/navigation/edit/index.js.map +1 -1
  109. package/build/navigation/edit/inner-blocks.js +0 -5
  110. package/build/navigation/edit/inner-blocks.js.map +1 -1
  111. package/build/navigation/edit/manage-menus-button.js +9 -2
  112. package/build/navigation/edit/manage-menus-button.js.map +1 -1
  113. package/build/navigation/edit/menu-inspector-controls.js +39 -48
  114. package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
  115. package/build/navigation/edit/navigation-menu-delete-control.js +0 -1
  116. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  117. package/build/navigation/edit/navigation-menu-name-control.js +1 -0
  118. package/build/navigation/edit/navigation-menu-name-control.js.map +1 -1
  119. package/build/navigation/edit/navigation-menu-selector.js +11 -52
  120. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  121. package/build/navigation/edit/overlay-menu-preview.js +1 -0
  122. package/build/navigation/edit/overlay-menu-preview.js.map +1 -1
  123. package/build/navigation/edit/placeholder/index.js +1 -6
  124. package/build/navigation/edit/placeholder/index.js.map +1 -1
  125. package/build/navigation/index.js +5 -0
  126. package/build/navigation/index.js.map +1 -1
  127. package/build/navigation/menu-items-to-blocks.js +0 -2
  128. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  129. package/build/navigation-link/edit.js +17 -8
  130. package/build/navigation-link/edit.js.map +1 -1
  131. package/build/navigation-submenu/edit.js +4 -0
  132. package/build/navigation-submenu/edit.js.map +1 -1
  133. package/build/navigation-submenu/index.js +13 -3
  134. package/build/navigation-submenu/index.js.map +1 -1
  135. package/build/page-list/edit.js +153 -132
  136. package/build/page-list/edit.js.map +1 -1
  137. package/build/page-list/index.js +2 -11
  138. package/build/page-list/index.js.map +1 -1
  139. package/build/page-list/{convert-to-navigation-links.js → use-convert-to-navigation-links.js} +41 -9
  140. package/build/page-list/use-convert-to-navigation-links.js.map +1 -0
  141. package/build/page-list-item/edit.js +4 -2
  142. package/build/page-list-item/edit.js.map +1 -1
  143. package/build/page-list-item/index.js +1 -1
  144. package/build/page-list-item/index.js.map +1 -1
  145. package/build/paragraph/edit.js +1 -1
  146. package/build/paragraph/edit.js.map +1 -1
  147. package/build/paragraph/index.js +1 -7
  148. package/build/paragraph/index.js.map +1 -1
  149. package/build/post-author/index.js +1 -0
  150. package/build/post-author/index.js.map +1 -1
  151. package/build/post-author-biography/index.js +1 -0
  152. package/build/post-author-biography/index.js.map +1 -1
  153. package/build/post-author-name/index.js +1 -1
  154. package/build/post-comment/edit.js +1 -0
  155. package/build/post-comment/edit.js.map +1 -1
  156. package/build/post-comments-count/index.js +1 -0
  157. package/build/post-comments-count/index.js.map +1 -1
  158. package/build/post-comments-form/index.js +1 -0
  159. package/build/post-comments-form/index.js.map +1 -1
  160. package/build/post-comments-link/index.js +1 -0
  161. package/build/post-comments-link/index.js.map +1 -1
  162. package/build/post-content/edit.js +1 -20
  163. package/build/post-content/edit.js.map +1 -1
  164. package/build/post-content/index.js +1 -0
  165. package/build/post-content/index.js.map +1 -1
  166. package/build/post-date/index.js +1 -0
  167. package/build/post-date/index.js.map +1 -1
  168. package/build/post-excerpt/edit.js +6 -1
  169. package/build/post-excerpt/edit.js.map +1 -1
  170. package/build/post-excerpt/index.js +1 -0
  171. package/build/post-excerpt/index.js.map +1 -1
  172. package/build/post-featured-image/dimension-controls.js +2 -1
  173. package/build/post-featured-image/dimension-controls.js.map +1 -1
  174. package/build/post-featured-image/edit.js +39 -22
  175. package/build/post-featured-image/edit.js.map +1 -1
  176. package/build/post-featured-image/index.js +1 -0
  177. package/build/post-featured-image/index.js.map +1 -1
  178. package/build/post-featured-image/overlay.js +1 -1
  179. package/build/post-featured-image/overlay.js.map +1 -1
  180. package/build/post-navigation-link/edit.js +1 -0
  181. package/build/post-navigation-link/edit.js.map +1 -1
  182. package/build/post-navigation-link/index.js +1 -0
  183. package/build/post-navigation-link/index.js.map +1 -1
  184. package/build/post-template/edit.js +6 -4
  185. package/build/post-template/edit.js.map +1 -1
  186. package/build/post-template/index.js +1 -0
  187. package/build/post-template/index.js.map +1 -1
  188. package/build/post-terms/edit.js +5 -4
  189. package/build/post-terms/edit.js.map +1 -1
  190. package/build/post-terms/index.js +1 -0
  191. package/build/post-terms/index.js.map +1 -1
  192. package/build/post-title/edit.js +1 -0
  193. package/build/post-title/edit.js.map +1 -1
  194. package/build/post-title/index.js +1 -0
  195. package/build/post-title/index.js.map +1 -1
  196. package/build/query/deprecated.js +90 -1
  197. package/build/query/deprecated.js.map +1 -1
  198. package/build/query/edit/index.js +2 -50
  199. package/build/query/edit/index.js.map +1 -1
  200. package/build/query/edit/inspector-controls/index.js +1 -0
  201. package/build/query/edit/inspector-controls/index.js.map +1 -1
  202. package/build/query/edit/inspector-controls/taxonomy-controls.js +2 -2
  203. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  204. package/build/query/edit/pattern-selection-modal.js +88 -0
  205. package/build/query/edit/pattern-selection-modal.js.map +1 -0
  206. package/build/query/edit/query-content.js +3 -24
  207. package/build/query/edit/query-content.js.map +1 -1
  208. package/build/query/edit/query-placeholder.js +2 -2
  209. package/build/query/edit/query-placeholder.js.map +1 -1
  210. package/build/query/edit/query-toolbar.js +6 -11
  211. package/build/query/edit/query-toolbar.js.map +1 -1
  212. package/build/query/index.js +1 -0
  213. package/build/query/index.js.map +1 -1
  214. package/build/query/utils.js +25 -3
  215. package/build/query/utils.js.map +1 -1
  216. package/build/query-no-results/index.js +1 -0
  217. package/build/query-no-results/index.js.map +1 -1
  218. package/build/query-pagination/edit.js +3 -14
  219. package/build/query-pagination/edit.js.map +1 -1
  220. package/build/query-pagination/index.js +1 -0
  221. package/build/query-pagination/index.js.map +1 -1
  222. package/build/query-pagination/query-pagination-arrow-controls.js +1 -0
  223. package/build/query-pagination/query-pagination-arrow-controls.js.map +1 -1
  224. package/build/query-pagination-next/index.js +1 -0
  225. package/build/query-pagination-next/index.js.map +1 -1
  226. package/build/query-pagination-numbers/index.js +1 -0
  227. package/build/query-pagination-numbers/index.js.map +1 -1
  228. package/build/query-pagination-previous/index.js +1 -0
  229. package/build/query-pagination-previous/index.js.map +1 -1
  230. package/build/query-title/index.js +1 -0
  231. package/build/query-title/index.js.map +1 -1
  232. package/build/read-more/index.js +1 -0
  233. package/build/read-more/index.js.map +1 -1
  234. package/build/rss/edit.js +5 -2
  235. package/build/rss/edit.js.map +1 -1
  236. package/build/rss/index.js +1 -0
  237. package/build/rss/index.js.map +1 -1
  238. package/build/search/index.js +1 -0
  239. package/build/search/index.js.map +1 -1
  240. package/build/site-logo/edit.js +9 -13
  241. package/build/site-logo/edit.js.map +1 -1
  242. package/build/site-logo/index.js +1 -0
  243. package/build/site-logo/index.js.map +1 -1
  244. package/build/site-tagline/index.js +1 -0
  245. package/build/site-tagline/index.js.map +1 -1
  246. package/build/site-title/index.js +1 -0
  247. package/build/site-title/index.js.map +1 -1
  248. package/build/social-link/edit.js +3 -1
  249. package/build/social-link/edit.js.map +1 -1
  250. package/build/social-link/index.js +1 -0
  251. package/build/social-link/index.js.map +1 -1
  252. package/build/social-links/edit.js +3 -14
  253. package/build/social-links/edit.js.map +1 -1
  254. package/build/table/edit.js +9 -5
  255. package/build/table/edit.js.map +1 -1
  256. package/build/table/index.js +15 -0
  257. package/build/table/index.js.map +1 -1
  258. package/build/table/save.js +4 -2
  259. package/build/table/save.js.map +1 -1
  260. package/build/table/state.js +1 -1
  261. package/build/table/state.js.map +1 -1
  262. package/build/table/transforms.js +47 -3
  263. package/build/table/transforms.js.map +1 -1
  264. package/build/table/utils.js +26 -0
  265. package/build/table/utils.js.map +1 -0
  266. package/build/tag-cloud/edit.js +3 -9
  267. package/build/tag-cloud/edit.js.map +1 -1
  268. package/build/tag-cloud/index.js +1 -0
  269. package/build/tag-cloud/index.js.map +1 -1
  270. package/build/template-part/edit/advanced-controls.js +2 -1
  271. package/build/template-part/edit/advanced-controls.js.map +1 -1
  272. package/build/template-part/edit/index.js +0 -1
  273. package/build/template-part/edit/index.js.map +1 -1
  274. package/build/template-part/edit/selection-modal.js +3 -3
  275. package/build/template-part/edit/selection-modal.js.map +1 -1
  276. package/build/template-part/edit/title-modal.js +6 -5
  277. package/build/template-part/edit/title-modal.js.map +1 -1
  278. package/build/template-part/edit/utils/hooks.js +2 -2
  279. package/build/template-part/edit/utils/hooks.js.map +1 -1
  280. package/build/template-part/index.js +1 -0
  281. package/build/template-part/index.js.map +1 -1
  282. package/build/term-description/index.js +1 -0
  283. package/build/term-description/index.js.map +1 -1
  284. package/build/utils/init-block.js +1 -1
  285. package/build/utils/init-block.js.map +1 -1
  286. package/build/utils/init-block.native.js +1 -1
  287. package/build/utils/init-block.native.js.map +1 -1
  288. package/build/{template-part/edit/utils/search.js → utils/search-patterns.js} +3 -1
  289. package/build/utils/search-patterns.js.map +1 -0
  290. package/build/video/tracks-editor.js +17 -11
  291. package/build/video/tracks-editor.js.map +1 -1
  292. package/build-module/archives/index.js +1 -0
  293. package/build-module/archives/index.js.map +1 -1
  294. package/build-module/avatar/index.js +1 -0
  295. package/build-module/avatar/index.js.map +1 -1
  296. package/build-module/block/edit.js +1 -0
  297. package/build-module/block/edit.js.map +1 -1
  298. package/build-module/button/edit.js +2 -1
  299. package/build-module/button/edit.js.map +1 -1
  300. package/build-module/button/index.js +1 -0
  301. package/build-module/button/index.js.map +1 -1
  302. package/build-module/buttons/edit.js +0 -2
  303. package/build-module/buttons/edit.js.map +1 -1
  304. package/build-module/calendar/index.js +1 -0
  305. package/build-module/calendar/index.js.map +1 -1
  306. package/build-module/categories/edit.js +2 -2
  307. package/build-module/categories/edit.js.map +1 -1
  308. package/build-module/categories/index.js +1 -0
  309. package/build-module/categories/index.js.map +1 -1
  310. package/build-module/column/edit.native.js +2 -1
  311. package/build-module/column/edit.native.js.map +1 -1
  312. package/build-module/columns/deprecated.js +1 -1
  313. package/build-module/columns/deprecated.js.map +1 -1
  314. package/build-module/comment-author-avatar/index.js +1 -0
  315. package/build-module/comment-author-avatar/index.js.map +1 -1
  316. package/build-module/comment-author-name/index.js +1 -0
  317. package/build-module/comment-author-name/index.js.map +1 -1
  318. package/build-module/comment-content/index.js +1 -0
  319. package/build-module/comment-content/index.js.map +1 -1
  320. package/build-module/comment-date/index.js +1 -0
  321. package/build-module/comment-date/index.js.map +1 -1
  322. package/build-module/comment-edit-link/index.js +1 -0
  323. package/build-module/comment-edit-link/index.js.map +1 -1
  324. package/build-module/comment-reply-link/index.js +1 -0
  325. package/build-module/comment-reply-link/index.js.map +1 -1
  326. package/build-module/comment-template/index.js +1 -0
  327. package/build-module/comment-template/index.js.map +1 -1
  328. package/build-module/comments/edit/comments-inspector-controls.js +1 -1
  329. package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
  330. package/build-module/comments/index.js +2 -1
  331. package/build-module/comments/index.js.map +1 -1
  332. package/build-module/comments-pagination/comments-pagination-arrow-controls.js +1 -0
  333. package/build-module/comments-pagination/comments-pagination-arrow-controls.js.map +1 -1
  334. package/build-module/comments-pagination/edit.js +3 -14
  335. package/build-module/comments-pagination/edit.js.map +1 -1
  336. package/build-module/comments-pagination/index.js +1 -0
  337. package/build-module/comments-pagination/index.js.map +1 -1
  338. package/build-module/comments-pagination-next/index.js +1 -0
  339. package/build-module/comments-pagination-next/index.js.map +1 -1
  340. package/build-module/comments-pagination-numbers/index.js +1 -0
  341. package/build-module/comments-pagination-numbers/index.js.map +1 -1
  342. package/build-module/comments-pagination-previous/index.js +1 -0
  343. package/build-module/comments-pagination-previous/index.js.map +1 -1
  344. package/build-module/cover/deprecated.js +155 -31
  345. package/build-module/cover/deprecated.js.map +1 -1
  346. package/build-module/cover/edit/index.js +4 -3
  347. package/build-module/cover/edit/index.js.map +1 -1
  348. package/build-module/cover/edit/inspector-controls.js +46 -5
  349. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  350. package/build-module/cover/edit.native.js +0 -4
  351. package/build-module/cover/edit.native.js.map +1 -1
  352. package/build-module/cover/index.js +4 -0
  353. package/build-module/cover/index.js.map +1 -1
  354. package/build-module/cover/save.js +3 -2
  355. package/build-module/cover/save.js.map +1 -1
  356. package/build-module/embed/variations.js +1 -1
  357. package/build-module/embed/variations.js.map +1 -1
  358. package/build-module/experiments.js +9 -0
  359. package/build-module/experiments.js.map +1 -0
  360. package/build-module/gallery/deprecated.js +6 -3
  361. package/build-module/gallery/deprecated.js.map +1 -1
  362. package/build-module/gallery/edit.js +50 -10
  363. package/build-module/gallery/edit.js.map +1 -1
  364. package/build-module/gallery/gallery.js +9 -35
  365. package/build-module/gallery/gallery.js.map +1 -1
  366. package/build-module/gallery/v1/edit.js +6 -6
  367. package/build-module/gallery/v1/edit.js.map +1 -1
  368. package/build-module/group/deprecated.js +1 -1
  369. package/build-module/group/deprecated.js.map +1 -1
  370. package/build-module/group/edit.js +1 -2
  371. package/build-module/group/edit.js.map +1 -1
  372. package/build-module/heading/index.js +1 -6
  373. package/build-module/heading/index.js.map +1 -1
  374. package/build-module/home-link/index.js +1 -0
  375. package/build-module/home-link/index.js.map +1 -1
  376. package/build-module/image/edit.native.js +2 -2
  377. package/build-module/image/edit.native.js.map +1 -1
  378. package/build-module/image/image.js +14 -17
  379. package/build-module/image/image.js.map +1 -1
  380. package/build-module/latest-comments/index.js +1 -0
  381. package/build-module/latest-comments/index.js.map +1 -1
  382. package/build-module/latest-posts/deprecated.js +1 -0
  383. package/build-module/latest-posts/deprecated.js.map +1 -1
  384. package/build-module/latest-posts/index.js +1 -0
  385. package/build-module/latest-posts/index.js.map +1 -1
  386. package/build-module/list/ordered-list-settings.js +1 -0
  387. package/build-module/list/ordered-list-settings.js.map +1 -1
  388. package/build-module/loginout/index.js +1 -0
  389. package/build-module/loginout/index.js.map +1 -1
  390. package/build-module/media-text/edit.js +2 -3
  391. package/build-module/media-text/edit.js.map +1 -1
  392. package/build-module/missing/edit.native.js +4 -4
  393. package/build-module/missing/edit.native.js.map +1 -1
  394. package/build-module/navigation/edit/deleted-navigation-warning.js +21 -0
  395. package/build-module/navigation/edit/deleted-navigation-warning.js.map +1 -0
  396. package/build-module/navigation/edit/index.js +18 -11
  397. package/build-module/navigation/edit/index.js.map +1 -1
  398. package/build-module/navigation/edit/inner-blocks.js +0 -5
  399. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  400. package/build-module/navigation/edit/manage-menus-button.js +10 -3
  401. package/build-module/navigation/edit/manage-menus-button.js.map +1 -1
  402. package/build-module/navigation/edit/menu-inspector-controls.js +38 -49
  403. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
  404. package/build-module/navigation/edit/navigation-menu-delete-control.js +0 -1
  405. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  406. package/build-module/navigation/edit/navigation-menu-name-control.js +1 -0
  407. package/build-module/navigation/edit/navigation-menu-name-control.js.map +1 -1
  408. package/build-module/navigation/edit/navigation-menu-selector.js +13 -54
  409. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  410. package/build-module/navigation/edit/overlay-menu-preview.js +1 -0
  411. package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -1
  412. package/build-module/navigation/edit/placeholder/index.js +1 -6
  413. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  414. package/build-module/navigation/index.js +5 -0
  415. package/build-module/navigation/index.js.map +1 -1
  416. package/build-module/navigation/menu-items-to-blocks.js +0 -2
  417. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  418. package/build-module/navigation-link/edit.js +16 -7
  419. package/build-module/navigation-link/edit.js.map +1 -1
  420. package/build-module/navigation-submenu/edit.js +4 -0
  421. package/build-module/navigation-submenu/edit.js.map +1 -1
  422. package/build-module/navigation-submenu/index.js +14 -4
  423. package/build-module/navigation-submenu/index.js.map +1 -1
  424. package/build-module/page-list/edit.js +155 -132
  425. package/build-module/page-list/edit.js.map +1 -1
  426. package/build-module/page-list/index.js +3 -12
  427. package/build-module/page-list/index.js.map +1 -1
  428. package/build-module/page-list/{convert-to-navigation-links.js → use-convert-to-navigation-links.js} +37 -7
  429. package/build-module/page-list/use-convert-to-navigation-links.js.map +1 -0
  430. package/build-module/page-list-item/edit.js +3 -2
  431. package/build-module/page-list-item/edit.js.map +1 -1
  432. package/build-module/page-list-item/index.js +1 -1
  433. package/build-module/page-list-item/index.js.map +1 -1
  434. package/build-module/paragraph/edit.js +1 -1
  435. package/build-module/paragraph/edit.js.map +1 -1
  436. package/build-module/paragraph/index.js +1 -6
  437. package/build-module/paragraph/index.js.map +1 -1
  438. package/build-module/post-author/index.js +1 -0
  439. package/build-module/post-author/index.js.map +1 -1
  440. package/build-module/post-author-biography/index.js +1 -0
  441. package/build-module/post-author-biography/index.js.map +1 -1
  442. package/build-module/post-author-name/index.js +1 -1
  443. package/build-module/post-comment/edit.js +1 -0
  444. package/build-module/post-comment/edit.js.map +1 -1
  445. package/build-module/post-comments-count/index.js +1 -0
  446. package/build-module/post-comments-count/index.js.map +1 -1
  447. package/build-module/post-comments-form/index.js +1 -0
  448. package/build-module/post-comments-form/index.js.map +1 -1
  449. package/build-module/post-comments-link/index.js +1 -0
  450. package/build-module/post-comments-link/index.js.map +1 -1
  451. package/build-module/post-content/edit.js +2 -20
  452. package/build-module/post-content/edit.js.map +1 -1
  453. package/build-module/post-content/index.js +1 -0
  454. package/build-module/post-content/index.js.map +1 -1
  455. package/build-module/post-date/index.js +1 -0
  456. package/build-module/post-date/index.js.map +1 -1
  457. package/build-module/post-excerpt/edit.js +6 -1
  458. package/build-module/post-excerpt/edit.js.map +1 -1
  459. package/build-module/post-excerpt/index.js +1 -0
  460. package/build-module/post-excerpt/index.js.map +1 -1
  461. package/build-module/post-featured-image/dimension-controls.js +2 -1
  462. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  463. package/build-module/post-featured-image/edit.js +39 -22
  464. package/build-module/post-featured-image/edit.js.map +1 -1
  465. package/build-module/post-featured-image/index.js +1 -0
  466. package/build-module/post-featured-image/index.js.map +1 -1
  467. package/build-module/post-featured-image/overlay.js +1 -1
  468. package/build-module/post-featured-image/overlay.js.map +1 -1
  469. package/build-module/post-navigation-link/edit.js +1 -0
  470. package/build-module/post-navigation-link/edit.js.map +1 -1
  471. package/build-module/post-navigation-link/index.js +1 -0
  472. package/build-module/post-navigation-link/index.js.map +1 -1
  473. package/build-module/post-template/edit.js +6 -4
  474. package/build-module/post-template/edit.js.map +1 -1
  475. package/build-module/post-template/index.js +1 -0
  476. package/build-module/post-template/index.js.map +1 -1
  477. package/build-module/post-terms/edit.js +4 -3
  478. package/build-module/post-terms/edit.js.map +1 -1
  479. package/build-module/post-terms/index.js +1 -0
  480. package/build-module/post-terms/index.js.map +1 -1
  481. package/build-module/post-title/edit.js +1 -0
  482. package/build-module/post-title/edit.js.map +1 -1
  483. package/build-module/post-title/index.js +1 -0
  484. package/build-module/post-title/index.js.map +1 -1
  485. package/build-module/query/deprecated.js +87 -1
  486. package/build-module/query/deprecated.js.map +1 -1
  487. package/build-module/query/edit/index.js +4 -50
  488. package/build-module/query/edit/index.js.map +1 -1
  489. package/build-module/query/edit/inspector-controls/index.js +1 -0
  490. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  491. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +2 -2
  492. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  493. package/build-module/query/edit/pattern-selection-modal.js +75 -0
  494. package/build-module/query/edit/pattern-selection-modal.js.map +1 -0
  495. package/build-module/query/edit/query-content.js +4 -25
  496. package/build-module/query/edit/query-content.js.map +1 -1
  497. package/build-module/query/edit/query-placeholder.js +2 -2
  498. package/build-module/query/edit/query-placeholder.js.map +1 -1
  499. package/build-module/query/edit/query-toolbar.js +6 -10
  500. package/build-module/query/edit/query-toolbar.js.map +1 -1
  501. package/build-module/query/index.js +1 -0
  502. package/build-module/query/index.js.map +1 -1
  503. package/build-module/query/utils.js +21 -2
  504. package/build-module/query/utils.js.map +1 -1
  505. package/build-module/query-no-results/index.js +1 -0
  506. package/build-module/query-no-results/index.js.map +1 -1
  507. package/build-module/query-pagination/edit.js +3 -14
  508. package/build-module/query-pagination/edit.js.map +1 -1
  509. package/build-module/query-pagination/index.js +1 -0
  510. package/build-module/query-pagination/index.js.map +1 -1
  511. package/build-module/query-pagination/query-pagination-arrow-controls.js +1 -0
  512. package/build-module/query-pagination/query-pagination-arrow-controls.js.map +1 -1
  513. package/build-module/query-pagination-next/index.js +1 -0
  514. package/build-module/query-pagination-next/index.js.map +1 -1
  515. package/build-module/query-pagination-numbers/index.js +1 -0
  516. package/build-module/query-pagination-numbers/index.js.map +1 -1
  517. package/build-module/query-pagination-previous/index.js +1 -0
  518. package/build-module/query-pagination-previous/index.js.map +1 -1
  519. package/build-module/query-title/index.js +1 -0
  520. package/build-module/query-title/index.js.map +1 -1
  521. package/build-module/read-more/index.js +1 -0
  522. package/build-module/read-more/index.js.map +1 -1
  523. package/build-module/rss/edit.js +6 -3
  524. package/build-module/rss/edit.js.map +1 -1
  525. package/build-module/rss/index.js +1 -0
  526. package/build-module/rss/index.js.map +1 -1
  527. package/build-module/search/index.js +1 -0
  528. package/build-module/search/index.js.map +1 -1
  529. package/build-module/site-logo/edit.js +10 -14
  530. package/build-module/site-logo/edit.js.map +1 -1
  531. package/build-module/site-logo/index.js +1 -0
  532. package/build-module/site-logo/index.js.map +1 -1
  533. package/build-module/site-tagline/index.js +1 -0
  534. package/build-module/site-tagline/index.js.map +1 -1
  535. package/build-module/site-title/index.js +1 -0
  536. package/build-module/site-title/index.js.map +1 -1
  537. package/build-module/social-link/edit.js +3 -1
  538. package/build-module/social-link/edit.js.map +1 -1
  539. package/build-module/social-link/index.js +1 -0
  540. package/build-module/social-link/index.js.map +1 -1
  541. package/build-module/social-links/edit.js +3 -14
  542. package/build-module/social-links/edit.js.map +1 -1
  543. package/build-module/table/edit.js +9 -5
  544. package/build-module/table/edit.js.map +1 -1
  545. package/build-module/table/index.js +15 -0
  546. package/build-module/table/index.js.map +1 -1
  547. package/build-module/table/save.js +4 -2
  548. package/build-module/table/save.js.map +1 -1
  549. package/build-module/table/state.js +1 -1
  550. package/build-module/table/state.js.map +1 -1
  551. package/build-module/table/transforms.js +46 -3
  552. package/build-module/table/transforms.js.map +1 -1
  553. package/build-module/table/utils.js +19 -0
  554. package/build-module/table/utils.js.map +1 -0
  555. package/build-module/tag-cloud/edit.js +4 -9
  556. package/build-module/tag-cloud/edit.js.map +1 -1
  557. package/build-module/tag-cloud/index.js +1 -0
  558. package/build-module/tag-cloud/index.js.map +1 -1
  559. package/build-module/template-part/edit/advanced-controls.js +2 -1
  560. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  561. package/build-module/template-part/edit/index.js +0 -1
  562. package/build-module/template-part/edit/index.js.map +1 -1
  563. package/build-module/template-part/edit/selection-modal.js +1 -1
  564. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  565. package/build-module/template-part/edit/title-modal.js +7 -6
  566. package/build-module/template-part/edit/title-modal.js.map +1 -1
  567. package/build-module/template-part/edit/utils/hooks.js +2 -2
  568. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  569. package/build-module/template-part/index.js +1 -0
  570. package/build-module/template-part/index.js.map +1 -1
  571. package/build-module/term-description/index.js +1 -0
  572. package/build-module/term-description/index.js.map +1 -1
  573. package/build-module/utils/init-block.js +1 -1
  574. package/build-module/utils/init-block.js.map +1 -1
  575. package/build-module/utils/init-block.native.js +1 -1
  576. package/build-module/utils/init-block.native.js.map +1 -1
  577. package/build-module/{template-part/edit/utils/search.js → utils/search-patterns.js} +3 -5
  578. package/build-module/utils/search-patterns.js.map +1 -0
  579. package/build-module/video/tracks-editor.js +18 -12
  580. package/build-module/video/tracks-editor.js.map +1 -1
  581. package/build-style/common-rtl.css +14 -0
  582. package/build-style/common.css +14 -0
  583. package/build-style/editor-rtl.css +14 -67
  584. package/build-style/editor.css +14 -67
  585. package/build-style/post-excerpt/style-rtl.css +15 -0
  586. package/build-style/post-excerpt/style.css +15 -0
  587. package/build-style/query/editor-rtl.css +11 -14
  588. package/build-style/query/editor.css +11 -14
  589. package/build-style/rss/editor-rtl.css +3 -16
  590. package/build-style/rss/editor.css +3 -16
  591. package/build-style/style-rtl.css +29 -0
  592. package/build-style/style.css +29 -0
  593. package/build-style/table/editor-rtl.css +0 -3
  594. package/build-style/table/editor.css +0 -3
  595. package/build-style/video/editor-rtl.css +0 -34
  596. package/build-style/video/editor.css +0 -34
  597. package/package.json +30 -29
  598. package/src/archives/block.json +1 -0
  599. package/src/avatar/block.json +1 -0
  600. package/src/block/edit.js +1 -0
  601. package/src/button/block.json +1 -0
  602. package/src/button/edit.js +2 -1
  603. package/src/buttons/edit.js +2 -2
  604. package/src/calendar/block.json +1 -0
  605. package/src/calendar/index.php +4 -2
  606. package/src/categories/block.json +1 -0
  607. package/src/categories/edit.js +2 -2
  608. package/src/column/edit.native.js +6 -1
  609. package/src/columns/deprecated.js +1 -1
  610. package/src/comment-author-avatar/block.json +1 -0
  611. package/src/comment-author-name/block.json +1 -0
  612. package/src/comment-author-name/index.php +6 -3
  613. package/src/comment-content/block.json +1 -0
  614. package/src/comment-content/index.php +6 -3
  615. package/src/comment-date/block.json +1 -0
  616. package/src/comment-date/index.php +1 -1
  617. package/src/comment-edit-link/block.json +1 -0
  618. package/src/comment-edit-link/index.php +6 -3
  619. package/src/comment-reply-link/block.json +1 -0
  620. package/src/comment-reply-link/index.php +6 -3
  621. package/src/comment-template/block.json +1 -0
  622. package/src/comments/block.json +2 -1
  623. package/src/comments/edit/comments-inspector-controls.js +1 -1
  624. package/src/comments-pagination/block.json +1 -0
  625. package/src/comments-pagination/comments-pagination-arrow-controls.js +1 -0
  626. package/src/comments-pagination/edit.js +1 -13
  627. package/src/comments-pagination/index.php +4 -1
  628. package/src/comments-pagination-next/block.json +1 -0
  629. package/src/comments-pagination-numbers/block.json +1 -0
  630. package/src/comments-pagination-previous/block.json +1 -0
  631. package/src/common.scss +19 -0
  632. package/src/cover/block.json +4 -0
  633. package/src/cover/deprecated.js +173 -6
  634. package/src/cover/edit/index.js +5 -4
  635. package/src/cover/edit/inspector-controls.js +45 -2
  636. package/src/cover/edit.native.js +0 -3
  637. package/src/cover/save.js +3 -2
  638. package/src/embed/variations.js +1 -1
  639. package/src/experiments.js +10 -0
  640. package/src/gallery/deprecated.js +2 -3
  641. package/src/gallery/edit.js +66 -5
  642. package/src/gallery/gallery.js +27 -44
  643. package/src/gallery/index.php +1 -1
  644. package/src/gallery/v1/edit.js +8 -9
  645. package/src/group/deprecated.js +3 -1
  646. package/src/group/edit.js +1 -2
  647. package/src/heading/index.js +1 -6
  648. package/src/home-link/block.json +1 -0
  649. package/src/image/edit.native.js +2 -3
  650. package/src/image/image.js +17 -22
  651. package/src/latest-comments/block.json +1 -0
  652. package/src/latest-posts/block.json +1 -0
  653. package/src/latest-posts/index.php +9 -10
  654. package/src/list/ordered-list-settings.js +1 -0
  655. package/src/loginout/block.json +1 -0
  656. package/src/media-text/edit.js +3 -7
  657. package/src/missing/edit.native.js +3 -4
  658. package/src/missing/test/edit.native.js +2 -2
  659. package/src/navigation/block.json +2 -0
  660. package/src/navigation/edit/deleted-navigation-warning.js +19 -0
  661. package/src/navigation/edit/index.js +22 -24
  662. package/src/navigation/edit/inner-blocks.js +0 -6
  663. package/src/navigation/edit/manage-menus-button.js +24 -13
  664. package/src/navigation/edit/menu-inspector-controls.js +51 -74
  665. package/src/navigation/edit/navigation-menu-delete-control.js +0 -1
  666. package/src/navigation/edit/navigation-menu-name-control.js +1 -0
  667. package/src/navigation/edit/navigation-menu-selector.js +12 -77
  668. package/src/navigation/edit/overlay-menu-preview.js +1 -0
  669. package/src/navigation/edit/placeholder/index.js +0 -6
  670. package/src/navigation/index.js +3 -0
  671. package/src/navigation/index.php +27 -9
  672. package/src/navigation/menu-items-to-blocks.js +0 -2
  673. package/src/navigation-link/edit.js +16 -7
  674. package/src/navigation-link/index.php +2 -34
  675. package/src/navigation-submenu/edit.js +4 -0
  676. package/src/navigation-submenu/index.js +8 -2
  677. package/src/navigation-submenu/index.php +2 -34
  678. package/src/page-list/block.json +1 -0
  679. package/src/page-list/edit.js +196 -161
  680. package/src/page-list/index.js +2 -8
  681. package/src/page-list/test/convert-to-links-modal.js +1 -1
  682. package/src/page-list/{convert-to-navigation-links.js → use-convert-to-navigation-links.js} +36 -6
  683. package/src/page-list-item/edit.js +3 -2
  684. package/src/page-list-item/index.js +1 -1
  685. package/src/paragraph/edit.js +1 -1
  686. package/src/paragraph/index.js +1 -6
  687. package/src/post-author/block.json +1 -0
  688. package/src/post-author/index.php +10 -4
  689. package/src/post-author-biography/block.json +1 -0
  690. package/src/post-author-name/block.json +1 -1
  691. package/src/post-author-name/index.php +9 -4
  692. package/src/post-comment/edit.js +1 -0
  693. package/src/post-comments-count/block.json +1 -0
  694. package/src/post-comments-form/block.json +1 -0
  695. package/src/post-comments-form/index.php +6 -4
  696. package/src/post-comments-link/block.json +1 -0
  697. package/src/post-comments-link/index.php +8 -2
  698. package/src/post-content/block.json +1 -0
  699. package/src/post-content/edit.js +2 -13
  700. package/src/post-date/block.json +1 -0
  701. package/src/post-date/index.php +10 -3
  702. package/src/post-excerpt/block.json +1 -0
  703. package/src/post-excerpt/edit.js +22 -12
  704. package/src/post-excerpt/index.php +6 -3
  705. package/src/post-excerpt/style.scss +18 -0
  706. package/src/post-featured-image/block.json +1 -0
  707. package/src/post-featured-image/dimension-controls.js +2 -1
  708. package/src/post-featured-image/edit.js +46 -27
  709. package/src/post-featured-image/index.php +19 -6
  710. package/src/post-featured-image/overlay.js +1 -1
  711. package/src/post-navigation-link/block.json +1 -0
  712. package/src/post-navigation-link/edit.js +1 -0
  713. package/src/post-template/block.json +1 -0
  714. package/src/post-template/edit.js +4 -3
  715. package/src/post-template/index.php +4 -1
  716. package/src/post-terms/block.json +1 -0
  717. package/src/post-terms/edit.js +4 -3
  718. package/src/post-terms/index.php +6 -3
  719. package/src/post-title/block.json +1 -0
  720. package/src/post-title/edit.js +1 -0
  721. package/src/post-title/index.php +10 -4
  722. package/src/preformatted/test/__snapshots__/edit.native.js.snap +0 -2
  723. package/src/query/block.json +1 -0
  724. package/src/query/deprecated.js +77 -1
  725. package/src/query/edit/index.js +4 -60
  726. package/src/query/edit/inspector-controls/index.js +1 -0
  727. package/src/query/edit/inspector-controls/taxonomy-controls.js +2 -2
  728. package/src/query/edit/pattern-selection-modal.js +86 -0
  729. package/src/query/edit/query-content.js +1 -12
  730. package/src/query/edit/query-placeholder.js +4 -8
  731. package/src/query/edit/query-toolbar.js +6 -16
  732. package/src/query/editor.scss +21 -19
  733. package/src/query/utils.js +22 -8
  734. package/src/query-no-results/block.json +1 -0
  735. package/src/query-no-results/index.php +3 -1
  736. package/src/query-pagination/block.json +1 -0
  737. package/src/query-pagination/edit.js +1 -13
  738. package/src/query-pagination/index.php +2 -0
  739. package/src/query-pagination/query-pagination-arrow-controls.js +1 -0
  740. package/src/query-pagination-next/block.json +1 -0
  741. package/src/query-pagination-numbers/block.json +1 -0
  742. package/src/query-pagination-previous/block.json +1 -0
  743. package/src/query-title/block.json +1 -0
  744. package/src/read-more/block.json +1 -0
  745. package/src/rss/block.json +1 -0
  746. package/src/rss/edit.js +16 -12
  747. package/src/rss/editor.scss +4 -15
  748. package/src/search/block.json +1 -0
  749. package/src/search/index.php +2 -2
  750. package/src/site-logo/block.json +1 -0
  751. package/src/site-logo/edit.js +9 -16
  752. package/src/site-tagline/block.json +1 -0
  753. package/src/site-title/block.json +1 -0
  754. package/src/site-title/index.php +6 -3
  755. package/src/social-link/block.json +1 -0
  756. package/src/social-link/edit.js +3 -1
  757. package/src/social-links/edit.js +1 -14
  758. package/src/table/block.json +15 -0
  759. package/src/table/edit.js +38 -26
  760. package/src/table/editor.scss +0 -6
  761. package/src/table/save.js +9 -1
  762. package/src/table/state.js +1 -1
  763. package/src/table/test/utils.js +20 -0
  764. package/src/table/transforms.js +65 -2
  765. package/src/table/utils.js +18 -0
  766. package/src/tag-cloud/block.json +1 -0
  767. package/src/tag-cloud/edit.js +12 -15
  768. package/src/template-part/block.json +1 -0
  769. package/src/template-part/edit/advanced-controls.js +2 -1
  770. package/src/template-part/edit/index.js +0 -1
  771. package/src/template-part/edit/selection-modal.js +1 -1
  772. package/src/template-part/edit/title-modal.js +12 -15
  773. package/src/template-part/edit/utils/hooks.js +3 -8
  774. package/src/template-part/index.php +19 -7
  775. package/src/term-description/block.json +1 -0
  776. package/src/term-description/index.php +8 -4
  777. package/src/utils/init-block.js +1 -1
  778. package/src/utils/init-block.native.js +1 -1
  779. package/src/{template-part/edit/utils/search.js → utils/search-patterns.js} +2 -2
  780. package/src/utils/test/search-patterns.js +58 -0
  781. package/src/video/editor.scss +0 -35
  782. package/src/video/tracks-editor.js +65 -51
  783. package/tsconfig.tsbuildinfo +1 -1
  784. package/build/page-list/constants.js +0 -15
  785. package/build/page-list/constants.js.map +0 -1
  786. package/build/page-list/convert-to-links-modal.js +0 -83
  787. package/build/page-list/convert-to-links-modal.js.map +0 -1
  788. package/build/page-list/convert-to-navigation-links.js.map +0 -1
  789. package/build/template-part/edit/utils/search.js.map +0 -1
  790. package/build-module/page-list/constants.js +0 -6
  791. package/build-module/page-list/constants.js.map +0 -1
  792. package/build-module/page-list/convert-to-links-modal.js +0 -68
  793. package/build-module/page-list/convert-to-links-modal.js.map +0 -1
  794. package/build-module/page-list/convert-to-navigation-links.js.map +0 -1
  795. package/build-module/template-part/edit/utils/search.js.map +0 -1
  796. package/src/page-list/constants.js +0 -8
  797. package/src/page-list/convert-to-links-modal.js +0 -70
@@ -31,8 +31,6 @@ var _useNavigationEntities = _interopRequireDefault(require("../use-navigation-e
31
31
  * Internal dependencies
32
32
  */
33
33
  function NavigationMenuSelector(_ref) {
34
- var _window;
35
-
36
34
  let {
37
35
  currentMenuId,
38
36
  onSelectNavigationMenu,
@@ -40,16 +38,12 @@ function NavigationMenuSelector(_ref) {
40
38
  onCreateNew,
41
39
  actionLabel,
42
40
  createNavigationMenuIsSuccess,
43
- createNavigationMenuIsError,
44
- toggleProps = {}
41
+ createNavigationMenuIsError
45
42
  } = _ref;
46
- const isOffCanvasNavigationEditorEnabled = ((_window = window) === null || _window === void 0 ? void 0 : _window.__experimentalEnableOffCanvasNavigationEditor) === true;
47
- /* translators: %s: The name of a menu. */
48
43
 
44
+ /* translators: %s: The name of a menu. */
49
45
  const createActionLabel = (0, _i18n.__)("Create from '%s'");
50
46
  const [selectorLabel, setSelectorLabel] = (0, _element.useState)('');
51
- const [isPressed, setIsPressed] = (0, _element.useState)(false);
52
- const [enableOptions, setEnableOptions] = (0, _element.useState)(false);
53
47
  const [isCreatingMenu, setIsCreatingMenu] = (0, _element.useState)(false);
54
48
  actionLabel = actionLabel || createActionLabel;
55
49
  const {
@@ -63,20 +57,20 @@ function NavigationMenuSelector(_ref) {
63
57
  canSwitchNavigationMenu
64
58
  } = (0, _useNavigationMenu.default)();
65
59
  const [currentTitle] = (0, _coreData.useEntityProp)('postType', 'wp_navigation', 'title');
66
- const shouldEnableMenuSelector = (canSwitchNavigationMenu || canUserCreateNavigationMenu) && hasResolvedNavigationMenus && !isCreatingMenu;
67
60
  const menuChoices = (0, _element.useMemo)(() => {
68
- return (navigationMenus === null || navigationMenus === void 0 ? void 0 : navigationMenus.map(_ref2 => {
61
+ return (navigationMenus === null || navigationMenus === void 0 ? void 0 : navigationMenus.map((_ref2, index) => {
69
62
  let {
70
63
  id,
71
64
  title
72
65
  } = _ref2;
73
- const label = (0, _htmlEntities.decodeEntities)(title.rendered);
66
+ const label = (0, _htmlEntities.decodeEntities)(title.rendered) ||
67
+ /* translators: %s is the index of the menu in the list of menus. */
68
+ (0, _i18n.sprintf)((0, _i18n.__)('(no title %s)'), index + 1);
74
69
 
75
70
  if (id === currentMenuId && !isCreatingMenu) {
76
71
  setSelectorLabel(
77
72
  /* translators: %s is the name of a navigation menu. */
78
73
  (0, _i18n.sprintf)((0, _i18n.__)('You are currently editing %s'), label));
79
- setEnableOptions(shouldEnableMenuSelector);
80
74
  }
81
75
 
82
76
  return {
@@ -98,52 +92,18 @@ function NavigationMenuSelector(_ref) {
98
92
  setSelectorLabel((0, _i18n.__)('Loading …'));
99
93
  } else if (noMenuSelected || noBlockMenus || menuUnavailable) {
100
94
  setSelectorLabel((0, _i18n.__)('Choose a Navigation menu'));
101
- setEnableOptions(shouldEnableMenuSelector);
102
95
  }
103
96
 
104
97
  if (isCreatingMenu && (createNavigationMenuIsSuccess || createNavigationMenuIsError)) {
105
98
  setIsCreatingMenu(false);
106
99
  }
107
100
  }, [currentMenuId, hasNavigationMenus, hasResolvedNavigationMenus, createNavigationMenuIsSuccess, isNavigationMenuResolved]);
108
- toggleProps = { ...toggleProps,
109
- className: 'wp-block-navigation__navigation-selector-button',
110
- children: (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.VisuallyHidden, {
111
- as: "span"
112
- }, (0, _i18n.__)('Select Menu')), (0, _element.createElement)(_icons.Icon, {
113
- icon: isPressed ? _icons.chevronUp : _icons.chevronDown,
114
- className: "wp-block-navigation__navigation-selector-button__icon"
115
- })),
116
- isBusy: !enableOptions,
117
- disabled: !enableOptions,
118
- __experimentalIsFocusable: true,
119
- onClick: () => {
120
- setIsPressed(!isPressed);
121
- }
122
- };
123
-
124
- if (!hasNavigationMenus && !hasClassicMenus && !isOffCanvasNavigationEditorEnabled) {
125
- return (0, _element.createElement)(_components.Button, {
126
- className: "wp-block-navigation__navigation-selector-button--createnew",
127
- isBusy: !enableOptions,
128
- disabled: !enableOptions,
129
- __experimentalIsFocusable: true,
130
- onClick: () => {
131
- onCreateNew();
132
- setIsCreatingMenu(true);
133
- setSelectorLabel((0, _i18n.__)('Loading …'));
134
- setEnableOptions(false);
135
- }
136
- }, (0, _i18n.__)('Create new menu'));
137
- }
138
-
139
- return (0, _element.createElement)(_components.DropdownMenu, {
140
- className: isOffCanvasNavigationEditorEnabled ? '' : 'wp-block-navigation__navigation-selector',
101
+ const NavigationMenuSelectorDropdown = (0, _element.createElement)(_components.DropdownMenu, {
141
102
  label: selectorLabel,
142
- text: isOffCanvasNavigationEditorEnabled ? '' : selectorLabel,
143
- icon: isOffCanvasNavigationEditorEnabled ? _icons.moreVertical : null,
144
- toggleProps: isOffCanvasNavigationEditorEnabled ? {
103
+ icon: _icons.moreVertical,
104
+ toggleProps: {
145
105
  isSmall: true
146
- } : toggleProps
106
+ }
147
107
  }, _ref3 => {
148
108
  let {
149
109
  onClose
@@ -163,7 +123,6 @@ function NavigationMenuSelector(_ref) {
163
123
  return (0, _element.createElement)(_components.MenuItem, {
164
124
  onClick: () => {
165
125
  setSelectorLabel((0, _i18n.__)('Loading …'));
166
- setEnableOptions(false);
167
126
  onSelectClassicMenu(menu);
168
127
  onClose();
169
128
  },
@@ -178,10 +137,10 @@ function NavigationMenuSelector(_ref) {
178
137
  onCreateNew();
179
138
  setIsCreatingMenu(true);
180
139
  setSelectorLabel((0, _i18n.__)('Loading …'));
181
- setEnableOptions(false);
182
140
  }
183
141
  }, (0, _i18n.__)('Create new menu'))));
184
142
  });
143
+ return NavigationMenuSelectorDropdown;
185
144
  }
186
145
 
187
146
  var _default = NavigationMenuSelector;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"names":["NavigationMenuSelector","currentMenuId","onSelectNavigationMenu","onSelectClassicMenu","onCreateNew","actionLabel","createNavigationMenuIsSuccess","createNavigationMenuIsError","toggleProps","isOffCanvasNavigationEditorEnabled","window","__experimentalEnableOffCanvasNavigationEditor","createActionLabel","selectorLabel","setSelectorLabel","isPressed","setIsPressed","enableOptions","setEnableOptions","isCreatingMenu","setIsCreatingMenu","menus","classicMenus","navigationMenus","hasResolvedNavigationMenus","isNavigationMenuResolved","canUserCreateNavigationMenu","canSwitchNavigationMenu","currentTitle","shouldEnableMenuSelector","menuChoices","map","id","title","label","rendered","value","ariaLabel","hasNavigationMenus","length","hasClassicMenus","showNavigationMenus","showClassicMenus","noMenuSelected","noBlockMenus","menuUnavailable","className","children","chevronUp","chevronDown","isBusy","disabled","__experimentalIsFocusable","onClick","moreVertical","isSmall","onClose","menuId","menu","name"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tDropdownMenu,\n\tButton,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { Icon, chevronUp, chevronDown, moreVertical } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\n\nfunction NavigationMenuSelector( {\n\tcurrentMenuId,\n\tonSelectNavigationMenu,\n\tonSelectClassicMenu,\n\tonCreateNew,\n\tactionLabel,\n\tcreateNavigationMenuIsSuccess,\n\tcreateNavigationMenuIsError,\n\ttoggleProps = {},\n} ) {\n\tconst isOffCanvasNavigationEditorEnabled =\n\t\twindow?.__experimentalEnableOffCanvasNavigationEditor === true;\n\t/* translators: %s: The name of a menu. */\n\tconst createActionLabel = __( \"Create from '%s'\" );\n\n\tconst [ selectorLabel, setSelectorLabel ] = useState( '' );\n\tconst [ isPressed, setIsPressed ] = useState( false );\n\tconst [ enableOptions, setEnableOptions ] = useState( false );\n\tconst [ isCreatingMenu, setIsCreatingMenu ] = useState( false );\n\n\tactionLabel = actionLabel || createActionLabel;\n\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst {\n\t\tnavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tcanUserCreateNavigationMenu,\n\t\tcanSwitchNavigationMenu,\n\t} = useNavigationMenu();\n\n\tconst [ currentTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_navigation',\n\t\t'title'\n\t);\n\n\tconst shouldEnableMenuSelector =\n\t\t( canSwitchNavigationMenu || canUserCreateNavigationMenu ) &&\n\t\thasResolvedNavigationMenus &&\n\t\t! isCreatingMenu;\n\n\tconst menuChoices = useMemo( () => {\n\t\treturn (\n\t\t\tnavigationMenus?.map( ( { id, title } ) => {\n\t\t\t\tconst label = decodeEntities( title.rendered );\n\t\t\t\tif ( id === currentMenuId && ! isCreatingMenu ) {\n\t\t\t\t\tsetSelectorLabel(\n\t\t\t\t\t\t/* translators: %s is the name of a navigation menu. */\n\t\t\t\t\t\tsprintf( __( 'You are currently editing %s' ), label )\n\t\t\t\t\t);\n\t\t\t\t\tsetEnableOptions( shouldEnableMenuSelector );\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tvalue: id,\n\t\t\t\t\tlabel,\n\t\t\t\t\tariaLabel: sprintf( actionLabel, label ),\n\t\t\t\t};\n\t\t\t} ) || []\n\t\t);\n\t}, [\n\t\tcurrentTitle,\n\t\tcurrentMenuId,\n\t\tnavigationMenus,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisNavigationMenuResolved,\n\t\thasResolvedNavigationMenus,\n\t] );\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\tconst hasClassicMenus = !! classicMenus?.length;\n\tconst showNavigationMenus = !! canSwitchNavigationMenu;\n\tconst showClassicMenus = !! canUserCreateNavigationMenu;\n\n\tconst noMenuSelected = hasNavigationMenus && ! currentMenuId;\n\tconst noBlockMenus = ! hasNavigationMenus && hasResolvedNavigationMenus;\n\tconst menuUnavailable =\n\t\thasResolvedNavigationMenus && currentMenuId === null;\n\n\tuseEffect( () => {\n\t\tif ( ! hasResolvedNavigationMenus ) {\n\t\t\tsetSelectorLabel( __( 'Loading …' ) );\n\t\t} else if ( noMenuSelected || noBlockMenus || menuUnavailable ) {\n\t\t\tsetSelectorLabel( __( 'Choose a Navigation menu' ) );\n\t\t\tsetEnableOptions( shouldEnableMenuSelector );\n\t\t}\n\n\t\tif (\n\t\t\tisCreatingMenu &&\n\t\t\t( createNavigationMenuIsSuccess || createNavigationMenuIsError )\n\t\t) {\n\t\t\tsetIsCreatingMenu( false );\n\t\t}\n\t}, [\n\t\tcurrentMenuId,\n\t\thasNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisNavigationMenuResolved,\n\t] );\n\n\ttoggleProps = {\n\t\t...toggleProps,\n\t\tclassName: 'wp-block-navigation__navigation-selector-button',\n\t\tchildren: (\n\t\t\t<>\n\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t{ __( 'Select Menu' ) }\n\t\t\t\t</VisuallyHidden>\n\t\t\t\t<Icon\n\t\t\t\t\ticon={ isPressed ? chevronUp : chevronDown }\n\t\t\t\t\tclassName=\"wp-block-navigation__navigation-selector-button__icon\"\n\t\t\t\t/>\n\t\t\t</>\n\t\t),\n\t\tisBusy: ! enableOptions,\n\t\tdisabled: ! enableOptions,\n\t\t__experimentalIsFocusable: true,\n\t\tonClick: () => {\n\t\t\tsetIsPressed( ! isPressed );\n\t\t},\n\t};\n\n\tif (\n\t\t! hasNavigationMenus &&\n\t\t! hasClassicMenus &&\n\t\t! isOffCanvasNavigationEditorEnabled\n\t) {\n\t\treturn (\n\t\t\t<Button\n\t\t\t\tclassName=\"wp-block-navigation__navigation-selector-button--createnew\"\n\t\t\t\tisBusy={ ! enableOptions }\n\t\t\t\tdisabled={ ! enableOptions }\n\t\t\t\t__experimentalIsFocusable\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tonCreateNew();\n\t\t\t\t\tsetIsCreatingMenu( true );\n\t\t\t\t\tsetSelectorLabel( __( 'Loading …' ) );\n\t\t\t\t\tsetEnableOptions( false );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ __( 'Create new menu' ) }\n\t\t\t</Button>\n\t\t);\n\t}\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName={\n\t\t\t\tisOffCanvasNavigationEditorEnabled\n\t\t\t\t\t? ''\n\t\t\t\t\t: 'wp-block-navigation__navigation-selector'\n\t\t\t}\n\t\t\tlabel={ selectorLabel }\n\t\t\ttext={ isOffCanvasNavigationEditorEnabled ? '' : selectorLabel }\n\t\t\ticon={ isOffCanvasNavigationEditorEnabled ? moreVertical : null }\n\t\t\ttoggleProps={\n\t\t\t\tisOffCanvasNavigationEditorEnabled\n\t\t\t\t\t? { isSmall: true }\n\t\t\t\t\t: toggleProps\n\t\t\t}\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t{ showNavigationMenus && hasNavigationMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\t\tvalue={ currentMenuId }\n\t\t\t\t\t\t\t\tonSelect={ ( menuId ) => {\n\t\t\t\t\t\t\t\t\tonSelectNavigationMenu( menuId );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchoices={ menuChoices }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showClassicMenus && hasClassicMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Import Classic Menus' ) }>\n\t\t\t\t\t\t\t{ classicMenus?.map( ( menu ) => {\n\t\t\t\t\t\t\t\tconst label = decodeEntities( menu.name );\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetSelectorLabel(\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Loading …' )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\tsetEnableOptions( false );\n\t\t\t\t\t\t\t\t\t\t\tonSelectClassicMenu( menu );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\tcreateActionLabel,\n\t\t\t\t\t\t\t\t\t\t\tlabel\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\t\t{ label }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ canUserCreateNavigationMenu && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Tools' ) }>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\tonCreateNew();\n\t\t\t\t\t\t\t\t\tsetIsCreatingMenu( true );\n\t\t\t\t\t\t\t\t\tsetSelectorLabel( __( 'Loading …' ) );\n\t\t\t\t\t\t\t\t\tsetEnableOptions( false );\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{ __( 'Create new menu' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n\nexport default NavigationMenuSelector;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"names":["NavigationMenuSelector","currentMenuId","onSelectNavigationMenu","onSelectClassicMenu","onCreateNew","actionLabel","createNavigationMenuIsSuccess","createNavigationMenuIsError","createActionLabel","selectorLabel","setSelectorLabel","isCreatingMenu","setIsCreatingMenu","menus","classicMenus","navigationMenus","hasResolvedNavigationMenus","isNavigationMenuResolved","canUserCreateNavigationMenu","canSwitchNavigationMenu","currentTitle","menuChoices","map","index","id","title","label","rendered","value","ariaLabel","hasNavigationMenus","length","hasClassicMenus","showNavigationMenus","showClassicMenus","noMenuSelected","noBlockMenus","menuUnavailable","NavigationMenuSelectorDropdown","moreVertical","isSmall","onClose","menuId","menu","name"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tDropdownMenu,\n} from '@wordpress/components';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { moreVertical } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\n\nfunction NavigationMenuSelector( {\n\tcurrentMenuId,\n\tonSelectNavigationMenu,\n\tonSelectClassicMenu,\n\tonCreateNew,\n\tactionLabel,\n\tcreateNavigationMenuIsSuccess,\n\tcreateNavigationMenuIsError,\n} ) {\n\t/* translators: %s: The name of a menu. */\n\tconst createActionLabel = __( \"Create from '%s'\" );\n\n\tconst [ selectorLabel, setSelectorLabel ] = useState( '' );\n\tconst [ isCreatingMenu, setIsCreatingMenu ] = useState( false );\n\n\tactionLabel = actionLabel || createActionLabel;\n\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst {\n\t\tnavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tcanUserCreateNavigationMenu,\n\t\tcanSwitchNavigationMenu,\n\t} = useNavigationMenu();\n\n\tconst [ currentTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_navigation',\n\t\t'title'\n\t);\n\n\tconst menuChoices = useMemo( () => {\n\t\treturn (\n\t\t\tnavigationMenus?.map( ( { id, title }, index ) => {\n\t\t\t\tconst label =\n\t\t\t\t\tdecodeEntities( title.rendered ) ||\n\t\t\t\t\t/* translators: %s is the index of the menu in the list of menus. */\n\t\t\t\t\tsprintf( __( '(no title %s)' ), index + 1 );\n\n\t\t\t\tif ( id === currentMenuId && ! isCreatingMenu ) {\n\t\t\t\t\tsetSelectorLabel(\n\t\t\t\t\t\t/* translators: %s is the name of a navigation menu. */\n\t\t\t\t\t\tsprintf( __( 'You are currently editing %s' ), label )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tvalue: id,\n\t\t\t\t\tlabel,\n\t\t\t\t\tariaLabel: sprintf( actionLabel, label ),\n\t\t\t\t};\n\t\t\t} ) || []\n\t\t);\n\t}, [\n\t\tcurrentTitle,\n\t\tcurrentMenuId,\n\t\tnavigationMenus,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisNavigationMenuResolved,\n\t\thasResolvedNavigationMenus,\n\t] );\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\tconst hasClassicMenus = !! classicMenus?.length;\n\tconst showNavigationMenus = !! canSwitchNavigationMenu;\n\tconst showClassicMenus = !! canUserCreateNavigationMenu;\n\n\tconst noMenuSelected = hasNavigationMenus && ! currentMenuId;\n\tconst noBlockMenus = ! hasNavigationMenus && hasResolvedNavigationMenus;\n\tconst menuUnavailable =\n\t\thasResolvedNavigationMenus && currentMenuId === null;\n\n\tuseEffect( () => {\n\t\tif ( ! hasResolvedNavigationMenus ) {\n\t\t\tsetSelectorLabel( __( 'Loading …' ) );\n\t\t} else if ( noMenuSelected || noBlockMenus || menuUnavailable ) {\n\t\t\tsetSelectorLabel( __( 'Choose a Navigation menu' ) );\n\t\t}\n\n\t\tif (\n\t\t\tisCreatingMenu &&\n\t\t\t( createNavigationMenuIsSuccess || createNavigationMenuIsError )\n\t\t) {\n\t\t\tsetIsCreatingMenu( false );\n\t\t}\n\t}, [\n\t\tcurrentMenuId,\n\t\thasNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisNavigationMenuResolved,\n\t] );\n\n\tconst NavigationMenuSelectorDropdown = (\n\t\t<DropdownMenu\n\t\t\tlabel={ selectorLabel }\n\t\t\ticon={ moreVertical }\n\t\t\ttoggleProps={ { isSmall: true } }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t{ showNavigationMenus && hasNavigationMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\t\tvalue={ currentMenuId }\n\t\t\t\t\t\t\t\tonSelect={ ( menuId ) => {\n\t\t\t\t\t\t\t\t\tonSelectNavigationMenu( menuId );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchoices={ menuChoices }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showClassicMenus && hasClassicMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Import Classic Menus' ) }>\n\t\t\t\t\t\t\t{ classicMenus?.map( ( menu ) => {\n\t\t\t\t\t\t\t\tconst label = decodeEntities( menu.name );\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetSelectorLabel(\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Loading …' )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\tonSelectClassicMenu( menu );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\tcreateActionLabel,\n\t\t\t\t\t\t\t\t\t\t\tlabel\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\t\t{ label }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ canUserCreateNavigationMenu && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Tools' ) }>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\tonCreateNew();\n\t\t\t\t\t\t\t\t\tsetIsCreatingMenu( true );\n\t\t\t\t\t\t\t\t\tsetSelectorLabel( __( 'Loading …' ) );\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{ __( 'Create new menu' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n\n\treturn NavigationMenuSelectorDropdown;\n}\n\nexport default NavigationMenuSelector;\n"]}
@@ -36,6 +36,7 @@ function OverlayMenuPreview(_ref) {
36
36
  }),
37
37
  checked: hasIcon
38
38
  }), (0, _element.createElement)(_components.__experimentalToggleGroupControl, {
39
+ __nextHasNoMarginBottom: true,
39
40
  label: (0, _i18n.__)('Icon'),
40
41
  value: icon,
41
42
  onChange: value => setAttributes({
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/overlay-menu-preview.js"],"names":["OverlayMenuPreview","setAttributes","hasIcon","icon","value"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AAKA;;AAbA;AACA;AACA;;AAQA;AACA;AACA;AAGe,SAASA,kBAAT,OAAgE;AAAA,MAAnC;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA,OAAjB;AAA0BC,IAAAA;AAA1B,GAAmC;AAC9E,SACC,qDACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,kBAAJ,CADT;AAEC,IAAA,IAAI,EAAG,cACN,yEADM,CAFR;AAKC,IAAA,QAAQ,EAAKC,KAAF,IAAaH,aAAa,CAAE;AAAEC,MAAAA,OAAO,EAAEE;AAAX,KAAF,CALtC;AAMC,IAAA,OAAO,EAAGF;AANX,IADD,EAUC,4BAAC,4CAAD;AACC,IAAA,KAAK,EAAG,cAAI,MAAJ,CADT;AAEC,IAAA,KAAK,EAAGC,IAFT;AAGC,IAAA,QAAQ,EAAKC,KAAF,IAAaH,aAAa,CAAE;AAAEE,MAAAA,IAAI,EAAEC;AAAR,KAAF,CAHtC;AAIC,IAAA,OAAO;AAJR,KAMC,4BAAC,kDAAD;AACC,IAAA,KAAK,EAAC,QADP;AAEC,kBAAa,cAAI,QAAJ,CAFd;AAGC,IAAA,KAAK,EAAG,4BAAC,wBAAD;AAAiB,MAAA,IAAI,EAAC;AAAtB;AAHT,IAND,EAWC,4BAAC,kDAAD;AACC,IAAA,KAAK,EAAC,MADP;AAEC,kBAAa,cAAI,MAAJ,CAFd;AAGC,IAAA,KAAK,EAAG,4BAAC,wBAAD;AAAiB,MAAA,IAAI,EAAC;AAAtB;AAHT,IAXD,CAVD,CADD;AA8BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport OverlayMenuIcon from './overlay-menu-icon';\n\nexport default function OverlayMenuPreview( { setAttributes, hasIcon, icon } ) {\n\treturn (\n\t\t<>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Show icon button' ) }\n\t\t\t\thelp={ __(\n\t\t\t\t\t'Configure the visual appearance of the button opening the overlay menu.'\n\t\t\t\t) }\n\t\t\t\tonChange={ ( value ) => setAttributes( { hasIcon: value } ) }\n\t\t\t\tchecked={ hasIcon }\n\t\t\t/>\n\n\t\t\t<ToggleGroupControl\n\t\t\t\tlabel={ __( 'Icon' ) }\n\t\t\t\tvalue={ icon }\n\t\t\t\tonChange={ ( value ) => setAttributes( { icon: value } ) }\n\t\t\t\tisBlock\n\t\t\t>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tvalue=\"handle\"\n\t\t\t\t\taria-label={ __( 'handle' ) }\n\t\t\t\t\tlabel={ <OverlayMenuIcon icon=\"handle\" /> }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tvalue=\"menu\"\n\t\t\t\t\taria-label={ __( 'menu' ) }\n\t\t\t\t\tlabel={ <OverlayMenuIcon icon=\"menu\" /> }\n\t\t\t\t/>\n\t\t\t</ToggleGroupControl>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/overlay-menu-preview.js"],"names":["OverlayMenuPreview","setAttributes","hasIcon","icon","value"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AAKA;;AAbA;AACA;AACA;;AAQA;AACA;AACA;AAGe,SAASA,kBAAT,OAAgE;AAAA,MAAnC;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA,OAAjB;AAA0BC,IAAAA;AAA1B,GAAmC;AAC9E,SACC,qDACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,kBAAJ,CADT;AAEC,IAAA,IAAI,EAAG,cACN,yEADM,CAFR;AAKC,IAAA,QAAQ,EAAKC,KAAF,IAAaH,aAAa,CAAE;AAAEC,MAAAA,OAAO,EAAEE;AAAX,KAAF,CALtC;AAMC,IAAA,OAAO,EAAGF;AANX,IADD,EAUC,4BAAC,4CAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,MAAJ,CAFT;AAGC,IAAA,KAAK,EAAGC,IAHT;AAIC,IAAA,QAAQ,EAAKC,KAAF,IAAaH,aAAa,CAAE;AAAEE,MAAAA,IAAI,EAAEC;AAAR,KAAF,CAJtC;AAKC,IAAA,OAAO;AALR,KAOC,4BAAC,kDAAD;AACC,IAAA,KAAK,EAAC,QADP;AAEC,kBAAa,cAAI,QAAJ,CAFd;AAGC,IAAA,KAAK,EAAG,4BAAC,wBAAD;AAAiB,MAAA,IAAI,EAAC;AAAtB;AAHT,IAPD,EAYC,4BAAC,kDAAD;AACC,IAAA,KAAK,EAAC,MADP;AAEC,kBAAa,cAAI,MAAJ,CAFd;AAGC,IAAA,KAAK,EAAG,4BAAC,wBAAD;AAAiB,MAAA,IAAI,EAAC;AAAtB;AAHT,IAZD,CAVD,CADD;AA+BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport OverlayMenuIcon from './overlay-menu-icon';\n\nexport default function OverlayMenuPreview( { setAttributes, hasIcon, icon } ) {\n\treturn (\n\t\t<>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Show icon button' ) }\n\t\t\t\thelp={ __(\n\t\t\t\t\t'Configure the visual appearance of the button opening the overlay menu.'\n\t\t\t\t) }\n\t\t\t\tonChange={ ( value ) => setAttributes( { hasIcon: value } ) }\n\t\t\t\tchecked={ hasIcon }\n\t\t\t/>\n\n\t\t\t<ToggleGroupControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Icon' ) }\n\t\t\t\tvalue={ icon }\n\t\t\t\tonChange={ ( value ) => setAttributes( { icon: value } ) }\n\t\t\t\tisBlock\n\t\t\t>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tvalue=\"handle\"\n\t\t\t\t\taria-label={ __( 'handle' ) }\n\t\t\t\t\tlabel={ <OverlayMenuIcon icon=\"handle\" /> }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tvalue=\"menu\"\n\t\t\t\t\taria-label={ __( 'menu' ) }\n\t\t\t\t\tlabel={ <OverlayMenuIcon icon=\"menu\" /> }\n\t\t\t\t/>\n\t\t\t</ToggleGroupControl>\n\t\t</>\n\t);\n}\n"]}
@@ -76,12 +76,7 @@ function NavigationPlaceholder(_ref) {
76
76
  currentMenuId: currentMenuId,
77
77
  clientId: clientId,
78
78
  onSelectNavigationMenu: onSelectNavigationMenu,
79
- onSelectClassicMenu: onSelectClassicMenu,
80
- toggleProps: {
81
- variant: 'tertiary',
82
- iconPosition: 'right',
83
- className: 'wp-block-navigation-placeholder__actions__dropdown'
84
- }
79
+ onSelectClassicMenu: onSelectClassicMenu
85
80
  }), (0, _element.createElement)("hr", null), canUserCreateNavigationMenu && (0, _element.createElement)(_components.Button, {
86
81
  variant: "tertiary",
87
82
  onClick: onCreateEmpty
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/placeholder/index.js"],"names":["NavigationPlaceholder","isSelected","currentMenuId","clientId","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","onSelectNavigationMenu","onSelectClassicMenu","onCreateEmpty","isResolvingMenus","hasResolvedMenus","isResolvingActions","undefined","navigation","variant","iconPosition","className"],"mappings":";;;;;;;;;AAOA;;AAJA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AAdA;AACA;AACA;;AAOA;AACA;AACA;AAKe,SAASA,qBAAT,OASX;AAAA,MAT2C;AAC9CC,IAAAA,UAD8C;AAE9CC,IAAAA,aAF8C;AAG9CC,IAAAA,QAH8C;AAI9CC,IAAAA,2BAA2B,GAAG,KAJgB;AAK9CC,IAAAA,sCAL8C;AAM9CC,IAAAA,sBAN8C;AAO9CC,IAAAA,mBAP8C;AAQ9CC,IAAAA;AAR8C,GAS3C;AACH,QAAM;AAAEC,IAAAA,gBAAF;AAAoBC,IAAAA;AAApB,MAAyC,qCAA/C;AAEA,0BAAW,MAAM;AAChB,QAAK,CAAET,UAAP,EAAoB;AACnB;AACA;;AAED,QAAKQ,gBAAL,EAAwB;AACvB,uBAAO,cAAI,yCAAJ,CAAP;AACA;;AAED,QAAKC,gBAAL,EAAwB;AACvB,uBAAO,cAAI,uCAAJ,CAAP;AACA;AACD,GAZD,EAYG,CAAED,gBAAF,EAAoBR,UAApB,CAZH;AAcA,QAAMU,kBAAkB,GACvBF,gBAAgB,IAAIJ,sCADrB;AAGA,SACC,qDACC,4BAAC,uBAAD;AAAa,IAAA,SAAS,EAAC;AAAvB,KAMC,4BAAC,2BAAD;AAAoB,IAAA,SAAS,EAAG,CAAEJ;AAAlC,IAND,EAOC;AACC,mBAAc,CAAEA,UAAF,GAAe,IAAf,GAAsBW,SADrC;AAEC,IAAA,SAAS,EAAC;AAFX,KAIC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,WAAD;AAAM,IAAA,IAAI,EAAGC;AAAb,IADD,OACgC,cAAI,YAAJ,CADhC,CADD,EAKC,uCALD,EAOGF,kBAAkB,IAAI,4BAAC,mBAAD,OAPzB,EASC,4BAAC,+BAAD;AACC,IAAA,aAAa,EAAGT,aADjB;AAEC,IAAA,QAAQ,EAAGC,QAFZ;AAGC,IAAA,sBAAsB,EAAGG,sBAH1B;AAIC,IAAA,mBAAmB,EAAGC,mBAJvB;AAKC,IAAA,WAAW,EAAG;AACbO,MAAAA,OAAO,EAAE,UADI;AAEbC,MAAAA,YAAY,EAAE,OAFD;AAGbC,MAAAA,SAAS,EACR;AAJY;AALf,IATD,EAsBC,uCAtBD,EAwBGZ,2BAA2B,IAC5B,4BAAC,kBAAD;AACC,IAAA,OAAO,EAAC,UADT;AAEC,IAAA,OAAO,EAAGI;AAFX,KAIG,cAAI,aAAJ,CAJH,CAzBF,CAJD,CAPD,CADD,CADD;AAkDA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Placeholder, Button, Spinner } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { navigation, Icon } from '@wordpress/icons';\nimport { speak } from '@wordpress/a11y';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useNavigationEntities from '../../use-navigation-entities';\nimport PlaceholderPreview from './placeholder-preview';\nimport NavigationMenuSelector from '../navigation-menu-selector';\n\nexport default function NavigationPlaceholder( {\n\tisSelected,\n\tcurrentMenuId,\n\tclientId,\n\tcanUserCreateNavigationMenu = false,\n\tisResolvingCanUserCreateNavigationMenu,\n\tonSelectNavigationMenu,\n\tonSelectClassicMenu,\n\tonCreateEmpty,\n} ) {\n\tconst { isResolvingMenus, hasResolvedMenus } = useNavigationEntities();\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isResolvingMenus ) {\n\t\t\tspeak( __( 'Loading Navigation block setup options.' ) );\n\t\t}\n\n\t\tif ( hasResolvedMenus ) {\n\t\t\tspeak( __( 'Navigation block setup options ready.' ) );\n\t\t}\n\t}, [ isResolvingMenus, isSelected ] );\n\n\tconst isResolvingActions =\n\t\tisResolvingMenus && isResolvingCanUserCreateNavigationMenu;\n\n\treturn (\n\t\t<>\n\t\t\t<Placeholder className=\"wp-block-navigation-placeholder\">\n\t\t\t\t{\n\t\t\t\t\t// The <PlaceholderPreview> component is displayed conditionally via CSS depending on\n\t\t\t\t\t// whether the block is selected or not. This is achieved via CSS to avoid\n\t\t\t\t\t// component re-renders\n\t\t\t\t }\n\t\t\t\t<PlaceholderPreview isVisible={ ! isSelected } />\n\t\t\t\t<div\n\t\t\t\t\taria-hidden={ ! isSelected ? true : undefined }\n\t\t\t\t\tclassName=\"wp-block-navigation-placeholder__controls\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions\">\n\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions__indicator\">\n\t\t\t\t\t\t\t<Icon icon={ navigation } /> { __( 'Navigation' ) }\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<hr />\n\n\t\t\t\t\t\t{ isResolvingActions && <Spinner /> }\n\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tcurrentMenuId={ currentMenuId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\tvariant: 'tertiary',\n\t\t\t\t\t\t\t\ticonPosition: 'right',\n\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t'wp-block-navigation-placeholder__actions__dropdown',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<hr />\n\n\t\t\t\t\t\t{ canUserCreateNavigationMenu && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tonClick={ onCreateEmpty }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Start empty' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Placeholder>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/placeholder/index.js"],"names":["NavigationPlaceholder","isSelected","currentMenuId","clientId","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","onSelectNavigationMenu","onSelectClassicMenu","onCreateEmpty","isResolvingMenus","hasResolvedMenus","isResolvingActions","undefined","navigation"],"mappings":";;;;;;;;;AAOA;;AAJA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AAdA;AACA;AACA;;AAOA;AACA;AACA;AAKe,SAASA,qBAAT,OASX;AAAA,MAT2C;AAC9CC,IAAAA,UAD8C;AAE9CC,IAAAA,aAF8C;AAG9CC,IAAAA,QAH8C;AAI9CC,IAAAA,2BAA2B,GAAG,KAJgB;AAK9CC,IAAAA,sCAL8C;AAM9CC,IAAAA,sBAN8C;AAO9CC,IAAAA,mBAP8C;AAQ9CC,IAAAA;AAR8C,GAS3C;AACH,QAAM;AAAEC,IAAAA,gBAAF;AAAoBC,IAAAA;AAApB,MAAyC,qCAA/C;AAEA,0BAAW,MAAM;AAChB,QAAK,CAAET,UAAP,EAAoB;AACnB;AACA;;AAED,QAAKQ,gBAAL,EAAwB;AACvB,uBAAO,cAAI,yCAAJ,CAAP;AACA;;AAED,QAAKC,gBAAL,EAAwB;AACvB,uBAAO,cAAI,uCAAJ,CAAP;AACA;AACD,GAZD,EAYG,CAAED,gBAAF,EAAoBR,UAApB,CAZH;AAcA,QAAMU,kBAAkB,GACvBF,gBAAgB,IAAIJ,sCADrB;AAGA,SACC,qDACC,4BAAC,uBAAD;AAAa,IAAA,SAAS,EAAC;AAAvB,KAMC,4BAAC,2BAAD;AAAoB,IAAA,SAAS,EAAG,CAAEJ;AAAlC,IAND,EAOC;AACC,mBAAc,CAAEA,UAAF,GAAe,IAAf,GAAsBW,SADrC;AAEC,IAAA,SAAS,EAAC;AAFX,KAIC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,WAAD;AAAM,IAAA,IAAI,EAAGC;AAAb,IADD,OACgC,cAAI,YAAJ,CADhC,CADD,EAKC,uCALD,EAOGF,kBAAkB,IAAI,4BAAC,mBAAD,OAPzB,EASC,4BAAC,+BAAD;AACC,IAAA,aAAa,EAAGT,aADjB;AAEC,IAAA,QAAQ,EAAGC,QAFZ;AAGC,IAAA,sBAAsB,EAAGG,sBAH1B;AAIC,IAAA,mBAAmB,EAAGC;AAJvB,IATD,EAgBC,uCAhBD,EAkBGH,2BAA2B,IAC5B,4BAAC,kBAAD;AACC,IAAA,OAAO,EAAC,UADT;AAEC,IAAA,OAAO,EAAGI;AAFX,KAIG,cAAI,aAAJ,CAJH,CAnBF,CAJD,CAPD,CADD,CADD;AA4CA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Placeholder, Button, Spinner } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { navigation, Icon } from '@wordpress/icons';\nimport { speak } from '@wordpress/a11y';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useNavigationEntities from '../../use-navigation-entities';\nimport PlaceholderPreview from './placeholder-preview';\nimport NavigationMenuSelector from '../navigation-menu-selector';\n\nexport default function NavigationPlaceholder( {\n\tisSelected,\n\tcurrentMenuId,\n\tclientId,\n\tcanUserCreateNavigationMenu = false,\n\tisResolvingCanUserCreateNavigationMenu,\n\tonSelectNavigationMenu,\n\tonSelectClassicMenu,\n\tonCreateEmpty,\n} ) {\n\tconst { isResolvingMenus, hasResolvedMenus } = useNavigationEntities();\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isResolvingMenus ) {\n\t\t\tspeak( __( 'Loading Navigation block setup options.' ) );\n\t\t}\n\n\t\tif ( hasResolvedMenus ) {\n\t\t\tspeak( __( 'Navigation block setup options ready.' ) );\n\t\t}\n\t}, [ isResolvingMenus, isSelected ] );\n\n\tconst isResolvingActions =\n\t\tisResolvingMenus && isResolvingCanUserCreateNavigationMenu;\n\n\treturn (\n\t\t<>\n\t\t\t<Placeholder className=\"wp-block-navigation-placeholder\">\n\t\t\t\t{\n\t\t\t\t\t// The <PlaceholderPreview> component is displayed conditionally via CSS depending on\n\t\t\t\t\t// whether the block is selected or not. This is achieved via CSS to avoid\n\t\t\t\t\t// component re-renders\n\t\t\t\t }\n\t\t\t\t<PlaceholderPreview isVisible={ ! isSelected } />\n\t\t\t\t<div\n\t\t\t\t\taria-hidden={ ! isSelected ? true : undefined }\n\t\t\t\t\tclassName=\"wp-block-navigation-placeholder__controls\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions\">\n\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions__indicator\">\n\t\t\t\t\t\t\t<Icon icon={ navigation } /> { __( 'Navigation' ) }\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<hr />\n\n\t\t\t\t\t\t{ isResolvingActions && <Spinner /> }\n\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tcurrentMenuId={ currentMenuId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<hr />\n\n\t\t\t\t\t\t{ canUserCreateNavigationMenu && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tonClick={ onCreateEmpty }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Start empty' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Placeholder>\n\t\t</>\n\t);\n}\n"]}
@@ -120,6 +120,7 @@ const metadata = {
120
120
  },
121
121
  supports: {
122
122
  align: ["wide", "full"],
123
+ anchor: true,
123
124
  html: false,
124
125
  inserter: true,
125
126
  typography: {
@@ -147,6 +148,7 @@ const metadata = {
147
148
  allowSwitching: false,
148
149
  allowInheriting: false,
149
150
  allowVerticalAlignment: false,
151
+ allowSizingOnChildren: true,
150
152
  "default": {
151
153
  type: "flex"
152
154
  }
@@ -173,6 +175,9 @@ exports.name = name;
173
175
  const settings = {
174
176
  icon: _icons.navigation,
175
177
  example: {
178
+ attributes: {
179
+ overlayMenu: 'never'
180
+ },
176
181
  innerBlocks: [{
177
182
  name: 'core/navigation-link',
178
183
  attributes: {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/index.js"],"names":["name","metadata","settings","icon","example","innerBlocks","attributes","label","url","edit","save","deprecated","init"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AAEA;;AACA;;AACA;;AAbA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,iBADuB;AAEvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,WAAW,EAAE,CACZ;AACCL,MAAAA,IAAI,EAAE,sBADP;AAECM,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAE,cAAI,MAAJ,CAFI;AAGXC,QAAAA,GAAG,EAAE;AAHM;AAFb,KADY,EASZ;AACCR,MAAAA,IAAI,EAAE,sBADP;AAECM,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAE,cAAI,OAAJ,CAFI;AAGXC,QAAAA,GAAG,EAAE;AAHM;AAFb,KATY,EAiBZ;AACCR,MAAAA,IAAI,EAAE,sBADP;AAECM,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAE,cAAI,SAAJ,CAFI;AAGXC,QAAAA,GAAG,EAAE;AAHM;AAFb,KAjBY;AADL,GAFc;AA8BvBC,EAAAA,IAAI,EAAJA,aA9BuB;AA+BvBC,EAAAA,IAAI,EAAJA,aA/BuB;AAgCvBC,EAAAA,UAAU,EAAVA;AAhCuB,CAAjB;;;AAmCA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEZ,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { navigation as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Home' as in a website's home page.\n\t\t\t\t\tlabel: __( 'Home' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'About' as in a website's about page.\n\t\t\t\t\tlabel: __( 'About' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Contact' as in a website's contact page.\n\t\t\t\t\tlabel: __( 'Contact' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/index.js"],"names":["name","metadata","settings","icon","example","attributes","overlayMenu","innerBlocks","label","url","edit","save","deprecated","init"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AAEA;;AACA;;AACA;;AAbA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,iBADuB;AAEvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,WAAW,EAAE;AADF,KADJ;AAIRC,IAAAA,WAAW,EAAE,CACZ;AACCP,MAAAA,IAAI,EAAE,sBADP;AAECK,MAAAA,UAAU,EAAE;AACX;AACAG,QAAAA,KAAK,EAAE,cAAI,MAAJ,CAFI;AAGXC,QAAAA,GAAG,EAAE;AAHM;AAFb,KADY,EASZ;AACCT,MAAAA,IAAI,EAAE,sBADP;AAECK,MAAAA,UAAU,EAAE;AACX;AACAG,QAAAA,KAAK,EAAE,cAAI,OAAJ,CAFI;AAGXC,QAAAA,GAAG,EAAE;AAHM;AAFb,KATY,EAiBZ;AACCT,MAAAA,IAAI,EAAE,sBADP;AAECK,MAAAA,UAAU,EAAE;AACX;AACAG,QAAAA,KAAK,EAAE,cAAI,SAAJ,CAFI;AAGXC,QAAAA,GAAG,EAAE;AAHM;AAFb,KAjBY;AAJL,GAFc;AAiCvBC,EAAAA,IAAI,EAAJA,aAjCuB;AAkCvBC,EAAAA,IAAI,EAAJA,aAlCuB;AAmCvBC,EAAAA,UAAU,EAAVA;AAnCuB,CAAjB;;;AAsCA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEb,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { navigation as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\toverlayMenu: 'never',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Home' as in a website's home page.\n\t\t\t\t\tlabel: __( 'Home' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'About' as in a website's about page.\n\t\t\t\t\tlabel: __( 'About' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Contact' as in a website's contact page.\n\t\t\t\t\tlabel: __( 'Contact' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
@@ -87,8 +87,6 @@ function mapMenuItemsToBlocks(menuItems) {
87
87
  * For more documentation on the individual fields present on a menu item please see:
88
88
  * https://core.trac.wordpress.org/browser/tags/5.7.1/src/wp-includes/nav-menu.php#L789
89
89
  *
90
- * Changes made here should also be mirrored in packages/edit-navigation/src/store/utils.js.
91
- *
92
90
  * @typedef WPNavMenuItem
93
91
  *
94
92
  * @property {Object} title stores the raw and rendered versions of the title/label for this menu item.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/menu-items-to-blocks.js"],"names":["menuItemsToBlocks","menuItems","menuTree","createDataTree","blocks","mapMenuItemsToBlocks","level","mapping","sortedItems","sort","a","b","menu_order","innerBlocks","map","menuItem","type","block","content","raw","blockType","children","length","attributes","menuItemToBlockAttributes","nestedBlocks","nestedMapping","id","clientId","title","menuItemTitleField","xfn","classes","attr_title","object","object_id","description","url","menuItemTypeField","target","label","rendered","kind","replace","join","trim","rel","className","opensInNewTab","isTopLevelItem","isTopLevelLink","dataset","relation","hashTable","Object","create","dataTree","data","push"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, parse } from '@wordpress/blocks';\nimport { applyFilters } from '@wordpress/hooks';\n\n/**\n * Convert a flat menu item structure to a nested blocks structure.\n *\n * @param {Object[]} menuItems An array of menu items.\n *\n * @return {WPBlock[]} An array of blocks.\n */\nexport default function menuItemsToBlocks( menuItems ) {\n\tif ( ! menuItems ) {\n\t\treturn null;\n\t}\n\n\tconst menuTree = createDataTree( menuItems );\n\tconst blocks = mapMenuItemsToBlocks( menuTree );\n\treturn applyFilters(\n\t\t'blocks.navigation.__unstableMenuItemsToBlocks',\n\t\tblocks,\n\t\tmenuItems\n\t);\n}\n\n/**\n * A recursive function that maps menu item nodes to blocks.\n *\n * @param {WPNavMenuItem[]} menuItems An array of WPNavMenuItem items.\n * @param {number} level An integer representing the nesting level.\n * @return {Object} Object containing innerBlocks and mapping.\n */\nfunction mapMenuItemsToBlocks( menuItems, level = 0 ) {\n\tlet mapping = {};\n\n\t// The menuItem should be in menu_order sort order.\n\tconst sortedItems = [ ...menuItems ].sort(\n\t\t( a, b ) => a.menu_order - b.menu_order\n\t);\n\n\tconst innerBlocks = sortedItems.map( ( menuItem ) => {\n\t\tif ( menuItem.type === 'block' ) {\n\t\t\tconst [ block ] = parse( menuItem.content.raw );\n\n\t\t\tif ( ! block ) {\n\t\t\t\treturn createBlock( 'core/freeform', {\n\t\t\t\t\tcontent: menuItem.content,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn block;\n\t\t}\n\n\t\tconst blockType = menuItem.children?.length\n\t\t\t? 'core/navigation-submenu'\n\t\t\t: 'core/navigation-link';\n\n\t\tconst attributes = menuItemToBlockAttributes(\n\t\t\tmenuItem,\n\t\t\tblockType,\n\t\t\tlevel\n\t\t);\n\n\t\t// If there are children recurse to build those nested blocks.\n\t\tconst {\n\t\t\tinnerBlocks: nestedBlocks = [], // alias to avoid shadowing\n\t\t\tmapping: nestedMapping = {}, // alias to avoid shadowing\n\t\t} = menuItem.children?.length\n\t\t\t? mapMenuItemsToBlocks( menuItem.children, level + 1 )\n\t\t\t: {};\n\n\t\t// Update parent mapping with nested mapping.\n\t\tmapping = {\n\t\t\t...mapping,\n\t\t\t...nestedMapping,\n\t\t};\n\n\t\t// Create block with nested \"innerBlocks\".\n\t\tconst block = createBlock( blockType, attributes, nestedBlocks );\n\n\t\t// Create mapping for menuItem -> block.\n\t\tmapping[ menuItem.id ] = block.clientId;\n\n\t\treturn block;\n\t} );\n\n\treturn {\n\t\tinnerBlocks,\n\t\tmapping,\n\t};\n}\n\n/**\n * A WP nav_menu_item object.\n * For more documentation on the individual fields present on a menu item please see:\n * https://core.trac.wordpress.org/browser/tags/5.7.1/src/wp-includes/nav-menu.php#L789\n *\n * Changes made here should also be mirrored in packages/edit-navigation/src/store/utils.js.\n *\n * @typedef WPNavMenuItem\n *\n * @property {Object} title stores the raw and rendered versions of the title/label for this menu item.\n * @property {Array} xfn the XFN relationships expressed in the link of this menu item.\n * @property {Array} classes the HTML class attributes for this menu item.\n * @property {string} attr_title the HTML title attribute for this menu item.\n * @property {string} object The type of object originally represented, such as 'category', 'post', or 'attachment'.\n * @property {string} object_id The DB ID of the original object this menu item represents, e.g. ID for posts and term_id for categories.\n * @property {string} description The description of this menu item.\n * @property {string} url The URL to which this menu item points.\n * @property {string} type The family of objects originally represented, such as 'post_type' or 'taxonomy'.\n * @property {string} target The target attribute of the link element for this menu item.\n */\n\n/**\n * Convert block attributes to menu item.\n *\n * @param {WPNavMenuItem} menuItem the menu item to be converted to block attributes.\n * @param {string} blockType The block type.\n * @param {number} level An integer representing the nesting level.\n * @return {Object} the block attributes converted from the WPNavMenuItem item.\n */\nfunction menuItemToBlockAttributes(\n\t{\n\t\ttitle: menuItemTitleField,\n\t\txfn,\n\t\tclasses,\n\t\t// eslint-disable-next-line camelcase\n\t\tattr_title,\n\t\tobject,\n\t\t// eslint-disable-next-line camelcase\n\t\tobject_id,\n\t\tdescription,\n\t\turl,\n\t\ttype: menuItemTypeField,\n\t\ttarget,\n\t},\n\tblockType,\n\tlevel\n) {\n\t// For historical reasons, the `core/navigation-link` variation type is `tag`\n\t// whereas WP Core expects `post_tag` as the `object` type.\n\t// To avoid writing a block migration we perform a conversion here.\n\t// See also inverse equivalent in `blockAttributesToMenuItem`.\n\tif ( object && object === 'post_tag' ) {\n\t\tobject = 'tag';\n\t}\n\n\treturn {\n\t\tlabel: menuItemTitleField?.rendered || '',\n\t\t...( object?.length && {\n\t\t\ttype: object,\n\t\t} ),\n\t\tkind: menuItemTypeField?.replace( '_', '-' ) || 'custom',\n\t\turl: url || '',\n\t\t...( xfn?.length &&\n\t\t\txfn.join( ' ' ).trim() && {\n\t\t\t\trel: xfn.join( ' ' ).trim(),\n\t\t\t} ),\n\t\t...( classes?.length &&\n\t\t\tclasses.join( ' ' ).trim() && {\n\t\t\t\tclassName: classes.join( ' ' ).trim(),\n\t\t\t} ),\n\t\t/* eslint-disable camelcase */\n\t\t...( attr_title?.length && {\n\t\t\ttitle: attr_title,\n\t\t} ),\n\t\t...( object_id &&\n\t\t\t'custom' !== object && {\n\t\t\t\tid: object_id,\n\t\t\t} ),\n\t\t/* eslint-enable camelcase */\n\t\t...( description?.length && {\n\t\t\tdescription,\n\t\t} ),\n\t\t...( target === '_blank' && {\n\t\t\topensInNewTab: true,\n\t\t} ),\n\t\t...( blockType === 'core/navigation-submenu' && {\n\t\t\tisTopLevelItem: level === 0,\n\t\t} ),\n\t\t...( blockType === 'core/navigation-link' && {\n\t\t\tisTopLevelLink: level === 0,\n\t\t} ),\n\t};\n}\n\n/**\n * Creates a nested, hierarchical tree representation from unstructured data that\n * has an inherent relationship defined between individual items.\n *\n * For example, by default, each element in the dataset should have an `id` and\n * `parent` property where the `parent` property indicates a relationship between\n * the current item and another item with a matching `id` properties.\n *\n * This is useful for building linked lists of data from flat data structures.\n *\n * @param {Array} dataset linked data to be rearranged into a hierarchical tree based on relational fields.\n * @param {string} id the property which uniquely identifies each entry within the array.\n * @param {*} relation the property which identifies how the current item is related to other items in the data (if at all).\n * @return {Array} a nested array of parent/child relationships\n */\nfunction createDataTree( dataset, id = 'id', relation = 'parent' ) {\n\tconst hashTable = Object.create( null );\n\tconst dataTree = [];\n\n\tfor ( const data of dataset ) {\n\t\thashTable[ data[ id ] ] = {\n\t\t\t...data,\n\t\t\tchildren: [],\n\t\t};\n\t\tif ( data[ relation ] ) {\n\t\t\thashTable[ data[ relation ] ] = hashTable[ data[ relation ] ] || {};\n\t\t\thashTable[ data[ relation ] ].children =\n\t\t\t\thashTable[ data[ relation ] ].children || [];\n\t\t\thashTable[ data[ relation ] ].children.push(\n\t\t\t\thashTable[ data[ id ] ]\n\t\t\t);\n\t\t} else {\n\t\t\tdataTree.push( hashTable[ data[ id ] ] );\n\t\t}\n\t}\n\n\treturn dataTree;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/menu-items-to-blocks.js"],"names":["menuItemsToBlocks","menuItems","menuTree","createDataTree","blocks","mapMenuItemsToBlocks","level","mapping","sortedItems","sort","a","b","menu_order","innerBlocks","map","menuItem","type","block","content","raw","blockType","children","length","attributes","menuItemToBlockAttributes","nestedBlocks","nestedMapping","id","clientId","title","menuItemTitleField","xfn","classes","attr_title","object","object_id","description","url","menuItemTypeField","target","label","rendered","kind","replace","join","trim","rel","className","opensInNewTab","isTopLevelItem","isTopLevelLink","dataset","relation","hashTable","Object","create","dataTree","data","push"],"mappings":";;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,iBAAT,CAA4BC,SAA5B,EAAwC;AACtD,MAAK,CAAEA,SAAP,EAAmB;AAClB,WAAO,IAAP;AACA;;AAED,QAAMC,QAAQ,GAAGC,cAAc,CAAEF,SAAF,CAA/B;AACA,QAAMG,MAAM,GAAGC,oBAAoB,CAAEH,QAAF,CAAnC;AACA,SAAO,yBACN,+CADM,EAENE,MAFM,EAGNH,SAHM,CAAP;AAKA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASI,oBAAT,CAA+BJ,SAA/B,EAAsD;AAAA,MAAZK,KAAY,uEAAJ,CAAI;AACrD,MAAIC,OAAO,GAAG,EAAd,CADqD,CAGrD;;AACA,QAAMC,WAAW,GAAG,CAAE,GAAGP,SAAL,EAAiBQ,IAAjB,CACnB,CAAEC,CAAF,EAAKC,CAAL,KAAYD,CAAC,CAACE,UAAF,GAAeD,CAAC,CAACC,UADV,CAApB;AAIA,QAAMC,WAAW,GAAGL,WAAW,CAACM,GAAZ,CAAmBC,QAAF,IAAgB;AAAA;;AACpD,QAAKA,QAAQ,CAACC,IAAT,KAAkB,OAAvB,EAAiC;AAChC,YAAM,CAAEC,KAAF,IAAY,mBAAOF,QAAQ,CAACG,OAAT,CAAiBC,GAAxB,CAAlB;;AAEA,UAAK,CAAEF,KAAP,EAAe;AACd,eAAO,yBAAa,eAAb,EAA8B;AACpCC,UAAAA,OAAO,EAAEH,QAAQ,CAACG;AADkB,SAA9B,CAAP;AAGA;;AAED,aAAOD,KAAP;AACA;;AAED,UAAMG,SAAS,GAAG,sBAAAL,QAAQ,CAACM,QAAT,kEAAmBC,MAAnB,GACf,yBADe,GAEf,sBAFH;AAIA,UAAMC,UAAU,GAAGC,yBAAyB,CAC3CT,QAD2C,EAE3CK,SAF2C,EAG3Cd,KAH2C,CAA5C,CAjBoD,CAuBpD;;AACA,UAAM;AACLO,MAAAA,WAAW,EAAEY,YAAY,GAAG,EADvB;AAC2B;AAChClB,MAAAA,OAAO,EAAEmB,aAAa,GAAG,EAFpB,CAEwB;;AAFxB,QAGF,uBAAAX,QAAQ,CAACM,QAAT,oEAAmBC,MAAnB,GACDjB,oBAAoB,CAAEU,QAAQ,CAACM,QAAX,EAAqBf,KAAK,GAAG,CAA7B,CADnB,GAED,EALH,CAxBoD,CA+BpD;;AACAC,IAAAA,OAAO,GAAG,EACT,GAAGA,OADM;AAET,SAAGmB;AAFM,KAAV,CAhCoD,CAqCpD;;AACA,UAAMT,KAAK,GAAG,yBAAaG,SAAb,EAAwBG,UAAxB,EAAoCE,YAApC,CAAd,CAtCoD,CAwCpD;;AACAlB,IAAAA,OAAO,CAAEQ,QAAQ,CAACY,EAAX,CAAP,GAAyBV,KAAK,CAACW,QAA/B;AAEA,WAAOX,KAAP;AACA,GA5CmB,CAApB;AA8CA,SAAO;AACNJ,IAAAA,WADM;AAENN,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASiB,yBAAT,OAeCJ,SAfD,EAgBCd,KAhBD,EAiBE;AAAA;;AAAA,MAhBD;AACCuB,IAAAA,KAAK,EAAEC,kBADR;AAECC,IAAAA,GAFD;AAGCC,IAAAA,OAHD;AAIC;AACAC,IAAAA,UALD;AAMCC,IAAAA,MAND;AAOC;AACAC,IAAAA,SARD;AASCC,IAAAA,WATD;AAUCC,IAAAA,GAVD;AAWCrB,IAAAA,IAAI,EAAEsB,iBAXP;AAYCC,IAAAA;AAZD,GAgBC;;AACD;AACA;AACA;AACA;AACA,MAAKL,MAAM,IAAIA,MAAM,KAAK,UAA1B,EAAuC;AACtCA,IAAAA,MAAM,GAAG,KAAT;AACA;;AAED,SAAO;AACNM,IAAAA,KAAK,EAAE,CAAAV,kBAAkB,SAAlB,IAAAA,kBAAkB,WAAlB,YAAAA,kBAAkB,CAAEW,QAApB,KAAgC,EADjC;AAEN,QAAK,YAAAP,MAAM,UAAN,0CAAQZ,MAAR,KAAkB;AACtBN,MAAAA,IAAI,EAAEkB;AADgB,KAAvB,CAFM;AAKNQ,IAAAA,IAAI,EAAE,CAAAJ,iBAAiB,SAAjB,IAAAA,iBAAiB,WAAjB,YAAAA,iBAAiB,CAAEK,OAAnB,CAA4B,GAA5B,EAAiC,GAAjC,MAA0C,QAL1C;AAMNN,IAAAA,GAAG,EAAEA,GAAG,IAAI,EANN;AAON,QAAK,CAAAN,GAAG,SAAH,IAAAA,GAAG,WAAH,YAAAA,GAAG,CAAET,MAAL,KACJS,GAAG,CAACa,IAAJ,CAAU,GAAV,EAAgBC,IAAhB,EADI,IACsB;AACzBC,MAAAA,GAAG,EAAEf,GAAG,CAACa,IAAJ,CAAU,GAAV,EAAgBC,IAAhB;AADoB,KAD3B,CAPM;AAWN,QAAK,CAAAb,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEV,MAAT,KACJU,OAAO,CAACY,IAAR,CAAc,GAAd,EAAoBC,IAApB,EADI,IAC0B;AAC7BE,MAAAA,SAAS,EAAEf,OAAO,CAACY,IAAR,CAAc,GAAd,EAAoBC,IAApB;AADkB,KAD/B,CAXM;;AAeN;AACA,QAAK,CAAAZ,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEX,MAAZ,KAAsB;AAC1BO,MAAAA,KAAK,EAAEI;AADmB,KAA3B,CAhBM;AAmBN,QAAKE,SAAS,IACb,aAAaD,MADT,IACmB;AACtBP,MAAAA,EAAE,EAAEQ;AADkB,KADxB,CAnBM;;AAuBN;AACA,QAAK,CAAAC,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAEd,MAAb,KAAuB;AAC3Bc,MAAAA;AAD2B,KAA5B,CAxBM;AA2BN,QAAKG,MAAM,KAAK,QAAX,IAAuB;AAC3BS,MAAAA,aAAa,EAAE;AADY,KAA5B,CA3BM;AA8BN,QAAK5B,SAAS,KAAK,yBAAd,IAA2C;AAC/C6B,MAAAA,cAAc,EAAE3C,KAAK,KAAK;AADqB,KAAhD,CA9BM;AAiCN,QAAKc,SAAS,KAAK,sBAAd,IAAwC;AAC5C8B,MAAAA,cAAc,EAAE5C,KAAK,KAAK;AADkB,KAA7C;AAjCM,GAAP;AAqCA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASH,cAAT,CAAyBgD,OAAzB,EAAmE;AAAA,MAAjCxB,EAAiC,uEAA5B,IAA4B;AAAA,MAAtByB,QAAsB,uEAAX,QAAW;AAClE,QAAMC,SAAS,GAAGC,MAAM,CAACC,MAAP,CAAe,IAAf,CAAlB;AACA,QAAMC,QAAQ,GAAG,EAAjB;;AAEA,OAAM,MAAMC,IAAZ,IAAoBN,OAApB,EAA8B;AAC7BE,IAAAA,SAAS,CAAEI,IAAI,CAAE9B,EAAF,CAAN,CAAT,GAA0B,EACzB,GAAG8B,IADsB;AAEzBpC,MAAAA,QAAQ,EAAE;AAFe,KAA1B;;AAIA,QAAKoC,IAAI,CAAEL,QAAF,CAAT,EAAwB;AACvBC,MAAAA,SAAS,CAAEI,IAAI,CAAEL,QAAF,CAAN,CAAT,GAAgCC,SAAS,CAAEI,IAAI,CAAEL,QAAF,CAAN,CAAT,IAAiC,EAAjE;AACAC,MAAAA,SAAS,CAAEI,IAAI,CAAEL,QAAF,CAAN,CAAT,CAA8B/B,QAA9B,GACCgC,SAAS,CAAEI,IAAI,CAAEL,QAAF,CAAN,CAAT,CAA8B/B,QAA9B,IAA0C,EAD3C;AAEAgC,MAAAA,SAAS,CAAEI,IAAI,CAAEL,QAAF,CAAN,CAAT,CAA8B/B,QAA9B,CAAuCqC,IAAvC,CACCL,SAAS,CAAEI,IAAI,CAAE9B,EAAF,CAAN,CADV;AAGA,KAPD,MAOO;AACN6B,MAAAA,QAAQ,CAACE,IAAT,CAAeL,SAAS,CAAEI,IAAI,CAAE9B,EAAF,CAAN,CAAxB;AACA;AACD;;AAED,SAAO6B,QAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, parse } from '@wordpress/blocks';\nimport { applyFilters } from '@wordpress/hooks';\n\n/**\n * Convert a flat menu item structure to a nested blocks structure.\n *\n * @param {Object[]} menuItems An array of menu items.\n *\n * @return {WPBlock[]} An array of blocks.\n */\nexport default function menuItemsToBlocks( menuItems ) {\n\tif ( ! menuItems ) {\n\t\treturn null;\n\t}\n\n\tconst menuTree = createDataTree( menuItems );\n\tconst blocks = mapMenuItemsToBlocks( menuTree );\n\treturn applyFilters(\n\t\t'blocks.navigation.__unstableMenuItemsToBlocks',\n\t\tblocks,\n\t\tmenuItems\n\t);\n}\n\n/**\n * A recursive function that maps menu item nodes to blocks.\n *\n * @param {WPNavMenuItem[]} menuItems An array of WPNavMenuItem items.\n * @param {number} level An integer representing the nesting level.\n * @return {Object} Object containing innerBlocks and mapping.\n */\nfunction mapMenuItemsToBlocks( menuItems, level = 0 ) {\n\tlet mapping = {};\n\n\t// The menuItem should be in menu_order sort order.\n\tconst sortedItems = [ ...menuItems ].sort(\n\t\t( a, b ) => a.menu_order - b.menu_order\n\t);\n\n\tconst innerBlocks = sortedItems.map( ( menuItem ) => {\n\t\tif ( menuItem.type === 'block' ) {\n\t\t\tconst [ block ] = parse( menuItem.content.raw );\n\n\t\t\tif ( ! block ) {\n\t\t\t\treturn createBlock( 'core/freeform', {\n\t\t\t\t\tcontent: menuItem.content,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn block;\n\t\t}\n\n\t\tconst blockType = menuItem.children?.length\n\t\t\t? 'core/navigation-submenu'\n\t\t\t: 'core/navigation-link';\n\n\t\tconst attributes = menuItemToBlockAttributes(\n\t\t\tmenuItem,\n\t\t\tblockType,\n\t\t\tlevel\n\t\t);\n\n\t\t// If there are children recurse to build those nested blocks.\n\t\tconst {\n\t\t\tinnerBlocks: nestedBlocks = [], // alias to avoid shadowing\n\t\t\tmapping: nestedMapping = {}, // alias to avoid shadowing\n\t\t} = menuItem.children?.length\n\t\t\t? mapMenuItemsToBlocks( menuItem.children, level + 1 )\n\t\t\t: {};\n\n\t\t// Update parent mapping with nested mapping.\n\t\tmapping = {\n\t\t\t...mapping,\n\t\t\t...nestedMapping,\n\t\t};\n\n\t\t// Create block with nested \"innerBlocks\".\n\t\tconst block = createBlock( blockType, attributes, nestedBlocks );\n\n\t\t// Create mapping for menuItem -> block.\n\t\tmapping[ menuItem.id ] = block.clientId;\n\n\t\treturn block;\n\t} );\n\n\treturn {\n\t\tinnerBlocks,\n\t\tmapping,\n\t};\n}\n\n/**\n * A WP nav_menu_item object.\n * For more documentation on the individual fields present on a menu item please see:\n * https://core.trac.wordpress.org/browser/tags/5.7.1/src/wp-includes/nav-menu.php#L789\n *\n * @typedef WPNavMenuItem\n *\n * @property {Object} title stores the raw and rendered versions of the title/label for this menu item.\n * @property {Array} xfn the XFN relationships expressed in the link of this menu item.\n * @property {Array} classes the HTML class attributes for this menu item.\n * @property {string} attr_title the HTML title attribute for this menu item.\n * @property {string} object The type of object originally represented, such as 'category', 'post', or 'attachment'.\n * @property {string} object_id The DB ID of the original object this menu item represents, e.g. ID for posts and term_id for categories.\n * @property {string} description The description of this menu item.\n * @property {string} url The URL to which this menu item points.\n * @property {string} type The family of objects originally represented, such as 'post_type' or 'taxonomy'.\n * @property {string} target The target attribute of the link element for this menu item.\n */\n\n/**\n * Convert block attributes to menu item.\n *\n * @param {WPNavMenuItem} menuItem the menu item to be converted to block attributes.\n * @param {string} blockType The block type.\n * @param {number} level An integer representing the nesting level.\n * @return {Object} the block attributes converted from the WPNavMenuItem item.\n */\nfunction menuItemToBlockAttributes(\n\t{\n\t\ttitle: menuItemTitleField,\n\t\txfn,\n\t\tclasses,\n\t\t// eslint-disable-next-line camelcase\n\t\tattr_title,\n\t\tobject,\n\t\t// eslint-disable-next-line camelcase\n\t\tobject_id,\n\t\tdescription,\n\t\turl,\n\t\ttype: menuItemTypeField,\n\t\ttarget,\n\t},\n\tblockType,\n\tlevel\n) {\n\t// For historical reasons, the `core/navigation-link` variation type is `tag`\n\t// whereas WP Core expects `post_tag` as the `object` type.\n\t// To avoid writing a block migration we perform a conversion here.\n\t// See also inverse equivalent in `blockAttributesToMenuItem`.\n\tif ( object && object === 'post_tag' ) {\n\t\tobject = 'tag';\n\t}\n\n\treturn {\n\t\tlabel: menuItemTitleField?.rendered || '',\n\t\t...( object?.length && {\n\t\t\ttype: object,\n\t\t} ),\n\t\tkind: menuItemTypeField?.replace( '_', '-' ) || 'custom',\n\t\turl: url || '',\n\t\t...( xfn?.length &&\n\t\t\txfn.join( ' ' ).trim() && {\n\t\t\t\trel: xfn.join( ' ' ).trim(),\n\t\t\t} ),\n\t\t...( classes?.length &&\n\t\t\tclasses.join( ' ' ).trim() && {\n\t\t\t\tclassName: classes.join( ' ' ).trim(),\n\t\t\t} ),\n\t\t/* eslint-disable camelcase */\n\t\t...( attr_title?.length && {\n\t\t\ttitle: attr_title,\n\t\t} ),\n\t\t...( object_id &&\n\t\t\t'custom' !== object && {\n\t\t\t\tid: object_id,\n\t\t\t} ),\n\t\t/* eslint-enable camelcase */\n\t\t...( description?.length && {\n\t\t\tdescription,\n\t\t} ),\n\t\t...( target === '_blank' && {\n\t\t\topensInNewTab: true,\n\t\t} ),\n\t\t...( blockType === 'core/navigation-submenu' && {\n\t\t\tisTopLevelItem: level === 0,\n\t\t} ),\n\t\t...( blockType === 'core/navigation-link' && {\n\t\t\tisTopLevelLink: level === 0,\n\t\t} ),\n\t};\n}\n\n/**\n * Creates a nested, hierarchical tree representation from unstructured data that\n * has an inherent relationship defined between individual items.\n *\n * For example, by default, each element in the dataset should have an `id` and\n * `parent` property where the `parent` property indicates a relationship between\n * the current item and another item with a matching `id` properties.\n *\n * This is useful for building linked lists of data from flat data structures.\n *\n * @param {Array} dataset linked data to be rearranged into a hierarchical tree based on relational fields.\n * @param {string} id the property which uniquely identifies each entry within the array.\n * @param {*} relation the property which identifies how the current item is related to other items in the data (if at all).\n * @return {Array} a nested array of parent/child relationships\n */\nfunction createDataTree( dataset, id = 'id', relation = 'parent' ) {\n\tconst hashTable = Object.create( null );\n\tconst dataTree = [];\n\n\tfor ( const data of dataset ) {\n\t\thashTable[ data[ id ] ] = {\n\t\t\t...data,\n\t\t\tchildren: [],\n\t\t};\n\t\tif ( data[ relation ] ) {\n\t\t\thashTable[ data[ relation ] ] = hashTable[ data[ relation ] ] || {};\n\t\t\thashTable[ data[ relation ] ].children =\n\t\t\t\thashTable[ data[ relation ] ].children || [];\n\t\t\thashTable[ data[ relation ] ].children.push(\n\t\t\t\thashTable[ data[ id ] ]\n\t\t\t);\n\t\t} else {\n\t\t\tdataTree.push( hashTable[ data[ id ] ] );\n\t\t}\n\t}\n\n\treturn dataTree;\n}\n"]}
@@ -11,8 +11,6 @@ var _element = require("@wordpress/element");
11
11
 
12
12
  var _classnames = _interopRequireDefault(require("classnames"));
13
13
 
14
- var _lodash = require("lodash");
15
-
16
14
  var _blocks = require("@wordpress/blocks");
17
15
 
18
16
  var _data = require("@wordpress/data");
@@ -29,6 +27,8 @@ var _url = require("@wordpress/url");
29
27
 
30
28
  var _dom = require("@wordpress/dom");
31
29
 
30
+ var _htmlEntities = require("@wordpress/html-entities");
31
+
32
32
  var _icons = require("@wordpress/icons");
33
33
 
34
34
  var _coreData = require("@wordpress/core-data");
@@ -375,12 +375,17 @@ function NavigationLinkEdit(_ref) {
375
375
 
376
376
  function removeLink() {
377
377
  // Reset all attributes that comprise the link.
378
+ // It is critical that all attributes are reset
379
+ // to their default values otherwise this may
380
+ // in advertently trigger side effects because
381
+ // the values will have "changed".
378
382
  setAttributes({
379
- url: '',
380
- label: '',
381
- id: '',
382
- kind: '',
383
- type: ''
383
+ url: undefined,
384
+ label: undefined,
385
+ id: undefined,
386
+ kind: undefined,
387
+ type: undefined,
388
+ opensInNewTab: false
384
389
  }); // Close the link editing UI.
385
390
 
386
391
  setIsLinkOpen(false);
@@ -465,6 +470,7 @@ function NavigationLinkEdit(_ref) {
465
470
  }))), (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
466
471
  title: (0, _i18n.__)('Link settings')
467
472
  }, (0, _element.createElement)(_components.TextControl, {
473
+ __nextHasNoMarginBottom: true,
468
474
  value: label ? (0, _dom.__unstableStripHTML)(label) : '',
469
475
  onChange: labelValue => {
470
476
  setAttributes({
@@ -474,6 +480,7 @@ function NavigationLinkEdit(_ref) {
474
480
  label: (0, _i18n.__)('Label'),
475
481
  autoComplete: "off"
476
482
  }), (0, _element.createElement)(_components.TextControl, {
483
+ __nextHasNoMarginBottom: true,
477
484
  value: url || '',
478
485
  onChange: urlValue => {
479
486
  (0, _updateAttributes.updateAttributes)({
@@ -493,6 +500,7 @@ function NavigationLinkEdit(_ref) {
493
500
  label: (0, _i18n.__)('Description'),
494
501
  help: (0, _i18n.__)('The description will be displayed in the menu if the current theme supports it.')
495
502
  }), (0, _element.createElement)(_components.TextControl, {
503
+ __nextHasNoMarginBottom: true,
496
504
  value: title || '',
497
505
  onChange: titleValue => {
498
506
  setAttributes({
@@ -502,6 +510,7 @@ function NavigationLinkEdit(_ref) {
502
510
  label: (0, _i18n.__)('Link title'),
503
511
  autoComplete: "off"
504
512
  }), (0, _element.createElement)(_components.TextControl, {
513
+ __nextHasNoMarginBottom: true,
505
514
  value: rel || '',
506
515
  onChange: relValue => {
507
516
  setAttributes({
@@ -557,7 +566,7 @@ function NavigationLinkEdit(_ref) {
557
566
  // Unescape is used here to "recover" the escaped characters
558
567
  // so they display without encoding.
559
568
  // See `updateAttributes` for more details.
560
- `${(0, _lodash.unescape)(label)} ${placeholderText}`.trim()), (0, _element.createElement)("span", {
569
+ `${(0, _htmlEntities.decodeEntities)(label)} ${placeholderText}`.trim()), (0, _element.createElement)("span", {
561
570
  className: "wp-block-navigation-link__missing_text-tooltip"
562
571
  }, tooltipText))))), isLinkOpen && (0, _element.createElement)(_linkUi.LinkUI, {
563
572
  className: "wp-block-navigation-link__inline-link-input",