@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
@@ -9,6 +9,7 @@ import { __ } from '@wordpress/i18n';
9
9
  export default function NavigationMenuNameControl() {
10
10
  const [title, updateTitle] = useEntityProp('postType', 'wp_navigation', 'title');
11
11
  return createElement(TextControl, {
12
+ __nextHasNoMarginBottom: true,
12
13
  label: __('Menu name'),
13
14
  value: title,
14
15
  onChange: updateTitle
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-name-control.js"],"names":["TextControl","useEntityProp","__","NavigationMenuNameControl","title","updateTitle"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,WAAT,QAA4B,uBAA5B;AACA,SAASC,aAAT,QAA8B,sBAA9B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA,eAAe,SAASC,yBAAT,GAAqC;AACnD,QAAM,CAAEC,KAAF,EAASC,WAAT,IAAyBJ,aAAa,CAC3C,UAD2C,EAE3C,eAF2C,EAG3C,OAH2C,CAA5C;AAMA,SACC,cAAC,WAAD;AACC,IAAA,KAAK,EAAGC,EAAE,CAAE,WAAF,CADX;AAEC,IAAA,KAAK,EAAGE,KAFT;AAGC,IAAA,QAAQ,EAAGC;AAHZ,IADD;AAOA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { TextControl } from '@wordpress/components';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\n\nexport default function NavigationMenuNameControl() {\n\tconst [ title, updateTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_navigation',\n\t\t'title'\n\t);\n\n\treturn (\n\t\t<TextControl\n\t\t\tlabel={ __( 'Menu name' ) }\n\t\t\tvalue={ title }\n\t\t\tonChange={ updateTitle }\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-name-control.js"],"names":["TextControl","useEntityProp","__","NavigationMenuNameControl","title","updateTitle"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,WAAT,QAA4B,uBAA5B;AACA,SAASC,aAAT,QAA8B,sBAA9B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA,eAAe,SAASC,yBAAT,GAAqC;AACnD,QAAM,CAAEC,KAAF,EAASC,WAAT,IAAyBJ,aAAa,CAC3C,UAD2C,EAE3C,eAF2C,EAG3C,OAH2C,CAA5C;AAMA,SACC,cAAC,WAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGC,EAAE,CAAE,WAAF,CAFX;AAGC,IAAA,KAAK,EAAGE,KAHT;AAIC,IAAA,QAAQ,EAAGC;AAJZ,IADD;AAQA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { TextControl } from '@wordpress/components';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\n\nexport default function NavigationMenuNameControl() {\n\tconst [ title, updateTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_navigation',\n\t\t'title'\n\t);\n\n\treturn (\n\t\t<TextControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Menu name' ) }\n\t\t\tvalue={ title }\n\t\t\tonChange={ updateTitle }\n\t\t/>\n\t);\n}\n"]}
@@ -3,9 +3,9 @@ import { createElement, Fragment } from "@wordpress/element";
3
3
  /**
4
4
  * WordPress dependencies
5
5
  */
6
- import { MenuGroup, MenuItem, MenuItemsChoice, DropdownMenu, Button, VisuallyHidden } from '@wordpress/components';
6
+ import { MenuGroup, MenuItem, MenuItemsChoice, DropdownMenu } from '@wordpress/components';
7
7
  import { useEntityProp } from '@wordpress/core-data';
8
- import { Icon, chevronUp, chevronDown, moreVertical } from '@wordpress/icons';
8
+ import { moreVertical } from '@wordpress/icons';
9
9
  import { __, sprintf } from '@wordpress/i18n';
10
10
  import { decodeEntities } from '@wordpress/html-entities';
11
11
  import { useEffect, useMemo, useState } from '@wordpress/element';
@@ -17,8 +17,6 @@ import useNavigationMenu from '../use-navigation-menu';
17
17
  import useNavigationEntities from '../use-navigation-entities';
18
18
 
19
19
  function NavigationMenuSelector(_ref) {
20
- var _window;
21
-
22
20
  let {
23
21
  currentMenuId,
24
22
  onSelectNavigationMenu,
@@ -26,17 +24,13 @@ function NavigationMenuSelector(_ref) {
26
24
  onCreateNew,
27
25
  actionLabel,
28
26
  createNavigationMenuIsSuccess,
29
- createNavigationMenuIsError,
30
- toggleProps = {}
27
+ createNavigationMenuIsError
31
28
  } = _ref;
32
- const isOffCanvasNavigationEditorEnabled = ((_window = window) === null || _window === void 0 ? void 0 : _window.__experimentalEnableOffCanvasNavigationEditor) === true;
33
- /* translators: %s: The name of a menu. */
34
29
 
30
+ /* translators: %s: The name of a menu. */
35
31
  const createActionLabel = __("Create from '%s'");
36
32
 
37
33
  const [selectorLabel, setSelectorLabel] = useState('');
38
- const [isPressed, setIsPressed] = useState(false);
39
- const [enableOptions, setEnableOptions] = useState(false);
40
34
  const [isCreatingMenu, setIsCreatingMenu] = useState(false);
41
35
  actionLabel = actionLabel || createActionLabel;
42
36
  const {
@@ -50,20 +44,20 @@ function NavigationMenuSelector(_ref) {
50
44
  canSwitchNavigationMenu
51
45
  } = useNavigationMenu();
52
46
  const [currentTitle] = useEntityProp('postType', 'wp_navigation', 'title');
53
- const shouldEnableMenuSelector = (canSwitchNavigationMenu || canUserCreateNavigationMenu) && hasResolvedNavigationMenus && !isCreatingMenu;
54
47
  const menuChoices = useMemo(() => {
55
- return (navigationMenus === null || navigationMenus === void 0 ? void 0 : navigationMenus.map(_ref2 => {
48
+ return (navigationMenus === null || navigationMenus === void 0 ? void 0 : navigationMenus.map((_ref2, index) => {
56
49
  let {
57
50
  id,
58
51
  title
59
52
  } = _ref2;
60
- const label = decodeEntities(title.rendered);
53
+ const label = decodeEntities(title.rendered) ||
54
+ /* translators: %s is the index of the menu in the list of menus. */
55
+ sprintf(__('(no title %s)'), index + 1);
61
56
 
62
57
  if (id === currentMenuId && !isCreatingMenu) {
63
58
  setSelectorLabel(
64
59
  /* translators: %s is the name of a navigation menu. */
65
60
  sprintf(__('You are currently editing %s'), label));
66
- setEnableOptions(shouldEnableMenuSelector);
67
61
  }
68
62
 
69
63
  return {
@@ -85,52 +79,18 @@ function NavigationMenuSelector(_ref) {
85
79
  setSelectorLabel(__('Loading …'));
86
80
  } else if (noMenuSelected || noBlockMenus || menuUnavailable) {
87
81
  setSelectorLabel(__('Choose a Navigation menu'));
88
- setEnableOptions(shouldEnableMenuSelector);
89
82
  }
90
83
 
91
84
  if (isCreatingMenu && (createNavigationMenuIsSuccess || createNavigationMenuIsError)) {
92
85
  setIsCreatingMenu(false);
93
86
  }
94
87
  }, [currentMenuId, hasNavigationMenus, hasResolvedNavigationMenus, createNavigationMenuIsSuccess, isNavigationMenuResolved]);
95
- toggleProps = { ...toggleProps,
96
- className: 'wp-block-navigation__navigation-selector-button',
97
- children: createElement(Fragment, null, createElement(VisuallyHidden, {
98
- as: "span"
99
- }, __('Select Menu')), createElement(Icon, {
100
- icon: isPressed ? chevronUp : chevronDown,
101
- className: "wp-block-navigation__navigation-selector-button__icon"
102
- })),
103
- isBusy: !enableOptions,
104
- disabled: !enableOptions,
105
- __experimentalIsFocusable: true,
106
- onClick: () => {
107
- setIsPressed(!isPressed);
108
- }
109
- };
110
-
111
- if (!hasNavigationMenus && !hasClassicMenus && !isOffCanvasNavigationEditorEnabled) {
112
- return createElement(Button, {
113
- className: "wp-block-navigation__navigation-selector-button--createnew",
114
- isBusy: !enableOptions,
115
- disabled: !enableOptions,
116
- __experimentalIsFocusable: true,
117
- onClick: () => {
118
- onCreateNew();
119
- setIsCreatingMenu(true);
120
- setSelectorLabel(__('Loading …'));
121
- setEnableOptions(false);
122
- }
123
- }, __('Create new menu'));
124
- }
125
-
126
- return createElement(DropdownMenu, {
127
- className: isOffCanvasNavigationEditorEnabled ? '' : 'wp-block-navigation__navigation-selector',
88
+ const NavigationMenuSelectorDropdown = createElement(DropdownMenu, {
128
89
  label: selectorLabel,
129
- text: isOffCanvasNavigationEditorEnabled ? '' : selectorLabel,
130
- icon: isOffCanvasNavigationEditorEnabled ? moreVertical : null,
131
- toggleProps: isOffCanvasNavigationEditorEnabled ? {
90
+ icon: moreVertical,
91
+ toggleProps: {
132
92
  isSmall: true
133
- } : toggleProps
93
+ }
134
94
  }, _ref3 => {
135
95
  let {
136
96
  onClose
@@ -150,7 +110,6 @@ function NavigationMenuSelector(_ref) {
150
110
  return createElement(MenuItem, {
151
111
  onClick: () => {
152
112
  setSelectorLabel(__('Loading …'));
153
- setEnableOptions(false);
154
113
  onSelectClassicMenu(menu);
155
114
  onClose();
156
115
  },
@@ -165,10 +124,10 @@ function NavigationMenuSelector(_ref) {
165
124
  onCreateNew();
166
125
  setIsCreatingMenu(true);
167
126
  setSelectorLabel(__('Loading …'));
168
- setEnableOptions(false);
169
127
  }
170
128
  }, __('Create new menu'))));
171
129
  });
130
+ return NavigationMenuSelectorDropdown;
172
131
  }
173
132
 
174
133
  export default NavigationMenuSelector;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"names":["MenuGroup","MenuItem","MenuItemsChoice","DropdownMenu","Button","VisuallyHidden","useEntityProp","Icon","chevronUp","chevronDown","moreVertical","__","sprintf","decodeEntities","useEffect","useMemo","useState","useNavigationMenu","useNavigationEntities","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","isBusy","disabled","__experimentalIsFocusable","onClick","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":["MenuGroup","MenuItem","MenuItemsChoice","DropdownMenu","useEntityProp","moreVertical","__","sprintf","decodeEntities","useEffect","useMemo","useState","useNavigationMenu","useNavigationEntities","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","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"]}
@@ -24,6 +24,7 @@ export default function OverlayMenuPreview(_ref) {
24
24
  }),
25
25
  checked: hasIcon
26
26
  }), createElement(ToggleGroupControl, {
27
+ __nextHasNoMarginBottom: true,
27
28
  label: __('Icon'),
28
29
  value: icon,
29
30
  onChange: value => setAttributes({
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/overlay-menu-preview.js"],"names":["ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__","OverlayMenuIcon","OverlayMenuPreview","setAttributes","hasIcon","icon","value"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,aADD,EAECC,gCAAgC,IAAIC,kBAFrC,EAGCC,sCAAsC,IAAIC,wBAH3C,QAIO,uBAJP;AAKA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AAEA,eAAe,SAASC,kBAAT,OAAgE;AAAA,MAAnC;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA,OAAjB;AAA0BC,IAAAA;AAA1B,GAAmC;AAC9E,SACC,8BACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGL,EAAE,CAAE,kBAAF,CADX;AAEC,IAAA,IAAI,EAAGA,EAAE,CACR,yEADQ,CAFV;AAKC,IAAA,QAAQ,EAAKM,KAAF,IAAaH,aAAa,CAAE;AAAEC,MAAAA,OAAO,EAAEE;AAAX,KAAF,CALtC;AAMC,IAAA,OAAO,EAAGF;AANX,IADD,EAUC,cAAC,kBAAD;AACC,IAAA,KAAK,EAAGJ,EAAE,CAAE,MAAF,CADX;AAEC,IAAA,KAAK,EAAGK,IAFT;AAGC,IAAA,QAAQ,EAAKC,KAAF,IAAaH,aAAa,CAAE;AAAEE,MAAAA,IAAI,EAAEC;AAAR,KAAF,CAHtC;AAIC,IAAA,OAAO;AAJR,KAMC,cAAC,wBAAD;AACC,IAAA,KAAK,EAAC,QADP;AAEC,kBAAaN,EAAE,CAAE,QAAF,CAFhB;AAGC,IAAA,KAAK,EAAG,cAAC,eAAD;AAAiB,MAAA,IAAI,EAAC;AAAtB;AAHT,IAND,EAWC,cAAC,wBAAD;AACC,IAAA,KAAK,EAAC,MADP;AAEC,kBAAaA,EAAE,CAAE,MAAF,CAFhB;AAGC,IAAA,KAAK,EAAG,cAAC,eAAD;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":["ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__","OverlayMenuIcon","OverlayMenuPreview","setAttributes","hasIcon","icon","value"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,aADD,EAECC,gCAAgC,IAAIC,kBAFrC,EAGCC,sCAAsC,IAAIC,wBAH3C,QAIO,uBAJP;AAKA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AAEA,eAAe,SAASC,kBAAT,OAAgE;AAAA,MAAnC;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA,OAAjB;AAA0BC,IAAAA;AAA1B,GAAmC;AAC9E,SACC,8BACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGL,EAAE,CAAE,kBAAF,CADX;AAEC,IAAA,IAAI,EAAGA,EAAE,CACR,yEADQ,CAFV;AAKC,IAAA,QAAQ,EAAKM,KAAF,IAAaH,aAAa,CAAE;AAAEC,MAAAA,OAAO,EAAEE;AAAX,KAAF,CALtC;AAMC,IAAA,OAAO,EAAGF;AANX,IADD,EAUC,cAAC,kBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGJ,EAAE,CAAE,MAAF,CAFX;AAGC,IAAA,KAAK,EAAGK,IAHT;AAIC,IAAA,QAAQ,EAAKC,KAAF,IAAaH,aAAa,CAAE;AAAEE,MAAAA,IAAI,EAAEC;AAAR,KAAF,CAJtC;AAKC,IAAA,OAAO;AALR,KAOC,cAAC,wBAAD;AACC,IAAA,KAAK,EAAC,QADP;AAEC,kBAAaN,EAAE,CAAE,QAAF,CAFhB;AAGC,IAAA,KAAK,EAAG,cAAC,eAAD;AAAiB,MAAA,IAAI,EAAC;AAAtB;AAHT,IAPD,EAYC,cAAC,wBAAD;AACC,IAAA,KAAK,EAAC,MADP;AAEC,kBAAaA,EAAE,CAAE,MAAF,CAFhB;AAGC,IAAA,KAAK,EAAG,cAAC,eAAD;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"]}
@@ -61,12 +61,7 @@ export default function NavigationPlaceholder(_ref) {
61
61
  currentMenuId: currentMenuId,
62
62
  clientId: clientId,
63
63
  onSelectNavigationMenu: onSelectNavigationMenu,
64
- onSelectClassicMenu: onSelectClassicMenu,
65
- toggleProps: {
66
- variant: 'tertiary',
67
- iconPosition: 'right',
68
- className: 'wp-block-navigation-placeholder__actions__dropdown'
69
- }
64
+ onSelectClassicMenu: onSelectClassicMenu
70
65
  }), createElement("hr", null), canUserCreateNavigationMenu && createElement(Button, {
71
66
  variant: "tertiary",
72
67
  onClick: onCreateEmpty
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/placeholder/index.js"],"names":["Placeholder","Button","Spinner","__","navigation","Icon","speak","useEffect","useNavigationEntities","PlaceholderPreview","NavigationMenuSelector","NavigationPlaceholder","isSelected","currentMenuId","clientId","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","onSelectNavigationMenu","onSelectClassicMenu","onCreateEmpty","isResolvingMenus","hasResolvedMenus","isResolvingActions","undefined","variant","iconPosition","className"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,WAAT,EAAsBC,MAAtB,EAA8BC,OAA9B,QAA6C,uBAA7C;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,kBAAjC;AACA,SAASC,KAAT,QAAsB,iBAAtB;AACA,SAASC,SAAT,QAA0B,oBAA1B;AAEA;AACA;AACA;;AACA,OAAOC,qBAAP,MAAkC,+BAAlC;AACA,OAAOC,kBAAP,MAA+B,uBAA/B;AACA,OAAOC,sBAAP,MAAmC,6BAAnC;AAEA,eAAe,SAASC,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,MAAyCb,qBAAqB,EAApE;AAEAD,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAK,CAAEK,UAAP,EAAoB;AACnB;AACA;;AAED,QAAKQ,gBAAL,EAAwB;AACvBd,MAAAA,KAAK,CAAEH,EAAE,CAAE,yCAAF,CAAJ,CAAL;AACA;;AAED,QAAKkB,gBAAL,EAAwB;AACvBf,MAAAA,KAAK,CAAEH,EAAE,CAAE,uCAAF,CAAJ,CAAL;AACA;AACD,GAZQ,EAYN,CAAEiB,gBAAF,EAAoBR,UAApB,CAZM,CAAT;AAcA,QAAMU,kBAAkB,GACvBF,gBAAgB,IAAIJ,sCADrB;AAGA,SACC,8BACC,cAAC,WAAD;AAAa,IAAA,SAAS,EAAC;AAAvB,KAMC,cAAC,kBAAD;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,cAAC,IAAD;AAAM,IAAA,IAAI,EAAGnB;AAAb,IADD,OACgCD,EAAE,CAAE,YAAF,CADlC,CADD,EAKC,yBALD,EAOGmB,kBAAkB,IAAI,cAAC,OAAD,OAPzB,EASC,cAAC,sBAAD;AACC,IAAA,aAAa,EAAGT,aADjB;AAEC,IAAA,QAAQ,EAAGC,QAFZ;AAGC,IAAA,sBAAsB,EAAGG,sBAH1B;AAIC,IAAA,mBAAmB,EAAGC,mBAJvB;AAKC,IAAA,WAAW,EAAG;AACbM,MAAAA,OAAO,EAAE,UADI;AAEbC,MAAAA,YAAY,EAAE,OAFD;AAGbC,MAAAA,SAAS,EACR;AAJY;AALf,IATD,EAsBC,yBAtBD,EAwBGX,2BAA2B,IAC5B,cAAC,MAAD;AACC,IAAA,OAAO,EAAC,UADT;AAEC,IAAA,OAAO,EAAGI;AAFX,KAIGhB,EAAE,CAAE,aAAF,CAJL,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":["Placeholder","Button","Spinner","__","navigation","Icon","speak","useEffect","useNavigationEntities","PlaceholderPreview","NavigationMenuSelector","NavigationPlaceholder","isSelected","currentMenuId","clientId","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","onSelectNavigationMenu","onSelectClassicMenu","onCreateEmpty","isResolvingMenus","hasResolvedMenus","isResolvingActions","undefined"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,WAAT,EAAsBC,MAAtB,EAA8BC,OAA9B,QAA6C,uBAA7C;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,kBAAjC;AACA,SAASC,KAAT,QAAsB,iBAAtB;AACA,SAASC,SAAT,QAA0B,oBAA1B;AAEA;AACA;AACA;;AACA,OAAOC,qBAAP,MAAkC,+BAAlC;AACA,OAAOC,kBAAP,MAA+B,uBAA/B;AACA,OAAOC,sBAAP,MAAmC,6BAAnC;AAEA,eAAe,SAASC,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,MAAyCb,qBAAqB,EAApE;AAEAD,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAK,CAAEK,UAAP,EAAoB;AACnB;AACA;;AAED,QAAKQ,gBAAL,EAAwB;AACvBd,MAAAA,KAAK,CAAEH,EAAE,CAAE,yCAAF,CAAJ,CAAL;AACA;;AAED,QAAKkB,gBAAL,EAAwB;AACvBf,MAAAA,KAAK,CAAEH,EAAE,CAAE,uCAAF,CAAJ,CAAL;AACA;AACD,GAZQ,EAYN,CAAEiB,gBAAF,EAAoBR,UAApB,CAZM,CAAT;AAcA,QAAMU,kBAAkB,GACvBF,gBAAgB,IAAIJ,sCADrB;AAGA,SACC,8BACC,cAAC,WAAD;AAAa,IAAA,SAAS,EAAC;AAAvB,KAMC,cAAC,kBAAD;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,cAAC,IAAD;AAAM,IAAA,IAAI,EAAGnB;AAAb,IADD,OACgCD,EAAE,CAAE,YAAF,CADlC,CADD,EAKC,yBALD,EAOGmB,kBAAkB,IAAI,cAAC,OAAD,OAPzB,EASC,cAAC,sBAAD;AACC,IAAA,aAAa,EAAGT,aADjB;AAEC,IAAA,QAAQ,EAAGC,QAFZ;AAGC,IAAA,sBAAsB,EAAGG,sBAH1B;AAIC,IAAA,mBAAmB,EAAGC;AAJvB,IATD,EAgBC,yBAhBD,EAkBGH,2BAA2B,IAC5B,cAAC,MAAD;AACC,IAAA,OAAO,EAAC,UADT;AAEC,IAAA,OAAO,EAAGI;AAFX,KAIGhB,EAAE,CAAE,aAAF,CAJL,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"]}
@@ -102,6 +102,7 @@ const metadata = {
102
102
  },
103
103
  supports: {
104
104
  align: ["wide", "full"],
105
+ anchor: true,
105
106
  html: false,
106
107
  inserter: true,
107
108
  typography: {
@@ -129,6 +130,7 @@ const metadata = {
129
130
  allowSwitching: false,
130
131
  allowInheriting: false,
131
132
  allowVerticalAlignment: false,
133
+ allowSizingOnChildren: true,
132
134
  "default": {
133
135
  type: "flex"
134
136
  }
@@ -157,6 +159,9 @@ export { metadata, name };
157
159
  export const settings = {
158
160
  icon,
159
161
  example: {
162
+ attributes: {
163
+ overlayMenu: 'never'
164
+ },
160
165
  innerBlocks: [{
161
166
  name: 'core/navigation-link',
162
167
  attributes: {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/index.js"],"names":["__","navigation","icon","initBlock","edit","save","deprecated","name","metadata","settings","example","innerBlocks","attributes","label","url","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,UAAU,IAAIC,IAAvB,QAAmC,kBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBP,EAAAA,IADuB;AAEvBQ,EAAAA,OAAO,EAAE;AACRC,IAAAA,WAAW,EAAE,CACZ;AACCJ,MAAAA,IAAI,EAAE,sBADP;AAECK,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAEb,EAAE,CAAE,MAAF,CAFE;AAGXc,QAAAA,GAAG,EAAE;AAHM;AAFb,KADY,EASZ;AACCP,MAAAA,IAAI,EAAE,sBADP;AAECK,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAEb,EAAE,CAAE,OAAF,CAFE;AAGXc,QAAAA,GAAG,EAAE;AAHM;AAFb,KATY,EAiBZ;AACCP,MAAAA,IAAI,EAAE,sBADP;AAECK,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAEb,EAAE,CAAE,SAAF,CAFE;AAGXc,QAAAA,GAAG,EAAE;AAHM;AAFb,KAjBY;AADL,GAFc;AA8BvBV,EAAAA,IA9BuB;AA+BvBC,EAAAA,IA/BuB;AAgCvBC,EAAAA;AAhCuB,CAAjB;AAmCP,OAAO,MAAMS,IAAI,GAAG,MAAMZ,SAAS,CAAE;AAAEI,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAF,CAA5B","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":["__","navigation","icon","initBlock","edit","save","deprecated","name","metadata","settings","example","attributes","overlayMenu","innerBlocks","label","url","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,UAAU,IAAIC,IAAvB,QAAmC,kBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBP,EAAAA,IADuB;AAEvBQ,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,WAAW,EAAE;AADF,KADJ;AAIRC,IAAAA,WAAW,EAAE,CACZ;AACCN,MAAAA,IAAI,EAAE,sBADP;AAECI,MAAAA,UAAU,EAAE;AACX;AACAG,QAAAA,KAAK,EAAEd,EAAE,CAAE,MAAF,CAFE;AAGXe,QAAAA,GAAG,EAAE;AAHM;AAFb,KADY,EASZ;AACCR,MAAAA,IAAI,EAAE,sBADP;AAECI,MAAAA,UAAU,EAAE;AACX;AACAG,QAAAA,KAAK,EAAEd,EAAE,CAAE,OAAF,CAFE;AAGXe,QAAAA,GAAG,EAAE;AAHM;AAFb,KATY,EAiBZ;AACCR,MAAAA,IAAI,EAAE,sBADP;AAECI,MAAAA,UAAU,EAAE;AACX;AACAG,QAAAA,KAAK,EAAEd,EAAE,CAAE,SAAF,CAFE;AAGXe,QAAAA,GAAG,EAAE;AAHM;AAFb,KAjBY;AAJL,GAFc;AAiCvBX,EAAAA,IAjCuB;AAkCvBC,EAAAA,IAlCuB;AAmCvBC,EAAAA;AAnCuB,CAAjB;AAsCP,OAAO,MAAMU,IAAI,GAAG,MAAMb,SAAS,CAAE;AAAEI,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAF,CAA5B","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"]}
@@ -77,8 +77,6 @@ function mapMenuItemsToBlocks(menuItems) {
77
77
  * For more documentation on the individual fields present on a menu item please see:
78
78
  * https://core.trac.wordpress.org/browser/tags/5.7.1/src/wp-includes/nav-menu.php#L789
79
79
  *
80
- * Changes made here should also be mirrored in packages/edit-navigation/src/store/utils.js.
81
- *
82
80
  * @typedef WPNavMenuItem
83
81
  *
84
82
  * @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":["createBlock","parse","applyFilters","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":["createBlock","parse","applyFilters","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 * @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"]}
@@ -4,7 +4,6 @@ import { createElement, Fragment } from "@wordpress/element";
4
4
  * External dependencies
5
5
  */
6
6
  import classnames from 'classnames';
7
- import { unescape } from 'lodash';
8
7
  /**
9
8
  * WordPress dependencies
10
9
  */
@@ -18,6 +17,7 @@ import { BlockControls, InspectorControls, RichText, useBlockProps, store as blo
18
17
  import { isURL, prependHTTP } from '@wordpress/url';
19
18
  import { useState, useEffect, useRef } from '@wordpress/element';
20
19
  import { placeCaretAtHorizontalEdge, __unstableStripHTML as stripHTML } from '@wordpress/dom';
20
+ import { decodeEntities } from '@wordpress/html-entities';
21
21
  import { link as linkIcon, addSubmenu } from '@wordpress/icons';
22
22
  import { store as coreStore, useResourcePermissions } from '@wordpress/core-data';
23
23
  import { useMergeRefs } from '@wordpress/compose';
@@ -353,12 +353,17 @@ export default function NavigationLinkEdit(_ref) {
353
353
 
354
354
  function removeLink() {
355
355
  // Reset all attributes that comprise the link.
356
+ // It is critical that all attributes are reset
357
+ // to their default values otherwise this may
358
+ // in advertently trigger side effects because
359
+ // the values will have "changed".
356
360
  setAttributes({
357
- url: '',
358
- label: '',
359
- id: '',
360
- kind: '',
361
- type: ''
361
+ url: undefined,
362
+ label: undefined,
363
+ id: undefined,
364
+ kind: undefined,
365
+ type: undefined,
366
+ opensInNewTab: false
362
367
  }); // Close the link editing UI.
363
368
 
364
369
  setIsLinkOpen(false);
@@ -443,6 +448,7 @@ export default function NavigationLinkEdit(_ref) {
443
448
  }))), createElement(InspectorControls, null, createElement(PanelBody, {
444
449
  title: __('Link settings')
445
450
  }, createElement(TextControl, {
451
+ __nextHasNoMarginBottom: true,
446
452
  value: label ? stripHTML(label) : '',
447
453
  onChange: labelValue => {
448
454
  setAttributes({
@@ -452,6 +458,7 @@ export default function NavigationLinkEdit(_ref) {
452
458
  label: __('Label'),
453
459
  autoComplete: "off"
454
460
  }), createElement(TextControl, {
461
+ __nextHasNoMarginBottom: true,
455
462
  value: url || '',
456
463
  onChange: urlValue => {
457
464
  updateAttributes({
@@ -471,6 +478,7 @@ export default function NavigationLinkEdit(_ref) {
471
478
  label: __('Description'),
472
479
  help: __('The description will be displayed in the menu if the current theme supports it.')
473
480
  }), createElement(TextControl, {
481
+ __nextHasNoMarginBottom: true,
474
482
  value: title || '',
475
483
  onChange: titleValue => {
476
484
  setAttributes({
@@ -480,6 +488,7 @@ export default function NavigationLinkEdit(_ref) {
480
488
  label: __('Link title'),
481
489
  autoComplete: "off"
482
490
  }), createElement(TextControl, {
491
+ __nextHasNoMarginBottom: true,
483
492
  value: rel || '',
484
493
  onChange: relValue => {
485
494
  setAttributes({
@@ -535,7 +544,7 @@ export default function NavigationLinkEdit(_ref) {
535
544
  // Unescape is used here to "recover" the escaped characters
536
545
  // so they display without encoding.
537
546
  // See `updateAttributes` for more details.
538
- `${unescape(label)} ${placeholderText}`.trim()), createElement("span", {
547
+ `${decodeEntities(label)} ${placeholderText}`.trim()), createElement("span", {
539
548
  className: "wp-block-navigation-link__missing_text-tooltip"
540
549
  }, tooltipText))))), isLinkOpen && createElement(LinkUI, {
541
550
  className: "wp-block-navigation-link__inline-link-input",