@wordpress/block-library 7.5.0 → 7.6.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 (527) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +3 -2
  3. package/babel-plugin.js +154 -0
  4. package/build/audio/edit.js +1 -1
  5. package/build/audio/edit.js.map +1 -1
  6. package/build/block/edit.js +10 -9
  7. package/build/block/edit.js.map +1 -1
  8. package/build/button/index.js +1 -0
  9. package/build/button/index.js.map +1 -1
  10. package/build/categories/edit.js +1 -1
  11. package/build/categories/edit.js.map +1 -1
  12. package/build/categories/index.js +1 -1
  13. package/build/comment-author-avatar/index.js +1 -0
  14. package/build/comment-author-avatar/index.js.map +1 -1
  15. package/build/comments-title/deprecated.js +110 -0
  16. package/build/comments-title/deprecated.js.map +1 -0
  17. package/build/comments-title/edit.js +35 -37
  18. package/build/comments-title/edit.js.map +1 -1
  19. package/build/comments-title/index.js +5 -8
  20. package/build/comments-title/index.js.map +1 -1
  21. package/build/cover/controls.native.js +2 -3
  22. package/build/cover/controls.native.js.map +1 -1
  23. package/build/cover/edit/block-controls.js +115 -0
  24. package/build/cover/edit/block-controls.js.map +1 -0
  25. package/build/cover/edit/cover-placeholder.js +49 -0
  26. package/build/cover/edit/cover-placeholder.js.map +1 -0
  27. package/build/cover/edit/index.js +333 -0
  28. package/build/cover/edit/index.js.map +1 -0
  29. package/build/cover/edit/inspector-controls.js +224 -0
  30. package/build/cover/edit/inspector-controls.js.map +1 -0
  31. package/build/cover/edit/resizable-cover.js +67 -0
  32. package/build/cover/edit/resizable-cover.js.map +1 -0
  33. package/build/cover/{use-cover-is-dark.js → edit/use-cover-is-dark.js} +0 -0
  34. package/build/cover/edit/use-cover-is-dark.js.map +1 -0
  35. package/build/cover/edit.native.js +0 -1
  36. package/build/cover/edit.native.js.map +1 -1
  37. package/build/cover/focal-point-settings-button.native.js.map +1 -1
  38. package/build/cover/shared.js +9 -0
  39. package/build/cover/shared.js.map +1 -1
  40. package/build/embed/embed-preview.js +1 -1
  41. package/build/embed/embed-preview.js.map +1 -1
  42. package/build/file/edit.native.js +0 -1
  43. package/build/file/edit.native.js.map +1 -1
  44. package/build/gallery/edit.js +2 -1
  45. package/build/gallery/edit.js.map +1 -1
  46. package/build/gallery/gallery.js +1 -1
  47. package/build/gallery/gallery.js.map +1 -1
  48. package/build/gallery/shared.js +2 -2
  49. package/build/gallery/shared.js.map +1 -1
  50. package/build/gallery/use-get-media.js +2 -1
  51. package/build/gallery/use-get-media.js.map +1 -1
  52. package/build/gallery/use-short-code-transform.js +19 -18
  53. package/build/gallery/use-short-code-transform.js.map +1 -1
  54. package/build/gallery/v1/gallery.js +1 -1
  55. package/build/gallery/v1/gallery.js.map +1 -1
  56. package/build/heading/edit.js +6 -2
  57. package/build/heading/edit.js.map +1 -1
  58. package/build/heading/index.js +1 -0
  59. package/build/heading/index.js.map +1 -1
  60. package/build/heading/transforms.js +1 -0
  61. package/build/heading/transforms.js.map +1 -1
  62. package/build/image/edit.js +5 -2
  63. package/build/image/edit.js.map +1 -1
  64. package/build/image/edit.native.js +0 -1
  65. package/build/image/edit.native.js.map +1 -1
  66. package/build/image/image.js +1 -1
  67. package/build/image/image.js.map +1 -1
  68. package/build/index.js +46 -10
  69. package/build/index.js.map +1 -1
  70. package/build/is-block-metadata-experimental.js +18 -0
  71. package/build/is-block-metadata-experimental.js.map +1 -0
  72. package/build/latest-posts/edit.js +30 -4
  73. package/build/latest-posts/edit.js.map +1 -1
  74. package/build/list/transforms.js +6 -0
  75. package/build/list/transforms.js.map +1 -1
  76. package/build/list/v2/edit.js +2 -1
  77. package/build/list/v2/edit.js.map +1 -1
  78. package/build/list/v2/migrate.js +1 -0
  79. package/build/list/v2/migrate.js.map +1 -1
  80. package/build/list/v2/transforms.js +46 -9
  81. package/build/list/v2/transforms.js.map +1 -1
  82. package/build/list-item/edit.js +7 -9
  83. package/build/list-item/edit.js.map +1 -1
  84. package/build/list-item/hooks/index.js +24 -0
  85. package/build/list-item/hooks/index.js.map +1 -1
  86. package/build/list-item/hooks/use-backspace.js +59 -0
  87. package/build/list-item/hooks/use-backspace.js.map +1 -0
  88. package/build/list-item/hooks/use-enter.js +6 -9
  89. package/build/list-item/hooks/use-enter.js.map +1 -1
  90. package/build/list-item/hooks/use-indent-list-item.js +33 -39
  91. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  92. package/build/list-item/hooks/use-space.js +54 -0
  93. package/build/list-item/hooks/use-space.js.map +1 -0
  94. package/build/list-item/hooks/use-split.js +30 -0
  95. package/build/list-item/hooks/use-split.js.map +1 -0
  96. package/build/list-item/index.js +1 -0
  97. package/build/list-item/index.js.map +1 -1
  98. package/build/list-item/utils.js +1 -1
  99. package/build/list-item/utils.js.map +1 -1
  100. package/build/media-text/edit.native.js +2 -1
  101. package/build/media-text/edit.native.js.map +1 -1
  102. package/build/media-text/media-container.native.js +2 -4
  103. package/build/media-text/media-container.native.js.map +1 -1
  104. package/build/media-text/transforms.js +137 -8
  105. package/build/media-text/transforms.js.map +1 -1
  106. package/build/navigation/edit/index.js +86 -81
  107. package/build/navigation/edit/index.js.map +1 -1
  108. package/build/navigation/edit/inner-blocks.js +1 -5
  109. package/build/navigation/edit/inner-blocks.js.map +1 -1
  110. package/build/navigation/use-navigation-entities.js +3 -3
  111. package/build/navigation/use-navigation-entities.js.map +1 -1
  112. package/build/navigation-link/fallback-variations.js +1 -1
  113. package/build/navigation-link/fallback-variations.js.map +1 -1
  114. package/build/navigation-link/hooks.js +1 -1
  115. package/build/navigation-link/hooks.js.map +1 -1
  116. package/build/page-list/convert-to-links-modal.js +1 -1
  117. package/build/page-list/convert-to-links-modal.js.map +1 -1
  118. package/build/page-list/edit.js +1 -1
  119. package/build/page-list/edit.js.map +1 -1
  120. package/build/post-author/edit.js +1 -1
  121. package/build/post-author/edit.js.map +1 -1
  122. package/build/post-author-name/index.js +1 -0
  123. package/build/post-author-name/index.js.map +1 -1
  124. package/build/post-comment/index.js +1 -0
  125. package/build/post-comment/index.js.map +1 -1
  126. package/build/post-comments/edit.js +34 -16
  127. package/build/post-comments/edit.js.map +1 -1
  128. package/build/post-comments-count/index.js +1 -0
  129. package/build/post-comments-count/index.js.map +1 -1
  130. package/build/post-comments-form/form.js +1 -1
  131. package/build/post-comments-form/form.js.map +1 -1
  132. package/build/post-comments-link/index.js +1 -0
  133. package/build/post-comments-link/index.js.map +1 -1
  134. package/build/post-featured-image/edit.js +1 -1
  135. package/build/post-featured-image/edit.js.map +1 -1
  136. package/build/post-template/edit.js +7 -2
  137. package/build/post-template/edit.js.map +1 -1
  138. package/build/post-terms/edit.js +11 -2
  139. package/build/post-terms/edit.js.map +1 -1
  140. package/build/post-terms/hooks.js +33 -0
  141. package/build/post-terms/hooks.js.map +1 -0
  142. package/build/post-terms/index.js +12 -5
  143. package/build/post-terms/index.js.map +1 -1
  144. package/build/post-title/index.js +1 -1
  145. package/build/post-title/index.js.map +1 -1
  146. package/build/pullquote/edit.js +1 -1
  147. package/build/pullquote/edit.js.map +1 -1
  148. package/build/pullquote/edit.native.js +1 -1
  149. package/build/pullquote/edit.native.js.map +1 -1
  150. package/build/query/edit/inspector-controls/index.js +26 -17
  151. package/build/query/edit/inspector-controls/index.js.map +1 -1
  152. package/build/query/edit/inspector-controls/parent-control.js +148 -0
  153. package/build/query/edit/inspector-controls/parent-control.js.map +1 -0
  154. package/build/query/edit/inspector-controls/sticky-control.js +41 -0
  155. package/build/query/edit/inspector-controls/sticky-control.js.map +1 -0
  156. package/build/query/index.js +2 -1
  157. package/build/query/index.js.map +1 -1
  158. package/build/query/utils.js +28 -2
  159. package/build/query/utils.js.map +1 -1
  160. package/build/query-title/index.js +1 -1
  161. package/build/query-title/index.js.map +1 -1
  162. package/build/query-title/variations.js +1 -1
  163. package/build/query-title/variations.js.map +1 -1
  164. package/build/quote/edit.js +3 -2
  165. package/build/quote/edit.js.map +1 -1
  166. package/build/quote/v2/edit.js +1 -1
  167. package/build/quote/v2/edit.js.map +1 -1
  168. package/build/search/edit.js +1 -0
  169. package/build/search/edit.js.map +1 -1
  170. package/build/site-logo/edit.js +1 -1
  171. package/build/site-logo/edit.js.map +1 -1
  172. package/build/table/edit.js +15 -2
  173. package/build/table/edit.js.map +1 -1
  174. package/build/table-of-contents/edit.js +138 -66
  175. package/build/table-of-contents/edit.js.map +1 -1
  176. package/build/table-of-contents/index.js +13 -3
  177. package/build/table-of-contents/index.js.map +1 -1
  178. package/build/table-of-contents/list.js +16 -9
  179. package/build/table-of-contents/list.js.map +1 -1
  180. package/build/table-of-contents/save.js +40 -0
  181. package/build/table-of-contents/save.js.map +1 -0
  182. package/build/table-of-contents/utils.js +11 -77
  183. package/build/table-of-contents/utils.js.map +1 -1
  184. package/build/template-part/edit/index.js +7 -3
  185. package/build/template-part/edit/index.js.map +1 -1
  186. package/build/template-part/edit/inner-blocks.js +3 -8
  187. package/build/template-part/edit/inner-blocks.js.map +1 -1
  188. package/build/video/edit.js +1 -1
  189. package/build/video/edit.js.map +1 -1
  190. package/build-module/audio/edit.js +2 -2
  191. package/build-module/audio/edit.js.map +1 -1
  192. package/build-module/block/edit.js +11 -10
  193. package/build-module/block/edit.js.map +1 -1
  194. package/build-module/button/index.js +1 -0
  195. package/build-module/button/index.js.map +1 -1
  196. package/build-module/categories/edit.js +1 -1
  197. package/build-module/categories/edit.js.map +1 -1
  198. package/build-module/categories/index.js +1 -1
  199. package/build-module/comment-author-avatar/index.js +1 -0
  200. package/build-module/comment-author-avatar/index.js.map +1 -1
  201. package/build-module/comments-title/deprecated.js +102 -0
  202. package/build-module/comments-title/deprecated.js.map +1 -0
  203. package/build-module/comments-title/edit.js +38 -40
  204. package/build-module/comments-title/edit.js.map +1 -1
  205. package/build-module/comments-title/index.js +4 -8
  206. package/build-module/comments-title/index.js.map +1 -1
  207. package/build-module/cover/controls.native.js +2 -3
  208. package/build-module/cover/controls.native.js.map +1 -1
  209. package/build-module/cover/edit/block-controls.js +104 -0
  210. package/build-module/cover/edit/block-controls.js.map +1 -0
  211. package/build-module/cover/edit/cover-placeholder.js +38 -0
  212. package/build-module/cover/edit/cover-placeholder.js.map +1 -0
  213. package/build-module/cover/edit/index.js +307 -0
  214. package/build-module/cover/edit/index.js.map +1 -0
  215. package/build-module/cover/edit/inspector-controls.js +215 -0
  216. package/build-module/cover/edit/inspector-controls.js.map +1 -0
  217. package/build-module/cover/edit/resizable-cover.js +55 -0
  218. package/build-module/cover/edit/resizable-cover.js.map +1 -0
  219. package/build-module/cover/{use-cover-is-dark.js → edit/use-cover-is-dark.js} +0 -0
  220. package/build-module/cover/edit/use-cover-is-dark.js.map +1 -0
  221. package/build-module/cover/edit.native.js +0 -1
  222. package/build-module/cover/edit.native.js.map +1 -1
  223. package/build-module/cover/focal-point-settings-button.native.js.map +1 -1
  224. package/build-module/cover/shared.js +7 -0
  225. package/build-module/cover/shared.js.map +1 -1
  226. package/build-module/embed/embed-preview.js +2 -2
  227. package/build-module/embed/embed-preview.js.map +1 -1
  228. package/build-module/file/edit.native.js +0 -1
  229. package/build-module/file/edit.native.js.map +1 -1
  230. package/build-module/gallery/edit.js +2 -1
  231. package/build-module/gallery/edit.js.map +1 -1
  232. package/build-module/gallery/gallery.js +2 -2
  233. package/build-module/gallery/gallery.js.map +1 -1
  234. package/build-module/gallery/shared.js +2 -2
  235. package/build-module/gallery/shared.js.map +1 -1
  236. package/build-module/gallery/use-get-media.js +2 -1
  237. package/build-module/gallery/use-get-media.js.map +1 -1
  238. package/build-module/gallery/use-short-code-transform.js +19 -18
  239. package/build-module/gallery/use-short-code-transform.js.map +1 -1
  240. package/build-module/gallery/v1/gallery.js +2 -2
  241. package/build-module/gallery/v1/gallery.js.map +1 -1
  242. package/build-module/heading/edit.js +6 -2
  243. package/build-module/heading/edit.js.map +1 -1
  244. package/build-module/heading/index.js +1 -0
  245. package/build-module/heading/index.js.map +1 -1
  246. package/build-module/heading/transforms.js +1 -0
  247. package/build-module/heading/transforms.js.map +1 -1
  248. package/build-module/image/edit.js +6 -3
  249. package/build-module/image/edit.js.map +1 -1
  250. package/build-module/image/edit.native.js +0 -1
  251. package/build-module/image/edit.native.js.map +1 -1
  252. package/build-module/image/image.js +2 -2
  253. package/build-module/image/image.js.map +1 -1
  254. package/build-module/index.js +42 -10
  255. package/build-module/index.js.map +1 -1
  256. package/build-module/is-block-metadata-experimental.js +16 -0
  257. package/build-module/is-block-metadata-experimental.js.map +1 -0
  258. package/build-module/latest-posts/edit.js +29 -5
  259. package/build-module/latest-posts/edit.js.map +1 -1
  260. package/build-module/list/transforms.js +6 -0
  261. package/build-module/list/transforms.js.map +1 -1
  262. package/build-module/list/v2/edit.js +2 -1
  263. package/build-module/list/v2/edit.js.map +1 -1
  264. package/build-module/list/v2/migrate.js +1 -3
  265. package/build-module/list/v2/migrate.js.map +1 -1
  266. package/build-module/list/v2/transforms.js +46 -9
  267. package/build-module/list/v2/transforms.js.map +1 -1
  268. package/build-module/list-item/edit.js +8 -9
  269. package/build-module/list-item/edit.js.map +1 -1
  270. package/build-module/list-item/hooks/index.js +3 -0
  271. package/build-module/list-item/hooks/index.js.map +1 -1
  272. package/build-module/list-item/hooks/use-backspace.js +44 -0
  273. package/build-module/list-item/hooks/use-backspace.js.map +1 -0
  274. package/build-module/list-item/hooks/use-enter.js +6 -9
  275. package/build-module/list-item/hooks/use-enter.js.map +1 -1
  276. package/build-module/list-item/hooks/use-indent-list-item.js +33 -38
  277. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  278. package/build-module/list-item/hooks/use-space.js +40 -0
  279. package/build-module/list-item/hooks/use-space.js.map +1 -0
  280. package/build-module/list-item/hooks/use-split.js +19 -0
  281. package/build-module/list-item/hooks/use-split.js.map +1 -0
  282. package/build-module/list-item/index.js +1 -0
  283. package/build-module/list-item/index.js.map +1 -1
  284. package/build-module/list-item/utils.js +1 -1
  285. package/build-module/list-item/utils.js.map +1 -1
  286. package/build-module/media-text/edit.native.js +2 -1
  287. package/build-module/media-text/edit.native.js.map +1 -1
  288. package/build-module/media-text/media-container.native.js +2 -4
  289. package/build-module/media-text/media-container.native.js.map +1 -1
  290. package/build-module/media-text/transforms.js +137 -8
  291. package/build-module/media-text/transforms.js.map +1 -1
  292. package/build-module/navigation/edit/index.js +87 -82
  293. package/build-module/navigation/edit/index.js.map +1 -1
  294. package/build-module/navigation/edit/inner-blocks.js +2 -6
  295. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  296. package/build-module/navigation/use-navigation-entities.js +1 -1
  297. package/build-module/navigation/use-navigation-entities.js.map +1 -1
  298. package/build-module/navigation-link/fallback-variations.js +1 -1
  299. package/build-module/navigation-link/fallback-variations.js.map +1 -1
  300. package/build-module/navigation-link/hooks.js +2 -2
  301. package/build-module/navigation-link/hooks.js.map +1 -1
  302. package/build-module/page-list/convert-to-links-modal.js +1 -1
  303. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  304. package/build-module/page-list/edit.js +1 -1
  305. package/build-module/page-list/edit.js.map +1 -1
  306. package/build-module/post-author/edit.js +1 -1
  307. package/build-module/post-author/edit.js.map +1 -1
  308. package/build-module/post-author-name/index.js +1 -0
  309. package/build-module/post-author-name/index.js.map +1 -1
  310. package/build-module/post-comment/index.js +1 -0
  311. package/build-module/post-comment/index.js.map +1 -1
  312. package/build-module/post-comments/edit.js +35 -16
  313. package/build-module/post-comments/edit.js.map +1 -1
  314. package/build-module/post-comments-count/index.js +1 -0
  315. package/build-module/post-comments-count/index.js.map +1 -1
  316. package/build-module/post-comments-form/form.js +1 -1
  317. package/build-module/post-comments-form/form.js.map +1 -1
  318. package/build-module/post-comments-link/index.js +1 -0
  319. package/build-module/post-comments-link/index.js.map +1 -1
  320. package/build-module/post-featured-image/edit.js +1 -1
  321. package/build-module/post-featured-image/edit.js.map +1 -1
  322. package/build-module/post-template/edit.js +7 -2
  323. package/build-module/post-template/edit.js.map +1 -1
  324. package/build-module/post-terms/edit.js +10 -3
  325. package/build-module/post-terms/edit.js.map +1 -1
  326. package/build-module/post-terms/hooks.js +25 -0
  327. package/build-module/post-terms/hooks.js.map +1 -0
  328. package/build-module/post-terms/index.js +10 -8
  329. package/build-module/post-terms/index.js.map +1 -1
  330. package/build-module/post-title/index.js +1 -1
  331. package/build-module/post-title/index.js.map +1 -1
  332. package/build-module/pullquote/edit.js +2 -2
  333. package/build-module/pullquote/edit.js.map +1 -1
  334. package/build-module/pullquote/edit.native.js +2 -2
  335. package/build-module/pullquote/edit.native.js.map +1 -1
  336. package/build-module/query/edit/inspector-controls/index.js +24 -17
  337. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  338. package/build-module/query/edit/inspector-controls/parent-control.js +135 -0
  339. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -0
  340. package/build-module/query/edit/inspector-controls/sticky-control.js +31 -0
  341. package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -0
  342. package/build-module/query/index.js +2 -1
  343. package/build-module/query/index.js.map +1 -1
  344. package/build-module/query/utils.js +21 -0
  345. package/build-module/query/utils.js.map +1 -1
  346. package/build-module/query-title/index.js +1 -1
  347. package/build-module/query-title/index.js.map +1 -1
  348. package/build-module/query-title/variations.js +2 -2
  349. package/build-module/query-title/variations.js.map +1 -1
  350. package/build-module/quote/edit.js +4 -3
  351. package/build-module/quote/edit.js.map +1 -1
  352. package/build-module/quote/v2/edit.js +2 -2
  353. package/build-module/quote/v2/edit.js.map +1 -1
  354. package/build-module/search/edit.js +1 -0
  355. package/build-module/search/edit.js.map +1 -1
  356. package/build-module/site-logo/edit.js +1 -1
  357. package/build-module/site-logo/edit.js.map +1 -1
  358. package/build-module/table/edit.js +17 -4
  359. package/build-module/table/edit.js.map +1 -1
  360. package/build-module/table-of-contents/edit.js +136 -68
  361. package/build-module/table-of-contents/edit.js.map +1 -1
  362. package/build-module/table-of-contents/index.js +12 -3
  363. package/build-module/table-of-contents/index.js.map +1 -1
  364. package/build-module/table-of-contents/list.js +18 -10
  365. package/build-module/table-of-contents/list.js.map +1 -1
  366. package/build-module/table-of-contents/save.js +28 -0
  367. package/build-module/table-of-contents/save.js.map +1 -0
  368. package/build-module/table-of-contents/utils.js +11 -73
  369. package/build-module/table-of-contents/utils.js.map +1 -1
  370. package/build-module/template-part/edit/index.js +8 -4
  371. package/build-module/template-part/edit/index.js.map +1 -1
  372. package/build-module/template-part/edit/inner-blocks.js +4 -9
  373. package/build-module/template-part/edit/inner-blocks.js.map +1 -1
  374. package/build-module/video/edit.js +2 -2
  375. package/build-module/video/edit.js.map +1 -1
  376. package/build-style/editor-rtl.css +4 -6
  377. package/build-style/editor.css +4 -6
  378. package/build-style/image/editor-rtl.css +1 -1
  379. package/build-style/image/editor.css +1 -1
  380. package/build-style/post-comments/style-rtl.css +22 -0
  381. package/build-style/post-comments/style.css +22 -0
  382. package/build-style/post-comments-form/style-rtl.css +1 -3
  383. package/build-style/post-comments-form/style.css +1 -3
  384. package/build-style/separator/editor-rtl.css +1 -0
  385. package/build-style/separator/editor.css +1 -0
  386. package/build-style/style-rtl.css +23 -3
  387. package/build-style/style.css +23 -3
  388. package/build-style/video/editor-rtl.css +2 -5
  389. package/build-style/video/editor.css +2 -5
  390. package/build-types/table-of-contents/list.d.ts +12 -0
  391. package/build-types/table-of-contents/list.d.ts.map +1 -0
  392. package/build-types/table-of-contents/utils.d.ts +24 -0
  393. package/build-types/table-of-contents/utils.d.ts.map +1 -0
  394. package/package.json +30 -29
  395. package/src/audio/edit.js +4 -2
  396. package/src/avatar/block.json +0 -1
  397. package/src/avatar/index.php +2 -2
  398. package/src/block/edit.js +39 -42
  399. package/src/block/test/edit.native.js +1 -1
  400. package/src/button/block.json +1 -0
  401. package/src/categories/block.json +1 -1
  402. package/src/categories/edit.js +1 -1
  403. package/src/comment-author-avatar/block.json +1 -0
  404. package/src/comments-title/block.json +0 -6
  405. package/src/comments-title/deprecated.js +34 -0
  406. package/src/comments-title/edit.js +44 -100
  407. package/src/comments-title/index.js +3 -1
  408. package/src/comments-title/index.php +41 -23
  409. package/src/cover/controls.native.js +1 -2
  410. package/src/cover/edit/block-controls.js +119 -0
  411. package/src/cover/edit/cover-placeholder.js +39 -0
  412. package/src/cover/edit/index.js +381 -0
  413. package/src/cover/edit/inspector-controls.js +286 -0
  414. package/src/cover/edit/resizable-cover.js +55 -0
  415. package/src/cover/{use-cover-is-dark.js → edit/use-cover-is-dark.js} +0 -0
  416. package/src/cover/edit.native.js +0 -1
  417. package/src/cover/editor.scss +1 -1
  418. package/src/cover/focal-point-settings-button.native.js +1 -1
  419. package/src/cover/index.php +20 -37
  420. package/src/cover/shared.js +4 -0
  421. package/src/cover/test/block-controls.js +62 -0
  422. package/src/embed/embed-preview.js +4 -2
  423. package/src/file/edit.native.js +0 -1
  424. package/src/gallery/edit.js +2 -1
  425. package/src/gallery/gallery.js +2 -2
  426. package/src/gallery/shared.js +3 -2
  427. package/src/gallery/use-get-media.js +2 -1
  428. package/src/gallery/use-short-code-transform.js +19 -16
  429. package/src/gallery/v1/gallery.js +2 -2
  430. package/src/heading/block.json +1 -0
  431. package/src/heading/edit.js +5 -2
  432. package/src/image/edit.js +9 -1
  433. package/src/image/edit.native.js +0 -1
  434. package/src/image/editor.scss +1 -1
  435. package/src/image/image.js +8 -2
  436. package/src/image/test/edit.native.js +7 -7
  437. package/src/index.js +50 -27
  438. package/src/is-block-metadata-experimental.js +19 -0
  439. package/src/latest-posts/edit.js +27 -2
  440. package/src/latest-posts/index.php +12 -6
  441. package/src/list/transforms.js +7 -0
  442. package/src/list/v2/edit.js +1 -0
  443. package/src/list/v2/migrate.js +1 -1
  444. package/src/list/v2/transforms.js +35 -0
  445. package/src/list-item/block.json +2 -1
  446. package/src/list-item/edit.js +17 -10
  447. package/src/list-item/hooks/index.js +3 -0
  448. package/src/list-item/hooks/use-backspace.js +52 -0
  449. package/src/list-item/hooks/use-enter.js +9 -16
  450. package/src/list-item/hooks/use-indent-list-item.js +50 -63
  451. package/src/list-item/hooks/use-space.js +48 -0
  452. package/src/list-item/hooks/use-split.js +24 -0
  453. package/src/list-item/utils.js +1 -1
  454. package/src/media-text/edit.native.js +3 -1
  455. package/src/media-text/media-container.native.js +2 -4
  456. package/src/media-text/transforms.js +154 -0
  457. package/src/navigation/edit/index.js +175 -169
  458. package/src/navigation/edit/inner-blocks.js +1 -8
  459. package/src/navigation/index.php +40 -0
  460. package/src/navigation/use-navigation-entities.js +1 -1
  461. package/src/navigation-link/fallback-variations.js +1 -1
  462. package/src/navigation-link/hooks.js +2 -2
  463. package/src/navigation-link/test/__snapshots__/hooks.js.snap +4 -4
  464. package/src/page-list/convert-to-links-modal.js +1 -1
  465. package/src/page-list/edit.js +1 -4
  466. package/src/post-author/edit.js +24 -22
  467. package/src/post-author-name/block.json +1 -0
  468. package/src/post-comment/block.json +1 -0
  469. package/src/post-comments/edit.js +54 -22
  470. package/src/post-comments/style.scss +26 -0
  471. package/src/post-comments-count/block.json +1 -0
  472. package/src/post-comments-form/form.js +1 -4
  473. package/src/post-comments-form/style.scss +1 -4
  474. package/src/post-comments-link/block.json +1 -0
  475. package/src/post-featured-image/edit.js +1 -1
  476. package/src/post-template/edit.js +5 -0
  477. package/src/post-template/index.php +30 -0
  478. package/src/post-terms/edit.js +19 -0
  479. package/src/post-terms/hooks.js +27 -0
  480. package/src/post-terms/index.js +14 -7
  481. package/src/post-terms/index.php +40 -2
  482. package/src/post-title/index.js +1 -1
  483. package/src/pullquote/edit.js +2 -2
  484. package/src/pullquote/edit.native.js +2 -2
  485. package/src/query/block.json +2 -1
  486. package/src/query/edit/inspector-controls/index.js +25 -11
  487. package/src/query/edit/inspector-controls/parent-control.js +133 -0
  488. package/src/query/edit/inspector-controls/sticky-control.js +25 -0
  489. package/src/query/utils.js +22 -0
  490. package/src/query-title/index.js +1 -1
  491. package/src/query-title/variations.js +2 -2
  492. package/src/quote/edit.js +5 -2
  493. package/src/quote/v2/edit.js +4 -2
  494. package/src/search/edit.js +1 -0
  495. package/src/search/index.php +1 -1
  496. package/src/separator/editor.scss +1 -0
  497. package/src/site-logo/edit.js +1 -1
  498. package/src/table/edit.js +19 -4
  499. package/src/table-of-contents/block.json +9 -2
  500. package/src/table-of-contents/edit.js +155 -75
  501. package/src/table-of-contents/index.js +2 -0
  502. package/src/table-of-contents/list.tsx +46 -0
  503. package/src/table-of-contents/save.js +25 -0
  504. package/src/table-of-contents/utils.ts +71 -0
  505. package/src/tag-cloud/block.json +1 -1
  506. package/src/template-part/edit/index.js +25 -15
  507. package/src/template-part/edit/inner-blocks.js +2 -10
  508. package/src/video/edit.js +4 -2
  509. package/src/video/editor.scss +3 -6
  510. package/test/babel-plugin.js +67 -0
  511. package/tsconfig.json +11 -0
  512. package/tsconfig.tsbuildinfo +1 -0
  513. package/build/cover/edit.js +0 -598
  514. package/build/cover/edit.js.map +0 -1
  515. package/build/cover/use-cover-is-dark.js.map +0 -1
  516. package/build/post-terms/variations.js +0 -37
  517. package/build/post-terms/variations.js.map +0 -1
  518. package/build-module/cover/edit.js +0 -575
  519. package/build-module/cover/edit.js.map +0 -1
  520. package/build-module/cover/use-cover-is-dark.js.map +0 -1
  521. package/build-module/post-terms/variations.js +0 -27
  522. package/build-module/post-terms/variations.js.map +0 -1
  523. package/src/cover/edit.js +0 -757
  524. package/src/post-terms/variations.js +0 -28
  525. package/src/table-of-contents/index.php +0 -346
  526. package/src/table-of-contents/list.js +0 -28
  527. package/src/table-of-contents/utils.js +0 -126
@@ -251,6 +251,7 @@ function Navigation(_ref) {
251
251
 
252
252
  const isLoading = !hasResolvedNavigationMenus || isCreatingNavigationMenu || isConvertingClassicMenu || !!(ref && !isEntityAvailable && !isConvertingClassicMenu);
253
253
  const textDecoration = (_attributes$style = attributes.style) === null || _attributes$style === void 0 ? void 0 : (_attributes$style$typ = _attributes$style.typography) === null || _attributes$style$typ === void 0 ? void 0 : _attributes$style$typ.textDecoration;
254
+ const hasBlockOverlay = (0, _blockEditor.__experimentalUseBlockOverlayActive)(clientId);
254
255
  const blockProps = (0, _blockEditor.useBlockProps)({
255
256
  ref: navRef,
256
257
  className: (0, _classnames.default)(className, {
@@ -265,12 +266,15 @@ function Navigation(_ref) {
265
266
  [(0, _blockEditor.getColorClassName)('color', textColor === null || textColor === void 0 ? void 0 : textColor.slug)]: !!(textColor !== null && textColor !== void 0 && textColor.slug),
266
267
  'has-background': !!backgroundColor.color || backgroundColor.class,
267
268
  [(0, _blockEditor.getColorClassName)('background-color', backgroundColor === null || backgroundColor === void 0 ? void 0 : backgroundColor.slug)]: !!(backgroundColor !== null && backgroundColor !== void 0 && backgroundColor.slug),
268
- [`has-text-decoration-${textDecoration}`]: textDecoration
269
+ [`has-text-decoration-${textDecoration}`]: textDecoration,
270
+ 'block-editor-block-content-overlay': hasBlockOverlay
269
271
  }),
270
272
  style: {
271
273
  color: !(textColor !== null && textColor !== void 0 && textColor.slug) && (textColor === null || textColor === void 0 ? void 0 : textColor.color),
272
274
  backgroundColor: !(backgroundColor !== null && backgroundColor !== void 0 && backgroundColor.slug) && (backgroundColor === null || backgroundColor === void 0 ? void 0 : backgroundColor.color)
273
275
  }
276
+ }, {
277
+ __unstableIsDisabled: hasBlockOverlay
274
278
  });
275
279
  const overlayClassnames = (0, _classnames.default)({
276
280
  'has-text-color': !!overlayTextColor.color || !!(overlayTextColor !== null && overlayTextColor !== void 0 && overlayTextColor.class),
@@ -400,89 +404,12 @@ function Navigation(_ref) {
400
404
  replaceInnerBlocks(clientId, []);
401
405
  }
402
406
  });
403
- }, [clientId, ref]); // If the block has inner blocks, but no menu id, then these blocks are either:
404
- // - inserted via a pattern.
405
- // - inserted directly via Code View (or otherwise).
406
- // - from an older version of navigation block added before the block used a wp_navigation entity.
407
- // Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,
408
- // that automatically saves the menu as an entity when changes are made to the inner blocks.
409
-
410
- const hasUnsavedBlocks = hasUncontrolledInnerBlocks && !isEntityAvailable;
411
-
412
- if (hasUnsavedBlocks) {
413
- return (0, _element.createElement)(TagName, blockProps, (0, _element.createElement)(_responsiveWrapper.default, {
414
- id: clientId,
415
- onToggle: setResponsiveMenuVisibility,
416
- isOpen: isResponsiveMenuOpen,
417
- isResponsive: 'never' !== overlayMenu,
418
- isHiddenByDefault: 'always' === overlayMenu,
419
- classNames: overlayClassnames,
420
- styles: overlayStyles
421
- }, (0, _element.createElement)(_unsavedInnerBlocks.default, {
422
- blockProps: blockProps,
423
- blocks: uncontrolledInnerBlocks,
424
- clientId: clientId,
425
- navigationMenus: navigationMenus,
426
- hasSelection: isSelected || isInnerBlockSelected,
427
- hasSavedUnsavedInnerBlocks: hasSavedUnsavedInnerBlocks,
428
- onSave: post => {
429
- // Set some state used as a guard to prevent the creation of multiple posts.
430
- setHasSavedUnsavedInnerBlocks(true); // Switch to using the wp_navigation entity.
431
-
432
- setRef(post.id);
433
- showNavigationMenuCreateNotice((0, _i18n.__)(`New Navigation Menu created.`));
434
- }
435
- })));
436
- } // Show a warning if the selected menu is no longer available.
437
- // TODO - the user should be able to select a new one?
438
-
439
-
440
- if (ref && isNavigationMenuMissing) {
441
- return (0, _element.createElement)("div", blockProps, (0, _element.createElement)(_blockEditor.Warning, null, (0, _i18n.__)('Navigation menu has been deleted or is unavailable. '), (0, _element.createElement)(_components.Button, {
442
- onClick: resetToEmptyBlock,
443
- variant: "link"
444
- }, (0, _i18n.__)('Create a new menu?'))));
445
- }
446
-
447
- if (isEntityAvailable && hasAlreadyRendered) {
448
- return (0, _element.createElement)("div", blockProps, (0, _element.createElement)(_blockEditor.Warning, null, (0, _i18n.__)('Block cannot be rendered inside itself.')));
449
- }
450
-
451
- const PlaceholderComponent = CustomPlaceholder ? CustomPlaceholder : _placeholder.default;
407
+ }, [clientId, ref]);
452
408
  const isResponsive = 'never' !== overlayMenu;
453
409
  const overlayMenuPreviewClasses = (0, _classnames.default)('wp-block-navigation__overlay-menu-preview', {
454
410
  open: overlayMenuPreview
455
411
  });
456
-
457
- if (isPlaceholder) {
458
- return (0, _element.createElement)(TagName, blockProps, (0, _element.createElement)(PlaceholderComponent, {
459
- isSelected: isSelected,
460
- currentMenuId: ref,
461
- clientId: clientId,
462
- canUserCreateNavigationMenu: canUserCreateNavigationMenu,
463
- isResolvingCanUserCreateNavigationMenu: isResolvingCanUserCreateNavigationMenu,
464
- onFinish: handleSelectNavigation,
465
- onCreateEmpty: () => createNavigationMenu('', [])
466
- }));
467
- }
468
-
469
- return (0, _element.createElement)(_coreData.EntityProvider, {
470
- kind: "postType",
471
- type: "wp_navigation",
472
- id: ref
473
- }, (0, _element.createElement)(RecursionProvider, null, (0, _element.createElement)(_blockEditor.BlockControls, null, !isDraftNavigationMenu && isEntityAvailable && (0, _element.createElement)(_components.ToolbarGroup, {
474
- className: "wp-block-navigation__toolbar-menu-selector"
475
- }, (0, _element.createElement)(_navigationMenuSelector.default, {
476
- ref: navigationSelectorRef,
477
- currentMenuId: ref,
478
- clientId: clientId,
479
- onSelect: handleSelectNavigation,
480
- onCreateNew: resetToEmptyBlock
481
- /* translators: %s: The name of a menu. */
482
- ,
483
- actionLabel: (0, _i18n.__)("Switch to '%s'"),
484
- showManageActions: true
485
- }))), (0, _element.createElement)(_blockEditor.InspectorControls, null, hasSubmenuIndicatorSetting && (0, _element.createElement)(_components.PanelBody, {
412
+ const stylingInspectorControls = (0, _element.createElement)(_blockEditor.InspectorControls, null, hasSubmenuIndicatorSetting && (0, _element.createElement)(_components.PanelBody, {
486
413
  title: (0, _i18n.__)('Display')
487
414
  }, isResponsive && (0, _element.createElement)(_components.Button, {
488
415
  className: overlayMenuPreviewClasses,
@@ -563,7 +490,85 @@ function Navigation(_ref) {
563
490
  }), (0, _element.createElement)(_blockEditor.ContrastChecker, {
564
491
  backgroundColor: detectedOverlayBackgroundColor,
565
492
  textColor: detectedOverlayColor
566
- })))), isEntityAvailable && (0, _element.createElement)(_blockEditor.InspectorControls, {
493
+ })))); // If the block has inner blocks, but no menu id, then these blocks are either:
494
+ // - inserted via a pattern.
495
+ // - inserted directly via Code View (or otherwise).
496
+ // - from an older version of navigation block added before the block used a wp_navigation entity.
497
+ // Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,
498
+ // that automatically saves the menu as an entity when changes are made to the inner blocks.
499
+
500
+ const hasUnsavedBlocks = hasUncontrolledInnerBlocks && !isEntityAvailable;
501
+
502
+ if (hasUnsavedBlocks) {
503
+ return (0, _element.createElement)(TagName, blockProps, stylingInspectorControls, (0, _element.createElement)(_responsiveWrapper.default, {
504
+ id: clientId,
505
+ onToggle: setResponsiveMenuVisibility,
506
+ isOpen: isResponsiveMenuOpen,
507
+ isResponsive: 'never' !== overlayMenu,
508
+ isHiddenByDefault: 'always' === overlayMenu,
509
+ classNames: overlayClassnames,
510
+ styles: overlayStyles
511
+ }, (0, _element.createElement)(_unsavedInnerBlocks.default, {
512
+ blockProps: blockProps,
513
+ blocks: uncontrolledInnerBlocks,
514
+ clientId: clientId,
515
+ navigationMenus: navigationMenus,
516
+ hasSelection: isSelected || isInnerBlockSelected,
517
+ hasSavedUnsavedInnerBlocks: hasSavedUnsavedInnerBlocks,
518
+ onSave: post => {
519
+ // Set some state used as a guard to prevent the creation of multiple posts.
520
+ setHasSavedUnsavedInnerBlocks(true); // Switch to using the wp_navigation entity.
521
+
522
+ setRef(post.id);
523
+ showNavigationMenuCreateNotice((0, _i18n.__)(`New Navigation Menu created.`));
524
+ }
525
+ })));
526
+ } // Show a warning if the selected menu is no longer available.
527
+ // TODO - the user should be able to select a new one?
528
+
529
+
530
+ if (ref && isNavigationMenuMissing) {
531
+ return (0, _element.createElement)("div", blockProps, (0, _element.createElement)(_blockEditor.Warning, null, (0, _i18n.__)('Navigation menu has been deleted or is unavailable. '), (0, _element.createElement)(_components.Button, {
532
+ onClick: resetToEmptyBlock,
533
+ variant: "link"
534
+ }, (0, _i18n.__)('Create a new menu?'))));
535
+ }
536
+
537
+ if (isEntityAvailable && hasAlreadyRendered) {
538
+ return (0, _element.createElement)("div", blockProps, (0, _element.createElement)(_blockEditor.Warning, null, (0, _i18n.__)('Block cannot be rendered inside itself.')));
539
+ }
540
+
541
+ const PlaceholderComponent = CustomPlaceholder ? CustomPlaceholder : _placeholder.default;
542
+
543
+ if (isPlaceholder) {
544
+ return (0, _element.createElement)(TagName, blockProps, (0, _element.createElement)(PlaceholderComponent, {
545
+ isSelected: isSelected,
546
+ currentMenuId: ref,
547
+ clientId: clientId,
548
+ canUserCreateNavigationMenu: canUserCreateNavigationMenu,
549
+ isResolvingCanUserCreateNavigationMenu: isResolvingCanUserCreateNavigationMenu,
550
+ onFinish: handleSelectNavigation,
551
+ onCreateEmpty: () => createNavigationMenu('', [])
552
+ }));
553
+ }
554
+
555
+ return (0, _element.createElement)(_coreData.EntityProvider, {
556
+ kind: "postType",
557
+ type: "wp_navigation",
558
+ id: ref
559
+ }, (0, _element.createElement)(RecursionProvider, null, (0, _element.createElement)(_blockEditor.BlockControls, null, !isDraftNavigationMenu && isEntityAvailable && (0, _element.createElement)(_components.ToolbarGroup, {
560
+ className: "wp-block-navigation__toolbar-menu-selector"
561
+ }, (0, _element.createElement)(_navigationMenuSelector.default, {
562
+ ref: navigationSelectorRef,
563
+ currentMenuId: ref,
564
+ clientId: clientId,
565
+ onSelect: handleSelectNavigation,
566
+ onCreateNew: resetToEmptyBlock
567
+ /* translators: %s: The name of a menu. */
568
+ ,
569
+ actionLabel: (0, _i18n.__)("Switch to '%s'"),
570
+ showManageActions: true
571
+ }))), stylingInspectorControls, isEntityAvailable && (0, _element.createElement)(_blockEditor.InspectorControls, {
567
572
  __experimentalGroup: "advanced"
568
573
  }, hasResolvedCanUserUpdateNavigationMenu && canUserUpdateNavigationMenu && (0, _element.createElement)(_navigationMenuNameControl.default, null), hasResolvedCanUserDeleteNavigationMenu && canUserDeleteNavigationMenu && (0, _element.createElement)(_navigationMenuDeleteControl.default, {
569
574
  onDelete: function () {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"names":["EMPTY_ARRAY","getComputedStyle","node","ownerDocument","defaultView","detectColors","colorsDetectionElement","setColor","setBackground","color","backgroundColorNode","backgroundColor","parentNode","nodeType","ELEMENT_NODE","Navigation","attributes","setAttributes","clientId","isSelected","className","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","hasSubmenuIndicatorSetting","hasColorSettings","customPlaceholder","CustomPlaceholder","openSubmenusOnClick","overlayMenu","showSubmenuIcon","layout","justifyContent","orientation","flexWrap","hasIcon","ref","registry","setRef","postId","hasAlreadyRendered","RecursionProvider","showNavigationMenuDeleteNotice","name","showNavigationMenuCreateNotice","hideNavigationMenuCreateNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isCreatingNavigationMenu","CREATE_NAVIGATION_MENU_PENDING","CREATE_NAVIGATION_MENU_SUCCESS","id","selectBlock","CREATE_NAVIGATION_MENU_ERROR","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","hasSubmenus","select","getBlock","getBlocks","hasSelectedInnerBlock","blockEditorStore","_uncontrolledInnerBlocks","innerBlocks","_hasUncontrolledInnerBlocks","length","_controlledInnerBlocks","find","block","replaceInnerBlocks","__unstableMarkNextChangeAsNotPersistent","hasSavedUnsavedInnerBlocks","setHasSavedUnsavedInnerBlocks","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","navigationMenus","navigationMenu","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","hasResolvedCanUserCreateNavigationMenu","navRef","isDraftNavigationMenu","convert","classicMenuConversionStatus","classicMenuConversionError","classicMenuConversionResult","isConvertingClassicMenu","CLASSIC_MENU_CONVERSION_PENDING","TagName","isPlaceholder","isEntityAvailable","isLoading","textDecoration","style","typography","blockProps","class","slug","overlayClassnames","overlayStyles","enableContrastChecking","Platform","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","showClassicMenuConversionErrorNotice","hideClassicMenuConversionErrorNotice","handleUpdateMenu","menuId","CLASSIC_MENU_CONVERSION_SUCCESS","CLASSIC_MENU_CONVERSION_ERROR","current","subMenuElement","querySelector","showCantEditNotice","hideCantEditNotice","message","showCantCreateNotice","hideCantCreateNotice","navigationSelectorRef","shouldFocusNavigationSelector","setShouldFocusNavigationSelector","handleSelectNavigation","navPostOrClassicMenu","isClassicMenu","hasOwnProperty","focus","resetToEmptyBlock","batch","undefined","hasUnsavedBlocks","post","PlaceholderComponent","Placeholder","isResponsive","overlayMenuPreviewClasses","open","onChange","label","deletedMenuTitle"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseCallback,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n\tstore as blockEditorStore,\n\twithColors,\n\tPanelColorSettings,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n} from '@wordpress/block-editor';\nimport { EntityProvider } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToolbarGroup,\n\tButton,\n\tSpinner,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuSelector from './navigation-menu-selector';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuIcon from './overlay-menu-icon';\nimport useConvertClassicToBlockMenu, {\n\tCLASSIC_MENU_CONVERSION_ERROR,\n\tCLASSIC_MENU_CONVERSION_PENDING,\n\tCLASSIC_MENU_CONVERSION_SUCCESS,\n} from './use-convert-classic-menu-to-block-menu';\nimport useCreateNavigationMenu, {\n\tCREATE_NAVIGATION_MENU_ERROR,\n\tCREATE_NAVIGATION_MENU_PENDING,\n\tCREATE_NAVIGATION_MENU_SUCCESS,\n} from './use-create-navigation-menu';\n\nconst EMPTY_ARRAY = [];\n\nfunction getComputedStyle( node ) {\n\treturn node.ownerDocument.defaultView.getComputedStyle( node );\n}\n\nfunction detectColors( colorsDetectionElement, setColor, setBackground ) {\n\tif ( ! colorsDetectionElement ) {\n\t\treturn;\n\t}\n\tsetColor( getComputedStyle( colorsDetectionElement ).color );\n\n\tlet backgroundColorNode = colorsDetectionElement;\n\tlet backgroundColor = getComputedStyle( backgroundColorNode )\n\t\t.backgroundColor;\n\twhile (\n\t\tbackgroundColor === 'rgba(0, 0, 0, 0)' &&\n\t\tbackgroundColorNode.parentNode &&\n\t\tbackgroundColorNode.parentNode.nodeType ===\n\t\t\tbackgroundColorNode.parentNode.ELEMENT_NODE\n\t) {\n\t\tbackgroundColorNode = backgroundColorNode.parentNode;\n\t\tbackgroundColor = getComputedStyle( backgroundColorNode )\n\t\t\t.backgroundColor;\n\t}\n\n\tsetBackground( backgroundColor );\n}\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\thasColorSettings = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst registry = useRegistry();\n\tconst setRef = ( postId ) => {\n\t\tsetAttributes( { ref: postId } );\n\t};\n\n\tconst [ hasAlreadyRendered, RecursionProvider ] = useNoRecursiveRenders(\n\t\t`navigationMenu/${ ref }`\n\t);\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tuseNavigationEntities();\n\n\tconst [ showNavigationMenuDeleteNotice ] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/delete',\n\t} );\n\n\tconst [\n\t\tshowNavigationMenuCreateNotice,\n\t\thideNavigationMenuCreateNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/create',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t} = useCreateNavigationMenu( clientId );\n\n\tconst isCreatingNavigationMenu =\n\t\tcreateNavigationMenuStatus === CREATE_NAVIGATION_MENU_PENDING;\n\n\tuseEffect( () => {\n\t\thideNavigationMenuCreateNotice();\n\n\t\tif ( createNavigationMenuStatus === CREATE_NAVIGATION_MENU_PENDING ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuStatus === CREATE_NAVIGATION_MENU_SUCCESS ) {\n\t\t\tsetRef( createNavigationMenuPost.id );\n\t\t\tselectBlock( clientId );\n\n\t\t\tshowNavigationMenuCreateNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuStatus === CREATE_NAVIGATION_MENU_ERROR ) {\n\t\t\tshowNavigationMenuCreateNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenu,\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost,\n\t] );\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\thasSubmenus,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getBlocks, hasSelectedInnerBlock } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\t// This relies on the fact that `getBlock` won't return controlled\n\t\t\t// inner blocks, while `getBlocks` does. It might be more stable to\n\t\t\t// introduce a selector like `getUncontrolledInnerBlocks`, just in\n\t\t\t// case `getBlock` is fixed.\n\t\t\tconst _uncontrolledInnerBlocks = getBlock( clientId ).innerBlocks;\n\t\t\tconst _hasUncontrolledInnerBlocks = !! _uncontrolledInnerBlocks?.length;\n\t\t\tconst _controlledInnerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? EMPTY_ARRAY\n\t\t\t\t: getBlocks( clientId );\n\t\t\tconst innerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? _uncontrolledInnerBlocks\n\t\t\t\t: _controlledInnerBlocks;\n\n\t\t\treturn {\n\t\t\t\thasSubmenus: !! innerBlocks.find(\n\t\t\t\t\t( block ) => block.name === 'core/navigation-submenu'\n\t\t\t\t),\n\t\t\t\thasUncontrolledInnerBlocks: _hasUncontrolledInnerBlocks,\n\t\t\t\tuncontrolledInnerBlocks: _uncontrolledInnerBlocks,\n\t\t\t\tisInnerBlockSelected: hasSelectedInnerBlock( clientId, true ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [\n\t\thasSavedUnsavedInnerBlocks,\n\t\tsetHasSavedUnsavedInnerBlocks,\n\t] = useState( false );\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] = useState(\n\t\tfalse\n\t);\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tnavigationMenus,\n\t\tnavigationMenu,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\tisResolvingCanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t} = useNavigationMenu( ref );\n\n\t// Attempt to retrieve and prioritize any existing navigation menu unless\n\t// a specific ref is allocated or the user is explicitly creating a new menu. The aim is\n\t// for the block to \"just work\" from a user perspective using existing data.\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisCreatingNavigationMenu ||\n\t\t\tref ||\n\t\t\t! navigationMenus?.length ||\n\t\t\tnavigationMenus?.length > 1\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetRef( navigationMenus[ 0 ].id );\n\t}, [ navigationMenus ] );\n\n\tconst navRef = useRef();\n\n\tconst isDraftNavigationMenu = navigationMenu?.status === 'draft';\n\n\tconst {\n\t\tconvert,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t\tvalue: classicMenuConversionResult,\n\t} = useConvertClassicToBlockMenu( clientId );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\t// The standard HTML5 tag for the block wrapper.\n\tconst TagName = 'nav';\n\n\t// \"placeholder\" shown if:\n\t// - there is no ref attribute pointing to a Navigation Post.\n\t// - there is no classic menu conversion process in progress.\n\t// - there is no menu creation process in progress.\n\t// - there are no uncontrolled blocks.\n\tconst isPlaceholder =\n\t\t! ref &&\n\t\t! isCreatingNavigationMenu &&\n\t\t! isConvertingClassicMenu &&\n\t\thasResolvedNavigationMenus &&\n\t\t! hasUncontrolledInnerBlocks;\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\t// \"loading\" state:\n\t// - there is a menu creation process in progress.\n\t// - there is a classic menu conversion process in progress.\n\t// OR\n\t// - there is a ref attribute pointing to a Navigation Post\n\t// - the Navigation Post isn't available (hasn't resolved) yet.\n\tconst isLoading =\n\t\t! hasResolvedNavigationMenus ||\n\t\tisCreatingNavigationMenu ||\n\t\tisConvertingClassicMenu ||\n\t\t!! ( ref && ! isEntityAvailable && ! isConvertingClassicMenu );\n\n\tconst textDecoration = attributes.style?.typography?.textDecoration;\n\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: classnames( className, {\n\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t'items-justified-space-between': justifyContent === 'space-between',\n\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t'is-responsive': 'never' !== overlayMenu,\n\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'color',\n\t\t\t\ttextColor?.slug\n\t\t\t) ]: !! textColor?.slug,\n\t\t\t'has-background': !! backgroundColor.color || backgroundColor.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor?.slug\n\t\t\t) ]: !! backgroundColor?.slug,\n\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\tconst overlayClassnames = classnames( {\n\t\t'has-text-color':\n\t\t\t!! overlayTextColor.color || !! overlayTextColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'color',\n\t\t\toverlayTextColor?.slug\n\t\t) ]: !! overlayTextColor?.slug,\n\t\t'has-background':\n\t\t\t!! overlayBackgroundColor.color || overlayBackgroundColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayBackgroundColor?.slug\n\t\t) ]: !! overlayBackgroundColor?.slug,\n\t} );\n\n\tconst overlayStyles = {\n\t\tcolor: ! overlayTextColor?.slug && overlayTextColor?.color,\n\t\tbackgroundColor:\n\t\t\t! overlayBackgroundColor?.slug &&\n\t\t\toverlayBackgroundColor?.color &&\n\t\t\toverlayBackgroundColor.color,\n\t};\n\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\tconst [\n\t\tshowClassicMenuConversionErrorNotice,\n\t\thideClassicMenuConversionErrorNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/classic-menu-conversion/error',\n\t} );\n\n\tfunction handleUpdateMenu( menuId ) {\n\t\tsetRef( menuId );\n\t\tselectBlock( clientId );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif (\n\t\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS &&\n\t\t\tclassicMenuConversionResult\n\t\t) {\n\t\t\thandleUpdateMenu( classicMenuConversionResult?.id );\n\t\t\thideClassicMenuConversionErrorNotice();\n\t\t\tspeak( __( 'Classic menu imported successfully.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionErrorNotice( classicMenuConversionError );\n\t\t\tspeak( __( 'Classic menu import failed.' ) );\n\t\t}\n\t}, [\n\t\tclassicMenuConversionStatus,\n\t\tclassicMenuConversionResult,\n\t\tclassicMenuConversionError,\n\t] );\n\n\t// Spacer block needs orientation from context. This is a patch until\n\t// https://github.com/WordPress/gutenberg/issues/36197 is addressed.\n\tuseEffect( () => {\n\t\tif ( orientation ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { orientation } );\n\t\t}\n\t}, [ orientation ] );\n\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-link\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\t\tif ( subMenuElement ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t} );\n\n\tconst [ showCantEditNotice, hideCantEditNotice ] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t\tmessage: __(\n\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t),\n\t} );\n\n\tconst [ showCantCreateNotice, hideCantCreateNotice ] = useNavigationNotice(\n\t\t{\n\t\t\tname: 'block-library/core/navigation/permissions/create',\n\t\t\tmessage: __(\n\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t),\n\t\t}\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideCantEditNotice();\n\t\t\thideCantCreateNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowCantEditNotice();\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenu &&\n\t\t\t\t! canUserCreateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowCantCreateNotice();\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t\tref,\n\t] );\n\n\tconst navigationSelectorRef = useRef();\n\tconst [\n\t\tshouldFocusNavigationSelector,\n\t\tsetShouldFocusNavigationSelector,\n\t] = useState( false );\n\tconst handleSelectNavigation = useCallback(\n\t\t( navPostOrClassicMenu ) => {\n\t\t\tif ( ! navPostOrClassicMenu ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isClassicMenu = navPostOrClassicMenu.hasOwnProperty(\n\t\t\t\t'auto_add'\n\t\t\t);\n\n\t\t\tif ( isClassicMenu ) {\n\t\t\t\tconvert( navPostOrClassicMenu.id, navPostOrClassicMenu.name );\n\t\t\t} else {\n\t\t\t\thandleUpdateMenu( navPostOrClassicMenu.id );\n\t\t\t}\n\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t},\n\t\t[ convert, handleUpdateMenu ]\n\t);\n\n\t// Focus support after menu selection.\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisDraftNavigationMenu ||\n\t\t\t! isEntityAvailable ||\n\t\t\t! shouldFocusNavigationSelector\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tnavigationSelectorRef?.current?.focus();\n\t\tsetShouldFocusNavigationSelector( false );\n\t}, [\n\t\tisDraftNavigationMenu,\n\t\tisEntityAvailable,\n\t\tshouldFocusNavigationSelector,\n\t] );\n\n\tconst resetToEmptyBlock = useCallback( () => {\n\t\tregistry.batch( () => {\n\t\t\tsetAttributes( {\n\t\t\t\tref: undefined,\n\t\t\t} );\n\t\t\tif ( ! ref ) {\n\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t}\n\t\t} );\n\t}, [ clientId, ref ] );\n\n\t// If the block has inner blocks, but no menu id, then these blocks are either:\n\t// - inserted via a pattern.\n\t// - inserted directly via Code View (or otherwise).\n\t// - from an older version of navigation block added before the block used a wp_navigation entity.\n\t// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu as an entity when changes are made to the inner blocks.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\tif ( hasUnsavedBlocks ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\tisResponsive={ 'never' !== overlayMenu }\n\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\tclassNames={ overlayClassnames }\n\t\t\t\t\tstyles={ overlayStyles }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t\thasSavedUnsavedInnerBlocks={\n\t\t\t\t\t\t\thasSavedUnsavedInnerBlocks\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSave={ ( post ) => {\n\t\t\t\t\t\t\t// Set some state used as a guard to prevent the creation of multiple posts.\n\t\t\t\t\t\t\tsetHasSavedUnsavedInnerBlocks( true );\n\t\t\t\t\t\t\t// Switch to using the wp_navigation entity.\n\t\t\t\t\t\t\tsetRef( post.id );\n\n\t\t\t\t\t\t\tshowNavigationMenuCreateNotice(\n\t\t\t\t\t\t\t\t__( `New Navigation Menu created.` )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Navigation menu has been deleted or is unavailable. '\n\t\t\t\t\t) }\n\t\t\t\t\t<Button onClick={ resetToEmptyBlock } variant=\"link\">\n\t\t\t\t\t\t{ __( 'Create a new menu?' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\tconst isResponsive = 'never' !== overlayMenu;\n\n\tconst overlayMenuPreviewClasses = classnames(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tif ( isPlaceholder ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<PlaceholderComponent\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcanUserCreateNavigationMenu={ canUserCreateNavigationMenu }\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenu={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenu\n\t\t\t\t\t}\n\t\t\t\t\tonFinish={ handleSelectNavigation }\n\t\t\t\t\tonCreateEmpty={ () => createNavigationMenu( '', [] ) }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ ! isDraftNavigationMenu && isEntityAvailable && (\n\t\t\t\t\t\t<ToolbarGroup className=\"wp-block-navigation__toolbar-menu-selector\">\n\t\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\t\tref={ navigationSelectorRef }\n\t\t\t\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\tonSelect={ handleSelectNavigation }\n\t\t\t\t\t\t\t\tonCreateNew={ resetToEmptyBlock }\n\t\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t\t\t\t\t\tshowManageActions\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasIcon && <OverlayMenuIcon /> }\n\t\t\t\t\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show icon button' ) }\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Configure the visual appearance of the button opening the overlay menu.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { hasIcon: value } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchecked={ hasIcon }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\tattributes.openSubmenusOnClick\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasColorSettings && (\n\t\t\t\t\t\t<PanelColorSettings\n\t\t\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\t\t\tcolorSettings={ [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: textColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setTextColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: backgroundColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setBackgroundColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: overlayTextColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setOverlayTextColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\t\t\tdetectedBackgroundColor\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PanelColorSettings>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ ( deletedMenuTitle = '' ) => {\n\t\t\t\t\t\t\t\t\t\tresetToEmptyBlock();\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuDeleteNotice(\n\t\t\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\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\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Navigation menu %s successfully deleted.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tdeletedMenuTitle\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\n\t\t\t\t{ isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\n\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\tlabel={ __( 'Menu' ) }\n\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\t\t\tclassNames={ overlayClassnames }\n\t\t\t\t\t\t\tstyles={ overlayStyles }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"names":["EMPTY_ARRAY","getComputedStyle","node","ownerDocument","defaultView","detectColors","colorsDetectionElement","setColor","setBackground","color","backgroundColorNode","backgroundColor","parentNode","nodeType","ELEMENT_NODE","Navigation","attributes","setAttributes","clientId","isSelected","className","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","hasSubmenuIndicatorSetting","hasColorSettings","customPlaceholder","CustomPlaceholder","openSubmenusOnClick","overlayMenu","showSubmenuIcon","layout","justifyContent","orientation","flexWrap","hasIcon","ref","registry","setRef","postId","hasAlreadyRendered","RecursionProvider","showNavigationMenuDeleteNotice","name","showNavigationMenuCreateNotice","hideNavigationMenuCreateNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isCreatingNavigationMenu","CREATE_NAVIGATION_MENU_PENDING","CREATE_NAVIGATION_MENU_SUCCESS","id","selectBlock","CREATE_NAVIGATION_MENU_ERROR","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","hasSubmenus","select","getBlock","getBlocks","hasSelectedInnerBlock","blockEditorStore","_uncontrolledInnerBlocks","innerBlocks","_hasUncontrolledInnerBlocks","length","_controlledInnerBlocks","find","block","replaceInnerBlocks","__unstableMarkNextChangeAsNotPersistent","hasSavedUnsavedInnerBlocks","setHasSavedUnsavedInnerBlocks","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","navigationMenus","navigationMenu","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","hasResolvedCanUserCreateNavigationMenu","navRef","isDraftNavigationMenu","convert","classicMenuConversionStatus","classicMenuConversionError","classicMenuConversionResult","isConvertingClassicMenu","CLASSIC_MENU_CONVERSION_PENDING","TagName","isPlaceholder","isEntityAvailable","isLoading","textDecoration","style","typography","hasBlockOverlay","blockProps","class","slug","__unstableIsDisabled","overlayClassnames","overlayStyles","enableContrastChecking","Platform","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","showClassicMenuConversionErrorNotice","hideClassicMenuConversionErrorNotice","handleUpdateMenu","menuId","CLASSIC_MENU_CONVERSION_SUCCESS","CLASSIC_MENU_CONVERSION_ERROR","current","subMenuElement","querySelector","showCantEditNotice","hideCantEditNotice","message","showCantCreateNotice","hideCantCreateNotice","navigationSelectorRef","shouldFocusNavigationSelector","setShouldFocusNavigationSelector","handleSelectNavigation","navPostOrClassicMenu","isClassicMenu","hasOwnProperty","focus","resetToEmptyBlock","batch","undefined","isResponsive","overlayMenuPreviewClasses","open","stylingInspectorControls","onChange","label","hasUnsavedBlocks","post","PlaceholderComponent","Placeholder","deletedMenuTitle"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseCallback,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n\tstore as blockEditorStore,\n\twithColors,\n\tPanelColorSettings,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalUseBlockOverlayActive as useBlockOverlayActive,\n} from '@wordpress/block-editor';\nimport { EntityProvider } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToolbarGroup,\n\tButton,\n\tSpinner,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuSelector from './navigation-menu-selector';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuIcon from './overlay-menu-icon';\nimport useConvertClassicToBlockMenu, {\n\tCLASSIC_MENU_CONVERSION_ERROR,\n\tCLASSIC_MENU_CONVERSION_PENDING,\n\tCLASSIC_MENU_CONVERSION_SUCCESS,\n} from './use-convert-classic-menu-to-block-menu';\nimport useCreateNavigationMenu, {\n\tCREATE_NAVIGATION_MENU_ERROR,\n\tCREATE_NAVIGATION_MENU_PENDING,\n\tCREATE_NAVIGATION_MENU_SUCCESS,\n} from './use-create-navigation-menu';\n\nconst EMPTY_ARRAY = [];\n\nfunction getComputedStyle( node ) {\n\treturn node.ownerDocument.defaultView.getComputedStyle( node );\n}\n\nfunction detectColors( colorsDetectionElement, setColor, setBackground ) {\n\tif ( ! colorsDetectionElement ) {\n\t\treturn;\n\t}\n\tsetColor( getComputedStyle( colorsDetectionElement ).color );\n\n\tlet backgroundColorNode = colorsDetectionElement;\n\tlet backgroundColor = getComputedStyle( backgroundColorNode )\n\t\t.backgroundColor;\n\twhile (\n\t\tbackgroundColor === 'rgba(0, 0, 0, 0)' &&\n\t\tbackgroundColorNode.parentNode &&\n\t\tbackgroundColorNode.parentNode.nodeType ===\n\t\t\tbackgroundColorNode.parentNode.ELEMENT_NODE\n\t) {\n\t\tbackgroundColorNode = backgroundColorNode.parentNode;\n\t\tbackgroundColor = getComputedStyle( backgroundColorNode )\n\t\t\t.backgroundColor;\n\t}\n\n\tsetBackground( backgroundColor );\n}\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\thasColorSettings = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst registry = useRegistry();\n\tconst setRef = ( postId ) => {\n\t\tsetAttributes( { ref: postId } );\n\t};\n\n\tconst [ hasAlreadyRendered, RecursionProvider ] = useNoRecursiveRenders(\n\t\t`navigationMenu/${ ref }`\n\t);\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tuseNavigationEntities();\n\n\tconst [ showNavigationMenuDeleteNotice ] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/delete',\n\t} );\n\n\tconst [\n\t\tshowNavigationMenuCreateNotice,\n\t\thideNavigationMenuCreateNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/create',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t} = useCreateNavigationMenu( clientId );\n\n\tconst isCreatingNavigationMenu =\n\t\tcreateNavigationMenuStatus === CREATE_NAVIGATION_MENU_PENDING;\n\n\tuseEffect( () => {\n\t\thideNavigationMenuCreateNotice();\n\n\t\tif ( createNavigationMenuStatus === CREATE_NAVIGATION_MENU_PENDING ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuStatus === CREATE_NAVIGATION_MENU_SUCCESS ) {\n\t\t\tsetRef( createNavigationMenuPost.id );\n\t\t\tselectBlock( clientId );\n\n\t\t\tshowNavigationMenuCreateNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuStatus === CREATE_NAVIGATION_MENU_ERROR ) {\n\t\t\tshowNavigationMenuCreateNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenu,\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost,\n\t] );\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\thasSubmenus,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getBlocks, hasSelectedInnerBlock } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\t// This relies on the fact that `getBlock` won't return controlled\n\t\t\t// inner blocks, while `getBlocks` does. It might be more stable to\n\t\t\t// introduce a selector like `getUncontrolledInnerBlocks`, just in\n\t\t\t// case `getBlock` is fixed.\n\t\t\tconst _uncontrolledInnerBlocks = getBlock( clientId ).innerBlocks;\n\t\t\tconst _hasUncontrolledInnerBlocks = !! _uncontrolledInnerBlocks?.length;\n\t\t\tconst _controlledInnerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? EMPTY_ARRAY\n\t\t\t\t: getBlocks( clientId );\n\t\t\tconst innerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? _uncontrolledInnerBlocks\n\t\t\t\t: _controlledInnerBlocks;\n\n\t\t\treturn {\n\t\t\t\thasSubmenus: !! innerBlocks.find(\n\t\t\t\t\t( block ) => block.name === 'core/navigation-submenu'\n\t\t\t\t),\n\t\t\t\thasUncontrolledInnerBlocks: _hasUncontrolledInnerBlocks,\n\t\t\t\tuncontrolledInnerBlocks: _uncontrolledInnerBlocks,\n\t\t\t\tisInnerBlockSelected: hasSelectedInnerBlock( clientId, true ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [\n\t\thasSavedUnsavedInnerBlocks,\n\t\tsetHasSavedUnsavedInnerBlocks,\n\t] = useState( false );\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] = useState(\n\t\tfalse\n\t);\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tnavigationMenus,\n\t\tnavigationMenu,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\tisResolvingCanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t} = useNavigationMenu( ref );\n\n\t// Attempt to retrieve and prioritize any existing navigation menu unless\n\t// a specific ref is allocated or the user is explicitly creating a new menu. The aim is\n\t// for the block to \"just work\" from a user perspective using existing data.\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisCreatingNavigationMenu ||\n\t\t\tref ||\n\t\t\t! navigationMenus?.length ||\n\t\t\tnavigationMenus?.length > 1\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetRef( navigationMenus[ 0 ].id );\n\t}, [ navigationMenus ] );\n\n\tconst navRef = useRef();\n\n\tconst isDraftNavigationMenu = navigationMenu?.status === 'draft';\n\n\tconst {\n\t\tconvert,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t\tvalue: classicMenuConversionResult,\n\t} = useConvertClassicToBlockMenu( clientId );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\t// The standard HTML5 tag for the block wrapper.\n\tconst TagName = 'nav';\n\n\t// \"placeholder\" shown if:\n\t// - there is no ref attribute pointing to a Navigation Post.\n\t// - there is no classic menu conversion process in progress.\n\t// - there is no menu creation process in progress.\n\t// - there are no uncontrolled blocks.\n\tconst isPlaceholder =\n\t\t! ref &&\n\t\t! isCreatingNavigationMenu &&\n\t\t! isConvertingClassicMenu &&\n\t\thasResolvedNavigationMenus &&\n\t\t! hasUncontrolledInnerBlocks;\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\t// \"loading\" state:\n\t// - there is a menu creation process in progress.\n\t// - there is a classic menu conversion process in progress.\n\t// OR\n\t// - there is a ref attribute pointing to a Navigation Post\n\t// - the Navigation Post isn't available (hasn't resolved) yet.\n\tconst isLoading =\n\t\t! hasResolvedNavigationMenus ||\n\t\tisCreatingNavigationMenu ||\n\t\tisConvertingClassicMenu ||\n\t\t!! ( ref && ! isEntityAvailable && ! isConvertingClassicMenu );\n\n\tconst textDecoration = attributes.style?.typography?.textDecoration;\n\n\tconst hasBlockOverlay = useBlockOverlayActive( clientId );\n\tconst blockProps = useBlockProps(\n\t\t{\n\t\t\tref: navRef,\n\t\t\tclassName: classnames( className, {\n\t\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t\t'items-justified-space-between':\n\t\t\t\t\tjustifyContent === 'space-between',\n\t\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t\t'is-responsive': 'never' !== overlayMenu,\n\t\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t\t[ getColorClassName(\n\t\t\t\t\t'color',\n\t\t\t\t\ttextColor?.slug\n\t\t\t\t) ]: !! textColor?.slug,\n\t\t\t\t'has-background':\n\t\t\t\t\t!! backgroundColor.color || backgroundColor.class,\n\t\t\t\t[ getColorClassName(\n\t\t\t\t\t'background-color',\n\t\t\t\t\tbackgroundColor?.slug\n\t\t\t\t) ]: !! backgroundColor?.slug,\n\t\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t\t\t'block-editor-block-content-overlay': hasBlockOverlay,\n\t\t\t} ),\n\t\t\tstyle: {\n\t\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\t\tbackgroundColor:\n\t\t\t\t\t! backgroundColor?.slug && backgroundColor?.color,\n\t\t\t},\n\t\t},\n\t\t{ __unstableIsDisabled: hasBlockOverlay }\n\t);\n\n\tconst overlayClassnames = classnames( {\n\t\t'has-text-color':\n\t\t\t!! overlayTextColor.color || !! overlayTextColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'color',\n\t\t\toverlayTextColor?.slug\n\t\t) ]: !! overlayTextColor?.slug,\n\t\t'has-background':\n\t\t\t!! overlayBackgroundColor.color || overlayBackgroundColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayBackgroundColor?.slug\n\t\t) ]: !! overlayBackgroundColor?.slug,\n\t} );\n\n\tconst overlayStyles = {\n\t\tcolor: ! overlayTextColor?.slug && overlayTextColor?.color,\n\t\tbackgroundColor:\n\t\t\t! overlayBackgroundColor?.slug &&\n\t\t\toverlayBackgroundColor?.color &&\n\t\t\toverlayBackgroundColor.color,\n\t};\n\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\tconst [\n\t\tshowClassicMenuConversionErrorNotice,\n\t\thideClassicMenuConversionErrorNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/classic-menu-conversion/error',\n\t} );\n\n\tfunction handleUpdateMenu( menuId ) {\n\t\tsetRef( menuId );\n\t\tselectBlock( clientId );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif (\n\t\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS &&\n\t\t\tclassicMenuConversionResult\n\t\t) {\n\t\t\thandleUpdateMenu( classicMenuConversionResult?.id );\n\t\t\thideClassicMenuConversionErrorNotice();\n\t\t\tspeak( __( 'Classic menu imported successfully.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionErrorNotice( classicMenuConversionError );\n\t\t\tspeak( __( 'Classic menu import failed.' ) );\n\t\t}\n\t}, [\n\t\tclassicMenuConversionStatus,\n\t\tclassicMenuConversionResult,\n\t\tclassicMenuConversionError,\n\t] );\n\n\t// Spacer block needs orientation from context. This is a patch until\n\t// https://github.com/WordPress/gutenberg/issues/36197 is addressed.\n\tuseEffect( () => {\n\t\tif ( orientation ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { orientation } );\n\t\t}\n\t}, [ orientation ] );\n\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-link\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\t\tif ( subMenuElement ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t} );\n\n\tconst [ showCantEditNotice, hideCantEditNotice ] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t\tmessage: __(\n\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t),\n\t} );\n\n\tconst [ showCantCreateNotice, hideCantCreateNotice ] = useNavigationNotice(\n\t\t{\n\t\t\tname: 'block-library/core/navigation/permissions/create',\n\t\t\tmessage: __(\n\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t),\n\t\t}\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideCantEditNotice();\n\t\t\thideCantCreateNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowCantEditNotice();\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenu &&\n\t\t\t\t! canUserCreateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowCantCreateNotice();\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t\tref,\n\t] );\n\n\tconst navigationSelectorRef = useRef();\n\tconst [\n\t\tshouldFocusNavigationSelector,\n\t\tsetShouldFocusNavigationSelector,\n\t] = useState( false );\n\tconst handleSelectNavigation = useCallback(\n\t\t( navPostOrClassicMenu ) => {\n\t\t\tif ( ! navPostOrClassicMenu ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isClassicMenu = navPostOrClassicMenu.hasOwnProperty(\n\t\t\t\t'auto_add'\n\t\t\t);\n\n\t\t\tif ( isClassicMenu ) {\n\t\t\t\tconvert( navPostOrClassicMenu.id, navPostOrClassicMenu.name );\n\t\t\t} else {\n\t\t\t\thandleUpdateMenu( navPostOrClassicMenu.id );\n\t\t\t}\n\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t},\n\t\t[ convert, handleUpdateMenu ]\n\t);\n\n\t// Focus support after menu selection.\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisDraftNavigationMenu ||\n\t\t\t! isEntityAvailable ||\n\t\t\t! shouldFocusNavigationSelector\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tnavigationSelectorRef?.current?.focus();\n\t\tsetShouldFocusNavigationSelector( false );\n\t}, [\n\t\tisDraftNavigationMenu,\n\t\tisEntityAvailable,\n\t\tshouldFocusNavigationSelector,\n\t] );\n\n\tconst resetToEmptyBlock = useCallback( () => {\n\t\tregistry.batch( () => {\n\t\t\tsetAttributes( {\n\t\t\t\tref: undefined,\n\t\t\t} );\n\t\t\tif ( ! ref ) {\n\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t}\n\t\t} );\n\t}, [ clientId, ref ] );\n\n\tconst isResponsive = 'never' !== overlayMenu;\n\n\tconst overlayMenuPreviewClasses = classnames(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tconst stylingInspectorControls = (\n\t\t<InspectorControls>\n\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetOverlayMenuPreview( ! overlayMenuPreview );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ hasIcon && <OverlayMenuIcon /> }\n\t\t\t\t\t\t\t{ ! hasIcon && <span>{ __( 'Menu' ) }</span> }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show icon button' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Configure the visual appearance of the button opening the overlay menu.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { hasIcon: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ hasIcon }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdisabled={ attributes.openSubmenusOnClick }\n\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t\t{ hasColorSettings && (\n\t\t\t\t<PanelColorSettings\n\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\tcolorSettings={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: textColor.color,\n\t\t\t\t\t\t\tonChange: setTextColor,\n\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: backgroundColor.color,\n\t\t\t\t\t\t\tonChange: setBackgroundColor,\n\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: overlayTextColor.color,\n\t\t\t\t\t\t\tonChange: setOverlayTextColor,\n\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\tonChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelColorSettings>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n\n\t// If the block has inner blocks, but no menu id, then these blocks are either:\n\t// - inserted via a pattern.\n\t// - inserted directly via Code View (or otherwise).\n\t// - from an older version of navigation block added before the block used a wp_navigation entity.\n\t// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu as an entity when changes are made to the inner blocks.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\tif ( hasUnsavedBlocks ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t{ stylingInspectorControls }\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\tisResponsive={ 'never' !== overlayMenu }\n\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\tclassNames={ overlayClassnames }\n\t\t\t\t\tstyles={ overlayStyles }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t\thasSavedUnsavedInnerBlocks={\n\t\t\t\t\t\t\thasSavedUnsavedInnerBlocks\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSave={ ( post ) => {\n\t\t\t\t\t\t\t// Set some state used as a guard to prevent the creation of multiple posts.\n\t\t\t\t\t\t\tsetHasSavedUnsavedInnerBlocks( true );\n\t\t\t\t\t\t\t// Switch to using the wp_navigation entity.\n\t\t\t\t\t\t\tsetRef( post.id );\n\n\t\t\t\t\t\t\tshowNavigationMenuCreateNotice(\n\t\t\t\t\t\t\t\t__( `New Navigation Menu created.` )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Navigation menu has been deleted or is unavailable. '\n\t\t\t\t\t) }\n\t\t\t\t\t<Button onClick={ resetToEmptyBlock } variant=\"link\">\n\t\t\t\t\t\t{ __( 'Create a new menu?' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\tif ( isPlaceholder ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<PlaceholderComponent\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcanUserCreateNavigationMenu={ canUserCreateNavigationMenu }\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenu={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenu\n\t\t\t\t\t}\n\t\t\t\t\tonFinish={ handleSelectNavigation }\n\t\t\t\t\tonCreateEmpty={ () => createNavigationMenu( '', [] ) }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ ! isDraftNavigationMenu && isEntityAvailable && (\n\t\t\t\t\t\t<ToolbarGroup className=\"wp-block-navigation__toolbar-menu-selector\">\n\t\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\t\tref={ navigationSelectorRef }\n\t\t\t\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\tonSelect={ handleSelectNavigation }\n\t\t\t\t\t\t\t\tonCreateNew={ resetToEmptyBlock }\n\t\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t\t\t\t\t\tshowManageActions\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t\t{ stylingInspectorControls }\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ ( deletedMenuTitle = '' ) => {\n\t\t\t\t\t\t\t\t\t\tresetToEmptyBlock();\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuDeleteNotice(\n\t\t\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\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\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Navigation menu %s successfully deleted.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tdeletedMenuTitle\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\n\t\t\t\t{ isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\n\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\tlabel={ __( 'Menu' ) }\n\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\t\t\tclassNames={ overlayClassnames }\n\t\t\t\t\t\t\tstyles={ overlayStyles }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"]}
@@ -100,10 +100,6 @@ function NavigationInnerBlocks(_ref) {
100
100
  __experimentalLayout: LAYOUT,
101
101
  placeholder: showPlaceholder ? placeholder : undefined
102
102
  });
103
- return (0, _element.createElement)(_blockEditor.__experimentalBlockContentOverlay, {
104
- clientId: clientId,
105
- tagName: 'div',
106
- wrapperProps: innerBlocksProps
107
- });
103
+ return (0, _element.createElement)("div", innerBlocksProps);
108
104
  }
109
105
  //# sourceMappingURL=inner-blocks.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/inner-blocks.js"],"names":["ALLOWED_BLOCKS","DEFAULT_BLOCK","name","LAYOUT","type","alignments","NavigationInnerBlocks","clientId","hasCustomPlaceholder","orientation","isImmediateParentOfSelectedBlock","selectedBlockHasChildren","isSelected","select","getBlockCount","hasSelectedInnerBlock","getSelectedBlockClientId","blockEditorStore","selectedBlockId","blocks","onInput","onChange","shouldDirectInsert","every","parentOrChildHasSelection","placeholder","hasMenuItems","length","showPlaceholder","innerBlocksProps","className","value","allowedBlocks","__experimentalDefaultBlock","__experimentalDirectInsert","renderAppender","InnerBlocks","ButtonBlockAppender","templateLock","__experimentalLayout","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityBlockEditor } from '@wordpress/core-data';\nimport {\n\tuseInnerBlocksProps,\n\tInnerBlocks,\n\t__experimentalBlockContentOverlay as BlockContentOverlay,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport PlaceholderPreview from './placeholder/placeholder-preview';\n\nconst ALLOWED_BLOCKS = [\n\t'core/navigation-link',\n\t'core/search',\n\t'core/social-links',\n\t'core/page-list',\n\t'core/spacer',\n\t'core/home-link',\n\t'core/site-title',\n\t'core/site-logo',\n\t'core/navigation-submenu',\n];\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n};\n\nconst LAYOUT = {\n\ttype: 'default',\n\talignments: [],\n};\n\nexport default function NavigationInnerBlocks( {\n\tclientId,\n\thasCustomPlaceholder,\n\torientation,\n} ) {\n\tconst {\n\t\tisImmediateParentOfSelectedBlock,\n\t\tselectedBlockHasChildren,\n\t\tisSelected,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst selectedBlockId = getSelectedBlockClientId();\n\n\t\t\treturn {\n\t\t\t\tisImmediateParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\tselectedBlockHasChildren: !! getBlockCount( selectedBlockId ),\n\n\t\t\t\t// This prop is already available but computing it here ensures it's\n\t\t\t\t// fresh compared to isImmediateParentOfSelectedBlock.\n\t\t\t\tisSelected: selectedBlockId === clientId,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\t'wp_navigation'\n\t);\n\n\tconst shouldDirectInsert = useMemo(\n\t\t() =>\n\t\t\tblocks.every(\n\t\t\t\t( { name } ) =>\n\t\t\t\t\tname === 'core/navigation-link' ||\n\t\t\t\t\tname === 'core/navigation-submenu' ||\n\t\t\t\t\tname === 'core/page-list'\n\t\t\t),\n\t\t[ blocks ]\n\t);\n\n\t// When the block is selected itself or has a top level item selected that\n\t// doesn't itself have children, show the standard appender. Else show no\n\t// appender.\n\tconst parentOrChildHasSelection =\n\t\tisSelected ||\n\t\t( isImmediateParentOfSelectedBlock && ! selectedBlockHasChildren );\n\n\tconst placeholder = useMemo( () => <PlaceholderPreview />, [] );\n\n\tconst hasMenuItems = !! blocks?.length;\n\n\t// If there is a `ref` attribute pointing to a `wp_navigation` but\n\t// that menu has no **items** (i.e. empty) then show a placeholder.\n\t// The block must also be selected else the placeholder will display\n\t// alongside the appender.\n\tconst showPlaceholder =\n\t\t! hasCustomPlaceholder && ! hasMenuItems && ! isSelected;\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-navigation__container',\n\t\t},\n\t\t{\n\t\t\tvalue: blocks,\n\t\t\tonInput,\n\t\t\tonChange,\n\t\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\t\t__experimentalDefaultBlock: DEFAULT_BLOCK,\n\t\t\t__experimentalDirectInsert: shouldDirectInsert,\n\t\t\torientation,\n\n\t\t\t// As an exception to other blocks which feature nesting, show\n\t\t\t// the block appender even when a child block is selected.\n\t\t\t// This should be a temporary fix, to be replaced by improvements to\n\t\t\t// the sibling inserter.\n\t\t\t// See https://github.com/WordPress/gutenberg/issues/37572.\n\t\t\trenderAppender:\n\t\t\t\tisSelected ||\n\t\t\t\t( isImmediateParentOfSelectedBlock &&\n\t\t\t\t\t! selectedBlockHasChildren ) ||\n\t\t\t\t// Show the appender while dragging to allow inserting element between item and the appender.\n\t\t\t\tparentOrChildHasSelection\n\t\t\t\t\t? InnerBlocks.ButtonBlockAppender\n\t\t\t\t\t: false,\n\n\t\t\t// Template lock set to false here so that the Nav\n\t\t\t// Block on the experimental menus screen does not\n\t\t\t// inherit templateLock={ 'all' }.\n\t\t\ttemplateLock: false,\n\t\t\t__experimentalLayout: LAYOUT,\n\t\t\tplaceholder: showPlaceholder ? placeholder : undefined,\n\t\t}\n\t);\n\n\treturn (\n\t\t<BlockContentOverlay\n\t\t\tclientId={ clientId }\n\t\t\ttagName={ 'div' }\n\t\t\twrapperProps={ innerBlocksProps }\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/inner-blocks.js"],"names":["ALLOWED_BLOCKS","DEFAULT_BLOCK","name","LAYOUT","type","alignments","NavigationInnerBlocks","clientId","hasCustomPlaceholder","orientation","isImmediateParentOfSelectedBlock","selectedBlockHasChildren","isSelected","select","getBlockCount","hasSelectedInnerBlock","getSelectedBlockClientId","blockEditorStore","selectedBlockId","blocks","onInput","onChange","shouldDirectInsert","every","parentOrChildHasSelection","placeholder","hasMenuItems","length","showPlaceholder","innerBlocksProps","className","value","allowedBlocks","__experimentalDefaultBlock","__experimentalDirectInsert","renderAppender","InnerBlocks","ButtonBlockAppender","templateLock","__experimentalLayout","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityBlockEditor } from '@wordpress/core-data';\nimport {\n\tuseInnerBlocksProps,\n\tInnerBlocks,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport PlaceholderPreview from './placeholder/placeholder-preview';\n\nconst ALLOWED_BLOCKS = [\n\t'core/navigation-link',\n\t'core/search',\n\t'core/social-links',\n\t'core/page-list',\n\t'core/spacer',\n\t'core/home-link',\n\t'core/site-title',\n\t'core/site-logo',\n\t'core/navigation-submenu',\n];\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n};\n\nconst LAYOUT = {\n\ttype: 'default',\n\talignments: [],\n};\n\nexport default function NavigationInnerBlocks( {\n\tclientId,\n\thasCustomPlaceholder,\n\torientation,\n} ) {\n\tconst {\n\t\tisImmediateParentOfSelectedBlock,\n\t\tselectedBlockHasChildren,\n\t\tisSelected,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst selectedBlockId = getSelectedBlockClientId();\n\n\t\t\treturn {\n\t\t\t\tisImmediateParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\tselectedBlockHasChildren: !! getBlockCount( selectedBlockId ),\n\n\t\t\t\t// This prop is already available but computing it here ensures it's\n\t\t\t\t// fresh compared to isImmediateParentOfSelectedBlock.\n\t\t\t\tisSelected: selectedBlockId === clientId,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\t'wp_navigation'\n\t);\n\n\tconst shouldDirectInsert = useMemo(\n\t\t() =>\n\t\t\tblocks.every(\n\t\t\t\t( { name } ) =>\n\t\t\t\t\tname === 'core/navigation-link' ||\n\t\t\t\t\tname === 'core/navigation-submenu' ||\n\t\t\t\t\tname === 'core/page-list'\n\t\t\t),\n\t\t[ blocks ]\n\t);\n\n\t// When the block is selected itself or has a top level item selected that\n\t// doesn't itself have children, show the standard appender. Else show no\n\t// appender.\n\tconst parentOrChildHasSelection =\n\t\tisSelected ||\n\t\t( isImmediateParentOfSelectedBlock && ! selectedBlockHasChildren );\n\n\tconst placeholder = useMemo( () => <PlaceholderPreview />, [] );\n\n\tconst hasMenuItems = !! blocks?.length;\n\n\t// If there is a `ref` attribute pointing to a `wp_navigation` but\n\t// that menu has no **items** (i.e. empty) then show a placeholder.\n\t// The block must also be selected else the placeholder will display\n\t// alongside the appender.\n\tconst showPlaceholder =\n\t\t! hasCustomPlaceholder && ! hasMenuItems && ! isSelected;\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-navigation__container',\n\t\t},\n\t\t{\n\t\t\tvalue: blocks,\n\t\t\tonInput,\n\t\t\tonChange,\n\t\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\t\t__experimentalDefaultBlock: DEFAULT_BLOCK,\n\t\t\t__experimentalDirectInsert: shouldDirectInsert,\n\t\t\torientation,\n\n\t\t\t// As an exception to other blocks which feature nesting, show\n\t\t\t// the block appender even when a child block is selected.\n\t\t\t// This should be a temporary fix, to be replaced by improvements to\n\t\t\t// the sibling inserter.\n\t\t\t// See https://github.com/WordPress/gutenberg/issues/37572.\n\t\t\trenderAppender:\n\t\t\t\tisSelected ||\n\t\t\t\t( isImmediateParentOfSelectedBlock &&\n\t\t\t\t\t! selectedBlockHasChildren ) ||\n\t\t\t\t// Show the appender while dragging to allow inserting element between item and the appender.\n\t\t\t\tparentOrChildHasSelection\n\t\t\t\t\t? InnerBlocks.ButtonBlockAppender\n\t\t\t\t\t: false,\n\n\t\t\t// Template lock set to false here so that the Nav\n\t\t\t// Block on the experimental menus screen does not\n\t\t\t// inherit templateLock={ 'all' }.\n\t\t\ttemplateLock: false,\n\t\t\t__experimentalLayout: LAYOUT,\n\t\t\tplaceholder: showPlaceholder ? placeholder : undefined,\n\t\t}\n\t);\n\n\treturn <div { ...innerBlocksProps } />;\n}\n"]}
@@ -37,7 +37,7 @@ function useNavigationEntities(menuId) {
37
37
  records: menus,
38
38
  isResolving: isResolvingMenus,
39
39
  hasResolved: hasResolvedMenus
40
- } = (0, _coreData.__experimentalUseEntityRecords)('root', 'menu', {
40
+ } = (0, _coreData.useEntityRecords)('root', 'menu', {
41
41
  per_page: -1,
42
42
  context: 'view'
43
43
  });
@@ -45,7 +45,7 @@ function useNavigationEntities(menuId) {
45
45
  records: pages,
46
46
  isResolving: isResolvingPages,
47
47
  hasResolved: hasResolvedPages
48
- } = (0, _coreData.__experimentalUseEntityRecords)('postType', 'page', {
48
+ } = (0, _coreData.useEntityRecords)('postType', 'page', {
49
49
  parent: 0,
50
50
  order: 'asc',
51
51
  orderby: 'id',
@@ -55,7 +55,7 @@ function useNavigationEntities(menuId) {
55
55
  const {
56
56
  records: menuItems,
57
57
  hasResolved: hasResolvedMenuItems
58
- } = (0, _coreData.__experimentalUseEntityRecords)('root', 'menuItem', {
58
+ } = (0, _coreData.useEntityRecords)('root', 'menuItem', {
59
59
  menus: menuId,
60
60
  per_page: -1,
61
61
  context: 'view'
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/use-navigation-entities.js"],"names":["useNavigationEntities","menuId","records","menus","isResolving","isResolvingMenus","hasResolved","hasResolvedMenus","per_page","context","pages","isResolvingPages","hasResolvedPages","parent","order","orderby","menuItems","hasResolvedMenuItems","enabled","hasPages","length","hasMenus"],"mappings":";;;;;;;AAGA;;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,qBAAT,CAAgCC,MAAhC,EAAyC;AACvD,QAAM;AACLC,IAAAA,OAAO,EAAEC,KADJ;AAELC,IAAAA,WAAW,EAAEC,gBAFR;AAGLC,IAAAA,WAAW,EAAEC;AAHR,MAIF,8CAAkB,MAAlB,EAA0B,MAA1B,EAAkC;AAAEC,IAAAA,QAAQ,EAAE,CAAC,CAAb;AAAgBC,IAAAA,OAAO,EAAE;AAAzB,GAAlC,CAJJ;AAMA,QAAM;AACLP,IAAAA,OAAO,EAAEQ,KADJ;AAELN,IAAAA,WAAW,EAAEO,gBAFR;AAGLL,IAAAA,WAAW,EAAEM;AAHR,MAIF,8CAAkB,UAAlB,EAA8B,MAA9B,EAAsC;AACzCC,IAAAA,MAAM,EAAE,CADiC;AAEzCC,IAAAA,KAAK,EAAE,KAFkC;AAGzCC,IAAAA,OAAO,EAAE,IAHgC;AAIzCP,IAAAA,QAAQ,EAAE,CAAC,CAJ8B;AAKzCC,IAAAA,OAAO,EAAE;AALgC,GAAtC,CAJJ;AAYA,QAAM;AACLP,IAAAA,OAAO,EAAEc,SADJ;AAELV,IAAAA,WAAW,EAAEW;AAFR,MAGF,8CACH,MADG,EAEH,UAFG,EAGH;AACCd,IAAAA,KAAK,EAAEF,MADR;AAECO,IAAAA,QAAQ,EAAE,CAAC,CAFZ;AAGCC,IAAAA,OAAO,EAAE;AAHV,GAHG,EAQH;AAAES,IAAAA,OAAO,EAAE,CAAC,CAAEjB;AAAd,GARG,CAHJ;AAcA,SAAO;AACNS,IAAAA,KADM;AAENC,IAAAA,gBAFM;AAGNC,IAAAA,gBAHM;AAINO,IAAAA,QAAQ,EAAE,CAAC,EAAIP,gBAAgB,IAAIF,KAAJ,aAAIA,KAAJ,eAAIA,KAAK,CAAEU,MAA/B,CAJL;AAMNjB,IAAAA,KANM;AAONE,IAAAA,gBAPM;AAQNE,IAAAA,gBARM;AASNc,IAAAA,QAAQ,EAAE,CAAC,EAAId,gBAAgB,IAAIJ,KAAJ,aAAIA,KAAJ,eAAIA,KAAK,CAAEiB,MAA/B,CATL;AAWNJ,IAAAA,SAXM;AAYNC,IAAAA;AAZM,GAAP;AAcA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalUseEntityRecords as useEntityRecords } from '@wordpress/core-data';\n\n/**\n * @typedef {Object} NavigationEntitiesData\n * @property {Array|undefined} pages - a collection of WP Post entity objects of post type \"Page\".\n * @property {boolean} isResolvingPages - indicates whether the request to fetch pages is currently resolving.\n * @property {boolean} hasResolvedPages - indicates whether the request to fetch pages has finished resolving.\n * @property {Array|undefined} menus - a collection of Menu entity objects.\n * @property {boolean} isResolvingMenus - indicates whether the request to fetch menus is currently resolving.\n * @property {boolean} hasResolvedMenus - indicates whether the request to fetch menus has finished resolving.\n * @property {Array|undefined} menusItems - a collection of Menu Item entity objects for the current menuId.\n * @property {boolean} hasResolvedMenuItems - indicates whether the request to fetch menuItems has finished resolving.\n * @property {boolean} hasPages - indicates whether there is currently any data for pages.\n * @property {boolean} hasMenus - indicates whether there is currently any data for menus.\n */\n\n/**\n * Manages fetching and resolution state for all entities required\n * for the Navigation block.\n *\n * @param {number} menuId the menu for which to retrieve menuItem data.\n * @return { NavigationEntitiesData } the entity data.\n */\nexport default function useNavigationEntities( menuId ) {\n\tconst {\n\t\trecords: menus,\n\t\tisResolving: isResolvingMenus,\n\t\thasResolved: hasResolvedMenus,\n\t} = useEntityRecords( 'root', 'menu', { per_page: -1, context: 'view' } );\n\n\tconst {\n\t\trecords: pages,\n\t\tisResolving: isResolvingPages,\n\t\thasResolved: hasResolvedPages,\n\t} = useEntityRecords( 'postType', 'page', {\n\t\tparent: 0,\n\t\torder: 'asc',\n\t\torderby: 'id',\n\t\tper_page: -1,\n\t\tcontext: 'view',\n\t} );\n\n\tconst {\n\t\trecords: menuItems,\n\t\thasResolved: hasResolvedMenuItems,\n\t} = useEntityRecords(\n\t\t'root',\n\t\t'menuItem',\n\t\t{\n\t\t\tmenus: menuId,\n\t\t\tper_page: -1,\n\t\t\tcontext: 'view',\n\t\t},\n\t\t{ enabled: !! menuId }\n\t);\n\n\treturn {\n\t\tpages,\n\t\tisResolvingPages,\n\t\thasResolvedPages,\n\t\thasPages: !! ( hasResolvedPages && pages?.length ),\n\n\t\tmenus,\n\t\tisResolvingMenus,\n\t\thasResolvedMenus,\n\t\thasMenus: !! ( hasResolvedMenus && menus?.length ),\n\n\t\tmenuItems,\n\t\thasResolvedMenuItems,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/use-navigation-entities.js"],"names":["useNavigationEntities","menuId","records","menus","isResolving","isResolvingMenus","hasResolved","hasResolvedMenus","per_page","context","pages","isResolvingPages","hasResolvedPages","parent","order","orderby","menuItems","hasResolvedMenuItems","enabled","hasPages","length","hasMenus"],"mappings":";;;;;;;AAGA;;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,qBAAT,CAAgCC,MAAhC,EAAyC;AACvD,QAAM;AACLC,IAAAA,OAAO,EAAEC,KADJ;AAELC,IAAAA,WAAW,EAAEC,gBAFR;AAGLC,IAAAA,WAAW,EAAEC;AAHR,MAIF,gCAAkB,MAAlB,EAA0B,MAA1B,EAAkC;AAAEC,IAAAA,QAAQ,EAAE,CAAC,CAAb;AAAgBC,IAAAA,OAAO,EAAE;AAAzB,GAAlC,CAJJ;AAMA,QAAM;AACLP,IAAAA,OAAO,EAAEQ,KADJ;AAELN,IAAAA,WAAW,EAAEO,gBAFR;AAGLL,IAAAA,WAAW,EAAEM;AAHR,MAIF,gCAAkB,UAAlB,EAA8B,MAA9B,EAAsC;AACzCC,IAAAA,MAAM,EAAE,CADiC;AAEzCC,IAAAA,KAAK,EAAE,KAFkC;AAGzCC,IAAAA,OAAO,EAAE,IAHgC;AAIzCP,IAAAA,QAAQ,EAAE,CAAC,CAJ8B;AAKzCC,IAAAA,OAAO,EAAE;AALgC,GAAtC,CAJJ;AAYA,QAAM;AACLP,IAAAA,OAAO,EAAEc,SADJ;AAELV,IAAAA,WAAW,EAAEW;AAFR,MAGF,gCACH,MADG,EAEH,UAFG,EAGH;AACCd,IAAAA,KAAK,EAAEF,MADR;AAECO,IAAAA,QAAQ,EAAE,CAAC,CAFZ;AAGCC,IAAAA,OAAO,EAAE;AAHV,GAHG,EAQH;AAAES,IAAAA,OAAO,EAAE,CAAC,CAAEjB;AAAd,GARG,CAHJ;AAcA,SAAO;AACNS,IAAAA,KADM;AAENC,IAAAA,gBAFM;AAGNC,IAAAA,gBAHM;AAINO,IAAAA,QAAQ,EAAE,CAAC,EAAIP,gBAAgB,IAAIF,KAAJ,aAAIA,KAAJ,eAAIA,KAAK,CAAEU,MAA/B,CAJL;AAMNjB,IAAAA,KANM;AAONE,IAAAA,gBAPM;AAQNE,IAAAA,gBARM;AASNc,IAAAA,QAAQ,EAAE,CAAC,EAAId,gBAAgB,IAAIJ,KAAJ,aAAIA,KAAJ,eAAIA,KAAK,CAAEiB,MAA/B,CATL;AAWNJ,IAAAA,SAXM;AAYNC,IAAAA;AAZM,GAAP;AAcA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityRecords } from '@wordpress/core-data';\n\n/**\n * @typedef {Object} NavigationEntitiesData\n * @property {Array|undefined} pages - a collection of WP Post entity objects of post type \"Page\".\n * @property {boolean} isResolvingPages - indicates whether the request to fetch pages is currently resolving.\n * @property {boolean} hasResolvedPages - indicates whether the request to fetch pages has finished resolving.\n * @property {Array|undefined} menus - a collection of Menu entity objects.\n * @property {boolean} isResolvingMenus - indicates whether the request to fetch menus is currently resolving.\n * @property {boolean} hasResolvedMenus - indicates whether the request to fetch menus has finished resolving.\n * @property {Array|undefined} menusItems - a collection of Menu Item entity objects for the current menuId.\n * @property {boolean} hasResolvedMenuItems - indicates whether the request to fetch menuItems has finished resolving.\n * @property {boolean} hasPages - indicates whether there is currently any data for pages.\n * @property {boolean} hasMenus - indicates whether there is currently any data for menus.\n */\n\n/**\n * Manages fetching and resolution state for all entities required\n * for the Navigation block.\n *\n * @param {number} menuId the menu for which to retrieve menuItem data.\n * @return { NavigationEntitiesData } the entity data.\n */\nexport default function useNavigationEntities( menuId ) {\n\tconst {\n\t\trecords: menus,\n\t\tisResolving: isResolvingMenus,\n\t\thasResolved: hasResolvedMenus,\n\t} = useEntityRecords( 'root', 'menu', { per_page: -1, context: 'view' } );\n\n\tconst {\n\t\trecords: pages,\n\t\tisResolving: isResolvingPages,\n\t\thasResolved: hasResolvedPages,\n\t} = useEntityRecords( 'postType', 'page', {\n\t\tparent: 0,\n\t\torder: 'asc',\n\t\torderby: 'id',\n\t\tper_page: -1,\n\t\tcontext: 'view',\n\t} );\n\n\tconst {\n\t\trecords: menuItems,\n\t\thasResolved: hasResolvedMenuItems,\n\t} = useEntityRecords(\n\t\t'root',\n\t\t'menuItem',\n\t\t{\n\t\t\tmenus: menuId,\n\t\t\tper_page: -1,\n\t\t\tcontext: 'view',\n\t\t},\n\t\t{ enabled: !! menuId }\n\t);\n\n\treturn {\n\t\tpages,\n\t\tisResolvingPages,\n\t\thasResolvedPages,\n\t\thasPages: !! ( hasResolvedPages && pages?.length ),\n\n\t\tmenus,\n\t\tisResolvingMenus,\n\t\thasResolvedMenus,\n\t\thasMenus: !! ( hasResolvedMenus && menus?.length ),\n\n\t\tmenuItems,\n\t\thasResolvedMenuItems,\n\t};\n}\n"]}
@@ -24,7 +24,7 @@ const fallbackVariations = [{
24
24
  attributes: {}
25
25
  }, {
26
26
  name: 'post',
27
- icon: _icons.postTitle,
27
+ icon: _icons.postContent,
28
28
  title: (0, _i18n.__)('Post Link'),
29
29
  description: (0, _i18n.__)('A link to a post.'),
30
30
  attributes: {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation-link/fallback-variations.js"],"names":["fallbackVariations","name","isDefault","title","description","attributes","icon","postIcon","type","kind","pageIcon","categoryIcon","tagIcon","forEach","variation","isActive","blockAttributes","variationAttributes"],"mappings":";;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AASA;AACA;AACA;AACA;AACA,MAAMA,kBAAkB,GAAG,CAC1B;AACCC,EAAAA,IAAI,EAAE,MADP;AAECC,EAAAA,SAAS,EAAE,IAFZ;AAGCC,EAAAA,KAAK,EAAE,cAAI,aAAJ,CAHR;AAICC,EAAAA,WAAW,EAAE,cAAI,yBAAJ,CAJd;AAKCC,EAAAA,UAAU,EAAE;AALb,CAD0B,EAQ1B;AACCJ,EAAAA,IAAI,EAAE,MADP;AAECK,EAAAA,IAAI,EAAEC,gBAFP;AAGCJ,EAAAA,KAAK,EAAE,cAAI,WAAJ,CAHR;AAICC,EAAAA,WAAW,EAAE,cAAI,mBAAJ,CAJd;AAKCC,EAAAA,UAAU,EAAE;AAAEG,IAAAA,IAAI,EAAE,MAAR;AAAgBC,IAAAA,IAAI,EAAE;AAAtB;AALb,CAR0B,EAe1B;AACCR,EAAAA,IAAI,EAAE,MADP;AAECK,EAAAA,IAAI,EAAEI,WAFP;AAGCP,EAAAA,KAAK,EAAE,cAAI,WAAJ,CAHR;AAICC,EAAAA,WAAW,EAAE,cAAI,mBAAJ,CAJd;AAKCC,EAAAA,UAAU,EAAE;AAAEG,IAAAA,IAAI,EAAE,MAAR;AAAgBC,IAAAA,IAAI,EAAE;AAAtB;AALb,CAf0B,EAsB1B;AACCR,EAAAA,IAAI,EAAE,UADP;AAECK,EAAAA,IAAI,EAAEK,eAFP;AAGCR,EAAAA,KAAK,EAAE,cAAI,eAAJ,CAHR;AAICC,EAAAA,WAAW,EAAE,cAAI,uBAAJ,CAJd;AAKCC,EAAAA,UAAU,EAAE;AAAEG,IAAAA,IAAI,EAAE,UAAR;AAAoBC,IAAAA,IAAI,EAAE;AAA1B;AALb,CAtB0B,EA6B1B;AACCR,EAAAA,IAAI,EAAE,KADP;AAECK,EAAAA,IAAI,EAAEM,UAFP;AAGCT,EAAAA,KAAK,EAAE,cAAI,UAAJ,CAHR;AAICC,EAAAA,WAAW,EAAE,cAAI,kBAAJ,CAJd;AAKCC,EAAAA,UAAU,EAAE;AAAEG,IAAAA,IAAI,EAAE,KAAR;AAAeC,IAAAA,IAAI,EAAE;AAArB;AALb,CA7B0B,CAA3B;AAsCA;AACA;AACA;AACA;AACA;;AACAT,kBAAkB,CAACa,OAAnB,CAA8BC,SAAF,IAAiB;AAC5C,MAAKA,SAAS,CAACC,QAAf,EAA0B;;AAC1BD,EAAAA,SAAS,CAACC,QAAV,GAAqB,CAAEC,eAAF,EAAmBC,mBAAnB,KACpBD,eAAe,CAACR,IAAhB,KAAyBS,mBAAmB,CAACT,IAD9C;AAEA,CAJD;eAMeR,kB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tcategory as categoryIcon,\n\tpage as pageIcon,\n\tpostTitle as postIcon,\n\ttag as tagIcon,\n} from '@wordpress/icons';\n\n// FALLBACK: this is only used when the server does not understand the variations property in the\n// register_block_type call. see navigation-link/index.php.\n// Delete this file when supported WP ranges understand the `variations` property when passed to\n// register_block_type in index.php.\nconst fallbackVariations = [\n\t{\n\t\tname: 'link',\n\t\tisDefault: true,\n\t\ttitle: __( 'Custom Link' ),\n\t\tdescription: __( 'A link to a custom URL.' ),\n\t\tattributes: {},\n\t},\n\t{\n\t\tname: 'post',\n\t\ticon: postIcon,\n\t\ttitle: __( 'Post Link' ),\n\t\tdescription: __( 'A link to a post.' ),\n\t\tattributes: { type: 'post', kind: 'post-type' },\n\t},\n\t{\n\t\tname: 'page',\n\t\ticon: pageIcon,\n\t\ttitle: __( 'Page Link' ),\n\t\tdescription: __( 'A link to a page.' ),\n\t\tattributes: { type: 'page', kind: 'post-type' },\n\t},\n\t{\n\t\tname: 'category',\n\t\ticon: categoryIcon,\n\t\ttitle: __( 'Category Link' ),\n\t\tdescription: __( 'A link to a category.' ),\n\t\tattributes: { type: 'category', kind: 'taxonomy' },\n\t},\n\t{\n\t\tname: 'tag',\n\t\ticon: tagIcon,\n\t\ttitle: __( 'Tag Link' ),\n\t\tdescription: __( 'A link to a tag.' ),\n\t\tattributes: { type: 'tag', kind: 'taxonomy' },\n\t},\n];\n\n/**\n * Add `isActive` function to all `navigation link` variations, if not defined.\n * `isActive` function is used to find a variation match from a created\n * Block by providing its attributes.\n */\nfallbackVariations.forEach( ( variation ) => {\n\tif ( variation.isActive ) return;\n\tvariation.isActive = ( blockAttributes, variationAttributes ) =>\n\t\tblockAttributes.type === variationAttributes.type;\n} );\n\nexport default fallbackVariations;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation-link/fallback-variations.js"],"names":["fallbackVariations","name","isDefault","title","description","attributes","icon","postIcon","type","kind","pageIcon","categoryIcon","tagIcon","forEach","variation","isActive","blockAttributes","variationAttributes"],"mappings":";;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AASA;AACA;AACA;AACA;AACA,MAAMA,kBAAkB,GAAG,CAC1B;AACCC,EAAAA,IAAI,EAAE,MADP;AAECC,EAAAA,SAAS,EAAE,IAFZ;AAGCC,EAAAA,KAAK,EAAE,cAAI,aAAJ,CAHR;AAICC,EAAAA,WAAW,EAAE,cAAI,yBAAJ,CAJd;AAKCC,EAAAA,UAAU,EAAE;AALb,CAD0B,EAQ1B;AACCJ,EAAAA,IAAI,EAAE,MADP;AAECK,EAAAA,IAAI,EAAEC,kBAFP;AAGCJ,EAAAA,KAAK,EAAE,cAAI,WAAJ,CAHR;AAICC,EAAAA,WAAW,EAAE,cAAI,mBAAJ,CAJd;AAKCC,EAAAA,UAAU,EAAE;AAAEG,IAAAA,IAAI,EAAE,MAAR;AAAgBC,IAAAA,IAAI,EAAE;AAAtB;AALb,CAR0B,EAe1B;AACCR,EAAAA,IAAI,EAAE,MADP;AAECK,EAAAA,IAAI,EAAEI,WAFP;AAGCP,EAAAA,KAAK,EAAE,cAAI,WAAJ,CAHR;AAICC,EAAAA,WAAW,EAAE,cAAI,mBAAJ,CAJd;AAKCC,EAAAA,UAAU,EAAE;AAAEG,IAAAA,IAAI,EAAE,MAAR;AAAgBC,IAAAA,IAAI,EAAE;AAAtB;AALb,CAf0B,EAsB1B;AACCR,EAAAA,IAAI,EAAE,UADP;AAECK,EAAAA,IAAI,EAAEK,eAFP;AAGCR,EAAAA,KAAK,EAAE,cAAI,eAAJ,CAHR;AAICC,EAAAA,WAAW,EAAE,cAAI,uBAAJ,CAJd;AAKCC,EAAAA,UAAU,EAAE;AAAEG,IAAAA,IAAI,EAAE,UAAR;AAAoBC,IAAAA,IAAI,EAAE;AAA1B;AALb,CAtB0B,EA6B1B;AACCR,EAAAA,IAAI,EAAE,KADP;AAECK,EAAAA,IAAI,EAAEM,UAFP;AAGCT,EAAAA,KAAK,EAAE,cAAI,UAAJ,CAHR;AAICC,EAAAA,WAAW,EAAE,cAAI,kBAAJ,CAJd;AAKCC,EAAAA,UAAU,EAAE;AAAEG,IAAAA,IAAI,EAAE,KAAR;AAAeC,IAAAA,IAAI,EAAE;AAArB;AALb,CA7B0B,CAA3B;AAsCA;AACA;AACA;AACA;AACA;;AACAT,kBAAkB,CAACa,OAAnB,CAA8BC,SAAF,IAAiB;AAC5C,MAAKA,SAAS,CAACC,QAAf,EAA0B;;AAC1BD,EAAAA,SAAS,CAACC,QAAV,GAAqB,CAAEC,eAAF,EAAmBC,mBAAnB,KACpBD,eAAe,CAACR,IAAhB,KAAyBS,mBAAmB,CAACT,IAD9C;AAEA,CAJD;eAMeR,kB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tcategory as categoryIcon,\n\tpage as pageIcon,\n\tpostContent as postIcon,\n\ttag as tagIcon,\n} from '@wordpress/icons';\n\n// FALLBACK: this is only used when the server does not understand the variations property in the\n// register_block_type call. see navigation-link/index.php.\n// Delete this file when supported WP ranges understand the `variations` property when passed to\n// register_block_type in index.php.\nconst fallbackVariations = [\n\t{\n\t\tname: 'link',\n\t\tisDefault: true,\n\t\ttitle: __( 'Custom Link' ),\n\t\tdescription: __( 'A link to a custom URL.' ),\n\t\tattributes: {},\n\t},\n\t{\n\t\tname: 'post',\n\t\ticon: postIcon,\n\t\ttitle: __( 'Post Link' ),\n\t\tdescription: __( 'A link to a post.' ),\n\t\tattributes: { type: 'post', kind: 'post-type' },\n\t},\n\t{\n\t\tname: 'page',\n\t\ticon: pageIcon,\n\t\ttitle: __( 'Page Link' ),\n\t\tdescription: __( 'A link to a page.' ),\n\t\tattributes: { type: 'page', kind: 'post-type' },\n\t},\n\t{\n\t\tname: 'category',\n\t\ticon: categoryIcon,\n\t\ttitle: __( 'Category Link' ),\n\t\tdescription: __( 'A link to a category.' ),\n\t\tattributes: { type: 'category', kind: 'taxonomy' },\n\t},\n\t{\n\t\tname: 'tag',\n\t\ticon: tagIcon,\n\t\ttitle: __( 'Tag Link' ),\n\t\tdescription: __( 'A link to a tag.' ),\n\t\tattributes: { type: 'tag', kind: 'taxonomy' },\n\t},\n];\n\n/**\n * Add `isActive` function to all `navigation link` variations, if not defined.\n * `isActive` function is used to find a variation match from a created\n * Block by providing its attributes.\n */\nfallbackVariations.forEach( ( variation ) => {\n\tif ( variation.isActive ) return;\n\tvariation.isActive = ( blockAttributes, variationAttributes ) =>\n\t\tblockAttributes.type === variationAttributes.type;\n} );\n\nexport default fallbackVariations;\n"]}
@@ -21,7 +21,7 @@ var _fallbackVariations = _interopRequireDefault(require("./fallback-variations"
21
21
  function getIcon(variationName) {
22
22
  switch (variationName) {
23
23
  case 'post':
24
- return _icons.postTitle;
24
+ return _icons.postContent;
25
25
 
26
26
  case 'page':
27
27
  return _icons.page;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation-link/hooks.js"],"names":["getIcon","variationName","postTitle","page","tag","category","customPostType","enhanceNavigationLinkVariations","settings","name","variations","fallbackVariations","isActive","blockAttributes","variationAttributes","type","map","variation","icon"],"mappings":";;;;;;;;;AAGA;;AAWA;;AAdA;AACA;AACA;;AASA;AACA;AACA;AAGA,SAASA,OAAT,CAAkBC,aAAlB,EAAkC;AACjC,UAASA,aAAT;AACC,SAAK,MAAL;AACC,aAAOC,gBAAP;;AACD,SAAK,MAAL;AACC,aAAOC,WAAP;;AACD,SAAK,KAAL;AACC,aAAOC,UAAP;;AACD,SAAK,UAAL;AACC,aAAOC,eAAP;;AACD;AACC,aAAOC,qBAAP;AAVF;AAYA;;AAEM,SAASC,+BAAT,CAA0CC,QAA1C,EAAoDC,IAApD,EAA2D;AACjE,MAAKA,IAAI,KAAK,sBAAd,EAAuC;AACtC,WAAOD,QAAP;AACA,GAHgE,CAKjE;AACA;;;AACA,MAAK,CAAEA,QAAQ,CAACE,UAAhB,EAA6B;AAC5B,WAAO,EACN,GAAGF,QADG;AAENE,MAAAA,UAAU,EAAEC;AAFN,KAAP;AAIA,GAZgE,CAcjE;;;AACA,MAAKH,QAAQ,CAACE,UAAd,EAA2B;AAC1B,UAAME,QAAQ,GAAG,CAAEC,eAAF,EAAmBC,mBAAnB,KAA4C;AAC5D,aAAOD,eAAe,CAACE,IAAhB,KAAyBD,mBAAmB,CAACC,IAApD;AACA,KAFD;;AAGA,UAAML,UAAU,GAAGF,QAAQ,CAACE,UAAT,CAAoBM,GAApB,CAA2BC,SAAF,IAAiB;AAC5D,aAAO,EACN,GAAGA,SADG;AAEN,YAAK,CAAEA,SAAS,CAACC,IAAZ,IAAoB;AACxBA,UAAAA,IAAI,EAAElB,OAAO,CAAEiB,SAAS,CAACR,IAAZ;AADW,SAAzB,CAFM;AAKN,YAAK,CAAEQ,SAAS,CAACL,QAAZ,IAAwB;AAC5BA,UAAAA;AAD4B,SAA7B;AALM,OAAP;AASA,KAVkB,CAAnB;AAWA,WAAO,EACN,GAAGJ,QADG;AAENE,MAAAA;AAFM,KAAP;AAIA;;AACD,SAAOF,QAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcategory,\n\tpage,\n\tpostTitle,\n\ttag,\n\tcustomPostType,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport fallbackVariations from './fallback-variations';\n\nfunction getIcon( variationName ) {\n\tswitch ( variationName ) {\n\t\tcase 'post':\n\t\t\treturn postTitle;\n\t\tcase 'page':\n\t\t\treturn page;\n\t\tcase 'tag':\n\t\t\treturn tag;\n\t\tcase 'category':\n\t\t\treturn category;\n\t\tdefault:\n\t\t\treturn customPostType;\n\t}\n}\n\nexport function enhanceNavigationLinkVariations( settings, name ) {\n\tif ( name !== 'core/navigation-link' ) {\n\t\treturn settings;\n\t}\n\n\t// Fallback handling may be deleted after supported WP ranges understand the `variations`\n\t// property when passed to register_block_type in index.php.\n\tif ( ! settings.variations ) {\n\t\treturn {\n\t\t\t...settings,\n\t\t\tvariations: fallbackVariations,\n\t\t};\n\t}\n\n\t// Otherwise decorate server passed variations with an icon and isActive function.\n\tif ( settings.variations ) {\n\t\tconst isActive = ( blockAttributes, variationAttributes ) => {\n\t\t\treturn blockAttributes.type === variationAttributes.type;\n\t\t};\n\t\tconst variations = settings.variations.map( ( variation ) => {\n\t\t\treturn {\n\t\t\t\t...variation,\n\t\t\t\t...( ! variation.icon && {\n\t\t\t\t\ticon: getIcon( variation.name ),\n\t\t\t\t} ),\n\t\t\t\t...( ! variation.isActive && {\n\t\t\t\t\tisActive,\n\t\t\t\t} ),\n\t\t\t};\n\t\t} );\n\t\treturn {\n\t\t\t...settings,\n\t\t\tvariations,\n\t\t};\n\t}\n\treturn settings;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation-link/hooks.js"],"names":["getIcon","variationName","postContent","page","tag","category","customPostType","enhanceNavigationLinkVariations","settings","name","variations","fallbackVariations","isActive","blockAttributes","variationAttributes","type","map","variation","icon"],"mappings":";;;;;;;;;AAGA;;AAWA;;AAdA;AACA;AACA;;AASA;AACA;AACA;AAGA,SAASA,OAAT,CAAkBC,aAAlB,EAAkC;AACjC,UAASA,aAAT;AACC,SAAK,MAAL;AACC,aAAOC,kBAAP;;AACD,SAAK,MAAL;AACC,aAAOC,WAAP;;AACD,SAAK,KAAL;AACC,aAAOC,UAAP;;AACD,SAAK,UAAL;AACC,aAAOC,eAAP;;AACD;AACC,aAAOC,qBAAP;AAVF;AAYA;;AAEM,SAASC,+BAAT,CAA0CC,QAA1C,EAAoDC,IAApD,EAA2D;AACjE,MAAKA,IAAI,KAAK,sBAAd,EAAuC;AACtC,WAAOD,QAAP;AACA,GAHgE,CAKjE;AACA;;;AACA,MAAK,CAAEA,QAAQ,CAACE,UAAhB,EAA6B;AAC5B,WAAO,EACN,GAAGF,QADG;AAENE,MAAAA,UAAU,EAAEC;AAFN,KAAP;AAIA,GAZgE,CAcjE;;;AACA,MAAKH,QAAQ,CAACE,UAAd,EAA2B;AAC1B,UAAME,QAAQ,GAAG,CAAEC,eAAF,EAAmBC,mBAAnB,KAA4C;AAC5D,aAAOD,eAAe,CAACE,IAAhB,KAAyBD,mBAAmB,CAACC,IAApD;AACA,KAFD;;AAGA,UAAML,UAAU,GAAGF,QAAQ,CAACE,UAAT,CAAoBM,GAApB,CAA2BC,SAAF,IAAiB;AAC5D,aAAO,EACN,GAAGA,SADG;AAEN,YAAK,CAAEA,SAAS,CAACC,IAAZ,IAAoB;AACxBA,UAAAA,IAAI,EAAElB,OAAO,CAAEiB,SAAS,CAACR,IAAZ;AADW,SAAzB,CAFM;AAKN,YAAK,CAAEQ,SAAS,CAACL,QAAZ,IAAwB;AAC5BA,UAAAA;AAD4B,SAA7B;AALM,OAAP;AASA,KAVkB,CAAnB;AAWA,WAAO,EACN,GAAGJ,QADG;AAENE,MAAAA;AAFM,KAAP;AAIA;;AACD,SAAOF,QAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcategory,\n\tpage,\n\tpostContent,\n\ttag,\n\tcustomPostType,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport fallbackVariations from './fallback-variations';\n\nfunction getIcon( variationName ) {\n\tswitch ( variationName ) {\n\t\tcase 'post':\n\t\t\treturn postContent;\n\t\tcase 'page':\n\t\t\treturn page;\n\t\tcase 'tag':\n\t\t\treturn tag;\n\t\tcase 'category':\n\t\t\treturn category;\n\t\tdefault:\n\t\t\treturn customPostType;\n\t}\n}\n\nexport function enhanceNavigationLinkVariations( settings, name ) {\n\tif ( name !== 'core/navigation-link' ) {\n\t\treturn settings;\n\t}\n\n\t// Fallback handling may be deleted after supported WP ranges understand the `variations`\n\t// property when passed to register_block_type in index.php.\n\tif ( ! settings.variations ) {\n\t\treturn {\n\t\t\t...settings,\n\t\t\tvariations: fallbackVariations,\n\t\t};\n\t}\n\n\t// Otherwise decorate server passed variations with an icon and isActive function.\n\tif ( settings.variations ) {\n\t\tconst isActive = ( blockAttributes, variationAttributes ) => {\n\t\t\treturn blockAttributes.type === variationAttributes.type;\n\t\t};\n\t\tconst variations = settings.variations.map( ( variation ) => {\n\t\t\treturn {\n\t\t\t\t...variation,\n\t\t\t\t...( ! variation.icon && {\n\t\t\t\t\ticon: getIcon( variation.name ),\n\t\t\t\t} ),\n\t\t\t\t...( ! variation.isActive && {\n\t\t\t\t\tisActive,\n\t\t\t\t} ),\n\t\t\t};\n\t\t} );\n\t\treturn {\n\t\t\t...settings,\n\t\t\tvariations,\n\t\t};\n\t}\n\treturn settings;\n}\n"]}