@wordpress/block-library 8.3.6 → 8.5.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 (738) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/archives/edit.js +3 -0
  3. package/build/archives/edit.js.map +1 -1
  4. package/build/archives/index.js +1 -0
  5. package/build/archives/index.js.map +1 -1
  6. package/build/audio/edit.js +2 -0
  7. package/build/audio/edit.js.map +1 -1
  8. package/build/avatar/edit.js +5 -9
  9. package/build/avatar/edit.js.map +1 -1
  10. package/build/avatar/index.js +1 -0
  11. package/build/avatar/index.js.map +1 -1
  12. package/build/button/edit.js +3 -1
  13. package/build/button/edit.js.map +1 -1
  14. package/build/button/index.js +17 -6
  15. package/build/button/index.js.map +1 -1
  16. package/build/calendar/index.js +1 -0
  17. package/build/calendar/index.js.map +1 -1
  18. package/build/categories/edit.js +5 -0
  19. package/build/categories/edit.js.map +1 -1
  20. package/build/categories/index.js +1 -0
  21. package/build/categories/index.js.map +1 -1
  22. package/build/columns/edit.js +1 -0
  23. package/build/columns/edit.js.map +1 -1
  24. package/build/columns/utils.js +2 -2
  25. package/build/columns/utils.js.map +1 -1
  26. package/build/comment-author-avatar/index.js +1 -0
  27. package/build/comment-author-avatar/index.js.map +1 -1
  28. package/build/comment-author-name/edit.js +2 -0
  29. package/build/comment-author-name/edit.js.map +1 -1
  30. package/build/comment-author-name/index.js +1 -0
  31. package/build/comment-author-name/index.js.map +1 -1
  32. package/build/comment-content/index.js +1 -0
  33. package/build/comment-content/index.js.map +1 -1
  34. package/build/comment-date/edit.js +1 -0
  35. package/build/comment-date/edit.js.map +1 -1
  36. package/build/comment-date/index.js +1 -0
  37. package/build/comment-date/index.js.map +1 -1
  38. package/build/comment-edit-link/edit.js +1 -0
  39. package/build/comment-edit-link/edit.js.map +1 -1
  40. package/build/comment-edit-link/index.js +1 -0
  41. package/build/comment-edit-link/index.js.map +1 -1
  42. package/build/comment-reply-link/index.js +1 -0
  43. package/build/comment-reply-link/index.js.map +1 -1
  44. package/build/comment-template/index.js +1 -0
  45. package/build/comment-template/index.js.map +1 -1
  46. package/build/comments/index.js +2 -1
  47. package/build/comments/index.js.map +1 -1
  48. package/build/comments-pagination/index.js +1 -0
  49. package/build/comments-pagination/index.js.map +1 -1
  50. package/build/comments-pagination-next/index.js +1 -0
  51. package/build/comments-pagination-next/index.js.map +1 -1
  52. package/build/comments-pagination-numbers/index.js +1 -0
  53. package/build/comments-pagination-numbers/index.js.map +1 -1
  54. package/build/comments-pagination-previous/index.js +1 -0
  55. package/build/comments-pagination-previous/index.js.map +1 -1
  56. package/build/comments-title/edit.js +2 -0
  57. package/build/comments-title/edit.js.map +1 -1
  58. package/build/cover/edit/inspector-controls.js +2 -0
  59. package/build/cover/edit/inspector-controls.js.map +1 -1
  60. package/build/embed/embed-controls.js +1 -0
  61. package/build/embed/embed-controls.js.map +1 -1
  62. package/build/file/index.js +10 -1
  63. package/build/file/index.js.map +1 -1
  64. package/build/file/inspector.js +3 -0
  65. package/build/file/inspector.js.map +1 -1
  66. package/build/freeform/modal.js +1 -1
  67. package/build/freeform/modal.js.map +1 -1
  68. package/build/gallery/edit.js +2 -0
  69. package/build/gallery/edit.js.map +1 -1
  70. package/build/gallery/shared.js +4 -8
  71. package/build/gallery/shared.js.map +1 -1
  72. package/build/gallery/use-image-sizes.js +4 -8
  73. package/build/gallery/use-image-sizes.js.map +1 -1
  74. package/build/gallery/v1/edit.js +8 -3
  75. package/build/gallery/v1/edit.js.map +1 -1
  76. package/build/gallery/v1/gallery-image.js +1 -3
  77. package/build/gallery/v1/gallery-image.js.map +1 -1
  78. package/build/gallery/v1/shared.js +4 -7
  79. package/build/gallery/v1/shared.js.map +1 -1
  80. package/build/home-link/index.js +1 -0
  81. package/build/home-link/index.js.map +1 -1
  82. package/build/image/edit.js +6 -4
  83. package/build/image/edit.js.map +1 -1
  84. package/build/image/image.js +18 -13
  85. package/build/image/image.js.map +1 -1
  86. package/build/image/utils.js +3 -1
  87. package/build/image/utils.js.map +1 -1
  88. package/build/index.js +3 -1
  89. package/build/index.js.map +1 -1
  90. package/build/latest-comments/edit.js +9 -2
  91. package/build/latest-comments/edit.js.map +1 -1
  92. package/build/latest-comments/index.js +14 -0
  93. package/build/latest-comments/index.js.map +1 -1
  94. package/build/latest-posts/deprecated.js +1 -0
  95. package/build/latest-posts/deprecated.js.map +1 -1
  96. package/build/latest-posts/edit.js +4 -0
  97. package/build/latest-posts/edit.js.map +1 -1
  98. package/build/latest-posts/index.js +1 -0
  99. package/build/latest-posts/index.js.map +1 -1
  100. package/build/list/ordered-list-settings.js +1 -0
  101. package/build/list/ordered-list-settings.js.map +1 -1
  102. package/build/list-item/edit.js +2 -2
  103. package/build/list-item/edit.js.map +1 -1
  104. package/build/list-item/hooks/use-outdent-list-item.js +2 -1
  105. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  106. package/build/loginout/edit.js +2 -0
  107. package/build/loginout/edit.js.map +1 -1
  108. package/build/loginout/index.js +1 -0
  109. package/build/loginout/index.js.map +1 -1
  110. package/build/media-text/edit.js +2 -0
  111. package/build/media-text/edit.js.map +1 -1
  112. package/build/more/edit.js +1 -0
  113. package/build/more/edit.js.map +1 -1
  114. package/build/navigation/edit/index.js +80 -54
  115. package/build/navigation/edit/index.js.map +1 -1
  116. package/build/navigation/edit/navigation-menu-selector.js +14 -11
  117. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  118. package/build/navigation/edit/overlay-menu-preview.js +1 -0
  119. package/build/navigation/edit/overlay-menu-preview.js.map +1 -1
  120. package/build/navigation/edit/placeholder/index.js +1 -1
  121. package/build/navigation/edit/placeholder/index.js.map +1 -1
  122. package/build/navigation/edit/unsaved-inner-blocks.js +1 -1
  123. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  124. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +1 -1
  125. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  126. package/build/navigation/edit/use-create-navigation-menu.js +1 -1
  127. package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
  128. package/build/navigation/edit/use-generate-default-navigation-title.js +1 -1
  129. package/build/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  130. package/build/navigation/edit/use-navigation-notice.js +4 -7
  131. package/build/navigation/edit/use-navigation-notice.js.map +1 -1
  132. package/build/navigation/index.js +1 -0
  133. package/build/navigation/index.js.map +1 -1
  134. package/build/navigation/use-navigation-menu.js +1 -1
  135. package/build/navigation/use-navigation-menu.js.map +1 -1
  136. package/build/navigation-link/edit.js +10 -5
  137. package/build/navigation-link/edit.js.map +1 -1
  138. package/build/navigation-link/link-ui.js +2 -0
  139. package/build/navigation-link/link-ui.js.map +1 -1
  140. package/build/page-list/convert-to-links-modal.js +47 -0
  141. package/build/page-list/convert-to-links-modal.js.map +1 -0
  142. package/build/page-list/edit.js +15 -28
  143. package/build/page-list/edit.js.map +1 -1
  144. package/build/page-list/index.js +1 -0
  145. package/build/page-list/index.js.map +1 -1
  146. package/build/page-list/use-convert-to-navigation-links.js +61 -5
  147. package/build/page-list/use-convert-to-navigation-links.js.map +1 -1
  148. package/build/paragraph/edit.js +1 -0
  149. package/build/paragraph/edit.js.map +1 -1
  150. package/build/post-author/edit.js +4 -0
  151. package/build/post-author/edit.js.map +1 -1
  152. package/build/post-author/index.js +1 -0
  153. package/build/post-author/index.js.map +1 -1
  154. package/build/post-author-biography/index.js +1 -0
  155. package/build/post-author-biography/index.js.map +1 -1
  156. package/build/post-author-name/edit.js +2 -0
  157. package/build/post-author-name/edit.js.map +1 -1
  158. package/build/post-author-name/index.js +1 -0
  159. package/build/post-author-name/index.js.map +1 -1
  160. package/build/post-comments-count/index.js +1 -0
  161. package/build/post-comments-count/index.js.map +1 -1
  162. package/build/post-comments-form/index.js +1 -0
  163. package/build/post-comments-form/index.js.map +1 -1
  164. package/build/post-comments-link/index.js +1 -0
  165. package/build/post-comments-link/index.js.map +1 -1
  166. package/build/post-content/index.js +1 -0
  167. package/build/post-content/index.js.map +1 -1
  168. package/build/post-date/edit.js +2 -0
  169. package/build/post-date/edit.js.map +1 -1
  170. package/build/post-date/index.js +1 -0
  171. package/build/post-date/index.js.map +1 -1
  172. package/build/post-excerpt/edit.js +50 -3
  173. package/build/post-excerpt/edit.js.map +1 -1
  174. package/build/post-excerpt/index.js +5 -0
  175. package/build/post-excerpt/index.js.map +1 -1
  176. package/build/post-featured-image/dimension-controls.js +52 -1
  177. package/build/post-featured-image/dimension-controls.js.map +1 -1
  178. package/build/post-featured-image/edit.js +11 -4
  179. package/build/post-featured-image/edit.js.map +1 -1
  180. package/build/post-featured-image/index.js +4 -0
  181. package/build/post-featured-image/index.js.map +1 -1
  182. package/build/post-navigation-link/edit.js +2 -0
  183. package/build/post-navigation-link/edit.js.map +1 -1
  184. package/build/post-navigation-link/index.js +1 -0
  185. package/build/post-navigation-link/index.js.map +1 -1
  186. package/build/post-template/index.js +1 -0
  187. package/build/post-template/index.js.map +1 -1
  188. package/build/post-terms/index.js +1 -0
  189. package/build/post-terms/index.js.map +1 -1
  190. package/build/post-terms/use-post-terms.js +1 -1
  191. package/build/post-terms/use-post-terms.js.map +1 -1
  192. package/build/post-time-to-read/edit.js +104 -0
  193. package/build/post-time-to-read/edit.js.map +1 -0
  194. package/build/post-time-to-read/icon.js +25 -0
  195. package/build/post-time-to-read/icon.js.map +1 -0
  196. package/build/post-time-to-read/index.js +57 -0
  197. package/build/post-time-to-read/index.js.map +1 -0
  198. package/build/post-title/edit.js +2 -0
  199. package/build/post-title/edit.js.map +1 -1
  200. package/build/post-title/index.js +1 -0
  201. package/build/post-title/index.js.map +1 -1
  202. package/build/query/edit/inspector-controls/index.js +1 -0
  203. package/build/query/edit/inspector-controls/index.js.map +1 -1
  204. package/build/query/index.js +1 -0
  205. package/build/query/index.js.map +1 -1
  206. package/build/query/utils.js +1 -0
  207. package/build/query/utils.js.map +1 -1
  208. package/build/query-no-results/index.js +1 -0
  209. package/build/query-no-results/index.js.map +1 -1
  210. package/build/query-pagination/index.js +1 -0
  211. package/build/query-pagination/index.js.map +1 -1
  212. package/build/query-pagination-next/index.js +1 -0
  213. package/build/query-pagination-next/index.js.map +1 -1
  214. package/build/query-pagination-numbers/index.js +1 -0
  215. package/build/query-pagination-numbers/index.js.map +1 -1
  216. package/build/query-pagination-previous/index.js +1 -0
  217. package/build/query-pagination-previous/index.js.map +1 -1
  218. package/build/query-title/edit.js +2 -0
  219. package/build/query-title/edit.js.map +1 -1
  220. package/build/query-title/index.js +1 -0
  221. package/build/query-title/index.js.map +1 -1
  222. package/build/read-more/edit.js +1 -0
  223. package/build/read-more/edit.js.map +1 -1
  224. package/build/read-more/index.js +1 -0
  225. package/build/read-more/index.js.map +1 -1
  226. package/build/rss/edit.js +3 -0
  227. package/build/rss/edit.js.map +1 -1
  228. package/build/rss/index.js +1 -0
  229. package/build/rss/index.js.map +1 -1
  230. package/build/search/index.js +1 -0
  231. package/build/search/index.js.map +1 -1
  232. package/build/site-logo/edit.js +10 -11
  233. package/build/site-logo/edit.js.map +1 -1
  234. package/build/site-logo/index.js +1 -0
  235. package/build/site-logo/index.js.map +1 -1
  236. package/build/site-tagline/index.js +1 -0
  237. package/build/site-tagline/index.js.map +1 -1
  238. package/build/site-title/edit/index.js +2 -0
  239. package/build/site-title/edit/index.js.map +1 -1
  240. package/build/site-title/index.js +1 -0
  241. package/build/site-title/index.js.map +1 -1
  242. package/build/social-link/index.js +1 -0
  243. package/build/social-link/index.js.map +1 -1
  244. package/build/social-links/edit.js +2 -0
  245. package/build/social-links/edit.js.map +1 -1
  246. package/build/spacer/controls.native.js +10 -8
  247. package/build/spacer/controls.native.js.map +1 -1
  248. package/build/spacer/edit.native.js +43 -5
  249. package/build/spacer/edit.native.js.map +1 -1
  250. package/build/spacer/save.native.js +30 -0
  251. package/build/spacer/save.native.js.map +1 -0
  252. package/build/table/edit.js +6 -3
  253. package/build/table/edit.js.map +1 -1
  254. package/build/table-of-contents/edit.js +1 -0
  255. package/build/table-of-contents/edit.js.map +1 -1
  256. package/build/table-of-contents/utils.js +1 -1
  257. package/build/table-of-contents/utils.js.map +1 -1
  258. package/build/tag-cloud/edit.js +1 -0
  259. package/build/tag-cloud/edit.js.map +1 -1
  260. package/build/tag-cloud/index.js +1 -0
  261. package/build/tag-cloud/index.js.map +1 -1
  262. package/build/template-part/index.js +1 -0
  263. package/build/template-part/index.js.map +1 -1
  264. package/build/term-description/index.js +1 -0
  265. package/build/term-description/index.js.map +1 -1
  266. package/build/verse/index.js +6 -0
  267. package/build/verse/index.js.map +1 -1
  268. package/build/video/edit-common-settings.js +5 -0
  269. package/build/video/edit-common-settings.js.map +1 -1
  270. package/build-module/archives/edit.js +3 -0
  271. package/build-module/archives/edit.js.map +1 -1
  272. package/build-module/archives/index.js +1 -0
  273. package/build-module/archives/index.js.map +1 -1
  274. package/build-module/audio/edit.js +2 -0
  275. package/build-module/audio/edit.js.map +1 -1
  276. package/build-module/avatar/edit.js +5 -8
  277. package/build-module/avatar/edit.js.map +1 -1
  278. package/build-module/avatar/index.js +1 -0
  279. package/build-module/avatar/index.js.map +1 -1
  280. package/build-module/button/edit.js +2 -1
  281. package/build-module/button/edit.js.map +1 -1
  282. package/build-module/button/index.js +17 -6
  283. package/build-module/button/index.js.map +1 -1
  284. package/build-module/calendar/index.js +1 -0
  285. package/build-module/calendar/index.js.map +1 -1
  286. package/build-module/categories/edit.js +5 -0
  287. package/build-module/categories/edit.js.map +1 -1
  288. package/build-module/categories/index.js +1 -0
  289. package/build-module/categories/index.js.map +1 -1
  290. package/build-module/columns/edit.js +1 -0
  291. package/build-module/columns/edit.js.map +1 -1
  292. package/build-module/columns/utils.js +3 -3
  293. package/build-module/columns/utils.js.map +1 -1
  294. package/build-module/comment-author-avatar/index.js +1 -0
  295. package/build-module/comment-author-avatar/index.js.map +1 -1
  296. package/build-module/comment-author-name/edit.js +2 -0
  297. package/build-module/comment-author-name/edit.js.map +1 -1
  298. package/build-module/comment-author-name/index.js +1 -0
  299. package/build-module/comment-author-name/index.js.map +1 -1
  300. package/build-module/comment-content/index.js +1 -0
  301. package/build-module/comment-content/index.js.map +1 -1
  302. package/build-module/comment-date/edit.js +1 -0
  303. package/build-module/comment-date/edit.js.map +1 -1
  304. package/build-module/comment-date/index.js +1 -0
  305. package/build-module/comment-date/index.js.map +1 -1
  306. package/build-module/comment-edit-link/edit.js +1 -0
  307. package/build-module/comment-edit-link/edit.js.map +1 -1
  308. package/build-module/comment-edit-link/index.js +1 -0
  309. package/build-module/comment-edit-link/index.js.map +1 -1
  310. package/build-module/comment-reply-link/index.js +1 -0
  311. package/build-module/comment-reply-link/index.js.map +1 -1
  312. package/build-module/comment-template/index.js +1 -0
  313. package/build-module/comment-template/index.js.map +1 -1
  314. package/build-module/comments/index.js +2 -1
  315. package/build-module/comments/index.js.map +1 -1
  316. package/build-module/comments-pagination/index.js +1 -0
  317. package/build-module/comments-pagination/index.js.map +1 -1
  318. package/build-module/comments-pagination-next/index.js +1 -0
  319. package/build-module/comments-pagination-next/index.js.map +1 -1
  320. package/build-module/comments-pagination-numbers/index.js +1 -0
  321. package/build-module/comments-pagination-numbers/index.js.map +1 -1
  322. package/build-module/comments-pagination-previous/index.js +1 -0
  323. package/build-module/comments-pagination-previous/index.js.map +1 -1
  324. package/build-module/comments-title/edit.js +2 -0
  325. package/build-module/comments-title/edit.js.map +1 -1
  326. package/build-module/cover/edit/inspector-controls.js +2 -0
  327. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  328. package/build-module/embed/embed-controls.js +1 -0
  329. package/build-module/embed/embed-controls.js.map +1 -1
  330. package/build-module/file/index.js +10 -1
  331. package/build-module/file/index.js.map +1 -1
  332. package/build-module/file/inspector.js +3 -0
  333. package/build-module/file/inspector.js.map +1 -1
  334. package/build-module/freeform/modal.js +1 -1
  335. package/build-module/freeform/modal.js.map +1 -1
  336. package/build-module/gallery/edit.js +2 -0
  337. package/build-module/gallery/edit.js.map +1 -1
  338. package/build-module/gallery/shared.js +4 -7
  339. package/build-module/gallery/shared.js.map +1 -1
  340. package/build-module/gallery/use-image-sizes.js +4 -7
  341. package/build-module/gallery/use-image-sizes.js.map +1 -1
  342. package/build-module/gallery/v1/edit.js +9 -4
  343. package/build-module/gallery/v1/edit.js.map +1 -1
  344. package/build-module/gallery/v1/gallery-image.js +1 -2
  345. package/build-module/gallery/v1/gallery-image.js.map +1 -1
  346. package/build-module/gallery/v1/shared.js +4 -6
  347. package/build-module/gallery/v1/shared.js.map +1 -1
  348. package/build-module/home-link/index.js +1 -0
  349. package/build-module/home-link/index.js.map +1 -1
  350. package/build-module/image/edit.js +7 -5
  351. package/build-module/image/edit.js.map +1 -1
  352. package/build-module/image/image.js +19 -14
  353. package/build-module/image/image.js.map +1 -1
  354. package/build-module/image/utils.js +4 -2
  355. package/build-module/image/utils.js.map +1 -1
  356. package/build-module/index.js +2 -1
  357. package/build-module/index.js.map +1 -1
  358. package/build-module/latest-comments/edit.js +9 -2
  359. package/build-module/latest-comments/edit.js.map +1 -1
  360. package/build-module/latest-comments/index.js +14 -0
  361. package/build-module/latest-comments/index.js.map +1 -1
  362. package/build-module/latest-posts/deprecated.js +1 -0
  363. package/build-module/latest-posts/deprecated.js.map +1 -1
  364. package/build-module/latest-posts/edit.js +4 -0
  365. package/build-module/latest-posts/edit.js.map +1 -1
  366. package/build-module/latest-posts/index.js +1 -0
  367. package/build-module/latest-posts/index.js.map +1 -1
  368. package/build-module/list/ordered-list-settings.js +1 -0
  369. package/build-module/list/ordered-list-settings.js.map +1 -1
  370. package/build-module/list-item/edit.js +2 -2
  371. package/build-module/list-item/edit.js.map +1 -1
  372. package/build-module/list-item/hooks/use-outdent-list-item.js +2 -1
  373. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  374. package/build-module/loginout/edit.js +2 -0
  375. package/build-module/loginout/edit.js.map +1 -1
  376. package/build-module/loginout/index.js +1 -0
  377. package/build-module/loginout/index.js.map +1 -1
  378. package/build-module/media-text/edit.js +2 -0
  379. package/build-module/media-text/edit.js.map +1 -1
  380. package/build-module/more/edit.js +1 -0
  381. package/build-module/more/edit.js.map +1 -1
  382. package/build-module/navigation/edit/index.js +82 -56
  383. package/build-module/navigation/edit/index.js.map +1 -1
  384. package/build-module/navigation/edit/navigation-menu-selector.js +14 -10
  385. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  386. package/build-module/navigation/edit/overlay-menu-preview.js +1 -0
  387. package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -1
  388. package/build-module/navigation/edit/placeholder/index.js +1 -1
  389. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  390. package/build-module/navigation/edit/unsaved-inner-blocks.js +1 -1
  391. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  392. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +1 -1
  393. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  394. package/build-module/navigation/edit/use-create-navigation-menu.js +1 -1
  395. package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
  396. package/build-module/navigation/edit/use-generate-default-navigation-title.js +1 -1
  397. package/build-module/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  398. package/build-module/navigation/edit/use-navigation-notice.js +5 -8
  399. package/build-module/navigation/edit/use-navigation-notice.js.map +1 -1
  400. package/build-module/navigation/index.js +1 -0
  401. package/build-module/navigation/index.js.map +1 -1
  402. package/build-module/navigation/use-navigation-menu.js +1 -1
  403. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  404. package/build-module/navigation-link/edit.js +10 -5
  405. package/build-module/navigation-link/edit.js.map +1 -1
  406. package/build-module/navigation-link/link-ui.js +2 -0
  407. package/build-module/navigation-link/link-ui.js.map +1 -1
  408. package/build-module/page-list/convert-to-links-modal.js +35 -0
  409. package/build-module/page-list/convert-to-links-modal.js.map +1 -0
  410. package/build-module/page-list/edit.js +15 -29
  411. package/build-module/page-list/edit.js.map +1 -1
  412. package/build-module/page-list/index.js +1 -0
  413. package/build-module/page-list/index.js.map +1 -1
  414. package/build-module/page-list/use-convert-to-navigation-links.js +61 -5
  415. package/build-module/page-list/use-convert-to-navigation-links.js.map +1 -1
  416. package/build-module/paragraph/edit.js +1 -0
  417. package/build-module/paragraph/edit.js.map +1 -1
  418. package/build-module/post-author/edit.js +4 -0
  419. package/build-module/post-author/edit.js.map +1 -1
  420. package/build-module/post-author/index.js +1 -0
  421. package/build-module/post-author/index.js.map +1 -1
  422. package/build-module/post-author-biography/index.js +1 -0
  423. package/build-module/post-author-biography/index.js.map +1 -1
  424. package/build-module/post-author-name/edit.js +2 -0
  425. package/build-module/post-author-name/edit.js.map +1 -1
  426. package/build-module/post-author-name/index.js +1 -0
  427. package/build-module/post-author-name/index.js.map +1 -1
  428. package/build-module/post-comments-count/index.js +1 -0
  429. package/build-module/post-comments-count/index.js.map +1 -1
  430. package/build-module/post-comments-form/index.js +1 -0
  431. package/build-module/post-comments-form/index.js.map +1 -1
  432. package/build-module/post-comments-link/index.js +1 -0
  433. package/build-module/post-comments-link/index.js.map +1 -1
  434. package/build-module/post-content/index.js +1 -0
  435. package/build-module/post-content/index.js.map +1 -1
  436. package/build-module/post-date/edit.js +2 -0
  437. package/build-module/post-date/edit.js.map +1 -1
  438. package/build-module/post-date/index.js +1 -0
  439. package/build-module/post-date/index.js.map +1 -1
  440. package/build-module/post-excerpt/edit.js +53 -5
  441. package/build-module/post-excerpt/edit.js.map +1 -1
  442. package/build-module/post-excerpt/index.js +5 -0
  443. package/build-module/post-excerpt/index.js.map +1 -1
  444. package/build-module/post-featured-image/dimension-controls.js +52 -1
  445. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  446. package/build-module/post-featured-image/edit.js +11 -4
  447. package/build-module/post-featured-image/edit.js.map +1 -1
  448. package/build-module/post-featured-image/index.js +4 -0
  449. package/build-module/post-featured-image/index.js.map +1 -1
  450. package/build-module/post-navigation-link/edit.js +2 -0
  451. package/build-module/post-navigation-link/edit.js.map +1 -1
  452. package/build-module/post-navigation-link/index.js +1 -0
  453. package/build-module/post-navigation-link/index.js.map +1 -1
  454. package/build-module/post-template/index.js +1 -0
  455. package/build-module/post-template/index.js.map +1 -1
  456. package/build-module/post-terms/index.js +1 -0
  457. package/build-module/post-terms/index.js.map +1 -1
  458. package/build-module/post-terms/use-post-terms.js +1 -1
  459. package/build-module/post-terms/use-post-terms.js.map +1 -1
  460. package/build-module/post-time-to-read/edit.js +90 -0
  461. package/build-module/post-time-to-read/edit.js.map +1 -0
  462. package/build-module/post-time-to-read/icon.js +15 -0
  463. package/build-module/post-time-to-read/icon.js.map +1 -0
  464. package/build-module/post-time-to-read/index.js +40 -0
  465. package/build-module/post-time-to-read/index.js.map +1 -0
  466. package/build-module/post-title/edit.js +2 -0
  467. package/build-module/post-title/edit.js.map +1 -1
  468. package/build-module/post-title/index.js +1 -0
  469. package/build-module/post-title/index.js.map +1 -1
  470. package/build-module/query/edit/inspector-controls/index.js +1 -0
  471. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  472. package/build-module/query/index.js +1 -0
  473. package/build-module/query/index.js.map +1 -1
  474. package/build-module/query/utils.js +1 -0
  475. package/build-module/query/utils.js.map +1 -1
  476. package/build-module/query-no-results/index.js +1 -0
  477. package/build-module/query-no-results/index.js.map +1 -1
  478. package/build-module/query-pagination/index.js +1 -0
  479. package/build-module/query-pagination/index.js.map +1 -1
  480. package/build-module/query-pagination-next/index.js +1 -0
  481. package/build-module/query-pagination-next/index.js.map +1 -1
  482. package/build-module/query-pagination-numbers/index.js +1 -0
  483. package/build-module/query-pagination-numbers/index.js.map +1 -1
  484. package/build-module/query-pagination-previous/index.js +1 -0
  485. package/build-module/query-pagination-previous/index.js.map +1 -1
  486. package/build-module/query-title/edit.js +2 -0
  487. package/build-module/query-title/edit.js.map +1 -1
  488. package/build-module/query-title/index.js +1 -0
  489. package/build-module/query-title/index.js.map +1 -1
  490. package/build-module/read-more/edit.js +1 -0
  491. package/build-module/read-more/edit.js.map +1 -1
  492. package/build-module/read-more/index.js +1 -0
  493. package/build-module/read-more/index.js.map +1 -1
  494. package/build-module/rss/edit.js +3 -0
  495. package/build-module/rss/edit.js.map +1 -1
  496. package/build-module/rss/index.js +1 -0
  497. package/build-module/rss/index.js.map +1 -1
  498. package/build-module/search/index.js +1 -0
  499. package/build-module/search/index.js.map +1 -1
  500. package/build-module/site-logo/edit.js +10 -11
  501. package/build-module/site-logo/edit.js.map +1 -1
  502. package/build-module/site-logo/index.js +1 -0
  503. package/build-module/site-logo/index.js.map +1 -1
  504. package/build-module/site-tagline/index.js +1 -0
  505. package/build-module/site-tagline/index.js.map +1 -1
  506. package/build-module/site-title/edit/index.js +2 -0
  507. package/build-module/site-title/edit/index.js.map +1 -1
  508. package/build-module/site-title/index.js +1 -0
  509. package/build-module/site-title/index.js.map +1 -1
  510. package/build-module/social-link/index.js +1 -0
  511. package/build-module/social-link/index.js.map +1 -1
  512. package/build-module/social-links/edit.js +2 -0
  513. package/build-module/social-links/edit.js.map +1 -1
  514. package/build-module/spacer/controls.native.js +9 -8
  515. package/build-module/spacer/controls.native.js.map +1 -1
  516. package/build-module/spacer/edit.native.js +39 -7
  517. package/build-module/spacer/edit.native.js.map +1 -1
  518. package/build-module/spacer/save.native.js +22 -0
  519. package/build-module/spacer/save.native.js.map +1 -0
  520. package/build-module/table/edit.js +6 -3
  521. package/build-module/table/edit.js.map +1 -1
  522. package/build-module/table-of-contents/edit.js +1 -0
  523. package/build-module/table-of-contents/edit.js.map +1 -1
  524. package/build-module/table-of-contents/utils.js +1 -1
  525. package/build-module/table-of-contents/utils.js.map +1 -1
  526. package/build-module/tag-cloud/edit.js +1 -0
  527. package/build-module/tag-cloud/edit.js.map +1 -1
  528. package/build-module/tag-cloud/index.js +1 -0
  529. package/build-module/tag-cloud/index.js.map +1 -1
  530. package/build-module/template-part/index.js +1 -0
  531. package/build-module/template-part/index.js.map +1 -1
  532. package/build-module/term-description/index.js +1 -0
  533. package/build-module/term-description/index.js.map +1 -1
  534. package/build-module/verse/index.js +6 -0
  535. package/build-module/verse/index.js.map +1 -1
  536. package/build-module/video/edit-common-settings.js +5 -0
  537. package/build-module/video/edit-common-settings.js.map +1 -1
  538. package/build-style/avatar/style-rtl.css +3 -0
  539. package/build-style/avatar/style.css +3 -0
  540. package/build-style/button/editor-rtl.css +31 -0
  541. package/build-style/button/editor.css +31 -0
  542. package/build-style/button/style-rtl.css +31 -0
  543. package/build-style/button/style.css +31 -0
  544. package/build-style/editor-rtl.css +33 -1
  545. package/build-style/editor.css +33 -1
  546. package/build-style/file/style-rtl.css +1 -0
  547. package/build-style/file/style.css +1 -0
  548. package/build-style/image/editor-rtl.css +1 -0
  549. package/build-style/image/editor.css +1 -0
  550. package/build-style/image/style-rtl.css +6 -2
  551. package/build-style/image/style.css +6 -0
  552. package/build-style/latest-comments/style-rtl.css +18 -5
  553. package/build-style/latest-comments/style.css +18 -5
  554. package/build-style/post-excerpt/editor-rtl.css +1 -1
  555. package/build-style/post-excerpt/editor.css +1 -1
  556. package/build-style/style-rtl.css +59 -7
  557. package/build-style/style.css +59 -5
  558. package/build-types/table-of-contents/utils.d.ts +1 -1
  559. package/package.json +31 -30
  560. package/src/archives/block.json +1 -0
  561. package/src/archives/edit.js +3 -0
  562. package/src/audio/edit.js +2 -0
  563. package/src/audio/test/__snapshots__/edit.native.js.snap +38 -38
  564. package/src/avatar/block.json +1 -0
  565. package/src/avatar/edit.js +2 -4
  566. package/src/avatar/index.php +67 -63
  567. package/src/avatar/style.scss +3 -0
  568. package/src/button/block.json +17 -6
  569. package/src/button/edit.js +2 -1
  570. package/src/button/editor.scss +36 -0
  571. package/src/button/style.scss +37 -1
  572. package/src/buttons/test/__snapshots__/edit.native.js.snap +11 -11
  573. package/src/calendar/block.json +1 -0
  574. package/src/categories/block.json +1 -0
  575. package/src/categories/edit.js +5 -0
  576. package/src/code/test/__snapshots__/edit.native.js.snap +2 -2
  577. package/src/columns/edit.js +1 -0
  578. package/src/columns/test/__snapshots__/edit.native.js.snap +66 -66
  579. package/src/columns/test/utils.js +54 -0
  580. package/src/columns/utils.js +8 -8
  581. package/src/comment-author-avatar/block.json +1 -0
  582. package/src/comment-author-name/block.json +1 -0
  583. package/src/comment-author-name/edit.js +2 -0
  584. package/src/comment-content/block.json +1 -0
  585. package/src/comment-date/block.json +1 -0
  586. package/src/comment-date/edit.js +1 -0
  587. package/src/comment-edit-link/block.json +1 -0
  588. package/src/comment-edit-link/edit.js +1 -0
  589. package/src/comment-reply-link/block.json +1 -0
  590. package/src/comment-template/block.json +1 -0
  591. package/src/comments/block.json +2 -1
  592. package/src/comments-pagination/block.json +1 -0
  593. package/src/comments-pagination-next/block.json +1 -0
  594. package/src/comments-pagination-numbers/block.json +1 -0
  595. package/src/comments-pagination-previous/block.json +1 -0
  596. package/src/comments-title/edit.js +2 -0
  597. package/src/cover/edit/inspector-controls.js +2 -0
  598. package/src/cover/index.php +4 -6
  599. package/src/cover/test/__snapshots__/edit.native.js.snap +36 -36
  600. package/src/embed/embed-controls.js +1 -0
  601. package/src/embed/test/__snapshots__/index.native.js.snap +52 -52
  602. package/src/file/block.json +10 -1
  603. package/src/file/inspector.js +3 -0
  604. package/src/file/style.scss +1 -0
  605. package/src/file/test/__snapshots__/edit.native.js.snap +49 -49
  606. package/src/freeform/modal.js +1 -1
  607. package/src/gallery/edit.js +2 -0
  608. package/src/gallery/shared.js +6 -11
  609. package/src/gallery/test/__snapshots__/index.native.js.snap +71 -71
  610. package/src/gallery/use-image-sizes.js +3 -16
  611. package/src/gallery/v1/edit.js +8 -16
  612. package/src/gallery/v1/gallery-image.js +1 -2
  613. package/src/gallery/v1/shared.js +5 -10
  614. package/src/group/test/__snapshots__/edit.native.js.snap +5 -5
  615. package/src/heading/test/__snapshots__/index.native.js.snap +1 -1
  616. package/src/home-link/block.json +1 -0
  617. package/src/image/edit.js +4 -4
  618. package/src/image/editor.scss +1 -0
  619. package/src/image/image.js +9 -20
  620. package/src/image/index.php +4 -4
  621. package/src/image/style.scss +13 -0
  622. package/src/image/utils.js +2 -2
  623. package/src/index.js +2 -0
  624. package/src/latest-comments/block.json +14 -0
  625. package/src/latest-comments/edit.js +12 -2
  626. package/src/latest-comments/style.scss +25 -7
  627. package/src/latest-posts/block.json +1 -0
  628. package/src/latest-posts/edit.js +4 -0
  629. package/src/list/ordered-list-settings.js +1 -0
  630. package/src/list/test/__snapshots__/edit.native.js.snap +4 -4
  631. package/src/list-item/edit.js +10 -3
  632. package/src/list-item/hooks/use-outdent-list-item.js +2 -1
  633. package/src/loginout/block.json +1 -0
  634. package/src/loginout/edit.js +2 -0
  635. package/src/media-text/edit.js +2 -0
  636. package/src/missing/test/__snapshots__/edit.native.js.snap +1 -1
  637. package/src/more/edit.js +1 -0
  638. package/src/navigation/block.json +1 -0
  639. package/src/navigation/edit/index.js +130 -82
  640. package/src/navigation/edit/navigation-menu-selector.js +12 -26
  641. package/src/navigation/edit/overlay-menu-preview.js +1 -0
  642. package/src/navigation/edit/placeholder/index.js +1 -1
  643. package/src/navigation/edit/test/navigation-menu-selector.js +638 -0
  644. package/src/navigation/edit/unsaved-inner-blocks.js +1 -0
  645. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +51 -48
  646. package/src/navigation/edit/use-create-navigation-menu.js +1 -1
  647. package/src/navigation/edit/use-generate-default-navigation-title.js +1 -1
  648. package/src/navigation/edit/use-navigation-notice.js +16 -13
  649. package/src/navigation/index.php +50 -25
  650. package/src/navigation/use-navigation-menu.js +1 -1
  651. package/src/navigation-link/edit.js +10 -5
  652. package/src/navigation-link/link-ui.js +2 -0
  653. package/src/navigation-link/test/__snapshots__/hooks.js.snap +12 -12
  654. package/src/page-list/block.json +1 -0
  655. package/src/page-list/convert-to-links-modal.js +38 -0
  656. package/src/page-list/edit.js +17 -37
  657. package/src/page-list/index.php +4 -4
  658. package/src/page-list/test/convert-to-links-modal.js +134 -0
  659. package/src/page-list/use-convert-to-navigation-links.js +64 -4
  660. package/src/paragraph/edit.js +1 -0
  661. package/src/post-author/block.json +1 -0
  662. package/src/post-author/edit.js +4 -0
  663. package/src/post-author-biography/block.json +1 -0
  664. package/src/post-author-name/block.json +1 -0
  665. package/src/post-author-name/edit.js +2 -0
  666. package/src/post-comments-count/block.json +1 -0
  667. package/src/post-comments-form/block.json +1 -0
  668. package/src/post-comments-link/block.json +1 -0
  669. package/src/post-content/block.json +1 -0
  670. package/src/post-date/block.json +1 -0
  671. package/src/post-date/edit.js +2 -0
  672. package/src/post-excerpt/block.json +5 -0
  673. package/src/post-excerpt/edit.js +73 -7
  674. package/src/post-excerpt/editor.scss +1 -1
  675. package/src/post-excerpt/index.php +29 -5
  676. package/src/post-featured-image/block.json +4 -0
  677. package/src/post-featured-image/dimension-controls.js +64 -2
  678. package/src/post-featured-image/edit.js +20 -6
  679. package/src/post-featured-image/index.php +25 -9
  680. package/src/post-navigation-link/block.json +1 -0
  681. package/src/post-navigation-link/edit.js +2 -0
  682. package/src/post-template/block.json +1 -0
  683. package/src/post-terms/block.json +1 -0
  684. package/src/post-terms/index.php +1 -0
  685. package/src/post-terms/use-post-terms.js +1 -1
  686. package/src/post-time-to-read/block.json +20 -0
  687. package/src/post-time-to-read/edit.js +101 -0
  688. package/src/post-time-to-read/icon.js +15 -0
  689. package/src/post-time-to-read/index.js +17 -0
  690. package/src/post-time-to-read/index.php +62 -0
  691. package/src/post-title/block.json +1 -0
  692. package/src/post-title/edit.js +2 -0
  693. package/src/post-title/index.php +3 -3
  694. package/src/preformatted/test/__snapshots__/edit.native.js.snap +10 -10
  695. package/src/query/block.json +1 -0
  696. package/src/query/edit/inspector-controls/index.js +1 -0
  697. package/src/query-no-results/block.json +1 -0
  698. package/src/query-pagination/block.json +1 -0
  699. package/src/query-pagination-next/block.json +1 -0
  700. package/src/query-pagination-numbers/block.json +1 -0
  701. package/src/query-pagination-previous/block.json +1 -0
  702. package/src/query-title/block.json +1 -0
  703. package/src/query-title/edit.js +2 -0
  704. package/src/read-more/block.json +1 -0
  705. package/src/read-more/edit.js +1 -0
  706. package/src/rss/block.json +1 -0
  707. package/src/rss/edit.js +3 -0
  708. package/src/search/block.json +1 -0
  709. package/src/search/test/__snapshots__/edit.native.js.snap +60 -60
  710. package/src/separator/test/__snapshots__/edit.native.js.snap +1 -1
  711. package/src/site-logo/block.json +1 -0
  712. package/src/site-logo/edit.js +6 -6
  713. package/src/site-logo/index.php +7 -2
  714. package/src/site-tagline/block.json +1 -0
  715. package/src/site-title/block.json +1 -0
  716. package/src/site-title/edit/index.js +2 -0
  717. package/src/social-link/block.json +1 -0
  718. package/src/social-link/index.php +6 -6
  719. package/src/social-links/edit.js +2 -0
  720. package/src/social-links/test/__snapshots__/edit.native.js.snap +16 -16
  721. package/src/spacer/controls.native.js +13 -5
  722. package/src/spacer/edit.native.js +45 -6
  723. package/src/spacer/save.native.js +18 -0
  724. package/src/spacer/test/__snapshots__/index.native.js.snap +21 -9
  725. package/src/spacer/test/index.native.js +81 -0
  726. package/src/table/edit.js +6 -3
  727. package/src/table-of-contents/edit.js +1 -0
  728. package/src/table-of-contents/utils.ts +1 -1
  729. package/src/tag-cloud/block.json +1 -0
  730. package/src/tag-cloud/edit.js +1 -0
  731. package/src/template-part/block.json +1 -0
  732. package/src/template-part/index.php +7 -6
  733. package/src/term-description/block.json +1 -0
  734. package/src/verse/block.json +6 -0
  735. package/src/verse/test/__snapshots__/edit.native.js.snap +2 -2
  736. package/src/video/edit-common-settings.js +5 -0
  737. package/tsconfig.json +2 -1
  738. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"names":["MenuGroup","MenuItem","MenuItemsChoice","DropdownMenu","useEntityProp","moreVertical","__","sprintf","decodeEntities","useEffect","useMemo","useState","useNavigationMenu","useNavigationEntities","NavigationMenuSelector","currentMenuId","onSelectNavigationMenu","onSelectClassicMenu","onCreateNew","actionLabel","createNavigationMenuIsSuccess","createNavigationMenuIsError","createActionLabel","selectorLabel","setSelectorLabel","isCreatingMenu","setIsCreatingMenu","menus","classicMenus","navigationMenus","hasResolvedNavigationMenus","isNavigationMenuResolved","canUserCreateNavigationMenu","canSwitchNavigationMenu","currentTitle","menuChoices","map","index","id","title","label","rendered","value","ariaLabel","hasNavigationMenus","length","hasClassicMenus","showNavigationMenus","showClassicMenus","noMenuSelected","noBlockMenus","menuUnavailable","NavigationMenuSelectorDropdown","isSmall","onClose","menuId","menu","name"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tDropdownMenu,\n} from '@wordpress/components';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { moreVertical } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\n\nfunction NavigationMenuSelector( {\n\tcurrentMenuId,\n\tonSelectNavigationMenu,\n\tonSelectClassicMenu,\n\tonCreateNew,\n\tactionLabel,\n\tcreateNavigationMenuIsSuccess,\n\tcreateNavigationMenuIsError,\n} ) {\n\t/* translators: %s: The name of a menu. */\n\tconst createActionLabel = __( \"Create from '%s'\" );\n\n\tconst [ selectorLabel, setSelectorLabel ] = useState( '' );\n\tconst [ isCreatingMenu, setIsCreatingMenu ] = useState( false );\n\n\tactionLabel = actionLabel || createActionLabel;\n\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst {\n\t\tnavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tcanUserCreateNavigationMenu,\n\t\tcanSwitchNavigationMenu,\n\t} = useNavigationMenu();\n\n\tconst [ currentTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_navigation',\n\t\t'title'\n\t);\n\n\tconst menuChoices = useMemo( () => {\n\t\treturn (\n\t\t\tnavigationMenus?.map( ( { id, title }, index ) => {\n\t\t\t\tconst label =\n\t\t\t\t\tdecodeEntities( title.rendered ) ||\n\t\t\t\t\t/* translators: %s is the index of the menu in the list of menus. */\n\t\t\t\t\tsprintf( __( '(no title %s)' ), index + 1 );\n\n\t\t\t\tif ( id === currentMenuId && ! isCreatingMenu ) {\n\t\t\t\t\tsetSelectorLabel(\n\t\t\t\t\t\t/* translators: %s is the name of a navigation menu. */\n\t\t\t\t\t\tsprintf( __( 'You are currently editing %s' ), label )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tvalue: id,\n\t\t\t\t\tlabel,\n\t\t\t\t\tariaLabel: sprintf( actionLabel, label ),\n\t\t\t\t};\n\t\t\t} ) || []\n\t\t);\n\t}, [\n\t\tcurrentTitle,\n\t\tcurrentMenuId,\n\t\tnavigationMenus,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisNavigationMenuResolved,\n\t\thasResolvedNavigationMenus,\n\t] );\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\tconst hasClassicMenus = !! classicMenus?.length;\n\tconst showNavigationMenus = !! canSwitchNavigationMenu;\n\tconst showClassicMenus = !! canUserCreateNavigationMenu;\n\n\tconst noMenuSelected = hasNavigationMenus && ! currentMenuId;\n\tconst noBlockMenus = ! hasNavigationMenus && hasResolvedNavigationMenus;\n\tconst menuUnavailable =\n\t\thasResolvedNavigationMenus && currentMenuId === null;\n\n\tuseEffect( () => {\n\t\tif ( ! hasResolvedNavigationMenus ) {\n\t\t\tsetSelectorLabel( __( 'Loading …' ) );\n\t\t} else if ( noMenuSelected || noBlockMenus || menuUnavailable ) {\n\t\t\tsetSelectorLabel( __( 'Choose a Navigation menu' ) );\n\t\t}\n\n\t\tif (\n\t\t\tisCreatingMenu &&\n\t\t\t( createNavigationMenuIsSuccess || createNavigationMenuIsError )\n\t\t) {\n\t\t\tsetIsCreatingMenu( false );\n\t\t}\n\t}, [\n\t\tcurrentMenuId,\n\t\thasNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisNavigationMenuResolved,\n\t] );\n\n\tconst NavigationMenuSelectorDropdown = (\n\t\t<DropdownMenu\n\t\t\tlabel={ selectorLabel }\n\t\t\ticon={ moreVertical }\n\t\t\ttoggleProps={ { isSmall: true } }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t{ showNavigationMenus && hasNavigationMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\t\tvalue={ currentMenuId }\n\t\t\t\t\t\t\t\tonSelect={ ( menuId ) => {\n\t\t\t\t\t\t\t\t\tonSelectNavigationMenu( menuId );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchoices={ menuChoices }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showClassicMenus && hasClassicMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Import Classic Menus' ) }>\n\t\t\t\t\t\t\t{ classicMenus?.map( ( menu ) => {\n\t\t\t\t\t\t\t\tconst label = decodeEntities( menu.name );\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetSelectorLabel(\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Loading …' )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\tonSelectClassicMenu( menu );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\tcreateActionLabel,\n\t\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ canUserCreateNavigationMenu && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Tools' ) }>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\tonCreateNew();\n\t\t\t\t\t\t\t\t\tsetIsCreatingMenu( true );\n\t\t\t\t\t\t\t\t\tsetSelectorLabel( __( 'Loading …' ) );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Create new menu' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n\n\treturn NavigationMenuSelectorDropdown;\n}\n\nexport default NavigationMenuSelector;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"names":["MenuGroup","MenuItem","MenuItemsChoice","DropdownMenu","moreVertical","__","sprintf","decodeEntities","useEffect","useMemo","useState","useNavigationMenu","useNavigationEntities","NavigationMenuSelector","currentMenuId","onSelectNavigationMenu","onSelectClassicMenu","onCreateNew","actionLabel","createNavigationMenuIsSuccess","createNavigationMenuIsError","createActionLabel","selectorLabel","setSelectorLabel","isCreatingMenu","setIsCreatingMenu","menus","classicMenus","navigationMenus","hasResolvedNavigationMenus","canUserCreateNavigationMenu","canSwitchNavigationMenu","menuChoices","map","index","id","title","label","rendered","value","ariaLabel","hasNavigationMenus","length","hasClassicMenus","showNavigationMenus","showClassicMenus","noMenuSelected","noBlockMenus","menuUnavailable","NavigationMenuSelectorDropdown","isSmall","onClose","menuId","menu","name"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tDropdownMenu,\n} from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\n\nfunction NavigationMenuSelector( {\n\tcurrentMenuId,\n\tonSelectNavigationMenu,\n\tonSelectClassicMenu,\n\tonCreateNew,\n\tactionLabel,\n\tcreateNavigationMenuIsSuccess,\n\tcreateNavigationMenuIsError,\n} ) {\n\t/* translators: %s: The name of a menu. */\n\tconst createActionLabel = __( \"Create from '%s'\" );\n\n\tconst [ selectorLabel, setSelectorLabel ] = useState( '' );\n\tconst [ isCreatingMenu, setIsCreatingMenu ] = useState( false );\n\n\tactionLabel = actionLabel || createActionLabel;\n\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst {\n\t\tnavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tcanUserCreateNavigationMenu,\n\t\tcanSwitchNavigationMenu,\n\t} = useNavigationMenu();\n\n\tconst menuChoices = useMemo( () => {\n\t\treturn (\n\t\t\tnavigationMenus?.map( ( { id, title }, index ) => {\n\t\t\t\tconst label =\n\t\t\t\t\tdecodeEntities( title?.rendered ) ||\n\t\t\t\t\t/* translators: %s is the index of the menu in the list of menus. */\n\t\t\t\t\tsprintf( __( '(no title %s)' ), index + 1 );\n\n\t\t\t\tif ( id === currentMenuId && ! isCreatingMenu ) {\n\t\t\t\t\tsetSelectorLabel(\n\t\t\t\t\t\t/* translators: %s is the name of a navigation menu. */\n\t\t\t\t\t\tsprintf( __( 'You are currently editing %s' ), label )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tvalue: id,\n\t\t\t\t\tlabel,\n\t\t\t\t\tariaLabel: sprintf( actionLabel, label ),\n\t\t\t\t};\n\t\t\t} ) || []\n\t\t);\n\t}, [ currentMenuId, navigationMenus, actionLabel, isCreatingMenu ] );\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\tconst hasClassicMenus = !! classicMenus?.length;\n\tconst showNavigationMenus = !! canSwitchNavigationMenu;\n\tconst showClassicMenus = !! canUserCreateNavigationMenu;\n\n\tconst noMenuSelected = hasNavigationMenus && ! currentMenuId;\n\tconst noBlockMenus = ! hasNavigationMenus && hasResolvedNavigationMenus;\n\tconst menuUnavailable =\n\t\thasResolvedNavigationMenus && currentMenuId === null;\n\n\tuseEffect( () => {\n\t\tif ( ! hasResolvedNavigationMenus && ! canUserCreateNavigationMenu ) {\n\t\t\tsetSelectorLabel( __( 'Loading …' ) );\n\t\t} else if ( noMenuSelected || noBlockMenus || menuUnavailable ) {\n\t\t\tsetSelectorLabel( __( 'Choose or create a Navigation menu' ) );\n\t\t}\n\n\t\tif (\n\t\t\tisCreatingMenu &&\n\t\t\t( createNavigationMenuIsSuccess || createNavigationMenuIsError )\n\t\t) {\n\t\t\tsetIsCreatingMenu( false );\n\t\t}\n\t}, [ hasResolvedNavigationMenus, createNavigationMenuIsSuccess ] );\n\n\tconst NavigationMenuSelectorDropdown = (\n\t\t<DropdownMenu\n\t\t\tlabel={ selectorLabel }\n\t\t\ticon={ moreVertical }\n\t\t\ttoggleProps={ { isSmall: true } }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t{ showNavigationMenus && hasNavigationMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\t\tvalue={ currentMenuId }\n\t\t\t\t\t\t\t\tonSelect={ ( menuId ) => {\n\t\t\t\t\t\t\t\t\tsetSelectorLabel( __( 'Loading …' ) );\n\t\t\t\t\t\t\t\t\tsetIsCreatingMenu( true );\n\t\t\t\t\t\t\t\t\tonSelectNavigationMenu( menuId );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchoices={ menuChoices }\n\t\t\t\t\t\t\t\tdisabled={ isCreatingMenu }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showClassicMenus && hasClassicMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Import Classic Menus' ) }>\n\t\t\t\t\t\t\t{ classicMenus?.map( ( menu ) => {\n\t\t\t\t\t\t\t\tconst label = decodeEntities( menu.name );\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetSelectorLabel(\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Loading …' )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\tsetIsCreatingMenu( true );\n\t\t\t\t\t\t\t\t\t\t\tonSelectClassicMenu( menu );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\tcreateActionLabel,\n\t\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tdisabled={ isCreatingMenu }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ canUserCreateNavigationMenu && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Tools' ) }>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tdisabled={ isCreatingMenu }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\tonCreateNew();\n\t\t\t\t\t\t\t\t\tsetIsCreatingMenu( true );\n\t\t\t\t\t\t\t\t\tsetSelectorLabel( __( 'Loading …' ) );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Create new menu' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n\n\treturn NavigationMenuSelectorDropdown;\n}\n\nexport default NavigationMenuSelector;\n"]}
@@ -17,6 +17,7 @@ export default function OverlayMenuPreview(_ref) {
17
17
  icon
18
18
  } = _ref;
19
19
  return createElement(Fragment, null, createElement(ToggleControl, {
20
+ __nextHasNoMarginBottom: true,
20
21
  label: __('Show icon button'),
21
22
  help: __('Configure the visual appearance of the button opening the overlay menu.'),
22
23
  onChange: value => setAttributes({
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/overlay-menu-preview.js"],"names":["ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__","OverlayMenuIcon","OverlayMenuPreview","setAttributes","hasIcon","icon","value"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,aADD,EAECC,gCAAgC,IAAIC,kBAFrC,EAGCC,sCAAsC,IAAIC,wBAH3C,QAIO,uBAJP;AAKA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AAEA,eAAe,SAASC,kBAAT,OAAgE;AAAA,MAAnC;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA,OAAjB;AAA0BC,IAAAA;AAA1B,GAAmC;AAC9E,SACC,8BACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGL,EAAE,CAAE,kBAAF,CADX;AAEC,IAAA,IAAI,EAAGA,EAAE,CACR,yEADQ,CAFV;AAKC,IAAA,QAAQ,EAAKM,KAAF,IAAaH,aAAa,CAAE;AAAEC,MAAAA,OAAO,EAAEE;AAAX,KAAF,CALtC;AAMC,IAAA,OAAO,EAAGF;AANX,IADD,EAUC,cAAC,kBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGJ,EAAE,CAAE,MAAF,CAFX;AAGC,IAAA,KAAK,EAAGK,IAHT;AAIC,IAAA,QAAQ,EAAKC,KAAF,IAAaH,aAAa,CAAE;AAAEE,MAAAA,IAAI,EAAEC;AAAR,KAAF,CAJtC;AAKC,IAAA,OAAO;AALR,KAOC,cAAC,wBAAD;AACC,IAAA,KAAK,EAAC,QADP;AAEC,kBAAaN,EAAE,CAAE,QAAF,CAFhB;AAGC,IAAA,KAAK,EAAG,cAAC,eAAD;AAAiB,MAAA,IAAI,EAAC;AAAtB;AAHT,IAPD,EAYC,cAAC,wBAAD;AACC,IAAA,KAAK,EAAC,MADP;AAEC,kBAAaA,EAAE,CAAE,MAAF,CAFhB;AAGC,IAAA,KAAK,EAAG,cAAC,eAAD;AAAiB,MAAA,IAAI,EAAC;AAAtB;AAHT,IAZD,CAVD,CADD;AA+BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport OverlayMenuIcon from './overlay-menu-icon';\n\nexport default function OverlayMenuPreview( { setAttributes, hasIcon, icon } ) {\n\treturn (\n\t\t<>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Show icon button' ) }\n\t\t\t\thelp={ __(\n\t\t\t\t\t'Configure the visual appearance of the button opening the overlay menu.'\n\t\t\t\t) }\n\t\t\t\tonChange={ ( value ) => setAttributes( { hasIcon: value } ) }\n\t\t\t\tchecked={ hasIcon }\n\t\t\t/>\n\n\t\t\t<ToggleGroupControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Icon' ) }\n\t\t\t\tvalue={ icon }\n\t\t\t\tonChange={ ( value ) => setAttributes( { icon: value } ) }\n\t\t\t\tisBlock\n\t\t\t>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tvalue=\"handle\"\n\t\t\t\t\taria-label={ __( 'handle' ) }\n\t\t\t\t\tlabel={ <OverlayMenuIcon icon=\"handle\" /> }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tvalue=\"menu\"\n\t\t\t\t\taria-label={ __( 'menu' ) }\n\t\t\t\t\tlabel={ <OverlayMenuIcon icon=\"menu\" /> }\n\t\t\t\t/>\n\t\t\t</ToggleGroupControl>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/overlay-menu-preview.js"],"names":["ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__","OverlayMenuIcon","OverlayMenuPreview","setAttributes","hasIcon","icon","value"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,aADD,EAECC,gCAAgC,IAAIC,kBAFrC,EAGCC,sCAAsC,IAAIC,wBAH3C,QAIO,uBAJP;AAKA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AAEA,eAAe,SAASC,kBAAT,OAAgE;AAAA,MAAnC;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA,OAAjB;AAA0BC,IAAAA;AAA1B,GAAmC;AAC9E,SACC,8BACC,cAAC,aAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGL,EAAE,CAAE,kBAAF,CAFX;AAGC,IAAA,IAAI,EAAGA,EAAE,CACR,yEADQ,CAHV;AAMC,IAAA,QAAQ,EAAKM,KAAF,IAAaH,aAAa,CAAE;AAAEC,MAAAA,OAAO,EAAEE;AAAX,KAAF,CANtC;AAOC,IAAA,OAAO,EAAGF;AAPX,IADD,EAWC,cAAC,kBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGJ,EAAE,CAAE,MAAF,CAFX;AAGC,IAAA,KAAK,EAAGK,IAHT;AAIC,IAAA,QAAQ,EAAKC,KAAF,IAAaH,aAAa,CAAE;AAAEE,MAAAA,IAAI,EAAEC;AAAR,KAAF,CAJtC;AAKC,IAAA,OAAO;AALR,KAOC,cAAC,wBAAD;AACC,IAAA,KAAK,EAAC,QADP;AAEC,kBAAaN,EAAE,CAAE,QAAF,CAFhB;AAGC,IAAA,KAAK,EAAG,cAAC,eAAD;AAAiB,MAAA,IAAI,EAAC;AAAtB;AAHT,IAPD,EAYC,cAAC,wBAAD;AACC,IAAA,KAAK,EAAC,MADP;AAEC,kBAAaA,EAAE,CAAE,MAAF,CAFhB;AAGC,IAAA,KAAK,EAAG,cAAC,eAAD;AAAiB,MAAA,IAAI,EAAC;AAAtB;AAHT,IAZD,CAXD,CADD;AAgCA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport OverlayMenuIcon from './overlay-menu-icon';\n\nexport default function OverlayMenuPreview( { setAttributes, hasIcon, icon } ) {\n\treturn (\n\t\t<>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Show icon button' ) }\n\t\t\t\thelp={ __(\n\t\t\t\t\t'Configure the visual appearance of the button opening the overlay menu.'\n\t\t\t\t) }\n\t\t\t\tonChange={ ( value ) => setAttributes( { hasIcon: value } ) }\n\t\t\t\tchecked={ hasIcon }\n\t\t\t/>\n\n\t\t\t<ToggleGroupControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Icon' ) }\n\t\t\t\tvalue={ icon }\n\t\t\t\tonChange={ ( value ) => setAttributes( { icon: value } ) }\n\t\t\t\tisBlock\n\t\t\t>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tvalue=\"handle\"\n\t\t\t\t\taria-label={ __( 'handle' ) }\n\t\t\t\t\tlabel={ <OverlayMenuIcon icon=\"handle\" /> }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tvalue=\"menu\"\n\t\t\t\t\taria-label={ __( 'menu' ) }\n\t\t\t\t\tlabel={ <OverlayMenuIcon icon=\"menu\" /> }\n\t\t\t\t/>\n\t\t\t</ToggleGroupControl>\n\t\t</>\n\t);\n}\n"]}
@@ -42,7 +42,7 @@ export default function NavigationPlaceholder(_ref) {
42
42
  if (hasResolvedMenus) {
43
43
  speak(__('Navigation block setup options ready.'));
44
44
  }
45
- }, [isResolvingMenus, isSelected]);
45
+ }, [hasResolvedMenus, isResolvingMenus, isSelected]);
46
46
  const isResolvingActions = isResolvingMenus && isResolvingCanUserCreateNavigationMenu;
47
47
  return createElement(Fragment, null, createElement(Placeholder, {
48
48
  className: "wp-block-navigation-placeholder"
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/placeholder/index.js"],"names":["Placeholder","Button","Spinner","__","navigation","Icon","speak","useEffect","useNavigationEntities","PlaceholderPreview","NavigationMenuSelector","NavigationPlaceholder","isSelected","currentMenuId","clientId","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","onSelectNavigationMenu","onSelectClassicMenu","onCreateEmpty","isResolvingMenus","hasResolvedMenus","isResolvingActions","undefined"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,WAAT,EAAsBC,MAAtB,EAA8BC,OAA9B,QAA6C,uBAA7C;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,kBAAjC;AACA,SAASC,KAAT,QAAsB,iBAAtB;AACA,SAASC,SAAT,QAA0B,oBAA1B;AAEA;AACA;AACA;;AACA,OAAOC,qBAAP,MAAkC,+BAAlC;AACA,OAAOC,kBAAP,MAA+B,uBAA/B;AACA,OAAOC,sBAAP,MAAmC,6BAAnC;AAEA,eAAe,SAASC,qBAAT,OASX;AAAA,MAT2C;AAC9CC,IAAAA,UAD8C;AAE9CC,IAAAA,aAF8C;AAG9CC,IAAAA,QAH8C;AAI9CC,IAAAA,2BAA2B,GAAG,KAJgB;AAK9CC,IAAAA,sCAL8C;AAM9CC,IAAAA,sBAN8C;AAO9CC,IAAAA,mBAP8C;AAQ9CC,IAAAA;AAR8C,GAS3C;AACH,QAAM;AAAEC,IAAAA,gBAAF;AAAoBC,IAAAA;AAApB,MAAyCb,qBAAqB,EAApE;AAEAD,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAK,CAAEK,UAAP,EAAoB;AACnB;AACA;;AAED,QAAKQ,gBAAL,EAAwB;AACvBd,MAAAA,KAAK,CAAEH,EAAE,CAAE,yCAAF,CAAJ,CAAL;AACA;;AAED,QAAKkB,gBAAL,EAAwB;AACvBf,MAAAA,KAAK,CAAEH,EAAE,CAAE,uCAAF,CAAJ,CAAL;AACA;AACD,GAZQ,EAYN,CAAEiB,gBAAF,EAAoBR,UAApB,CAZM,CAAT;AAcA,QAAMU,kBAAkB,GACvBF,gBAAgB,IAAIJ,sCADrB;AAGA,SACC,8BACC,cAAC,WAAD;AAAa,IAAA,SAAS,EAAC;AAAvB,KAMC,cAAC,kBAAD;AAAoB,IAAA,SAAS,EAAG,CAAEJ;AAAlC,IAND,EAOC;AACC,mBAAc,CAAEA,UAAF,GAAe,IAAf,GAAsBW,SADrC;AAEC,IAAA,SAAS,EAAC;AAFX,KAIC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,IAAD;AAAM,IAAA,IAAI,EAAGnB;AAAb,IADD,OACgCD,EAAE,CAAE,YAAF,CADlC,CADD,EAKC,yBALD,EAOGmB,kBAAkB,IAAI,cAAC,OAAD,OAPzB,EASC,cAAC,sBAAD;AACC,IAAA,aAAa,EAAGT,aADjB;AAEC,IAAA,QAAQ,EAAGC,QAFZ;AAGC,IAAA,sBAAsB,EAAGG,sBAH1B;AAIC,IAAA,mBAAmB,EAAGC;AAJvB,IATD,EAgBC,yBAhBD,EAkBGH,2BAA2B,IAC5B,cAAC,MAAD;AACC,IAAA,OAAO,EAAC,UADT;AAEC,IAAA,OAAO,EAAGI;AAFX,KAIGhB,EAAE,CAAE,aAAF,CAJL,CAnBF,CAJD,CAPD,CADD,CADD;AA4CA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Placeholder, Button, Spinner } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { navigation, Icon } from '@wordpress/icons';\nimport { speak } from '@wordpress/a11y';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useNavigationEntities from '../../use-navigation-entities';\nimport PlaceholderPreview from './placeholder-preview';\nimport NavigationMenuSelector from '../navigation-menu-selector';\n\nexport default function NavigationPlaceholder( {\n\tisSelected,\n\tcurrentMenuId,\n\tclientId,\n\tcanUserCreateNavigationMenu = false,\n\tisResolvingCanUserCreateNavigationMenu,\n\tonSelectNavigationMenu,\n\tonSelectClassicMenu,\n\tonCreateEmpty,\n} ) {\n\tconst { isResolvingMenus, hasResolvedMenus } = useNavigationEntities();\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isResolvingMenus ) {\n\t\t\tspeak( __( 'Loading Navigation block setup options.' ) );\n\t\t}\n\n\t\tif ( hasResolvedMenus ) {\n\t\t\tspeak( __( 'Navigation block setup options ready.' ) );\n\t\t}\n\t}, [ isResolvingMenus, isSelected ] );\n\n\tconst isResolvingActions =\n\t\tisResolvingMenus && isResolvingCanUserCreateNavigationMenu;\n\n\treturn (\n\t\t<>\n\t\t\t<Placeholder className=\"wp-block-navigation-placeholder\">\n\t\t\t\t{\n\t\t\t\t\t// The <PlaceholderPreview> component is displayed conditionally via CSS depending on\n\t\t\t\t\t// whether the block is selected or not. This is achieved via CSS to avoid\n\t\t\t\t\t// component re-renders\n\t\t\t\t }\n\t\t\t\t<PlaceholderPreview isVisible={ ! isSelected } />\n\t\t\t\t<div\n\t\t\t\t\taria-hidden={ ! isSelected ? true : undefined }\n\t\t\t\t\tclassName=\"wp-block-navigation-placeholder__controls\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions\">\n\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions__indicator\">\n\t\t\t\t\t\t\t<Icon icon={ navigation } /> { __( 'Navigation' ) }\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<hr />\n\n\t\t\t\t\t\t{ isResolvingActions && <Spinner /> }\n\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tcurrentMenuId={ currentMenuId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<hr />\n\n\t\t\t\t\t\t{ canUserCreateNavigationMenu && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tonClick={ onCreateEmpty }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Start empty' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Placeholder>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/placeholder/index.js"],"names":["Placeholder","Button","Spinner","__","navigation","Icon","speak","useEffect","useNavigationEntities","PlaceholderPreview","NavigationMenuSelector","NavigationPlaceholder","isSelected","currentMenuId","clientId","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","onSelectNavigationMenu","onSelectClassicMenu","onCreateEmpty","isResolvingMenus","hasResolvedMenus","isResolvingActions","undefined"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,WAAT,EAAsBC,MAAtB,EAA8BC,OAA9B,QAA6C,uBAA7C;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,kBAAjC;AACA,SAASC,KAAT,QAAsB,iBAAtB;AACA,SAASC,SAAT,QAA0B,oBAA1B;AAEA;AACA;AACA;;AACA,OAAOC,qBAAP,MAAkC,+BAAlC;AACA,OAAOC,kBAAP,MAA+B,uBAA/B;AACA,OAAOC,sBAAP,MAAmC,6BAAnC;AAEA,eAAe,SAASC,qBAAT,OASX;AAAA,MAT2C;AAC9CC,IAAAA,UAD8C;AAE9CC,IAAAA,aAF8C;AAG9CC,IAAAA,QAH8C;AAI9CC,IAAAA,2BAA2B,GAAG,KAJgB;AAK9CC,IAAAA,sCAL8C;AAM9CC,IAAAA,sBAN8C;AAO9CC,IAAAA,mBAP8C;AAQ9CC,IAAAA;AAR8C,GAS3C;AACH,QAAM;AAAEC,IAAAA,gBAAF;AAAoBC,IAAAA;AAApB,MAAyCb,qBAAqB,EAApE;AAEAD,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAK,CAAEK,UAAP,EAAoB;AACnB;AACA;;AAED,QAAKQ,gBAAL,EAAwB;AACvBd,MAAAA,KAAK,CAAEH,EAAE,CAAE,yCAAF,CAAJ,CAAL;AACA;;AAED,QAAKkB,gBAAL,EAAwB;AACvBf,MAAAA,KAAK,CAAEH,EAAE,CAAE,uCAAF,CAAJ,CAAL;AACA;AACD,GAZQ,EAYN,CAAEkB,gBAAF,EAAoBD,gBAApB,EAAsCR,UAAtC,CAZM,CAAT;AAcA,QAAMU,kBAAkB,GACvBF,gBAAgB,IAAIJ,sCADrB;AAGA,SACC,8BACC,cAAC,WAAD;AAAa,IAAA,SAAS,EAAC;AAAvB,KAMC,cAAC,kBAAD;AAAoB,IAAA,SAAS,EAAG,CAAEJ;AAAlC,IAND,EAOC;AACC,mBAAc,CAAEA,UAAF,GAAe,IAAf,GAAsBW,SADrC;AAEC,IAAA,SAAS,EAAC;AAFX,KAIC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,IAAD;AAAM,IAAA,IAAI,EAAGnB;AAAb,IADD,OACgCD,EAAE,CAAE,YAAF,CADlC,CADD,EAKC,yBALD,EAOGmB,kBAAkB,IAAI,cAAC,OAAD,OAPzB,EASC,cAAC,sBAAD;AACC,IAAA,aAAa,EAAGT,aADjB;AAEC,IAAA,QAAQ,EAAGC,QAFZ;AAGC,IAAA,sBAAsB,EAAGG,sBAH1B;AAIC,IAAA,mBAAmB,EAAGC;AAJvB,IATD,EAgBC,yBAhBD,EAkBGH,2BAA2B,IAC5B,cAAC,MAAD;AACC,IAAA,OAAO,EAAC,UADT;AAEC,IAAA,OAAO,EAAGI;AAFX,KAIGhB,EAAE,CAAE,aAAF,CAJL,CAnBF,CAJD,CAPD,CADD,CADD;AA4CA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Placeholder, Button, Spinner } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { navigation, Icon } from '@wordpress/icons';\nimport { speak } from '@wordpress/a11y';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useNavigationEntities from '../../use-navigation-entities';\nimport PlaceholderPreview from './placeholder-preview';\nimport NavigationMenuSelector from '../navigation-menu-selector';\n\nexport default function NavigationPlaceholder( {\n\tisSelected,\n\tcurrentMenuId,\n\tclientId,\n\tcanUserCreateNavigationMenu = false,\n\tisResolvingCanUserCreateNavigationMenu,\n\tonSelectNavigationMenu,\n\tonSelectClassicMenu,\n\tonCreateEmpty,\n} ) {\n\tconst { isResolvingMenus, hasResolvedMenus } = useNavigationEntities();\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isResolvingMenus ) {\n\t\t\tspeak( __( 'Loading Navigation block setup options.' ) );\n\t\t}\n\n\t\tif ( hasResolvedMenus ) {\n\t\t\tspeak( __( 'Navigation block setup options ready.' ) );\n\t\t}\n\t}, [ hasResolvedMenus, isResolvingMenus, isSelected ] );\n\n\tconst isResolvingActions =\n\t\tisResolvingMenus && isResolvingCanUserCreateNavigationMenu;\n\n\treturn (\n\t\t<>\n\t\t\t<Placeholder className=\"wp-block-navigation-placeholder\">\n\t\t\t\t{\n\t\t\t\t\t// The <PlaceholderPreview> component is displayed conditionally via CSS depending on\n\t\t\t\t\t// whether the block is selected or not. This is achieved via CSS to avoid\n\t\t\t\t\t// component re-renders\n\t\t\t\t }\n\t\t\t\t<PlaceholderPreview isVisible={ ! isSelected } />\n\t\t\t\t<div\n\t\t\t\t\taria-hidden={ ! isSelected ? true : undefined }\n\t\t\t\t\tclassName=\"wp-block-navigation-placeholder__controls\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions\">\n\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions__indicator\">\n\t\t\t\t\t\t\t<Icon icon={ navigation } /> { __( 'Navigation' ) }\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<hr />\n\n\t\t\t\t\t\t{ isResolvingActions && <Spinner /> }\n\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tcurrentMenuId={ currentMenuId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<hr />\n\n\t\t\t\t\t\t{ canUserCreateNavigationMenu && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tonClick={ onCreateEmpty }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Start empty' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Placeholder>\n\t\t</>\n\t);\n}\n"]}
@@ -104,7 +104,7 @@ export default function UnsavedInnerBlocks(_ref) {
104
104
  }
105
105
 
106
106
  createNavigationMenu(null, blocks);
107
- }, [isDisabled, isSaving, hasResolvedDraftNavigationMenus, hasResolvedNavigationMenus, innerBlocksAreDirty, hasSelection]);
107
+ }, [createNavigationMenu, isDisabled, isSaving, hasResolvedDraftNavigationMenus, hasResolvedNavigationMenus, innerBlocksAreDirty, hasSelection]);
108
108
  const Wrapper = isSaving ? Disabled : 'div';
109
109
  return createElement(Wrapper, innerBlocksProps);
110
110
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/unsaved-inner-blocks.js"],"names":["useInnerBlocksProps","Disabled","store","coreStore","useSelect","useContext","useEffect","useRef","useMemo","useNavigationMenu","areBlocksDirty","EMPTY_OBJECT","DRAFT_MENU_PARAMS","status","per_page","DEFAULT_BLOCK","name","ALLOWED_BLOCKS","UnsavedInnerBlocks","blocks","createNavigationMenu","hasSelection","originalBlocks","current","innerBlocksAreDirty","shouldDirectInsert","every","isDisabled","Context","innerBlocksProps","className","renderAppender","undefined","allowedBlocks","__experimentalDefaultBlock","__experimentalDirectInsert","isSaving","hasResolvedDraftNavigationMenus","select","getEntityRecords","hasFinishedResolution","isSavingEntityRecord","draftNavigationMenus","hasResolvedNavigationMenus","Wrapper"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useInnerBlocksProps } from '@wordpress/block-editor';\nimport { Disabled } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useContext, useEffect, useRef, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport { areBlocksDirty } from './are-blocks-dirty';\n\nconst EMPTY_OBJECT = {};\nconst DRAFT_MENU_PARAMS = [\n\t'postType',\n\t'wp_navigation',\n\t{ status: 'draft', per_page: -1 },\n];\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n};\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\nexport default function UnsavedInnerBlocks( {\n\tblocks,\n\tcreateNavigationMenu,\n\thasSelection,\n} ) {\n\tconst originalBlocks = useRef();\n\n\tuseEffect( () => {\n\t\t// Initially store the uncontrolled inner blocks for\n\t\t// dirty state comparison.\n\t\tif ( ! originalBlocks?.current ) {\n\t\t\toriginalBlocks.current = blocks;\n\t\t}\n\t}, [ blocks ] );\n\n\t// If the current inner blocks are different from the original inner blocks\n\t// from the post content then the user has made changes to the inner blocks.\n\t// At this point the inner blocks can be considered \"dirty\".\n\t// Note: referential equality is not sufficient for comparison as the inner blocks\n\t// of the page list are controlled and may be updated async due to syncing with\n\t// entity records. As a result we need to perform a deep equality check skipping\n\t// the page list's inner blocks.\n\tconst innerBlocksAreDirty = areBlocksDirty(\n\t\toriginalBlocks?.current,\n\t\tblocks\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// The block will be disabled in a block preview, use this as a way of\n\t// avoiding the side-effects of this component for block previews.\n\tconst isDisabled = useContext( Disabled.Context );\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\trenderAppender: hasSelection ? undefined : false,\n\t\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\t\t__experimentalDefaultBlock: DEFAULT_BLOCK,\n\t\t\t__experimentalDirectInsert: shouldDirectInsert,\n\t\t}\n\t);\n\n\tconst { isSaving, hasResolvedDraftNavigationMenus } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( isDisabled ) {\n\t\t\t\treturn EMPTY_OBJECT;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tgetEntityRecords,\n\t\t\t\thasFinishedResolution,\n\t\t\t\tisSavingEntityRecord,\n\t\t\t} = select( coreStore );\n\n\t\t\treturn {\n\t\t\t\tisSaving: isSavingEntityRecord( 'postType', 'wp_navigation' ),\n\t\t\t\tdraftNavigationMenus: getEntityRecords(\n\t\t\t\t\t// This is needed so that hasResolvedDraftNavigationMenus gives the correct status.\n\t\t\t\t\t...DRAFT_MENU_PARAMS\n\t\t\t\t),\n\t\t\t\thasResolvedDraftNavigationMenus: hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\tDRAFT_MENU_PARAMS\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ isDisabled ]\n\t);\n\n\tconst { hasResolvedNavigationMenus } = useNavigationMenu();\n\n\t// Automatically save the uncontrolled blocks.\n\tuseEffect( () => {\n\t\t// The block will be disabled when used in a BlockPreview.\n\t\t// In this case avoid automatic creation of a wp_navigation post.\n\t\t// Otherwise the user will be spammed with lots of menus!\n\t\t//\n\t\t// Also ensure other navigation menus have loaded so an\n\t\t// accurate name can be created.\n\t\t//\n\t\t// Don't try saving when another save is already\n\t\t// in progress.\n\t\t//\n\t\t// And finally only create the menu when the block is selected,\n\t\t// which is an indication they want to start editing.\n\t\tif (\n\t\t\tisDisabled ||\n\t\t\tisSaving ||\n\t\t\t! hasResolvedDraftNavigationMenus ||\n\t\t\t! hasResolvedNavigationMenus ||\n\t\t\t! hasSelection ||\n\t\t\t! innerBlocksAreDirty\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tcreateNavigationMenu( null, blocks );\n\t}, [\n\t\tisDisabled,\n\t\tisSaving,\n\t\thasResolvedDraftNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tinnerBlocksAreDirty,\n\t\thasSelection,\n\t] );\n\n\tconst Wrapper = isSaving ? Disabled : 'div';\n\n\treturn <Wrapper { ...innerBlocksProps } />;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/unsaved-inner-blocks.js"],"names":["useInnerBlocksProps","Disabled","store","coreStore","useSelect","useContext","useEffect","useRef","useMemo","useNavigationMenu","areBlocksDirty","EMPTY_OBJECT","DRAFT_MENU_PARAMS","status","per_page","DEFAULT_BLOCK","name","ALLOWED_BLOCKS","UnsavedInnerBlocks","blocks","createNavigationMenu","hasSelection","originalBlocks","current","innerBlocksAreDirty","shouldDirectInsert","every","isDisabled","Context","innerBlocksProps","className","renderAppender","undefined","allowedBlocks","__experimentalDefaultBlock","__experimentalDirectInsert","isSaving","hasResolvedDraftNavigationMenus","select","getEntityRecords","hasFinishedResolution","isSavingEntityRecord","draftNavigationMenus","hasResolvedNavigationMenus","Wrapper"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useInnerBlocksProps } from '@wordpress/block-editor';\nimport { Disabled } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useContext, useEffect, useRef, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport { areBlocksDirty } from './are-blocks-dirty';\n\nconst EMPTY_OBJECT = {};\nconst DRAFT_MENU_PARAMS = [\n\t'postType',\n\t'wp_navigation',\n\t{ status: 'draft', per_page: -1 },\n];\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n};\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\nexport default function UnsavedInnerBlocks( {\n\tblocks,\n\tcreateNavigationMenu,\n\thasSelection,\n} ) {\n\tconst originalBlocks = useRef();\n\n\tuseEffect( () => {\n\t\t// Initially store the uncontrolled inner blocks for\n\t\t// dirty state comparison.\n\t\tif ( ! originalBlocks?.current ) {\n\t\t\toriginalBlocks.current = blocks;\n\t\t}\n\t}, [ blocks ] );\n\n\t// If the current inner blocks are different from the original inner blocks\n\t// from the post content then the user has made changes to the inner blocks.\n\t// At this point the inner blocks can be considered \"dirty\".\n\t// Note: referential equality is not sufficient for comparison as the inner blocks\n\t// of the page list are controlled and may be updated async due to syncing with\n\t// entity records. As a result we need to perform a deep equality check skipping\n\t// the page list's inner blocks.\n\tconst innerBlocksAreDirty = areBlocksDirty(\n\t\toriginalBlocks?.current,\n\t\tblocks\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// The block will be disabled in a block preview, use this as a way of\n\t// avoiding the side-effects of this component for block previews.\n\tconst isDisabled = useContext( Disabled.Context );\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\trenderAppender: hasSelection ? undefined : false,\n\t\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\t\t__experimentalDefaultBlock: DEFAULT_BLOCK,\n\t\t\t__experimentalDirectInsert: shouldDirectInsert,\n\t\t}\n\t);\n\n\tconst { isSaving, hasResolvedDraftNavigationMenus } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( isDisabled ) {\n\t\t\t\treturn EMPTY_OBJECT;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tgetEntityRecords,\n\t\t\t\thasFinishedResolution,\n\t\t\t\tisSavingEntityRecord,\n\t\t\t} = select( coreStore );\n\n\t\t\treturn {\n\t\t\t\tisSaving: isSavingEntityRecord( 'postType', 'wp_navigation' ),\n\t\t\t\tdraftNavigationMenus: getEntityRecords(\n\t\t\t\t\t// This is needed so that hasResolvedDraftNavigationMenus gives the correct status.\n\t\t\t\t\t...DRAFT_MENU_PARAMS\n\t\t\t\t),\n\t\t\t\thasResolvedDraftNavigationMenus: hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\tDRAFT_MENU_PARAMS\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ isDisabled ]\n\t);\n\n\tconst { hasResolvedNavigationMenus } = useNavigationMenu();\n\n\t// Automatically save the uncontrolled blocks.\n\tuseEffect( () => {\n\t\t// The block will be disabled when used in a BlockPreview.\n\t\t// In this case avoid automatic creation of a wp_navigation post.\n\t\t// Otherwise the user will be spammed with lots of menus!\n\t\t//\n\t\t// Also ensure other navigation menus have loaded so an\n\t\t// accurate name can be created.\n\t\t//\n\t\t// Don't try saving when another save is already\n\t\t// in progress.\n\t\t//\n\t\t// And finally only create the menu when the block is selected,\n\t\t// which is an indication they want to start editing.\n\t\tif (\n\t\t\tisDisabled ||\n\t\t\tisSaving ||\n\t\t\t! hasResolvedDraftNavigationMenus ||\n\t\t\t! hasResolvedNavigationMenus ||\n\t\t\t! hasSelection ||\n\t\t\t! innerBlocksAreDirty\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tcreateNavigationMenu( null, blocks );\n\t}, [\n\t\tcreateNavigationMenu,\n\t\tisDisabled,\n\t\tisSaving,\n\t\thasResolvedDraftNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tinnerBlocksAreDirty,\n\t\thasSelection,\n\t] );\n\n\tconst Wrapper = isSaving ? Disabled : 'div';\n\n\treturn <Wrapper { ...innerBlocksProps } />;\n}\n"]}
@@ -122,7 +122,7 @@ function useConvertClassicToBlockMenu(clientId) {
122
122
  cause: err
123
123
  });
124
124
  });
125
- }, []);
125
+ }, [convertClassicMenuToBlockMenu]);
126
126
  return {
127
127
  convert,
128
128
  status,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/use-convert-classic-menu-to-block-menu.js"],"names":["useRegistry","useDispatch","store","coreStore","useState","useCallback","__","sprintf","useCreateNavigationMenu","menuItemsToBlocks","CLASSIC_MENU_CONVERSION_SUCCESS","CLASSIC_MENU_CONVERSION_ERROR","CLASSIC_MENU_CONVERSION_PENDING","CLASSIC_MENU_CONVERSION_IDLE","classicMenuBeingConvertedId","useConvertClassicToBlockMenu","clientId","create","createNavigationMenu","registry","editEntityRecord","status","setStatus","error","setError","convertClassicMenuToBlockMenu","menuId","menuName","postStatus","navigationMenu","classicMenuItems","resolveSelect","getMenuItems","menus","per_page","context","err","Error","cause","innerBlocks","id","throwOnError","convert","then","catch","message"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRegistry, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState, useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useCreateNavigationMenu from './use-create-navigation-menu';\nimport menuItemsToBlocks from '../menu-items-to-blocks';\n\nexport const CLASSIC_MENU_CONVERSION_SUCCESS = 'success';\nexport const CLASSIC_MENU_CONVERSION_ERROR = 'error';\nexport const CLASSIC_MENU_CONVERSION_PENDING = 'pending';\nexport const CLASSIC_MENU_CONVERSION_IDLE = 'idle';\n\n// This is needed to ensure that multiple components using this hook\n// do not import the same classic menu twice.\nlet classicMenuBeingConvertedId = null;\n\nfunction useConvertClassicToBlockMenu( clientId ) {\n\t/*\n\t * The wp_navigation post is created as a draft so the changes on the frontend and\n\t * the site editor are not permanent without a save interaction done by the user.\n\t */\n\tconst { create: createNavigationMenu } = useCreateNavigationMenu(\n\t\tclientId,\n\t\t'draft'\n\t);\n\tconst registry = useRegistry();\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst [ status, setStatus ] = useState( CLASSIC_MENU_CONVERSION_IDLE );\n\tconst [ error, setError ] = useState( null );\n\n\tasync function convertClassicMenuToBlockMenu(\n\t\tmenuId,\n\t\tmenuName,\n\t\tpostStatus = 'publish'\n\t) {\n\t\tlet navigationMenu;\n\t\tlet classicMenuItems;\n\n\t\t// 1. Fetch the classic Menu items.\n\t\ttry {\n\t\t\tclassicMenuItems = await registry\n\t\t\t\t.resolveSelect( coreStore )\n\t\t\t\t.getMenuItems( {\n\t\t\t\t\tmenus: menuId,\n\t\t\t\t\tper_page: -1,\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t} );\n\t\t} catch ( err ) {\n\t\t\tthrow new Error(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t__( `Unable to fetch classic menu \"%s\" from API.` ),\n\t\t\t\t\tmenuName\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\tcause: err,\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\t// Handle offline response which resolves to `null`.\n\t\tif ( classicMenuItems === null ) {\n\t\t\tthrow new Error(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t__( `Unable to fetch classic menu \"%s\" from API.` ),\n\t\t\t\t\tmenuName\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\t// 2. Convert the classic items into blocks.\n\t\tconst { innerBlocks } = menuItemsToBlocks( classicMenuItems );\n\n\t\t// 3. Create the `wp_navigation` Post with the blocks.\n\t\ttry {\n\t\t\tnavigationMenu = await createNavigationMenu(\n\t\t\t\tmenuName,\n\t\t\t\tinnerBlocks,\n\t\t\t\tpostStatus\n\t\t\t);\n\n\t\t\t/**\n\t\t\t * Immediately trigger editEntityRecord to change the wp_navigation post status to 'publish'.\n\t\t\t * This status change causes the menu to be displayed on the front of the site and sets the post state to be \"dirty\".\n\t\t\t * The problem being solved is if saveEditedEntityRecord was used here, the menu would be updated on the frontend and the editor _automatically_,\n\t\t\t * without user interaction.\n\t\t\t * If the user abandons the site editor without saving, there would still be a wp_navigation post created as draft.\n\t\t\t */\n\t\t\tawait editEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_navigation',\n\t\t\t\tnavigationMenu.id,\n\t\t\t\t{\n\t\t\t\t\tstatus: postStatus,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\t\t} catch ( err ) {\n\t\t\tthrow new Error(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t__( `Unable to create Navigation Menu \"%s\".` ),\n\t\t\t\t\tmenuName\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\tcause: err,\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\treturn navigationMenu;\n\t}\n\n\tconst convert = useCallback( async ( menuId, menuName, postStatus ) => {\n\t\t// Check whether this classic menu is being imported already.\n\t\tif ( classicMenuBeingConvertedId === menuId ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Set the ID for the currently importing classic menu.\n\t\tclassicMenuBeingConvertedId = menuId;\n\n\t\tif ( ! menuId || ! menuName ) {\n\t\t\tsetError( 'Unable to convert menu. Missing menu details.' );\n\t\t\tsetStatus( CLASSIC_MENU_CONVERSION_ERROR );\n\t\t\treturn;\n\t\t}\n\n\t\tsetStatus( CLASSIC_MENU_CONVERSION_PENDING );\n\t\tsetError( null );\n\n\t\treturn await convertClassicMenuToBlockMenu(\n\t\t\tmenuId,\n\t\t\tmenuName,\n\t\t\tpostStatus\n\t\t)\n\t\t\t.then( ( navigationMenu ) => {\n\t\t\t\tsetStatus( CLASSIC_MENU_CONVERSION_SUCCESS );\n\t\t\t\t// Reset the ID for the currently importing classic menu.\n\t\t\t\tclassicMenuBeingConvertedId = null;\n\t\t\t\treturn navigationMenu;\n\t\t\t} )\n\t\t\t.catch( ( err ) => {\n\t\t\t\tsetError( err?.message );\n\t\t\t\t// Reset the ID for the currently importing classic menu.\n\t\t\t\tsetStatus( CLASSIC_MENU_CONVERSION_ERROR );\n\n\t\t\t\t// Reset the ID for the currently importing classic menu.\n\t\t\t\tclassicMenuBeingConvertedId = null;\n\n\t\t\t\t// Rethrow error for debugging.\n\t\t\t\tthrow new Error(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t\t__( `Unable to create Navigation Menu \"%s\".` ),\n\t\t\t\t\t\tmenuName\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tcause: err,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} );\n\t}, [] );\n\n\treturn {\n\t\tconvert,\n\t\tstatus,\n\t\terror,\n\t};\n}\n\nexport default useConvertClassicToBlockMenu;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/use-convert-classic-menu-to-block-menu.js"],"names":["useRegistry","useDispatch","store","coreStore","useState","useCallback","__","sprintf","useCreateNavigationMenu","menuItemsToBlocks","CLASSIC_MENU_CONVERSION_SUCCESS","CLASSIC_MENU_CONVERSION_ERROR","CLASSIC_MENU_CONVERSION_PENDING","CLASSIC_MENU_CONVERSION_IDLE","classicMenuBeingConvertedId","useConvertClassicToBlockMenu","clientId","create","createNavigationMenu","registry","editEntityRecord","status","setStatus","error","setError","convertClassicMenuToBlockMenu","menuId","menuName","postStatus","navigationMenu","classicMenuItems","resolveSelect","getMenuItems","menus","per_page","context","err","Error","cause","innerBlocks","id","throwOnError","convert","then","catch","message"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRegistry, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState, useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useCreateNavigationMenu from './use-create-navigation-menu';\nimport menuItemsToBlocks from '../menu-items-to-blocks';\n\nexport const CLASSIC_MENU_CONVERSION_SUCCESS = 'success';\nexport const CLASSIC_MENU_CONVERSION_ERROR = 'error';\nexport const CLASSIC_MENU_CONVERSION_PENDING = 'pending';\nexport const CLASSIC_MENU_CONVERSION_IDLE = 'idle';\n\n// This is needed to ensure that multiple components using this hook\n// do not import the same classic menu twice.\nlet classicMenuBeingConvertedId = null;\n\nfunction useConvertClassicToBlockMenu( clientId ) {\n\t/*\n\t * The wp_navigation post is created as a draft so the changes on the frontend and\n\t * the site editor are not permanent without a save interaction done by the user.\n\t */\n\tconst { create: createNavigationMenu } = useCreateNavigationMenu(\n\t\tclientId,\n\t\t'draft'\n\t);\n\tconst registry = useRegistry();\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst [ status, setStatus ] = useState( CLASSIC_MENU_CONVERSION_IDLE );\n\tconst [ error, setError ] = useState( null );\n\n\tasync function convertClassicMenuToBlockMenu(\n\t\tmenuId,\n\t\tmenuName,\n\t\tpostStatus = 'publish'\n\t) {\n\t\tlet navigationMenu;\n\t\tlet classicMenuItems;\n\n\t\t// 1. Fetch the classic Menu items.\n\t\ttry {\n\t\t\tclassicMenuItems = await registry\n\t\t\t\t.resolveSelect( coreStore )\n\t\t\t\t.getMenuItems( {\n\t\t\t\t\tmenus: menuId,\n\t\t\t\t\tper_page: -1,\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t} );\n\t\t} catch ( err ) {\n\t\t\tthrow new Error(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t__( `Unable to fetch classic menu \"%s\" from API.` ),\n\t\t\t\t\tmenuName\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\tcause: err,\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\t// Handle offline response which resolves to `null`.\n\t\tif ( classicMenuItems === null ) {\n\t\t\tthrow new Error(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t__( `Unable to fetch classic menu \"%s\" from API.` ),\n\t\t\t\t\tmenuName\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\t// 2. Convert the classic items into blocks.\n\t\tconst { innerBlocks } = menuItemsToBlocks( classicMenuItems );\n\n\t\t// 3. Create the `wp_navigation` Post with the blocks.\n\t\ttry {\n\t\t\tnavigationMenu = await createNavigationMenu(\n\t\t\t\tmenuName,\n\t\t\t\tinnerBlocks,\n\t\t\t\tpostStatus\n\t\t\t);\n\n\t\t\t/**\n\t\t\t * Immediately trigger editEntityRecord to change the wp_navigation post status to 'publish'.\n\t\t\t * This status change causes the menu to be displayed on the front of the site and sets the post state to be \"dirty\".\n\t\t\t * The problem being solved is if saveEditedEntityRecord was used here, the menu would be updated on the frontend and the editor _automatically_,\n\t\t\t * without user interaction.\n\t\t\t * If the user abandons the site editor without saving, there would still be a wp_navigation post created as draft.\n\t\t\t */\n\t\t\tawait editEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_navigation',\n\t\t\t\tnavigationMenu.id,\n\t\t\t\t{\n\t\t\t\t\tstatus: postStatus,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\t\t} catch ( err ) {\n\t\t\tthrow new Error(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t__( `Unable to create Navigation Menu \"%s\".` ),\n\t\t\t\t\tmenuName\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\tcause: err,\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\treturn navigationMenu;\n\t}\n\n\tconst convert = useCallback(\n\t\tasync ( menuId, menuName, postStatus ) => {\n\t\t\t// Check whether this classic menu is being imported already.\n\t\t\tif ( classicMenuBeingConvertedId === menuId ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Set the ID for the currently importing classic menu.\n\t\t\tclassicMenuBeingConvertedId = menuId;\n\n\t\t\tif ( ! menuId || ! menuName ) {\n\t\t\t\tsetError( 'Unable to convert menu. Missing menu details.' );\n\t\t\t\tsetStatus( CLASSIC_MENU_CONVERSION_ERROR );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetStatus( CLASSIC_MENU_CONVERSION_PENDING );\n\t\t\tsetError( null );\n\n\t\t\treturn await convertClassicMenuToBlockMenu(\n\t\t\t\tmenuId,\n\t\t\t\tmenuName,\n\t\t\t\tpostStatus\n\t\t\t)\n\t\t\t\t.then( ( navigationMenu ) => {\n\t\t\t\t\tsetStatus( CLASSIC_MENU_CONVERSION_SUCCESS );\n\t\t\t\t\t// Reset the ID for the currently importing classic menu.\n\t\t\t\t\tclassicMenuBeingConvertedId = null;\n\t\t\t\t\treturn navigationMenu;\n\t\t\t\t} )\n\t\t\t\t.catch( ( err ) => {\n\t\t\t\t\tsetError( err?.message );\n\t\t\t\t\t// Reset the ID for the currently importing classic menu.\n\t\t\t\t\tsetStatus( CLASSIC_MENU_CONVERSION_ERROR );\n\n\t\t\t\t\t// Reset the ID for the currently importing classic menu.\n\t\t\t\t\tclassicMenuBeingConvertedId = null;\n\n\t\t\t\t\t// Rethrow error for debugging.\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t\t\t__( `Unable to create Navigation Menu \"%s\".` ),\n\t\t\t\t\t\t\tmenuName\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcause: err,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t},\n\t\t[ convertClassicMenuToBlockMenu ]\n\t);\n\n\treturn {\n\t\tconvert,\n\t\tstatus,\n\t\terror,\n\t};\n}\n\nexport default useConvertClassicToBlockMenu;\n"]}
@@ -78,7 +78,7 @@ export default function useCreateNavigationMenu(clientId) {
78
78
  cause: err
79
79
  });
80
80
  });
81
- }, [serialize, saveEntityRecord]);
81
+ }, [serialize, saveEntityRecord, editEntityRecord, generateDefaultTitle]);
82
82
  return {
83
83
  create,
84
84
  status,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/use-create-navigation-menu.js"],"names":["serialize","store","coreStore","useDispatch","useState","useCallback","useGenerateDefaultNavigationTitle","CREATE_NAVIGATION_MENU_SUCCESS","CREATE_NAVIGATION_MENU_ERROR","CREATE_NAVIGATION_MENU_PENDING","CREATE_NAVIGATION_MENU_IDLE","useCreateNavigationMenu","clientId","status","setStatus","value","setValue","error","setError","saveEntityRecord","editEntityRecord","generateDefaultTitle","create","title","blocks","postStatus","Error","catch","err","message","cause","record","content","then","response","id","isIdle","isPending","isSuccess","isError"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { serialize } from '@wordpress/blocks';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useGenerateDefaultNavigationTitle from './use-generate-default-navigation-title';\n\nexport const CREATE_NAVIGATION_MENU_SUCCESS = 'success';\nexport const CREATE_NAVIGATION_MENU_ERROR = 'error';\nexport const CREATE_NAVIGATION_MENU_PENDING = 'pending';\nexport const CREATE_NAVIGATION_MENU_IDLE = 'idle';\n\nexport default function useCreateNavigationMenu( clientId ) {\n\tconst [ status, setStatus ] = useState( CREATE_NAVIGATION_MENU_IDLE );\n\tconst [ value, setValue ] = useState( null );\n\tconst [ error, setError ] = useState( null );\n\n\tconst { saveEntityRecord, editEntityRecord } = useDispatch( coreStore );\n\tconst generateDefaultTitle = useGenerateDefaultNavigationTitle( clientId );\n\n\t// This callback uses data from the two placeholder steps and only creates\n\t// a new navigation menu when the user completes the final step.\n\tconst create = useCallback(\n\t\tasync ( title = null, blocks = [], postStatus ) => {\n\t\t\t// Guard against creating Navigations without a title.\n\t\t\t// Note you can pass no title, but if one is passed it must be\n\t\t\t// a string otherwise the title may end up being empty.\n\t\t\tif ( title && typeof title !== 'string' ) {\n\t\t\t\tsetError(\n\t\t\t\t\t'Invalid title supplied when creating Navigation Menu.'\n\t\t\t\t);\n\t\t\t\tsetStatus( CREATE_NAVIGATION_MENU_ERROR );\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Value of supplied title argument was not a string.`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tsetStatus( CREATE_NAVIGATION_MENU_PENDING );\n\t\t\tsetValue( null );\n\t\t\tsetError( null );\n\n\t\t\tif ( ! title ) {\n\t\t\t\ttitle = await generateDefaultTitle().catch( ( err ) => {\n\t\t\t\t\tsetError( err?.message );\n\t\t\t\t\tsetStatus( CREATE_NAVIGATION_MENU_ERROR );\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t'Failed to create title when saving new Navigation Menu.',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcause: err,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t}\n\t\t\tconst record = {\n\t\t\t\ttitle,\n\t\t\t\tcontent: serialize( blocks ),\n\t\t\t\tstatus: postStatus,\n\t\t\t};\n\n\t\t\t// Return affords ability to await on this function directly\n\t\t\treturn saveEntityRecord( 'postType', 'wp_navigation', record )\n\t\t\t\t.then( ( response ) => {\n\t\t\t\t\tsetValue( response );\n\t\t\t\t\tsetStatus( CREATE_NAVIGATION_MENU_SUCCESS );\n\n\t\t\t\t\t// Set the status to publish so that the Navigation block\n\t\t\t\t\t// shows up in the multi entity save flow.\n\t\t\t\t\tif ( postStatus !== 'publish' ) {\n\t\t\t\t\t\teditEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t'wp_navigation',\n\t\t\t\t\t\t\tresponse.id,\n\t\t\t\t\t\t\t{ status: 'publish' }\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn response;\n\t\t\t\t} )\n\t\t\t\t.catch( ( err ) => {\n\t\t\t\t\tsetError( err?.message );\n\t\t\t\t\tsetStatus( CREATE_NAVIGATION_MENU_ERROR );\n\t\t\t\t\tthrow new Error( 'Unable to save new Navigation Menu', {\n\t\t\t\t\t\tcause: err,\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t},\n\t\t[ serialize, saveEntityRecord ]\n\t);\n\n\treturn {\n\t\tcreate,\n\t\tstatus,\n\t\tvalue,\n\t\terror,\n\t\tisIdle: status === CREATE_NAVIGATION_MENU_IDLE,\n\t\tisPending: status === CREATE_NAVIGATION_MENU_PENDING,\n\t\tisSuccess: status === CREATE_NAVIGATION_MENU_SUCCESS,\n\t\tisError: status === CREATE_NAVIGATION_MENU_ERROR,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/use-create-navigation-menu.js"],"names":["serialize","store","coreStore","useDispatch","useState","useCallback","useGenerateDefaultNavigationTitle","CREATE_NAVIGATION_MENU_SUCCESS","CREATE_NAVIGATION_MENU_ERROR","CREATE_NAVIGATION_MENU_PENDING","CREATE_NAVIGATION_MENU_IDLE","useCreateNavigationMenu","clientId","status","setStatus","value","setValue","error","setError","saveEntityRecord","editEntityRecord","generateDefaultTitle","create","title","blocks","postStatus","Error","catch","err","message","cause","record","content","then","response","id","isIdle","isPending","isSuccess","isError"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { serialize } from '@wordpress/blocks';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useGenerateDefaultNavigationTitle from './use-generate-default-navigation-title';\n\nexport const CREATE_NAVIGATION_MENU_SUCCESS = 'success';\nexport const CREATE_NAVIGATION_MENU_ERROR = 'error';\nexport const CREATE_NAVIGATION_MENU_PENDING = 'pending';\nexport const CREATE_NAVIGATION_MENU_IDLE = 'idle';\n\nexport default function useCreateNavigationMenu( clientId ) {\n\tconst [ status, setStatus ] = useState( CREATE_NAVIGATION_MENU_IDLE );\n\tconst [ value, setValue ] = useState( null );\n\tconst [ error, setError ] = useState( null );\n\n\tconst { saveEntityRecord, editEntityRecord } = useDispatch( coreStore );\n\tconst generateDefaultTitle = useGenerateDefaultNavigationTitle( clientId );\n\n\t// This callback uses data from the two placeholder steps and only creates\n\t// a new navigation menu when the user completes the final step.\n\tconst create = useCallback(\n\t\tasync ( title = null, blocks = [], postStatus ) => {\n\t\t\t// Guard against creating Navigations without a title.\n\t\t\t// Note you can pass no title, but if one is passed it must be\n\t\t\t// a string otherwise the title may end up being empty.\n\t\t\tif ( title && typeof title !== 'string' ) {\n\t\t\t\tsetError(\n\t\t\t\t\t'Invalid title supplied when creating Navigation Menu.'\n\t\t\t\t);\n\t\t\t\tsetStatus( CREATE_NAVIGATION_MENU_ERROR );\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Value of supplied title argument was not a string.`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tsetStatus( CREATE_NAVIGATION_MENU_PENDING );\n\t\t\tsetValue( null );\n\t\t\tsetError( null );\n\n\t\t\tif ( ! title ) {\n\t\t\t\ttitle = await generateDefaultTitle().catch( ( err ) => {\n\t\t\t\t\tsetError( err?.message );\n\t\t\t\t\tsetStatus( CREATE_NAVIGATION_MENU_ERROR );\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t'Failed to create title when saving new Navigation Menu.',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcause: err,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t}\n\t\t\tconst record = {\n\t\t\t\ttitle,\n\t\t\t\tcontent: serialize( blocks ),\n\t\t\t\tstatus: postStatus,\n\t\t\t};\n\n\t\t\t// Return affords ability to await on this function directly\n\t\t\treturn saveEntityRecord( 'postType', 'wp_navigation', record )\n\t\t\t\t.then( ( response ) => {\n\t\t\t\t\tsetValue( response );\n\t\t\t\t\tsetStatus( CREATE_NAVIGATION_MENU_SUCCESS );\n\n\t\t\t\t\t// Set the status to publish so that the Navigation block\n\t\t\t\t\t// shows up in the multi entity save flow.\n\t\t\t\t\tif ( postStatus !== 'publish' ) {\n\t\t\t\t\t\teditEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t'wp_navigation',\n\t\t\t\t\t\t\tresponse.id,\n\t\t\t\t\t\t\t{ status: 'publish' }\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn response;\n\t\t\t\t} )\n\t\t\t\t.catch( ( err ) => {\n\t\t\t\t\tsetError( err?.message );\n\t\t\t\t\tsetStatus( CREATE_NAVIGATION_MENU_ERROR );\n\t\t\t\t\tthrow new Error( 'Unable to save new Navigation Menu', {\n\t\t\t\t\t\tcause: err,\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t},\n\t\t[ serialize, saveEntityRecord, editEntityRecord, generateDefaultTitle ]\n\t);\n\n\treturn {\n\t\tcreate,\n\t\tstatus,\n\t\tvalue,\n\t\terror,\n\t\tisIdle: status === CREATE_NAVIGATION_MENU_IDLE,\n\t\tisPending: status === CREATE_NAVIGATION_MENU_PENDING,\n\t\tisSuccess: status === CREATE_NAVIGATION_MENU_SUCCESS,\n\t\tisError: status === CREATE_NAVIGATION_MENU_ERROR,\n\t};\n}\n"]}
@@ -52,6 +52,6 @@ export default function useGenerateDefaultNavigationTitle(clientId) {
52
52
 
53
53
  const titleWithCount = matchingMenuTitleCount > 0 ? `${title} ${matchingMenuTitleCount + 1}` : title;
54
54
  return titleWithCount || '';
55
- }, [isDisabled, area]);
55
+ }, [isDisabled, area, registry]);
56
56
  }
57
57
  //# sourceMappingURL=use-generate-default-navigation-title.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/use-generate-default-navigation-title.js"],"names":["Disabled","store","coreStore","useRegistry","useContext","useCallback","__","sprintf","useTemplatePartAreaLabel","DRAFT_MENU_PARAMS","status","per_page","PUBLISHED_MENU_PARAMS","useGenerateDefaultNavigationTitle","clientId","isDisabled","Context","area","undefined","registry","getEntityRecords","resolveSelect","draftNavigationMenus","navigationMenus","Promise","all","title","matchingMenuTitleCount","reduce","count","menu","raw","startsWith","titleWithCount"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAT,QAAyB,uBAAzB;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AACA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SAASC,UAAT,EAAqBC,WAArB,QAAwC,oBAAxC;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AAEA;AACA;AACA;;AACA,OAAOC,wBAAP,MAAqC,iCAArC;AAEA,MAAMC,iBAAiB,GAAG,CACzB,UADyB,EAEzB,eAFyB,EAGzB;AAAEC,EAAAA,MAAM,EAAE,OAAV;AAAmBC,EAAAA,QAAQ,EAAE,CAAC;AAA9B,CAHyB,CAA1B;AAMA,MAAMC,qBAAqB,GAAG,CAC7B,UAD6B,EAE7B,eAF6B,EAG7B;AAAED,EAAAA,QAAQ,EAAE,CAAC,CAAb;AAAgBD,EAAAA,MAAM,EAAE;AAAxB,CAH6B,CAA9B;AAMA,eAAe,SAASG,iCAAT,CAA4CC,QAA5C,EAAuD;AACrE;AACA;AACA,QAAMC,UAAU,GAAGX,UAAU,CAAEJ,QAAQ,CAACgB,OAAX,CAA7B,CAHqE,CAKrE;AACA;AACA;;AACA,QAAMC,IAAI,GAAGT,wBAAwB,CAAEO,UAAU,GAAGG,SAAH,GAAeJ,QAA3B,CAArC;AAEA,QAAMK,QAAQ,GAAGhB,WAAW,EAA5B;AACA,SAAOE,WAAW,CAAE,YAAY;AAC/B;AACA;AACA,QAAKU,UAAL,EAAkB;AACjB,aAAO,EAAP;AACA;;AACD,UAAM;AAAEK,MAAAA;AAAF,QAAuBD,QAAQ,CAACE,aAAT,CAAwBnB,SAAxB,CAA7B;AAEA,UAAM,CAAEoB,oBAAF,EAAwBC,eAAxB,IAA4C,MAAMC,OAAO,CAACC,GAAR,CAAa,CACpEL,gBAAgB,CAAE,GAAGX,iBAAL,CADoD,EAEpEW,gBAAgB,CAAE,GAAGR,qBAAL,CAFoD,CAAb,CAAxD;AAKA,UAAMc,KAAK,GAAGT,IAAI,GACfV,OAAO,EACP;AACAD,IAAAA,EAAE,CAAE,eAAF,CAFK,EAGPW,IAHO,CADQ,GAMf;AACAX,IAAAA,EAAE,CAAE,YAAF,CAPL,CAb+B,CAsB/B;;AACA,UAAMqB,sBAAsB,GAAG,CAC9B,GAAGL,oBAD2B,EAE9B,GAAGC,eAF2B,EAG7BK,MAH6B,CAI9B,CAAEC,KAAF,EAASC,IAAT;AAAA;;AAAA,aACCA,IAAI,SAAJ,IAAAA,IAAI,WAAJ,mBAAAA,IAAI,CAAEJ,KAAN,uEAAaK,GAAb,4DAAkBC,UAAlB,CAA8BN,KAA9B,IAAwCG,KAAK,GAAG,CAAhD,GAAoDA,KADrD;AAAA,KAJ8B,EAM9B,CAN8B,CAA/B,CAvB+B,CAgC/B;AACA;;AACA,UAAMI,cAAc,GACnBN,sBAAsB,GAAG,CAAzB,GACI,GAAGD,KAAO,IAAIC,sBAAsB,GAAG,CAAG,EAD9C,GAEGD,KAHJ;AAKA,WAAOO,cAAc,IAAI,EAAzB;AACA,GAxCiB,EAwCf,CAAElB,UAAF,EAAcE,IAAd,CAxCe,CAAlB;AAyCA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Disabled } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useRegistry } from '@wordpress/data';\nimport { useContext, useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useTemplatePartAreaLabel from '../use-template-part-area-label';\n\nconst DRAFT_MENU_PARAMS = [\n\t'postType',\n\t'wp_navigation',\n\t{ status: 'draft', per_page: -1 },\n];\n\nconst PUBLISHED_MENU_PARAMS = [\n\t'postType',\n\t'wp_navigation',\n\t{ per_page: -1, status: 'publish' },\n];\n\nexport default function useGenerateDefaultNavigationTitle( clientId ) {\n\t// The block will be disabled in a block preview, use this as a way of\n\t// avoiding the side-effects of this component for block previews.\n\tconst isDisabled = useContext( Disabled.Context );\n\n\t// Because we can't conditionally call hooks, pass an undefined client id\n\t// arg to bypass the expensive `useTemplateArea` code. The hook will return\n\t// early.\n\tconst area = useTemplatePartAreaLabel( isDisabled ? undefined : clientId );\n\n\tconst registry = useRegistry();\n\treturn useCallback( async () => {\n\t\t// Ensure other navigation menus have loaded so an\n\t\t// accurate name can be created.\n\t\tif ( isDisabled ) {\n\t\t\treturn '';\n\t\t}\n\t\tconst { getEntityRecords } = registry.resolveSelect( coreStore );\n\n\t\tconst [ draftNavigationMenus, navigationMenus ] = await Promise.all( [\n\t\t\tgetEntityRecords( ...DRAFT_MENU_PARAMS ),\n\t\t\tgetEntityRecords( ...PUBLISHED_MENU_PARAMS ),\n\t\t] );\n\n\t\tconst title = area\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t__( '%s navigation' ),\n\t\t\t\t\tarea\n\t\t\t )\n\t\t\t: // translators: 'navigation' as in website navigation.\n\t\t\t __( 'Navigation' );\n\n\t\t// Determine how many menus start with the automatic title.\n\t\tconst matchingMenuTitleCount = [\n\t\t\t...draftNavigationMenus,\n\t\t\t...navigationMenus,\n\t\t].reduce(\n\t\t\t( count, menu ) =>\n\t\t\t\tmenu?.title?.raw?.startsWith( title ) ? count + 1 : count,\n\t\t\t0\n\t\t);\n\n\t\t// Append a number to the end of the title if a menu with\n\t\t// the same name exists.\n\t\tconst titleWithCount =\n\t\t\tmatchingMenuTitleCount > 0\n\t\t\t\t? `${ title } ${ matchingMenuTitleCount + 1 }`\n\t\t\t\t: title;\n\n\t\treturn titleWithCount || '';\n\t}, [ isDisabled, area ] );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/use-generate-default-navigation-title.js"],"names":["Disabled","store","coreStore","useRegistry","useContext","useCallback","__","sprintf","useTemplatePartAreaLabel","DRAFT_MENU_PARAMS","status","per_page","PUBLISHED_MENU_PARAMS","useGenerateDefaultNavigationTitle","clientId","isDisabled","Context","area","undefined","registry","getEntityRecords","resolveSelect","draftNavigationMenus","navigationMenus","Promise","all","title","matchingMenuTitleCount","reduce","count","menu","raw","startsWith","titleWithCount"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAT,QAAyB,uBAAzB;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AACA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SAASC,UAAT,EAAqBC,WAArB,QAAwC,oBAAxC;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AAEA;AACA;AACA;;AACA,OAAOC,wBAAP,MAAqC,iCAArC;AAEA,MAAMC,iBAAiB,GAAG,CACzB,UADyB,EAEzB,eAFyB,EAGzB;AAAEC,EAAAA,MAAM,EAAE,OAAV;AAAmBC,EAAAA,QAAQ,EAAE,CAAC;AAA9B,CAHyB,CAA1B;AAMA,MAAMC,qBAAqB,GAAG,CAC7B,UAD6B,EAE7B,eAF6B,EAG7B;AAAED,EAAAA,QAAQ,EAAE,CAAC,CAAb;AAAgBD,EAAAA,MAAM,EAAE;AAAxB,CAH6B,CAA9B;AAMA,eAAe,SAASG,iCAAT,CAA4CC,QAA5C,EAAuD;AACrE;AACA;AACA,QAAMC,UAAU,GAAGX,UAAU,CAAEJ,QAAQ,CAACgB,OAAX,CAA7B,CAHqE,CAKrE;AACA;AACA;;AACA,QAAMC,IAAI,GAAGT,wBAAwB,CAAEO,UAAU,GAAGG,SAAH,GAAeJ,QAA3B,CAArC;AAEA,QAAMK,QAAQ,GAAGhB,WAAW,EAA5B;AACA,SAAOE,WAAW,CAAE,YAAY;AAC/B;AACA;AACA,QAAKU,UAAL,EAAkB;AACjB,aAAO,EAAP;AACA;;AACD,UAAM;AAAEK,MAAAA;AAAF,QAAuBD,QAAQ,CAACE,aAAT,CAAwBnB,SAAxB,CAA7B;AAEA,UAAM,CAAEoB,oBAAF,EAAwBC,eAAxB,IAA4C,MAAMC,OAAO,CAACC,GAAR,CAAa,CACpEL,gBAAgB,CAAE,GAAGX,iBAAL,CADoD,EAEpEW,gBAAgB,CAAE,GAAGR,qBAAL,CAFoD,CAAb,CAAxD;AAKA,UAAMc,KAAK,GAAGT,IAAI,GACfV,OAAO,EACP;AACAD,IAAAA,EAAE,CAAE,eAAF,CAFK,EAGPW,IAHO,CADQ,GAMf;AACAX,IAAAA,EAAE,CAAE,YAAF,CAPL,CAb+B,CAsB/B;;AACA,UAAMqB,sBAAsB,GAAG,CAC9B,GAAGL,oBAD2B,EAE9B,GAAGC,eAF2B,EAG7BK,MAH6B,CAI9B,CAAEC,KAAF,EAASC,IAAT;AAAA;;AAAA,aACCA,IAAI,SAAJ,IAAAA,IAAI,WAAJ,mBAAAA,IAAI,CAAEJ,KAAN,uEAAaK,GAAb,4DAAkBC,UAAlB,CAA8BN,KAA9B,IAAwCG,KAAK,GAAG,CAAhD,GAAoDA,KADrD;AAAA,KAJ8B,EAM9B,CAN8B,CAA/B,CAvB+B,CAgC/B;AACA;;AACA,UAAMI,cAAc,GACnBN,sBAAsB,GAAG,CAAzB,GACI,GAAGD,KAAO,IAAIC,sBAAsB,GAAG,CAAG,EAD9C,GAEGD,KAHJ;AAKA,WAAOO,cAAc,IAAI,EAAzB;AACA,GAxCiB,EAwCf,CAAElB,UAAF,EAAcE,IAAd,EAAoBE,QAApB,CAxCe,CAAlB;AAyCA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Disabled } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useRegistry } from '@wordpress/data';\nimport { useContext, useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useTemplatePartAreaLabel from '../use-template-part-area-label';\n\nconst DRAFT_MENU_PARAMS = [\n\t'postType',\n\t'wp_navigation',\n\t{ status: 'draft', per_page: -1 },\n];\n\nconst PUBLISHED_MENU_PARAMS = [\n\t'postType',\n\t'wp_navigation',\n\t{ per_page: -1, status: 'publish' },\n];\n\nexport default function useGenerateDefaultNavigationTitle( clientId ) {\n\t// The block will be disabled in a block preview, use this as a way of\n\t// avoiding the side-effects of this component for block previews.\n\tconst isDisabled = useContext( Disabled.Context );\n\n\t// Because we can't conditionally call hooks, pass an undefined client id\n\t// arg to bypass the expensive `useTemplateArea` code. The hook will return\n\t// early.\n\tconst area = useTemplatePartAreaLabel( isDisabled ? undefined : clientId );\n\n\tconst registry = useRegistry();\n\treturn useCallback( async () => {\n\t\t// Ensure other navigation menus have loaded so an\n\t\t// accurate name can be created.\n\t\tif ( isDisabled ) {\n\t\t\treturn '';\n\t\t}\n\t\tconst { getEntityRecords } = registry.resolveSelect( coreStore );\n\n\t\tconst [ draftNavigationMenus, navigationMenus ] = await Promise.all( [\n\t\t\tgetEntityRecords( ...DRAFT_MENU_PARAMS ),\n\t\t\tgetEntityRecords( ...PUBLISHED_MENU_PARAMS ),\n\t\t] );\n\n\t\tconst title = area\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t__( '%s navigation' ),\n\t\t\t\t\tarea\n\t\t\t )\n\t\t\t: // translators: 'navigation' as in website navigation.\n\t\t\t __( 'Navigation' );\n\n\t\t// Determine how many menus start with the automatic title.\n\t\tconst matchingMenuTitleCount = [\n\t\t\t...draftNavigationMenus,\n\t\t\t...navigationMenus,\n\t\t].reduce(\n\t\t\t( count, menu ) =>\n\t\t\t\tmenu?.title?.raw?.startsWith( title ) ? count + 1 : count,\n\t\t\t0\n\t\t);\n\n\t\t// Append a number to the end of the title if a menu with\n\t\t// the same name exists.\n\t\tconst titleWithCount =\n\t\t\tmatchingMenuTitleCount > 0\n\t\t\t\t? `${ title } ${ matchingMenuTitleCount + 1 }`\n\t\t\t\t: title;\n\n\t\treturn titleWithCount || '';\n\t}, [ isDisabled, area, registry ] );\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { useRef } from '@wordpress/element';
4
+ import { useCallback, useRef } from '@wordpress/element';
5
5
  import { useDispatch } from '@wordpress/data';
6
6
  import { store as noticeStore } from '@wordpress/notices';
7
7
 
@@ -15,8 +15,7 @@ function useNavigationNotice() {
15
15
  createWarningNotice,
16
16
  removeNotice
17
17
  } = useDispatch(noticeStore);
18
-
19
- const showNotice = customMsg => {
18
+ const showNotice = useCallback(customMsg => {
20
19
  if (noticeRef.current) {
21
20
  return;
22
21
  }
@@ -26,17 +25,15 @@ function useNavigationNotice() {
26
25
  id: noticeRef.current,
27
26
  type: 'snackbar'
28
27
  });
29
- };
30
-
31
- const hideNotice = () => {
28
+ }, [noticeRef, createWarningNotice]);
29
+ const hideNotice = useCallback(() => {
32
30
  if (!noticeRef.current) {
33
31
  return;
34
32
  }
35
33
 
36
34
  removeNotice(noticeRef.current);
37
35
  noticeRef.current = null;
38
- };
39
-
36
+ }, [noticeRef, removeNotice]);
40
37
  return [showNotice, hideNotice];
41
38
  }
42
39
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/use-navigation-notice.js"],"names":["useRef","useDispatch","store","noticeStore","useNavigationNotice","name","message","noticeRef","createWarningNotice","removeNotice","showNotice","customMsg","current","id","type","hideNotice"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAT,QAAuB,oBAAvB;AACA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,oBAArC;;AAEA,SAASC,mBAAT,GAA4D;AAAA,MAA9B;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,OAAO,GAAG;AAAlB,GAA8B,uEAAL,EAAK;AAC3D,QAAMC,SAAS,GAAGP,MAAM,EAAxB;AAEA,QAAM;AAAEQ,IAAAA,mBAAF;AAAuBC,IAAAA;AAAvB,MAAwCR,WAAW,CAAEE,WAAF,CAAzD;;AAEA,QAAMO,UAAU,GAAKC,SAAF,IAAiB;AACnC,QAAKJ,SAAS,CAACK,OAAf,EAAyB;AACxB;AACA;;AAEDL,IAAAA,SAAS,CAACK,OAAV,GAAoBP,IAApB;AAEAG,IAAAA,mBAAmB,CAAEG,SAAS,IAAIL,OAAf,EAAwB;AAC1CO,MAAAA,EAAE,EAAEN,SAAS,CAACK,OAD4B;AAE1CE,MAAAA,IAAI,EAAE;AAFoC,KAAxB,CAAnB;AAIA,GAXD;;AAaA,QAAMC,UAAU,GAAG,MAAM;AACxB,QAAK,CAAER,SAAS,CAACK,OAAjB,EAA2B;AAC1B;AACA;;AACDH,IAAAA,YAAY,CAAEF,SAAS,CAACK,OAAZ,CAAZ;AACAL,IAAAA,SAAS,CAACK,OAAV,GAAoB,IAApB;AACA,GAND;;AAQA,SAAO,CAAEF,UAAF,EAAcK,UAAd,CAAP;AACA;;AAED,eAAeX,mBAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticeStore } from '@wordpress/notices';\n\nfunction useNavigationNotice( { name, message = '' } = {} ) {\n\tconst noticeRef = useRef();\n\n\tconst { createWarningNotice, removeNotice } = useDispatch( noticeStore );\n\n\tconst showNotice = ( customMsg ) => {\n\t\tif ( noticeRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tnoticeRef.current = name;\n\n\t\tcreateWarningNotice( customMsg || message, {\n\t\t\tid: noticeRef.current,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst hideNotice = () => {\n\t\tif ( ! noticeRef.current ) {\n\t\t\treturn;\n\t\t}\n\t\tremoveNotice( noticeRef.current );\n\t\tnoticeRef.current = null;\n\t};\n\n\treturn [ showNotice, hideNotice ];\n}\n\nexport default useNavigationNotice;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/use-navigation-notice.js"],"names":["useCallback","useRef","useDispatch","store","noticeStore","useNavigationNotice","name","message","noticeRef","createWarningNotice","removeNotice","showNotice","customMsg","current","id","type","hideNotice"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,EAAsBC,MAAtB,QAAoC,oBAApC;AACA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,oBAArC;;AAEA,SAASC,mBAAT,GAA4D;AAAA,MAA9B;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,OAAO,GAAG;AAAlB,GAA8B,uEAAL,EAAK;AAC3D,QAAMC,SAAS,GAAGP,MAAM,EAAxB;AAEA,QAAM;AAAEQ,IAAAA,mBAAF;AAAuBC,IAAAA;AAAvB,MAAwCR,WAAW,CAAEE,WAAF,CAAzD;AAEA,QAAMO,UAAU,GAAGX,WAAW,CAC3BY,SAAF,IAAiB;AAChB,QAAKJ,SAAS,CAACK,OAAf,EAAyB;AACxB;AACA;;AAEDL,IAAAA,SAAS,CAACK,OAAV,GAAoBP,IAApB;AAEAG,IAAAA,mBAAmB,CAAEG,SAAS,IAAIL,OAAf,EAAwB;AAC1CO,MAAAA,EAAE,EAAEN,SAAS,CAACK,OAD4B;AAE1CE,MAAAA,IAAI,EAAE;AAFoC,KAAxB,CAAnB;AAIA,GAZ4B,EAa7B,CAAEP,SAAF,EAAaC,mBAAb,CAb6B,CAA9B;AAgBA,QAAMO,UAAU,GAAGhB,WAAW,CAAE,MAAM;AACrC,QAAK,CAAEQ,SAAS,CAACK,OAAjB,EAA2B;AAC1B;AACA;;AACDH,IAAAA,YAAY,CAAEF,SAAS,CAACK,OAAZ,CAAZ;AACAL,IAAAA,SAAS,CAACK,OAAV,GAAoB,IAApB;AACA,GAN6B,EAM3B,CAAEL,SAAF,EAAaE,YAAb,CAN2B,CAA9B;AAQA,SAAO,CAAEC,UAAF,EAAcK,UAAd,CAAP;AACA;;AAED,eAAeX,mBAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, useRef } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticeStore } from '@wordpress/notices';\n\nfunction useNavigationNotice( { name, message = '' } = {} ) {\n\tconst noticeRef = useRef();\n\n\tconst { createWarningNotice, removeNotice } = useDispatch( noticeStore );\n\n\tconst showNotice = useCallback(\n\t\t( customMsg ) => {\n\t\t\tif ( noticeRef.current ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tnoticeRef.current = name;\n\n\t\t\tcreateWarningNotice( customMsg || message, {\n\t\t\t\tid: noticeRef.current,\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t},\n\t\t[ noticeRef, createWarningNotice ]\n\t);\n\n\tconst hideNotice = useCallback( () => {\n\t\tif ( ! noticeRef.current ) {\n\t\t\treturn;\n\t\t}\n\t\tremoveNotice( noticeRef.current );\n\t\tnoticeRef.current = null;\n\t}, [ noticeRef, removeNotice ] );\n\n\treturn [ showNotice, hideNotice ];\n}\n\nexport default useNavigationNotice;\n"]}
@@ -102,6 +102,7 @@ const metadata = {
102
102
  },
103
103
  supports: {
104
104
  align: ["wide", "full"],
105
+ anchor: true,
105
106
  html: false,
106
107
  inserter: true,
107
108
  typography: {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/index.js"],"names":["__","navigation","icon","initBlock","edit","save","deprecated","name","metadata","settings","example","attributes","overlayMenu","innerBlocks","label","url","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,UAAU,IAAIC,IAAvB,QAAmC,kBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBP,EAAAA,IADuB;AAEvBQ,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,WAAW,EAAE;AADF,KADJ;AAIRC,IAAAA,WAAW,EAAE,CACZ;AACCN,MAAAA,IAAI,EAAE,sBADP;AAECI,MAAAA,UAAU,EAAE;AACX;AACAG,QAAAA,KAAK,EAAEd,EAAE,CAAE,MAAF,CAFE;AAGXe,QAAAA,GAAG,EAAE;AAHM;AAFb,KADY,EASZ;AACCR,MAAAA,IAAI,EAAE,sBADP;AAECI,MAAAA,UAAU,EAAE;AACX;AACAG,QAAAA,KAAK,EAAEd,EAAE,CAAE,OAAF,CAFE;AAGXe,QAAAA,GAAG,EAAE;AAHM;AAFb,KATY,EAiBZ;AACCR,MAAAA,IAAI,EAAE,sBADP;AAECI,MAAAA,UAAU,EAAE;AACX;AACAG,QAAAA,KAAK,EAAEd,EAAE,CAAE,SAAF,CAFE;AAGXe,QAAAA,GAAG,EAAE;AAHM;AAFb,KAjBY;AAJL,GAFc;AAiCvBX,EAAAA,IAjCuB;AAkCvBC,EAAAA,IAlCuB;AAmCvBC,EAAAA;AAnCuB,CAAjB;AAsCP,OAAO,MAAMU,IAAI,GAAG,MAAMb,SAAS,CAAE;AAAEI,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAF,CAA5B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { navigation as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\toverlayMenu: 'never',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Home' as in a website's home page.\n\t\t\t\t\tlabel: __( 'Home' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'About' as in a website's about page.\n\t\t\t\t\tlabel: __( 'About' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Contact' as in a website's contact page.\n\t\t\t\t\tlabel: __( 'Contact' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/index.js"],"names":["__","navigation","icon","initBlock","edit","save","deprecated","name","metadata","settings","example","attributes","overlayMenu","innerBlocks","label","url","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,UAAU,IAAIC,IAAvB,QAAmC,kBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBP,EAAAA,IADuB;AAEvBQ,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,WAAW,EAAE;AADF,KADJ;AAIRC,IAAAA,WAAW,EAAE,CACZ;AACCN,MAAAA,IAAI,EAAE,sBADP;AAECI,MAAAA,UAAU,EAAE;AACX;AACAG,QAAAA,KAAK,EAAEd,EAAE,CAAE,MAAF,CAFE;AAGXe,QAAAA,GAAG,EAAE;AAHM;AAFb,KADY,EASZ;AACCR,MAAAA,IAAI,EAAE,sBADP;AAECI,MAAAA,UAAU,EAAE;AACX;AACAG,QAAAA,KAAK,EAAEd,EAAE,CAAE,OAAF,CAFE;AAGXe,QAAAA,GAAG,EAAE;AAHM;AAFb,KATY,EAiBZ;AACCR,MAAAA,IAAI,EAAE,sBADP;AAECI,MAAAA,UAAU,EAAE;AACX;AACAG,QAAAA,KAAK,EAAEd,EAAE,CAAE,SAAF,CAFE;AAGXe,QAAAA,GAAG,EAAE;AAHM;AAFb,KAjBY;AAJL,GAFc;AAiCvBX,EAAAA,IAjCuB;AAkCvBC,EAAAA,IAlCuB;AAmCvBC,EAAAA;AAnCuB,CAAjB;AAsCP,OAAO,MAAMU,IAAI,GAAG,MAAMb,SAAS,CAAE;AAAEI,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAF,CAA5B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { navigation as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\toverlayMenu: 'never',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Home' as in a website's home page.\n\t\t\t\t\tlabel: __( 'Home' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'About' as in a website's about page.\n\t\t\t\t\tlabel: __( 'About' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Contact' as in a website's contact page.\n\t\t\t\t\tlabel: __( 'Contact' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
@@ -17,7 +17,7 @@ export default function useNavigationMenu(ref) {
17
17
  navigationMenus,
18
18
  isResolvingNavigationMenus,
19
19
  hasResolvedNavigationMenus
20
- } = selectNavigationMenus(select, ref);
20
+ } = selectNavigationMenus(select);
21
21
  const {
22
22
  navigationMenu,
23
23
  isNavigationMenuResolved,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/use-navigation-menu.js"],"names":["store","coreStore","useResourcePermissions","useSelect","useNavigationMenu","ref","permissions","select","canCreate","canUpdate","canDelete","isResolving","hasResolved","navigationMenus","isResolvingNavigationMenus","hasResolvedNavigationMenus","selectNavigationMenus","navigationMenu","isNavigationMenuResolved","isNavigationMenuMissing","selectExistingMenu","canSwitchNavigationMenu","length","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","hasResolvedCanUserCreateNavigationMenu","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","undefined","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","getEntityRecords","hasFinishedResolution","args","per_page","status","getEntityRecord","getEditedEntityRecord","editedNavigationMenu","hasResolvedNavigationMenu","isNavigationMenuPublishedOrDraft"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tstore as coreStore,\n\tuseResourcePermissions,\n} from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nexport default function useNavigationMenu( ref ) {\n\tconst permissions = useResourcePermissions( 'navigation', ref );\n\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tcanCreate,\n\t\t\t\tcanUpdate,\n\t\t\t\tcanDelete,\n\t\t\t\tisResolving,\n\t\t\t\thasResolved,\n\t\t\t} = permissions;\n\n\t\t\tconst {\n\t\t\t\tnavigationMenus,\n\t\t\t\tisResolvingNavigationMenus,\n\t\t\t\thasResolvedNavigationMenus,\n\t\t\t} = selectNavigationMenus( select, ref );\n\n\t\t\tconst {\n\t\t\t\tnavigationMenu,\n\t\t\t\tisNavigationMenuResolved,\n\t\t\t\tisNavigationMenuMissing,\n\t\t\t} = selectExistingMenu( select, ref );\n\n\t\t\treturn {\n\t\t\t\tnavigationMenus,\n\t\t\t\tisResolvingNavigationMenus,\n\t\t\t\thasResolvedNavigationMenus,\n\n\t\t\t\tnavigationMenu,\n\t\t\t\tisNavigationMenuResolved,\n\t\t\t\tisNavigationMenuMissing,\n\n\t\t\t\tcanSwitchNavigationMenu: ref\n\t\t\t\t\t? navigationMenus?.length > 1\n\t\t\t\t\t: navigationMenus?.length > 0,\n\n\t\t\t\tcanUserCreateNavigationMenu: canCreate,\n\t\t\t\tisResolvingCanUserCreateNavigationMenu: isResolving,\n\t\t\t\thasResolvedCanUserCreateNavigationMenu: hasResolved,\n\n\t\t\t\tcanUserUpdateNavigationMenu: canUpdate,\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu: ref\n\t\t\t\t\t? hasResolved\n\t\t\t\t\t: undefined,\n\n\t\t\t\tcanUserDeleteNavigationMenu: canDelete,\n\t\t\t\thasResolvedCanUserDeleteNavigationMenu: ref\n\t\t\t\t\t? hasResolved\n\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t},\n\t\t[ ref, permissions ]\n\t);\n}\n\nfunction selectNavigationMenus( select ) {\n\tconst { getEntityRecords, hasFinishedResolution, isResolving } =\n\t\tselect( coreStore );\n\n\tconst args = [\n\t\t'postType',\n\t\t'wp_navigation',\n\t\t{ per_page: -1, status: [ 'publish', 'draft' ] },\n\t];\n\treturn {\n\t\tnavigationMenus: getEntityRecords( ...args ),\n\t\tisResolvingNavigationMenus: isResolving( 'getEntityRecords', args ),\n\t\thasResolvedNavigationMenus: hasFinishedResolution(\n\t\t\t'getEntityRecords',\n\t\t\targs\n\t\t),\n\t};\n}\n\nfunction selectExistingMenu( select, ref ) {\n\tif ( ! ref ) {\n\t\treturn {\n\t\t\tisNavigationMenuResolved: false,\n\t\t\tisNavigationMenuMissing: true,\n\t\t};\n\t}\n\n\tconst { getEntityRecord, getEditedEntityRecord, hasFinishedResolution } =\n\t\tselect( coreStore );\n\n\tconst args = [ 'postType', 'wp_navigation', ref ];\n\tconst navigationMenu = getEntityRecord( ...args );\n\tconst editedNavigationMenu = getEditedEntityRecord( ...args );\n\tconst hasResolvedNavigationMenu = hasFinishedResolution(\n\t\t'getEditedEntityRecord',\n\t\targs\n\t);\n\n\t// Only published Navigation posts are considered valid.\n\t// Draft Navigation posts are valid only on the editor,\n\t// requiring a post update to publish to show in frontend.\n\t// To achieve that, index.php must reflect this validation only for published.\n\tconst isNavigationMenuPublishedOrDraft =\n\t\teditedNavigationMenu.status === 'publish' ||\n\t\teditedNavigationMenu.status === 'draft';\n\n\treturn {\n\t\tisNavigationMenuResolved: hasResolvedNavigationMenu,\n\t\tisNavigationMenuMissing:\n\t\t\thasResolvedNavigationMenu &&\n\t\t\t( ! navigationMenu || ! isNavigationMenuPublishedOrDraft ),\n\n\t\t// getEditedEntityRecord will return the post regardless of status.\n\t\t// Therefore if the found post is not published then we should ignore it.\n\t\tnavigationMenu: isNavigationMenuPublishedOrDraft\n\t\t\t? editedNavigationMenu\n\t\t\t: null,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/use-navigation-menu.js"],"names":["store","coreStore","useResourcePermissions","useSelect","useNavigationMenu","ref","permissions","select","canCreate","canUpdate","canDelete","isResolving","hasResolved","navigationMenus","isResolvingNavigationMenus","hasResolvedNavigationMenus","selectNavigationMenus","navigationMenu","isNavigationMenuResolved","isNavigationMenuMissing","selectExistingMenu","canSwitchNavigationMenu","length","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","hasResolvedCanUserCreateNavigationMenu","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","undefined","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","getEntityRecords","hasFinishedResolution","args","per_page","status","getEntityRecord","getEditedEntityRecord","editedNavigationMenu","hasResolvedNavigationMenu","isNavigationMenuPublishedOrDraft"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tstore as coreStore,\n\tuseResourcePermissions,\n} from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nexport default function useNavigationMenu( ref ) {\n\tconst permissions = useResourcePermissions( 'navigation', ref );\n\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tcanCreate,\n\t\t\t\tcanUpdate,\n\t\t\t\tcanDelete,\n\t\t\t\tisResolving,\n\t\t\t\thasResolved,\n\t\t\t} = permissions;\n\n\t\t\tconst {\n\t\t\t\tnavigationMenus,\n\t\t\t\tisResolvingNavigationMenus,\n\t\t\t\thasResolvedNavigationMenus,\n\t\t\t} = selectNavigationMenus( select );\n\n\t\t\tconst {\n\t\t\t\tnavigationMenu,\n\t\t\t\tisNavigationMenuResolved,\n\t\t\t\tisNavigationMenuMissing,\n\t\t\t} = selectExistingMenu( select, ref );\n\n\t\t\treturn {\n\t\t\t\tnavigationMenus,\n\t\t\t\tisResolvingNavigationMenus,\n\t\t\t\thasResolvedNavigationMenus,\n\n\t\t\t\tnavigationMenu,\n\t\t\t\tisNavigationMenuResolved,\n\t\t\t\tisNavigationMenuMissing,\n\n\t\t\t\tcanSwitchNavigationMenu: ref\n\t\t\t\t\t? navigationMenus?.length > 1\n\t\t\t\t\t: navigationMenus?.length > 0,\n\n\t\t\t\tcanUserCreateNavigationMenu: canCreate,\n\t\t\t\tisResolvingCanUserCreateNavigationMenu: isResolving,\n\t\t\t\thasResolvedCanUserCreateNavigationMenu: hasResolved,\n\n\t\t\t\tcanUserUpdateNavigationMenu: canUpdate,\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu: ref\n\t\t\t\t\t? hasResolved\n\t\t\t\t\t: undefined,\n\n\t\t\t\tcanUserDeleteNavigationMenu: canDelete,\n\t\t\t\thasResolvedCanUserDeleteNavigationMenu: ref\n\t\t\t\t\t? hasResolved\n\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t},\n\t\t[ ref, permissions ]\n\t);\n}\n\nfunction selectNavigationMenus( select ) {\n\tconst { getEntityRecords, hasFinishedResolution, isResolving } =\n\t\tselect( coreStore );\n\n\tconst args = [\n\t\t'postType',\n\t\t'wp_navigation',\n\t\t{ per_page: -1, status: [ 'publish', 'draft' ] },\n\t];\n\treturn {\n\t\tnavigationMenus: getEntityRecords( ...args ),\n\t\tisResolvingNavigationMenus: isResolving( 'getEntityRecords', args ),\n\t\thasResolvedNavigationMenus: hasFinishedResolution(\n\t\t\t'getEntityRecords',\n\t\t\targs\n\t\t),\n\t};\n}\n\nfunction selectExistingMenu( select, ref ) {\n\tif ( ! ref ) {\n\t\treturn {\n\t\t\tisNavigationMenuResolved: false,\n\t\t\tisNavigationMenuMissing: true,\n\t\t};\n\t}\n\n\tconst { getEntityRecord, getEditedEntityRecord, hasFinishedResolution } =\n\t\tselect( coreStore );\n\n\tconst args = [ 'postType', 'wp_navigation', ref ];\n\tconst navigationMenu = getEntityRecord( ...args );\n\tconst editedNavigationMenu = getEditedEntityRecord( ...args );\n\tconst hasResolvedNavigationMenu = hasFinishedResolution(\n\t\t'getEditedEntityRecord',\n\t\targs\n\t);\n\n\t// Only published Navigation posts are considered valid.\n\t// Draft Navigation posts are valid only on the editor,\n\t// requiring a post update to publish to show in frontend.\n\t// To achieve that, index.php must reflect this validation only for published.\n\tconst isNavigationMenuPublishedOrDraft =\n\t\teditedNavigationMenu.status === 'publish' ||\n\t\teditedNavigationMenu.status === 'draft';\n\n\treturn {\n\t\tisNavigationMenuResolved: hasResolvedNavigationMenu,\n\t\tisNavigationMenuMissing:\n\t\t\thasResolvedNavigationMenu &&\n\t\t\t( ! navigationMenu || ! isNavigationMenuPublishedOrDraft ),\n\n\t\t// getEditedEntityRecord will return the post regardless of status.\n\t\t// Therefore if the found post is not published then we should ignore it.\n\t\tnavigationMenu: isNavigationMenuPublishedOrDraft\n\t\t\t? editedNavigationMenu\n\t\t\t: null,\n\t};\n}\n"]}
@@ -357,12 +357,17 @@ export default function NavigationLinkEdit(_ref) {
357
357
 
358
358
  function removeLink() {
359
359
  // Reset all attributes that comprise the link.
360
+ // It is critical that all attributes are reset
361
+ // to their default values otherwise this may
362
+ // in advertently trigger side effects because
363
+ // the values will have "changed".
360
364
  setAttributes({
361
- url: '',
362
- label: '',
363
- id: '',
364
- kind: '',
365
- type: ''
365
+ url: undefined,
366
+ label: undefined,
367
+ id: undefined,
368
+ kind: undefined,
369
+ type: undefined,
370
+ opensInNewTab: false
366
371
  }); // Close the link editing UI.
367
372
 
368
373
  setIsLinkOpen(false);