@wordpress/block-library 6.0.20 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1041) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/LICENSE.md +1 -1
  3. package/build/archives/index.js +1 -0
  4. package/build/archives/index.js.map +1 -1
  5. package/build/audio/edit.js +19 -4
  6. package/build/audio/edit.js.map +1 -1
  7. package/build/audio/index.js +1 -0
  8. package/build/audio/index.js.map +1 -1
  9. package/build/block/index.js +1 -0
  10. package/build/block/index.js.map +1 -1
  11. package/build/button/edit.native.js +1 -1
  12. package/build/button/edit.native.js.map +1 -1
  13. package/build/button/index.js +5 -1
  14. package/build/button/index.js.map +1 -1
  15. package/build/buttons/edit.js +6 -0
  16. package/build/buttons/edit.js.map +1 -1
  17. package/build/buttons/edit.native.js +16 -6
  18. package/build/buttons/edit.native.js.map +1 -1
  19. package/build/buttons/index.js +1 -0
  20. package/build/buttons/index.js.map +1 -1
  21. package/build/buttons/transforms.js +1 -0
  22. package/build/buttons/transforms.js.map +1 -1
  23. package/build/calendar/index.js +1 -0
  24. package/build/calendar/index.js.map +1 -1
  25. package/build/categories/index.js +1 -0
  26. package/build/categories/index.js.map +1 -1
  27. package/build/code/index.js +6 -1
  28. package/build/code/index.js.map +1 -1
  29. package/build/column/index.js +1 -0
  30. package/build/column/index.js.map +1 -1
  31. package/build/columns/index.js +11 -0
  32. package/build/columns/index.js.map +1 -1
  33. package/build/comment-author-avatar/edit.js +5 -2
  34. package/build/comment-author-avatar/edit.js.map +1 -1
  35. package/build/comment-author-avatar/index.js +7 -2
  36. package/build/comment-author-avatar/index.js.map +1 -1
  37. package/build/comment-author-name/index.js +1 -0
  38. package/build/comment-author-name/index.js.map +1 -1
  39. package/build/comment-content/index.js +1 -0
  40. package/build/comment-content/index.js.map +1 -1
  41. package/build/comment-date/index.js +1 -0
  42. package/build/comment-date/index.js.map +1 -1
  43. package/build/comment-edit-link/index.js +2 -1
  44. package/build/comment-edit-link/index.js.map +1 -1
  45. package/build/comment-reply-link/index.js +1 -0
  46. package/build/comment-reply-link/index.js.map +1 -1
  47. package/build/comment-template/edit.js +117 -26
  48. package/build/comment-template/edit.js.map +1 -1
  49. package/build/comment-template/index.js +4 -2
  50. package/build/comment-template/index.js.map +1 -1
  51. package/build/comment-template/util.js +68 -0
  52. package/build/comment-template/util.js.map +1 -0
  53. package/build/comments-pagination/comments-pagination-arrow-controls.js +39 -0
  54. package/build/comments-pagination/comments-pagination-arrow-controls.js.map +1 -0
  55. package/build/comments-pagination/edit.js +79 -0
  56. package/build/comments-pagination/edit.js.map +1 -0
  57. package/build/comments-pagination/index.js +71 -0
  58. package/build/comments-pagination/index.js.map +1 -0
  59. package/build/comments-pagination/save.js +18 -0
  60. package/build/comments-pagination/save.js.map +1 -0
  61. package/build/comments-pagination-next/edit.js +54 -0
  62. package/build/comments-pagination-next/edit.js.map +1 -0
  63. package/build/comments-pagination-next/index.js +66 -0
  64. package/build/comments-pagination-next/index.js.map +1 -0
  65. package/build/comments-pagination-numbers/edit.js +47 -0
  66. package/build/comments-pagination-numbers/edit.js.map +1 -0
  67. package/build/comments-pagination-numbers/index.js +46 -0
  68. package/build/comments-pagination-numbers/index.js.map +1 -0
  69. package/build/comments-pagination-previous/edit.js +54 -0
  70. package/build/comments-pagination-previous/edit.js.map +1 -0
  71. package/build/comments-pagination-previous/index.js +66 -0
  72. package/build/comments-pagination-previous/index.js.map +1 -0
  73. package/build/comments-query-loop/edit/comments-inspector-controls.js +102 -0
  74. package/build/comments-query-loop/edit/comments-inspector-controls.js.map +1 -0
  75. package/build/comments-query-loop/edit.js +23 -28
  76. package/build/comments-query-loop/edit.js.map +1 -1
  77. package/build/comments-query-loop/index.js +15 -7
  78. package/build/comments-query-loop/index.js.map +1 -1
  79. package/build/cover/edit.js +2 -1
  80. package/build/cover/edit.js.map +1 -1
  81. package/build/cover/edit.native.js +40 -32
  82. package/build/cover/edit.native.js.map +1 -1
  83. package/build/cover/index.js +1 -0
  84. package/build/cover/index.js.map +1 -1
  85. package/build/cover/overlay-color-settings.native.js +11 -1
  86. package/build/cover/overlay-color-settings.native.js.map +1 -1
  87. package/build/embed/deprecated.js +1 -0
  88. package/build/embed/deprecated.js.map +1 -1
  89. package/build/embed/edit.native.js +23 -20
  90. package/build/embed/edit.native.js.map +1 -1
  91. package/build/embed/embed-controls.native.js +69 -0
  92. package/build/embed/embed-controls.native.js.map +1 -0
  93. package/build/embed/embed-link-settings.native.js +101 -0
  94. package/build/embed/embed-link-settings.native.js.map +1 -0
  95. package/build/embed/embed-loading.js +1 -3
  96. package/build/embed/embed-loading.js.map +1 -1
  97. package/build/embed/embed-placeholder.native.js +9 -2
  98. package/build/embed/embed-placeholder.native.js.map +1 -1
  99. package/build/embed/index.js +1 -0
  100. package/build/embed/index.js.map +1 -1
  101. package/build/embed/transforms.js +1 -0
  102. package/build/embed/transforms.js.map +1 -1
  103. package/build/embed/util.js +1 -0
  104. package/build/embed/util.js.map +1 -1
  105. package/build/file/edit.native.js +5 -2
  106. package/build/file/edit.native.js.map +1 -1
  107. package/build/file/index.js +1 -0
  108. package/build/file/index.js.map +1 -1
  109. package/build/freeform/index.js +1 -0
  110. package/build/freeform/index.js.map +1 -1
  111. package/build/gallery/deprecated.js +4 -0
  112. package/build/gallery/deprecated.js.map +1 -1
  113. package/build/gallery/edit.js +31 -12
  114. package/build/gallery/edit.js.map +1 -1
  115. package/build/gallery/gallery.native.js +1 -1
  116. package/build/gallery/gallery.native.js.map +1 -1
  117. package/build/gallery/index.js +1 -0
  118. package/build/gallery/index.js.map +1 -1
  119. package/build/group/index.js +19 -1
  120. package/build/group/index.js.map +1 -1
  121. package/build/heading/edit.js +2 -0
  122. package/build/heading/edit.js.map +1 -1
  123. package/build/heading/index.js +1 -0
  124. package/build/heading/index.js.map +1 -1
  125. package/build/heading/transforms.js +1 -0
  126. package/build/heading/transforms.js.map +1 -1
  127. package/build/home-link/index.js +1 -0
  128. package/build/home-link/index.js.map +1 -1
  129. package/build/html/index.js +1 -0
  130. package/build/html/index.js.map +1 -1
  131. package/build/image/edit.js +56 -5
  132. package/build/image/edit.js.map +1 -1
  133. package/build/image/edit.native.js +4 -4
  134. package/build/image/edit.native.js.map +1 -1
  135. package/build/image/image.js +15 -4
  136. package/build/image/image.js.map +1 -1
  137. package/build/image/index.js +5 -1
  138. package/build/image/index.js.map +1 -1
  139. package/build/index.js +12 -2
  140. package/build/index.js.map +1 -1
  141. package/build/latest-comments/index.js +1 -0
  142. package/build/latest-comments/index.js.map +1 -1
  143. package/build/latest-posts/deprecated.js +1 -0
  144. package/build/latest-posts/deprecated.js.map +1 -1
  145. package/build/latest-posts/edit.js +1 -1
  146. package/build/latest-posts/edit.js.map +1 -1
  147. package/build/latest-posts/index.js +1 -0
  148. package/build/latest-posts/index.js.map +1 -1
  149. package/build/list/index.js +1 -0
  150. package/build/list/index.js.map +1 -1
  151. package/build/loginout/index.js +1 -0
  152. package/build/loginout/index.js.map +1 -1
  153. package/build/media-text/index.js +1 -0
  154. package/build/media-text/index.js.map +1 -1
  155. package/build/missing/index.js +1 -0
  156. package/build/missing/index.js.map +1 -1
  157. package/build/more/index.js +1 -0
  158. package/build/more/index.js.map +1 -1
  159. package/build/navigation/edit/index.js +45 -11
  160. package/build/navigation/edit/index.js.map +1 -1
  161. package/build/navigation/edit/inner-blocks.js +3 -1
  162. package/build/navigation/edit/inner-blocks.js.map +1 -1
  163. package/build/navigation/edit/navigation-menu-selector.js +42 -4
  164. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  165. package/build/navigation/edit/overlay-menu-icon.js +36 -0
  166. package/build/navigation/edit/overlay-menu-icon.js.map +1 -0
  167. package/build/navigation/edit/placeholder/index.js +17 -48
  168. package/build/navigation/edit/placeholder/index.js.map +1 -1
  169. package/build/navigation/edit/responsive-wrapper.js +11 -22
  170. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  171. package/build/navigation/index.js +10 -1
  172. package/build/navigation/index.js.map +1 -1
  173. package/build/navigation/menu-items-to-blocks.js +4 -1
  174. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  175. package/build/navigation/use-convert-classic-menu.js +59 -0
  176. package/build/navigation/use-convert-classic-menu.js.map +1 -0
  177. package/build/navigation/use-navigation-entities.js +6 -3
  178. package/build/navigation/use-navigation-entities.js.map +1 -1
  179. package/build/navigation-area/edit.js +2 -1
  180. package/build/navigation-area/edit.js.map +1 -1
  181. package/build/navigation-area/index.js +2 -1
  182. package/build/navigation-area/index.js.map +1 -1
  183. package/build/navigation-link/edit.js +7 -0
  184. package/build/navigation-link/edit.js.map +1 -1
  185. package/build/navigation-link/index.js +1 -0
  186. package/build/navigation-link/index.js.map +1 -1
  187. package/build/navigation-submenu/edit.js +4 -1
  188. package/build/navigation-submenu/edit.js.map +1 -1
  189. package/build/navigation-submenu/index.js +1 -0
  190. package/build/navigation-submenu/index.js.map +1 -1
  191. package/build/nextpage/index.js +1 -0
  192. package/build/nextpage/index.js.map +1 -1
  193. package/build/page-list/edit.js +37 -10
  194. package/build/page-list/edit.js.map +1 -1
  195. package/build/page-list/index.js +6 -1
  196. package/build/page-list/index.js.map +1 -1
  197. package/build/paragraph/edit.js +12 -2
  198. package/build/paragraph/edit.js.map +1 -1
  199. package/build/paragraph/index.js +2 -1
  200. package/build/paragraph/index.js.map +1 -1
  201. package/build/paragraph/transforms.js +2 -1
  202. package/build/paragraph/transforms.js.map +1 -1
  203. package/build/pattern/index.js +1 -0
  204. package/build/pattern/index.js.map +1 -1
  205. package/build/post-author/index.js +2 -1
  206. package/build/post-author/index.js.map +1 -1
  207. package/build/post-author-name/edit.js +98 -0
  208. package/build/post-author-name/edit.js.map +1 -0
  209. package/build/post-author-name/index.js +70 -0
  210. package/build/post-author-name/index.js.map +1 -0
  211. package/build/post-comment/index.js +1 -0
  212. package/build/post-comment/index.js.map +1 -1
  213. package/build/post-comments/index.js +1 -0
  214. package/build/post-comments/index.js.map +1 -1
  215. package/build/post-comments-count/index.js +1 -0
  216. package/build/post-comments-count/index.js.map +1 -1
  217. package/build/post-comments-form/index.js +1 -0
  218. package/build/post-comments-form/index.js.map +1 -1
  219. package/build/post-comments-link/index.js +1 -0
  220. package/build/post-comments-link/index.js.map +1 -1
  221. package/build/post-content/index.js +1 -0
  222. package/build/post-content/index.js.map +1 -1
  223. package/build/post-date/index.js +1 -0
  224. package/build/post-date/index.js.map +1 -1
  225. package/build/post-excerpt/edit.js +2 -1
  226. package/build/post-excerpt/edit.js.map +1 -1
  227. package/build/post-excerpt/index.js +4 -0
  228. package/build/post-excerpt/index.js.map +1 -1
  229. package/build/post-excerpt/transforms.js +27 -0
  230. package/build/post-excerpt/transforms.js.map +1 -0
  231. package/build/post-featured-image/dimension-controls.js +74 -32
  232. package/build/post-featured-image/dimension-controls.js.map +1 -1
  233. package/build/post-featured-image/edit.js +52 -20
  234. package/build/post-featured-image/edit.js.map +1 -1
  235. package/build/post-featured-image/index.js +4 -0
  236. package/build/post-featured-image/index.js.map +1 -1
  237. package/build/post-navigation-link/index.js +1 -0
  238. package/build/post-navigation-link/index.js.map +1 -1
  239. package/build/post-template/edit.js +34 -7
  240. package/build/post-template/edit.js.map +1 -1
  241. package/build/post-template/index.js +2 -1
  242. package/build/post-template/index.js.map +1 -1
  243. package/build/post-terms/index.js +1 -0
  244. package/build/post-terms/index.js.map +1 -1
  245. package/build/post-title/index.js +1 -0
  246. package/build/post-title/index.js.map +1 -1
  247. package/build/preformatted/edit.native.js +3 -6
  248. package/build/preformatted/edit.native.js.map +1 -1
  249. package/build/preformatted/index.js +1 -0
  250. package/build/preformatted/index.js.map +1 -1
  251. package/build/pullquote/index.js +8 -1
  252. package/build/pullquote/index.js.map +1 -1
  253. package/build/query/deprecated.js +96 -3
  254. package/build/query/deprecated.js.map +1 -1
  255. package/build/query/edit/index.js +4 -4
  256. package/build/query/edit/index.js.map +1 -1
  257. package/build/query/edit/inspector-controls/author-control.js +102 -0
  258. package/build/query/edit/inspector-controls/author-control.js.map +1 -0
  259. package/build/query/edit/inspector-controls/index.js +166 -0
  260. package/build/query/edit/inspector-controls/index.js.map +1 -0
  261. package/build/query/edit/inspector-controls/order-control.js +55 -0
  262. package/build/query/edit/inspector-controls/order-control.js.map +1 -0
  263. package/build/query/edit/inspector-controls/taxonomy-controls.js +158 -0
  264. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -0
  265. package/build/query/index.js +3 -3
  266. package/build/query/utils.js +49 -38
  267. package/build/query/utils.js.map +1 -1
  268. package/build/query/variations.js +0 -4
  269. package/build/query/variations.js.map +1 -1
  270. package/build/query-pagination/index.js +2 -1
  271. package/build/query-pagination/index.js.map +1 -1
  272. package/build/query-pagination-next/index.js +2 -1
  273. package/build/query-pagination-next/index.js.map +1 -1
  274. package/build/query-pagination-numbers/index.js +2 -1
  275. package/build/query-pagination-numbers/index.js.map +1 -1
  276. package/build/query-pagination-previous/index.js +2 -1
  277. package/build/query-pagination-previous/index.js.map +1 -1
  278. package/build/query-title/index.js +1 -0
  279. package/build/query-title/index.js.map +1 -1
  280. package/build/quote/index.js +1 -0
  281. package/build/quote/index.js.map +1 -1
  282. package/build/rss/index.js +1 -0
  283. package/build/rss/index.js.map +1 -1
  284. package/build/search/edit.js +5 -3
  285. package/build/search/edit.js.map +1 -1
  286. package/build/search/edit.native.js +2 -2
  287. package/build/search/edit.native.js.map +1 -1
  288. package/build/search/index.js +8 -1
  289. package/build/search/index.js.map +1 -1
  290. package/build/separator/index.js +1 -0
  291. package/build/separator/index.js.map +1 -1
  292. package/build/shortcode/index.js +1 -0
  293. package/build/shortcode/index.js.map +1 -1
  294. package/build/site-logo/edit.js +0 -25
  295. package/build/site-logo/edit.js.map +1 -1
  296. package/build/site-logo/index.js +5 -1
  297. package/build/site-logo/index.js.map +1 -1
  298. package/build/site-logo/transforms.js +31 -0
  299. package/build/site-logo/transforms.js.map +1 -0
  300. package/build/site-tagline/index.js +2 -1
  301. package/build/site-tagline/index.js.map +1 -1
  302. package/build/site-title/index.js +4 -0
  303. package/build/site-title/index.js.map +1 -1
  304. package/build/site-title/transforms.js +31 -0
  305. package/build/site-title/transforms.js.map +1 -0
  306. package/build/social-link/index.js +2 -1
  307. package/build/social-link/index.js.map +1 -1
  308. package/build/social-links/edit.js +29 -23
  309. package/build/social-links/edit.js.map +1 -1
  310. package/build/social-links/index.js +2 -1
  311. package/build/social-links/index.js.map +1 -1
  312. package/build/spacer/controls.js +111 -0
  313. package/build/spacer/controls.js.map +1 -0
  314. package/build/spacer/controls.native.js +95 -0
  315. package/build/spacer/controls.native.js.map +1 -0
  316. package/build/spacer/deprecated.js +53 -0
  317. package/build/spacer/deprecated.js.map +1 -0
  318. package/build/spacer/edit.js +117 -98
  319. package/build/spacer/edit.js.map +1 -1
  320. package/build/spacer/edit.native.js +76 -0
  321. package/build/spacer/edit.native.js.map +1 -0
  322. package/build/spacer/index.js +8 -4
  323. package/build/spacer/index.js.map +1 -1
  324. package/build/spacer/save.js +6 -3
  325. package/build/spacer/save.js.map +1 -1
  326. package/build/table/index.js +7 -1
  327. package/build/table/index.js.map +1 -1
  328. package/build/table-of-contents/index.js +1 -0
  329. package/build/table-of-contents/index.js.map +1 -1
  330. package/build/tag-cloud/index.js +1 -0
  331. package/build/tag-cloud/index.js.map +1 -1
  332. package/build/template-part/index.js +1 -0
  333. package/build/template-part/index.js.map +1 -1
  334. package/build/term-description/index.js +1 -0
  335. package/build/term-description/index.js.map +1 -1
  336. package/build/text-columns/index.js +1 -0
  337. package/build/text-columns/index.js.map +1 -1
  338. package/build/verse/index.js +1 -0
  339. package/build/verse/index.js.map +1 -1
  340. package/build/video/index.js +1 -0
  341. package/build/video/index.js.map +1 -1
  342. package/build-module/archives/index.js +1 -0
  343. package/build-module/archives/index.js.map +1 -1
  344. package/build-module/audio/edit.js +17 -5
  345. package/build-module/audio/edit.js.map +1 -1
  346. package/build-module/audio/index.js +1 -0
  347. package/build-module/audio/index.js.map +1 -1
  348. package/build-module/block/index.js +1 -0
  349. package/build-module/block/index.js.map +1 -1
  350. package/build-module/button/edit.native.js +1 -1
  351. package/build-module/button/edit.native.js.map +1 -1
  352. package/build-module/button/index.js +5 -1
  353. package/build-module/button/index.js.map +1 -1
  354. package/build-module/buttons/edit.js +6 -0
  355. package/build-module/buttons/edit.js.map +1 -1
  356. package/build-module/buttons/edit.native.js +17 -7
  357. package/build-module/buttons/edit.native.js.map +1 -1
  358. package/build-module/buttons/index.js +1 -0
  359. package/build-module/buttons/index.js.map +1 -1
  360. package/build-module/buttons/transforms.js +1 -0
  361. package/build-module/buttons/transforms.js.map +1 -1
  362. package/build-module/calendar/index.js +1 -0
  363. package/build-module/calendar/index.js.map +1 -1
  364. package/build-module/categories/index.js +1 -0
  365. package/build-module/categories/index.js.map +1 -1
  366. package/build-module/code/index.js +6 -1
  367. package/build-module/code/index.js.map +1 -1
  368. package/build-module/column/index.js +1 -0
  369. package/build-module/column/index.js.map +1 -1
  370. package/build-module/columns/index.js +11 -0
  371. package/build-module/columns/index.js.map +1 -1
  372. package/build-module/comment-author-avatar/edit.js +6 -3
  373. package/build-module/comment-author-avatar/edit.js.map +1 -1
  374. package/build-module/comment-author-avatar/index.js +7 -2
  375. package/build-module/comment-author-avatar/index.js.map +1 -1
  376. package/build-module/comment-author-name/index.js +1 -0
  377. package/build-module/comment-author-name/index.js.map +1 -1
  378. package/build-module/comment-content/index.js +1 -0
  379. package/build-module/comment-content/index.js.map +1 -1
  380. package/build-module/comment-date/index.js +1 -0
  381. package/build-module/comment-date/index.js.map +1 -1
  382. package/build-module/comment-edit-link/index.js +2 -1
  383. package/build-module/comment-edit-link/index.js.map +1 -1
  384. package/build-module/comment-reply-link/index.js +1 -0
  385. package/build-module/comment-reply-link/index.js.map +1 -1
  386. package/build-module/comment-template/edit.js +116 -26
  387. package/build-module/comment-template/edit.js.map +1 -1
  388. package/build-module/comment-template/index.js +4 -2
  389. package/build-module/comment-template/index.js.map +1 -1
  390. package/build-module/comment-template/util.js +59 -0
  391. package/build-module/comment-template/util.js.map +1 -0
  392. package/build-module/comments-pagination/comments-pagination-arrow-controls.js +30 -0
  393. package/build-module/comments-pagination/comments-pagination-arrow-controls.js.map +1 -0
  394. package/build-module/comments-pagination/edit.js +66 -0
  395. package/build-module/comments-pagination/edit.js.map +1 -0
  396. package/build-module/comments-pagination/index.js +57 -0
  397. package/build-module/comments-pagination/index.js.map +1 -0
  398. package/build-module/comments-pagination/save.js +10 -0
  399. package/build-module/comments-pagination/save.js.map +1 -0
  400. package/build-module/comments-pagination-next/edit.js +41 -0
  401. package/build-module/comments-pagination-next/edit.js.map +1 -0
  402. package/build-module/comments-pagination-next/index.js +53 -0
  403. package/build-module/comments-pagination-next/index.js.map +1 -0
  404. package/build-module/comments-pagination-numbers/edit.js +40 -0
  405. package/build-module/comments-pagination-numbers/edit.js.map +1 -0
  406. package/build-module/comments-pagination-numbers/index.js +33 -0
  407. package/build-module/comments-pagination-numbers/index.js.map +1 -0
  408. package/build-module/comments-pagination-previous/edit.js +41 -0
  409. package/build-module/comments-pagination-previous/edit.js.map +1 -0
  410. package/build-module/comments-pagination-previous/index.js +53 -0
  411. package/build-module/comments-pagination-previous/index.js.map +1 -0
  412. package/build-module/comments-query-loop/edit/comments-inspector-controls.js +91 -0
  413. package/build-module/comments-query-loop/edit/comments-inspector-controls.js.map +1 -0
  414. package/build-module/comments-query-loop/edit.js +24 -28
  415. package/build-module/comments-query-loop/edit.js.map +1 -1
  416. package/build-module/comments-query-loop/index.js +15 -7
  417. package/build-module/comments-query-loop/index.js.map +1 -1
  418. package/build-module/cover/edit.js +2 -1
  419. package/build-module/cover/edit.js.map +1 -1
  420. package/build-module/cover/edit.native.js +41 -34
  421. package/build-module/cover/edit.native.js.map +1 -1
  422. package/build-module/cover/index.js +1 -0
  423. package/build-module/cover/index.js.map +1 -1
  424. package/build-module/cover/overlay-color-settings.native.js +11 -1
  425. package/build-module/cover/overlay-color-settings.native.js.map +1 -1
  426. package/build-module/embed/deprecated.js +1 -0
  427. package/build-module/embed/deprecated.js.map +1 -1
  428. package/build-module/embed/edit.native.js +24 -21
  429. package/build-module/embed/edit.native.js.map +1 -1
  430. package/build-module/embed/embed-controls.native.js +54 -0
  431. package/build-module/embed/embed-controls.native.js.map +1 -0
  432. package/build-module/embed/embed-link-settings.native.js +90 -0
  433. package/build-module/embed/embed-link-settings.native.js.map +1 -0
  434. package/build-module/embed/embed-loading.js +1 -2
  435. package/build-module/embed/embed-loading.js.map +1 -1
  436. package/build-module/embed/embed-placeholder.native.js +9 -2
  437. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  438. package/build-module/embed/index.js +1 -0
  439. package/build-module/embed/index.js.map +1 -1
  440. package/build-module/embed/transforms.js +1 -0
  441. package/build-module/embed/transforms.js.map +1 -1
  442. package/build-module/embed/util.js +1 -0
  443. package/build-module/embed/util.js.map +1 -1
  444. package/build-module/file/edit.native.js +4 -2
  445. package/build-module/file/edit.native.js.map +1 -1
  446. package/build-module/file/index.js +1 -0
  447. package/build-module/file/index.js.map +1 -1
  448. package/build-module/freeform/index.js +1 -0
  449. package/build-module/freeform/index.js.map +1 -1
  450. package/build-module/gallery/deprecated.js +4 -0
  451. package/build-module/gallery/deprecated.js.map +1 -1
  452. package/build-module/gallery/edit.js +32 -13
  453. package/build-module/gallery/edit.js.map +1 -1
  454. package/build-module/gallery/gallery.native.js +1 -1
  455. package/build-module/gallery/gallery.native.js.map +1 -1
  456. package/build-module/gallery/index.js +1 -0
  457. package/build-module/gallery/index.js.map +1 -1
  458. package/build-module/group/index.js +19 -1
  459. package/build-module/group/index.js.map +1 -1
  460. package/build-module/heading/edit.js +3 -1
  461. package/build-module/heading/edit.js.map +1 -1
  462. package/build-module/heading/index.js +1 -0
  463. package/build-module/heading/index.js.map +1 -1
  464. package/build-module/heading/transforms.js +1 -0
  465. package/build-module/heading/transforms.js.map +1 -1
  466. package/build-module/home-link/index.js +1 -0
  467. package/build-module/home-link/index.js.map +1 -1
  468. package/build-module/html/index.js +1 -0
  469. package/build-module/html/index.js.map +1 -1
  470. package/build-module/image/edit.js +52 -4
  471. package/build-module/image/edit.js.map +1 -1
  472. package/build-module/image/edit.native.js +4 -4
  473. package/build-module/image/edit.native.js.map +1 -1
  474. package/build-module/image/image.js +16 -5
  475. package/build-module/image/image.js.map +1 -1
  476. package/build-module/image/index.js +5 -1
  477. package/build-module/image/index.js.map +1 -1
  478. package/build-module/index.js +7 -2
  479. package/build-module/index.js.map +1 -1
  480. package/build-module/latest-comments/index.js +1 -0
  481. package/build-module/latest-comments/index.js.map +1 -1
  482. package/build-module/latest-posts/deprecated.js +1 -0
  483. package/build-module/latest-posts/deprecated.js.map +1 -1
  484. package/build-module/latest-posts/edit.js +1 -1
  485. package/build-module/latest-posts/edit.js.map +1 -1
  486. package/build-module/latest-posts/index.js +1 -0
  487. package/build-module/latest-posts/index.js.map +1 -1
  488. package/build-module/list/index.js +1 -0
  489. package/build-module/list/index.js.map +1 -1
  490. package/build-module/loginout/index.js +1 -0
  491. package/build-module/loginout/index.js.map +1 -1
  492. package/build-module/media-text/index.js +1 -0
  493. package/build-module/media-text/index.js.map +1 -1
  494. package/build-module/missing/index.js +1 -0
  495. package/build-module/missing/index.js.map +1 -1
  496. package/build-module/more/index.js +1 -0
  497. package/build-module/more/index.js.map +1 -1
  498. package/build-module/navigation/edit/index.js +43 -11
  499. package/build-module/navigation/edit/index.js.map +1 -1
  500. package/build-module/navigation/edit/inner-blocks.js +3 -1
  501. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  502. package/build-module/navigation/edit/navigation-menu-selector.js +39 -4
  503. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  504. package/build-module/navigation/edit/overlay-menu-icon.js +28 -0
  505. package/build-module/navigation/edit/overlay-menu-icon.js.map +1 -0
  506. package/build-module/navigation/edit/placeholder/index.js +16 -48
  507. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  508. package/build-module/navigation/edit/responsive-wrapper.js +10 -21
  509. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  510. package/build-module/navigation/index.js +10 -1
  511. package/build-module/navigation/index.js.map +1 -1
  512. package/build-module/navigation/menu-items-to-blocks.js +4 -1
  513. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  514. package/build-module/navigation/use-convert-classic-menu.js +47 -0
  515. package/build-module/navigation/use-convert-classic-menu.js.map +1 -0
  516. package/build-module/navigation/use-navigation-entities.js +6 -3
  517. package/build-module/navigation/use-navigation-entities.js.map +1 -1
  518. package/build-module/navigation-area/edit.js +2 -1
  519. package/build-module/navigation-area/edit.js.map +1 -1
  520. package/build-module/navigation-area/index.js +2 -1
  521. package/build-module/navigation-area/index.js.map +1 -1
  522. package/build-module/navigation-link/edit.js +7 -0
  523. package/build-module/navigation-link/edit.js.map +1 -1
  524. package/build-module/navigation-link/index.js +1 -0
  525. package/build-module/navigation-link/index.js.map +1 -1
  526. package/build-module/navigation-submenu/edit.js +4 -1
  527. package/build-module/navigation-submenu/edit.js.map +1 -1
  528. package/build-module/navigation-submenu/index.js +1 -0
  529. package/build-module/navigation-submenu/index.js.map +1 -1
  530. package/build-module/nextpage/index.js +1 -0
  531. package/build-module/nextpage/index.js.map +1 -1
  532. package/build-module/page-list/edit.js +38 -11
  533. package/build-module/page-list/edit.js.map +1 -1
  534. package/build-module/page-list/index.js +6 -1
  535. package/build-module/page-list/index.js.map +1 -1
  536. package/build-module/paragraph/edit.js +13 -3
  537. package/build-module/paragraph/edit.js.map +1 -1
  538. package/build-module/paragraph/index.js +2 -1
  539. package/build-module/paragraph/index.js.map +1 -1
  540. package/build-module/paragraph/transforms.js +2 -1
  541. package/build-module/paragraph/transforms.js.map +1 -1
  542. package/build-module/pattern/index.js +1 -0
  543. package/build-module/pattern/index.js.map +1 -1
  544. package/build-module/post-author/index.js +2 -1
  545. package/build-module/post-author/index.js.map +1 -1
  546. package/build-module/post-author-name/edit.js +85 -0
  547. package/build-module/post-author-name/edit.js.map +1 -0
  548. package/build-module/post-author-name/index.js +61 -0
  549. package/build-module/post-author-name/index.js.map +1 -0
  550. package/build-module/post-comment/index.js +1 -0
  551. package/build-module/post-comment/index.js.map +1 -1
  552. package/build-module/post-comments/index.js +1 -0
  553. package/build-module/post-comments/index.js.map +1 -1
  554. package/build-module/post-comments-count/index.js +1 -0
  555. package/build-module/post-comments-count/index.js.map +1 -1
  556. package/build-module/post-comments-form/index.js +1 -0
  557. package/build-module/post-comments-form/index.js.map +1 -1
  558. package/build-module/post-comments-link/index.js +1 -0
  559. package/build-module/post-comments-link/index.js.map +1 -1
  560. package/build-module/post-content/index.js +1 -0
  561. package/build-module/post-content/index.js.map +1 -1
  562. package/build-module/post-date/index.js +1 -0
  563. package/build-module/post-date/index.js.map +1 -1
  564. package/build-module/post-excerpt/edit.js +2 -1
  565. package/build-module/post-excerpt/edit.js.map +1 -1
  566. package/build-module/post-excerpt/index.js +3 -0
  567. package/build-module/post-excerpt/index.js.map +1 -1
  568. package/build-module/post-excerpt/transforms.js +18 -0
  569. package/build-module/post-excerpt/transforms.js.map +1 -0
  570. package/build-module/post-featured-image/dimension-controls.js +76 -31
  571. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  572. package/build-module/post-featured-image/edit.js +54 -22
  573. package/build-module/post-featured-image/edit.js.map +1 -1
  574. package/build-module/post-featured-image/index.js +4 -0
  575. package/build-module/post-featured-image/index.js.map +1 -1
  576. package/build-module/post-navigation-link/index.js +1 -0
  577. package/build-module/post-navigation-link/index.js.map +1 -1
  578. package/build-module/post-template/edit.js +34 -7
  579. package/build-module/post-template/edit.js.map +1 -1
  580. package/build-module/post-template/index.js +2 -1
  581. package/build-module/post-template/index.js.map +1 -1
  582. package/build-module/post-terms/index.js +1 -0
  583. package/build-module/post-terms/index.js.map +1 -1
  584. package/build-module/post-title/index.js +1 -0
  585. package/build-module/post-title/index.js.map +1 -1
  586. package/build-module/preformatted/edit.native.js +3 -3
  587. package/build-module/preformatted/edit.native.js.map +1 -1
  588. package/build-module/preformatted/index.js +1 -0
  589. package/build-module/preformatted/index.js.map +1 -1
  590. package/build-module/pullquote/index.js +8 -1
  591. package/build-module/pullquote/index.js.map +1 -1
  592. package/build-module/query/deprecated.js +95 -4
  593. package/build-module/query/deprecated.js.map +1 -1
  594. package/build-module/query/edit/index.js +3 -3
  595. package/build-module/query/edit/index.js.map +1 -1
  596. package/build-module/query/edit/inspector-controls/author-control.js +89 -0
  597. package/build-module/query/edit/inspector-controls/author-control.js.map +1 -0
  598. package/build-module/query/edit/inspector-controls/index.js +149 -0
  599. package/build-module/query/edit/inspector-controls/index.js.map +1 -0
  600. package/build-module/query/edit/inspector-controls/order-control.js +45 -0
  601. package/build-module/query/edit/inspector-controls/order-control.js.map +1 -0
  602. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +145 -0
  603. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -0
  604. package/build-module/query/index.js +3 -3
  605. package/build-module/query/utils.js +43 -35
  606. package/build-module/query/utils.js.map +1 -1
  607. package/build-module/query/variations.js +0 -4
  608. package/build-module/query/variations.js.map +1 -1
  609. package/build-module/query-pagination/index.js +2 -1
  610. package/build-module/query-pagination/index.js.map +1 -1
  611. package/build-module/query-pagination-next/index.js +2 -1
  612. package/build-module/query-pagination-next/index.js.map +1 -1
  613. package/build-module/query-pagination-numbers/index.js +2 -1
  614. package/build-module/query-pagination-numbers/index.js.map +1 -1
  615. package/build-module/query-pagination-previous/index.js +2 -1
  616. package/build-module/query-pagination-previous/index.js.map +1 -1
  617. package/build-module/query-title/index.js +1 -0
  618. package/build-module/query-title/index.js.map +1 -1
  619. package/build-module/quote/index.js +1 -0
  620. package/build-module/quote/index.js.map +1 -1
  621. package/build-module/rss/index.js +1 -0
  622. package/build-module/rss/index.js.map +1 -1
  623. package/build-module/search/edit.js +5 -3
  624. package/build-module/search/edit.js.map +1 -1
  625. package/build-module/search/edit.native.js +2 -2
  626. package/build-module/search/edit.native.js.map +1 -1
  627. package/build-module/search/index.js +8 -1
  628. package/build-module/search/index.js.map +1 -1
  629. package/build-module/separator/index.js +1 -0
  630. package/build-module/separator/index.js.map +1 -1
  631. package/build-module/shortcode/index.js +1 -0
  632. package/build-module/shortcode/index.js.map +1 -1
  633. package/build-module/site-logo/edit.js +0 -25
  634. package/build-module/site-logo/edit.js.map +1 -1
  635. package/build-module/site-logo/index.js +4 -1
  636. package/build-module/site-logo/index.js.map +1 -1
  637. package/build-module/site-logo/transforms.js +22 -0
  638. package/build-module/site-logo/transforms.js.map +1 -0
  639. package/build-module/site-tagline/index.js +2 -1
  640. package/build-module/site-tagline/index.js.map +1 -1
  641. package/build-module/site-title/index.js +3 -0
  642. package/build-module/site-title/index.js.map +1 -1
  643. package/build-module/site-title/transforms.js +22 -0
  644. package/build-module/site-title/transforms.js.map +1 -0
  645. package/build-module/social-link/index.js +2 -1
  646. package/build-module/social-link/index.js.map +1 -1
  647. package/build-module/social-links/edit.js +29 -23
  648. package/build-module/social-links/edit.js.map +1 -1
  649. package/build-module/social-links/index.js +2 -1
  650. package/build-module/social-links/index.js.map +1 -1
  651. package/build-module/spacer/controls.js +101 -0
  652. package/build-module/spacer/controls.js.map +1 -0
  653. package/build-module/spacer/controls.native.js +82 -0
  654. package/build-module/spacer/controls.native.js.map +1 -0
  655. package/build-module/spacer/deprecated.js +44 -0
  656. package/build-module/spacer/deprecated.js.map +1 -0
  657. package/build-module/spacer/edit.js +114 -95
  658. package/build-module/spacer/edit.js.map +1 -1
  659. package/build-module/spacer/edit.native.js +61 -0
  660. package/build-module/spacer/edit.native.js.map +1 -0
  661. package/build-module/spacer/index.js +7 -4
  662. package/build-module/spacer/index.js.map +1 -1
  663. package/build-module/spacer/save.js +6 -3
  664. package/build-module/spacer/save.js.map +1 -1
  665. package/build-module/table/index.js +7 -1
  666. package/build-module/table/index.js.map +1 -1
  667. package/build-module/table-of-contents/index.js +1 -0
  668. package/build-module/table-of-contents/index.js.map +1 -1
  669. package/build-module/tag-cloud/index.js +1 -0
  670. package/build-module/tag-cloud/index.js.map +1 -1
  671. package/build-module/template-part/index.js +1 -0
  672. package/build-module/template-part/index.js.map +1 -1
  673. package/build-module/term-description/index.js +1 -0
  674. package/build-module/term-description/index.js.map +1 -1
  675. package/build-module/text-columns/index.js +1 -0
  676. package/build-module/text-columns/index.js.map +1 -1
  677. package/build-module/verse/index.js +1 -0
  678. package/build-module/verse/index.js.map +1 -1
  679. package/build-module/video/index.js +1 -0
  680. package/build-module/video/index.js.map +1 -1
  681. package/build-style/audio/editor-rtl.css +11 -0
  682. package/build-style/audio/editor.css +11 -0
  683. package/build-style/code/theme-rtl.css +5 -3
  684. package/build-style/code/theme.css +5 -3
  685. package/build-style/columns/editor-rtl.css +0 -10
  686. package/build-style/columns/editor.css +0 -10
  687. package/build-style/columns/style-rtl.css +8 -21
  688. package/build-style/columns/style.css +8 -21
  689. package/build-style/comment-template/style-rtl.css +91 -0
  690. package/build-style/comment-template/style.css +91 -0
  691. package/build-style/{home-link/style.css → comments-pagination/editor-rtl.css} +18 -22
  692. package/build-style/comments-pagination/editor.css +102 -0
  693. package/build-style/{home-link → comments-pagination}/style-rtl.css +21 -21
  694. package/build-style/comments-pagination/style.css +106 -0
  695. package/build-style/comments-pagination-numbers/editor-rtl.css +85 -0
  696. package/build-style/comments-pagination-numbers/editor.css +86 -0
  697. package/build-style/comments-query-loop/editor-rtl.css +79 -0
  698. package/build-style/comments-query-loop/editor.css +79 -0
  699. package/build-style/common-rtl.css +19 -0
  700. package/build-style/common.css +19 -0
  701. package/build-style/cover/style-rtl.css +4 -0
  702. package/build-style/cover/style.css +4 -0
  703. package/build-style/editor-rtl.css +96 -58
  704. package/build-style/editor.css +99 -58
  705. package/build-style/embed/editor-rtl.css +0 -12
  706. package/build-style/embed/editor.css +0 -12
  707. package/build-style/gallery/editor-rtl.css +7 -18
  708. package/build-style/gallery/editor.css +7 -18
  709. package/build-style/gallery/style-rtl.css +3 -0
  710. package/build-style/gallery/style.css +3 -0
  711. package/build-style/group/theme-rtl.css +1 -1
  712. package/build-style/group/theme.css +1 -1
  713. package/build-style/latest-posts/editor-rtl.css +7 -0
  714. package/build-style/latest-posts/editor.css +7 -0
  715. package/build-style/latest-posts/style-rtl.css +0 -9
  716. package/build-style/latest-posts/style.css +0 -9
  717. package/build-style/navigation/editor-rtl.css +16 -2
  718. package/build-style/navigation/editor.css +16 -2
  719. package/build-style/navigation/style-rtl.css +18 -7
  720. package/build-style/navigation/style.css +18 -7
  721. package/build-style/page-list/editor-rtl.css +9 -5
  722. package/build-style/page-list/editor.css +9 -5
  723. package/build-style/post-comments/style-rtl.css +9 -4
  724. package/build-style/post-comments/style.css +9 -4
  725. package/build-style/post-featured-image/editor-rtl.css +0 -7
  726. package/build-style/post-featured-image/editor.css +0 -7
  727. package/build-style/post-featured-image/style-rtl.css +1 -1
  728. package/build-style/post-featured-image/style.css +1 -1
  729. package/build-style/post-template/style-rtl.css +4 -0
  730. package/build-style/post-template/style.css +4 -0
  731. package/build-style/post-title/style-rtl.css +3 -0
  732. package/build-style/post-title/style.css +3 -0
  733. package/build-style/pullquote/style-rtl.css +1 -0
  734. package/build-style/pullquote/style.css +1 -0
  735. package/build-style/query-pagination/editor-rtl.css +0 -4
  736. package/build-style/query-pagination/editor.css +0 -4
  737. package/build-style/social-links/editor-rtl.css +3 -0
  738. package/build-style/social-links/editor.css +3 -0
  739. package/build-style/social-links/style-rtl.css +1 -0
  740. package/build-style/social-links/style.css +1 -0
  741. package/build-style/spacer/editor-rtl.css +4 -0
  742. package/build-style/spacer/editor.css +4 -0
  743. package/build-style/style-rtl.css +141 -87
  744. package/build-style/style.css +143 -87
  745. package/build-style/table/style-rtl.css +1 -0
  746. package/build-style/table/style.css +1 -0
  747. package/build-style/tag-cloud/style-rtl.css +8 -0
  748. package/build-style/tag-cloud/style.css +8 -0
  749. package/build-style/theme-rtl.css +6 -4
  750. package/build-style/theme.css +6 -4
  751. package/package.json +31 -31
  752. package/src/archives/block.json +1 -0
  753. package/src/archives/index.php +5 -9
  754. package/src/audio/block.json +1 -0
  755. package/src/audio/edit.js +18 -2
  756. package/src/audio/editor.scss +14 -0
  757. package/src/audio/test/__snapshots__/edit.native.js.snap +22 -0
  758. package/src/audio/test/edit.native.js +24 -11
  759. package/src/block/block.json +1 -0
  760. package/src/block/index.php +7 -2
  761. package/src/block/test/edit.native.js +10 -12
  762. package/src/button/block.json +5 -1
  763. package/src/button/edit.native.js +1 -1
  764. package/src/buttons/block.json +2 -1
  765. package/src/buttons/edit.js +17 -0
  766. package/src/buttons/edit.native.js +17 -5
  767. package/src/buttons/test/__snapshots__/edit.native.js.snap +27 -0
  768. package/src/buttons/test/edit.native.js +75 -45
  769. package/src/calendar/block.json +1 -0
  770. package/src/calendar/index.php +35 -39
  771. package/src/categories/block.json +1 -0
  772. package/src/categories/index.php +1 -1
  773. package/src/code/block.json +6 -1
  774. package/src/code/theme.scss +6 -4
  775. package/src/column/block.json +1 -0
  776. package/src/columns/block.json +11 -0
  777. package/src/columns/editor.scss +0 -15
  778. package/src/columns/style.scss +15 -36
  779. package/src/comment-author-avatar/block.json +7 -2
  780. package/src/comment-author-avatar/edit.js +9 -2
  781. package/src/comment-author-avatar/index.php +25 -6
  782. package/src/comment-author-name/block.json +1 -0
  783. package/src/comment-content/block.json +1 -0
  784. package/src/comment-date/block.json +1 -0
  785. package/src/comment-date/index.php +2 -2
  786. package/src/comment-edit-link/block.json +1 -0
  787. package/src/comment-edit-link/index.js +1 -1
  788. package/src/comment-reply-link/block.json +1 -0
  789. package/src/comment-template/block.json +4 -2
  790. package/src/comment-template/edit.js +127 -42
  791. package/src/comment-template/index.php +46 -19
  792. package/src/comment-template/style.scss +17 -0
  793. package/src/comment-template/test/index.js +45 -0
  794. package/src/comment-template/util.js +56 -0
  795. package/src/comments-pagination/block.json +37 -0
  796. package/src/comments-pagination/comments-pagination-arrow-controls.js +44 -0
  797. package/src/comments-pagination/edit.js +83 -0
  798. package/src/comments-pagination/editor.scss +34 -0
  799. package/src/comments-pagination/index.js +20 -0
  800. package/src/comments-pagination/index.php +39 -0
  801. package/src/comments-pagination/save.js +8 -0
  802. package/src/comments-pagination/style.scss +38 -0
  803. package/src/comments-pagination-next/block.json +35 -0
  804. package/src/comments-pagination-next/edit.js +44 -0
  805. package/src/comments-pagination-next/index.js +18 -0
  806. package/src/comments-pagination-next/index.php +62 -0
  807. package/src/comments-pagination-numbers/block.json +15 -0
  808. package/src/comments-pagination-numbers/edit.js +22 -0
  809. package/src/comments-pagination-numbers/editor.scss +12 -0
  810. package/src/comments-pagination-numbers/index.js +18 -0
  811. package/src/comments-pagination-numbers/index.php +69 -0
  812. package/src/comments-pagination-previous/block.json +35 -0
  813. package/src/comments-pagination-previous/edit.js +44 -0
  814. package/src/comments-pagination-previous/index.js +18 -0
  815. package/src/comments-pagination-previous/index.php +52 -0
  816. package/src/comments-query-loop/block.json +15 -7
  817. package/src/comments-query-loop/edit/comments-inspector-controls.js +93 -0
  818. package/src/comments-query-loop/edit.js +22 -27
  819. package/src/comments-query-loop/editor.scss +3 -0
  820. package/src/common.scss +19 -0
  821. package/src/cover/block.json +1 -0
  822. package/src/cover/edit.js +1 -0
  823. package/src/cover/edit.native.js +35 -19
  824. package/src/cover/overlay-color-settings.native.js +10 -0
  825. package/src/cover/style.scss +4 -0
  826. package/src/cover/test/__snapshots__/edit.native.js.snap +33 -0
  827. package/src/cover/test/edit.native.js +280 -17
  828. package/src/editor.scss +3 -0
  829. package/src/embed/block.json +1 -0
  830. package/src/embed/edit.native.js +23 -18
  831. package/src/embed/editor.scss +0 -15
  832. package/src/embed/embed-controls.native.js +65 -0
  833. package/src/embed/embed-link-settings.native.js +100 -0
  834. package/src/embed/embed-loading.js +0 -2
  835. package/src/embed/embed-placeholder.native.js +8 -0
  836. package/src/embed/test/__snapshots__/index.native.js.snap +10 -0
  837. package/src/embed/test/index.native.js +236 -95
  838. package/src/file/block.json +1 -0
  839. package/src/file/edit.native.js +6 -2
  840. package/src/file/index.php +2 -2
  841. package/src/file/test/__snapshots__/edit.native.js.snap +18 -5
  842. package/src/file/test/edit.native.js +30 -12
  843. package/src/freeform/block.json +1 -0
  844. package/src/gallery/block.json +1 -0
  845. package/src/gallery/deprecated.js +4 -0
  846. package/src/gallery/edit.js +42 -11
  847. package/src/gallery/editor.scss +8 -22
  848. package/src/gallery/gallery.native.js +1 -1
  849. package/src/gallery/style.scss +4 -0
  850. package/src/gallery/test/use-get-new-images.js +93 -0
  851. package/src/group/block.json +19 -1
  852. package/src/group/theme.scss +4 -5
  853. package/src/heading/block.json +1 -0
  854. package/src/heading/edit.js +2 -1
  855. package/src/home-link/block.json +1 -0
  856. package/src/home-link/index.php +3 -3
  857. package/src/html/block.json +1 -0
  858. package/src/image/block.json +5 -1
  859. package/src/image/edit.js +44 -0
  860. package/src/image/edit.native.js +4 -4
  861. package/src/image/image.js +14 -3
  862. package/src/image/index.php +2 -2
  863. package/src/image/test/edit.native.js +27 -7
  864. package/src/index.js +10 -0
  865. package/src/latest-comments/block.json +1 -0
  866. package/src/latest-comments/index.php +5 -5
  867. package/src/latest-posts/block.json +1 -0
  868. package/src/latest-posts/edit.js +1 -1
  869. package/src/latest-posts/editor.scss +10 -0
  870. package/src/latest-posts/index.php +14 -12
  871. package/src/latest-posts/style.scss +0 -12
  872. package/src/list/block.json +1 -0
  873. package/src/list/test/edit.native.js +3 -3
  874. package/src/loginout/block.json +1 -0
  875. package/src/media-text/block.json +1 -0
  876. package/src/missing/block.json +1 -0
  877. package/src/missing/test/__snapshots__/edit.native.js.snap +5 -0
  878. package/src/missing/test/edit-integration.native.js +2 -2
  879. package/src/missing/test/edit.native.js +26 -30
  880. package/src/more/block.json +1 -0
  881. package/src/navigation/README.md +13 -0
  882. package/src/navigation/block.json +12 -10
  883. package/src/navigation/edit/index.js +80 -22
  884. package/src/navigation/edit/inner-blocks.js +3 -1
  885. package/src/navigation/edit/navigation-menu-selector.js +65 -15
  886. package/src/navigation/edit/overlay-menu-icon.js +21 -0
  887. package/src/navigation/edit/placeholder/index.js +29 -53
  888. package/src/navigation/edit/responsive-wrapper.js +12 -13
  889. package/src/navigation/editor.scss +18 -3
  890. package/src/navigation/index.php +17 -10
  891. package/src/navigation/menu-items-to-blocks.js +2 -1
  892. package/src/navigation/style.scss +24 -7
  893. package/src/navigation/use-convert-classic-menu.js +58 -0
  894. package/src/navigation/use-navigation-entities.js +3 -1
  895. package/src/navigation-area/block.json +3 -7
  896. package/src/navigation-area/edit.js +2 -1
  897. package/src/navigation-link/block.json +2 -3
  898. package/src/navigation-link/edit.js +5 -0
  899. package/src/navigation-link/index.php +3 -3
  900. package/src/navigation-submenu/block.json +2 -3
  901. package/src/navigation-submenu/edit.js +3 -1
  902. package/src/navigation-submenu/index.php +7 -7
  903. package/src/nextpage/block.json +1 -0
  904. package/src/page-list/block.json +4 -0
  905. package/src/page-list/edit.js +47 -9
  906. package/src/page-list/editor.scss +8 -5
  907. package/src/page-list/index.php +15 -10
  908. package/src/paragraph/block.json +2 -1
  909. package/src/paragraph/edit.js +12 -4
  910. package/src/paragraph/test/edit.native.js +4 -13
  911. package/src/pattern/block.json +1 -0
  912. package/src/post-author/block.json +2 -1
  913. package/src/post-author/index.php +1 -1
  914. package/src/post-author-name/block.json +43 -0
  915. package/src/post-author-name/edit.js +95 -0
  916. package/src/post-author-name/index.js +18 -0
  917. package/src/post-author-name/index.php +49 -0
  918. package/src/post-comment/block.json +1 -0
  919. package/src/post-comments/block.json +1 -0
  920. package/src/post-comments/style.scss +10 -4
  921. package/src/post-comments-count/block.json +1 -0
  922. package/src/post-comments-form/block.json +6 -1
  923. package/src/post-comments-link/block.json +1 -0
  924. package/src/post-comments-link/index.php +7 -7
  925. package/src/post-content/block.json +1 -0
  926. package/src/post-content/index.php +1 -1
  927. package/src/post-date/block.json +1 -0
  928. package/src/post-date/index.php +2 -2
  929. package/src/post-excerpt/block.json +1 -0
  930. package/src/post-excerpt/edit.js +1 -0
  931. package/src/post-excerpt/index.js +2 -0
  932. package/src/post-excerpt/index.php +1 -1
  933. package/src/post-excerpt/transforms.js +23 -0
  934. package/src/post-featured-image/block.json +4 -0
  935. package/src/post-featured-image/dimension-controls.js +103 -51
  936. package/src/post-featured-image/edit.js +61 -22
  937. package/src/post-featured-image/editor.scss +0 -8
  938. package/src/post-featured-image/index.php +3 -2
  939. package/src/post-featured-image/style.scss +1 -1
  940. package/src/post-navigation-link/block.json +1 -0
  941. package/src/post-navigation-link/index.php +4 -4
  942. package/src/post-template/block.json +2 -1
  943. package/src/post-template/edit.js +27 -7
  944. package/src/post-template/index.php +2 -2
  945. package/src/post-template/style.scss +5 -0
  946. package/src/post-terms/block.json +1 -0
  947. package/src/post-terms/index.php +1 -1
  948. package/src/post-title/block.json +1 -0
  949. package/src/post-title/index.php +1 -1
  950. package/src/post-title/style.scss +6 -2
  951. package/src/preformatted/block.json +1 -0
  952. package/src/preformatted/edit.native.js +4 -4
  953. package/src/preformatted/test/__snapshots__/edit.native.js.snap +53 -14
  954. package/src/preformatted/test/edit.native.js +11 -10
  955. package/src/pullquote/block.json +8 -1
  956. package/src/pullquote/style.scss +1 -0
  957. package/src/query/block.json +3 -3
  958. package/src/query/deprecated.js +80 -3
  959. package/src/query/edit/index.js +3 -3
  960. package/src/query/edit/inspector-controls/author-control.js +78 -0
  961. package/src/query/edit/inspector-controls/index.js +163 -0
  962. package/src/query/edit/inspector-controls/order-control.js +41 -0
  963. package/src/query/edit/inspector-controls/taxonomy-controls.js +118 -0
  964. package/src/query/test/utils.js +6 -4
  965. package/src/query/utils.js +45 -35
  966. package/src/query/variations.js +0 -4
  967. package/src/query-pagination/block.json +2 -1
  968. package/src/query-pagination/editor.scss +0 -4
  969. package/src/query-pagination-next/block.json +2 -1
  970. package/src/query-pagination-next/index.php +2 -1
  971. package/src/query-pagination-numbers/block.json +2 -1
  972. package/src/query-pagination-previous/block.json +2 -1
  973. package/src/query-pagination-previous/index.php +2 -1
  974. package/src/query-title/block.json +1 -0
  975. package/src/quote/block.json +1 -0
  976. package/src/rss/block.json +1 -0
  977. package/src/search/block.json +8 -1
  978. package/src/search/edit.js +2 -1
  979. package/src/search/edit.native.js +2 -5
  980. package/src/search/index.php +21 -11
  981. package/src/search/test/__snapshots__/edit.native.js.snap +7 -15
  982. package/src/search/test/edit.native.js +32 -24
  983. package/src/separator/block.json +1 -0
  984. package/src/shortcode/block.json +1 -0
  985. package/src/site-logo/block.json +1 -0
  986. package/src/site-logo/edit.js +1 -32
  987. package/src/site-logo/index.js +2 -0
  988. package/src/site-logo/index.php +1 -1
  989. package/src/site-logo/transforms.js +21 -0
  990. package/src/site-tagline/block.json +2 -1
  991. package/src/site-tagline/index.php +1 -1
  992. package/src/site-title/block.json +1 -0
  993. package/src/site-title/index.js +2 -0
  994. package/src/site-title/index.php +4 -4
  995. package/src/site-title/transforms.js +21 -0
  996. package/src/social-link/block.json +2 -1
  997. package/src/social-link/index.php +3 -3
  998. package/src/social-links/block.json +3 -8
  999. package/src/social-links/edit.js +29 -26
  1000. package/src/social-links/editor.scss +7 -0
  1001. package/src/social-links/style.scss +3 -0
  1002. package/src/spacer/block.json +4 -3
  1003. package/src/spacer/controls.js +108 -0
  1004. package/src/spacer/controls.native.js +82 -0
  1005. package/src/spacer/deprecated.js +41 -0
  1006. package/src/spacer/edit.js +133 -132
  1007. package/src/spacer/edit.native.js +68 -0
  1008. package/src/spacer/editor.scss +6 -0
  1009. package/src/spacer/index.js +2 -0
  1010. package/src/spacer/save.js +5 -2
  1011. package/src/style.scss +3 -2
  1012. package/src/table/block.json +7 -1
  1013. package/src/table/style.scss +1 -0
  1014. package/src/table-of-contents/block.json +1 -0
  1015. package/src/table-of-contents/index.php +3 -3
  1016. package/src/tag-cloud/block.json +1 -0
  1017. package/src/tag-cloud/index.php +9 -0
  1018. package/src/tag-cloud/style.scss +9 -0
  1019. package/src/template-part/block.json +1 -0
  1020. package/src/template-part/index.php +6 -6
  1021. package/src/term-description/block.json +1 -0
  1022. package/src/text-columns/block.json +1 -0
  1023. package/src/verse/block.json +1 -0
  1024. package/src/verse/test/edit.native.js +7 -10
  1025. package/src/video/block.json +1 -0
  1026. package/build/comments-query-loop/toolbar.js +0 -58
  1027. package/build/comments-query-loop/toolbar.js.map +0 -1
  1028. package/build/embed/embed-bottom-sheet.native.js +0 -85
  1029. package/build/embed/embed-bottom-sheet.native.js.map +0 -1
  1030. package/build/query/edit/query-inspector-controls.js +0 -275
  1031. package/build/query/edit/query-inspector-controls.js.map +0 -1
  1032. package/build-module/comments-query-loop/toolbar.js +0 -48
  1033. package/build-module/comments-query-loop/toolbar.js.map +0 -1
  1034. package/build-module/embed/embed-bottom-sheet.native.js +0 -74
  1035. package/build-module/embed/embed-bottom-sheet.native.js.map +0 -1
  1036. package/build-module/query/edit/query-inspector-controls.js +0 -261
  1037. package/build-module/query/edit/query-inspector-controls.js.map +0 -1
  1038. package/src/comments-query-loop/toolbar.js +0 -57
  1039. package/src/embed/embed-bottom-sheet.native.js +0 -78
  1040. package/src/home-link/style.scss +0 -51
  1041. package/src/query/edit/query-inspector-controls.js +0 -281
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"names":["EMPTY_ARRAY","getComputedStyle","node","ownerDocument","defaultView","detectColors","colorsDetectionElement","setColor","setBackground","color","backgroundColorNode","backgroundColor","parentNode","nodeType","ELEMENT_NODE","Navigation","attributes","setAttributes","clientId","isSelected","className","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","context","navigationArea","hasSubmenuIndicatorSetting","hasColorSettings","customPlaceholder","CustomPlaceholder","customAppender","CustomAppender","openSubmenusOnClick","overlayMenu","showSubmenuIcon","layout","justifyContent","orientation","flexWrap","areaMenu","setAreaMenu","noop","process","env","GUTENBERG_PHASE","navigationAreaMenu","undefined","ref","registry","setRef","postId","hasAlreadyRendered","RecursionProvider","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","select","getBlock","getBlocks","hasSelectedInnerBlock","blockEditorStore","_uncontrolledInnerBlocks","innerBlocks","_hasUncontrolledInnerBlocks","length","_controlledInnerBlocks","hasSubmenus","find","block","name","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","hasSavedUnsavedInnerBlocks","setHasSavedUnsavedInnerBlocks","isWithinUnassignedArea","isPlaceholderShown","setIsPlaceholderShown","isResponsiveMenuOpen","setResponsiveMenuVisibility","isNavigationMenuResolved","isNavigationMenuMissing","canSwitchNavigationMenu","hasResolvedNavigationMenus","navigationMenus","navigationMenu","canUserUpdateNavigationEntity","hasResolvedCanUserUpdateNavigationEntity","canUserDeleteNavigationEntity","hasResolvedCanUserDeleteNavigationEntity","canUserCreateNavigation","hasResolvedCanUserCreateNavigation","navRef","isDraftNavigationMenu","status","listViewToolbarButton","listViewModal","isEntityAvailable","blockProps","class","slug","style","overlayClassnames","overlayStyles","enableContrastChecking","Platform","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","current","subMenuElement","querySelector","showCantEditNotice","hideCantEditNotice","message","showCantCreateNotice","hideCantCreateNotice","startWithEmptyMenu","batch","hasUnsavedBlocks","post","id","PlaceholderComponent","Placeholder","onClose","value","onChange","label"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseCallback,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n\tstore as blockEditorStore,\n\twithColors,\n\tPanelColorSettings,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n} from '@wordpress/block-editor';\nimport { EntityProvider, useEntityProp } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToolbarGroup,\n\tToolbarDropdownMenu,\n\tButton,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useListViewModal from './use-list-view-modal';\nimport useNavigationMenu from '../use-navigation-menu';\nimport Placeholder from './placeholder';\nimport PlaceholderPreview from './placeholder/placeholder-preview';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuSelector from './navigation-menu-selector';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\n\nconst EMPTY_ARRAY = [];\n\nfunction getComputedStyle( node ) {\n\treturn node.ownerDocument.defaultView.getComputedStyle( node );\n}\n\nfunction detectColors( colorsDetectionElement, setColor, setBackground ) {\n\tif ( ! colorsDetectionElement ) {\n\t\treturn;\n\t}\n\tsetColor( getComputedStyle( colorsDetectionElement ).color );\n\n\tlet backgroundColorNode = colorsDetectionElement;\n\tlet backgroundColor = getComputedStyle( backgroundColorNode )\n\t\t.backgroundColor;\n\twhile (\n\t\tbackgroundColor === 'rgba(0, 0, 0, 0)' &&\n\t\tbackgroundColorNode.parentNode &&\n\t\tbackgroundColorNode.parentNode.nodeType ===\n\t\t\tbackgroundColorNode.parentNode.ELEMENT_NODE\n\t) {\n\t\tbackgroundColorNode = backgroundColorNode.parentNode;\n\t\tbackgroundColor = getComputedStyle( backgroundColorNode )\n\t\t\t.backgroundColor;\n\t}\n\n\tsetBackground( backgroundColor );\n}\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\tcontext: { navigationArea },\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\thasColorSettings = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n\tcustomAppender: CustomAppender = null,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t} = attributes;\n\n\tlet areaMenu,\n\t\tsetAreaMenu = noop;\n\t// Navigation areas are deprecated and on their way out. Let's not perform\n\t// the request unless we're in an environment where the endpoint exists.\n\tif ( process.env.GUTENBERG_PHASE === 2 ) {\n\t\t// eslint-disable-next-line react-hooks/rules-of-hooks\n\t\t[ areaMenu, setAreaMenu ] = useEntityProp(\n\t\t\t'root',\n\t\t\t'navigationArea',\n\t\t\t'navigation',\n\t\t\tnavigationArea\n\t\t);\n\t}\n\n\tconst navigationAreaMenu = areaMenu === 0 ? undefined : areaMenu;\n\n\tconst ref = navigationArea ? navigationAreaMenu : attributes.ref;\n\n\tconst registry = useRegistry();\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t\tif ( navigationArea ) {\n\t\t\t\tsetAreaMenu( postId );\n\t\t\t}\n\t\t},\n\t\t[ navigationArea ]\n\t);\n\n\tconst [ hasAlreadyRendered, RecursionProvider ] = useNoRecursiveRenders(\n\t\t`navigationMenu/${ ref }`\n\t);\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getBlocks, hasSelectedInnerBlock } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\t// This relies on the fact that `getBlock` won't return controlled\n\t\t\t// inner blocks, while `getBlocks` does. It might be more stable to\n\t\t\t// introduce a selector like `getUncontrolledInnerBlocks`, just in\n\t\t\t// case `getBlock` is fixed.\n\t\t\tconst _uncontrolledInnerBlocks = getBlock( clientId ).innerBlocks;\n\t\t\tconst _hasUncontrolledInnerBlocks =\n\t\t\t\t_uncontrolledInnerBlocks?.length;\n\t\t\tconst _controlledInnerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? EMPTY_ARRAY\n\t\t\t\t: getBlocks( clientId );\n\t\t\tconst innerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? _uncontrolledInnerBlocks\n\t\t\t\t: _controlledInnerBlocks;\n\n\t\t\treturn {\n\t\t\t\thasSubmenus: !! innerBlocks.find(\n\t\t\t\t\t( block ) => block.name === 'core/navigation-submenu'\n\t\t\t\t),\n\t\t\t\thasUncontrolledInnerBlocks: _hasUncontrolledInnerBlocks,\n\t\t\t\tuncontrolledInnerBlocks: _uncontrolledInnerBlocks,\n\t\t\t\tisInnerBlockSelected: hasSelectedInnerBlock( clientId, true ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [\n\t\thasSavedUnsavedInnerBlocks,\n\t\tsetHasSavedUnsavedInnerBlocks,\n\t] = useState( false );\n\n\tconst isWithinUnassignedArea = !! navigationArea && ! ref;\n\n\tconst [ isPlaceholderShown, setIsPlaceholderShown ] = useState(\n\t\t! hasUncontrolledInnerBlocks || isWithinUnassignedArea\n\t);\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] = useState(\n\t\tfalse\n\t);\n\n\tconst {\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tcanSwitchNavigationMenu,\n\t\thasResolvedNavigationMenus,\n\t\tnavigationMenus,\n\t\tnavigationMenu,\n\t\tcanUserUpdateNavigationEntity,\n\t\thasResolvedCanUserUpdateNavigationEntity,\n\t\tcanUserDeleteNavigationEntity,\n\t\thasResolvedCanUserDeleteNavigationEntity,\n\t\tcanUserCreateNavigation,\n\t\thasResolvedCanUserCreateNavigation,\n\t} = useNavigationMenu( ref );\n\n\tconst navRef = useRef();\n\tconst isDraftNavigationMenu = navigationMenu?.status === 'draft';\n\n\tconst { listViewToolbarButton, listViewModal } = useListViewModal(\n\t\tclientId\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: classnames( className, {\n\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t'items-justified-space-between': justifyContent === 'space-between',\n\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t'is-responsive': 'never' !== overlayMenu,\n\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'color',\n\t\t\t\ttextColor?.slug\n\t\t\t) ]: !! textColor?.slug,\n\t\t\t'has-background': !! backgroundColor.color || backgroundColor.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor?.slug\n\t\t\t) ]: !! backgroundColor?.slug,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\tconst overlayClassnames = classnames( {\n\t\t'has-text-color':\n\t\t\t!! overlayTextColor.color || !! overlayTextColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'color',\n\t\t\toverlayTextColor?.slug\n\t\t) ]: !! overlayTextColor?.slug,\n\t\t'has-background':\n\t\t\t!! overlayBackgroundColor.color || overlayBackgroundColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayBackgroundColor?.slug\n\t\t) ]: !! overlayBackgroundColor?.slug,\n\t} );\n\n\tconst overlayStyles = {\n\t\tcolor: ! overlayTextColor?.slug && overlayTextColor?.color,\n\t\tbackgroundColor:\n\t\t\t! overlayBackgroundColor?.slug &&\n\t\t\toverlayBackgroundColor?.color &&\n\t\t\toverlayBackgroundColor.color,\n\t};\n\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\t// Spacer block needs orientation from context. This is a patch until\n\t// https://github.com/WordPress/gutenberg/issues/36197 is addressed.\n\tuseEffect( () => {\n\t\tif ( orientation ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { orientation } );\n\t\t}\n\t}, [ orientation ] );\n\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-link\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\t\tif ( subMenuElement ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t} );\n\n\t// Hide the placeholder if an navigation menu entity has loaded.\n\tuseEffect( () => {\n\t\tsetIsPlaceholderShown( ! isEntityAvailable );\n\t}, [ isEntityAvailable ] );\n\n\tconst [ showCantEditNotice, hideCantEditNotice ] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t\tmessage: __(\n\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t),\n\t} );\n\n\tconst [ showCantCreateNotice, hideCantCreateNotice ] = useNavigationNotice(\n\t\t{\n\t\t\tname: 'block-library/core/navigation/permissions/create',\n\t\t\tmessage: __(\n\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t),\n\t\t}\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideCantEditNotice();\n\t\t\thideCantCreateNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\thasResolvedCanUserUpdateNavigationEntity &&\n\t\t\t\t! canUserUpdateNavigationEntity\n\t\t\t) {\n\t\t\t\tshowCantEditNotice();\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigation &&\n\t\t\t\t! canUserCreateNavigation\n\t\t\t) {\n\t\t\t\tshowCantCreateNotice();\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationEntity,\n\t\thasResolvedCanUserUpdateNavigationEntity,\n\t\tcanUserCreateNavigation,\n\t\thasResolvedCanUserCreateNavigation,\n\t\tref,\n\t] );\n\n\tconst startWithEmptyMenu = useCallback( () => {\n\t\tregistry.batch( () => {\n\t\t\tif ( navigationArea ) {\n\t\t\t\tsetAreaMenu( 0 );\n\t\t\t}\n\t\t\tsetAttributes( {\n\t\t\t\tref: undefined,\n\t\t\t} );\n\t\t\tif ( ! ref ) {\n\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t}\n\t\t\tsetIsPlaceholderShown( true );\n\t\t} );\n\t}, [ clientId, ref ] );\n\n\t// If the block has inner blocks, but no menu id, this was an older\n\t// navigation block added before the block used a wp_navigation entity.\n\t// Either this block was saved in the content or inserted by a pattern.\n\t// Consider this 'unsaved'. Offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\tif ( hasUnsavedBlocks ) {\n\t\treturn (\n\t\t\t<nav { ...blockProps }>\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\tisResponsive={ 'never' !== overlayMenu }\n\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\tclassNames={ overlayClassnames }\n\t\t\t\t\tstyles={ overlayStyles }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t\thasSavedUnsavedInnerBlocks={\n\t\t\t\t\t\t\thasSavedUnsavedInnerBlocks\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSave={ ( post ) => {\n\t\t\t\t\t\t\t// Set some state used as a guard to prevent the creation of multiple posts.\n\t\t\t\t\t\t\tsetHasSavedUnsavedInnerBlocks( true );\n\t\t\t\t\t\t\t// Switch to using the wp_navigation entity.\n\t\t\t\t\t\t\tsetRef( post.id );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</nav>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Navigation menu has been deleted or is unavailable. '\n\t\t\t\t\t) }\n\t\t\t\t\t<Button onClick={ startWithEmptyMenu } variant=\"link\">\n\t\t\t\t\t\t{ __( 'Create a new menu?' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ ! isDraftNavigationMenu && isEntityAvailable && (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\t\t\tlabel={ __( 'Select Menu' ) }\n\t\t\t\t\t\t\t\ttext={ __( 'Select Menu' ) }\n\t\t\t\t\t\t\t\ticon={ null }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\t\t\t\tonSelect={ ( { id } ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetRef( id );\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\tonCreateNew={ startWithEmptyMenu }\n\t\t\t\t\t\t\t\t\t\tshowCreate={ canUserCreateNavigation }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolbarGroup>{ listViewToolbarButton }</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t\t{ listViewModal }\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t\t<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ ! attributes.openSubmenusOnClick && (\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\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\tlabel={ __( 'Show icons' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasColorSettings && (\n\t\t\t\t\t\t<PanelColorSettings\n\t\t\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\t\t\tcolorSettings={ [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: textColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setTextColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: backgroundColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setBackgroundColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: overlayTextColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setOverlayTextColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\t\t\tdetectedBackgroundColor\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PanelColorSettings>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationEntity &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationEntity && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationEntity &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationEntity && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ startWithEmptyMenu }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\t\t\t\t<nav { ...blockProps }>\n\t\t\t\t\t{ isPlaceholderShown && (\n\t\t\t\t\t\t<PlaceholderComponent\n\t\t\t\t\t\t\tonFinish={ ( post ) => {\n\t\t\t\t\t\t\t\tsetIsPlaceholderShown( false );\n\t\t\t\t\t\t\t\tif ( post ) {\n\t\t\t\t\t\t\t\t\tsetRef( post.id );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tselectBlock( clientId );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tcanSwitchNavigationMenu={ canSwitchNavigationMenu }\n\t\t\t\t\t\t\thasResolvedNavigationMenus={\n\t\t\t\t\t\t\t\thasResolvedNavigationMenus\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tcanUserCreateNavigation={ canUserCreateNavigation }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! hasResolvedCanUserCreateNavigation ||\n\t\t\t\t\t\t( ! isEntityAvailable && ! isPlaceholderShown && (\n\t\t\t\t\t\t\t<PlaceholderPreview isLoading />\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t{ ! isPlaceholderShown && (\n\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\tisResponsive={ 'never' !== overlayMenu }\n\t\t\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\t\t\tclassNames={ overlayClassnames }\n\t\t\t\t\t\t\tstyles={ overlayStyles }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\tisVisible={ ! isPlaceholderShown }\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\tappender={ CustomAppender }\n\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t) }\n\t\t\t\t</nav>\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"names":["EMPTY_ARRAY","getComputedStyle","node","ownerDocument","defaultView","detectColors","colorsDetectionElement","setColor","setBackground","color","backgroundColorNode","backgroundColor","parentNode","nodeType","ELEMENT_NODE","Navigation","attributes","setAttributes","clientId","isSelected","className","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","context","navigationArea","hasSubmenuIndicatorSetting","hasColorSettings","customPlaceholder","CustomPlaceholder","customAppender","CustomAppender","openSubmenusOnClick","overlayMenu","showSubmenuIcon","layout","justifyContent","orientation","flexWrap","hasIcon","areaMenu","setAreaMenu","noop","process","env","GUTENBERG_PHASE","navigationAreaMenu","undefined","ref","registry","setRef","postId","hasAlreadyRendered","RecursionProvider","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","hasSubmenus","select","getBlock","getBlocks","hasSelectedInnerBlock","blockEditorStore","_uncontrolledInnerBlocks","innerBlocks","_hasUncontrolledInnerBlocks","length","_controlledInnerBlocks","find","block","name","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","hasSavedUnsavedInnerBlocks","setHasSavedUnsavedInnerBlocks","isWithinUnassignedArea","isPlaceholderShown","setIsPlaceholderShown","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","isNavigationMenuResolved","isNavigationMenuMissing","canSwitchNavigationMenu","hasResolvedNavigationMenus","navigationMenus","navigationMenu","canUserUpdateNavigationEntity","hasResolvedCanUserUpdateNavigationEntity","canUserDeleteNavigationEntity","hasResolvedCanUserDeleteNavigationEntity","canUserCreateNavigation","hasResolvedCanUserCreateNavigation","navRef","isDraftNavigationMenu","status","listViewToolbarButton","listViewModal","isEntityAvailable","blockProps","class","slug","style","overlayClassnames","overlayStyles","enableContrastChecking","Platform","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","current","subMenuElement","querySelector","showCantEditNotice","hideCantEditNotice","message","showCantCreateNotice","hideCantCreateNotice","startWithEmptyMenu","batch","hasUnsavedBlocks","post","id","PlaceholderComponent","Placeholder","isResponsive","overlayMenuPreviewClasses","open","onClose","value","onChange","label"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseCallback,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n\tstore as blockEditorStore,\n\twithColors,\n\tPanelColorSettings,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n} from '@wordpress/block-editor';\nimport { EntityProvider, useEntityProp } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToolbarGroup,\n\tToolbarDropdownMenu,\n\tButton,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useListViewModal from './use-list-view-modal';\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport PlaceholderPreview from './placeholder/placeholder-preview';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuSelector from './navigation-menu-selector';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuIcon from './overlay-menu-icon';\n\nconst EMPTY_ARRAY = [];\n\nfunction getComputedStyle( node ) {\n\treturn node.ownerDocument.defaultView.getComputedStyle( node );\n}\n\nfunction detectColors( colorsDetectionElement, setColor, setBackground ) {\n\tif ( ! colorsDetectionElement ) {\n\t\treturn;\n\t}\n\tsetColor( getComputedStyle( colorsDetectionElement ).color );\n\n\tlet backgroundColorNode = colorsDetectionElement;\n\tlet backgroundColor = getComputedStyle( backgroundColorNode )\n\t\t.backgroundColor;\n\twhile (\n\t\tbackgroundColor === 'rgba(0, 0, 0, 0)' &&\n\t\tbackgroundColorNode.parentNode &&\n\t\tbackgroundColorNode.parentNode.nodeType ===\n\t\t\tbackgroundColorNode.parentNode.ELEMENT_NODE\n\t) {\n\t\tbackgroundColorNode = backgroundColorNode.parentNode;\n\t\tbackgroundColor = getComputedStyle( backgroundColorNode )\n\t\t\t.backgroundColor;\n\t}\n\n\tsetBackground( backgroundColor );\n}\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\tcontext: { navigationArea },\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\thasColorSettings = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n\tcustomAppender: CustomAppender = null,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t} = attributes;\n\n\tlet areaMenu,\n\t\tsetAreaMenu = noop;\n\t// Navigation areas are deprecated and on their way out. Let's not perform\n\t// the request unless we're in an environment where the endpoint exists.\n\tif ( process.env.GUTENBERG_PHASE === 2 ) {\n\t\t// eslint-disable-next-line react-hooks/rules-of-hooks\n\t\t[ areaMenu, setAreaMenu ] = useEntityProp(\n\t\t\t'root',\n\t\t\t'navigationArea',\n\t\t\t'navigation',\n\t\t\tnavigationArea\n\t\t);\n\t}\n\n\tconst navigationAreaMenu = areaMenu === 0 ? undefined : areaMenu;\n\n\tconst ref = navigationArea ? navigationAreaMenu : attributes.ref;\n\n\tconst registry = useRegistry();\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t\tif ( navigationArea ) {\n\t\t\t\tsetAreaMenu( postId );\n\t\t\t}\n\t\t},\n\t\t[ navigationArea ]\n\t);\n\n\tconst [ hasAlreadyRendered, RecursionProvider ] = useNoRecursiveRenders(\n\t\t`navigationMenu/${ ref }`\n\t);\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tuseNavigationEntities();\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\thasSubmenus,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getBlocks, hasSelectedInnerBlock } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\t// This relies on the fact that `getBlock` won't return controlled\n\t\t\t// inner blocks, while `getBlocks` does. It might be more stable to\n\t\t\t// introduce a selector like `getUncontrolledInnerBlocks`, just in\n\t\t\t// case `getBlock` is fixed.\n\t\t\tconst _uncontrolledInnerBlocks = getBlock( clientId ).innerBlocks;\n\t\t\tconst _hasUncontrolledInnerBlocks =\n\t\t\t\t_uncontrolledInnerBlocks?.length;\n\t\t\tconst _controlledInnerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? EMPTY_ARRAY\n\t\t\t\t: getBlocks( clientId );\n\t\t\tconst innerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? _uncontrolledInnerBlocks\n\t\t\t\t: _controlledInnerBlocks;\n\n\t\t\treturn {\n\t\t\t\thasSubmenus: !! innerBlocks.find(\n\t\t\t\t\t( block ) => block.name === 'core/navigation-submenu'\n\t\t\t\t),\n\t\t\t\thasUncontrolledInnerBlocks: _hasUncontrolledInnerBlocks,\n\t\t\t\tuncontrolledInnerBlocks: _uncontrolledInnerBlocks,\n\t\t\t\tisInnerBlockSelected: hasSelectedInnerBlock( clientId, true ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [\n\t\thasSavedUnsavedInnerBlocks,\n\t\tsetHasSavedUnsavedInnerBlocks,\n\t] = useState( false );\n\n\tconst isWithinUnassignedArea = !! navigationArea && ! ref;\n\n\tconst [ isPlaceholderShown, setIsPlaceholderShown ] = useState(\n\t\t! hasUncontrolledInnerBlocks || isWithinUnassignedArea\n\t);\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] = useState(\n\t\tfalse\n\t);\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tcanSwitchNavigationMenu,\n\t\thasResolvedNavigationMenus,\n\t\tnavigationMenus,\n\t\tnavigationMenu,\n\t\tcanUserUpdateNavigationEntity,\n\t\thasResolvedCanUserUpdateNavigationEntity,\n\t\tcanUserDeleteNavigationEntity,\n\t\thasResolvedCanUserDeleteNavigationEntity,\n\t\tcanUserCreateNavigation,\n\t\thasResolvedCanUserCreateNavigation,\n\t} = useNavigationMenu( ref );\n\n\tconst navRef = useRef();\n\tconst isDraftNavigationMenu = navigationMenu?.status === 'draft';\n\n\tconst { listViewToolbarButton, listViewModal } = useListViewModal(\n\t\tclientId\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: classnames( className, {\n\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t'items-justified-space-between': justifyContent === 'space-between',\n\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t'is-responsive': 'never' !== overlayMenu,\n\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'color',\n\t\t\t\ttextColor?.slug\n\t\t\t) ]: !! textColor?.slug,\n\t\t\t'has-background': !! backgroundColor.color || backgroundColor.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor?.slug\n\t\t\t) ]: !! backgroundColor?.slug,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\tconst overlayClassnames = classnames( {\n\t\t'has-text-color':\n\t\t\t!! overlayTextColor.color || !! overlayTextColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'color',\n\t\t\toverlayTextColor?.slug\n\t\t) ]: !! overlayTextColor?.slug,\n\t\t'has-background':\n\t\t\t!! overlayBackgroundColor.color || overlayBackgroundColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayBackgroundColor?.slug\n\t\t) ]: !! overlayBackgroundColor?.slug,\n\t} );\n\n\tconst overlayStyles = {\n\t\tcolor: ! overlayTextColor?.slug && overlayTextColor?.color,\n\t\tbackgroundColor:\n\t\t\t! overlayBackgroundColor?.slug &&\n\t\t\toverlayBackgroundColor?.color &&\n\t\t\toverlayBackgroundColor.color,\n\t};\n\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\t// Spacer block needs orientation from context. This is a patch until\n\t// https://github.com/WordPress/gutenberg/issues/36197 is addressed.\n\tuseEffect( () => {\n\t\tif ( orientation ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { orientation } );\n\t\t}\n\t}, [ orientation ] );\n\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-link\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\t\tif ( subMenuElement ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t} );\n\n\t// Hide the placeholder if an navigation menu entity has loaded.\n\tuseEffect( () => {\n\t\tsetIsPlaceholderShown( ! isEntityAvailable );\n\t}, [ isEntityAvailable ] );\n\n\tconst [ showCantEditNotice, hideCantEditNotice ] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t\tmessage: __(\n\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t),\n\t} );\n\n\tconst [ showCantCreateNotice, hideCantCreateNotice ] = useNavigationNotice(\n\t\t{\n\t\t\tname: 'block-library/core/navigation/permissions/create',\n\t\t\tmessage: __(\n\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t),\n\t\t}\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideCantEditNotice();\n\t\t\thideCantCreateNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\thasResolvedCanUserUpdateNavigationEntity &&\n\t\t\t\t! canUserUpdateNavigationEntity\n\t\t\t) {\n\t\t\t\tshowCantEditNotice();\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigation &&\n\t\t\t\t! canUserCreateNavigation\n\t\t\t) {\n\t\t\t\tshowCantCreateNotice();\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationEntity,\n\t\thasResolvedCanUserUpdateNavigationEntity,\n\t\tcanUserCreateNavigation,\n\t\thasResolvedCanUserCreateNavigation,\n\t\tref,\n\t] );\n\n\tconst startWithEmptyMenu = useCallback( () => {\n\t\tregistry.batch( () => {\n\t\t\tif ( navigationArea ) {\n\t\t\t\tsetAreaMenu( 0 );\n\t\t\t}\n\t\t\tsetAttributes( {\n\t\t\t\tref: undefined,\n\t\t\t} );\n\t\t\tif ( ! ref ) {\n\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t}\n\t\t\tsetIsPlaceholderShown( true );\n\t\t} );\n\t}, [ clientId, ref ] );\n\n\t// If the block has inner blocks, but no menu id, this was an older\n\t// navigation block added before the block used a wp_navigation entity.\n\t// Either this block was saved in the content or inserted by a pattern.\n\t// Consider this 'unsaved'. Offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\tif ( hasUnsavedBlocks ) {\n\t\treturn (\n\t\t\t<nav { ...blockProps }>\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\tisResponsive={ 'never' !== overlayMenu }\n\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\tclassNames={ overlayClassnames }\n\t\t\t\t\tstyles={ overlayStyles }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t\thasSavedUnsavedInnerBlocks={\n\t\t\t\t\t\t\thasSavedUnsavedInnerBlocks\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSave={ ( post ) => {\n\t\t\t\t\t\t\t// Set some state used as a guard to prevent the creation of multiple posts.\n\t\t\t\t\t\t\tsetHasSavedUnsavedInnerBlocks( true );\n\t\t\t\t\t\t\t// Switch to using the wp_navigation entity.\n\t\t\t\t\t\t\tsetRef( post.id );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</nav>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Navigation menu has been deleted or is unavailable. '\n\t\t\t\t\t) }\n\t\t\t\t\t<Button onClick={ startWithEmptyMenu } variant=\"link\">\n\t\t\t\t\t\t{ __( 'Create a new menu?' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\tconst isResponsive = 'never' !== overlayMenu;\n\n\tconst overlayMenuPreviewClasses = classnames(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ ! isDraftNavigationMenu && isEntityAvailable && (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\t\t\tlabel={ __( 'Select Menu' ) }\n\t\t\t\t\t\t\t\ttext={ __( 'Select Menu' ) }\n\t\t\t\t\t\t\t\ticon={ null }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\tonSelect={ ( { id } ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetRef( id );\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\tonCreateNew={ startWithEmptyMenu }\n\t\t\t\t\t\t\t\t\t\tcanUserCreateNavigation={\n\t\t\t\t\t\t\t\t\t\t\tcanUserCreateNavigation\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolbarGroup>{ listViewToolbarButton }</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t\t{ listViewModal }\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasIcon && <OverlayMenuIcon /> }\n\t\t\t\t\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show icon button' ) }\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Configure the visual appearance of the button opening the overlay menu.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { hasIcon: value } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchecked={ hasIcon }\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<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\tattributes.openSubmenusOnClick\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasColorSettings && (\n\t\t\t\t\t\t<PanelColorSettings\n\t\t\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\t\t\tcolorSettings={ [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: textColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setTextColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: backgroundColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setBackgroundColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: overlayTextColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setOverlayTextColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\t\t\tdetectedBackgroundColor\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PanelColorSettings>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationEntity &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationEntity && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationEntity &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationEntity && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ startWithEmptyMenu }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\t\t\t\t<nav { ...blockProps }>\n\t\t\t\t\t{ isPlaceholderShown && (\n\t\t\t\t\t\t<PlaceholderComponent\n\t\t\t\t\t\t\tonFinish={ ( post ) => {\n\t\t\t\t\t\t\t\tsetIsPlaceholderShown( false );\n\t\t\t\t\t\t\t\tif ( post ) {\n\t\t\t\t\t\t\t\t\tsetRef( post.id );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tselectBlock( clientId );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tcanSwitchNavigationMenu={ canSwitchNavigationMenu }\n\t\t\t\t\t\t\thasResolvedNavigationMenus={\n\t\t\t\t\t\t\t\thasResolvedNavigationMenus\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tcanUserCreateNavigation={ canUserCreateNavigation }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! hasResolvedCanUserCreateNavigation ||\n\t\t\t\t\t\t( ! isEntityAvailable && ! isPlaceholderShown && (\n\t\t\t\t\t\t\t<PlaceholderPreview isLoading />\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t{ ! isPlaceholderShown && (\n\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\tlabel={ __( 'Menu' ) }\n\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\t\t\tclassNames={ overlayClassnames }\n\t\t\t\t\t\t\tstyles={ overlayStyles }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\tisVisible={ ! isPlaceholderShown }\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\tappender={ CustomAppender }\n\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t) }\n\t\t\t\t</nav>\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"]}
@@ -25,7 +25,9 @@ var _placeholderPreview = _interopRequireDefault(require("./placeholder/placehol
25
25
  * Internal dependencies
26
26
  */
27
27
  const ALLOWED_BLOCKS = ['core/navigation-link', 'core/search', 'core/social-links', 'core/page-list', 'core/spacer', 'core/home-link', 'core/site-title', 'core/site-logo', 'core/navigation-submenu'];
28
- const DEFAULT_BLOCK = ['core/navigation-link'];
28
+ const DEFAULT_BLOCK = {
29
+ name: 'core/navigation-link'
30
+ };
29
31
  const LAYOUT = {
30
32
  type: 'default',
31
33
  alignments: []
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/inner-blocks.js"],"names":["ALLOWED_BLOCKS","DEFAULT_BLOCK","LAYOUT","type","alignments","NavigationInnerBlocks","isVisible","clientId","appender","CustomAppender","hasCustomPlaceholder","orientation","isImmediateParentOfSelectedBlock","selectedBlockHasDescendants","isSelected","select","getClientIdsOfDescendants","hasSelectedInnerBlock","getSelectedBlockClientId","blockEditorStore","selectedBlockId","length","blocks","onInput","onChange","shouldDirectInsert","every","name","parentOrChildHasSelection","undefined","placeholder","innerBlocksProps","className","value","allowedBlocks","__experimentalDefaultBlock","__experimentalDirectInsert","renderAppender","templateLock","__experimentalLayout"],"mappings":";;;;;;;;;AAUA;;AAPA;;AACA;;AAKA;;AAMA;;AAfA;AACA;AACA;;AAUA;AACA;AACA;AAGA,MAAMA,cAAc,GAAG,CACtB,sBADsB,EAEtB,aAFsB,EAGtB,mBAHsB,EAItB,gBAJsB,EAKtB,aALsB,EAMtB,gBANsB,EAOtB,iBAPsB,EAQtB,gBARsB,EAStB,yBATsB,CAAvB;AAYA,MAAMC,aAAa,GAAG,CAAE,sBAAF,CAAtB;AAEA,MAAMC,MAAM,GAAG;AACdC,EAAAA,IAAI,EAAE,SADQ;AAEdC,EAAAA,UAAU,EAAE;AAFE,CAAf;;AAKe,SAASC,qBAAT,OAMX;AAAA,MAN2C;AAC9CC,IAAAA,SAD8C;AAE9CC,IAAAA,QAF8C;AAG9CC,IAAAA,QAAQ,EAAEC,cAHoC;AAI9CC,IAAAA,oBAJ8C;AAK9CC,IAAAA;AAL8C,GAM3C;AACH,QAAM;AACLC,IAAAA,gCADK;AAELC,IAAAA,2BAFK;AAGLC,IAAAA;AAHK,MAIF,qBACDC,MAAF,IAAc;AAAA;;AACb,UAAM;AACLC,MAAAA,yBADK;AAELC,MAAAA,qBAFK;AAGLC,MAAAA;AAHK,QAIFH,MAAM,CAAEI,kBAAF,CAJV;AAKA,UAAMC,eAAe,GAAGF,wBAAwB,EAAhD;AAEA,WAAO;AACNN,MAAAA,gCAAgC,EAAEK,qBAAqB,CACtDV,QADsD,EAEtD,KAFsD,CADjD;AAKNM,MAAAA,2BAA2B,EAAE,CAAC,2BAAEG,yBAAyB,CAAE,CAC1DI,eAD0D,CAAF,CAA3B,kDAAE,sBAE3BC,MAFyB,CALxB;AASN;AACA;AACAP,MAAAA,UAAU,EAAEM,eAAe,KAAKb;AAX1B,KAAP;AAaA,GAtBE,EAuBH,CAAEA,QAAF,CAvBG,CAJJ;AA8BA,QAAM,CAAEe,MAAF,EAAUC,OAAV,EAAmBC,QAAnB,IAAgC,oCACrC,UADqC,EAErC,eAFqC,CAAtC;AAKA,QAAMC,kBAAkB,GAAG,sBAC1B,MACCH,MAAM,CAACI,KAAP,CACC;AAAA,QAAE;AAAEC,MAAAA;AAAF,KAAF;AAAA,WACCA,IAAI,KAAK,sBAAT,IACAA,IAAI,KAAK,yBADT,IAEAA,IAAI,KAAK,gBAHV;AAAA,GADD,CAFyB,EAQ1B,CAAEL,MAAF,CAR0B,CAA3B,CApCG,CA+CH;AACA;AACA;;AACA,QAAMM,yBAAyB,GAC9Bd,UAAU,IACRF,gCAAgC,IAAI,CAAEC,2BAFzC;AAGA,QAAML,QAAQ,GAAGF,SAAS,IAAIsB,yBAAb,GAAyCC,SAAzC,GAAqD,KAAtE;AAEA,QAAMC,WAAW,GAAG,sBAAS,MAAM,4BAAC,2BAAD,OAAf,EAAuC,EAAvC,CAApB;AAEA,QAAMC,gBAAgB,GAAG,sCACxB;AACCC,IAAAA,SAAS,EAAE;AADZ,GADwB,EAIxB;AACCC,IAAAA,KAAK,EAAEX,MADR;AAECC,IAAAA,OAFD;AAGCC,IAAAA,QAHD;AAICU,IAAAA,aAAa,EAAElC,cAJhB;AAKCmC,IAAAA,0BAA0B,EAAElC,aAL7B;AAMCmC,IAAAA,0BAA0B,EAAEX,kBAN7B;AAOCd,IAAAA,WAPD;AAQC0B,IAAAA,cAAc,EAAE5B,cAAc,IAAID,QARnC;AASC;AACA;AACA;AACA8B,IAAAA,YAAY,EAAE,KAZf;AAaCC,IAAAA,oBAAoB,EAAErC,MAbvB;AAcC4B,IAAAA,WAAW,EACV,CAAExB,SAAF,IAAeI,oBAAf,GAAsCmB,SAAtC,GAAkDC;AAfpD,GAJwB,CAAzB;AAuBA,SACC,4BAAC,8CAAD;AACC,IAAA,QAAQ,EAAGvB,QADZ;AAEC,IAAA,OAAO,EAAG,KAFX;AAGC,IAAA,YAAY,EAAGwB;AAHhB,IADD;AAOA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityBlockEditor } from '@wordpress/core-data';\nimport {\n\tuseInnerBlocksProps,\n\t__experimentalBlockContentOverlay as BlockContentOverlay,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport PlaceholderPreview from './placeholder/placeholder-preview';\n\nconst ALLOWED_BLOCKS = [\n\t'core/navigation-link',\n\t'core/search',\n\t'core/social-links',\n\t'core/page-list',\n\t'core/spacer',\n\t'core/home-link',\n\t'core/site-title',\n\t'core/site-logo',\n\t'core/navigation-submenu',\n];\n\nconst DEFAULT_BLOCK = [ 'core/navigation-link' ];\n\nconst LAYOUT = {\n\ttype: 'default',\n\talignments: [],\n};\n\nexport default function NavigationInnerBlocks( {\n\tisVisible,\n\tclientId,\n\tappender: CustomAppender,\n\thasCustomPlaceholder,\n\torientation,\n} ) {\n\tconst {\n\t\tisImmediateParentOfSelectedBlock,\n\t\tselectedBlockHasDescendants,\n\t\tisSelected,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetClientIdsOfDescendants,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst selectedBlockId = getSelectedBlockClientId();\n\n\t\t\treturn {\n\t\t\t\tisImmediateParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\tselectedBlockHasDescendants: !! getClientIdsOfDescendants( [\n\t\t\t\t\tselectedBlockId,\n\t\t\t\t] )?.length,\n\n\t\t\t\t// This prop is already available but computing it here ensures it's\n\t\t\t\t// fresh compared to isImmediateParentOfSelectedBlock\n\t\t\t\tisSelected: selectedBlockId === clientId,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\t'wp_navigation'\n\t);\n\n\tconst shouldDirectInsert = useMemo(\n\t\t() =>\n\t\t\tblocks.every(\n\t\t\t\t( { name } ) =>\n\t\t\t\t\tname === 'core/navigation-link' ||\n\t\t\t\t\tname === 'core/navigation-submenu' ||\n\t\t\t\t\tname === 'core/page-list'\n\t\t\t),\n\t\t[ blocks ]\n\t);\n\n\t// When the block is selected itself or has a top level item selected that\n\t// doesn't itself have children, show the standard appender. Else show no\n\t// appender.\n\tconst parentOrChildHasSelection =\n\t\tisSelected ||\n\t\t( isImmediateParentOfSelectedBlock && ! selectedBlockHasDescendants );\n\tconst appender = isVisible && parentOrChildHasSelection ? undefined : false;\n\n\tconst placeholder = useMemo( () => <PlaceholderPreview />, [] );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-navigation__container',\n\t\t},\n\t\t{\n\t\t\tvalue: blocks,\n\t\t\tonInput,\n\t\t\tonChange,\n\t\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\t\t__experimentalDefaultBlock: DEFAULT_BLOCK,\n\t\t\t__experimentalDirectInsert: shouldDirectInsert,\n\t\t\torientation,\n\t\t\trenderAppender: CustomAppender || appender,\n\t\t\t// Template lock set to false here so that the Nav\n\t\t\t// Block on the experimental menus screen does not\n\t\t\t// inherit templateLock={ 'all' }.\n\t\t\ttemplateLock: false,\n\t\t\t__experimentalLayout: LAYOUT,\n\t\t\tplaceholder:\n\t\t\t\t! isVisible || hasCustomPlaceholder ? undefined : placeholder,\n\t\t}\n\t);\n\n\treturn (\n\t\t<BlockContentOverlay\n\t\t\tclientId={ clientId }\n\t\t\ttagName={ 'div' }\n\t\t\twrapperProps={ innerBlocksProps }\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/inner-blocks.js"],"names":["ALLOWED_BLOCKS","DEFAULT_BLOCK","name","LAYOUT","type","alignments","NavigationInnerBlocks","isVisible","clientId","appender","CustomAppender","hasCustomPlaceholder","orientation","isImmediateParentOfSelectedBlock","selectedBlockHasDescendants","isSelected","select","getClientIdsOfDescendants","hasSelectedInnerBlock","getSelectedBlockClientId","blockEditorStore","selectedBlockId","length","blocks","onInput","onChange","shouldDirectInsert","every","parentOrChildHasSelection","undefined","placeholder","innerBlocksProps","className","value","allowedBlocks","__experimentalDefaultBlock","__experimentalDirectInsert","renderAppender","templateLock","__experimentalLayout"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityBlockEditor } from '@wordpress/core-data';\nimport {\n\tuseInnerBlocksProps,\n\t__experimentalBlockContentOverlay as BlockContentOverlay,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport PlaceholderPreview from './placeholder/placeholder-preview';\n\nconst ALLOWED_BLOCKS = [\n\t'core/navigation-link',\n\t'core/search',\n\t'core/social-links',\n\t'core/page-list',\n\t'core/spacer',\n\t'core/home-link',\n\t'core/site-title',\n\t'core/site-logo',\n\t'core/navigation-submenu',\n];\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n};\n\nconst LAYOUT = {\n\ttype: 'default',\n\talignments: [],\n};\n\nexport default function NavigationInnerBlocks( {\n\tisVisible,\n\tclientId,\n\tappender: CustomAppender,\n\thasCustomPlaceholder,\n\torientation,\n} ) {\n\tconst {\n\t\tisImmediateParentOfSelectedBlock,\n\t\tselectedBlockHasDescendants,\n\t\tisSelected,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetClientIdsOfDescendants,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst selectedBlockId = getSelectedBlockClientId();\n\n\t\t\treturn {\n\t\t\t\tisImmediateParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\tselectedBlockHasDescendants: !! getClientIdsOfDescendants( [\n\t\t\t\t\tselectedBlockId,\n\t\t\t\t] )?.length,\n\n\t\t\t\t// This prop is already available but computing it here ensures it's\n\t\t\t\t// fresh compared to isImmediateParentOfSelectedBlock\n\t\t\t\tisSelected: selectedBlockId === clientId,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\t'wp_navigation'\n\t);\n\n\tconst shouldDirectInsert = useMemo(\n\t\t() =>\n\t\t\tblocks.every(\n\t\t\t\t( { name } ) =>\n\t\t\t\t\tname === 'core/navigation-link' ||\n\t\t\t\t\tname === 'core/navigation-submenu' ||\n\t\t\t\t\tname === 'core/page-list'\n\t\t\t),\n\t\t[ blocks ]\n\t);\n\n\t// When the block is selected itself or has a top level item selected that\n\t// doesn't itself have children, show the standard appender. Else show no\n\t// appender.\n\tconst parentOrChildHasSelection =\n\t\tisSelected ||\n\t\t( isImmediateParentOfSelectedBlock && ! selectedBlockHasDescendants );\n\tconst appender = isVisible && parentOrChildHasSelection ? undefined : false;\n\n\tconst placeholder = useMemo( () => <PlaceholderPreview />, [] );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-navigation__container',\n\t\t},\n\t\t{\n\t\t\tvalue: blocks,\n\t\t\tonInput,\n\t\t\tonChange,\n\t\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\t\t__experimentalDefaultBlock: DEFAULT_BLOCK,\n\t\t\t__experimentalDirectInsert: shouldDirectInsert,\n\t\t\torientation,\n\t\t\trenderAppender: CustomAppender || appender,\n\t\t\t// Template lock set to false here so that the Nav\n\t\t\t// Block on the experimental menus screen does not\n\t\t\t// inherit templateLock={ 'all' }.\n\t\t\ttemplateLock: false,\n\t\t\t__experimentalLayout: LAYOUT,\n\t\t\tplaceholder:\n\t\t\t\t! isVisible || hasCustomPlaceholder ? undefined : placeholder,\n\t\t}\n\t);\n\n\treturn (\n\t\t<BlockContentOverlay\n\t\t\tclientId={ clientId }\n\t\t\ttagName={ 'div' }\n\t\t\twrapperProps={ innerBlocksProps }\n\t\t/>\n\t);\n}\n"]}
@@ -21,6 +21,12 @@ var _url = require("@wordpress/url");
21
21
 
22
22
  var _useNavigationMenu = _interopRequireDefault(require("../use-navigation-menu"));
23
23
 
24
+ var _useNavigationEntities = _interopRequireDefault(require("../use-navigation-entities"));
25
+
26
+ var _useConvertClassicMenu = _interopRequireDefault(require("../use-convert-classic-menu"));
27
+
28
+ var _useCreateNavigationMenu = _interopRequireDefault(require("./use-create-navigation-menu"));
29
+
24
30
  /**
25
31
  * WordPress dependencies
26
32
  */
@@ -30,15 +36,36 @@ var _useNavigationMenu = _interopRequireDefault(require("../use-navigation-menu"
30
36
  */
31
37
  function NavigationMenuSelector(_ref) {
32
38
  let {
39
+ clientId,
33
40
  onSelect,
34
41
  onCreateNew,
35
- showCreate = false
42
+ canUserCreateNavigation = false
36
43
  } = _ref;
44
+ const {
45
+ menus: classicMenus,
46
+ hasMenus: hasClassicMenus
47
+ } = (0, _useNavigationEntities.default)();
37
48
  const {
38
49
  navigationMenus
39
50
  } = (0, _useNavigationMenu.default)();
40
51
  const ref = (0, _coreData.useEntityId)('postType', 'wp_navigation');
41
- return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.MenuGroup, null, (0, _element.createElement)(_components.MenuItemsChoice, {
52
+ const createNavigationMenu = (0, _useCreateNavigationMenu.default)(clientId);
53
+
54
+ const onFinishMenuCreation = async function (blocks) {
55
+ let navigationMenuTitle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
56
+
57
+ if (!canUserCreateNavigation) {
58
+ return;
59
+ }
60
+
61
+ const navigationMenu = await createNavigationMenu(navigationMenuTitle, blocks);
62
+ onSelect(navigationMenu);
63
+ };
64
+
65
+ const convertClassicMenuToBlocks = (0, _useConvertClassicMenu.default)(onFinishMenuCreation);
66
+ return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.MenuGroup, {
67
+ label: (0, _i18n.__)('Menus')
68
+ }, (0, _element.createElement)(_components.MenuItemsChoice, {
42
69
  value: ref,
43
70
  onSelect: selectedId => onSelect(navigationMenus.find(post => post.id === selectedId)),
44
71
  choices: navigationMenus.map(_ref2 => {
@@ -55,12 +82,23 @@ function NavigationMenuSelector(_ref) {
55
82
  (0, _i18n.__)("Switch to '%s'"), label)
56
83
  };
57
84
  })
58
- })), showCreate && (0, _element.createElement)(_components.MenuGroup, null, (0, _element.createElement)(_components.MenuItem, {
85
+ })), canUserCreateNavigation && (0, _element.createElement)(_element.Fragment, null, hasClassicMenus && (0, _element.createElement)(_components.MenuGroup, {
86
+ label: (0, _i18n.__)('Classic Menus')
87
+ }, classicMenus.map(menu => {
88
+ return (0, _element.createElement)(_components.MenuItem, {
89
+ onClick: () => {
90
+ convertClassicMenuToBlocks(menu.id, menu.name);
91
+ },
92
+ key: menu.id
93
+ }, (0, _htmlEntities.decodeEntities)(menu.name));
94
+ })), (0, _element.createElement)(_components.MenuGroup, {
95
+ label: (0, _i18n.__)('Tools')
96
+ }, (0, _element.createElement)(_components.MenuItem, {
59
97
  onClick: onCreateNew
60
98
  }, (0, _i18n.__)('Create new menu')), (0, _element.createElement)(_components.MenuItem, {
61
99
  href: (0, _url.addQueryArgs)('edit.php', {
62
100
  post_type: 'wp_navigation'
63
101
  })
64
- }, (0, _i18n.__)('Manage menus'))));
102
+ }, (0, _i18n.__)('Manage menus')))));
65
103
  }
66
104
  //# sourceMappingURL=navigation-menu-selector.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"names":["NavigationMenuSelector","onSelect","onCreateNew","showCreate","navigationMenus","ref","selectedId","find","post","id","map","title","label","rendered","value","post_type"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AAZA;AACA;AACA;;AAOA;AACA;AACA;AAGe,SAASA,sBAAT,OAIX;AAAA,MAJ4C;AAC/CC,IAAAA,QAD+C;AAE/CC,IAAAA,WAF+C;AAG/CC,IAAAA,UAAU,GAAG;AAHkC,GAI5C;AACH,QAAM;AAAEC,IAAAA;AAAF,MAAsB,iCAA5B;AACA,QAAMC,GAAG,GAAG,2BAAa,UAAb,EAAyB,eAAzB,CAAZ;AAEA,SACC,qDACC,4BAAC,qBAAD,QACC,4BAAC,2BAAD;AACC,IAAA,KAAK,EAAGA,GADT;AAEC,IAAA,QAAQ,EAAKC,UAAF,IACVL,QAAQ,CACPG,eAAe,CAACG,IAAhB,CACGC,IAAF,IAAYA,IAAI,CAACC,EAAL,KAAYH,UADzB,CADO,CAHV;AASC,IAAA,OAAO,EAAGF,eAAe,CAACM,GAAhB,CAAqB,SAAqB;AAAA,UAAnB;AAAED,QAAAA,EAAF;AAAME,QAAAA;AAAN,OAAmB;AACnD,YAAMC,KAAK,GAAG,kCAAgBD,KAAK,CAACE,QAAtB,CAAd;AACA,aAAO;AACNC,QAAAA,KAAK,EAAEL,EADD;AAENG,QAAAA,KAFM;AAGN,sBAAc;AACb;AACA,sBAAI,gBAAJ,CAFa,EAGbA,KAHa;AAHR,OAAP;AASA,KAXS;AATX,IADD,CADD,EAyBGT,UAAU,IACX,4BAAC,qBAAD,QACC,4BAAC,oBAAD;AAAU,IAAA,OAAO,EAAGD;AAApB,KACG,cAAI,iBAAJ,CADH,CADD,EAIC,4BAAC,oBAAD;AACC,IAAA,IAAI,EAAG,uBAAc,UAAd,EAA0B;AAChCa,MAAAA,SAAS,EAAE;AADqB,KAA1B;AADR,KAKG,cAAI,cAAJ,CALH,CAJD,CA1BF,CADD;AA0CA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuGroup, MenuItem, MenuItemsChoice } from '@wordpress/components';\nimport { useEntityId } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\n\nexport default function NavigationMenuSelector( {\n\tonSelect,\n\tonCreateNew,\n\tshowCreate = false,\n} ) {\n\tconst { navigationMenus } = useNavigationMenu();\n\tconst ref = useEntityId( 'postType', 'wp_navigation' );\n\n\treturn (\n\t\t<>\n\t\t\t<MenuGroup>\n\t\t\t\t<MenuItemsChoice\n\t\t\t\t\tvalue={ ref }\n\t\t\t\t\tonSelect={ ( selectedId ) =>\n\t\t\t\t\t\tonSelect(\n\t\t\t\t\t\t\tnavigationMenus.find(\n\t\t\t\t\t\t\t\t( post ) => post.id === selectedId\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\tchoices={ navigationMenus.map( ( { id, title } ) => {\n\t\t\t\t\t\tconst label = decodeEntities( title.rendered );\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tvalue: id,\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t'aria-label': sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\t\t__( \"Switch to '%s'\" ),\n\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t};\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</MenuGroup>\n\t\t\t{ showCreate && (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<MenuItem onClick={ onCreateNew }>\n\t\t\t\t\t\t{ __( 'Create new menu' ) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\thref={ addQueryArgs( 'edit.php', {\n\t\t\t\t\t\t\tpost_type: 'wp_navigation',\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Manage menus' ) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"names":["NavigationMenuSelector","clientId","onSelect","onCreateNew","canUserCreateNavigation","menus","classicMenus","hasMenus","hasClassicMenus","navigationMenus","ref","createNavigationMenu","onFinishMenuCreation","blocks","navigationMenuTitle","navigationMenu","convertClassicMenuToBlocks","selectedId","find","post","id","map","title","label","rendered","value","menu","name","post_type"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AAfA;AACA;AACA;;AAOA;AACA;AACA;AAMe,SAASA,sBAAT,OAKX;AAAA,MAL4C;AAC/CC,IAAAA,QAD+C;AAE/CC,IAAAA,QAF+C;AAG/CC,IAAAA,WAH+C;AAI/CC,IAAAA,uBAAuB,GAAG;AAJqB,GAK5C;AACH,QAAM;AACLC,IAAAA,KAAK,EAAEC,YADF;AAELC,IAAAA,QAAQ,EAAEC;AAFL,MAGF,qCAHJ;AAIA,QAAM;AAAEC,IAAAA;AAAF,MAAsB,iCAA5B;AACA,QAAMC,GAAG,GAAG,2BAAa,UAAb,EAAyB,eAAzB,CAAZ;AAEA,QAAMC,oBAAoB,GAAG,sCAAyBV,QAAzB,CAA7B;;AAEA,QAAMW,oBAAoB,GAAG,gBAC5BC,MAD4B,EAGxB;AAAA,QADJC,mBACI,uEADkB,IAClB;;AACJ,QAAK,CAAEV,uBAAP,EAAiC;AAChC;AACA;;AAED,UAAMW,cAAc,GAAG,MAAMJ,oBAAoB,CAChDG,mBADgD,EAEhDD,MAFgD,CAAjD;AAIAX,IAAAA,QAAQ,CAAEa,cAAF,CAAR;AACA,GAbD;;AAeA,QAAMC,0BAA0B,GAAG,oCAClCJ,oBADkC,CAAnC;AAIA,SACC,qDACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,OAAJ;AAAnB,KACC,4BAAC,2BAAD;AACC,IAAA,KAAK,EAAGF,GADT;AAEC,IAAA,QAAQ,EAAKO,UAAF,IACVf,QAAQ,CACPO,eAAe,CAACS,IAAhB,CACGC,IAAF,IAAYA,IAAI,CAACC,EAAL,KAAYH,UADzB,CADO,CAHV;AASC,IAAA,OAAO,EAAGR,eAAe,CAACY,GAAhB,CAAqB,SAAqB;AAAA,UAAnB;AAAED,QAAAA,EAAF;AAAME,QAAAA;AAAN,OAAmB;AACnD,YAAMC,KAAK,GAAG,kCAAgBD,KAAK,CAACE,QAAtB,CAAd;AACA,aAAO;AACNC,QAAAA,KAAK,EAAEL,EADD;AAENG,QAAAA,KAFM;AAGN,sBAAc;AACb;AACA,sBAAI,gBAAJ,CAFa,EAGbA,KAHa;AAHR,OAAP;AASA,KAXS;AATX,IADD,CADD,EAyBGnB,uBAAuB,IACxB,qDACGI,eAAe,IAChB,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,eAAJ;AAAnB,KACGF,YAAY,CAACe,GAAb,CAAoBK,IAAF,IAAY;AAC/B,WACC,4BAAC,oBAAD;AACC,MAAA,OAAO,EAAG,MAAM;AACfV,QAAAA,0BAA0B,CACzBU,IAAI,CAACN,EADoB,EAEzBM,IAAI,CAACC,IAFoB,CAA1B;AAIA,OANF;AAOC,MAAA,GAAG,EAAGD,IAAI,CAACN;AAPZ,OASG,kCAAgBM,IAAI,CAACC,IAArB,CATH,CADD;AAaA,GAdC,CADH,CAFF,EAoBC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,OAAJ;AAAnB,KACC,4BAAC,oBAAD;AAAU,IAAA,OAAO,EAAGxB;AAApB,KACG,cAAI,iBAAJ,CADH,CADD,EAIC,4BAAC,oBAAD;AACC,IAAA,IAAI,EAAG,uBAAc,UAAd,EAA0B;AAChCyB,MAAAA,SAAS,EAAE;AADqB,KAA1B;AADR,KAKG,cAAI,cAAJ,CALH,CAJD,CApBD,CA1BF,CADD;AA+DA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuGroup, MenuItem, MenuItemsChoice } from '@wordpress/components';\nimport { useEntityId } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport useConvertClassicMenu from '../use-convert-classic-menu';\nimport useCreateNavigationMenu from './use-create-navigation-menu';\n\nexport default function NavigationMenuSelector( {\n\tclientId,\n\tonSelect,\n\tonCreateNew,\n\tcanUserCreateNavigation = false,\n} ) {\n\tconst {\n\t\tmenus: classicMenus,\n\t\thasMenus: hasClassicMenus,\n\t} = useNavigationEntities();\n\tconst { navigationMenus } = useNavigationMenu();\n\tconst ref = useEntityId( 'postType', 'wp_navigation' );\n\n\tconst createNavigationMenu = useCreateNavigationMenu( clientId );\n\n\tconst onFinishMenuCreation = async (\n\t\tblocks,\n\t\tnavigationMenuTitle = null\n\t) => {\n\t\tif ( ! canUserCreateNavigation ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst navigationMenu = await createNavigationMenu(\n\t\t\tnavigationMenuTitle,\n\t\t\tblocks\n\t\t);\n\t\tonSelect( navigationMenu );\n\t};\n\n\tconst convertClassicMenuToBlocks = useConvertClassicMenu(\n\t\tonFinishMenuCreation\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t<MenuItemsChoice\n\t\t\t\t\tvalue={ ref }\n\t\t\t\t\tonSelect={ ( selectedId ) =>\n\t\t\t\t\t\tonSelect(\n\t\t\t\t\t\t\tnavigationMenus.find(\n\t\t\t\t\t\t\t\t( post ) => post.id === selectedId\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\tchoices={ navigationMenus.map( ( { id, title } ) => {\n\t\t\t\t\t\tconst label = decodeEntities( title.rendered );\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tvalue: id,\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t'aria-label': sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\t\t__( \"Switch to '%s'\" ),\n\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t};\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</MenuGroup>\n\t\t\t{ canUserCreateNavigation && (\n\t\t\t\t<>\n\t\t\t\t\t{ hasClassicMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Classic Menus' ) }>\n\t\t\t\t\t\t\t{ classicMenus.map( ( menu ) => {\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\tconvertClassicMenuToBlocks(\n\t\t\t\t\t\t\t\t\t\t\t\tmenu.id,\n\t\t\t\t\t\t\t\t\t\t\t\tmenu.name\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ decodeEntities( menu.name ) }\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\t\t\t\t\t<MenuGroup label={ __( 'Tools' ) }>\n\t\t\t\t\t\t<MenuItem onClick={ onCreateNew }>\n\t\t\t\t\t\t\t{ __( 'Create new menu' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\thref={ addQueryArgs( 'edit.php', {\n\t\t\t\t\t\t\t\tpost_type: 'wp_navigation',\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Manage menus' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = OverlayMenuIcon;
7
+
8
+ var _element = require("@wordpress/element");
9
+
10
+ var _primitives = require("@wordpress/primitives");
11
+
12
+ /**
13
+ * WordPress dependencies
14
+ */
15
+ function OverlayMenuIcon() {
16
+ return (0, _element.createElement)(_primitives.SVG, {
17
+ xmlns: "http://www.w3.org/2000/svg",
18
+ viewBox: "0 0 24 24",
19
+ width: "24",
20
+ height: "24",
21
+ role: "img",
22
+ "aria-hidden": "true",
23
+ focusable: "false"
24
+ }, (0, _element.createElement)(_primitives.Rect, {
25
+ x: "4",
26
+ y: "7.5",
27
+ width: "16",
28
+ height: "1.5"
29
+ }), (0, _element.createElement)(_primitives.Rect, {
30
+ x: "4",
31
+ y: "15",
32
+ width: "16",
33
+ height: "1.5"
34
+ }));
35
+ }
36
+ //# sourceMappingURL=overlay-menu-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/overlay-menu-icon.js"],"names":["OverlayMenuIcon"],"mappings":";;;;;;;;;AAGA;;AAHA;AACA;AACA;AAGe,SAASA,eAAT,GAA2B;AACzC,SACC,4BAAC,eAAD;AACC,IAAA,KAAK,EAAC,4BADP;AAEC,IAAA,OAAO,EAAC,WAFT;AAGC,IAAA,KAAK,EAAC,IAHP;AAIC,IAAA,MAAM,EAAC,IAJR;AAKC,IAAA,IAAI,EAAC,KALN;AAMC,mBAAY,MANb;AAOC,IAAA,SAAS,EAAC;AAPX,KASC,4BAAC,gBAAD;AAAM,IAAA,CAAC,EAAC,GAAR;AAAY,IAAA,CAAC,EAAC,KAAd;AAAoB,IAAA,KAAK,EAAC,IAA1B;AAA+B,IAAA,MAAM,EAAC;AAAtC,IATD,EAUC,4BAAC,gBAAD;AAAM,IAAA,CAAC,EAAC,GAAR;AAAY,IAAA,CAAC,EAAC,IAAd;AAAmB,IAAA,KAAK,EAAC,IAAzB;AAA8B,IAAA,MAAM,EAAC;AAArC,IAVD,CADD;AAcA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SVG, Rect } from '@wordpress/primitives';\n\nexport default function OverlayMenuIcon() {\n\treturn (\n\t\t<SVG\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\tviewBox=\"0 0 24 24\"\n\t\t\twidth=\"24\"\n\t\t\theight=\"24\"\n\t\t\trole=\"img\"\n\t\t\taria-hidden=\"true\"\n\t\t\tfocusable=\"false\"\n\t\t>\n\t\t\t<Rect x=\"4\" y=\"7.5\" width=\"16\" height=\"1.5\" />\n\t\t\t<Rect x=\"4\" y=\"15\" width=\"16\" height=\"1.5\" />\n\t\t</SVG>\n\t);\n}\n"]}
@@ -23,12 +23,12 @@ var _useNavigationEntities = _interopRequireDefault(require("../../use-navigatio
23
23
 
24
24
  var _placeholderPreview = _interopRequireDefault(require("./placeholder-preview"));
25
25
 
26
- var _menuItemsToBlocks = _interopRequireDefault(require("../../menu-items-to-blocks"));
27
-
28
26
  var _useNavigationMenu = _interopRequireDefault(require("../../use-navigation-menu"));
29
27
 
30
28
  var _useCreateNavigationMenu = _interopRequireDefault(require("../use-create-navigation-menu"));
31
29
 
30
+ var _useConvertClassicMenu = _interopRequireDefault(require("../../use-convert-classic-menu"));
31
+
32
32
  /**
33
33
  * WordPress dependencies
34
34
  */
@@ -38,9 +38,8 @@ var _useCreateNavigationMenu = _interopRequireDefault(require("../use-create-nav
38
38
  */
39
39
  const ExistingMenusDropdown = _ref => {
40
40
  let {
41
- canSwitchNavigationMenu,
41
+ showNavigationMenus,
42
42
  navigationMenus,
43
- setSelectedMenu,
44
43
  onFinish,
45
44
  menus,
46
45
  onCreateFromMenu,
@@ -51,6 +50,8 @@ const ExistingMenusDropdown = _ref => {
51
50
  iconPosition: 'right',
52
51
  className: 'wp-block-navigation-placeholder__actions__dropdown'
53
52
  };
53
+ const hasNavigationMenus = !!(navigationMenus !== null && navigationMenus !== void 0 && navigationMenus.length);
54
+ const hasClassicMenus = !!(menus !== null && menus !== void 0 && menus.length);
54
55
  return (0, _element.createElement)(_components.DropdownMenu, {
55
56
  text: (0, _i18n.__)('Select menu'),
56
57
  icon: null,
@@ -62,24 +63,22 @@ const ExistingMenusDropdown = _ref => {
62
63
  let {
63
64
  onClose
64
65
  } = _ref2;
65
- return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.MenuGroup, {
66
+ return (0, _element.createElement)(_element.Fragment, null, showNavigationMenus && hasNavigationMenus && (0, _element.createElement)(_components.MenuGroup, {
66
67
  label: (0, _i18n.__)('Menus')
67
- }, canSwitchNavigationMenu && (navigationMenus === null || navigationMenus === void 0 ? void 0 : navigationMenus.map(menu => {
68
+ }, navigationMenus.map(menu => {
68
69
  return (0, _element.createElement)(_components.MenuItem, {
69
70
  onClick: () => {
70
- setSelectedMenu(menu.id);
71
71
  onFinish(menu);
72
72
  },
73
73
  onClose: onClose,
74
74
  key: menu.id
75
75
  }, (0, _htmlEntities.decodeEntities)(menu.title.rendered));
76
- }))), showClassicMenus && (0, _element.createElement)(_components.MenuGroup, {
76
+ })), showClassicMenus && hasClassicMenus && (0, _element.createElement)(_components.MenuGroup, {
77
77
  label: (0, _i18n.__)('Classic Menus')
78
- }, menus === null || menus === void 0 ? void 0 : menus.map(menu => {
78
+ }, menus.map(menu => {
79
79
  return (0, _element.createElement)(_components.MenuItem, {
80
80
  onClick: () => {
81
- setSelectedMenu(menu.id);
82
- onCreateFromMenu(menu.name);
81
+ onCreateFromMenu(menu.id, menu.name);
83
82
  },
84
83
  onClose: onClose,
85
84
  key: menu.id
@@ -96,9 +95,6 @@ function NavigationPlaceholder(_ref3) {
96
95
  hasResolvedNavigationMenus,
97
96
  canUserCreateNavigation = false
98
97
  } = _ref3;
99
- const [selectedMenu, setSelectedMenu] = (0, _element.useState)();
100
- const [isCreatingFromMenu, setIsCreatingFromMenu] = (0, _element.useState)(false);
101
- const [menuName, setMenuName] = (0, _element.useState)('');
102
98
  const createNavigationMenu = (0, _useCreateNavigationMenu.default)(clientId);
103
99
 
104
100
  const onFinishMenuCreation = async function (blocks) {
@@ -112,35 +108,15 @@ function NavigationPlaceholder(_ref3) {
112
108
  onFinish(navigationMenu, blocks);
113
109
  };
114
110
 
111
+ const convertClassicMenu = (0, _useConvertClassicMenu.default)(onFinishMenuCreation);
115
112
  const {
116
113
  isResolvingPages,
117
114
  menus,
118
115
  isResolvingMenus,
119
- menuItems,
120
- hasResolvedMenuItems,
121
116
  hasPages,
122
117
  hasMenus
123
- } = (0, _useNavigationEntities.default)(selectedMenu);
118
+ } = (0, _useNavigationEntities.default)();
124
119
  const isStillLoading = isResolvingPages || isResolvingMenus;
125
- const createFromMenu = (0, _element.useCallback)(name => {
126
- const {
127
- innerBlocks: blocks
128
- } = (0, _menuItemsToBlocks.default)(menuItems);
129
- onFinishMenuCreation(blocks, name);
130
- }, [menuItems, _menuItemsToBlocks.default, onFinish]);
131
-
132
- const onCreateFromMenu = name => {
133
- // If we have menu items, create the block right away.
134
- if (hasResolvedMenuItems) {
135
- createFromMenu(name);
136
- return;
137
- } // Otherwise, create the block when resolution finishes.
138
-
139
-
140
- setIsCreatingFromMenu(true); // Store the name to use later.
141
-
142
- setMenuName(name);
143
- };
144
120
 
145
121
  const onCreateEmptyMenu = () => {
146
122
  onFinishMenuCreation([]);
@@ -151,17 +127,11 @@ function NavigationPlaceholder(_ref3) {
151
127
  onFinishMenuCreation(block);
152
128
  };
153
129
 
154
- (0, _element.useEffect)(() => {
155
- // If the user selected a menu but we had to wait for menu items to
156
- // finish resolving, then create the block once resolution finishes.
157
- if (isCreatingFromMenu && hasResolvedMenuItems) {
158
- createFromMenu(menuName);
159
- setIsCreatingFromMenu(false);
160
- }
161
- }, [isCreatingFromMenu, hasResolvedMenuItems, menuName]);
162
130
  const {
163
131
  navigationMenus
164
132
  } = (0, _useNavigationMenu.default)();
133
+ const hasNavigationMenus = !!(navigationMenus !== null && navigationMenus !== void 0 && navigationMenus.length);
134
+ const showSelectMenus = (canSwitchNavigationMenu || canUserCreateNavigation) && (hasNavigationMenus || hasMenus);
165
135
  return (0, _element.createElement)(_element.Fragment, null, (!hasResolvedNavigationMenus || isStillLoading) && (0, _element.createElement)(_placeholderPreview.default, {
166
136
  isLoading: true
167
137
  }), hasResolvedNavigationMenus && !isStillLoading && (0, _element.createElement)(_components.Placeholder, {
@@ -174,13 +144,12 @@ function NavigationPlaceholder(_ref3) {
174
144
  className: "wp-block-navigation-placeholder__actions__indicator"
175
145
  }, (0, _element.createElement)(_icons.Icon, {
176
146
  icon: _icons.navigation
177
- }), ' ', (0, _i18n.__)('Navigation')), (0, _element.createElement)("hr", null), hasMenus || navigationMenus !== null && navigationMenus !== void 0 && navigationMenus.length ? (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(ExistingMenusDropdown, {
178
- canSwitchNavigationMenu: canSwitchNavigationMenu,
147
+ }), ' ', (0, _i18n.__)('Navigation')), (0, _element.createElement)("hr", null), showSelectMenus ? (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(ExistingMenusDropdown, {
148
+ showNavigationMenus: canSwitchNavigationMenu,
179
149
  navigationMenus: navigationMenus,
180
- setSelectedMenu: setSelectedMenu,
181
150
  onFinish: onFinish,
182
151
  menus: menus,
183
- onCreateFromMenu: onCreateFromMenu,
152
+ onCreateFromMenu: convertClassicMenu,
184
153
  showClassicMenus: canUserCreateNavigation
185
154
  }), (0, _element.createElement)("hr", null)) : undefined, canUserCreateNavigation && hasPages ? (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.Button, {
186
155
  variant: "tertiary",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/placeholder/index.js"],"names":["ExistingMenusDropdown","canSwitchNavigationMenu","navigationMenus","setSelectedMenu","onFinish","menus","onCreateFromMenu","showClassicMenus","toggleProps","variant","iconPosition","className","isAlternate","onClose","map","menu","id","title","rendered","name","NavigationPlaceholder","clientId","hasResolvedNavigationMenus","canUserCreateNavigation","selectedMenu","isCreatingFromMenu","setIsCreatingFromMenu","menuName","setMenuName","createNavigationMenu","onFinishMenuCreation","blocks","navigationMenuTitle","navigationMenu","isResolvingPages","isResolvingMenus","menuItems","hasResolvedMenuItems","hasPages","hasMenus","isStillLoading","createFromMenu","innerBlocks","menuItemsToBlocks","onCreateEmptyMenu","onCreateAllPages","block","navigation","length","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tPlaceholder,\n\tButton,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n} from '@wordpress/components';\nimport { useCallback, useState, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { navigation, Icon } from '@wordpress/icons';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\n\nimport useNavigationEntities from '../../use-navigation-entities';\nimport PlaceholderPreview from './placeholder-preview';\nimport menuItemsToBlocks from '../../menu-items-to-blocks';\nimport useNavigationMenu from '../../use-navigation-menu';\nimport useCreateNavigationMenu from '../use-create-navigation-menu';\n\nconst ExistingMenusDropdown = ( {\n\tcanSwitchNavigationMenu,\n\tnavigationMenus,\n\tsetSelectedMenu,\n\tonFinish,\n\tmenus,\n\tonCreateFromMenu,\n\tshowClassicMenus = false,\n} ) => {\n\tconst toggleProps = {\n\t\tvariant: 'tertiary',\n\t\ticonPosition: 'right',\n\t\tclassName: 'wp-block-navigation-placeholder__actions__dropdown',\n\t};\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttext={ __( 'Select menu' ) }\n\t\t\ticon={ null }\n\t\t\ttoggleProps={ toggleProps }\n\t\t\tpopoverProps={ { isAlternate: true } }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t\t\t{ canSwitchNavigationMenu &&\n\t\t\t\t\t\t\tnavigationMenus?.map( ( menu ) => {\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\tsetSelectedMenu( menu.id );\n\t\t\t\t\t\t\t\t\t\t\tonFinish( menu );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\t\t\t\tmenu.title.rendered\n\t\t\t\t\t\t\t\t\t\t) }\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</MenuGroup>\n\t\t\t\t\t{ showClassicMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Classic Menus' ) }>\n\t\t\t\t\t\t\t{ menus?.map( ( menu ) => {\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\tsetSelectedMenu( menu.id );\n\t\t\t\t\t\t\t\t\t\t\tonCreateFromMenu( menu.name );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ decodeEntities( menu.name ) }\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\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n};\n\nexport default function NavigationPlaceholder( {\n\tclientId,\n\tonFinish,\n\tcanSwitchNavigationMenu,\n\thasResolvedNavigationMenus,\n\tcanUserCreateNavigation = false,\n} ) {\n\tconst [ selectedMenu, setSelectedMenu ] = useState();\n\tconst [ isCreatingFromMenu, setIsCreatingFromMenu ] = useState( false );\n\tconst [ menuName, setMenuName ] = useState( '' );\n\tconst createNavigationMenu = useCreateNavigationMenu( clientId );\n\n\tconst onFinishMenuCreation = async (\n\t\tblocks,\n\t\tnavigationMenuTitle = null\n\t) => {\n\t\tif ( ! canUserCreateNavigation ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst navigationMenu = await createNavigationMenu(\n\t\t\tnavigationMenuTitle,\n\t\t\tblocks\n\t\t);\n\t\tonFinish( navigationMenu, blocks );\n\t};\n\n\tconst {\n\t\tisResolvingPages,\n\t\tmenus,\n\t\tisResolvingMenus,\n\t\tmenuItems,\n\t\thasResolvedMenuItems,\n\t\thasPages,\n\t\thasMenus,\n\t} = useNavigationEntities( selectedMenu );\n\n\tconst isStillLoading = isResolvingPages || isResolvingMenus;\n\n\tconst createFromMenu = useCallback(\n\t\t( name ) => {\n\t\t\tconst { innerBlocks: blocks } = menuItemsToBlocks( menuItems );\n\t\t\tonFinishMenuCreation( blocks, name );\n\t\t},\n\t\t[ menuItems, menuItemsToBlocks, onFinish ]\n\t);\n\n\tconst onCreateFromMenu = ( name ) => {\n\t\t// If we have menu items, create the block right away.\n\t\tif ( hasResolvedMenuItems ) {\n\t\t\tcreateFromMenu( name );\n\t\t\treturn;\n\t\t}\n\n\t\t// Otherwise, create the block when resolution finishes.\n\t\tsetIsCreatingFromMenu( true );\n\t\t// Store the name to use later.\n\t\tsetMenuName( name );\n\t};\n\n\tconst onCreateEmptyMenu = () => {\n\t\tonFinishMenuCreation( [] );\n\t};\n\n\tconst onCreateAllPages = () => {\n\t\tconst block = [ createBlock( 'core/page-list' ) ];\n\t\tonFinishMenuCreation( block );\n\t};\n\n\tuseEffect( () => {\n\t\t// If the user selected a menu but we had to wait for menu items to\n\t\t// finish resolving, then create the block once resolution finishes.\n\t\tif ( isCreatingFromMenu && hasResolvedMenuItems ) {\n\t\t\tcreateFromMenu( menuName );\n\t\t\tsetIsCreatingFromMenu( false );\n\t\t}\n\t}, [ isCreatingFromMenu, hasResolvedMenuItems, menuName ] );\n\n\tconst { navigationMenus } = useNavigationMenu();\n\n\treturn (\n\t\t<>\n\t\t\t{ ( ! hasResolvedNavigationMenus || isStillLoading ) && (\n\t\t\t\t<PlaceholderPreview isLoading />\n\t\t\t) }\n\t\t\t{ hasResolvedNavigationMenus && ! isStillLoading && (\n\t\t\t\t<Placeholder className=\"wp-block-navigation-placeholder\">\n\t\t\t\t\t<PlaceholderPreview />\n\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__controls\">\n\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions\">\n\t\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions__indicator\">\n\t\t\t\t\t\t\t\t<Icon icon={ navigation } />{ ' ' }\n\t\t\t\t\t\t\t\t{ __( 'Navigation' ) }\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<hr />\n\n\t\t\t\t\t\t\t{ hasMenus || navigationMenus?.length ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ExistingMenusDropdown\n\t\t\t\t\t\t\t\t\t\tcanSwitchNavigationMenu={\n\t\t\t\t\t\t\t\t\t\t\tcanSwitchNavigationMenu\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\t\t\t\t\tsetSelectedMenu={ setSelectedMenu }\n\t\t\t\t\t\t\t\t\t\tonFinish={ onFinish }\n\t\t\t\t\t\t\t\t\t\tmenus={ menus }\n\t\t\t\t\t\t\t\t\t\tonCreateFromMenu={ onCreateFromMenu }\n\t\t\t\t\t\t\t\t\t\tshowClassicMenus={\n\t\t\t\t\t\t\t\t\t\t\tcanUserCreateNavigation\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<hr />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : undefined }\n\t\t\t\t\t\t\t{ canUserCreateNavigation && hasPages ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ onCreateAllPages }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Add all pages' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : undefined }\n\n\t\t\t\t\t\t\t{ canUserCreateNavigation && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tonClick={ onCreateEmptyMenu }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Start empty' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/placeholder/index.js"],"names":["ExistingMenusDropdown","showNavigationMenus","navigationMenus","onFinish","menus","onCreateFromMenu","showClassicMenus","toggleProps","variant","iconPosition","className","hasNavigationMenus","length","hasClassicMenus","isAlternate","onClose","map","menu","id","title","rendered","name","NavigationPlaceholder","clientId","canSwitchNavigationMenu","hasResolvedNavigationMenus","canUserCreateNavigation","createNavigationMenu","onFinishMenuCreation","blocks","navigationMenuTitle","navigationMenu","convertClassicMenu","isResolvingPages","isResolvingMenus","hasPages","hasMenus","isStillLoading","onCreateEmptyMenu","onCreateAllPages","block","showSelectMenus","navigation","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tPlaceholder,\n\tButton,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { navigation, Icon } from '@wordpress/icons';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\n\nimport useNavigationEntities from '../../use-navigation-entities';\nimport PlaceholderPreview from './placeholder-preview';\nimport useNavigationMenu from '../../use-navigation-menu';\nimport useCreateNavigationMenu from '../use-create-navigation-menu';\nimport useConvertClassicMenu from '../../use-convert-classic-menu';\n\nconst ExistingMenusDropdown = ( {\n\tshowNavigationMenus,\n\tnavigationMenus,\n\tonFinish,\n\tmenus,\n\tonCreateFromMenu,\n\tshowClassicMenus = false,\n} ) => {\n\tconst toggleProps = {\n\t\tvariant: 'tertiary',\n\t\ticonPosition: 'right',\n\t\tclassName: 'wp-block-navigation-placeholder__actions__dropdown',\n\t};\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\tconst hasClassicMenus = !! menus?.length;\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttext={ __( 'Select menu' ) }\n\t\t\ticon={ null }\n\t\t\ttoggleProps={ toggleProps }\n\t\t\tpopoverProps={ { isAlternate: 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{ navigationMenus.map( ( menu ) => {\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\tonFinish( menu );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\t\t\t\tmenu.title.rendered\n\t\t\t\t\t\t\t\t\t\t) }\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\t\t\t\t\t{ showClassicMenus && hasClassicMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Classic Menus' ) }>\n\t\t\t\t\t\t\t{ menus.map( ( menu ) => {\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\tonCreateFromMenu(\n\t\t\t\t\t\t\t\t\t\t\t\tmenu.id,\n\t\t\t\t\t\t\t\t\t\t\t\tmenu.name\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ decodeEntities( menu.name ) }\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\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n};\n\nexport default function NavigationPlaceholder( {\n\tclientId,\n\tonFinish,\n\tcanSwitchNavigationMenu,\n\thasResolvedNavigationMenus,\n\tcanUserCreateNavigation = false,\n} ) {\n\tconst createNavigationMenu = useCreateNavigationMenu( clientId );\n\n\tconst onFinishMenuCreation = async (\n\t\tblocks,\n\t\tnavigationMenuTitle = null\n\t) => {\n\t\tif ( ! canUserCreateNavigation ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst navigationMenu = await createNavigationMenu(\n\t\t\tnavigationMenuTitle,\n\t\t\tblocks\n\t\t);\n\t\tonFinish( navigationMenu, blocks );\n\t};\n\n\tconst convertClassicMenu = useConvertClassicMenu( onFinishMenuCreation );\n\n\tconst {\n\t\tisResolvingPages,\n\t\tmenus,\n\t\tisResolvingMenus,\n\t\thasPages,\n\t\thasMenus,\n\t} = useNavigationEntities();\n\n\tconst isStillLoading = isResolvingPages || isResolvingMenus;\n\n\tconst onCreateEmptyMenu = () => {\n\t\tonFinishMenuCreation( [] );\n\t};\n\n\tconst onCreateAllPages = () => {\n\t\tconst block = [ createBlock( 'core/page-list' ) ];\n\t\tonFinishMenuCreation( block );\n\t};\n\n\tconst { navigationMenus } = useNavigationMenu();\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\n\tconst showSelectMenus =\n\t\t( canSwitchNavigationMenu || canUserCreateNavigation ) &&\n\t\t( hasNavigationMenus || hasMenus );\n\n\treturn (\n\t\t<>\n\t\t\t{ ( ! hasResolvedNavigationMenus || isStillLoading ) && (\n\t\t\t\t<PlaceholderPreview isLoading />\n\t\t\t) }\n\t\t\t{ hasResolvedNavigationMenus && ! isStillLoading && (\n\t\t\t\t<Placeholder className=\"wp-block-navigation-placeholder\">\n\t\t\t\t\t<PlaceholderPreview />\n\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__controls\">\n\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions\">\n\t\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions__indicator\">\n\t\t\t\t\t\t\t\t<Icon icon={ navigation } />{ ' ' }\n\t\t\t\t\t\t\t\t{ __( 'Navigation' ) }\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<hr />\n\n\t\t\t\t\t\t\t{ showSelectMenus ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ExistingMenusDropdown\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenus={\n\t\t\t\t\t\t\t\t\t\t\tcanSwitchNavigationMenu\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\t\t\t\t\tonFinish={ onFinish }\n\t\t\t\t\t\t\t\t\t\tmenus={ menus }\n\t\t\t\t\t\t\t\t\t\tonCreateFromMenu={ convertClassicMenu }\n\t\t\t\t\t\t\t\t\t\tshowClassicMenus={\n\t\t\t\t\t\t\t\t\t\t\tcanUserCreateNavigation\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<hr />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : undefined }\n\t\t\t\t\t\t\t{ canUserCreateNavigation && hasPages ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ onCreateAllPages }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Add all pages' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : undefined }\n\n\t\t\t\t\t\t\t{ canUserCreateNavigation && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tonClick={ onCreateEmptyMenu }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Start empty' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}