@wordpress/block-library 9.47.0 → 9.48.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (552) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/columns/transforms.cjs +65 -0
  3. package/build/columns/transforms.cjs.map +2 -2
  4. package/build/comments/edit/placeholder.cjs +1 -1
  5. package/build/comments/edit/placeholder.cjs.map +2 -2
  6. package/build/cover/edit/inspector-controls.cjs +16 -4
  7. package/build/cover/edit/inspector-controls.cjs.map +2 -2
  8. package/build/gallery/edit.cjs +212 -331
  9. package/build/gallery/edit.cjs.map +2 -2
  10. package/build/gallery/transforms.cjs +43 -0
  11. package/build/gallery/transforms.cjs.map +2 -2
  12. package/build/heading/edit.cjs +0 -1
  13. package/build/heading/edit.cjs.map +2 -2
  14. package/build/image/image.cjs +14 -3
  15. package/build/image/image.cjs.map +2 -2
  16. package/build/image/use-open-image-media-editor-modal.cjs +8 -2
  17. package/build/image/use-open-image-media-editor-modal.cjs.map +2 -2
  18. package/build/list/edit.cjs +1 -8
  19. package/build/list/edit.cjs.map +2 -2
  20. package/build/list/ordered-list-settings.cjs +1 -44
  21. package/build/list/ordered-list-settings.cjs.map +2 -2
  22. package/build/list-item/hooks/use-merge.cjs +47 -24
  23. package/build/list-item/hooks/use-merge.cjs.map +2 -2
  24. package/build/navigation/edit/index.cjs +15 -26
  25. package/build/navigation/edit/index.cjs.map +2 -2
  26. package/build/navigation-link/edit.cjs +0 -1
  27. package/build/navigation-link/edit.cjs.map +2 -2
  28. package/build/navigation-submenu/edit.cjs +2 -1
  29. package/build/navigation-submenu/edit.cjs.map +2 -2
  30. package/build/paragraph/deprecated.cjs +1 -0
  31. package/build/paragraph/deprecated.cjs.map +2 -2
  32. package/build/paragraph/edit.cjs +10 -1
  33. package/build/paragraph/edit.cjs.map +3 -3
  34. package/build/playlist/block.json +12 -0
  35. package/build/playlist/edit.cjs +27 -1
  36. package/build/playlist/edit.cjs.map +2 -2
  37. package/build/playlist/save.cjs +8 -1
  38. package/build/playlist/save.cjs.map +2 -2
  39. package/build/playlist/view.cjs +1 -0
  40. package/build/playlist/view.cjs.map +2 -2
  41. package/build/post-featured-image/edit.cjs +6 -4
  42. package/build/post-featured-image/edit.cjs.map +2 -2
  43. package/build/post-time-to-read/index.cjs +1 -1
  44. package/build/post-time-to-read/index.cjs.map +2 -2
  45. package/build/post-time-to-read/variations.cjs +1 -1
  46. package/build/post-time-to-read/variations.cjs.map +2 -2
  47. package/build/pullquote/edit.cjs +2 -7
  48. package/build/pullquote/edit.cjs.map +2 -2
  49. package/build/quote/edit.cjs +4 -9
  50. package/build/quote/edit.cjs.map +2 -2
  51. package/build/shortcode/transforms.cjs +2 -2
  52. package/build/shortcode/transforms.cjs.map +2 -2
  53. package/build/site-logo/edit.cjs +4 -1
  54. package/build/site-logo/edit.cjs.map +2 -2
  55. package/build/utils/waveform-player.cjs +42 -9
  56. package/build/utils/waveform-player.cjs.map +2 -2
  57. package/build/utils/waveform-utils.cjs +6 -4
  58. package/build/utils/waveform-utils.cjs.map +2 -2
  59. package/build/video/edit-common-settings.cjs +3 -6
  60. package/build/video/edit-common-settings.cjs.map +2 -2
  61. package/build-module/columns/transforms.mjs +65 -0
  62. package/build-module/columns/transforms.mjs.map +2 -2
  63. package/build-module/comments/edit/placeholder.mjs +1 -1
  64. package/build-module/comments/edit/placeholder.mjs.map +2 -2
  65. package/build-module/cover/edit/inspector-controls.mjs +16 -4
  66. package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
  67. package/build-module/gallery/edit.mjs +214 -334
  68. package/build-module/gallery/edit.mjs.map +2 -2
  69. package/build-module/gallery/transforms.mjs +43 -0
  70. package/build-module/gallery/transforms.mjs.map +2 -2
  71. package/build-module/heading/edit.mjs +1 -2
  72. package/build-module/heading/edit.mjs.map +2 -2
  73. package/build-module/image/image.mjs +15 -3
  74. package/build-module/image/image.mjs.map +2 -2
  75. package/build-module/image/use-open-image-media-editor-modal.mjs +8 -2
  76. package/build-module/image/use-open-image-media-editor-modal.mjs.map +2 -2
  77. package/build-module/list/edit.mjs +2 -9
  78. package/build-module/list/edit.mjs.map +2 -2
  79. package/build-module/list/ordered-list-settings.mjs +1 -45
  80. package/build-module/list/ordered-list-settings.mjs.map +2 -2
  81. package/build-module/list-item/hooks/use-merge.mjs +48 -25
  82. package/build-module/list-item/hooks/use-merge.mjs.map +2 -2
  83. package/build-module/navigation/edit/index.mjs +16 -33
  84. package/build-module/navigation/edit/index.mjs.map +2 -2
  85. package/build-module/navigation-link/edit.mjs +0 -1
  86. package/build-module/navigation-link/edit.mjs.map +2 -2
  87. package/build-module/navigation-submenu/edit.mjs +2 -1
  88. package/build-module/navigation-submenu/edit.mjs.map +2 -2
  89. package/build-module/paragraph/deprecated.mjs +1 -0
  90. package/build-module/paragraph/deprecated.mjs.map +2 -2
  91. package/build-module/paragraph/edit.mjs +12 -2
  92. package/build-module/paragraph/edit.mjs.map +2 -2
  93. package/build-module/playlist/block.json +12 -0
  94. package/build-module/playlist/edit.mjs +27 -1
  95. package/build-module/playlist/edit.mjs.map +2 -2
  96. package/build-module/playlist/save.mjs +8 -1
  97. package/build-module/playlist/save.mjs.map +2 -2
  98. package/build-module/playlist/view.mjs +1 -0
  99. package/build-module/playlist/view.mjs.map +2 -2
  100. package/build-module/post-featured-image/edit.mjs +6 -4
  101. package/build-module/post-featured-image/edit.mjs.map +2 -2
  102. package/build-module/post-time-to-read/index.mjs +1 -1
  103. package/build-module/post-time-to-read/index.mjs.map +2 -2
  104. package/build-module/post-time-to-read/variations.mjs +2 -2
  105. package/build-module/post-time-to-read/variations.mjs.map +2 -2
  106. package/build-module/pullquote/edit.mjs +2 -7
  107. package/build-module/pullquote/edit.mjs.map +2 -2
  108. package/build-module/quote/edit.mjs +5 -10
  109. package/build-module/quote/edit.mjs.map +2 -2
  110. package/build-module/shortcode/transforms.mjs +2 -2
  111. package/build-module/shortcode/transforms.mjs.map +2 -2
  112. package/build-module/site-logo/edit.mjs +5 -1
  113. package/build-module/site-logo/edit.mjs.map +2 -2
  114. package/build-module/utils/waveform-player.mjs +44 -11
  115. package/build-module/utils/waveform-player.mjs.map +2 -2
  116. package/build-module/utils/waveform-utils.mjs +6 -4
  117. package/build-module/utils/waveform-utils.mjs.map +2 -2
  118. package/build-module/video/edit-common-settings.mjs +4 -7
  119. package/build-module/video/edit-common-settings.mjs.map +2 -2
  120. package/build-style/comment-template/style-rtl.css +1 -0
  121. package/build-style/comment-template/style.css +1 -0
  122. package/build-style/common-rtl.css +30 -10
  123. package/build-style/common.css +30 -10
  124. package/build-style/cover/style-rtl.css +2 -1
  125. package/build-style/cover/style.css +2 -1
  126. package/build-style/editor-rtl.css +22 -11
  127. package/build-style/editor.css +22 -11
  128. package/build-style/form-input/style-rtl.css +2 -0
  129. package/build-style/form-input/style.css +2 -0
  130. package/build-style/gallery/style-rtl.css +4 -2
  131. package/build-style/gallery/style.css +4 -2
  132. package/build-style/media-text/style-rtl.css +2 -1
  133. package/build-style/media-text/style.css +2 -1
  134. package/build-style/playlist/style-rtl.css +3 -0
  135. package/build-style/playlist/style.css +3 -0
  136. package/build-style/query/editor-rtl.css +8 -4
  137. package/build-style/query/editor.css +8 -4
  138. package/build-style/read-more/style-rtl.css +1 -0
  139. package/build-style/read-more/style.css +1 -0
  140. package/build-style/reset-rtl.css +3 -1
  141. package/build-style/reset.css +3 -1
  142. package/build-style/search/style-rtl.css +3 -1
  143. package/build-style/search/style.css +3 -1
  144. package/build-style/site-logo/editor-rtl.css +2 -1
  145. package/build-style/site-logo/editor.css +2 -1
  146. package/build-style/style-rtl.css +53 -17
  147. package/build-style/style.css +53 -17
  148. package/build-style/tab/style-rtl.css +3 -1
  149. package/build-style/tab/style.css +3 -1
  150. package/build-style/template-part/editor-rtl.css +8 -4
  151. package/build-style/template-part/editor.css +8 -4
  152. package/build-style/video/style-rtl.css +2 -1
  153. package/build-style/video/style.css +2 -1
  154. package/package.json +51 -47
  155. package/src/accordion/README.md +97 -0
  156. package/src/accordion-heading/README.md +81 -0
  157. package/src/accordion-item/README.md +85 -0
  158. package/src/accordion-panel/README.md +74 -0
  159. package/src/archives/README.md +56 -0
  160. package/src/audio/README.md +55 -0
  161. package/src/avatar/README.md +74 -0
  162. package/src/block/README.md +56 -0
  163. package/src/breadcrumbs/README.md +67 -0
  164. package/src/button/README.md +93 -0
  165. package/src/buttons/README.md +80 -0
  166. package/src/calendar/README.md +51 -0
  167. package/src/categories/README.md +69 -0
  168. package/src/code/README.md +55 -0
  169. package/src/column/README.md +72 -0
  170. package/src/columns/README.md +90 -0
  171. package/src/columns/test/transforms.js +164 -0
  172. package/src/columns/transforms.js +74 -0
  173. package/src/comment-author-avatar/README.md +63 -0
  174. package/src/comment-author-name/README.md +67 -0
  175. package/src/comment-content/README.md +61 -0
  176. package/src/comment-date/README.md +67 -0
  177. package/src/comment-edit-link/README.md +67 -0
  178. package/src/comment-reply-link/README.md +63 -0
  179. package/src/comment-template/README.md +60 -0
  180. package/src/comments/README.md +88 -0
  181. package/src/comments/edit/placeholder.js +1 -1
  182. package/src/comments-pagination/README.md +77 -0
  183. package/src/comments-pagination-next/README.md +64 -0
  184. package/src/comments-pagination-numbers/README.md +64 -0
  185. package/src/comments-pagination-previous/README.md +64 -0
  186. package/src/comments-title/README.md +70 -0
  187. package/src/common.scss +63 -10
  188. package/src/cover/README.md +111 -0
  189. package/src/cover/edit/inspector-controls.js +61 -45
  190. package/src/cover/test/edit.js +38 -0
  191. package/src/details/README.md +65 -0
  192. package/src/embed/README.md +56 -0
  193. package/src/file/README.md +60 -0
  194. package/src/footnotes/README.md +64 -0
  195. package/src/form/README.md +90 -0
  196. package/src/form-input/README.md +74 -0
  197. package/src/form-submission-notification/README.md +50 -0
  198. package/src/form-submit-button/README.md +54 -0
  199. package/src/freeform/README.md +49 -0
  200. package/src/gallery/README.md +115 -0
  201. package/src/gallery/edit.js +213 -350
  202. package/src/gallery/test/transforms.js +155 -0
  203. package/src/gallery/transforms.js +47 -0
  204. package/src/group/README.md +80 -0
  205. package/src/heading/README.md +60 -0
  206. package/src/heading/edit.js +1 -2
  207. package/src/home-link/README.md +66 -0
  208. package/src/home-link/index.php +3 -15
  209. package/src/html/README.md +48 -0
  210. package/src/icon/README.md +63 -0
  211. package/src/image/README.md +102 -0
  212. package/src/image/image.js +50 -35
  213. package/src/image/index.php +4 -4
  214. package/src/image/test/use-open-image-media-editor-modal.js +41 -0
  215. package/src/image/use-open-image-media-editor-modal.js +7 -1
  216. package/src/latest-comments/README.md +57 -0
  217. package/src/latest-posts/README.md +71 -0
  218. package/src/list/README.md +70 -0
  219. package/src/list/edit.js +2 -9
  220. package/src/list/ordered-list-settings.js +46 -92
  221. package/src/list-item/README.md +71 -0
  222. package/src/list-item/hooks/use-merge.js +53 -46
  223. package/src/loginout/README.md +56 -0
  224. package/src/math/README.md +50 -0
  225. package/src/media-text/README.md +92 -0
  226. package/src/missing/README.md +55 -0
  227. package/src/more/README.md +49 -0
  228. package/src/navigation/README.md +115 -0
  229. package/src/navigation/edit/index.js +10 -30
  230. package/src/navigation-link/README.md +93 -0
  231. package/src/navigation-link/edit.js +0 -1
  232. package/src/navigation-link/index.php +1 -15
  233. package/src/navigation-link/test/__snapshots__/hooks.js.snap +45 -134
  234. package/src/navigation-overlay-close/README.md +48 -0
  235. package/src/navigation-submenu/README.md +84 -0
  236. package/src/navigation-submenu/edit.js +1 -0
  237. package/src/navigation-submenu/index.php +1 -17
  238. package/src/nextpage/README.md +50 -0
  239. package/src/page-list/README.md +84 -0
  240. package/src/page-list/index.php +3 -15
  241. package/src/page-list-item/README.md +77 -0
  242. package/src/paragraph/README.md +70 -0
  243. package/src/paragraph/deprecated.js +1 -0
  244. package/src/paragraph/edit.js +13 -1
  245. package/src/pattern/README.md +45 -0
  246. package/src/playlist/README.md +86 -0
  247. package/src/playlist/block.json +12 -0
  248. package/src/playlist/edit.js +27 -0
  249. package/src/playlist/index.php +10 -3
  250. package/src/playlist/save.js +9 -1
  251. package/src/playlist/style.scss +7 -0
  252. package/src/playlist/view.js +1 -0
  253. package/src/playlist-track/README.md +69 -0
  254. package/src/post-author/README.md +78 -0
  255. package/src/post-author-biography/README.md +59 -0
  256. package/src/post-author-name/README.md +63 -0
  257. package/src/post-author-name/index.php +1 -1
  258. package/src/post-comment/README.md +61 -0
  259. package/src/post-comments-count/README.md +58 -0
  260. package/src/post-comments-form/README.md +59 -0
  261. package/src/post-comments-link/README.md +60 -0
  262. package/src/post-content/README.md +71 -0
  263. package/src/post-date/README.md +65 -0
  264. package/src/post-date/index.php +1 -1
  265. package/src/post-excerpt/README.md +66 -0
  266. package/src/post-featured-image/README.md +85 -0
  267. package/src/post-featured-image/edit.js +15 -10
  268. package/src/post-featured-image/index.php +1 -1
  269. package/src/post-navigation-link/README.md +63 -0
  270. package/src/post-template/README.md +71 -0
  271. package/src/post-terms/README.md +65 -0
  272. package/src/post-time-to-read/README.md +63 -0
  273. package/src/post-time-to-read/index.js +1 -1
  274. package/src/post-time-to-read/variations.js +2 -2
  275. package/src/post-title/README.md +69 -0
  276. package/src/preformatted/README.md +50 -0
  277. package/src/pullquote/README.md +64 -0
  278. package/src/pullquote/edit.js +1 -7
  279. package/src/query/README.md +64 -0
  280. package/src/query-no-results/README.md +65 -0
  281. package/src/query-pagination/README.md +79 -0
  282. package/src/query-pagination-next/README.md +67 -0
  283. package/src/query-pagination-numbers/README.md +65 -0
  284. package/src/query-pagination-previous/README.md +67 -0
  285. package/src/query-title/README.md +65 -0
  286. package/src/query-total/README.md +66 -0
  287. package/src/quote/README.md +75 -0
  288. package/src/quote/edit.js +3 -9
  289. package/src/read-more/README.md +61 -0
  290. package/src/read-more/index.php +2 -2
  291. package/src/rss/README.md +62 -0
  292. package/src/search/README.md +66 -0
  293. package/src/separator/README.md +62 -0
  294. package/src/shortcode/README.md +44 -0
  295. package/src/shortcode/transforms.js +2 -2
  296. package/src/site-logo/README.md +72 -0
  297. package/src/site-logo/edit.js +5 -0
  298. package/src/site-tagline/README.md +56 -0
  299. package/src/site-title/README.md +57 -0
  300. package/src/social-link/README.md +64 -0
  301. package/src/social-links/README.md +98 -0
  302. package/src/spacer/README.md +53 -0
  303. package/src/tab/README.md +69 -0
  304. package/src/tab-list/README.md +79 -0
  305. package/src/tab-panel/README.md +75 -0
  306. package/src/tab-panels/README.md +75 -0
  307. package/src/table/README.md +71 -0
  308. package/src/table-of-contents/README.md +61 -0
  309. package/src/tabs/README.md +83 -0
  310. package/src/tag-cloud/README.md +62 -0
  311. package/src/template-part/README.md +48 -0
  312. package/src/term-count/README.md +59 -0
  313. package/src/term-description/README.md +60 -0
  314. package/src/term-name/README.md +65 -0
  315. package/src/term-template/README.md +65 -0
  316. package/src/terms-query/README.md +58 -0
  317. package/src/text-columns/README.md +51 -0
  318. package/src/utils/test/waveform-player.js +254 -0
  319. package/src/utils/waveform-player.js +90 -18
  320. package/src/utils/waveform-utils.js +15 -11
  321. package/src/verse/README.md +58 -0
  322. package/src/video/README.md +58 -0
  323. package/src/video/edit-common-settings.js +4 -7
  324. package/src/audio/edit.native.js +0 -250
  325. package/src/audio/style.native.scss +0 -13
  326. package/src/audio/test/__snapshots__/edit.native.js.snap +0 -546
  327. package/src/audio/test/__snapshots__/transforms.native.js.snap +0 -25
  328. package/src/audio/test/edit.native.js +0 -132
  329. package/src/audio/test/transforms.native.js +0 -43
  330. package/src/audio/transforms.native.js +0 -12
  331. package/src/block/edit-title.native.js +0 -67
  332. package/src/block/edit.native.js +0 -247
  333. package/src/block/editor.native.scss +0 -125
  334. package/src/block/test/__snapshots__/transforms.native.js.snap +0 -15
  335. package/src/block/test/edit.native.js +0 -262
  336. package/src/block/test/transforms.native.js +0 -40
  337. package/src/button/color-background.native.js +0 -41
  338. package/src/button/edit.native.js +0 -567
  339. package/src/button/editor.native.scss +0 -70
  340. package/src/button/rich-text.android.scss +0 -6
  341. package/src/button/rich-text.ios.scss +0 -6
  342. package/src/buttons/edit.native.js +0 -157
  343. package/src/buttons/editor.native.scss +0 -11
  344. package/src/buttons/test/__snapshots__/edit.native.js.snap +0 -99
  345. package/src/buttons/test/__snapshots__/transforms.native.js.snap +0 -31
  346. package/src/buttons/test/edit.native.js +0 -485
  347. package/src/buttons/test/transforms.native.js +0 -48
  348. package/src/buttons/transforms.native.js +0 -12
  349. package/src/code/edit.native.js +0 -70
  350. package/src/code/test/__snapshots__/edit.native.js.snap +0 -13
  351. package/src/code/test/edit.native.js +0 -65
  352. package/src/code/theme.native.scss +0 -22
  353. package/src/code/transforms.native.js +0 -12
  354. package/src/column/column-preview.native.js +0 -58
  355. package/src/column/edit.native.js +0 -273
  356. package/src/column/editor.native.scss +0 -75
  357. package/src/columns/columnCalculations.native.js +0 -178
  358. package/src/columns/edit.native.js +0 -507
  359. package/src/columns/editor.native.scss +0 -17
  360. package/src/columns/test/__snapshots__/edit.native.js.snap +0 -305
  361. package/src/columns/test/__snapshots__/transforms.native.js.snap +0 -61
  362. package/src/columns/test/edit.native.js +0 -496
  363. package/src/columns/test/transforms.native.js +0 -89
  364. package/src/columns/transforms.native.js +0 -12
  365. package/src/cover/controls.native.js +0 -307
  366. package/src/cover/edit.native.js +0 -708
  367. package/src/cover/focal-point-settings-button.native.js +0 -53
  368. package/src/cover/overlay-color-settings.native.js +0 -106
  369. package/src/cover/style.native.scss +0 -220
  370. package/src/cover/test/__snapshots__/edit.native.js.snap +0 -105
  371. package/src/cover/test/__snapshots__/transforms.native.js.snap +0 -73
  372. package/src/cover/test/edit.native.js +0 -701
  373. package/src/cover/test/transforms.native.js +0 -116
  374. package/src/cover/transforms.native.js +0 -12
  375. package/src/cover/use-cover-is-dark.native.js +0 -51
  376. package/src/embed/edit.native.js +0 -345
  377. package/src/embed/embed-controls.native.js +0 -65
  378. package/src/embed/embed-link-settings.native.js +0 -99
  379. package/src/embed/embed-loading.native.js +0 -29
  380. package/src/embed/embed-no-preview.native.js +0 -230
  381. package/src/embed/embed-placeholder.native.js +0 -178
  382. package/src/embed/embed-preview.native.js +0 -157
  383. package/src/embed/styles.native.scss +0 -196
  384. package/src/embed/test/__snapshots__/index.native.js.snap +0 -191
  385. package/src/embed/test/__snapshots__/transforms.native.js.snap +0 -23
  386. package/src/embed/test/index.native.js +0 -1125
  387. package/src/embed/test/transforms.native.js +0 -44
  388. package/src/embed/transforms.native.js +0 -12
  389. package/src/embed/wp-embed-preview.native.js +0 -80
  390. package/src/file/edit.native.js +0 -605
  391. package/src/file/style.native.scss +0 -79
  392. package/src/file/test/__snapshots__/edit.native.js.snap +0 -580
  393. package/src/file/test/__snapshots__/transforms.native.js.snap +0 -19
  394. package/src/file/test/edit.native.js +0 -93
  395. package/src/file/test/transforms.native.js +0 -43
  396. package/src/file/transforms.native.js +0 -12
  397. package/src/freeform/edit.native.js +0 -13
  398. package/src/freeform/test/__snapshots__/index.native.js.snap +0 -7
  399. package/src/freeform/test/__snapshots__/transforms.native.js.snap +0 -19
  400. package/src/freeform/test/index.native.js +0 -57
  401. package/src/freeform/test/transforms.native.js +0 -39
  402. package/src/gallery/gallery-styles.native.scss +0 -8
  403. package/src/gallery/gallery.native.js +0 -124
  404. package/src/gallery/styles.native.scss +0 -7
  405. package/src/gallery/test/__snapshots__/index.native.js.snap +0 -177
  406. package/src/gallery/test/__snapshots__/transforms.native.js.snap +0 -53
  407. package/src/gallery/test/helpers.native.js +0 -106
  408. package/src/gallery/test/index.native.js +0 -700
  409. package/src/gallery/test/transforms.native.js +0 -53
  410. package/src/gallery/test/use-get-media.native.js +0 -24
  411. package/src/gallery/transforms.native.js +0 -12
  412. package/src/gallery/use-get-media.native.js +0 -49
  413. package/src/group/edit.native.js +0 -137
  414. package/src/group/editor.native.scss +0 -56
  415. package/src/group/test/__snapshots__/edit.native.js.snap +0 -19
  416. package/src/group/test/__snapshots__/transforms.native.js.snap +0 -35
  417. package/src/group/test/edit.native.js +0 -100
  418. package/src/group/test/transforms.native.js +0 -73
  419. package/src/heading/edit.native.js +0 -159
  420. package/src/heading/test/__snapshots__/index.native.js.snap +0 -43
  421. package/src/heading/test/__snapshots__/transforms.native.js.snap +0 -47
  422. package/src/heading/test/index.native.js +0 -257
  423. package/src/heading/test/transforms.native.js +0 -46
  424. package/src/heading/transforms.native.js +0 -12
  425. package/src/html/transforms.native.js +0 -11
  426. package/src/image/edit.native.js +0 -959
  427. package/src/image/styles.native.scss +0 -70
  428. package/src/image/test/__snapshots__/transforms.native.js.snap +0 -49
  429. package/src/image/test/edit.native.js +0 -459
  430. package/src/image/test/transforms.native.js +0 -49
  431. package/src/image/transforms.native.js +0 -12
  432. package/src/index.native.js +0 -274
  433. package/src/latest-posts/edit.native.js +0 -294
  434. package/src/latest-posts/style.native.scss +0 -47
  435. package/src/latest-posts/test/__snapshots__/edit.native.js.snap +0 -3
  436. package/src/latest-posts/test/__snapshots__/transforms.native.js.snap +0 -15
  437. package/src/latest-posts/test/edit.native.js +0 -49
  438. package/src/latest-posts/test/transforms.native.js +0 -61
  439. package/src/list/tag-name.native.js +0 -12
  440. package/src/list/test/__snapshots__/edit.native.js.snap +0 -121
  441. package/src/list/test/__snapshots__/transforms.native.js.snap +0 -85
  442. package/src/list/test/edit.native.js +0 -602
  443. package/src/list/test/transforms.native.js +0 -56
  444. package/src/list/transforms.native.js +0 -12
  445. package/src/list-item/edit.native.js +0 -175
  446. package/src/list-item/hooks/use-enter.native.js +0 -81
  447. package/src/list-item/icons.native.js +0 -34
  448. package/src/list-item/list-style-type.native.js +0 -146
  449. package/src/list-item/style.native.scss +0 -57
  450. package/src/media-text/edit.native.js +0 -417
  451. package/src/media-text/icon-retry.native.js +0 -11
  452. package/src/media-text/media-container.native.js +0 -393
  453. package/src/media-text/style.native.scss +0 -191
  454. package/src/media-text/test/__snapshots__/transforms.native.js.snap +0 -73
  455. package/src/media-text/test/edit.native.js +0 -58
  456. package/src/media-text/test/transforms.native.js +0 -116
  457. package/src/media-text/transforms.native.js +0 -12
  458. package/src/missing/edit.native.js +0 -294
  459. package/src/missing/style.native.scss +0 -79
  460. package/src/missing/test/__snapshots__/edit.native.js.snap +0 -110
  461. package/src/missing/test/edit-integration.native.js +0 -168
  462. package/src/missing/test/edit.native.js +0 -81
  463. package/src/more/edit.native.js +0 -36
  464. package/src/more/editor.native.scss +0 -21
  465. package/src/more/test/__snapshots__/edit.native.js.snap +0 -7
  466. package/src/more/test/__snapshots__/transforms.native.js.snap +0 -19
  467. package/src/more/test/edit.native.js +0 -41
  468. package/src/more/test/transforms.native.js +0 -42
  469. package/src/more/transforms.native.js +0 -12
  470. package/src/navigation-link/shared/build-css-font-sizes.php +0 -43
  471. package/src/nextpage/edit.native.js +0 -58
  472. package/src/nextpage/editor.native.scss +0 -21
  473. package/src/nextpage/test/__snapshots__/transforms.native.js.snap +0 -19
  474. package/src/nextpage/test/transforms.native.js +0 -42
  475. package/src/nextpage/transforms.native.js +0 -12
  476. package/src/paragraph/edit.native.js +0 -116
  477. package/src/paragraph/test/__snapshots__/edit.native.js.snap +0 -88
  478. package/src/paragraph/test/__snapshots__/transforms.native.js.snap +0 -65
  479. package/src/paragraph/test/edit.native.js +0 -999
  480. package/src/paragraph/test/transforms.native.js +0 -51
  481. package/src/paragraph/transforms.native.js +0 -12
  482. package/src/preformatted/edit.native.js +0 -48
  483. package/src/preformatted/styles.native.scss +0 -30
  484. package/src/preformatted/test/__snapshots__/edit.native.js.snap +0 -95
  485. package/src/preformatted/test/__snapshots__/transforms.native.js.snap +0 -37
  486. package/src/preformatted/test/edit.native.js +0 -111
  487. package/src/preformatted/test/transforms.native.js +0 -47
  488. package/src/preformatted/transforms.native.js +0 -12
  489. package/src/pullquote/blockquote.native.js +0 -39
  490. package/src/pullquote/blockquote.native.scss +0 -8
  491. package/src/pullquote/edit.native.js +0 -128
  492. package/src/pullquote/figure.native.js +0 -33
  493. package/src/pullquote/figure.native.scss +0 -16
  494. package/src/pullquote/test/__snapshots__/transforms.native.js.snap +0 -47
  495. package/src/pullquote/test/edit.native.js +0 -73
  496. package/src/pullquote/test/transforms.native.js +0 -46
  497. package/src/pullquote/transforms.native.js +0 -12
  498. package/src/quote/test/__snapshots__/transforms.native.js.snap +0 -49
  499. package/src/quote/test/edit.native.js +0 -94
  500. package/src/quote/test/transforms.native.js +0 -69
  501. package/src/quote/transforms.native.js +0 -12
  502. package/src/search/edit.native.js +0 -486
  503. package/src/search/style.native.scss +0 -99
  504. package/src/search/test/__snapshots__/edit.native.js.snap +0 -827
  505. package/src/search/test/__snapshots__/transforms.native.js.snap +0 -15
  506. package/src/search/test/edit.native.js +0 -170
  507. package/src/search/test/transforms.native.js +0 -40
  508. package/src/separator/separator-settings.native.js +0 -3
  509. package/src/separator/test/__snapshots__/edit.native.js.snap +0 -7
  510. package/src/separator/test/__snapshots__/transforms.native.js.snap +0 -25
  511. package/src/separator/test/edit.native.js +0 -41
  512. package/src/separator/test/transforms.native.js +0 -42
  513. package/src/separator/transforms.native.js +0 -12
  514. package/src/shortcode/edit.native.js +0 -77
  515. package/src/shortcode/style.native.scss +0 -44
  516. package/src/shortcode/test/__snapshots__/edit.native.js.snap +0 -9
  517. package/src/shortcode/test/__snapshots__/transforms.native.js.snap +0 -19
  518. package/src/shortcode/test/edit.native.js +0 -70
  519. package/src/shortcode/test/transforms.native.js +0 -42
  520. package/src/shortcode/transforms.native.js +0 -12
  521. package/src/social-link/edit.native.js +0 -219
  522. package/src/social-link/editor.native.scss +0 -18
  523. package/src/social-links/edit.native.js +0 -147
  524. package/src/social-links/editor.native.scss +0 -25
  525. package/src/social-links/test/__snapshots__/edit.native.js.snap +0 -57
  526. package/src/social-links/test/__snapshots__/transforms.native.js.snap +0 -31
  527. package/src/social-links/test/edit.native.js +0 -266
  528. package/src/social-links/test/transforms.native.js +0 -53
  529. package/src/spacer/controls.native.js +0 -86
  530. package/src/spacer/edit.native.js +0 -110
  531. package/src/spacer/editor.native.scss +0 -18
  532. package/src/spacer/save.native.js +0 -18
  533. package/src/spacer/test/__snapshots__/index.native.js.snap +0 -43
  534. package/src/spacer/test/__snapshots__/transforms.native.js.snap +0 -25
  535. package/src/spacer/test/index.native.js +0 -257
  536. package/src/spacer/test/transforms.native.js +0 -42
  537. package/src/table/transforms.native.js +0 -11
  538. package/src/text-columns/transforms.native.js +0 -12
  539. package/src/utils/init-block.native.js +0 -40
  540. package/src/utils/transformation-categories.native.js +0 -47
  541. package/src/verse/test/__snapshots__/edit.native.js.snap +0 -13
  542. package/src/verse/test/__snapshots__/transforms.native.js.snap +0 -31
  543. package/src/verse/test/edit.native.js +0 -118
  544. package/src/verse/test/transforms.native.js +0 -46
  545. package/src/verse/transforms.native.js +0 -12
  546. package/src/video/edit.native.js +0 -406
  547. package/src/video/icon-retry.native.js +0 -11
  548. package/src/video/style.native.scss +0 -81
  549. package/src/video/test/__snapshots__/transforms.native.js.snap +0 -41
  550. package/src/video/test/edit.native.js +0 -53
  551. package/src/video/test/transforms.native.js +0 -49
  552. package/src/video/transforms.native.js +0 -12
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/list/ordered-list-settings.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport {\n\tTextControl,\n\tPanelBody,\n\tToggleControl,\n\tSelectControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst LIST_STYLE_OPTIONS = [\n\t{\n\t\tlabel: __( 'Numbers' ),\n\t\tvalue: 'decimal',\n\t},\n\t{\n\t\tlabel: __( 'Uppercase letters' ),\n\t\tvalue: 'upper-alpha',\n\t},\n\t{\n\t\tlabel: __( 'Lowercase letters' ),\n\t\tvalue: 'lower-alpha',\n\t},\n\t{\n\t\tlabel: __( 'Uppercase Roman numerals' ),\n\t\tvalue: 'upper-roman',\n\t},\n\t{\n\t\tlabel: __( 'Lowercase Roman numerals' ),\n\t\tvalue: 'lower-roman',\n\t},\n];\n\nconst OrderedListSettings = ( { setAttributes, reversed, start, type } ) => {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<InspectorControls>\n\t\t\t{ Platform.isNative ? (\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'List style' ) }\n\t\t\t\t\t\toptions={ LIST_STYLE_OPTIONS }\n\t\t\t\t\t\tvalue={ type }\n\t\t\t\t\t\tonChange={ ( newValue ) =>\n\t\t\t\t\t\t\tsetAttributes( { type: newValue } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Start value' ) }\n\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tconst int = parseInt( value, 10 );\n\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t// It should be possible to unset the value,\n\t\t\t\t\t\t\t\t// e.g. with an empty string.\n\t\t\t\t\t\t\t\tstart: isNaN( int ) ? undefined : int,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tNumber.isInteger( start )\n\t\t\t\t\t\t\t\t? start.toString( 10 )\n\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstep=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Reverse order' ) }\n\t\t\t\t\t\tchecked={ reversed || false }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t// Unset the attribute if not reversed.\n\t\t\t\t\t\t\t\treversed: value || undefined,\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\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttype: undefined,\n\t\t\t\t\t\t\tstart: undefined,\n\t\t\t\t\t\t\treversed: undefined,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'List style' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! type }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\ttype: undefined,\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\t\t<SelectControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'List style' ) }\n\t\t\t\t\t\t\toptions={ LIST_STYLE_OPTIONS }\n\t\t\t\t\t\t\tvalue={ type || 'decimal' }\n\t\t\t\t\t\t\tonChange={ ( newValue ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { type: newValue } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Start value' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! start }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tstart: undefined,\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\t\t<TextControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Start value' ) }\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tconst int = parseInt( value, 10 );\n\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t// It should be possible to unset the value,\n\t\t\t\t\t\t\t\t\t// e.g. with an empty string.\n\t\t\t\t\t\t\t\t\tstart: isNaN( int ) ? undefined : int,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tNumber.isInteger( start )\n\t\t\t\t\t\t\t\t\t? start.toString( 10 )\n\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tstep=\"1\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Reverse order' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! reversed }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\treversed: undefined,\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\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Reverse order' ) }\n\t\t\t\t\t\t\tchecked={ reversed || false }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t// Unset the attribute if not reversed.\n\t\t\t\t\t\t\t\t\treversed: value || undefined,\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</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n};\n\nexport default OrderedListSettings;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport {\n\tTextControl,\n\tToggleControl,\n\tSelectControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst LIST_STYLE_OPTIONS = [\n\t{\n\t\tlabel: __( 'Numbers' ),\n\t\tvalue: 'decimal',\n\t},\n\t{\n\t\tlabel: __( 'Uppercase letters' ),\n\t\tvalue: 'upper-alpha',\n\t},\n\t{\n\t\tlabel: __( 'Lowercase letters' ),\n\t\tvalue: 'lower-alpha',\n\t},\n\t{\n\t\tlabel: __( 'Uppercase Roman numerals' ),\n\t\tvalue: 'upper-roman',\n\t},\n\t{\n\t\tlabel: __( 'Lowercase Roman numerals' ),\n\t\tvalue: 'lower-roman',\n\t},\n];\n\nconst OrderedListSettings = ( { setAttributes, reversed, start, type } ) => {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\tresetAll={ () => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\ttype: undefined,\n\t\t\t\t\t\tstart: undefined,\n\t\t\t\t\t\treversed: undefined,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'List style' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => !! type }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttype: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'List style' ) }\n\t\t\t\t\t\toptions={ LIST_STYLE_OPTIONS }\n\t\t\t\t\t\tvalue={ type || 'decimal' }\n\t\t\t\t\t\tonChange={ ( newValue ) =>\n\t\t\t\t\t\t\tsetAttributes( { type: newValue } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Start value' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => !! start }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tstart: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Start value' ) }\n\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tconst int = parseInt( value, 10 );\n\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t// It should be possible to unset the value,\n\t\t\t\t\t\t\t\t// e.g. with an empty string.\n\t\t\t\t\t\t\t\tstart: isNaN( int ) ? undefined : int,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tNumber.isInteger( start )\n\t\t\t\t\t\t\t\t? start.toString( 10 )\n\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstep=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Reverse order' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => !! reversed }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\treversed: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Reverse order' ) }\n\t\t\t\t\t\tchecked={ reversed || false }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t// Unset the attribute if not reversed.\n\t\t\t\t\t\t\t\treversed: value || undefined,\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</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n};\n\nexport default OrderedListSettings;\n"],
5
+ "mappings": ";AAGA,SAAS,UAAU;AACnB,SAAS,yBAAyB;AAClC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA,4BAA4B;AAAA,EAC5B,gCAAgC;AAAA,OAC1B;AAKP,SAAS,sCAAsC;AA8B5C,SAqBE,KArBF;AA5BH,IAAM,qBAAqB;AAAA,EAC1B;AAAA,IACC,OAAO,GAAI,SAAU;AAAA,IACrB,OAAO;AAAA,EACR;AAAA,EACA;AAAA,IACC,OAAO,GAAI,mBAAoB;AAAA,IAC/B,OAAO;AAAA,EACR;AAAA,EACA;AAAA,IACC,OAAO,GAAI,mBAAoB;AAAA,IAC/B,OAAO;AAAA,EACR;AAAA,EACA;AAAA,IACC,OAAO,GAAI,0BAA2B;AAAA,IACtC,OAAO;AAAA,EACR;AAAA,EACA;AAAA,IACC,OAAO,GAAI,0BAA2B;AAAA,IACtC,OAAO;AAAA,EACR;AACD;AAEA,IAAM,sBAAsB,CAAE,EAAE,eAAe,UAAU,OAAO,KAAK,MAAO;AAC3E,QAAM,oBAAoB,+BAA+B;AAEzD,SACC,oBAAC,qBACA;AAAA,IAAC;AAAA;AAAA,MACA,OAAQ,GAAI,UAAW;AAAA,MACvB,UAAW,MAAM;AAChB,sBAAe;AAAA,UACd,MAAM;AAAA,UACN,OAAO;AAAA,UACP,UAAU;AAAA,QACX,CAAE;AAAA,MACH;AAAA,MACA;AAAA,MAEA;AAAA;AAAA,UAAC;AAAA;AAAA,YACA,OAAQ,GAAI,YAAa;AAAA,YACzB,kBAAgB;AAAA,YAChB,UAAW,MAAM,CAAC,CAAE;AAAA,YACpB,YAAa,MACZ,cAAe;AAAA,cACd,MAAM;AAAA,YACP,CAAE;AAAA,YAGH;AAAA,cAAC;AAAA;AAAA,gBACA,uBAAqB;AAAA,gBACrB,OAAQ,GAAI,YAAa;AAAA,gBACzB,SAAU;AAAA,gBACV,OAAQ,QAAQ;AAAA,gBAChB,UAAW,CAAE,aACZ,cAAe,EAAE,MAAM,SAAS,CAAE;AAAA;AAAA,YAEpC;AAAA;AAAA,QACD;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACA,OAAQ,GAAI,aAAc;AAAA,YAC1B,kBAAgB;AAAA,YAChB,UAAW,MAAM,CAAC,CAAE;AAAA,YACpB,YAAa,MACZ,cAAe;AAAA,cACd,OAAO;AAAA,YACR,CAAE;AAAA,YAGH;AAAA,cAAC;AAAA;AAAA,gBACA,uBAAqB;AAAA,gBACrB,OAAQ,GAAI,aAAc;AAAA,gBAC1B,MAAK;AAAA,gBACL,UAAW,CAAE,UAAW;AACvB,wBAAM,MAAM,SAAU,OAAO,EAAG;AAEhC,gCAAe;AAAA;AAAA;AAAA,oBAGd,OAAO,MAAO,GAAI,IAAI,SAAY;AAAA,kBACnC,CAAE;AAAA,gBACH;AAAA,gBACA,OACC,OAAO,UAAW,KAAM,IACrB,MAAM,SAAU,EAAG,IACnB;AAAA,gBAEJ,MAAK;AAAA;AAAA,YACN;AAAA;AAAA,QACD;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACA,OAAQ,GAAI,eAAgB;AAAA,YAC5B,kBAAgB;AAAA,YAChB,UAAW,MAAM,CAAC,CAAE;AAAA,YACpB,YAAa,MACZ,cAAe;AAAA,cACd,UAAU;AAAA,YACX,CAAE;AAAA,YAGH;AAAA,cAAC;AAAA;AAAA,gBACA,OAAQ,GAAI,eAAgB;AAAA,gBAC5B,SAAU,YAAY;AAAA,gBACtB,UAAW,CAAE,UAAW;AACvB,gCAAe;AAAA;AAAA,oBAEd,UAAU,SAAS;AAAA,kBACpB,CAAE;AAAA,gBACH;AAAA;AAAA,YACD;AAAA;AAAA,QACD;AAAA;AAAA;AAAA,EACD,GACD;AAEF;AAEA,IAAO,gCAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  // packages/block-library/src/list-item/hooks/use-merge.js
2
2
  import { useRegistry, useDispatch, useSelect } from "@wordpress/data";
3
3
  import { store as blockEditorStore } from "@wordpress/block-editor";
4
- import { isUnmodifiedBlock } from "@wordpress/blocks";
4
+ import { isUnmodifiedBlock, switchToBlockType } from "@wordpress/blocks";
5
5
  import useOutdentListItem from "./use-outdent-list-item.mjs";
6
6
  function useMerge(clientId, onMerge) {
7
7
  const registry = useRegistry();
@@ -13,7 +13,7 @@ function useMerge(clientId, onMerge) {
13
13
  getBlockName,
14
14
  getBlock
15
15
  } = useSelect(blockEditorStore);
16
- const { mergeBlocks, moveBlocksToPosition, removeBlock } = useDispatch(blockEditorStore);
16
+ const { mergeBlocks, moveBlocksToPosition, removeBlock, insertBlocks } = useDispatch(blockEditorStore);
17
17
  const outdentListItem = useOutdentListItem();
18
18
  function getTrailingId(id) {
19
19
  const order = getBlockOrder(id);
@@ -33,24 +33,6 @@ function useMerge(clientId, onMerge) {
33
33
  }
34
34
  return parentListItemId;
35
35
  }
36
- function _getNextId(id) {
37
- const next = getNextBlockClientId(id);
38
- if (next) {
39
- return next;
40
- }
41
- const parentListItemId = getParentListItemId(id);
42
- if (!parentListItemId) {
43
- return;
44
- }
45
- return _getNextId(parentListItemId);
46
- }
47
- function getNextId(id) {
48
- const order = getBlockOrder(id);
49
- if (!order.length) {
50
- return _getNextId(id);
51
- }
52
- return getBlockOrder(order[0])[0];
53
- }
54
36
  return (forward) => {
55
37
  function mergeWithNested(clientIdA, clientIdB) {
56
38
  registry.batch(() => {
@@ -74,12 +56,53 @@ function useMerge(clientId, onMerge) {
74
56
  });
75
57
  }
76
58
  if (forward) {
77
- const nextBlockClientId = getNextId(clientId);
78
- if (!nextBlockClientId) {
79
- onMerge(forward);
80
- return;
59
+ const innerListId = getBlockOrder(clientId)[0];
60
+ let nextBlockClientId;
61
+ let listItemId = clientId;
62
+ if (innerListId) {
63
+ nextBlockClientId = getBlockOrder(innerListId)[0];
64
+ } else {
65
+ while (!(nextBlockClientId = getNextBlockClientId(listItemId))) {
66
+ const parentLi = getParentListItemId(listItemId);
67
+ if (!parentLi) {
68
+ break;
69
+ }
70
+ listItemId = parentLi;
71
+ }
81
72
  }
82
- if (getParentListItemId(nextBlockClientId)) {
73
+ if (!nextBlockClientId) {
74
+ const outerListId = getBlockRootClientId(listItemId);
75
+ const followingBlockId = getNextBlockClientId(outerListId);
76
+ if (followingBlockId) {
77
+ if (getBlockName(followingBlockId) === "core/list") {
78
+ registry.batch(() => {
79
+ moveBlocksToPosition(
80
+ getBlockOrder(followingBlockId),
81
+ followingBlockId,
82
+ outerListId
83
+ );
84
+ removeBlock(followingBlockId, false);
85
+ });
86
+ } else {
87
+ const transformed = switchToBlockType(
88
+ getBlock(followingBlockId),
89
+ "core/list"
90
+ );
91
+ const newInnerBlocks = transformed?.[0]?.innerBlocks;
92
+ if (newInnerBlocks?.length) {
93
+ registry.batch(() => {
94
+ insertBlocks(
95
+ newInnerBlocks,
96
+ void 0,
97
+ outerListId,
98
+ false
99
+ );
100
+ removeBlock(followingBlockId, false);
101
+ });
102
+ }
103
+ }
104
+ }
105
+ } else if (getParentListItemId(nextBlockClientId)) {
83
106
  outdentListItem(nextBlockClientId);
84
107
  } else {
85
108
  mergeWithNested(clientId, nextBlockClientId);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/list-item/hooks/use-merge.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useRegistry, useDispatch, useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { isUnmodifiedBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport useOutdentListItem from './use-outdent-list-item';\n\nexport default function useMerge( clientId, onMerge ) {\n\tconst registry = useRegistry();\n\tconst {\n\t\tgetPreviousBlockClientId,\n\t\tgetNextBlockClientId,\n\t\tgetBlockOrder,\n\t\tgetBlockRootClientId,\n\t\tgetBlockName,\n\t\tgetBlock,\n\t} = useSelect( blockEditorStore );\n\tconst { mergeBlocks, moveBlocksToPosition, removeBlock } =\n\t\tuseDispatch( blockEditorStore );\n\tconst outdentListItem = useOutdentListItem();\n\n\tfunction getTrailingId( id ) {\n\t\tconst order = getBlockOrder( id );\n\n\t\tif ( ! order.length ) {\n\t\t\treturn id;\n\t\t}\n\n\t\treturn getTrailingId( order[ order.length - 1 ] );\n\t}\n\n\tfunction getParentListItemId( id ) {\n\t\tconst listId = getBlockRootClientId( id );\n\t\tconst parentListItemId = getBlockRootClientId( listId );\n\t\tif ( ! parentListItemId ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( getBlockName( parentListItemId ) !== 'core/list-item' ) {\n\t\t\treturn;\n\t\t}\n\t\treturn parentListItemId;\n\t}\n\n\t/**\n\t * Return the next list item with respect to the given list item. If none,\n\t * return the next list item of the parent list item if it exists.\n\t *\n\t * @param {string} id A list item client ID.\n\t * @return {?string} The client ID of the next list item.\n\t */\n\tfunction _getNextId( id ) {\n\t\tconst next = getNextBlockClientId( id );\n\t\tif ( next ) {\n\t\t\treturn next;\n\t\t}\n\t\tconst parentListItemId = getParentListItemId( id );\n\t\tif ( ! parentListItemId ) {\n\t\t\treturn;\n\t\t}\n\t\treturn _getNextId( parentListItemId );\n\t}\n\n\t/**\n\t * Given a client ID, return the client ID of the list item on the next\n\t * line, regardless of indentation level.\n\t *\n\t * @param {string} id The client ID of the current list item.\n\t * @return {?string} The client ID of the next list item.\n\t */\n\tfunction getNextId( id ) {\n\t\tconst order = getBlockOrder( id );\n\n\t\t// If the list item does not have a nested list, return the next list\n\t\t// item.\n\t\tif ( ! order.length ) {\n\t\t\treturn _getNextId( id );\n\t\t}\n\n\t\t// Get the first list item in the nested list.\n\t\treturn getBlockOrder( order[ 0 ] )[ 0 ];\n\t}\n\n\treturn ( forward ) => {\n\t\tfunction mergeWithNested( clientIdA, clientIdB ) {\n\t\t\tregistry.batch( () => {\n\t\t\t\t// When merging a sub list item with a higher next list item, we\n\t\t\t\t// also need to move any nested list items. Check if there's a\n\t\t\t\t// listed list, and append its nested list items to the current\n\t\t\t\t// list.\n\t\t\t\tconst [ nestedListClientId ] = getBlockOrder( clientIdB );\n\t\t\t\tif ( nestedListClientId ) {\n\t\t\t\t\t// If we are merging with the previous list item, and the\n\t\t\t\t\t// previous list item does not have nested list, move the\n\t\t\t\t\t// nested list to the previous list item.\n\t\t\t\t\tif (\n\t\t\t\t\t\tgetPreviousBlockClientId( clientIdB ) === clientIdA &&\n\t\t\t\t\t\t! getBlockOrder( clientIdA ).length\n\t\t\t\t\t) {\n\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t[ nestedListClientId ],\n\t\t\t\t\t\t\tclientIdB,\n\t\t\t\t\t\t\tclientIdA\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\tgetBlockOrder( nestedListClientId ),\n\t\t\t\t\t\t\tnestedListClientId,\n\t\t\t\t\t\t\tgetBlockRootClientId( clientIdA )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tmergeBlocks( clientIdA, clientIdB );\n\t\t\t} );\n\t\t}\n\n\t\tif ( forward ) {\n\t\t\tconst nextBlockClientId = getNextId( clientId );\n\n\t\t\tif ( ! nextBlockClientId ) {\n\t\t\t\tonMerge( forward );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( getParentListItemId( nextBlockClientId ) ) {\n\t\t\t\toutdentListItem( nextBlockClientId );\n\t\t\t} else {\n\t\t\t\tmergeWithNested( clientId, nextBlockClientId );\n\t\t\t}\n\t\t} else {\n\t\t\t// Merging is only done from the top level. For lowel levels, the\n\t\t\t// list item is outdented instead.\n\t\t\tif ( getParentListItemId( clientId ) ) {\n\t\t\t\toutdentListItem( clientId );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst previousBlockClientId = getPreviousBlockClientId( clientId );\n\t\t\tif ( previousBlockClientId ) {\n\t\t\t\tconst trailingId = getTrailingId( previousBlockClientId );\n\t\t\t\tmergeWithNested( trailingId, clientId );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst blockOrder = getBlockOrder( clientId );\n\t\t\tif (\n\t\t\t\tisUnmodifiedBlock( getBlock( clientId ), 'content' ) &&\n\t\t\t\tblockOrder.length > 0\n\t\t\t) {\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\toutdentListItem( getBlockOrder( blockOrder[ 0 ] ) );\n\t\t\t\t\tremoveBlock( clientId, true );\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tonMerge( forward );\n\t\t\t}\n\t\t}\n\t};\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useRegistry, useDispatch, useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { isUnmodifiedBlock, switchToBlockType } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport useOutdentListItem from './use-outdent-list-item';\n\nexport default function useMerge( clientId, onMerge ) {\n\tconst registry = useRegistry();\n\tconst {\n\t\tgetPreviousBlockClientId,\n\t\tgetNextBlockClientId,\n\t\tgetBlockOrder,\n\t\tgetBlockRootClientId,\n\t\tgetBlockName,\n\t\tgetBlock,\n\t} = useSelect( blockEditorStore );\n\tconst { mergeBlocks, moveBlocksToPosition, removeBlock, insertBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\tconst outdentListItem = useOutdentListItem();\n\n\tfunction getTrailingId( id ) {\n\t\tconst order = getBlockOrder( id );\n\n\t\tif ( ! order.length ) {\n\t\t\treturn id;\n\t\t}\n\n\t\treturn getTrailingId( order[ order.length - 1 ] );\n\t}\n\n\tfunction getParentListItemId( id ) {\n\t\tconst listId = getBlockRootClientId( id );\n\t\tconst parentListItemId = getBlockRootClientId( listId );\n\t\tif ( ! parentListItemId ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( getBlockName( parentListItemId ) !== 'core/list-item' ) {\n\t\t\treturn;\n\t\t}\n\t\treturn parentListItemId;\n\t}\n\n\treturn ( forward ) => {\n\t\tfunction mergeWithNested( clientIdA, clientIdB ) {\n\t\t\tregistry.batch( () => {\n\t\t\t\t// When merging a sub list item with a higher next list item, we\n\t\t\t\t// also need to move any nested list items. Check if there's a\n\t\t\t\t// listed list, and append its nested list items to the current\n\t\t\t\t// list.\n\t\t\t\tconst [ nestedListClientId ] = getBlockOrder( clientIdB );\n\t\t\t\tif ( nestedListClientId ) {\n\t\t\t\t\t// If we are merging with the previous list item, and the\n\t\t\t\t\t// previous list item does not have nested list, move the\n\t\t\t\t\t// nested list to the previous list item.\n\t\t\t\t\tif (\n\t\t\t\t\t\tgetPreviousBlockClientId( clientIdB ) === clientIdA &&\n\t\t\t\t\t\t! getBlockOrder( clientIdA ).length\n\t\t\t\t\t) {\n\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t[ nestedListClientId ],\n\t\t\t\t\t\t\tclientIdB,\n\t\t\t\t\t\t\tclientIdA\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\tgetBlockOrder( nestedListClientId ),\n\t\t\t\t\t\t\tnestedListClientId,\n\t\t\t\t\t\t\tgetBlockRootClientId( clientIdA )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tmergeBlocks( clientIdA, clientIdB );\n\t\t\t} );\n\t\t}\n\n\t\tif ( forward ) {\n\t\t\t// Start by diving into the nested list (if any); otherwise walk up\n\t\t\t// parent list items for a next sibling. `listItemId` ends on the\n\t\t\t// topmost list item if none is found.\n\t\t\tconst innerListId = getBlockOrder( clientId )[ 0 ];\n\t\t\tlet nextBlockClientId;\n\t\t\tlet listItemId = clientId;\n\t\t\tif ( innerListId ) {\n\t\t\t\tnextBlockClientId = getBlockOrder( innerListId )[ 0 ];\n\t\t\t} else {\n\t\t\t\twhile (\n\t\t\t\t\t! ( nextBlockClientId = getNextBlockClientId( listItemId ) )\n\t\t\t\t) {\n\t\t\t\t\tconst parentLi = getParentListItemId( listItemId );\n\t\t\t\t\tif ( ! parentLi ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tlistItemId = parentLi;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( ! nextBlockClientId ) {\n\t\t\t\tconst outerListId = getBlockRootClientId( listItemId );\n\t\t\t\tconst followingBlockId = getNextBlockClientId( outerListId );\n\n\t\t\t\tif ( followingBlockId ) {\n\t\t\t\t\tif ( getBlockName( followingBlockId ) === 'core/list' ) {\n\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\tgetBlockOrder( followingBlockId ),\n\t\t\t\t\t\t\t\tfollowingBlockId,\n\t\t\t\t\t\t\t\touterListId\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tremoveBlock( followingBlockId, false );\n\t\t\t\t\t\t} );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst transformed = switchToBlockType(\n\t\t\t\t\t\t\tgetBlock( followingBlockId ),\n\t\t\t\t\t\t\t'core/list'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst newInnerBlocks = transformed?.[ 0 ]?.innerBlocks;\n\t\t\t\t\t\tif ( newInnerBlocks?.length ) {\n\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\tinsertBlocks(\n\t\t\t\t\t\t\t\t\tnewInnerBlocks,\n\t\t\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\t\t\touterListId,\n\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tremoveBlock( followingBlockId, false );\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if ( getParentListItemId( nextBlockClientId ) ) {\n\t\t\t\toutdentListItem( nextBlockClientId );\n\t\t\t} else {\n\t\t\t\tmergeWithNested( clientId, nextBlockClientId );\n\t\t\t}\n\t\t} else {\n\t\t\t// Merging is only done from the top level. For lowel levels, the\n\t\t\t// list item is outdented instead.\n\t\t\tif ( getParentListItemId( clientId ) ) {\n\t\t\t\toutdentListItem( clientId );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst previousBlockClientId = getPreviousBlockClientId( clientId );\n\t\t\tif ( previousBlockClientId ) {\n\t\t\t\tconst trailingId = getTrailingId( previousBlockClientId );\n\t\t\t\tmergeWithNested( trailingId, clientId );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst blockOrder = getBlockOrder( clientId );\n\t\t\tif (\n\t\t\t\tisUnmodifiedBlock( getBlock( clientId ), 'content' ) &&\n\t\t\t\tblockOrder.length > 0\n\t\t\t) {\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\toutdentListItem( getBlockOrder( blockOrder[ 0 ] ) );\n\t\t\t\t\tremoveBlock( clientId, true );\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tonMerge( forward );\n\t\t\t}\n\t\t}\n\t};\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,12 +1,6 @@
1
1
  // packages/block-library/src/navigation/edit/index.js
2
2
  import clsx from "clsx";
3
- import {
4
- useCallback,
5
- useState,
6
- useEffect,
7
- useRef,
8
- Platform
9
- } from "@wordpress/element";
3
+ import { useCallback, useState, useEffect, useRef } from "@wordpress/element";
10
4
  import {
11
5
  InspectorControls,
12
6
  useBlockProps,
@@ -119,11 +113,7 @@ function ColorTools({
119
113
  ] = useState();
120
114
  const [detectedOverlayColor, setDetectedOverlayColor] = useState();
121
115
  const isWithinOverlay = useSelect(() => isWithinNavigationOverlay(), []);
122
- const enableContrastChecking = Platform.OS === "web";
123
116
  useEffect(() => {
124
- if (!enableContrastChecking) {
125
- return;
126
- }
127
117
  detectColors(
128
118
  navRef.current,
129
119
  setDetectedColor,
@@ -142,12 +132,7 @@ function ColorTools({
142
132
  setDetectedOverlayBackgroundColor
143
133
  );
144
134
  }
145
- }, [
146
- enableContrastChecking,
147
- overlayTextColor.color,
148
- overlayBackgroundColor.color,
149
- navRef
150
- ]);
135
+ }, [overlayTextColor.color, overlayBackgroundColor.color, navRef]);
151
136
  const colorGradientSettings = useMultipleOriginColorsAndGradients();
152
137
  if (!colorGradientSettings.hasColorsOrGradients) {
153
138
  return null;
@@ -200,22 +185,20 @@ function ColorTools({
200
185
  disableCustomGradients: true
201
186
  }
202
187
  ),
203
- enableContrastChecking && /* @__PURE__ */ jsxs(Fragment, { children: [
204
- /* @__PURE__ */ jsx(
205
- ContrastChecker,
206
- {
207
- backgroundColor: detectedBackgroundColor,
208
- textColor: detectedColor
209
- }
210
- ),
211
- /* @__PURE__ */ jsx(
212
- ContrastChecker,
213
- {
214
- backgroundColor: detectedOverlayBackgroundColor,
215
- textColor: detectedOverlayColor
216
- }
217
- )
218
- ] })
188
+ /* @__PURE__ */ jsx(
189
+ ContrastChecker,
190
+ {
191
+ backgroundColor: detectedBackgroundColor,
192
+ textColor: detectedColor
193
+ }
194
+ ),
195
+ /* @__PURE__ */ jsx(
196
+ ContrastChecker,
197
+ {
198
+ backgroundColor: detectedOverlayBackgroundColor,
199
+ textColor: detectedOverlayColor
200
+ }
201
+ )
219
202
  ] });
220
203
  }
221
204
  function Navigation({
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/navigation/edit/index.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\twithColors,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tuseBlockEditingMode,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport {\n\tEntityProvider,\n\tstore as coreStore,\n\tuseEntityRecords,\n} from '@wordpress/core-data';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tSpinner,\n\tNotice,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { page } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport Placeholder from './placeholder';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\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 OverlayMenuPreview from './overlay-menu-preview';\nimport OverlayPanel from './overlay-panel';\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 from './use-create-navigation-menu';\nimport { useInnerBlocks } from './use-inner-blocks';\nimport { detectColors } from './utils';\nimport ManageMenusButton from './manage-menus-button';\nimport MenuInspectorControls from './menu-inspector-controls';\nimport DeletedNavigationWarning from './deleted-navigation-warning';\nimport AccessibleDescription from './accessible-description';\nimport AccessibleMenuDescription from './accessible-menu-description';\nimport { unlock } from '../../lock-unlock';\nimport { useToolsPanelDropdownMenuProps } from '../../utils/hooks';\nimport { isWithinNavigationOverlay } from '../../utils/is-within-overlay';\nimport {\n\tDEFAULT_BLOCK,\n\tNAVIGATION_OVERLAY_TEMPLATE_PART_AREA,\n} from '../constants';\n\nconst { isNavigationPostEditorKey } = unlock( blockEditorPrivateApis );\n\n/**\n * Component that renders the Add page button for the Navigation block.\n *\n * @param {Object} props Component props.\n * @param {string} props.clientId Block client ID.\n * @return {React.JSX.Element} The Add page button component or null if not applicable.\n */\nfunction NavigationAddPageButton( { clientId } ) {\n\tconst { insertBlock } = useDispatch( blockEditorStore );\n\tconst { getBlockCount } = useSelect( blockEditorStore );\n\n\tconst onAddPage = useCallback( () => {\n\t\t// Get the current number of blocks to insert at the end\n\t\tconst blockCount = getBlockCount( clientId );\n\n\t\t// Create a new navigation link block (default block)\n\t\tconst newBlock = createBlock( DEFAULT_BLOCK.name, {\n\t\t\tkind: DEFAULT_BLOCK.attributes.kind,\n\t\t\ttype: DEFAULT_BLOCK.attributes.type,\n\t\t} );\n\n\t\t// Insert the block at the end of the navigation\n\t\tinsertBlock( newBlock, blockCount, clientId );\n\t}, [ clientId, insertBlock, getBlockCount ] );\n\n\treturn (\n\t\t<BlockControls>\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tname=\"add-page\"\n\t\t\t\t\ticon={ page }\n\t\t\t\t\tonClick={ onAddPage }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Add page' ) }\n\t\t\t\t</ToolbarButton>\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t);\n}\n\nfunction ColorTools( {\n\ttextColor,\n\tsetTextColor,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\tclientId,\n\tnavRef,\n\thasCustomOverlay,\n} ) {\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\t// Detect if we're editing inside an overlay template part.\n\tconst isWithinOverlay = useSelect( () => isWithinNavigationOverlay(), [] );\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\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\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-submenu\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\n\t\tif ( ! subMenuElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Only detect submenu overlay colors if they have previously been explicitly set.\n\t\t// This avoids the contrast checker from reporting on inherited submenu colors and\n\t\t// showing the contrast warning twice.\n\t\tif ( overlayTextColor.color || overlayBackgroundColor.color ) {\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\t\tenableContrastChecking,\n\t\toverlayTextColor.color,\n\t\toverlayBackgroundColor.color,\n\t\tnavRef,\n\t] );\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tif ( ! colorGradientSettings.hasColorsOrGradients ) {\n\t\treturn null;\n\t}\n\n\tconst colorSettings = [\n\t\t{\n\t\t\tcolorValue: textColor.color,\n\t\t\tlabel: __( 'Text' ),\n\t\t\tonColorChange: setTextColor,\n\t\t\tresetAllFilter: () => setTextColor(),\n\t\t\tclearable: true,\n\t\t\tenableAlpha: true,\n\t\t},\n\t\t{\n\t\t\tcolorValue: backgroundColor.color,\n\t\t\tlabel: __( 'Background' ),\n\t\t\tonColorChange: setBackgroundColor,\n\t\t\tresetAllFilter: () => setBackgroundColor(),\n\t\t\tclearable: true,\n\t\t\tenableAlpha: true,\n\t\t},\n\t];\n\n\t// Only show overlay controls when not in an overlay template.\n\tcolorSettings.push(\n\t\t{\n\t\t\tcolorValue: overlayTextColor.color,\n\t\t\tlabel:\n\t\t\t\thasCustomOverlay || isWithinOverlay\n\t\t\t\t\t? __( 'Submenu text' )\n\t\t\t\t\t: __( 'Submenu & overlay text' ),\n\t\t\tonColorChange: setOverlayTextColor,\n\t\t\tresetAllFilter: () => setOverlayTextColor(),\n\t\t\tclearable: true,\n\t\t\tenableAlpha: true,\n\t\t},\n\t\t{\n\t\t\tcolorValue: overlayBackgroundColor.color,\n\t\t\tlabel:\n\t\t\t\thasCustomOverlay || isWithinOverlay\n\t\t\t\t\t? __( 'Submenu background' )\n\t\t\t\t\t: __( 'Submenu & overlay background' ),\n\t\t\tonColorChange: setOverlayBackgroundColor,\n\t\t\tresetAllFilter: () => setOverlayBackgroundColor(),\n\t\t\tclearable: true,\n\t\t\tenableAlpha: true,\n\t\t}\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\tsettings={ colorSettings }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\tgradients={ [] }\n\t\t\t\tdisableCustomGradients\n\t\t\t/>\n\t\t\t{ enableContrastChecking && (\n\t\t\t\t<>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t/>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedOverlayBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\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\tcustomPlaceholder: CustomPlaceholder = null,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\n\tconst {\n\t\tsubmenuVisibility,\n\t\toverlayMenu,\n\t\toverlay,\n\t\tshowSubmenuIcon,\n\t\ttemplateLock,\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\ticon = 'handle',\n\t} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t},\n\t\t[ setAttributes ]\n\t);\n\n\t// Reset submenuVisibility to default if orientation changes to horizontal while \"always\" is selected\n\tuseEffect( () => {\n\t\tif ( orientation === 'horizontal' && submenuVisibility === 'always' ) {\n\t\t\tsetAttributes( {\n\t\t\t\tsubmenuVisibility: 'hover',\n\t\t\t\tshowSubmenuIcon: true,\n\t\t\t} );\n\t\t}\n\t}, [ orientation, submenuVisibility, setAttributes ] );\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\n\t// Skip recursion check when in preview mode.\n\tconst recursionDetected = useHasRecursion( recursionId );\n\tconst {\n\t\tisPreviewMode,\n\t\tonNavigateToEntityRecord,\n\t\tcurrentTheme,\n\t\teditorDisabledResponsive,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst settings = getSettings();\n\n\t\treturn {\n\t\t\tisPreviewMode: settings.isPreviewMode,\n\t\t\tonNavigateToEntityRecord: settings?.onNavigateToEntityRecord,\n\t\t\t// Needed to construct the template part ID for the overlay preview.\n\t\t\tcurrentTheme: select( coreStore ).getCurrentTheme()?.stylesheet,\n\t\t\t// When editing a navigation post directly in an isolated editor,\n\t\t\t// always show navigation expanded (no hamburger) so users can see\n\t\t\t// and interact with all menu items.\n\t\t\teditorDisabledResponsive:\n\t\t\t\t!! settings?.[ isNavigationPostEditorKey ],\n\t\t};\n\t}, [] );\n\tconst hasAlreadyRendered = isPreviewMode ? false : recursionDetected;\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tconst { records: classicMenus } = useEntityRecords( 'root', 'menu', {\n\t\tper_page: -1,\n\t\tcontext: 'view',\n\t} );\n\n\tconst [ showNavigationMenuStatusNotice, hideNavigationMenuStatusNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/status',\n\t\t} );\n\n\tconst [ showClassicMenuConversionNotice, hideClassicMenuConversionNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/classic-menu-conversion',\n\t\t} );\n\n\tconst [\n\t\tshowNavigationMenuPermissionsNotice,\n\t\thideNavigationMenuPermissionsNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t\tisPending: isCreatingNavigationMenu,\n\t\tisSuccess: createNavigationMenuIsSuccess,\n\t\tisError: createNavigationMenuIsError,\n\t} = useCreateNavigationMenu( clientId );\n\n\tconst createUntitledEmptyNavigationMenu = async () => {\n\t\tawait createNavigationMenu( '' );\n\t};\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\tinnerBlocks,\n\t} = useInnerBlocks( clientId );\n\n\t// Use a ref to store whether we've confirmed a page-list has submenus.\n\t// Once confirmed, we don't need to keep checking the page-list blocks.\n\tconst hasPageListWithSubmenuRef = useRef( false );\n\n\t// Check for submenus using getBlocks to include controlled innerBlocks\n\tconst hasSubmenus = useSelect(\n\t\t( select ) => {\n\t\t\t// First check for navigation-submenu (fast, no selector needed)\n\t\t\tconst hasNavigationSubmenu = innerBlocks.some(\n\t\t\t\t( block ) => block.name === 'core/navigation-submenu'\n\t\t\t);\n\t\t\tif ( hasNavigationSubmenu ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// Only check page-list if we didn't find a submenu already\n\t\t\tconst pageList = innerBlocks.find(\n\t\t\t\t( block ) => block.name === 'core/page-list'\n\t\t\t);\n\t\t\tif ( ! pageList ) {\n\t\t\t\thasPageListWithSubmenuRef.current = false;\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// If we've already confirmed page-list has submenus, return early\n\t\t\tif ( hasPageListWithSubmenuRef.current ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// Check if the page-list has controlled innerBlocks\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\tconst pageListBlocks = getBlocks( pageList.clientId );\n\t\t\tif ( pageListBlocks.length > 0 ) {\n\t\t\t\thasPageListWithSubmenuRef.current = true;\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// No pageList returned with confirmed submenus, so assume it will not have submenus\n\t\t\treturn false;\n\t\t},\n\t\t[ innerBlocks ]\n\t);\n\n\t// Check if any overlay template parts exist\n\tconst { records: overlayTemplateParts } = useEntityRecords(\n\t\t'postType',\n\t\t'wp_template_part',\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\tconst hasOverlays =\n\t\toverlayTemplateParts?.some(\n\t\t\t( templatePart ) =>\n\t\t\t\ttemplatePart.area === NAVIGATION_OVERLAY_TEMPLATE_PART_AREA\n\t\t) ?? false;\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] =\n\t\tuseState( false );\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenus,\n\t\tisResolvingCanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t} = useNavigationMenu( ref );\n\n\tconst navMenuResolvedButMissing =\n\t\thasResolvedNavigationMenus && isNavigationMenuMissing;\n\n\tconst {\n\t\tconvert: convertClassicMenu,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t} = useConvertClassicToBlockMenu( createNavigationMenu );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\tconst handleUpdateMenu = useCallback(\n\t\t( menuId, options = { focusNavigationBlock: false } ) => {\n\t\t\tconst { focusNavigationBlock } = options;\n\t\t\tsetRef( menuId );\n\t\t\tif ( focusNavigationBlock ) {\n\t\t\t\tselectBlock( clientId );\n\t\t\t}\n\t\t},\n\t\t[ selectBlock, clientId, setRef ]\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\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\n\tconst { getNavigationFallbackId } = unlock( useSelect( coreStore ) );\n\n\tconst navigationFallbackId = ! ( ref || hasUnsavedBlocks )\n\t\t? getNavigationFallbackId()\n\t\t: null;\n\n\tuseEffect( () => {\n\t\t// If:\n\t\t// - there is an existing menu, OR\n\t\t// - there are existing (uncontrolled) inner blocks\n\t\t// ...then don't request a fallback menu.\n\t\tif ( ref || hasUnsavedBlocks || ! navigationFallbackId ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/**\n\t\t * This fallback displays (both in editor and on front)\n\t\t * The fallback should not request a save (entity dirty state)\n\t\t * nor to be undoable, hence why it is marked as non persistent\n\t\t */\n\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( navigationFallbackId );\n\t}, [\n\t\tref,\n\t\tsetRef,\n\t\thasUnsavedBlocks,\n\t\tnavigationFallbackId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\tconst navRef = useRef();\n\n\t// Detect if we're editing inside an overlay template part.\n\tconst isWithinOverlay = useSelect( () => isWithinNavigationOverlay(), [] );\n\n\t// Use div wrapper if this navigation block is within an overlay template part.\n\t// Otherwise, use nav as the standard HTML5 tag.\n\tconst TagName = isWithinOverlay ? 'div' : '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\tclassicMenus?.length === 0 &&\n\t\t! hasUncontrolledInnerBlocks;\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 = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__unstableHasActiveBlockOverlayActive(\n\t\t\t\tclientId\n\t\t\t),\n\t\t[ clientId ]\n\t);\n\n\t// Configure navigation blocks in overlay templates.\n\tconst hasSetOverlayDefault = useRef( false );\n\tuseEffect( () => {\n\t\tif ( ! isWithinOverlay ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Prevent nested overlays.\n\t\tif ( overlayMenu !== 'never' ) {\n\t\t\tsetAttributes( { overlayMenu: 'never' } );\n\t\t}\n\n\t\t// Set vertical orientation and always-open submenus for new blocks.\n\t\tif ( ! hasSetOverlayDefault.current && ! ref ) {\n\t\t\thasSetOverlayDefault.current = true;\n\t\t\tsetAttributes( {\n\t\t\t\tsubmenuVisibility: 'always',\n\t\t\t\tlayout: {\n\t\t\t\t\t...attributes.layout,\n\t\t\t\t\torientation: 'vertical',\n\t\t\t\t},\n\t\t\t\tshowSubmenuIcon: false,\n\t\t\t} );\n\t\t}\n\t}, [\n\t\tattributes.layout,\n\t\tisWithinOverlay,\n\t\toverlayMenu,\n\t\tref,\n\t\tsetAttributes,\n\t] );\n\n\tconst isResponsive = 'never' !== overlayMenu && ! editorDisabledResponsive;\n\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: clsx(\n\t\t\tclassName,\n\t\t\t{\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': isResponsive,\n\t\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t\t[ getColorClassName( 'color', textColor?.slug ) ]:\n\t\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\tlayoutClassNames\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 onSelectClassicMenu = async ( classicMenu ) => {\n\t\treturn convertClassicMenu( classicMenu.id, classicMenu.name, 'draft' );\n\t};\n\n\tconst onSelectNavigationMenu = ( menuId ) => {\n\t\thandleUpdateMenu( menuId );\n\t};\n\n\tuseEffect( () => {\n\t\thideNavigationMenuStatusNotice();\n\n\t\tif ( isCreatingNavigationMenu ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuIsSuccess ) {\n\t\t\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuIsError ) {\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost?.id,\n\t\tcreateNavigationMenuIsError,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisCreatingNavigationMenu,\n\t\thandleUpdateMenu,\n\t\thideNavigationMenuStatusNotice,\n\t\tshowNavigationMenuStatusNotice,\n\t] );\n\n\tuseEffect( () => {\n\t\thideClassicMenuConversionNotice();\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu imported successfully.' )\n\t\t\t);\n\t\t\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu import failed.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tclassicMenuConversionStatus,\n\t\tclassicMenuConversionError,\n\t\thideClassicMenuConversionNotice,\n\t\tshowClassicMenuConversionNotice,\n\t\tcreateNavigationMenuPost?.id,\n\t\thandleUpdateMenu,\n\t] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideNavigationMenuPermissionsNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\tref &&\n\t\t\t\t! navMenuResolvedButMissing &&\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenus &&\n\t\t\t\t! canUserCreateNavigationMenus\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t\tref,\n\t\thideNavigationMenuPermissionsNotice,\n\t\tshowNavigationMenuPermissionsNotice,\n\t\tnavMenuResolvedButMissing,\n\t] );\n\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenus || canUserUpdateNavigationMenu;\n\n\tconst overlayMenuPreviewClasses = clsx(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tconst submenuAccessibilityNotice =\n\t\t! showSubmenuIcon &&\n\t\tsubmenuVisibility !== 'click' &&\n\t\tsubmenuVisibility !== 'always'\n\t\t\t? __(\n\t\t\t\t\t'The current menu options offer reduced accessibility for users and are not recommended. Enabling either \"Open on Click\" or \"Show arrow\" offers enhanced accessibility by allowing keyboard users to browse submenus selectively.'\n\t\t\t )\n\t\t\t: '';\n\n\tconst isFirstRender = useRef( true ); // Don't speak on first render.\n\tuseEffect( () => {\n\t\tif ( ! isFirstRender.current && submenuAccessibilityNotice ) {\n\t\t\tspeak( submenuAccessibilityNotice );\n\t\t}\n\t\tisFirstRender.current = false;\n\t}, [ submenuAccessibilityNotice ] );\n\n\tconst overlayMenuPreviewId = useInstanceId(\n\t\tOverlayMenuPreview,\n\t\t`overlay-menu-preview`\n\t);\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst stylingInspectorControls = (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Display' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\tsubmenuVisibility: 'hover',\n\t\t\t\t\t\t\t\toverlayMenu: 'mobile',\n\t\t\t\t\t\t\t\thasIcon: true,\n\t\t\t\t\t\t\t\ticon: 'handle',\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<h3 className=\"wp-block-navigation__submenu-header\">\n\t\t\t\t\t\t\t\t\t{ __( 'Submenus' ) }\n\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\t\tsubmenuVisibility !== 'hover'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Submenu Visibility' ) }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tsubmenuVisibility: 'hover',\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\tisShownByDefault\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Submenu Visibility' ) }\n\t\t\t\t\t\t\t\t\t\tvalue={ submenuVisibility }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tconst newAttributes = {\n\t\t\t\t\t\t\t\t\t\t\t\tsubmenuVisibility: value,\n\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\tconst prevSubmenuVisibility =\n\t\t\t\t\t\t\t\t\t\t\t\tsubmenuVisibility;\n\t\t\t\t\t\t\t\t\t\t\t// If \"always\" is selected, hide the arrow because the formatting is broken for it when using center alignment.\n\t\t\t\t\t\t\t\t\t\t\tif ( value === 'always' ) {\n\t\t\t\t\t\t\t\t\t\t\t\tnewAttributes.showSubmenuIcon = false;\n\t\t\t\t\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\t\t\t\t\tvalue === 'click' ||\n\t\t\t\t\t\t\t\t\t\t\t\tprevSubmenuVisibility ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t'always'\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t// When switching to \"click\" or away from \"always\", show the arrow\n\t\t\t\t\t\t\t\t\t\t\t\tnewAttributes.showSubmenuIcon = true;\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( newAttributes );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\t\tvalue=\"hover\"\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Hover' ) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\t\tvalue=\"click\"\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Click' ) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{ orientation === 'vertical' && (\n\t\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\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</ToggleGroupControl>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\thasValue={ () => ! showSubmenuIcon }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\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\tisDisabled={\n\t\t\t\t\t\t\t\t\t\tsubmenuVisibility === 'click' ||\n\t\t\t\t\t\t\t\t\t\tsubmenuVisibility === 'always'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\t>\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\tsubmenuVisibility === 'click' ||\n\t\t\t\t\t\t\t\t\t\t\tsubmenuVisibility === 'always'\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</ToolsPanelItem>\n\n\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice && (\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tspokenMessage={ null }\n\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation__submenu-accessibility-notice\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice }\n\t\t\t\t\t\t\t\t\t</Notice>\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</ToolsPanel>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ ! isWithinOverlay && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<OverlayPanel\n\t\t\t\t\t\toverlayMenu={ overlayMenu }\n\t\t\t\t\t\toverlay={ overlay }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tonNavigateToEntityRecord={ onNavigateToEntityRecord }\n\t\t\t\t\t\toverlayMenuPreview={ overlayMenuPreview }\n\t\t\t\t\t\tsetOverlayMenuPreview={ setOverlayMenuPreview }\n\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\toverlayMenuPreviewClasses={ overlayMenuPreviewClasses }\n\t\t\t\t\t\toverlayMenuPreviewId={ overlayMenuPreviewId }\n\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\tcurrentTheme={ currentTheme }\n\t\t\t\t\t\thasOverlays={ hasOverlays }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t{ /*\n\t\t\t\t * Avoid useMultipleOriginColorsAndGradients and detectColors\n\t\t\t\t * on block mount. InspectorControls only mounts this component\n\t\t\t\t * when the block is selected.\n\t\t\t\t * */ }\n\t\t\t\t<ColorTools\n\t\t\t\t\ttextColor={ textColor }\n\t\t\t\t\tsetTextColor={ setTextColor }\n\t\t\t\t\tbackgroundColor={ backgroundColor }\n\t\t\t\t\tsetBackgroundColor={ setBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\tsetOverlayTextColor={ setOverlayTextColor }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\tsetOverlayBackgroundColor={ setOverlayBackgroundColor }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tnavRef={ navRef }\n\t\t\t\t\thasCustomOverlay={ !! overlay }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst accessibleDescriptionId = `${ clientId }-desc`;\n\tconst isHiddenByDefault = 'always' === overlayMenu;\n\tconst isManageMenusButtonDisabled =\n\t\t! hasManagePermissions || ! hasResolvedNavigationMenus;\n\n\tif ( hasUnsavedBlocks && ! isCreatingNavigationMenu ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t! isPlaceholder ? accessibleDescriptionId : undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<AccessibleDescription id={ accessibleDescriptionId }>\n\t\t\t\t\t\t{ __( 'Unsaved Navigation Menu.' ) }\n\t\t\t\t\t</AccessibleDescription>\n\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\n\t\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\toverlay={ overlay }\n\t\t\t\t\t\tonNavigateToEntityRecord={ onNavigateToEntityRecord }\n\t\t\t\t\t>\n\t\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\t\tcreateNavigationMenu={ createNavigationMenu }\n\t\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t</TagName>\n\t\t\t</>\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<>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t<DeletedNavigationWarning\n\t\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\t/>\n\t\t\t\t</TagName>\n\t\t\t</>\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\t/**\n\t * Historically the navigation block has supported custom placeholders.\n\t * Even though the current UX tries as hard as possible not to\n\t * end up in a placeholder state, the block continues to support\n\t * this extensibility point, via a CustomPlaceholder.\n\t * When CustomPlaceholder is present it becomes the default fallback\n\t * for an empty navigation block, instead of the default fallbacks.\n\t *\n\t */\n\n\tif ( isPlaceholder && CustomPlaceholder ) {\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\tcanUserCreateNavigationMenus={\n\t\t\t\t\t\tcanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenus={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonCreateEmpty={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuInspectorControls\n\t\t\t\tclientId={ clientId }\n\t\t\t\tcreateNavigationMenuIsSuccess={ createNavigationMenuIsSuccess }\n\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\tisLoading={ isLoading }\n\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t/>\n\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t\t<RecursionProvider uniqueId={ recursionId }>\n\t\t\t\t\t{ blockEditingMode === 'contentOnly' &&\n\t\t\t\t\t\tisEntityAvailable && (\n\t\t\t\t\t\t\t<NavigationAddPageButton clientId={ clientId } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t{ blockEditingMode === 'default' && isEntityAvailable && (\n\t\t\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\t\tonDelete={ () => {\n\t\t\t\t\t\t\t\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t\t\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\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 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);\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<ManageMenusButton\n\t\t\t\t\t\t\t\tdisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-manage-menus-button\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<TagName\n\t\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t! isPlaceholder && ! isLoading\n\t\t\t\t\t\t\t\t? accessibleDescriptionId\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isLoading && ! isHiddenByDefault && (\n\t\t\t\t\t\t\t<div className=\"wp-block-navigation__loading-indicator-container\">\n\t\t\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t{ ( ! isLoading || isHiddenByDefault ) && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<AccessibleMenuDescription\n\t\t\t\t\t\t\t\t\tid={ accessibleDescriptionId }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\n\t\t\t\t\t\t\t\t\toverlayBackgroundColor={\n\t\t\t\t\t\t\t\t\t\toverlayBackgroundColor\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t\t\t\toverlay={ overlay }\n\t\t\t\t\t\t\t\t\tonNavigateToEntityRecord={\n\t\t\t\t\t\t\t\t\t\tonNavigateToEntityRecord\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{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\t\t\t\t\t\t\torientation={ orientation }\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</ResponsiveWrapper>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</TagName>\n\t\t\t\t</RecursionProvider>\n\t\t\t</EntityProvider>\n\t\t</>\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"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useState, useEffect, useRef } from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\twithColors,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tuseBlockEditingMode,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport {\n\tEntityProvider,\n\tstore as coreStore,\n\tuseEntityRecords,\n} from '@wordpress/core-data';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tSpinner,\n\tNotice,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { page } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport Placeholder from './placeholder';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\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 OverlayMenuPreview from './overlay-menu-preview';\nimport OverlayPanel from './overlay-panel';\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 from './use-create-navigation-menu';\nimport { useInnerBlocks } from './use-inner-blocks';\nimport { detectColors } from './utils';\nimport ManageMenusButton from './manage-menus-button';\nimport MenuInspectorControls from './menu-inspector-controls';\nimport DeletedNavigationWarning from './deleted-navigation-warning';\nimport AccessibleDescription from './accessible-description';\nimport AccessibleMenuDescription from './accessible-menu-description';\nimport { unlock } from '../../lock-unlock';\nimport { useToolsPanelDropdownMenuProps } from '../../utils/hooks';\nimport { isWithinNavigationOverlay } from '../../utils/is-within-overlay';\nimport {\n\tDEFAULT_BLOCK,\n\tNAVIGATION_OVERLAY_TEMPLATE_PART_AREA,\n} from '../constants';\n\nconst { isNavigationPostEditorKey } = unlock( blockEditorPrivateApis );\n\n/**\n * Component that renders the Add page button for the Navigation block.\n *\n * @param {Object} props Component props.\n * @param {string} props.clientId Block client ID.\n * @return {React.JSX.Element} The Add page button component or null if not applicable.\n */\nfunction NavigationAddPageButton( { clientId } ) {\n\tconst { insertBlock } = useDispatch( blockEditorStore );\n\tconst { getBlockCount } = useSelect( blockEditorStore );\n\n\tconst onAddPage = useCallback( () => {\n\t\t// Get the current number of blocks to insert at the end\n\t\tconst blockCount = getBlockCount( clientId );\n\n\t\t// Create a new navigation link block (default block)\n\t\tconst newBlock = createBlock( DEFAULT_BLOCK.name, {\n\t\t\tkind: DEFAULT_BLOCK.attributes.kind,\n\t\t\ttype: DEFAULT_BLOCK.attributes.type,\n\t\t} );\n\n\t\t// Insert the block at the end of the navigation\n\t\tinsertBlock( newBlock, blockCount, clientId );\n\t}, [ clientId, insertBlock, getBlockCount ] );\n\n\treturn (\n\t\t<BlockControls>\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tname=\"add-page\"\n\t\t\t\t\ticon={ page }\n\t\t\t\t\tonClick={ onAddPage }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Add page' ) }\n\t\t\t\t</ToolbarButton>\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t);\n}\n\nfunction ColorTools( {\n\ttextColor,\n\tsetTextColor,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\tclientId,\n\tnavRef,\n\thasCustomOverlay,\n} ) {\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\t// Detect if we're editing inside an overlay template part.\n\tconst isWithinOverlay = useSelect( () => isWithinNavigationOverlay(), [] );\n\n\tuseEffect( () => {\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-submenu\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\n\t\tif ( ! subMenuElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Only detect submenu overlay colors if they have previously been explicitly set.\n\t\t// This avoids the contrast checker from reporting on inherited submenu colors and\n\t\t// showing the contrast warning twice.\n\t\tif ( overlayTextColor.color || overlayBackgroundColor.color ) {\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}, [ overlayTextColor.color, overlayBackgroundColor.color, navRef ] );\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tif ( ! colorGradientSettings.hasColorsOrGradients ) {\n\t\treturn null;\n\t}\n\n\tconst colorSettings = [\n\t\t{\n\t\t\tcolorValue: textColor.color,\n\t\t\tlabel: __( 'Text' ),\n\t\t\tonColorChange: setTextColor,\n\t\t\tresetAllFilter: () => setTextColor(),\n\t\t\tclearable: true,\n\t\t\tenableAlpha: true,\n\t\t},\n\t\t{\n\t\t\tcolorValue: backgroundColor.color,\n\t\t\tlabel: __( 'Background' ),\n\t\t\tonColorChange: setBackgroundColor,\n\t\t\tresetAllFilter: () => setBackgroundColor(),\n\t\t\tclearable: true,\n\t\t\tenableAlpha: true,\n\t\t},\n\t];\n\n\t// Only show overlay controls when not in an overlay template.\n\tcolorSettings.push(\n\t\t{\n\t\t\tcolorValue: overlayTextColor.color,\n\t\t\tlabel:\n\t\t\t\thasCustomOverlay || isWithinOverlay\n\t\t\t\t\t? __( 'Submenu text' )\n\t\t\t\t\t: __( 'Submenu & overlay text' ),\n\t\t\tonColorChange: setOverlayTextColor,\n\t\t\tresetAllFilter: () => setOverlayTextColor(),\n\t\t\tclearable: true,\n\t\t\tenableAlpha: true,\n\t\t},\n\t\t{\n\t\t\tcolorValue: overlayBackgroundColor.color,\n\t\t\tlabel:\n\t\t\t\thasCustomOverlay || isWithinOverlay\n\t\t\t\t\t? __( 'Submenu background' )\n\t\t\t\t\t: __( 'Submenu & overlay background' ),\n\t\t\tonColorChange: setOverlayBackgroundColor,\n\t\t\tresetAllFilter: () => setOverlayBackgroundColor(),\n\t\t\tclearable: true,\n\t\t\tenableAlpha: true,\n\t\t}\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\tsettings={ colorSettings }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\tgradients={ [] }\n\t\t\t\tdisableCustomGradients\n\t\t\t/>\n\t\t\t<ContrastChecker\n\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\ttextColor={ detectedColor }\n\t\t\t/>\n\t\t\t<ContrastChecker\n\t\t\t\tbackgroundColor={ detectedOverlayBackgroundColor }\n\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t/>\n\t\t</>\n\t);\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\tcustomPlaceholder: CustomPlaceholder = null,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\n\tconst {\n\t\tsubmenuVisibility,\n\t\toverlayMenu,\n\t\toverlay,\n\t\tshowSubmenuIcon,\n\t\ttemplateLock,\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\ticon = 'handle',\n\t} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t},\n\t\t[ setAttributes ]\n\t);\n\n\t// Reset submenuVisibility to default if orientation changes to horizontal while \"always\" is selected\n\tuseEffect( () => {\n\t\tif ( orientation === 'horizontal' && submenuVisibility === 'always' ) {\n\t\t\tsetAttributes( {\n\t\t\t\tsubmenuVisibility: 'hover',\n\t\t\t\tshowSubmenuIcon: true,\n\t\t\t} );\n\t\t}\n\t}, [ orientation, submenuVisibility, setAttributes ] );\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\n\t// Skip recursion check when in preview mode.\n\tconst recursionDetected = useHasRecursion( recursionId );\n\tconst {\n\t\tisPreviewMode,\n\t\tonNavigateToEntityRecord,\n\t\tcurrentTheme,\n\t\teditorDisabledResponsive,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst settings = getSettings();\n\n\t\treturn {\n\t\t\tisPreviewMode: settings.isPreviewMode,\n\t\t\tonNavigateToEntityRecord: settings?.onNavigateToEntityRecord,\n\t\t\t// Needed to construct the template part ID for the overlay preview.\n\t\t\tcurrentTheme: select( coreStore ).getCurrentTheme()?.stylesheet,\n\t\t\t// When editing a navigation post directly in an isolated editor,\n\t\t\t// always show navigation expanded (no hamburger) so users can see\n\t\t\t// and interact with all menu items.\n\t\t\teditorDisabledResponsive:\n\t\t\t\t!! settings?.[ isNavigationPostEditorKey ],\n\t\t};\n\t}, [] );\n\tconst hasAlreadyRendered = isPreviewMode ? false : recursionDetected;\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tconst { records: classicMenus } = useEntityRecords( 'root', 'menu', {\n\t\tper_page: -1,\n\t\tcontext: 'view',\n\t} );\n\n\tconst [ showNavigationMenuStatusNotice, hideNavigationMenuStatusNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/status',\n\t\t} );\n\n\tconst [ showClassicMenuConversionNotice, hideClassicMenuConversionNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/classic-menu-conversion',\n\t\t} );\n\n\tconst [\n\t\tshowNavigationMenuPermissionsNotice,\n\t\thideNavigationMenuPermissionsNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t\tisPending: isCreatingNavigationMenu,\n\t\tisSuccess: createNavigationMenuIsSuccess,\n\t\tisError: createNavigationMenuIsError,\n\t} = useCreateNavigationMenu( clientId );\n\n\tconst createUntitledEmptyNavigationMenu = async () => {\n\t\tawait createNavigationMenu( '' );\n\t};\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\tinnerBlocks,\n\t} = useInnerBlocks( clientId );\n\n\t// Use a ref to store whether we've confirmed a page-list has submenus.\n\t// Once confirmed, we don't need to keep checking the page-list blocks.\n\tconst hasPageListWithSubmenuRef = useRef( false );\n\n\t// Check for submenus using getBlocks to include controlled innerBlocks\n\tconst hasSubmenus = useSelect(\n\t\t( select ) => {\n\t\t\t// First check for navigation-submenu (fast, no selector needed)\n\t\t\tconst hasNavigationSubmenu = innerBlocks.some(\n\t\t\t\t( block ) => block.name === 'core/navigation-submenu'\n\t\t\t);\n\t\t\tif ( hasNavigationSubmenu ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// Only check page-list if we didn't find a submenu already\n\t\t\tconst pageList = innerBlocks.find(\n\t\t\t\t( block ) => block.name === 'core/page-list'\n\t\t\t);\n\t\t\tif ( ! pageList ) {\n\t\t\t\thasPageListWithSubmenuRef.current = false;\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// If we've already confirmed page-list has submenus, return early\n\t\t\tif ( hasPageListWithSubmenuRef.current ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// Check if the page-list has controlled innerBlocks\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\tconst pageListBlocks = getBlocks( pageList.clientId );\n\t\t\tif ( pageListBlocks.length > 0 ) {\n\t\t\t\thasPageListWithSubmenuRef.current = true;\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// No pageList returned with confirmed submenus, so assume it will not have submenus\n\t\t\treturn false;\n\t\t},\n\t\t[ innerBlocks ]\n\t);\n\n\t// Check if any overlay template parts exist\n\tconst { records: overlayTemplateParts } = useEntityRecords(\n\t\t'postType',\n\t\t'wp_template_part',\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\tconst hasOverlays =\n\t\toverlayTemplateParts?.some(\n\t\t\t( templatePart ) =>\n\t\t\t\ttemplatePart.area === NAVIGATION_OVERLAY_TEMPLATE_PART_AREA\n\t\t) ?? false;\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] =\n\t\tuseState( false );\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenus,\n\t\tisResolvingCanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t} = useNavigationMenu( ref );\n\n\tconst navMenuResolvedButMissing =\n\t\thasResolvedNavigationMenus && isNavigationMenuMissing;\n\n\tconst {\n\t\tconvert: convertClassicMenu,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t} = useConvertClassicToBlockMenu( createNavigationMenu );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\tconst handleUpdateMenu = useCallback(\n\t\t( menuId, options = { focusNavigationBlock: false } ) => {\n\t\t\tconst { focusNavigationBlock } = options;\n\t\t\tsetRef( menuId );\n\t\t\tif ( focusNavigationBlock ) {\n\t\t\t\tselectBlock( clientId );\n\t\t\t}\n\t\t},\n\t\t[ selectBlock, clientId, setRef ]\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\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\n\tconst { getNavigationFallbackId } = unlock( useSelect( coreStore ) );\n\n\tconst navigationFallbackId = ! ( ref || hasUnsavedBlocks )\n\t\t? getNavigationFallbackId()\n\t\t: null;\n\n\tuseEffect( () => {\n\t\t// If:\n\t\t// - there is an existing menu, OR\n\t\t// - there are existing (uncontrolled) inner blocks\n\t\t// ...then don't request a fallback menu.\n\t\tif ( ref || hasUnsavedBlocks || ! navigationFallbackId ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/**\n\t\t * This fallback displays (both in editor and on front)\n\t\t * The fallback should not request a save (entity dirty state)\n\t\t * nor to be undoable, hence why it is marked as non persistent\n\t\t */\n\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( navigationFallbackId );\n\t}, [\n\t\tref,\n\t\tsetRef,\n\t\thasUnsavedBlocks,\n\t\tnavigationFallbackId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\tconst navRef = useRef();\n\n\t// Detect if we're editing inside an overlay template part.\n\tconst isWithinOverlay = useSelect( () => isWithinNavigationOverlay(), [] );\n\n\t// Use div wrapper if this navigation block is within an overlay template part.\n\t// Otherwise, use nav as the standard HTML5 tag.\n\tconst TagName = isWithinOverlay ? 'div' : '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\tclassicMenus?.length === 0 &&\n\t\t! hasUncontrolledInnerBlocks;\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 = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__unstableHasActiveBlockOverlayActive(\n\t\t\t\tclientId\n\t\t\t),\n\t\t[ clientId ]\n\t);\n\n\t// Configure navigation blocks in overlay templates.\n\tconst hasSetOverlayDefault = useRef( false );\n\tuseEffect( () => {\n\t\tif ( ! isWithinOverlay ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Prevent nested overlays.\n\t\tif ( overlayMenu !== 'never' ) {\n\t\t\tsetAttributes( { overlayMenu: 'never' } );\n\t\t}\n\n\t\t// Set vertical orientation and always-open submenus for new blocks.\n\t\tif ( ! hasSetOverlayDefault.current && ! ref ) {\n\t\t\thasSetOverlayDefault.current = true;\n\t\t\tsetAttributes( {\n\t\t\t\tsubmenuVisibility: 'always',\n\t\t\t\tlayout: {\n\t\t\t\t\t...attributes.layout,\n\t\t\t\t\torientation: 'vertical',\n\t\t\t\t},\n\t\t\t\tshowSubmenuIcon: false,\n\t\t\t} );\n\t\t}\n\t}, [\n\t\tattributes.layout,\n\t\tisWithinOverlay,\n\t\toverlayMenu,\n\t\tref,\n\t\tsetAttributes,\n\t] );\n\n\tconst isResponsive = 'never' !== overlayMenu && ! editorDisabledResponsive;\n\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: clsx(\n\t\t\tclassName,\n\t\t\t{\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': isResponsive,\n\t\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t\t[ getColorClassName( 'color', textColor?.slug ) ]:\n\t\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\tlayoutClassNames\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 onSelectClassicMenu = async ( classicMenu ) => {\n\t\treturn convertClassicMenu( classicMenu.id, classicMenu.name, 'draft' );\n\t};\n\n\tconst onSelectNavigationMenu = ( menuId ) => {\n\t\thandleUpdateMenu( menuId );\n\t};\n\n\tuseEffect( () => {\n\t\thideNavigationMenuStatusNotice();\n\n\t\tif ( isCreatingNavigationMenu ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuIsSuccess ) {\n\t\t\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuIsError ) {\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost?.id,\n\t\tcreateNavigationMenuIsError,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisCreatingNavigationMenu,\n\t\thandleUpdateMenu,\n\t\thideNavigationMenuStatusNotice,\n\t\tshowNavigationMenuStatusNotice,\n\t] );\n\n\tuseEffect( () => {\n\t\thideClassicMenuConversionNotice();\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu imported successfully.' )\n\t\t\t);\n\t\t\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu import failed.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tclassicMenuConversionStatus,\n\t\tclassicMenuConversionError,\n\t\thideClassicMenuConversionNotice,\n\t\tshowClassicMenuConversionNotice,\n\t\tcreateNavigationMenuPost?.id,\n\t\thandleUpdateMenu,\n\t] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideNavigationMenuPermissionsNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\tref &&\n\t\t\t\t! navMenuResolvedButMissing &&\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenus &&\n\t\t\t\t! canUserCreateNavigationMenus\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t\tref,\n\t\thideNavigationMenuPermissionsNotice,\n\t\tshowNavigationMenuPermissionsNotice,\n\t\tnavMenuResolvedButMissing,\n\t] );\n\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenus || canUserUpdateNavigationMenu;\n\n\tconst overlayMenuPreviewClasses = clsx(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tconst submenuAccessibilityNotice =\n\t\t! showSubmenuIcon &&\n\t\tsubmenuVisibility !== 'click' &&\n\t\tsubmenuVisibility !== 'always'\n\t\t\t? __(\n\t\t\t\t\t'The current menu options offer reduced accessibility for users and are not recommended. Enabling either \"Open on Click\" or \"Show arrow\" offers enhanced accessibility by allowing keyboard users to browse submenus selectively.'\n\t\t\t )\n\t\t\t: '';\n\n\tconst isFirstRender = useRef( true ); // Don't speak on first render.\n\tuseEffect( () => {\n\t\tif ( ! isFirstRender.current && submenuAccessibilityNotice ) {\n\t\t\tspeak( submenuAccessibilityNotice );\n\t\t}\n\t\tisFirstRender.current = false;\n\t}, [ submenuAccessibilityNotice ] );\n\n\tconst overlayMenuPreviewId = useInstanceId(\n\t\tOverlayMenuPreview,\n\t\t`overlay-menu-preview`\n\t);\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst stylingInspectorControls = (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Display' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\tsubmenuVisibility: 'hover',\n\t\t\t\t\t\t\t\toverlayMenu: 'mobile',\n\t\t\t\t\t\t\t\thasIcon: true,\n\t\t\t\t\t\t\t\ticon: 'handle',\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<h3 className=\"wp-block-navigation__submenu-header\">\n\t\t\t\t\t\t\t\t\t{ __( 'Submenus' ) }\n\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\t\tsubmenuVisibility !== 'hover'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Submenu Visibility' ) }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tsubmenuVisibility: 'hover',\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\tisShownByDefault\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Submenu Visibility' ) }\n\t\t\t\t\t\t\t\t\t\tvalue={ submenuVisibility }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tconst newAttributes = {\n\t\t\t\t\t\t\t\t\t\t\t\tsubmenuVisibility: value,\n\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\tconst prevSubmenuVisibility =\n\t\t\t\t\t\t\t\t\t\t\t\tsubmenuVisibility;\n\t\t\t\t\t\t\t\t\t\t\t// If \"always\" is selected, hide the arrow because the formatting is broken for it when using center alignment.\n\t\t\t\t\t\t\t\t\t\t\tif ( value === 'always' ) {\n\t\t\t\t\t\t\t\t\t\t\t\tnewAttributes.showSubmenuIcon = false;\n\t\t\t\t\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\t\t\t\t\tvalue === 'click' ||\n\t\t\t\t\t\t\t\t\t\t\t\tprevSubmenuVisibility ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t'always'\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t// When switching to \"click\" or away from \"always\", show the arrow\n\t\t\t\t\t\t\t\t\t\t\t\tnewAttributes.showSubmenuIcon = true;\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( newAttributes );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\t\tvalue=\"hover\"\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Hover' ) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\t\tvalue=\"click\"\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Click' ) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{ orientation === 'vertical' && (\n\t\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\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</ToggleGroupControl>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\thasValue={ () => ! showSubmenuIcon }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\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\tisDisabled={\n\t\t\t\t\t\t\t\t\t\tsubmenuVisibility === 'click' ||\n\t\t\t\t\t\t\t\t\t\tsubmenuVisibility === 'always'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\t>\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\tsubmenuVisibility === 'click' ||\n\t\t\t\t\t\t\t\t\t\t\tsubmenuVisibility === 'always'\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</ToolsPanelItem>\n\n\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice && (\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tspokenMessage={ null }\n\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation__submenu-accessibility-notice\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice }\n\t\t\t\t\t\t\t\t\t</Notice>\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</ToolsPanel>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ ! isWithinOverlay && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<OverlayPanel\n\t\t\t\t\t\toverlayMenu={ overlayMenu }\n\t\t\t\t\t\toverlay={ overlay }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tonNavigateToEntityRecord={ onNavigateToEntityRecord }\n\t\t\t\t\t\toverlayMenuPreview={ overlayMenuPreview }\n\t\t\t\t\t\tsetOverlayMenuPreview={ setOverlayMenuPreview }\n\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\toverlayMenuPreviewClasses={ overlayMenuPreviewClasses }\n\t\t\t\t\t\toverlayMenuPreviewId={ overlayMenuPreviewId }\n\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\tcurrentTheme={ currentTheme }\n\t\t\t\t\t\thasOverlays={ hasOverlays }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t{ /*\n\t\t\t\t * Avoid useMultipleOriginColorsAndGradients and detectColors\n\t\t\t\t * on block mount. InspectorControls only mounts this component\n\t\t\t\t * when the block is selected.\n\t\t\t\t * */ }\n\t\t\t\t<ColorTools\n\t\t\t\t\ttextColor={ textColor }\n\t\t\t\t\tsetTextColor={ setTextColor }\n\t\t\t\t\tbackgroundColor={ backgroundColor }\n\t\t\t\t\tsetBackgroundColor={ setBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\tsetOverlayTextColor={ setOverlayTextColor }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\tsetOverlayBackgroundColor={ setOverlayBackgroundColor }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tnavRef={ navRef }\n\t\t\t\t\thasCustomOverlay={ !! overlay }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst accessibleDescriptionId = `${ clientId }-desc`;\n\tconst isHiddenByDefault = 'always' === overlayMenu;\n\tconst isManageMenusButtonDisabled =\n\t\t! hasManagePermissions || ! hasResolvedNavigationMenus;\n\n\tif ( hasUnsavedBlocks && ! isCreatingNavigationMenu ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t! isPlaceholder ? accessibleDescriptionId : undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<AccessibleDescription id={ accessibleDescriptionId }>\n\t\t\t\t\t\t{ __( 'Unsaved Navigation Menu.' ) }\n\t\t\t\t\t</AccessibleDescription>\n\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\n\t\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\toverlay={ overlay }\n\t\t\t\t\t\tonNavigateToEntityRecord={ onNavigateToEntityRecord }\n\t\t\t\t\t>\n\t\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\t\tcreateNavigationMenu={ createNavigationMenu }\n\t\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t</TagName>\n\t\t\t</>\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<>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t<DeletedNavigationWarning\n\t\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\t/>\n\t\t\t\t</TagName>\n\t\t\t</>\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\t/**\n\t * Historically the navigation block has supported custom placeholders.\n\t * Even though the current UX tries as hard as possible not to\n\t * end up in a placeholder state, the block continues to support\n\t * this extensibility point, via a CustomPlaceholder.\n\t * When CustomPlaceholder is present it becomes the default fallback\n\t * for an empty navigation block, instead of the default fallbacks.\n\t *\n\t */\n\n\tif ( isPlaceholder && CustomPlaceholder ) {\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\tcanUserCreateNavigationMenus={\n\t\t\t\t\t\tcanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenus={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonCreateEmpty={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuInspectorControls\n\t\t\t\tclientId={ clientId }\n\t\t\t\tcreateNavigationMenuIsSuccess={ createNavigationMenuIsSuccess }\n\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\tisLoading={ isLoading }\n\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t/>\n\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t\t<RecursionProvider uniqueId={ recursionId }>\n\t\t\t\t\t{ blockEditingMode === 'contentOnly' &&\n\t\t\t\t\t\tisEntityAvailable && (\n\t\t\t\t\t\t\t<NavigationAddPageButton clientId={ clientId } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t{ blockEditingMode === 'default' && isEntityAvailable && (\n\t\t\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\t\tonDelete={ () => {\n\t\t\t\t\t\t\t\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t\t\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\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 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);\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<ManageMenusButton\n\t\t\t\t\t\t\t\tdisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-manage-menus-button\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<TagName\n\t\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t! isPlaceholder && ! isLoading\n\t\t\t\t\t\t\t\t? accessibleDescriptionId\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isLoading && ! isHiddenByDefault && (\n\t\t\t\t\t\t\t<div className=\"wp-block-navigation__loading-indicator-container\">\n\t\t\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t{ ( ! isLoading || isHiddenByDefault ) && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<AccessibleMenuDescription\n\t\t\t\t\t\t\t\t\tid={ accessibleDescriptionId }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\n\t\t\t\t\t\t\t\t\toverlayBackgroundColor={\n\t\t\t\t\t\t\t\t\t\toverlayBackgroundColor\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t\t\t\toverlay={ overlay }\n\t\t\t\t\t\t\t\t\tonNavigateToEntityRecord={\n\t\t\t\t\t\t\t\t\t\tonNavigateToEntityRecord\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{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\t\t\t\t\t\t\torientation={ orientation }\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</ResponsiveWrapper>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</TagName>\n\t\t\t\t</RecursionProvider>\n\t\t\t</EntityProvider>\n\t\t</>\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"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -234,7 +234,6 @@ function NavigationLinkEdit({
234
234
  });
235
235
  const innerBlocksProps = useInnerBlocksProps(
236
236
  {
237
- ...blockProps,
238
237
  className: "remove-outline"
239
238
  // Remove the outline from the inner blocks container.
240
239
  },