@wordpress/block-library 7.12.2-next.d6164808d3.0 → 7.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1627) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/README.md +67 -61
  3. package/babel-plugin.js +1 -1
  4. package/build/archives/index.js +24 -1
  5. package/build/archives/index.js.map +1 -1
  6. package/build/archives/init.js +16 -0
  7. package/build/archives/init.js.map +1 -0
  8. package/build/audio/edit.js +10 -7
  9. package/build/audio/edit.js.map +1 -1
  10. package/build/audio/index.js +17 -9
  11. package/build/audio/index.js.map +1 -1
  12. package/build/audio/init.js +16 -0
  13. package/build/audio/init.js.map +1 -0
  14. package/build/audio/transforms.native.js +1 -1
  15. package/build/audio/transforms.native.js.map +1 -1
  16. package/build/avatar/index.js +13 -2
  17. package/build/avatar/index.js.map +1 -1
  18. package/build/avatar/init.js +16 -0
  19. package/build/avatar/init.js.map +1 -0
  20. package/build/block/edit.js +1 -4
  21. package/build/block/edit.js.map +1 -1
  22. package/build/block/index.js +11 -1
  23. package/build/block/index.js.map +1 -1
  24. package/build/block/init.js +16 -0
  25. package/build/block/init.js.map +1 -0
  26. package/build/button/edit.js +1 -1
  27. package/build/button/edit.js.map +1 -1
  28. package/build/button/index.js +16 -1
  29. package/build/button/index.js.map +1 -1
  30. package/build/button/init.js +16 -0
  31. package/build/button/init.js.map +1 -0
  32. package/build/buttons/edit.js +22 -4
  33. package/build/buttons/edit.js.map +1 -1
  34. package/build/buttons/index.js +24 -1
  35. package/build/buttons/index.js.map +1 -1
  36. package/build/buttons/init.js +16 -0
  37. package/build/buttons/init.js.map +1 -0
  38. package/build/buttons/save.js +27 -2
  39. package/build/buttons/save.js.map +1 -1
  40. package/build/buttons/transforms.js +13 -0
  41. package/build/buttons/transforms.js.map +1 -1
  42. package/build/buttons/transforms.native.js +1 -1
  43. package/build/buttons/transforms.native.js.map +1 -1
  44. package/build/calendar/index.js +24 -2
  45. package/build/calendar/index.js.map +1 -1
  46. package/build/calendar/init.js +16 -0
  47. package/build/calendar/init.js.map +1 -0
  48. package/build/categories/edit.js +26 -20
  49. package/build/categories/edit.js.map +1 -1
  50. package/build/categories/index.js +15 -1
  51. package/build/categories/index.js.map +1 -1
  52. package/build/categories/init.js +16 -0
  53. package/build/categories/init.js.map +1 -0
  54. package/build/code/index.js +11 -1
  55. package/build/code/index.js.map +1 -1
  56. package/build/code/init.js +16 -0
  57. package/build/code/init.js.map +1 -0
  58. package/build/code/transforms.js +12 -0
  59. package/build/code/transforms.js.map +1 -1
  60. package/build/code/transforms.native.js +1 -1
  61. package/build/code/transforms.native.js.map +1 -1
  62. package/build/column/edit.js +1 -1
  63. package/build/column/edit.js.map +1 -1
  64. package/build/column/index.js +12 -2
  65. package/build/column/index.js.map +1 -1
  66. package/build/column/init.js +16 -0
  67. package/build/column/init.js.map +1 -0
  68. package/build/columns/index.js +13 -2
  69. package/build/columns/index.js.map +1 -1
  70. package/build/columns/init.js +16 -0
  71. package/build/columns/init.js.map +1 -0
  72. package/build/columns/transforms.js +10 -1
  73. package/build/columns/transforms.js.map +1 -1
  74. package/build/columns/transforms.native.js +1 -1
  75. package/build/columns/transforms.native.js.map +1 -1
  76. package/build/comment-author-avatar/index.js +11 -1
  77. package/build/comment-author-avatar/index.js.map +1 -1
  78. package/build/comment-author-avatar/init.js +16 -0
  79. package/build/comment-author-avatar/init.js.map +1 -0
  80. package/build/comment-author-name/index.js +11 -1
  81. package/build/comment-author-name/index.js.map +1 -1
  82. package/build/comment-author-name/init.js +16 -0
  83. package/build/comment-author-name/init.js.map +1 -0
  84. package/build/comment-content/index.js +11 -1
  85. package/build/comment-content/index.js.map +1 -1
  86. package/build/comment-content/init.js +16 -0
  87. package/build/comment-content/init.js.map +1 -0
  88. package/build/comment-date/edit.js +1 -1
  89. package/build/comment-date/edit.js.map +1 -1
  90. package/build/comment-date/index.js +15 -1
  91. package/build/comment-date/index.js.map +1 -1
  92. package/build/comment-date/init.js +16 -0
  93. package/build/comment-date/init.js.map +1 -0
  94. package/build/comment-edit-link/index.js +15 -1
  95. package/build/comment-edit-link/index.js.map +1 -1
  96. package/build/comment-edit-link/init.js +16 -0
  97. package/build/comment-edit-link/init.js.map +1 -0
  98. package/build/comment-reply-link/index.js +15 -1
  99. package/build/comment-reply-link/index.js.map +1 -1
  100. package/build/comment-reply-link/init.js +16 -0
  101. package/build/comment-reply-link/init.js.map +1 -0
  102. package/build/comment-template/index.js +11 -1
  103. package/build/comment-template/index.js.map +1 -1
  104. package/build/comment-template/init.js +16 -0
  105. package/build/comment-template/init.js.map +1 -0
  106. package/build/comments/edit/comments-legacy.js +1 -1
  107. package/build/comments/edit/comments-legacy.js.map +1 -1
  108. package/build/comments/index.js +11 -1
  109. package/build/comments/index.js.map +1 -1
  110. package/build/comments/init.js +16 -0
  111. package/build/comments/init.js.map +1 -0
  112. package/build/comments-pagination/edit.js +2 -1
  113. package/build/comments-pagination/edit.js.map +1 -1
  114. package/build/comments-pagination/index.js +11 -1
  115. package/build/comments-pagination/index.js.map +1 -1
  116. package/build/comments-pagination/init.js +16 -0
  117. package/build/comments-pagination/init.js.map +1 -0
  118. package/build/comments-pagination-next/index.js +11 -1
  119. package/build/comments-pagination-next/index.js.map +1 -1
  120. package/build/comments-pagination-next/init.js +16 -0
  121. package/build/comments-pagination-next/init.js.map +1 -0
  122. package/build/comments-pagination-numbers/index.js +11 -1
  123. package/build/comments-pagination-numbers/index.js.map +1 -1
  124. package/build/comments-pagination-numbers/init.js +16 -0
  125. package/build/comments-pagination-numbers/init.js.map +1 -0
  126. package/build/comments-pagination-previous/index.js +11 -1
  127. package/build/comments-pagination-previous/index.js.map +1 -1
  128. package/build/comments-pagination-previous/init.js +16 -0
  129. package/build/comments-pagination-previous/init.js.map +1 -0
  130. package/build/comments-title/index.js +11 -1
  131. package/build/comments-title/index.js.map +1 -1
  132. package/build/comments-title/init.js +16 -0
  133. package/build/comments-title/init.js.map +1 -0
  134. package/build/cover/index.js +12 -2
  135. package/build/cover/index.js.map +1 -1
  136. package/build/cover/init.js +16 -0
  137. package/build/cover/init.js.map +1 -0
  138. package/build/cover/transforms.native.js +1 -1
  139. package/build/cover/transforms.native.js.map +1 -1
  140. package/build/embed/deprecated.js +1 -6
  141. package/build/embed/deprecated.js.map +1 -1
  142. package/build/embed/index.js +12 -7
  143. package/build/embed/index.js.map +1 -1
  144. package/build/embed/init.js +16 -0
  145. package/build/embed/init.js.map +1 -0
  146. package/build/embed/transforms.js +1 -6
  147. package/build/embed/transforms.js.map +1 -1
  148. package/build/embed/transforms.native.js +1 -1
  149. package/build/embed/transforms.native.js.map +1 -1
  150. package/build/embed/util.js +1 -6
  151. package/build/embed/util.js.map +1 -1
  152. package/build/file/deprecated.js +115 -3
  153. package/build/file/deprecated.js.map +1 -1
  154. package/build/file/edit.js +7 -7
  155. package/build/file/edit.js.map +1 -1
  156. package/build/file/index.js +11 -1
  157. package/build/file/index.js.map +1 -1
  158. package/build/file/init.js +16 -0
  159. package/build/file/init.js.map +1 -0
  160. package/build/file/save.js +1 -5
  161. package/build/file/save.js.map +1 -1
  162. package/build/file/transforms.native.js +1 -1
  163. package/build/file/transforms.native.js.map +1 -1
  164. package/build/freeform/index.js +11 -1
  165. package/build/freeform/index.js.map +1 -1
  166. package/build/freeform/init.js +16 -0
  167. package/build/freeform/init.js.map +1 -0
  168. package/build/gallery/edit.js +11 -12
  169. package/build/gallery/edit.js.map +1 -1
  170. package/build/gallery/gap-styles.js +5 -4
  171. package/build/gallery/gap-styles.js.map +1 -1
  172. package/build/gallery/index.js +13 -1
  173. package/build/gallery/index.js.map +1 -1
  174. package/build/gallery/init.js +16 -0
  175. package/build/gallery/init.js.map +1 -0
  176. package/build/gallery/transforms.native.js +1 -1
  177. package/build/gallery/transforms.native.js.map +1 -1
  178. package/build/gallery/v1/edit.js +1 -1
  179. package/build/gallery/v1/edit.js.map +1 -1
  180. package/build/gallery/v1/gallery-image.js +10 -2
  181. package/build/gallery/v1/gallery-image.js.map +1 -1
  182. package/build/group/index.js +12 -2
  183. package/build/group/index.js.map +1 -1
  184. package/build/group/init.js +16 -0
  185. package/build/group/init.js.map +1 -0
  186. package/build/heading/index.js +12 -1
  187. package/build/heading/index.js.map +1 -1
  188. package/build/heading/init.js +16 -0
  189. package/build/heading/init.js.map +1 -0
  190. package/build/heading/transforms.js +1 -0
  191. package/build/heading/transforms.js.map +1 -1
  192. package/build/heading/transforms.native.js +1 -1
  193. package/build/heading/transforms.native.js.map +1 -1
  194. package/build/home-link/index.js +25 -2
  195. package/build/home-link/index.js.map +1 -1
  196. package/build/home-link/init.js +16 -0
  197. package/build/home-link/init.js.map +1 -0
  198. package/build/html/index.js +11 -1
  199. package/build/html/index.js.map +1 -1
  200. package/build/html/init.js +16 -0
  201. package/build/html/init.js.map +1 -0
  202. package/build/image/edit.js +30 -14
  203. package/build/image/edit.js.map +1 -1
  204. package/build/image/image.js +5 -4
  205. package/build/image/image.js.map +1 -1
  206. package/build/image/index.js +11 -6
  207. package/build/image/index.js.map +1 -1
  208. package/build/image/init.js +16 -0
  209. package/build/image/init.js.map +1 -0
  210. package/build/image/transforms.js +2 -1
  211. package/build/image/transforms.js.map +1 -1
  212. package/build/image/transforms.native.js +1 -1
  213. package/build/image/transforms.native.js.map +1 -1
  214. package/build/image/use-client-width.js +3 -1
  215. package/build/image/use-client-width.js.map +1 -1
  216. package/build/index.js +19 -32
  217. package/build/index.js.map +1 -1
  218. package/build/index.native.js +11 -57
  219. package/build/index.native.js.map +1 -1
  220. package/build/latest-comments/index.js +11 -1
  221. package/build/latest-comments/index.js.map +1 -1
  222. package/build/latest-comments/init.js +16 -0
  223. package/build/latest-comments/init.js.map +1 -0
  224. package/build/latest-posts/deprecated.js +14 -1
  225. package/build/latest-posts/deprecated.js.map +1 -1
  226. package/build/latest-posts/edit.js +1 -1
  227. package/build/latest-posts/edit.js.map +1 -1
  228. package/build/latest-posts/index.js +25 -2
  229. package/build/latest-posts/index.js.map +1 -1
  230. package/build/latest-posts/init.js +16 -0
  231. package/build/latest-posts/init.js.map +1 -0
  232. package/build/list/deprecated.js +84 -1
  233. package/build/list/deprecated.js.map +1 -1
  234. package/build/list/edit.js +149 -135
  235. package/build/list/edit.js.map +1 -1
  236. package/build/list/index.js +46 -36
  237. package/build/list/index.js.map +1 -1
  238. package/build/list/init.js +16 -0
  239. package/build/list/init.js.map +1 -0
  240. package/build/list/save.js +1 -5
  241. package/build/list/save.js.map +1 -1
  242. package/build/list/{v2/tag-name.js → tag-name.js} +0 -0
  243. package/build/list/tag-name.js.map +1 -0
  244. package/build/list/{v2/tag-name.native.js → tag-name.native.js} +0 -0
  245. package/build/list/tag-name.native.js.map +1 -0
  246. package/build/list/transforms.js +61 -95
  247. package/build/list/transforms.js.map +1 -1
  248. package/build/list/transforms.native.js +1 -1
  249. package/build/list/transforms.native.js.map +1 -1
  250. package/build/list/{v2/migrate.js → utils.js} +9 -10
  251. package/build/list/utils.js.map +1 -0
  252. package/build/list-item/edit.native.js +45 -11
  253. package/build/list-item/edit.native.js.map +1 -1
  254. package/build/list-item/hooks/use-copy.js +2 -0
  255. package/build/list-item/hooks/use-copy.js.map +1 -1
  256. package/build/list-item/hooks/use-enter.native.js +81 -0
  257. package/build/list-item/hooks/use-enter.native.js.map +1 -0
  258. package/build/list-item/hooks/use-merge.js +0 -1
  259. package/build/list-item/hooks/use-merge.js.map +1 -1
  260. package/build/list-item/hooks/use-outdent-list-item.js +3 -4
  261. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  262. package/build/list-item/hooks/use-space.js +10 -1
  263. package/build/list-item/hooks/use-space.js.map +1 -1
  264. package/build/list-item/index.js +11 -2
  265. package/build/list-item/index.js.map +1 -1
  266. package/build/list-item/init.js +16 -0
  267. package/build/list-item/init.js.map +1 -0
  268. package/build/list-item/utils.js +8 -4
  269. package/build/list-item/utils.js.map +1 -1
  270. package/build/loginout/index.js +11 -1
  271. package/build/loginout/index.js.map +1 -1
  272. package/build/loginout/init.js +16 -0
  273. package/build/loginout/init.js.map +1 -0
  274. package/build/media-text/index.js +25 -6
  275. package/build/media-text/index.js.map +1 -1
  276. package/build/media-text/init.js +16 -0
  277. package/build/media-text/init.js.map +1 -0
  278. package/build/media-text/media-container.js +9 -6
  279. package/build/media-text/media-container.js.map +1 -1
  280. package/build/media-text/transforms.native.js +1 -1
  281. package/build/media-text/transforms.native.js.map +1 -1
  282. package/build/missing/index.js +11 -1
  283. package/build/missing/index.js.map +1 -1
  284. package/build/missing/init.js +16 -0
  285. package/build/missing/init.js.map +1 -0
  286. package/build/more/index.js +11 -1
  287. package/build/more/index.js.map +1 -1
  288. package/build/more/init.js +16 -0
  289. package/build/more/init.js.map +1 -0
  290. package/build/more/transforms.native.js +1 -1
  291. package/build/more/transforms.native.js.map +1 -1
  292. package/build/navigation/edit/index.js +124 -71
  293. package/build/navigation/edit/index.js.map +1 -1
  294. package/build/navigation/edit/navigation-menu-selector.js +85 -31
  295. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  296. package/build/navigation/edit/overlay-menu-icon.js +21 -1
  297. package/build/navigation/edit/overlay-menu-icon.js.map +1 -1
  298. package/build/navigation/edit/overlay-menu-preview.js +71 -0
  299. package/build/navigation/edit/overlay-menu-preview.js.map +1 -0
  300. package/build/navigation/edit/responsive-wrapper.js +11 -6
  301. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  302. package/build/navigation/edit/unsaved-inner-blocks.js +4 -15
  303. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  304. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +21 -1
  305. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  306. package/build/navigation/edit/use-create-navigation-menu.js +2 -1
  307. package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
  308. package/build/navigation/index.js +16 -1
  309. package/build/navigation/index.js.map +1 -1
  310. package/build/navigation/init.js +16 -0
  311. package/build/navigation/init.js.map +1 -0
  312. package/build/navigation/use-navigation-menu.js +7 -6
  313. package/build/navigation/use-navigation-menu.js.map +1 -1
  314. package/build/navigation-link/edit.js +15 -2
  315. package/build/navigation-link/edit.js.map +1 -1
  316. package/build/navigation-link/index.js +29 -5
  317. package/build/navigation-link/index.js.map +1 -1
  318. package/build/navigation-link/init.js +16 -0
  319. package/build/navigation-link/init.js.map +1 -0
  320. package/build/navigation-submenu/edit.js +1 -1
  321. package/build/navigation-submenu/edit.js.map +1 -1
  322. package/build/navigation-submenu/index.js +11 -1
  323. package/build/navigation-submenu/index.js.map +1 -1
  324. package/build/navigation-submenu/init.js +16 -0
  325. package/build/navigation-submenu/init.js.map +1 -0
  326. package/build/nextpage/index.js +11 -1
  327. package/build/nextpage/index.js.map +1 -1
  328. package/build/nextpage/init.js +16 -0
  329. package/build/nextpage/init.js.map +1 -0
  330. package/build/nextpage/transforms.native.js +1 -1
  331. package/build/nextpage/transforms.native.js.map +1 -1
  332. package/build/page-list/index.js +11 -1
  333. package/build/page-list/index.js.map +1 -1
  334. package/build/page-list/init.js +16 -0
  335. package/build/page-list/init.js.map +1 -0
  336. package/build/paragraph/index.js +13 -1
  337. package/build/paragraph/index.js.map +1 -1
  338. package/build/paragraph/init.js +16 -0
  339. package/build/paragraph/init.js.map +1 -0
  340. package/build/paragraph/transforms.js +2 -0
  341. package/build/paragraph/transforms.js.map +1 -1
  342. package/build/paragraph/transforms.native.js +1 -1
  343. package/build/paragraph/transforms.native.js.map +1 -1
  344. package/build/pattern/index.js +11 -1
  345. package/build/pattern/index.js.map +1 -1
  346. package/build/pattern/init.js +16 -0
  347. package/build/pattern/init.js.map +1 -0
  348. package/build/post-author/edit.js +1 -3
  349. package/build/post-author/edit.js.map +1 -1
  350. package/build/post-author/index.js +16 -2
  351. package/build/post-author/index.js.map +1 -1
  352. package/build/post-author/init.js +16 -0
  353. package/build/post-author/init.js.map +1 -0
  354. package/build/post-author-biography/index.js +16 -2
  355. package/build/post-author-biography/index.js.map +1 -1
  356. package/build/post-author-biography/init.js +16 -0
  357. package/build/post-author-biography/init.js.map +1 -0
  358. package/build/post-author-name/index.js +16 -2
  359. package/build/post-author-name/index.js.map +1 -1
  360. package/build/post-author-name/init.js +16 -0
  361. package/build/post-author-name/init.js.map +1 -0
  362. package/build/post-comment/index.js +11 -1
  363. package/build/post-comment/index.js.map +1 -1
  364. package/build/post-comment/init.js +16 -0
  365. package/build/post-comment/init.js.map +1 -0
  366. package/build/post-comments-count/index.js +11 -1
  367. package/build/post-comments-count/index.js.map +1 -1
  368. package/build/post-comments-count/init.js +16 -0
  369. package/build/post-comments-count/init.js.map +1 -0
  370. package/build/post-comments-form/index.js +11 -1
  371. package/build/post-comments-form/index.js.map +1 -1
  372. package/build/post-comments-form/init.js +16 -0
  373. package/build/post-comments-form/init.js.map +1 -0
  374. package/build/post-comments-link/index.js +11 -1
  375. package/build/post-comments-link/index.js.map +1 -1
  376. package/build/post-comments-link/init.js +16 -0
  377. package/build/post-comments-link/init.js.map +1 -0
  378. package/build/post-content/index.js +25 -2
  379. package/build/post-content/index.js.map +1 -1
  380. package/build/post-content/init.js +16 -0
  381. package/build/post-content/init.js.map +1 -0
  382. package/build/post-date/edit.js +1 -1
  383. package/build/post-date/edit.js.map +1 -1
  384. package/build/post-date/index.js +11 -1
  385. package/build/post-date/index.js.map +1 -1
  386. package/build/post-date/init.js +16 -0
  387. package/build/post-date/init.js.map +1 -0
  388. package/build/post-excerpt/index.js +15 -3
  389. package/build/post-excerpt/index.js.map +1 -1
  390. package/build/post-excerpt/init.js +16 -0
  391. package/build/post-excerpt/init.js.map +1 -0
  392. package/build/post-featured-image/edit.js +16 -2
  393. package/build/post-featured-image/edit.js.map +1 -1
  394. package/build/post-featured-image/index.js +27 -1
  395. package/build/post-featured-image/index.js.map +1 -1
  396. package/build/post-featured-image/init.js +16 -0
  397. package/build/post-featured-image/init.js.map +1 -0
  398. package/build/post-featured-image/overlay.js +118 -0
  399. package/build/post-featured-image/overlay.js.map +1 -0
  400. package/build/post-featured-image/utils.js +18 -0
  401. package/build/post-featured-image/utils.js.map +1 -0
  402. package/build/post-navigation-link/index.js +11 -1
  403. package/build/post-navigation-link/index.js.map +1 -1
  404. package/build/post-navigation-link/init.js +16 -0
  405. package/build/post-navigation-link/init.js.map +1 -0
  406. package/build/post-template/edit.js +37 -3
  407. package/build/post-template/edit.js.map +1 -1
  408. package/build/post-template/index.js +11 -1
  409. package/build/post-template/index.js.map +1 -1
  410. package/build/post-template/init.js +16 -0
  411. package/build/post-template/init.js.map +1 -0
  412. package/build/post-terms/edit.js +0 -1
  413. package/build/post-terms/edit.js.map +1 -1
  414. package/build/post-terms/index.js +15 -4
  415. package/build/post-terms/index.js.map +1 -1
  416. package/build/post-terms/init.js +16 -0
  417. package/build/post-terms/init.js.map +1 -0
  418. package/build/post-terms/use-post-terms.js +4 -24
  419. package/build/post-terms/use-post-terms.js.map +1 -1
  420. package/build/post-title/index.js +11 -1
  421. package/build/post-title/index.js.map +1 -1
  422. package/build/post-title/init.js +16 -0
  423. package/build/post-title/init.js.map +1 -0
  424. package/build/preformatted/index.js +11 -1
  425. package/build/preformatted/index.js.map +1 -1
  426. package/build/preformatted/init.js +16 -0
  427. package/build/preformatted/init.js.map +1 -0
  428. package/build/preformatted/transforms.native.js +1 -1
  429. package/build/preformatted/transforms.native.js.map +1 -1
  430. package/build/pullquote/index.js +11 -1
  431. package/build/pullquote/index.js.map +1 -1
  432. package/build/pullquote/init.js +16 -0
  433. package/build/pullquote/init.js.map +1 -0
  434. package/build/pullquote/transforms.native.js +1 -1
  435. package/build/pullquote/transforms.native.js.map +1 -1
  436. package/build/query/edit/inspector-controls/index.js +23 -26
  437. package/build/query/edit/inspector-controls/index.js.map +1 -1
  438. package/build/query/index.js +18 -5
  439. package/build/query/index.js.map +1 -1
  440. package/build/query/init.js +16 -0
  441. package/build/query/init.js.map +1 -0
  442. package/build/query/utils.js +117 -3
  443. package/build/query/utils.js.map +1 -1
  444. package/build/query-no-results/index.js +24 -1
  445. package/build/query-no-results/index.js.map +1 -1
  446. package/build/query-no-results/init.js +16 -0
  447. package/build/query-no-results/init.js.map +1 -0
  448. package/build/query-pagination/edit.js +2 -1
  449. package/build/query-pagination/edit.js.map +1 -1
  450. package/build/query-pagination/index.js +24 -1
  451. package/build/query-pagination/index.js.map +1 -1
  452. package/build/query-pagination/init.js +16 -0
  453. package/build/query-pagination/init.js.map +1 -0
  454. package/build/query-pagination-next/index.js +15 -3
  455. package/build/query-pagination-next/index.js.map +1 -1
  456. package/build/query-pagination-next/init.js +16 -0
  457. package/build/query-pagination-next/init.js.map +1 -0
  458. package/build/query-pagination-numbers/index.js +15 -3
  459. package/build/query-pagination-numbers/index.js.map +1 -1
  460. package/build/query-pagination-numbers/init.js +16 -0
  461. package/build/query-pagination-numbers/init.js.map +1 -0
  462. package/build/query-pagination-previous/index.js +15 -3
  463. package/build/query-pagination-previous/index.js.map +1 -1
  464. package/build/query-pagination-previous/init.js +16 -0
  465. package/build/query-pagination-previous/init.js.map +1 -0
  466. package/build/query-title/index.js +17 -2
  467. package/build/query-title/index.js.map +1 -1
  468. package/build/query-title/init.js +16 -0
  469. package/build/query-title/init.js.map +1 -0
  470. package/build/quote/index.js +15 -3
  471. package/build/quote/index.js.map +1 -1
  472. package/build/quote/init.js +16 -0
  473. package/build/quote/init.js.map +1 -0
  474. package/build/quote/transforms.js +7 -0
  475. package/build/quote/transforms.js.map +1 -1
  476. package/build/quote/transforms.native.js +1 -1
  477. package/build/quote/transforms.native.js.map +1 -1
  478. package/build/read-more/index.js +11 -1
  479. package/build/read-more/index.js.map +1 -1
  480. package/build/read-more/init.js +16 -0
  481. package/build/read-more/init.js.map +1 -0
  482. package/build/rss/index.js +11 -1
  483. package/build/rss/index.js.map +1 -1
  484. package/build/rss/init.js +16 -0
  485. package/build/rss/init.js.map +1 -0
  486. package/build/search/edit.js +19 -8
  487. package/build/search/edit.js.map +1 -1
  488. package/build/search/index.js +26 -1
  489. package/build/search/index.js.map +1 -1
  490. package/build/search/init.js +16 -0
  491. package/build/search/init.js.map +1 -0
  492. package/build/separator/index.js +11 -1
  493. package/build/separator/index.js.map +1 -1
  494. package/build/separator/init.js +16 -0
  495. package/build/separator/init.js.map +1 -0
  496. package/build/separator/transforms.native.js +1 -1
  497. package/build/separator/transforms.native.js.map +1 -1
  498. package/build/shortcode/index.js +11 -1
  499. package/build/shortcode/index.js.map +1 -1
  500. package/build/shortcode/init.js +16 -0
  501. package/build/shortcode/init.js.map +1 -0
  502. package/build/shortcode/transforms.native.js +1 -1
  503. package/build/shortcode/transforms.native.js.map +1 -1
  504. package/build/site-logo/index.js +15 -1
  505. package/build/site-logo/index.js.map +1 -1
  506. package/build/site-logo/init.js +16 -0
  507. package/build/site-logo/init.js.map +1 -0
  508. package/build/site-tagline/index.js +12 -1
  509. package/build/site-tagline/index.js.map +1 -1
  510. package/build/site-tagline/init.js +16 -0
  511. package/build/site-tagline/init.js.map +1 -0
  512. package/build/site-title/index.js +12 -1
  513. package/build/site-title/index.js.map +1 -1
  514. package/build/site-title/init.js +16 -0
  515. package/build/site-title/init.js.map +1 -0
  516. package/build/social-link/index.js +11 -1
  517. package/build/social-link/index.js.map +1 -1
  518. package/build/social-link/init.js +16 -0
  519. package/build/social-link/init.js.map +1 -0
  520. package/build/social-links/edit.js +43 -10
  521. package/build/social-links/edit.js.map +1 -1
  522. package/build/social-links/index.js +22 -2
  523. package/build/social-links/index.js.map +1 -1
  524. package/build/social-links/init.js +16 -0
  525. package/build/social-links/init.js.map +1 -0
  526. package/build/spacer/index.js +11 -1
  527. package/build/spacer/index.js.map +1 -1
  528. package/build/spacer/init.js +16 -0
  529. package/build/spacer/init.js.map +1 -0
  530. package/build/table/index.js +14 -7
  531. package/build/table/index.js.map +1 -1
  532. package/build/table/init.js +16 -0
  533. package/build/table/init.js.map +1 -0
  534. package/build/table-of-contents/index.js +24 -1
  535. package/build/table-of-contents/index.js.map +1 -1
  536. package/build/table-of-contents/init.js +16 -0
  537. package/build/table-of-contents/init.js.map +1 -0
  538. package/build/tag-cloud/index.js +11 -1
  539. package/build/tag-cloud/index.js.map +1 -1
  540. package/build/tag-cloud/init.js +16 -0
  541. package/build/tag-cloud/init.js.map +1 -0
  542. package/build/template-part/edit/index.js +1 -6
  543. package/build/template-part/edit/index.js.map +1 -1
  544. package/build/template-part/index.js +32 -21
  545. package/build/template-part/index.js.map +1 -1
  546. package/build/template-part/init.js +16 -0
  547. package/build/template-part/init.js.map +1 -0
  548. package/build/term-description/index.js +17 -1
  549. package/build/term-description/index.js.map +1 -1
  550. package/build/term-description/init.js +16 -0
  551. package/build/term-description/init.js.map +1 -0
  552. package/build/text-columns/index.js +11 -1
  553. package/build/text-columns/index.js.map +1 -1
  554. package/build/text-columns/init.js +16 -0
  555. package/build/text-columns/init.js.map +1 -0
  556. package/build/text-columns/transforms.native.js +1 -1
  557. package/build/text-columns/transforms.native.js.map +1 -1
  558. package/build/utils/init-block.js +37 -0
  559. package/build/utils/init-block.js.map +1 -0
  560. package/build/utils/init-block.native.js +51 -0
  561. package/build/utils/init-block.native.js.map +1 -0
  562. package/build/{is-block-metadata-experimental.js → utils/is-block-metadata-experimental.js} +0 -0
  563. package/build/utils/is-block-metadata-experimental.js.map +1 -0
  564. package/build/utils/migrate-font-family.js +11 -18
  565. package/build/utils/migrate-font-family.js.map +1 -1
  566. package/build/{transformationCategories.native.js → utils/transformation-categories.native.js} +1 -1
  567. package/build/utils/transformation-categories.native.js.map +1 -0
  568. package/build/verse/index.js +12 -1
  569. package/build/verse/index.js.map +1 -1
  570. package/build/verse/init.js +16 -0
  571. package/build/verse/init.js.map +1 -0
  572. package/build/verse/transforms.native.js +1 -1
  573. package/build/verse/transforms.native.js.map +1 -1
  574. package/build/video/edit.js +12 -11
  575. package/build/video/edit.js.map +1 -1
  576. package/build/video/index.js +18 -9
  577. package/build/video/index.js.map +1 -1
  578. package/build/video/init.js +16 -0
  579. package/build/video/init.js.map +1 -0
  580. package/build/video/transforms.native.js +1 -1
  581. package/build/video/transforms.native.js.map +1 -1
  582. package/build-module/archives/index.js +19 -0
  583. package/build-module/archives/index.js.map +1 -1
  584. package/build-module/archives/init.js +6 -0
  585. package/build-module/archives/init.js.map +1 -0
  586. package/build-module/audio/edit.js +11 -8
  587. package/build-module/audio/edit.js.map +1 -1
  588. package/build-module/audio/index.js +12 -8
  589. package/build-module/audio/index.js.map +1 -1
  590. package/build-module/audio/init.js +6 -0
  591. package/build-module/audio/init.js.map +1 -0
  592. package/build-module/audio/transforms.native.js +1 -1
  593. package/build-module/audio/transforms.native.js.map +1 -1
  594. package/build-module/avatar/index.js +8 -1
  595. package/build-module/avatar/index.js.map +1 -1
  596. package/build-module/avatar/init.js +6 -0
  597. package/build-module/avatar/init.js.map +1 -0
  598. package/build-module/block/edit.js +2 -5
  599. package/build-module/block/edit.js.map +1 -1
  600. package/build-module/block/index.js +6 -0
  601. package/build-module/block/index.js.map +1 -1
  602. package/build-module/block/init.js +6 -0
  603. package/build-module/block/init.js.map +1 -0
  604. package/build-module/button/edit.js +1 -1
  605. package/build-module/button/edit.js.map +1 -1
  606. package/build-module/button/index.js +11 -0
  607. package/build-module/button/index.js.map +1 -1
  608. package/build-module/button/init.js +6 -0
  609. package/build-module/button/init.js.map +1 -0
  610. package/build-module/buttons/edit.js +19 -4
  611. package/build-module/buttons/edit.js.map +1 -1
  612. package/build-module/buttons/index.js +19 -0
  613. package/build-module/buttons/index.js.map +1 -1
  614. package/build-module/buttons/init.js +6 -0
  615. package/build-module/buttons/init.js.map +1 -0
  616. package/build-module/buttons/save.js +22 -2
  617. package/build-module/buttons/save.js.map +1 -1
  618. package/build-module/buttons/transforms.js +13 -0
  619. package/build-module/buttons/transforms.js.map +1 -1
  620. package/build-module/buttons/transforms.native.js +1 -1
  621. package/build-module/buttons/transforms.native.js.map +1 -1
  622. package/build-module/calendar/index.js +19 -1
  623. package/build-module/calendar/index.js.map +1 -1
  624. package/build-module/calendar/init.js +6 -0
  625. package/build-module/calendar/init.js.map +1 -0
  626. package/build-module/categories/edit.js +23 -20
  627. package/build-module/categories/edit.js.map +1 -1
  628. package/build-module/categories/index.js +10 -0
  629. package/build-module/categories/index.js.map +1 -1
  630. package/build-module/categories/init.js +6 -0
  631. package/build-module/categories/init.js.map +1 -0
  632. package/build-module/code/index.js +6 -0
  633. package/build-module/code/index.js.map +1 -1
  634. package/build-module/code/init.js +6 -0
  635. package/build-module/code/init.js.map +1 -0
  636. package/build-module/code/transforms.js +12 -0
  637. package/build-module/code/transforms.js.map +1 -1
  638. package/build-module/code/transforms.native.js +1 -1
  639. package/build-module/code/transforms.native.js.map +1 -1
  640. package/build-module/column/edit.js +1 -1
  641. package/build-module/column/edit.js.map +1 -1
  642. package/build-module/column/index.js +7 -1
  643. package/build-module/column/index.js.map +1 -1
  644. package/build-module/column/init.js +6 -0
  645. package/build-module/column/init.js.map +1 -0
  646. package/build-module/columns/index.js +8 -1
  647. package/build-module/columns/index.js.map +1 -1
  648. package/build-module/columns/init.js +6 -0
  649. package/build-module/columns/init.js.map +1 -0
  650. package/build-module/columns/transforms.js +10 -1
  651. package/build-module/columns/transforms.js.map +1 -1
  652. package/build-module/columns/transforms.native.js +1 -1
  653. package/build-module/columns/transforms.native.js.map +1 -1
  654. package/build-module/comment-author-avatar/index.js +6 -0
  655. package/build-module/comment-author-avatar/index.js.map +1 -1
  656. package/build-module/comment-author-avatar/init.js +6 -0
  657. package/build-module/comment-author-avatar/init.js.map +1 -0
  658. package/build-module/comment-author-name/index.js +6 -0
  659. package/build-module/comment-author-name/index.js.map +1 -1
  660. package/build-module/comment-author-name/init.js +6 -0
  661. package/build-module/comment-author-name/init.js.map +1 -0
  662. package/build-module/comment-content/index.js +6 -0
  663. package/build-module/comment-content/index.js.map +1 -1
  664. package/build-module/comment-content/init.js +6 -0
  665. package/build-module/comment-content/init.js.map +1 -0
  666. package/build-module/comment-date/edit.js +1 -1
  667. package/build-module/comment-date/edit.js.map +1 -1
  668. package/build-module/comment-date/index.js +10 -0
  669. package/build-module/comment-date/index.js.map +1 -1
  670. package/build-module/comment-date/init.js +6 -0
  671. package/build-module/comment-date/init.js.map +1 -0
  672. package/build-module/comment-edit-link/index.js +10 -0
  673. package/build-module/comment-edit-link/index.js.map +1 -1
  674. package/build-module/comment-edit-link/init.js +6 -0
  675. package/build-module/comment-edit-link/init.js.map +1 -0
  676. package/build-module/comment-reply-link/index.js +10 -0
  677. package/build-module/comment-reply-link/index.js.map +1 -1
  678. package/build-module/comment-reply-link/init.js +6 -0
  679. package/build-module/comment-reply-link/init.js.map +1 -0
  680. package/build-module/comment-template/index.js +6 -0
  681. package/build-module/comment-template/index.js.map +1 -1
  682. package/build-module/comment-template/init.js +6 -0
  683. package/build-module/comment-template/init.js.map +1 -0
  684. package/build-module/comments/edit/comments-legacy.js +1 -1
  685. package/build-module/comments/edit/comments-legacy.js.map +1 -1
  686. package/build-module/comments/index.js +6 -0
  687. package/build-module/comments/index.js.map +1 -1
  688. package/build-module/comments/init.js +6 -0
  689. package/build-module/comments/init.js.map +1 -0
  690. package/build-module/comments-pagination/edit.js +2 -1
  691. package/build-module/comments-pagination/edit.js.map +1 -1
  692. package/build-module/comments-pagination/index.js +6 -0
  693. package/build-module/comments-pagination/index.js.map +1 -1
  694. package/build-module/comments-pagination/init.js +6 -0
  695. package/build-module/comments-pagination/init.js.map +1 -0
  696. package/build-module/comments-pagination-next/index.js +6 -0
  697. package/build-module/comments-pagination-next/index.js.map +1 -1
  698. package/build-module/comments-pagination-next/init.js +6 -0
  699. package/build-module/comments-pagination-next/init.js.map +1 -0
  700. package/build-module/comments-pagination-numbers/index.js +6 -0
  701. package/build-module/comments-pagination-numbers/index.js.map +1 -1
  702. package/build-module/comments-pagination-numbers/init.js +6 -0
  703. package/build-module/comments-pagination-numbers/init.js.map +1 -0
  704. package/build-module/comments-pagination-previous/index.js +6 -0
  705. package/build-module/comments-pagination-previous/index.js.map +1 -1
  706. package/build-module/comments-pagination-previous/init.js +6 -0
  707. package/build-module/comments-pagination-previous/init.js.map +1 -0
  708. package/build-module/comments-title/index.js +6 -0
  709. package/build-module/comments-title/index.js.map +1 -1
  710. package/build-module/comments-title/init.js +6 -0
  711. package/build-module/comments-title/init.js.map +1 -0
  712. package/build-module/cover/index.js +7 -1
  713. package/build-module/cover/index.js.map +1 -1
  714. package/build-module/cover/init.js +6 -0
  715. package/build-module/cover/init.js.map +1 -0
  716. package/build-module/cover/transforms.native.js +1 -1
  717. package/build-module/cover/transforms.native.js.map +1 -1
  718. package/build-module/embed/deprecated.js +1 -6
  719. package/build-module/embed/deprecated.js.map +1 -1
  720. package/build-module/embed/index.js +7 -6
  721. package/build-module/embed/index.js.map +1 -1
  722. package/build-module/embed/init.js +6 -0
  723. package/build-module/embed/init.js.map +1 -0
  724. package/build-module/embed/transforms.js +1 -6
  725. package/build-module/embed/transforms.js.map +1 -1
  726. package/build-module/embed/transforms.native.js +1 -1
  727. package/build-module/embed/transforms.native.js.map +1 -1
  728. package/build-module/embed/util.js +1 -6
  729. package/build-module/embed/util.js.map +1 -1
  730. package/build-module/file/deprecated.js +113 -4
  731. package/build-module/file/deprecated.js.map +1 -1
  732. package/build-module/file/edit.js +8 -7
  733. package/build-module/file/edit.js.map +1 -1
  734. package/build-module/file/index.js +6 -0
  735. package/build-module/file/index.js.map +1 -1
  736. package/build-module/file/init.js +6 -0
  737. package/build-module/file/init.js.map +1 -0
  738. package/build-module/file/save.js +1 -4
  739. package/build-module/file/save.js.map +1 -1
  740. package/build-module/file/transforms.native.js +1 -1
  741. package/build-module/file/transforms.native.js.map +1 -1
  742. package/build-module/freeform/index.js +6 -0
  743. package/build-module/freeform/index.js.map +1 -1
  744. package/build-module/freeform/init.js +6 -0
  745. package/build-module/freeform/init.js.map +1 -0
  746. package/build-module/gallery/edit.js +12 -13
  747. package/build-module/gallery/edit.js.map +1 -1
  748. package/build-module/gallery/gap-styles.js +6 -5
  749. package/build-module/gallery/gap-styles.js.map +1 -1
  750. package/build-module/gallery/index.js +8 -0
  751. package/build-module/gallery/index.js.map +1 -1
  752. package/build-module/gallery/init.js +6 -0
  753. package/build-module/gallery/init.js.map +1 -0
  754. package/build-module/gallery/transforms.native.js +1 -1
  755. package/build-module/gallery/transforms.native.js.map +1 -1
  756. package/build-module/gallery/v1/edit.js +2 -2
  757. package/build-module/gallery/v1/edit.js.map +1 -1
  758. package/build-module/gallery/v1/gallery-image.js +11 -3
  759. package/build-module/gallery/v1/gallery-image.js.map +1 -1
  760. package/build-module/group/index.js +7 -1
  761. package/build-module/group/index.js.map +1 -1
  762. package/build-module/group/init.js +6 -0
  763. package/build-module/group/init.js.map +1 -0
  764. package/build-module/heading/index.js +7 -0
  765. package/build-module/heading/index.js.map +1 -1
  766. package/build-module/heading/init.js +6 -0
  767. package/build-module/heading/init.js.map +1 -0
  768. package/build-module/heading/transforms.js +1 -0
  769. package/build-module/heading/transforms.js.map +1 -1
  770. package/build-module/heading/transforms.native.js +1 -1
  771. package/build-module/heading/transforms.native.js.map +1 -1
  772. package/build-module/home-link/index.js +20 -1
  773. package/build-module/home-link/index.js.map +1 -1
  774. package/build-module/home-link/init.js +6 -0
  775. package/build-module/home-link/init.js.map +1 -0
  776. package/build-module/html/index.js +6 -0
  777. package/build-module/html/index.js.map +1 -1
  778. package/build-module/html/init.js +6 -0
  779. package/build-module/html/init.js.map +1 -0
  780. package/build-module/image/edit.js +32 -16
  781. package/build-module/image/edit.js.map +1 -1
  782. package/build-module/image/image.js +5 -4
  783. package/build-module/image/image.js.map +1 -1
  784. package/build-module/image/index.js +6 -5
  785. package/build-module/image/index.js.map +1 -1
  786. package/build-module/image/init.js +6 -0
  787. package/build-module/image/init.js.map +1 -0
  788. package/build-module/image/transforms.js +2 -1
  789. package/build-module/image/transforms.js.map +1 -1
  790. package/build-module/image/transforms.native.js +1 -1
  791. package/build-module/image/transforms.native.js.map +1 -1
  792. package/build-module/image/use-client-width.js +3 -1
  793. package/build-module/image/use-client-width.js.map +1 -1
  794. package/build-module/index.js +20 -33
  795. package/build-module/index.js.map +1 -1
  796. package/build-module/index.native.js +9 -52
  797. package/build-module/index.native.js.map +1 -1
  798. package/build-module/latest-comments/index.js +6 -0
  799. package/build-module/latest-comments/index.js.map +1 -1
  800. package/build-module/latest-comments/init.js +6 -0
  801. package/build-module/latest-comments/init.js.map +1 -0
  802. package/build-module/latest-posts/deprecated.js +14 -1
  803. package/build-module/latest-posts/deprecated.js.map +1 -1
  804. package/build-module/latest-posts/edit.js +2 -4
  805. package/build-module/latest-posts/edit.js.map +1 -1
  806. package/build-module/latest-posts/index.js +20 -1
  807. package/build-module/latest-posts/index.js.map +1 -1
  808. package/build-module/latest-posts/init.js +6 -0
  809. package/build-module/latest-posts/init.js.map +1 -0
  810. package/build-module/list/deprecated.js +83 -1
  811. package/build-module/list/deprecated.js.map +1 -1
  812. package/build-module/list/edit.js +147 -134
  813. package/build-module/list/edit.js.map +1 -1
  814. package/build-module/list/index.js +43 -32
  815. package/build-module/list/index.js.map +1 -1
  816. package/build-module/list/init.js +6 -0
  817. package/build-module/list/init.js.map +1 -0
  818. package/build-module/list/save.js +2 -6
  819. package/build-module/list/save.js.map +1 -1
  820. package/build-module/list/{v2/tag-name.js → tag-name.js} +0 -0
  821. package/build-module/list/tag-name.js.map +1 -0
  822. package/build-module/list/{v2/tag-name.native.js → tag-name.native.js} +0 -0
  823. package/build-module/list/tag-name.native.js.map +1 -0
  824. package/build-module/list/transforms.js +62 -97
  825. package/build-module/list/transforms.js.map +1 -1
  826. package/build-module/list/transforms.native.js +1 -1
  827. package/build-module/list/transforms.native.js.map +1 -1
  828. package/build-module/list/{v2/migrate.js → utils.js} +9 -9
  829. package/build-module/list/utils.js.map +1 -0
  830. package/build-module/list-item/edit.native.js +45 -13
  831. package/build-module/list-item/edit.native.js.map +1 -1
  832. package/build-module/list-item/hooks/use-copy.js +2 -0
  833. package/build-module/list-item/hooks/use-copy.js.map +1 -1
  834. package/build-module/list-item/hooks/use-enter.native.js +67 -0
  835. package/build-module/list-item/hooks/use-enter.native.js.map +1 -0
  836. package/build-module/list-item/hooks/use-merge.js +0 -1
  837. package/build-module/list-item/hooks/use-merge.js.map +1 -1
  838. package/build-module/list-item/hooks/use-outdent-list-item.js +4 -5
  839. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  840. package/build-module/list-item/hooks/use-space.js +10 -1
  841. package/build-module/list-item/hooks/use-space.js.map +1 -1
  842. package/build-module/list-item/index.js +6 -1
  843. package/build-module/list-item/index.js.map +1 -1
  844. package/build-module/list-item/init.js +6 -0
  845. package/build-module/list-item/init.js.map +1 -0
  846. package/build-module/list-item/utils.js +8 -4
  847. package/build-module/list-item/utils.js.map +1 -1
  848. package/build-module/loginout/index.js +6 -0
  849. package/build-module/loginout/index.js.map +1 -1
  850. package/build-module/loginout/init.js +6 -0
  851. package/build-module/loginout/init.js.map +1 -0
  852. package/build-module/media-text/index.js +20 -5
  853. package/build-module/media-text/index.js.map +1 -1
  854. package/build-module/media-text/init.js +6 -0
  855. package/build-module/media-text/init.js.map +1 -0
  856. package/build-module/media-text/media-container.js +9 -7
  857. package/build-module/media-text/media-container.js.map +1 -1
  858. package/build-module/media-text/transforms.native.js +1 -1
  859. package/build-module/media-text/transforms.native.js.map +1 -1
  860. package/build-module/missing/index.js +6 -0
  861. package/build-module/missing/index.js.map +1 -1
  862. package/build-module/missing/init.js +6 -0
  863. package/build-module/missing/init.js.map +1 -0
  864. package/build-module/more/index.js +6 -0
  865. package/build-module/more/index.js.map +1 -1
  866. package/build-module/more/init.js +6 -0
  867. package/build-module/more/init.js.map +1 -0
  868. package/build-module/more/transforms.native.js +1 -1
  869. package/build-module/more/transforms.native.js.map +1 -1
  870. package/build-module/navigation/edit/index.js +124 -74
  871. package/build-module/navigation/edit/index.js.map +1 -1
  872. package/build-module/navigation/edit/navigation-menu-selector.js +83 -29
  873. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  874. package/build-module/navigation/edit/overlay-menu-icon.js +20 -1
  875. package/build-module/navigation/edit/overlay-menu-icon.js.map +1 -1
  876. package/build-module/navigation/edit/overlay-menu-preview.js +59 -0
  877. package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -0
  878. package/build-module/navigation/edit/responsive-wrapper.js +11 -6
  879. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  880. package/build-module/navigation/edit/unsaved-inner-blocks.js +5 -15
  881. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  882. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +22 -2
  883. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  884. package/build-module/navigation/edit/use-create-navigation-menu.js +2 -1
  885. package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
  886. package/build-module/navigation/index.js +11 -0
  887. package/build-module/navigation/index.js.map +1 -1
  888. package/build-module/navigation/init.js +6 -0
  889. package/build-module/navigation/init.js.map +1 -0
  890. package/build-module/navigation/use-navigation-menu.js +7 -6
  891. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  892. package/build-module/navigation-link/edit.js +15 -2
  893. package/build-module/navigation-link/edit.js.map +1 -1
  894. package/build-module/navigation-link/index.js +24 -4
  895. package/build-module/navigation-link/index.js.map +1 -1
  896. package/build-module/navigation-link/init.js +6 -0
  897. package/build-module/navigation-link/init.js.map +1 -0
  898. package/build-module/navigation-submenu/edit.js +1 -1
  899. package/build-module/navigation-submenu/edit.js.map +1 -1
  900. package/build-module/navigation-submenu/index.js +6 -0
  901. package/build-module/navigation-submenu/index.js.map +1 -1
  902. package/build-module/navigation-submenu/init.js +6 -0
  903. package/build-module/navigation-submenu/init.js.map +1 -0
  904. package/build-module/nextpage/index.js +6 -0
  905. package/build-module/nextpage/index.js.map +1 -1
  906. package/build-module/nextpage/init.js +6 -0
  907. package/build-module/nextpage/init.js.map +1 -0
  908. package/build-module/nextpage/transforms.native.js +1 -1
  909. package/build-module/nextpage/transforms.native.js.map +1 -1
  910. package/build-module/page-list/index.js +6 -0
  911. package/build-module/page-list/index.js.map +1 -1
  912. package/build-module/page-list/init.js +6 -0
  913. package/build-module/page-list/init.js.map +1 -0
  914. package/build-module/paragraph/index.js +8 -0
  915. package/build-module/paragraph/index.js.map +1 -1
  916. package/build-module/paragraph/init.js +6 -0
  917. package/build-module/paragraph/init.js.map +1 -0
  918. package/build-module/paragraph/transforms.js +2 -0
  919. package/build-module/paragraph/transforms.js.map +1 -1
  920. package/build-module/paragraph/transforms.native.js +1 -1
  921. package/build-module/paragraph/transforms.native.js.map +1 -1
  922. package/build-module/pattern/index.js +6 -0
  923. package/build-module/pattern/index.js.map +1 -1
  924. package/build-module/pattern/init.js +6 -0
  925. package/build-module/pattern/init.js.map +1 -0
  926. package/build-module/post-author/edit.js +1 -2
  927. package/build-module/post-author/edit.js.map +1 -1
  928. package/build-module/post-author/index.js +11 -5
  929. package/build-module/post-author/index.js.map +1 -1
  930. package/build-module/post-author/init.js +6 -0
  931. package/build-module/post-author/init.js.map +1 -0
  932. package/build-module/post-author-biography/index.js +11 -5
  933. package/build-module/post-author-biography/index.js.map +1 -1
  934. package/build-module/post-author-biography/init.js +6 -0
  935. package/build-module/post-author-biography/init.js.map +1 -0
  936. package/build-module/post-author-name/index.js +11 -5
  937. package/build-module/post-author-name/index.js.map +1 -1
  938. package/build-module/post-author-name/init.js +6 -0
  939. package/build-module/post-author-name/init.js.map +1 -0
  940. package/build-module/post-comment/index.js +6 -0
  941. package/build-module/post-comment/index.js.map +1 -1
  942. package/build-module/post-comment/init.js +6 -0
  943. package/build-module/post-comment/init.js.map +1 -0
  944. package/build-module/post-comments-count/index.js +6 -0
  945. package/build-module/post-comments-count/index.js.map +1 -1
  946. package/build-module/post-comments-count/init.js +6 -0
  947. package/build-module/post-comments-count/init.js.map +1 -0
  948. package/build-module/post-comments-form/index.js +6 -0
  949. package/build-module/post-comments-form/index.js.map +1 -1
  950. package/build-module/post-comments-form/init.js +6 -0
  951. package/build-module/post-comments-form/init.js.map +1 -0
  952. package/build-module/post-comments-link/index.js +6 -0
  953. package/build-module/post-comments-link/index.js.map +1 -1
  954. package/build-module/post-comments-link/init.js +6 -0
  955. package/build-module/post-comments-link/init.js.map +1 -0
  956. package/build-module/post-content/index.js +20 -1
  957. package/build-module/post-content/index.js.map +1 -1
  958. package/build-module/post-content/init.js +6 -0
  959. package/build-module/post-content/init.js.map +1 -0
  960. package/build-module/post-date/edit.js +1 -1
  961. package/build-module/post-date/edit.js.map +1 -1
  962. package/build-module/post-date/index.js +6 -0
  963. package/build-module/post-date/index.js.map +1 -1
  964. package/build-module/post-date/init.js +6 -0
  965. package/build-module/post-date/init.js.map +1 -0
  966. package/build-module/post-excerpt/index.js +10 -2
  967. package/build-module/post-excerpt/index.js.map +1 -1
  968. package/build-module/post-excerpt/init.js +6 -0
  969. package/build-module/post-excerpt/init.js.map +1 -0
  970. package/build-module/post-featured-image/edit.js +15 -2
  971. package/build-module/post-featured-image/edit.js.map +1 -1
  972. package/build-module/post-featured-image/index.js +22 -0
  973. package/build-module/post-featured-image/index.js.map +1 -1
  974. package/build-module/post-featured-image/init.js +6 -0
  975. package/build-module/post-featured-image/init.js.map +1 -0
  976. package/build-module/post-featured-image/overlay.js +103 -0
  977. package/build-module/post-featured-image/overlay.js.map +1 -0
  978. package/build-module/post-featured-image/utils.js +11 -0
  979. package/build-module/post-featured-image/utils.js.map +1 -0
  980. package/build-module/post-navigation-link/index.js +6 -0
  981. package/build-module/post-navigation-link/index.js.map +1 -1
  982. package/build-module/post-navigation-link/init.js +6 -0
  983. package/build-module/post-navigation-link/init.js.map +1 -0
  984. package/build-module/post-template/edit.js +38 -4
  985. package/build-module/post-template/edit.js.map +1 -1
  986. package/build-module/post-template/index.js +6 -0
  987. package/build-module/post-template/index.js.map +1 -1
  988. package/build-module/post-template/init.js +6 -0
  989. package/build-module/post-template/init.js.map +1 -0
  990. package/build-module/post-terms/edit.js +0 -1
  991. package/build-module/post-terms/edit.js.map +1 -1
  992. package/build-module/post-terms/index.js +10 -3
  993. package/build-module/post-terms/index.js.map +1 -1
  994. package/build-module/post-terms/init.js +6 -0
  995. package/build-module/post-terms/init.js.map +1 -0
  996. package/build-module/post-terms/use-post-terms.js +5 -25
  997. package/build-module/post-terms/use-post-terms.js.map +1 -1
  998. package/build-module/post-title/index.js +6 -0
  999. package/build-module/post-title/index.js.map +1 -1
  1000. package/build-module/post-title/init.js +6 -0
  1001. package/build-module/post-title/init.js.map +1 -0
  1002. package/build-module/preformatted/index.js +6 -0
  1003. package/build-module/preformatted/index.js.map +1 -1
  1004. package/build-module/preformatted/init.js +6 -0
  1005. package/build-module/preformatted/init.js.map +1 -0
  1006. package/build-module/preformatted/transforms.native.js +1 -1
  1007. package/build-module/preformatted/transforms.native.js.map +1 -1
  1008. package/build-module/pullquote/index.js +6 -0
  1009. package/build-module/pullquote/index.js.map +1 -1
  1010. package/build-module/pullquote/init.js +6 -0
  1011. package/build-module/pullquote/init.js.map +1 -0
  1012. package/build-module/pullquote/transforms.native.js +1 -1
  1013. package/build-module/pullquote/transforms.native.js.map +1 -1
  1014. package/build-module/query/edit/inspector-controls/index.js +23 -25
  1015. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  1016. package/build-module/query/index.js +13 -4
  1017. package/build-module/query/index.js.map +1 -1
  1018. package/build-module/query/init.js +6 -0
  1019. package/build-module/query/init.js.map +1 -0
  1020. package/build-module/query/utils.js +107 -1
  1021. package/build-module/query/utils.js.map +1 -1
  1022. package/build-module/query-no-results/index.js +19 -0
  1023. package/build-module/query-no-results/index.js.map +1 -1
  1024. package/build-module/query-no-results/init.js +6 -0
  1025. package/build-module/query-no-results/init.js.map +1 -0
  1026. package/build-module/query-pagination/edit.js +2 -1
  1027. package/build-module/query-pagination/edit.js.map +1 -1
  1028. package/build-module/query-pagination/index.js +19 -0
  1029. package/build-module/query-pagination/index.js.map +1 -1
  1030. package/build-module/query-pagination/init.js +6 -0
  1031. package/build-module/query-pagination/init.js.map +1 -0
  1032. package/build-module/query-pagination-next/index.js +10 -2
  1033. package/build-module/query-pagination-next/index.js.map +1 -1
  1034. package/build-module/query-pagination-next/init.js +6 -0
  1035. package/build-module/query-pagination-next/init.js.map +1 -0
  1036. package/build-module/query-pagination-numbers/index.js +10 -2
  1037. package/build-module/query-pagination-numbers/index.js.map +1 -1
  1038. package/build-module/query-pagination-numbers/init.js +6 -0
  1039. package/build-module/query-pagination-numbers/init.js.map +1 -0
  1040. package/build-module/query-pagination-previous/index.js +10 -2
  1041. package/build-module/query-pagination-previous/index.js.map +1 -1
  1042. package/build-module/query-pagination-previous/init.js +6 -0
  1043. package/build-module/query-pagination-previous/init.js.map +1 -0
  1044. package/build-module/query-title/index.js +12 -5
  1045. package/build-module/query-title/index.js.map +1 -1
  1046. package/build-module/query-title/init.js +6 -0
  1047. package/build-module/query-title/init.js.map +1 -0
  1048. package/build-module/quote/index.js +10 -2
  1049. package/build-module/quote/index.js.map +1 -1
  1050. package/build-module/quote/init.js +6 -0
  1051. package/build-module/quote/init.js.map +1 -0
  1052. package/build-module/quote/transforms.js +7 -0
  1053. package/build-module/quote/transforms.js.map +1 -1
  1054. package/build-module/quote/transforms.native.js +1 -1
  1055. package/build-module/quote/transforms.native.js.map +1 -1
  1056. package/build-module/read-more/index.js +6 -0
  1057. package/build-module/read-more/index.js.map +1 -1
  1058. package/build-module/read-more/init.js +6 -0
  1059. package/build-module/read-more/init.js.map +1 -0
  1060. package/build-module/rss/index.js +6 -0
  1061. package/build-module/rss/index.js.map +1 -1
  1062. package/build-module/rss/init.js +6 -0
  1063. package/build-module/rss/init.js.map +1 -0
  1064. package/build-module/search/edit.js +20 -9
  1065. package/build-module/search/edit.js.map +1 -1
  1066. package/build-module/search/index.js +21 -0
  1067. package/build-module/search/index.js.map +1 -1
  1068. package/build-module/search/init.js +6 -0
  1069. package/build-module/search/init.js.map +1 -0
  1070. package/build-module/separator/index.js +6 -0
  1071. package/build-module/separator/index.js.map +1 -1
  1072. package/build-module/separator/init.js +6 -0
  1073. package/build-module/separator/init.js.map +1 -0
  1074. package/build-module/separator/transforms.native.js +1 -1
  1075. package/build-module/separator/transforms.native.js.map +1 -1
  1076. package/build-module/shortcode/index.js +6 -0
  1077. package/build-module/shortcode/index.js.map +1 -1
  1078. package/build-module/shortcode/init.js +6 -0
  1079. package/build-module/shortcode/init.js.map +1 -0
  1080. package/build-module/shortcode/transforms.native.js +1 -1
  1081. package/build-module/shortcode/transforms.native.js.map +1 -1
  1082. package/build-module/site-logo/index.js +10 -0
  1083. package/build-module/site-logo/index.js.map +1 -1
  1084. package/build-module/site-logo/init.js +6 -0
  1085. package/build-module/site-logo/init.js.map +1 -0
  1086. package/build-module/site-tagline/index.js +7 -0
  1087. package/build-module/site-tagline/index.js.map +1 -1
  1088. package/build-module/site-tagline/init.js +6 -0
  1089. package/build-module/site-tagline/init.js.map +1 -0
  1090. package/build-module/site-title/index.js +7 -0
  1091. package/build-module/site-title/index.js.map +1 -1
  1092. package/build-module/site-title/init.js +6 -0
  1093. package/build-module/site-title/init.js.map +1 -0
  1094. package/build-module/social-link/index.js +6 -0
  1095. package/build-module/social-link/index.js.map +1 -1
  1096. package/build-module/social-link/init.js +6 -0
  1097. package/build-module/social-link/init.js.map +1 -0
  1098. package/build-module/social-links/edit.js +45 -13
  1099. package/build-module/social-links/edit.js.map +1 -1
  1100. package/build-module/social-links/index.js +17 -1
  1101. package/build-module/social-links/index.js.map +1 -1
  1102. package/build-module/social-links/init.js +6 -0
  1103. package/build-module/social-links/init.js.map +1 -0
  1104. package/build-module/spacer/index.js +6 -0
  1105. package/build-module/spacer/index.js.map +1 -1
  1106. package/build-module/spacer/init.js +6 -0
  1107. package/build-module/spacer/init.js.map +1 -0
  1108. package/build-module/table/index.js +9 -6
  1109. package/build-module/table/index.js.map +1 -1
  1110. package/build-module/table/init.js +6 -0
  1111. package/build-module/table/init.js.map +1 -0
  1112. package/build-module/table-of-contents/index.js +19 -0
  1113. package/build-module/table-of-contents/index.js.map +1 -1
  1114. package/build-module/table-of-contents/init.js +6 -0
  1115. package/build-module/table-of-contents/init.js.map +1 -0
  1116. package/build-module/tag-cloud/index.js +6 -0
  1117. package/build-module/tag-cloud/index.js.map +1 -1
  1118. package/build-module/tag-cloud/init.js +6 -0
  1119. package/build-module/tag-cloud/init.js.map +1 -0
  1120. package/build-module/template-part/edit/index.js +2 -7
  1121. package/build-module/template-part/edit/index.js.map +1 -1
  1122. package/build-module/template-part/index.js +27 -20
  1123. package/build-module/template-part/index.js.map +1 -1
  1124. package/build-module/template-part/init.js +6 -0
  1125. package/build-module/template-part/init.js.map +1 -0
  1126. package/build-module/term-description/index.js +12 -0
  1127. package/build-module/term-description/index.js.map +1 -1
  1128. package/build-module/term-description/init.js +6 -0
  1129. package/build-module/term-description/init.js.map +1 -0
  1130. package/build-module/text-columns/index.js +6 -0
  1131. package/build-module/text-columns/index.js.map +1 -1
  1132. package/build-module/text-columns/init.js +6 -0
  1133. package/build-module/text-columns/init.js.map +1 -0
  1134. package/build-module/text-columns/transforms.native.js +1 -1
  1135. package/build-module/text-columns/transforms.native.js.map +1 -1
  1136. package/build-module/utils/init-block.js +29 -0
  1137. package/build-module/utils/init-block.js.map +1 -0
  1138. package/build-module/utils/init-block.native.js +43 -0
  1139. package/build-module/utils/init-block.native.js.map +1 -0
  1140. package/build-module/{is-block-metadata-experimental.js → utils/is-block-metadata-experimental.js} +0 -0
  1141. package/build-module/utils/is-block-metadata-experimental.js.map +1 -0
  1142. package/build-module/utils/migrate-font-family.js +10 -16
  1143. package/build-module/utils/migrate-font-family.js.map +1 -1
  1144. package/build-module/{transformationCategories.native.js → utils/transformation-categories.native.js} +1 -1
  1145. package/build-module/utils/transformation-categories.native.js.map +1 -0
  1146. package/build-module/verse/index.js +7 -0
  1147. package/build-module/verse/index.js.map +1 -1
  1148. package/build-module/verse/init.js +6 -0
  1149. package/build-module/verse/init.js.map +1 -0
  1150. package/build-module/verse/transforms.native.js +1 -1
  1151. package/build-module/verse/transforms.native.js.map +1 -1
  1152. package/build-module/video/edit.js +13 -12
  1153. package/build-module/video/edit.js.map +1 -1
  1154. package/build-module/video/index.js +13 -8
  1155. package/build-module/video/index.js.map +1 -1
  1156. package/build-module/video/init.js +6 -0
  1157. package/build-module/video/init.js.map +1 -0
  1158. package/build-module/video/transforms.native.js +1 -1
  1159. package/build-module/video/transforms.native.js.map +1 -1
  1160. package/build-style/audio/theme-rtl.css +4 -0
  1161. package/build-style/audio/theme.css +4 -0
  1162. package/build-style/avatar/style-rtl.css +3 -0
  1163. package/build-style/avatar/style.css +3 -0
  1164. package/build-style/button/editor-rtl.css +4 -0
  1165. package/build-style/button/editor.css +4 -0
  1166. package/build-style/button/style-rtl.css +5 -4
  1167. package/build-style/button/style.css +5 -4
  1168. package/build-style/buttons/editor-rtl.css +3 -0
  1169. package/build-style/buttons/editor.css +3 -0
  1170. package/build-style/buttons/style-rtl.css +7 -0
  1171. package/build-style/buttons/style.css +7 -0
  1172. package/build-style/categories/style-rtl.css +3 -0
  1173. package/build-style/categories/style.css +3 -0
  1174. package/build-style/code/editor-rtl.css +79 -0
  1175. package/build-style/code/editor.css +79 -0
  1176. package/build-style/common-rtl.css +7 -0
  1177. package/build-style/common.css +7 -0
  1178. package/build-style/cover/editor-rtl.css +0 -3
  1179. package/build-style/cover/editor.css +0 -3
  1180. package/build-style/cover/style-rtl.css +2 -2
  1181. package/build-style/cover/style.css +2 -0
  1182. package/build-style/editor-rtl.css +46 -44
  1183. package/build-style/editor.css +46 -44
  1184. package/build-style/embed/theme-rtl.css +4 -0
  1185. package/build-style/embed/theme.css +4 -0
  1186. package/build-style/group/editor-rtl.css +2 -22
  1187. package/build-style/group/editor.css +2 -22
  1188. package/build-style/image/theme-rtl.css +4 -0
  1189. package/build-style/image/theme.css +4 -0
  1190. package/build-style/media-text/style-rtl.css +1 -0
  1191. package/build-style/media-text/style.css +1 -0
  1192. package/build-style/navigation/editor-rtl.css +23 -19
  1193. package/build-style/navigation/editor.css +23 -19
  1194. package/build-style/navigation/style-rtl.css +28 -4
  1195. package/build-style/navigation/style.css +28 -4
  1196. package/build-style/post-featured-image/editor-rtl.css +5 -0
  1197. package/build-style/post-featured-image/editor.css +5 -0
  1198. package/build-style/post-featured-image/style-rtl.css +45 -0
  1199. package/build-style/post-featured-image/style.css +45 -0
  1200. package/build-style/search/style-rtl.css +2 -3
  1201. package/build-style/search/style.css +2 -3
  1202. package/build-style/separator/style-rtl.css +2 -0
  1203. package/build-style/separator/style.css +2 -0
  1204. package/build-style/site-logo/editor-rtl.css +5 -0
  1205. package/build-style/site-logo/editor.css +5 -0
  1206. package/build-style/site-logo/style-rtl.css +1 -0
  1207. package/build-style/site-logo/style.css +1 -0
  1208. package/build-style/social-links/style-rtl.css +2 -2
  1209. package/build-style/social-links/style.css +2 -2
  1210. package/build-style/style-rtl.css +108 -15
  1211. package/build-style/style.css +108 -13
  1212. package/build-style/table/theme-rtl.css +3 -0
  1213. package/build-style/table/theme.css +3 -0
  1214. package/build-style/theme-rtl.css +19 -0
  1215. package/build-style/theme.css +19 -0
  1216. package/build-style/video/theme-rtl.css +4 -0
  1217. package/build-style/video/theme.css +4 -0
  1218. package/package.json +29 -32
  1219. package/src/archives/block.json +13 -0
  1220. package/src/archives/index.js +3 -0
  1221. package/src/archives/init.js +6 -0
  1222. package/src/audio/block.json +6 -8
  1223. package/src/audio/edit.js +6 -8
  1224. package/src/audio/index.js +3 -0
  1225. package/src/audio/init.js +6 -0
  1226. package/src/audio/theme.scss +4 -0
  1227. package/src/audio/transforms.native.js +1 -1
  1228. package/src/avatar/block.json +2 -1
  1229. package/src/avatar/index.js +3 -0
  1230. package/src/avatar/init.js +6 -0
  1231. package/src/avatar/style.scss +3 -0
  1232. package/src/block/edit.js +3 -10
  1233. package/src/block/index.js +3 -0
  1234. package/src/block/init.js +6 -0
  1235. package/src/block/test/edit.native.js +4 -0
  1236. package/src/button/block.json +5 -0
  1237. package/src/button/edit.js +1 -1
  1238. package/src/button/editor.scss +4 -0
  1239. package/src/button/index.js +3 -0
  1240. package/src/button/init.js +6 -0
  1241. package/src/button/style.scss +5 -8
  1242. package/src/buttons/block.json +13 -0
  1243. package/src/buttons/edit.js +12 -2
  1244. package/src/buttons/editor.scss +6 -0
  1245. package/src/buttons/index.js +3 -0
  1246. package/src/buttons/init.js +6 -0
  1247. package/src/buttons/save.js +13 -2
  1248. package/src/buttons/style.scss +13 -0
  1249. package/src/buttons/transforms.native.js +1 -1
  1250. package/src/calendar/block.json +13 -1
  1251. package/src/calendar/index.js +3 -0
  1252. package/src/calendar/init.js +6 -0
  1253. package/src/categories/block.json +4 -0
  1254. package/src/categories/edit.js +37 -25
  1255. package/src/categories/index.js +3 -0
  1256. package/src/categories/index.php +1 -1
  1257. package/src/categories/init.js +6 -0
  1258. package/src/categories/style.scss +3 -0
  1259. package/src/code/editor.scss +3 -0
  1260. package/src/code/index.js +3 -0
  1261. package/src/code/init.js +6 -0
  1262. package/src/code/transforms.js +9 -0
  1263. package/src/code/transforms.native.js +1 -1
  1264. package/src/column/block.json +1 -1
  1265. package/src/column/edit.js +1 -6
  1266. package/src/column/index.js +3 -0
  1267. package/src/column/init.js +6 -0
  1268. package/src/columns/block.json +2 -1
  1269. package/src/columns/index.js +3 -0
  1270. package/src/columns/init.js +6 -0
  1271. package/src/columns/transforms.js +17 -3
  1272. package/src/columns/transforms.native.js +1 -1
  1273. package/src/comment-author-avatar/index.js +3 -0
  1274. package/src/comment-author-avatar/init.js +6 -0
  1275. package/src/comment-author-name/index.js +3 -0
  1276. package/src/comment-author-name/init.js +6 -0
  1277. package/src/comment-content/index.js +3 -0
  1278. package/src/comment-content/init.js +6 -0
  1279. package/src/comment-date/block.json +4 -0
  1280. package/src/comment-date/edit.js +1 -4
  1281. package/src/comment-date/index.js +3 -0
  1282. package/src/comment-date/init.js +6 -0
  1283. package/src/comment-edit-link/block.json +4 -0
  1284. package/src/comment-edit-link/index.js +3 -0
  1285. package/src/comment-edit-link/init.js +6 -0
  1286. package/src/comment-reply-link/block.json +4 -0
  1287. package/src/comment-reply-link/index.js +3 -0
  1288. package/src/comment-reply-link/init.js +6 -0
  1289. package/src/comment-template/index.js +3 -0
  1290. package/src/comment-template/init.js +6 -0
  1291. package/src/comments/edit/comments-legacy.js +4 -5
  1292. package/src/comments/index.js +3 -0
  1293. package/src/comments/index.php +1 -1
  1294. package/src/comments/init.js +6 -0
  1295. package/src/comments-pagination/edit.js +6 -5
  1296. package/src/comments-pagination/index.js +3 -0
  1297. package/src/comments-pagination/init.js +6 -0
  1298. package/src/comments-pagination-next/index.js +3 -0
  1299. package/src/comments-pagination-next/init.js +6 -0
  1300. package/src/comments-pagination-numbers/index.js +3 -0
  1301. package/src/comments-pagination-numbers/init.js +6 -0
  1302. package/src/comments-pagination-previous/index.js +3 -0
  1303. package/src/comments-pagination-previous/init.js +6 -0
  1304. package/src/comments-title/index.js +3 -0
  1305. package/src/comments-title/init.js +6 -0
  1306. package/src/common.scss +7 -0
  1307. package/src/cover/block.json +1 -1
  1308. package/src/cover/editor.scss +0 -4
  1309. package/src/cover/index.js +3 -0
  1310. package/src/cover/init.js +6 -0
  1311. package/src/cover/style.scss +4 -0
  1312. package/src/cover/test/edit.native.js +2 -3
  1313. package/src/cover/transforms.native.js +1 -1
  1314. package/src/editor.scss +1 -0
  1315. package/src/embed/block.json +1 -6
  1316. package/src/embed/index.js +3 -0
  1317. package/src/embed/init.js +6 -0
  1318. package/src/embed/test/index.native.js +19 -3
  1319. package/src/embed/theme.scss +4 -0
  1320. package/src/embed/transforms.native.js +1 -1
  1321. package/src/file/deprecated.js +249 -112
  1322. package/src/file/edit.js +4 -13
  1323. package/src/file/index.js +3 -0
  1324. package/src/file/index.php +22 -0
  1325. package/src/file/init.js +6 -0
  1326. package/src/file/save.js +1 -8
  1327. package/src/file/transforms.native.js +1 -1
  1328. package/src/freeform/index.js +3 -0
  1329. package/src/freeform/init.js +6 -0
  1330. package/src/gallery/block.json +2 -0
  1331. package/src/gallery/edit.js +8 -15
  1332. package/src/gallery/gap-styles.js +10 -6
  1333. package/src/gallery/index.js +3 -0
  1334. package/src/gallery/index.php +24 -3
  1335. package/src/gallery/init.js +6 -0
  1336. package/src/gallery/transforms.native.js +1 -1
  1337. package/src/gallery/v1/edit.js +2 -12
  1338. package/src/gallery/v1/gallery-image.js +7 -3
  1339. package/src/group/block.json +1 -1
  1340. package/src/group/editor.scss +1 -28
  1341. package/src/group/index.js +3 -0
  1342. package/src/group/init.js +6 -0
  1343. package/src/heading/block.json +1 -0
  1344. package/src/heading/index.js +3 -0
  1345. package/src/heading/init.js +6 -0
  1346. package/src/heading/transforms.native.js +1 -1
  1347. package/src/home-link/block.json +14 -1
  1348. package/src/home-link/index.js +3 -0
  1349. package/src/home-link/index.php +1 -1
  1350. package/src/home-link/init.js +6 -0
  1351. package/src/html/index.js +3 -0
  1352. package/src/html/init.js +6 -0
  1353. package/src/image/block.json +0 -5
  1354. package/src/image/edit.js +28 -17
  1355. package/src/image/image.js +12 -6
  1356. package/src/image/index.js +3 -0
  1357. package/src/image/init.js +6 -0
  1358. package/src/image/theme.scss +4 -0
  1359. package/src/image/transforms.js +4 -1
  1360. package/src/image/transforms.native.js +1 -1
  1361. package/src/image/use-client-width.js +1 -1
  1362. package/src/index.js +104 -121
  1363. package/src/index.native.js +6 -49
  1364. package/src/latest-comments/index.js +3 -0
  1365. package/src/latest-comments/init.js +6 -0
  1366. package/src/latest-posts/block.json +14 -1
  1367. package/src/latest-posts/edit.js +2 -2
  1368. package/src/latest-posts/index.js +3 -0
  1369. package/src/latest-posts/init.js +6 -0
  1370. package/src/list/block.json +8 -3
  1371. package/src/list/deprecated.js +71 -1
  1372. package/src/list/edit.js +142 -133
  1373. package/src/list/index.js +28 -24
  1374. package/src/list/init.js +6 -0
  1375. package/src/list/save.js +3 -4
  1376. package/src/list/{v2/tag-name.js → tag-name.js} +0 -0
  1377. package/src/list/{v2/tag-name.native.js → tag-name.native.js} +0 -0
  1378. package/src/list/test/__snapshots__/edit.native.js.snap +14 -2
  1379. package/src/list/test/edit.native.js +0 -154
  1380. package/src/list/transforms.js +57 -111
  1381. package/src/list/transforms.native.js +1 -1
  1382. package/src/list/{v2/migrate.js → utils.js} +6 -9
  1383. package/src/list-item/block.json +0 -1
  1384. package/src/list-item/edit.native.js +55 -8
  1385. package/src/list-item/hooks/use-copy.js +2 -0
  1386. package/src/list-item/hooks/use-enter.native.js +77 -0
  1387. package/src/list-item/hooks/use-outdent-list-item.js +4 -4
  1388. package/src/list-item/hooks/use-space.js +10 -2
  1389. package/src/list-item/index.js +3 -0
  1390. package/src/list-item/init.js +6 -0
  1391. package/src/list-item/style.native.scss +8 -0
  1392. package/src/loginout/index.js +3 -0
  1393. package/src/loginout/init.js +6 -0
  1394. package/src/media-text/block.json +14 -5
  1395. package/src/media-text/index.js +3 -0
  1396. package/src/media-text/init.js +6 -0
  1397. package/src/media-text/media-container.js +7 -12
  1398. package/src/media-text/style.scss +2 -0
  1399. package/src/media-text/transforms.native.js +1 -1
  1400. package/src/missing/index.js +3 -0
  1401. package/src/missing/init.js +6 -0
  1402. package/src/more/index.js +3 -0
  1403. package/src/more/init.js +6 -0
  1404. package/src/more/transforms.native.js +1 -1
  1405. package/src/navigation/block.json +5 -0
  1406. package/src/navigation/edit/index.js +184 -112
  1407. package/src/navigation/edit/navigation-menu-selector.js +134 -49
  1408. package/src/navigation/edit/overlay-menu-icon.js +10 -1
  1409. package/src/navigation/edit/overlay-menu-preview.js +57 -0
  1410. package/src/navigation/edit/responsive-wrapper.js +10 -4
  1411. package/src/navigation/edit/unsaved-inner-blocks.js +14 -24
  1412. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +27 -3
  1413. package/src/navigation/edit/use-create-navigation-menu.js +5 -2
  1414. package/src/navigation/editor.scss +21 -23
  1415. package/src/navigation/index.js +3 -0
  1416. package/src/navigation/index.php +50 -28
  1417. package/src/navigation/init.js +6 -0
  1418. package/src/navigation/style.scss +28 -4
  1419. package/src/navigation/test/use-navigation-menu.js +23 -6
  1420. package/src/navigation/use-navigation-menu.js +11 -6
  1421. package/src/navigation-link/block.json +14 -1
  1422. package/src/navigation-link/edit.js +1 -1
  1423. package/src/navigation-link/index.js +10 -6
  1424. package/src/navigation-link/index.php +1 -1
  1425. package/src/navigation-link/init.js +6 -0
  1426. package/src/navigation-submenu/edit.js +1 -1
  1427. package/src/navigation-submenu/index.js +3 -1
  1428. package/src/navigation-submenu/init.js +6 -0
  1429. package/src/nextpage/index.js +3 -0
  1430. package/src/nextpage/init.js +6 -0
  1431. package/src/nextpage/transforms.native.js +1 -1
  1432. package/src/page-list/index.js +3 -0
  1433. package/src/page-list/init.js +6 -0
  1434. package/src/paragraph/block.json +2 -0
  1435. package/src/paragraph/index.js +3 -0
  1436. package/src/paragraph/init.js +6 -0
  1437. package/src/paragraph/transforms.native.js +1 -1
  1438. package/src/pattern/index.js +3 -0
  1439. package/src/pattern/init.js +6 -0
  1440. package/src/post-author/edit.js +1 -2
  1441. package/src/post-author/index.js +8 -5
  1442. package/src/post-author/init.js +6 -0
  1443. package/src/post-author-biography/index.js +8 -5
  1444. package/src/post-author-biography/init.js +6 -0
  1445. package/src/post-author-name/index.js +8 -5
  1446. package/src/post-author-name/init.js +6 -0
  1447. package/src/post-comment/index.js +3 -0
  1448. package/src/post-comment/init.js +6 -0
  1449. package/src/post-comments-count/index.js +3 -0
  1450. package/src/post-comments-count/init.js +6 -0
  1451. package/src/post-comments-form/index.js +3 -0
  1452. package/src/post-comments-form/index.php +1 -1
  1453. package/src/post-comments-form/init.js +6 -0
  1454. package/src/post-comments-link/index.js +3 -0
  1455. package/src/post-comments-link/init.js +6 -0
  1456. package/src/post-content/block.json +14 -1
  1457. package/src/post-content/index.js +3 -0
  1458. package/src/post-content/init.js +6 -0
  1459. package/src/post-date/edit.js +1 -4
  1460. package/src/post-date/index.js +3 -0
  1461. package/src/post-date/init.js +6 -0
  1462. package/src/post-excerpt/block.json +4 -2
  1463. package/src/post-excerpt/index.js +3 -0
  1464. package/src/post-excerpt/init.js +6 -0
  1465. package/src/post-featured-image/block.json +16 -0
  1466. package/src/post-featured-image/edit.js +22 -2
  1467. package/src/post-featured-image/editor.scss +77 -70
  1468. package/src/post-featured-image/index.js +3 -0
  1469. package/src/post-featured-image/index.php +88 -7
  1470. package/src/post-featured-image/init.js +6 -0
  1471. package/src/post-featured-image/overlay.js +118 -0
  1472. package/src/post-featured-image/style.scss +22 -0
  1473. package/src/post-featured-image/utils.js +12 -0
  1474. package/src/post-navigation-link/index.js +3 -0
  1475. package/src/post-navigation-link/init.js +6 -0
  1476. package/src/post-template/edit.js +33 -2
  1477. package/src/post-template/index.js +3 -0
  1478. package/src/post-template/init.js +6 -0
  1479. package/src/post-terms/edit.js +0 -1
  1480. package/src/post-terms/index.js +10 -6
  1481. package/src/post-terms/init.js +6 -0
  1482. package/src/post-terms/use-post-terms.js +10 -15
  1483. package/src/post-title/index.js +3 -0
  1484. package/src/post-title/init.js +6 -0
  1485. package/src/preformatted/index.js +3 -0
  1486. package/src/preformatted/init.js +6 -0
  1487. package/src/preformatted/transforms.native.js +1 -1
  1488. package/src/pullquote/index.js +3 -0
  1489. package/src/pullquote/init.js +6 -0
  1490. package/src/pullquote/transforms.native.js +1 -1
  1491. package/src/query/block.json +3 -0
  1492. package/src/query/edit/inspector-controls/index.js +139 -113
  1493. package/src/query/index.js +6 -3
  1494. package/src/query/init.js +6 -0
  1495. package/src/query/utils.js +48 -1
  1496. package/src/query-no-results/block.json +13 -0
  1497. package/src/query-no-results/index.js +3 -0
  1498. package/src/query-no-results/init.js +6 -0
  1499. package/src/query-pagination/block.json +13 -0
  1500. package/src/query-pagination/edit.js +6 -5
  1501. package/src/query-pagination/index.js +3 -0
  1502. package/src/query-pagination/init.js +6 -0
  1503. package/src/query-pagination-next/block.json +4 -2
  1504. package/src/query-pagination-next/index.js +3 -0
  1505. package/src/query-pagination-next/init.js +6 -0
  1506. package/src/query-pagination-numbers/block.json +4 -2
  1507. package/src/query-pagination-numbers/index.js +3 -0
  1508. package/src/query-pagination-numbers/init.js +6 -0
  1509. package/src/query-pagination-previous/block.json +4 -2
  1510. package/src/query-pagination-previous/index.js +3 -0
  1511. package/src/query-pagination-previous/init.js +6 -0
  1512. package/src/query-title/block.json +1 -0
  1513. package/src/query-title/index.js +8 -5
  1514. package/src/query-title/init.js +6 -0
  1515. package/src/quote/block.json +4 -2
  1516. package/src/quote/index.js +3 -0
  1517. package/src/quote/init.js +6 -0
  1518. package/src/quote/transforms.js +10 -0
  1519. package/src/quote/transforms.native.js +1 -1
  1520. package/src/read-more/index.js +3 -0
  1521. package/src/read-more/init.js +6 -0
  1522. package/src/rss/index.js +3 -0
  1523. package/src/rss/init.js +6 -0
  1524. package/src/search/block.json +15 -0
  1525. package/src/search/edit.js +25 -5
  1526. package/src/search/index.js +3 -0
  1527. package/src/search/index.php +114 -9
  1528. package/src/search/init.js +6 -0
  1529. package/src/search/style.scss +4 -3
  1530. package/src/separator/index.js +3 -0
  1531. package/src/separator/init.js +6 -0
  1532. package/src/separator/style.scss +4 -0
  1533. package/src/separator/transforms.native.js +1 -1
  1534. package/src/shortcode/index.js +3 -0
  1535. package/src/shortcode/init.js +6 -0
  1536. package/src/shortcode/transforms.native.js +1 -1
  1537. package/src/site-logo/block.json +4 -0
  1538. package/src/site-logo/editor.scss +7 -0
  1539. package/src/site-logo/index.js +3 -0
  1540. package/src/site-logo/init.js +6 -0
  1541. package/src/site-logo/style.scss +2 -0
  1542. package/src/site-tagline/block.json +1 -0
  1543. package/src/site-tagline/index.js +3 -0
  1544. package/src/site-tagline/init.js +6 -0
  1545. package/src/site-title/block.json +1 -0
  1546. package/src/site-title/index.js +3 -0
  1547. package/src/site-title/init.js +6 -0
  1548. package/src/social-link/index.js +3 -0
  1549. package/src/social-link/init.js +6 -0
  1550. package/src/social-link/socials-without-bg.scss +1 -2
  1551. package/src/social-links/block.json +11 -1
  1552. package/src/social-links/edit.js +47 -20
  1553. package/src/social-links/index.js +3 -0
  1554. package/src/social-links/init.js +6 -0
  1555. package/src/social-links/style.scss +3 -0
  1556. package/src/spacer/index.js +3 -0
  1557. package/src/spacer/init.js +6 -0
  1558. package/src/table/block.json +3 -6
  1559. package/src/table/index.js +3 -0
  1560. package/src/table/init.js +6 -0
  1561. package/src/table/theme.scss +2 -0
  1562. package/src/table-of-contents/block.json +13 -0
  1563. package/src/table-of-contents/index.js +3 -0
  1564. package/src/table-of-contents/init.js +6 -0
  1565. package/src/tag-cloud/index.js +3 -0
  1566. package/src/tag-cloud/init.js +6 -0
  1567. package/src/template-part/edit/index.js +1 -10
  1568. package/src/template-part/index.js +36 -30
  1569. package/src/template-part/index.php +1 -1
  1570. package/src/template-part/init.js +6 -0
  1571. package/src/term-description/block.json +6 -0
  1572. package/src/term-description/index.js +3 -0
  1573. package/src/term-description/init.js +6 -0
  1574. package/src/text-columns/index.js +3 -0
  1575. package/src/text-columns/init.js +6 -0
  1576. package/src/text-columns/transforms.native.js +1 -1
  1577. package/src/utils/init-block.js +20 -0
  1578. package/src/utils/init-block.native.js +40 -0
  1579. package/src/{is-block-metadata-experimental.js → utils/is-block-metadata-experimental.js} +0 -0
  1580. package/src/utils/migrate-font-family.js +7 -15
  1581. package/src/{transformationCategories.native.js → utils/transformation-categories.native.js} +0 -0
  1582. package/src/verse/block.json +1 -0
  1583. package/src/verse/index.js +3 -0
  1584. package/src/verse/init.js +6 -0
  1585. package/src/verse/transforms.native.js +1 -1
  1586. package/src/video/block.json +7 -8
  1587. package/src/video/edit.js +6 -11
  1588. package/src/video/index.js +3 -0
  1589. package/src/video/init.js +6 -0
  1590. package/src/video/theme.scss +4 -0
  1591. package/src/video/transforms.native.js +1 -1
  1592. package/build/is-block-metadata-experimental.js.map +0 -1
  1593. package/build/list/v2/deprecated.js +0 -117
  1594. package/build/list/v2/deprecated.js.map +0 -1
  1595. package/build/list/v2/edit.js +0 -200
  1596. package/build/list/v2/edit.js.map +0 -1
  1597. package/build/list/v2/index.js +0 -36
  1598. package/build/list/v2/index.js.map +0 -1
  1599. package/build/list/v2/migrate.js.map +0 -1
  1600. package/build/list/v2/save.js +0 -34
  1601. package/build/list/v2/save.js.map +0 -1
  1602. package/build/list/v2/tag-name.js.map +0 -1
  1603. package/build/list/v2/tag-name.native.js.map +0 -1
  1604. package/build/list/v2/transforms.js +0 -137
  1605. package/build/list/v2/transforms.js.map +0 -1
  1606. package/build/transformationCategories.native.js.map +0 -1
  1607. package/build-module/is-block-metadata-experimental.js.map +0 -1
  1608. package/build-module/list/v2/deprecated.js +0 -104
  1609. package/build-module/list/v2/deprecated.js.map +0 -1
  1610. package/build-module/list/v2/edit.js +0 -179
  1611. package/build-module/list/v2/edit.js.map +0 -1
  1612. package/build-module/list/v2/index.js +0 -21
  1613. package/build-module/list/v2/index.js.map +0 -1
  1614. package/build-module/list/v2/migrate.js.map +0 -1
  1615. package/build-module/list/v2/save.js +0 -23
  1616. package/build-module/list/v2/save.js.map +0 -1
  1617. package/build-module/list/v2/tag-name.js.map +0 -1
  1618. package/build-module/list/v2/tag-name.native.js.map +0 -1
  1619. package/build-module/list/v2/transforms.js +0 -127
  1620. package/build-module/list/v2/transforms.js.map +0 -1
  1621. package/build-module/transformationCategories.native.js.map +0 -1
  1622. package/src/list/test/migrate.js +0 -158
  1623. package/src/list/v2/deprecated.js +0 -89
  1624. package/src/list/v2/edit.js +0 -192
  1625. package/src/list/v2/index.js +0 -22
  1626. package/src/list/v2/save.js +0 -18
  1627. package/src/list/v2/transforms.js +0 -120
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"names":["classnames","useState","useEffect","useRef","Platform","InspectorControls","BlockControls","useBlockProps","__experimentalRecursionProvider","RecursionProvider","__experimentalUseHasRecursion","useHasRecursion","store","blockEditorStore","withColors","PanelColorSettings","ContrastChecker","getColorClassName","Warning","__experimentalUseBlockOverlayActive","useBlockOverlayActive","EntityProvider","useDispatch","PanelBody","ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","ToolbarGroup","Button","Spinner","__","sprintf","speak","createBlock","useNavigationMenu","useNavigationEntities","Placeholder","ResponsiveWrapper","NavigationInnerBlocks","NavigationMenuSelector","NavigationMenuNameControl","UnsavedInnerBlocks","NavigationMenuDeleteControl","useNavigationNotice","OverlayMenuIcon","useConvertClassicToBlockMenu","CLASSIC_MENU_CONVERSION_ERROR","CLASSIC_MENU_CONVERSION_PENDING","CLASSIC_MENU_CONVERSION_SUCCESS","useCreateNavigationMenu","useInnerBlocks","detectColors","Navigation","attributes","setAttributes","clientId","isSelected","className","backgroundColor","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","hasSubmenuIndicatorSetting","hasColorSettings","customPlaceholder","CustomPlaceholder","openSubmenusOnClick","overlayMenu","showSubmenuIcon","layout","justifyContent","orientation","flexWrap","hasIcon","ref","setRef","postId","recursionId","hasAlreadyRendered","showNavigationMenuStatusNotice","hideNavigationMenuStatusNotice","name","showClassicMenuConversionNotice","hideClassicMenuConversionNotice","showNavigationMenuPermissionsNotice","hideNavigationMenuPermissionsNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isPending","isCreatingNavigationMenu","isSuccess","createNavigationMenuIsSuccess","isError","createNavigationMenuIsError","id","selectBlock","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","innerBlocks","hasSubmenus","find","block","replaceInnerBlocks","__unstableMarkNextChangeAsNotPersistent","hasSavedUnsavedInnerBlocks","setHasSavedUnsavedInnerBlocks","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","navigationMenus","navigationMenu","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","hasResolvedCanUserCreateNavigationMenu","navMenuResolvedButMissing","length","sort","menuA","menuB","menuADate","Date","date","menuBDate","getTime","navRef","isDraftNavigationMenu","convert","convertClassicMenu","classicMenuConversionStatus","classicMenuConversionError","isConvertingClassicMenu","TagName","isPlaceholder","isEntityAvailable","isLoading","textDecoration","style","typography","hasBlockOverlay","blockProps","color","class","slug","enableContrastChecking","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","handleUpdateMenu","menuId","current","subMenuElement","querySelector","navigationSelectorRef","shouldFocusNavigationSelector","setShouldFocusNavigationSelector","focus","isResponsive","overlayMenuPreviewClasses","open","stylingInspectorControls","onChange","label","hasUnsavedBlocks","classicMenu","navMenu","post","PlaceholderComponent","deletedMenuTitle"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect, useRef, Platform } from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n\tstore as blockEditorStore,\n\twithColors,\n\tPanelColorSettings,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalUseBlockOverlayActive as useBlockOverlayActive,\n} from '@wordpress/block-editor';\nimport { EntityProvider } from '@wordpress/core-data';\n\nimport { useDispatch } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToolbarGroup,\n\tButton,\n\tSpinner,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuSelector from './navigation-menu-selector';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuIcon from './overlay-menu-icon';\nimport useConvertClassicToBlockMenu, {\n\tCLASSIC_MENU_CONVERSION_ERROR,\n\tCLASSIC_MENU_CONVERSION_PENDING,\n\tCLASSIC_MENU_CONVERSION_SUCCESS,\n} from './use-convert-classic-menu-to-block-menu';\nimport useCreateNavigationMenu from './use-create-navigation-menu';\nimport { useInnerBlocks } from './use-inner-blocks';\nimport { detectColors } from './utils';\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\thasColorSettings = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst setRef = ( postId ) => {\n\t\tsetAttributes( { ref: postId } );\n\t};\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\tconst hasAlreadyRendered = useHasRecursion( recursionId );\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tuseNavigationEntities();\n\n\tconst [ 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\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\tsetRef( createNavigationMenuPost.id );\n\t\t\tselectBlock( clientId );\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\tcreateNavigationMenu,\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost,\n\t] );\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\tinnerBlocks,\n\t} = useInnerBlocks( clientId );\n\n\tconst hasSubmenus = !! innerBlocks.find(\n\t\t( block ) => block.name === 'core/navigation-submenu'\n\t);\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [ hasSavedUnsavedInnerBlocks, setHasSavedUnsavedInnerBlocks ] =\n\t\tuseState( false );\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\tnavigationMenus,\n\t\tnavigationMenu,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\tisResolvingCanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t} = useNavigationMenu( ref );\n\n\tconst navMenuResolvedButMissing =\n\t\thasResolvedNavigationMenus && isNavigationMenuMissing;\n\n\t// Attempt to retrieve and prioritize any existing navigation menu unless:\n\t// - the are uncontrolled inner blocks already present in the block.\n\t// - the user is creating a new menu.\n\t// - there are no menus to choose from.\n\t// This attempts to pick the first menu if there is a single Navigation Post. If more\n\t// than 1 exists then use the most recent.\n\t// The aim is for the block to \"just work\" from a user perspective using existing data.\n\tuseEffect( () => {\n\t\tif (\n\t\t\thasUncontrolledInnerBlocks ||\n\t\t\tisCreatingNavigationMenu ||\n\t\t\tref ||\n\t\t\t! navigationMenus?.length\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tnavigationMenus.sort( ( menuA, menuB ) => {\n\t\t\tconst menuADate = new Date( menuA.date );\n\t\t\tconst menuBDate = new Date( menuB.date );\n\t\t\treturn menuADate.getTime() < menuBDate.getTime();\n\t\t} );\n\n\t\t/**\n\t\t * This fallback displays (both in editor and on front)\n\t\t * a list of pages only if no menu (user assigned or\n\t\t * automatically picked) is available.\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\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( navigationMenus[ 0 ].id );\n\t}, [ navigationMenus ] );\n\n\tconst navRef = useRef();\n\n\tconst isDraftNavigationMenu = navigationMenu?.status === 'draft';\n\n\tconst {\n\t\tconvert: convertClassicMenu,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t} = useConvertClassicToBlockMenu( clientId );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\t// The standard HTML5 tag for the block wrapper.\n\tconst TagName = 'nav';\n\n\t// \"placeholder\" shown if:\n\t// - there is no ref attribute pointing to a Navigation Post.\n\t// - there is no classic menu conversion process in progress.\n\t// - there is no menu creation process in progress.\n\t// - there are no uncontrolled blocks.\n\tconst isPlaceholder =\n\t\t! ref &&\n\t\t! isCreatingNavigationMenu &&\n\t\t! isConvertingClassicMenu &&\n\t\thasResolvedNavigationMenus &&\n\t\t! hasUncontrolledInnerBlocks;\n\n\tif ( isPlaceholder && ! ref ) {\n\t\t/**\n\t\t * this fallback only displays (both in editor and on front)\n\t\t * the list of pages block if no menu is available as a fallback.\n\t\t * We don't want the fallback to request a save,\n\t\t * nor to be undoable, hence we mark it non persistent.\n\t\t */\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\treplaceInnerBlocks( clientId, [ createBlock( 'core/page-list' ) ] );\n\t}\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\t// \"loading\" state:\n\t// - there is a menu creation process in progress.\n\t// - there is a classic menu conversion process in progress.\n\t// OR:\n\t// - there is a ref attribute pointing to a Navigation Post\n\t// - the Navigation Post isn't available (hasn't resolved) yet.\n\tconst isLoading =\n\t\t! hasResolvedNavigationMenus ||\n\t\tisCreatingNavigationMenu ||\n\t\tisConvertingClassicMenu ||\n\t\t!! ( ref && ! isEntityAvailable && ! isConvertingClassicMenu );\n\n\tconst textDecoration = attributes.style?.typography?.textDecoration;\n\n\tconst hasBlockOverlay = useBlockOverlayActive( clientId );\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: classnames( className, {\n\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t'items-justified-space-between': justifyContent === 'space-between',\n\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t'is-responsive': 'never' !== overlayMenu,\n\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t[ getColorClassName( 'color', textColor?.slug ) ]:\n\t\t\t\t!! textColor?.slug,\n\t\t\t'has-background': !! backgroundColor.color || backgroundColor.class,\n\t\t\t[ getColorClassName( 'background-color', backgroundColor?.slug ) ]:\n\t\t\t\t!! backgroundColor?.slug,\n\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t\t'block-editor-block-content-overlay': hasBlockOverlay,\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\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\tconst handleUpdateMenu = ( menuId ) => {\n\t\tsetRef( menuId );\n\t\tselectBlock( clientId );\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}\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}, [ classicMenuConversionStatus, classicMenuConversionError ] );\n\n\t// Spacer block needs orientation from context. This is a patch until\n\t// https://github.com/WordPress/gutenberg/issues/36197 is addressed.\n\tuseEffect( () => {\n\t\tif ( orientation ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { orientation } );\n\t\t}\n\t}, [ orientation ] );\n\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-link\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\t\tif ( subMenuElement ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t} );\n\n\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\thasResolvedCanUserCreateNavigationMenu &&\n\t\t\t\t! canUserCreateNavigationMenu\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\tcanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t\tref,\n\t] );\n\n\tconst navigationSelectorRef = useRef();\n\tconst [ shouldFocusNavigationSelector, setShouldFocusNavigationSelector ] =\n\t\tuseState( false );\n\n\t// Focus support after menu selection.\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisDraftNavigationMenu ||\n\t\t\t! isEntityAvailable ||\n\t\t\t! shouldFocusNavigationSelector\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tnavigationSelectorRef?.current?.focus();\n\t\tsetShouldFocusNavigationSelector( false );\n\t}, [\n\t\tisDraftNavigationMenu,\n\t\tisEntityAvailable,\n\t\tshouldFocusNavigationSelector,\n\t] );\n\n\tconst isResponsive = 'never' !== overlayMenu;\n\n\tconst overlayMenuPreviewClasses = classnames(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tconst stylingInspectorControls = (\n\t\t<InspectorControls>\n\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetOverlayMenuPreview( ! overlayMenuPreview );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ hasIcon && <OverlayMenuIcon /> }\n\t\t\t\t\t\t\t{ ! hasIcon && <span>{ __( 'Menu' ) }</span> }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show icon button' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Configure the visual appearance of the button opening the overlay menu.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { hasIcon: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ hasIcon }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdisabled={ attributes.openSubmenusOnClick }\n\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t\t{ hasColorSettings && (\n\t\t\t\t<PanelColorSettings\n\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\tcolorSettings={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: textColor.color,\n\t\t\t\t\t\t\tonChange: setTextColor,\n\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: backgroundColor.color,\n\t\t\t\t\t\t\tonChange: setBackgroundColor,\n\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: overlayTextColor.color,\n\t\t\t\t\t\t\tonChange: setOverlayTextColor,\n\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\tonChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelColorSettings>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n\n\t// If the block has inner blocks, but no menu id, then these blocks are either:\n\t// - inserted via a pattern.\n\t// - inserted directly via Code View (or otherwise).\n\t// - from an older version of navigation block added before the block used a wp_navigation entity.\n\t// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu as an entity when changes are made to the inner blocks.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\tif ( hasUnsavedBlocks ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup className=\"wp-block-navigation__toolbar-menu-selector\">\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tref={ null }\n\t\t\t\t\t\t\tcurrentMenuId={ null }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\t\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\t\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\t\t\t\t\tclassicMenu.name\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif ( navMenu ) {\n\t\t\t\t\t\t\t\t\thandleUpdateMenu( navMenu.id );\n\t\t\t\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonCreateNew={ () => createNavigationMenu( '', [] ) }\n\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t\t\t\t\tshowManageActions\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t\t{ stylingInspectorControls }\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\tisResponsive={ 'never' !== overlayMenu }\n\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t\thasSavedUnsavedInnerBlocks={\n\t\t\t\t\t\t\thasSavedUnsavedInnerBlocks\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSave={ ( post ) => {\n\t\t\t\t\t\t\t// Set some state used as a guard to prevent the creation of multiple posts.\n\t\t\t\t\t\t\tsetHasSavedUnsavedInnerBlocks( true );\n\t\t\t\t\t\t\t// Switch to using the wp_navigation entity.\n\t\t\t\t\t\t\tsetRef( post.id );\n\n\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t__( `New Navigation Menu created.` )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup className=\"wp-block-navigation__toolbar-menu-selector\">\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tref={ navigationSelectorRef }\n\t\t\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\t\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\t\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\t\t\t\t\tclassicMenu.name\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif ( navMenu ) {\n\t\t\t\t\t\t\t\t\thandleUpdateMenu( navMenu.id );\n\t\t\t\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonCreateNew={ () => createNavigationMenu( '', [] ) }\n\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t\t\t\t\tshowManageActions\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Navigation menu has been deleted or is unavailable. '\n\t\t\t\t\t) }\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ () => createNavigationMenu( '', [] ) }\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Create a new menu?' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</Warning>\n\t\t\t</TagName>\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\tcanUserCreateNavigationMenu={ canUserCreateNavigationMenu }\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenu={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenu\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t} }\n\t\t\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\t\t\tclassicMenu.name\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( navMenu ) {\n\t\t\t\t\t\t\thandleUpdateMenu( navMenu.id );\n\t\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tonCreateEmpty={ () => createNavigationMenu( '', [] ) }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider uniqueId={ recursionId }>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ ! isDraftNavigationMenu && isEntityAvailable && (\n\t\t\t\t\t\t<ToolbarGroup className=\"wp-block-navigation__toolbar-menu-selector\">\n\t\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\t\tref={ navigationSelectorRef }\n\t\t\t\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\t\t\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t\t\t\t\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\t\t\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\t\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\t\t\t\t\t\tclassicMenu.name\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tif ( navMenu ) {\n\t\t\t\t\t\t\t\t\t\thandleUpdateMenu( navMenu.id );\n\t\t\t\t\t\t\t\t\t\tsetShouldFocusNavigationSelector(\n\t\t\t\t\t\t\t\t\t\t\ttrue\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\tonCreateNew={ () =>\n\t\t\t\t\t\t\t\t\tcreateNavigationMenu( '', [] )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t\t\t\t\t\tshowManageActions\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t\t{ stylingInspectorControls }\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ ( deletedMenuTitle = '' ) => {\n\t\t\t\t\t\t\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Navigation menu %s successfully deleted.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tdeletedMenuTitle\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\n\t\t\t\t{ isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\n\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\tlabel={ __( 'Menu' ) }\n\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"names":["classnames","useState","useEffect","useRef","Platform","addQueryArgs","InspectorControls","useBlockProps","__experimentalRecursionProvider","RecursionProvider","__experimentalUseHasRecursion","useHasRecursion","store","blockEditorStore","withColors","PanelColorSettings","ContrastChecker","getColorClassName","Warning","__experimentalUseBlockOverlayActive","useBlockOverlayActive","EntityProvider","coreStore","useDispatch","PanelBody","ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","Button","Spinner","__","sprintf","speak","createBlock","close","Icon","useNavigationMenu","useNavigationEntities","Placeholder","ResponsiveWrapper","NavigationInnerBlocks","NavigationMenuSelector","NavigationMenuNameControl","UnsavedInnerBlocks","NavigationMenuDeleteControl","useNavigationNotice","OverlayMenuIcon","OverlayMenuPreview","useConvertClassicToBlockMenu","CLASSIC_MENU_CONVERSION_ERROR","CLASSIC_MENU_CONVERSION_PENDING","CLASSIC_MENU_CONVERSION_SUCCESS","useCreateNavigationMenu","useInnerBlocks","detectColors","Navigation","attributes","setAttributes","clientId","isSelected","className","backgroundColor","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","hasSubmenuIndicatorSetting","hasColorSettings","customPlaceholder","CustomPlaceholder","openSubmenusOnClick","overlayMenu","showSubmenuIcon","layout","justifyContent","orientation","flexWrap","hasIcon","icon","ref","setRef","postId","recursionId","hasAlreadyRendered","editEntityRecord","showNavigationMenuStatusNotice","hideNavigationMenuStatusNotice","name","showClassicMenuConversionNotice","hideClassicMenuConversionNotice","showMenuAutoPublishDraftNotice","hideMenuAutoPublishDraftNotice","showNavigationMenuPermissionsNotice","hideNavigationMenuPermissionsNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isPending","isCreatingNavigationMenu","isSuccess","createNavigationMenuIsSuccess","isError","createNavigationMenuIsError","createUntitledEmptyNavigationMenu","handleUpdateMenu","id","focusNavigationBlock","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","innerBlocks","hasSubmenus","find","block","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","hasSavedUnsavedInnerBlocks","setHasSavedUnsavedInnerBlocks","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","navigationMenus","navigationMenu","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","hasResolvedCanUserCreateNavigationMenu","navMenuResolvedButMissing","length","sort","menuA","menuB","menuADate","Date","date","menuBDate","getTime","fallbackNavigationMenus","filter","menu","navRef","convert","convertClassicMenu","classicMenuConversionStatus","classicMenuConversionError","isConvertingClassicMenu","TagName","isPlaceholder","isEntityAvailable","isLoading","textDecoration","style","typography","hasBlockOverlay","blockProps","color","class","slug","enableContrastChecking","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","menuId","options","current","subMenuElement","querySelector","hasManagePermissions","isResponsive","overlayMenuPreviewClasses","open","isDraftNavigationMenu","throwOnError","stylingInspectorControls","onChange","label","hasUnsavedBlocks","classicMenu","navMenu","post_type","post","PlaceholderComponent","deletedMenuTitle"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect, useRef, Platform } from '@wordpress/element';\nimport { addQueryArgs } from '@wordpress/url';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n\tstore as blockEditorStore,\n\twithColors,\n\tPanelColorSettings,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalUseBlockOverlayActive as useBlockOverlayActive,\n} from '@wordpress/block-editor';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\n\nimport { useDispatch } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tButton,\n\tSpinner,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { createBlock } from '@wordpress/blocks';\nimport { close, Icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuSelector from './navigation-menu-selector';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuIcon from './overlay-menu-icon';\nimport OverlayMenuPreview from './overlay-menu-preview';\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';\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\thasColorSettings = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t\ticon = 'handle',\n\t} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst setRef = ( postId ) => {\n\t\tsetAttributes( { ref: postId } );\n\t};\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\tconst hasAlreadyRendered = useHasRecursion( recursionId );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tuseNavigationEntities();\n\n\tconst [ 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 [ showMenuAutoPublishDraftNotice, hideMenuAutoPublishDraftNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/auto-publish-draft',\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 = () => {\n\t\tcreateNavigationMenu( '' );\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,\n\t] );\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\tinnerBlocks,\n\t} = useInnerBlocks( clientId );\n\n\tconst hasSubmenus = !! innerBlocks.find(\n\t\t( block ) => block.name === 'core/navigation-submenu'\n\t);\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [ hasSavedUnsavedInnerBlocks, setHasSavedUnsavedInnerBlocks ] =\n\t\tuseState( false );\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\tnavigationMenus,\n\t\tnavigationMenu,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\tisResolvingCanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t} = useNavigationMenu( ref );\n\n\tconst navMenuResolvedButMissing =\n\t\thasResolvedNavigationMenus && isNavigationMenuMissing;\n\n\t// Attempt to retrieve and prioritize any existing navigation menu unless:\n\t// - the are uncontrolled inner blocks already present in the block.\n\t// - the user is creating a new menu.\n\t// - there are no menus to choose from.\n\t// This attempts to pick the first menu if there is a single Navigation Post. If more\n\t// than 1 exists then use the most recent.\n\t// The aim is for the block to \"just work\" from a user perspective using existing data.\n\tuseEffect( () => {\n\t\tif (\n\t\t\thasUncontrolledInnerBlocks ||\n\t\t\tisCreatingNavigationMenu ||\n\t\t\tref ||\n\t\t\t! navigationMenus?.length\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tnavigationMenus.sort( ( menuA, menuB ) => {\n\t\t\tconst menuADate = new Date( menuA.date );\n\t\t\tconst menuBDate = new Date( menuB.date );\n\t\t\treturn menuADate.getTime() < menuBDate.getTime();\n\t\t} );\n\n\t\t// Only autofallback to published menus.\n\t\tconst fallbackNavigationMenus = navigationMenus.filter(\n\t\t\t( menu ) => menu.status === 'publish'\n\t\t);\n\t\tif ( fallbackNavigationMenus.length === 0 ) return;\n\n\t\t/**\n\t\t * This fallback displays (both in editor and on front)\n\t\t * a list of pages only if no menu (user assigned or\n\t\t * automatically picked) is available.\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\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( fallbackNavigationMenus[ 0 ].id );\n\t}, [ navigationMenus ] );\n\n\tconst navRef = useRef();\n\n\tconst {\n\t\tconvert: convertClassicMenu,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t} = useConvertClassicToBlockMenu( clientId );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\t// The standard HTML5 tag for the block wrapper.\n\tconst TagName = 'nav';\n\n\t// \"placeholder\" shown if:\n\t// - there is no ref attribute pointing to a Navigation Post.\n\t// - there is no classic menu conversion process in progress.\n\t// - there is no menu creation process in progress.\n\t// - there are no uncontrolled blocks.\n\tconst isPlaceholder =\n\t\t! ref &&\n\t\t! isCreatingNavigationMenu &&\n\t\t! isConvertingClassicMenu &&\n\t\thasResolvedNavigationMenus &&\n\t\t! hasUncontrolledInnerBlocks;\n\n\tif ( isPlaceholder && ! ref ) {\n\t\t/**\n\t\t * this fallback only displays (both in editor and on front)\n\t\t * the list of pages block if no menu is available as a fallback.\n\t\t * We don't want the fallback to request a save,\n\t\t * nor to be undoable, hence we mark it non persistent.\n\t\t */\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\treplaceInnerBlocks( clientId, [ createBlock( 'core/page-list' ) ] );\n\t}\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\t// \"loading\" state:\n\t// - there is a menu creation process in progress.\n\t// - there is a classic menu conversion process in progress.\n\t// OR:\n\t// - there is a ref attribute pointing to a Navigation Post\n\t// - the Navigation Post isn't available (hasn't resolved) yet.\n\tconst isLoading =\n\t\t! hasResolvedNavigationMenus ||\n\t\tisCreatingNavigationMenu ||\n\t\tisConvertingClassicMenu ||\n\t\t!! ( ref && ! isEntityAvailable && ! isConvertingClassicMenu );\n\n\tconst textDecoration = attributes.style?.typography?.textDecoration;\n\n\tconst hasBlockOverlay = useBlockOverlayActive( clientId );\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: classnames( className, {\n\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t'items-justified-space-between': justifyContent === 'space-between',\n\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t'is-responsive': 'never' !== overlayMenu,\n\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t[ getColorClassName( 'color', textColor?.slug ) ]:\n\t\t\t\t!! textColor?.slug,\n\t\t\t'has-background': !! backgroundColor.color || backgroundColor.class,\n\t\t\t[ getColorClassName( 'background-color', backgroundColor?.slug ) ]:\n\t\t\t\t!! backgroundColor?.slug,\n\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t\t'block-editor-block-content-overlay': hasBlockOverlay,\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\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\tconst handleUpdateMenu = (\n\t\tmenuId,\n\t\toptions = { focusNavigationBlock: false }\n\t) => {\n\t\tconst { focusNavigationBlock } = options;\n\t\tsetRef( menuId );\n\t\tif ( focusNavigationBlock ) {\n\t\t\tselectBlock( clientId );\n\t\t}\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}\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}, [ classicMenuConversionStatus, classicMenuConversionError ] );\n\n\t// Spacer block needs orientation from context. This is a patch until\n\t// https://github.com/WordPress/gutenberg/issues/36197 is addressed.\n\tuseEffect( () => {\n\t\tif ( orientation ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { orientation } );\n\t\t}\n\t}, [ orientation ] );\n\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-link\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\t\tif ( subMenuElement ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t} );\n\n\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\thasResolvedCanUserCreateNavigationMenu &&\n\t\t\t\t! canUserCreateNavigationMenu\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\tcanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t\tref,\n\t] );\n\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenu || canUserUpdateNavigationMenu;\n\tconst isResponsive = 'never' !== overlayMenu;\n\n\tconst overlayMenuPreviewClasses = classnames(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\t// Prompt the user to publish the menu they have set as a draft\n\tconst isDraftNavigationMenu = navigationMenu?.status === 'draft';\n\tuseEffect( async () => {\n\t\thideMenuAutoPublishDraftNotice();\n\t\tif ( ! isDraftNavigationMenu ) return;\n\t\ttry {\n\t\t\tawait editEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_navigation',\n\t\t\t\tnavigationMenu?.id,\n\t\t\t\t{\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\t\t} catch {\n\t\t\tshowMenuAutoPublishDraftNotice(\n\t\t\t\t__( 'Error ocurred while publishing the navigation menu.' )\n\t\t\t);\n\t\t}\n\t}, [ isDraftNavigationMenu, navigationMenu ] );\n\n\tconst stylingInspectorControls = (\n\t\t<InspectorControls>\n\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ hasIcon && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<OverlayMenuIcon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ close } />\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{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Close' ) }</span>\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</Button>\n\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t<OverlayMenuPreview\n\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\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/>\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<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdisabled={ attributes.openSubmenusOnClick }\n\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t\t{ hasColorSettings && (\n\t\t\t\t<PanelColorSettings\n\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\tcolorSettings={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: textColor.color,\n\t\t\t\t\t\t\tonChange: setTextColor,\n\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: backgroundColor.color,\n\t\t\t\t\t\t\tonChange: setBackgroundColor,\n\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: overlayTextColor.color,\n\t\t\t\t\t\t\tonChange: setOverlayTextColor,\n\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\tonChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelColorSettings>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n\n\t// If the block has inner blocks, but no menu id, then these blocks are either:\n\t// - inserted via a pattern.\n\t// - inserted directly via Code View (or otherwise).\n\t// - from an older version of navigation block added before the block used a wp_navigation entity.\n\t// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu as an entity when changes are made to the inner blocks.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\tif ( hasUnsavedBlocks ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Menu' ) }>\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\t\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\t\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\t\t\t\t\tclassicMenu.name\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif ( navMenu ) {\n\t\t\t\t\t\t\t\t\thandleUpdateMenu( navMenu.id, {\n\t\t\t\t\t\t\t\t\t\tfocusNavigationBlock: true,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t! hasManagePermissions ||\n\t\t\t\t\t\t\t\t! hasResolvedNavigationMenus\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thref={ addQueryArgs( 'edit.php', {\n\t\t\t\t\t\t\t\tpost_type: 'wp_navigation',\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Manage menus' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ stylingInspectorControls }\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tisResponsive={ 'never' !== overlayMenu }\n\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t\thasSavedUnsavedInnerBlocks={\n\t\t\t\t\t\t\thasSavedUnsavedInnerBlocks\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSave={ ( post ) => {\n\t\t\t\t\t\t\t// Set some state used as a guard to prevent the creation of multiple posts.\n\t\t\t\t\t\t\tsetHasSavedUnsavedInnerBlocks( true );\n\t\t\t\t\t\t\t// Switch to using the wp_navigation entity.\n\t\t\t\t\t\t\tsetRef( post.id );\n\n\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t__( `New Navigation Menu created.` )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Menu' ) }>\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tcurrentMenuId={ null }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\t\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\t\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\t\t\t\t\tclassicMenu.name\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif ( navMenu ) {\n\t\t\t\t\t\t\t\t\thandleUpdateMenu( navMenu.id, {\n\t\t\t\t\t\t\t\t\t\tfocusNavigationBlock: true,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t! hasManagePermissions ||\n\t\t\t\t\t\t\t\t! hasResolvedNavigationMenus\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thref={ addQueryArgs( 'edit.php', {\n\t\t\t\t\t\t\t\tpost_type: 'wp_navigation',\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Manage menus' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Navigation menu has been deleted or is unavailable. '\n\t\t\t\t\t) }\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Create a new menu?' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</Warning>\n\t\t\t</TagName>\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\tcanUserCreateNavigationMenu={ canUserCreateNavigationMenu }\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenu={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenu\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t\t\t} }\n\t\t\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\t\t\tclassicMenu.name\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( navMenu ) {\n\t\t\t\t\t\t\thandleUpdateMenu( navMenu.id, {\n\t\t\t\t\t\t\t\tfocusNavigationBlock: true,\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\tonCreateEmpty={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider uniqueId={ recursionId }>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Menu' ) }>\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\t\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\t\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\t\t\t\t\tclassicMenu.name\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif ( navMenu ) {\n\t\t\t\t\t\t\t\t\thandleUpdateMenu( navMenu.id, {\n\t\t\t\t\t\t\t\t\t\tfocusNavigationBlock: true,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcreateNavigationMenuIsError={\n\t\t\t\t\t\t\t\tcreateNavigationMenuIsError\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t! hasManagePermissions ||\n\t\t\t\t\t\t\t\t! hasResolvedNavigationMenus\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thref={ addQueryArgs( 'edit.php', {\n\t\t\t\t\t\t\t\tpost_type: 'wp_navigation',\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Manage menus' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ stylingInspectorControls }\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ ( deletedMenuTitle = '' ) => {\n\t\t\t\t\t\t\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Navigation menu %s successfully deleted.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tdeletedMenuTitle\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\n\t\t\t\t{ isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\n\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\tlabel={ __( 'Menu' ) }\n\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"]}
@@ -3,11 +3,12 @@ import { createElement, Fragment } from "@wordpress/element";
3
3
  /**
4
4
  * WordPress dependencies
5
5
  */
6
- import { MenuGroup, MenuItem, MenuItemsChoice, ToolbarDropdownMenu } from '@wordpress/components';
6
+ import { MenuGroup, MenuItem, MenuItemsChoice, DropdownMenu, Button, VisuallyHidden } from '@wordpress/components';
7
+ import { useEntityProp } from '@wordpress/core-data';
8
+ import { Icon, chevronUp, chevronDown } from '@wordpress/icons';
7
9
  import { __, sprintf } from '@wordpress/i18n';
8
10
  import { decodeEntities } from '@wordpress/html-entities';
9
- import { addQueryArgs } from '@wordpress/url';
10
- import { forwardRef, useMemo } from '@wordpress/element';
11
+ import { useEffect, useMemo, useState } from '@wordpress/element';
11
12
  /**
12
13
  * Internal dependencies
13
14
  */
@@ -15,30 +16,38 @@ import { forwardRef, useMemo } from '@wordpress/element';
15
16
  import useNavigationMenu from '../use-navigation-menu';
16
17
  import useNavigationEntities from '../use-navigation-entities';
17
18
 
18
- function NavigationMenuSelector(_ref, forwardedRef) {
19
+ function NavigationMenuSelector(_ref) {
19
20
  let {
20
21
  currentMenuId,
21
22
  onSelectNavigationMenu,
22
23
  onSelectClassicMenu,
23
24
  onCreateNew,
24
- showManageActions = false,
25
25
  actionLabel,
26
+ createNavigationMenuIsSuccess,
27
+ createNavigationMenuIsError,
26
28
  toggleProps = {}
27
29
  } = _ref;
28
30
 
29
31
  /* translators: %s: The name of a menu. */
30
32
  const createActionLabel = __("Create from '%s'");
31
33
 
34
+ const [selectorLabel, setSelectorLabel] = useState('');
35
+ const [isPressed, setIsPressed] = useState(false);
36
+ const [enableOptions, setEnableOptions] = useState(false);
37
+ const [isCreatingMenu, setIsCreatingMenu] = useState(false);
32
38
  actionLabel = actionLabel || createActionLabel;
33
39
  const {
34
40
  menus: classicMenus
35
41
  } = useNavigationEntities();
36
42
  const {
37
43
  navigationMenus,
44
+ hasResolvedNavigationMenus,
45
+ isNavigationMenuResolved,
38
46
  canUserCreateNavigationMenu,
39
- canUserUpdateNavigationMenu,
40
47
  canSwitchNavigationMenu
41
48
  } = useNavigationMenu();
49
+ const [currentTitle] = useEntityProp('postType', 'wp_navigation', 'title');
50
+ const shouldEnableMenuSelector = (canSwitchNavigationMenu || canUserCreateNavigationMenu) && hasResolvedNavigationMenus && !isCreatingMenu;
42
51
  const menuChoices = useMemo(() => {
43
52
  return (navigationMenus === null || navigationMenus === void 0 ? void 0 : navigationMenus.map(_ref2 => {
44
53
  let {
@@ -46,31 +55,73 @@ function NavigationMenuSelector(_ref, forwardedRef) {
46
55
  title
47
56
  } = _ref2;
48
57
  const label = decodeEntities(title.rendered);
58
+
59
+ if (id === currentMenuId && !isCreatingMenu) {
60
+ setSelectorLabel(currentTitle);
61
+ setEnableOptions(shouldEnableMenuSelector);
62
+ }
63
+
49
64
  return {
50
65
  value: id,
51
66
  label,
52
67
  ariaLabel: sprintf(actionLabel, label)
53
68
  };
54
69
  })) || [];
55
- }, [navigationMenus]);
70
+ }, [currentTitle, currentMenuId, navigationMenus, createNavigationMenuIsSuccess, isNavigationMenuResolved, hasResolvedNavigationMenus]);
56
71
  const hasNavigationMenus = !!(navigationMenus !== null && navigationMenus !== void 0 && navigationMenus.length);
57
72
  const hasClassicMenus = !!(classicMenus !== null && classicMenus !== void 0 && classicMenus.length);
58
73
  const showNavigationMenus = !!canSwitchNavigationMenu;
59
74
  const showClassicMenus = !!canUserCreateNavigationMenu;
60
- const hasManagePermissions = canUserCreateNavigationMenu || canUserUpdateNavigationMenu; // Show the selector if:
61
- // - has switch or create permissions and there are block or classic menus.
62
- // - user has create or update permissions and component should show the menu actions.
75
+ const noMenuSelected = hasNavigationMenus && !currentMenuId;
76
+ const noBlockMenus = !hasNavigationMenus && hasResolvedNavigationMenus;
77
+ const menuUnavailable = hasResolvedNavigationMenus && currentMenuId === null;
78
+ useEffect(() => {
79
+ if (!hasResolvedNavigationMenus) {
80
+ setSelectorLabel(__('Loading …'));
81
+ } else if (noMenuSelected || noBlockMenus || menuUnavailable) {
82
+ setSelectorLabel(__('Select menu'));
83
+ setEnableOptions(shouldEnableMenuSelector);
84
+ }
63
85
 
64
- const showSelectMenus = (canSwitchNavigationMenu || canUserCreateNavigationMenu) && (hasNavigationMenus || hasClassicMenus) || hasManagePermissions && showManageActions;
86
+ if (isCreatingMenu && (createNavigationMenuIsSuccess || createNavigationMenuIsError)) {
87
+ setIsCreatingMenu(false);
88
+ }
89
+ }, [currentMenuId, hasNavigationMenus, hasResolvedNavigationMenus, createNavigationMenuIsSuccess, isNavigationMenuResolved]);
90
+ toggleProps = { ...toggleProps,
91
+ className: 'wp-block-navigation__navigation-selector-button',
92
+ children: createElement(Fragment, null, createElement(VisuallyHidden, {
93
+ as: "span"
94
+ }, __('Select Menu')), createElement(Icon, {
95
+ icon: isPressed ? chevronUp : chevronDown,
96
+ className: "wp-block-navigation__navigation-selector-button__icon"
97
+ })),
98
+ isBusy: !enableOptions,
99
+ disabled: !enableOptions,
100
+ __experimentalIsFocusable: true,
101
+ onClick: () => {
102
+ setIsPressed(!isPressed);
103
+ }
104
+ };
65
105
 
66
- if (!showSelectMenus) {
67
- return null;
106
+ if (!hasNavigationMenus && !hasClassicMenus) {
107
+ return createElement(Button, {
108
+ className: "wp-block-navigation__navigation-selector-button--createnew",
109
+ isBusy: !enableOptions,
110
+ disabled: !enableOptions,
111
+ __experimentalIsFocusable: true,
112
+ onClick: () => {
113
+ onCreateNew();
114
+ setIsCreatingMenu(true);
115
+ setSelectorLabel(__('Loading …'));
116
+ setEnableOptions(false);
117
+ }
118
+ }, __('Create new menu'));
68
119
  }
69
120
 
70
- return createElement(ToolbarDropdownMenu, {
71
- ref: forwardedRef,
72
- label: __('Select Menu'),
73
- text: __('Select Menu'),
121
+ return createElement(DropdownMenu, {
122
+ className: "wp-block-navigation__navigation-selector",
123
+ label: selectorLabel,
124
+ text: selectorLabel,
74
125
  icon: null,
75
126
  toggleProps: toggleProps
76
127
  }, _ref3 => {
@@ -82,33 +133,36 @@ function NavigationMenuSelector(_ref, forwardedRef) {
82
133
  }, createElement(MenuItemsChoice, {
83
134
  value: currentMenuId,
84
135
  onSelect: menuId => {
85
- onClose();
86
136
  onSelectNavigationMenu(menuId);
87
137
  },
88
138
  choices: menuChoices
89
139
  })), showClassicMenus && hasClassicMenus && createElement(MenuGroup, {
90
- label: __('Classic Menus')
140
+ label: __('Import Classic Menus')
91
141
  }, classicMenus === null || classicMenus === void 0 ? void 0 : classicMenus.map(menu => {
92
142
  const label = decodeEntities(menu.name);
93
143
  return createElement(MenuItem, {
94
144
  onClick: () => {
95
- onClose();
145
+ setSelectorLabel(__('Loading …'));
146
+ setEnableOptions(false);
96
147
  onSelectClassicMenu(menu);
148
+ onClose();
97
149
  },
98
150
  key: menu.id,
99
151
  "aria-label": sprintf(createActionLabel, label)
100
152
  }, label);
101
- })), showManageActions && hasManagePermissions && createElement(MenuGroup, {
153
+ })), canUserCreateNavigationMenu && createElement(MenuGroup, {
102
154
  label: __('Tools')
103
- }, canUserCreateNavigationMenu && createElement(MenuItem, {
104
- onClick: onCreateNew
105
- }, __('Create new menu')), createElement(MenuItem, {
106
- href: addQueryArgs('edit.php', {
107
- post_type: 'wp_navigation'
108
- })
109
- }, __('Manage menus'))));
155
+ }, createElement(MenuItem, {
156
+ onClick: () => {
157
+ onClose();
158
+ onCreateNew();
159
+ setIsCreatingMenu(true);
160
+ setSelectorLabel(__('Loading …'));
161
+ setEnableOptions(false);
162
+ }
163
+ }, __('Create new menu'))));
110
164
  });
111
165
  }
112
166
 
113
- export default forwardRef(NavigationMenuSelector);
167
+ export default NavigationMenuSelector;
114
168
  //# sourceMappingURL=navigation-menu-selector.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"names":["MenuGroup","MenuItem","MenuItemsChoice","ToolbarDropdownMenu","__","sprintf","decodeEntities","addQueryArgs","forwardRef","useMemo","useNavigationMenu","useNavigationEntities","NavigationMenuSelector","forwardedRef","currentMenuId","onSelectNavigationMenu","onSelectClassicMenu","onCreateNew","showManageActions","actionLabel","toggleProps","createActionLabel","menus","classicMenus","navigationMenus","canUserCreateNavigationMenu","canUserUpdateNavigationMenu","canSwitchNavigationMenu","menuChoices","map","id","title","label","rendered","value","ariaLabel","hasNavigationMenus","length","hasClassicMenus","showNavigationMenus","showClassicMenus","hasManagePermissions","showSelectMenus","onClose","menuId","menu","name","post_type"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tToolbarDropdownMenu,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { addQueryArgs } from '@wordpress/url';\nimport { forwardRef, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\n\nfunction NavigationMenuSelector(\n\t{\n\t\tcurrentMenuId,\n\t\tonSelectNavigationMenu,\n\t\tonSelectClassicMenu,\n\t\tonCreateNew,\n\t\tshowManageActions = false,\n\t\tactionLabel,\n\t\ttoggleProps = {},\n\t},\n\tforwardedRef\n) {\n\t/* translators: %s: The name of a menu. */\n\tconst createActionLabel = __( \"Create from '%s'\" );\n\n\tactionLabel = actionLabel || createActionLabel;\n\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst {\n\t\tnavigationMenus,\n\t\tcanUserCreateNavigationMenu,\n\t\tcanUserUpdateNavigationMenu,\n\t\tcanSwitchNavigationMenu,\n\t} = useNavigationMenu();\n\n\tconst menuChoices = useMemo( () => {\n\t\treturn (\n\t\t\tnavigationMenus?.map( ( { id, title } ) => {\n\t\t\t\tconst label = decodeEntities( title.rendered );\n\t\t\t\treturn {\n\t\t\t\t\tvalue: id,\n\t\t\t\t\tlabel,\n\t\t\t\t\tariaLabel: sprintf( actionLabel, label ),\n\t\t\t\t};\n\t\t\t} ) || []\n\t\t);\n\t}, [ navigationMenus ] );\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\tconst hasClassicMenus = !! classicMenus?.length;\n\tconst showNavigationMenus = !! canSwitchNavigationMenu;\n\tconst showClassicMenus = !! canUserCreateNavigationMenu;\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenu || canUserUpdateNavigationMenu;\n\n\t// Show the selector if:\n\t// - has switch or create permissions and there are block or classic menus.\n\t// - user has create or update permissions and component should show the menu actions.\n\tconst showSelectMenus =\n\t\t( ( canSwitchNavigationMenu || canUserCreateNavigationMenu ) &&\n\t\t\t( hasNavigationMenus || hasClassicMenus ) ) ||\n\t\t( hasManagePermissions && showManageActions );\n\n\tif ( ! showSelectMenus ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ToolbarDropdownMenu\n\t\t\tref={ forwardedRef }\n\t\t\tlabel={ __( 'Select Menu' ) }\n\t\t\ttext={ __( 'Select Menu' ) }\n\t\t\ticon={ null }\n\t\t\ttoggleProps={ toggleProps }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t{ showNavigationMenus && hasNavigationMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\t\tvalue={ currentMenuId }\n\t\t\t\t\t\t\t\tonSelect={ ( menuId ) => {\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\tonSelectNavigationMenu( menuId );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchoices={ menuChoices }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showClassicMenus && hasClassicMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Classic Menus' ) }>\n\t\t\t\t\t\t\t{ classicMenus?.map( ( menu ) => {\n\t\t\t\t\t\t\t\tconst label = decodeEntities( menu.name );\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\tonSelectClassicMenu( menu );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\tcreateActionLabel,\n\t\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ showManageActions && hasManagePermissions && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Tools' ) }>\n\t\t\t\t\t\t\t{ canUserCreateNavigationMenu && (\n\t\t\t\t\t\t\t\t<MenuItem onClick={ onCreateNew }>\n\t\t\t\t\t\t\t\t\t{ __( 'Create new menu' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\thref={ addQueryArgs( 'edit.php', {\n\t\t\t\t\t\t\t\t\tpost_type: 'wp_navigation',\n\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Manage menus' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</ToolbarDropdownMenu>\n\t);\n}\n\nexport default forwardRef( NavigationMenuSelector );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"names":["MenuGroup","MenuItem","MenuItemsChoice","DropdownMenu","Button","VisuallyHidden","useEntityProp","Icon","chevronUp","chevronDown","__","sprintf","decodeEntities","useEffect","useMemo","useState","useNavigationMenu","useNavigationEntities","NavigationMenuSelector","currentMenuId","onSelectNavigationMenu","onSelectClassicMenu","onCreateNew","actionLabel","createNavigationMenuIsSuccess","createNavigationMenuIsError","toggleProps","createActionLabel","selectorLabel","setSelectorLabel","isPressed","setIsPressed","enableOptions","setEnableOptions","isCreatingMenu","setIsCreatingMenu","menus","classicMenus","navigationMenus","hasResolvedNavigationMenus","isNavigationMenuResolved","canUserCreateNavigationMenu","canSwitchNavigationMenu","currentTitle","shouldEnableMenuSelector","menuChoices","map","id","title","label","rendered","value","ariaLabel","hasNavigationMenus","length","hasClassicMenus","showNavigationMenus","showClassicMenus","noMenuSelected","noBlockMenus","menuUnavailable","className","children","isBusy","disabled","__experimentalIsFocusable","onClick","onClose","menuId","menu","name"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tDropdownMenu,\n\tButton,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { Icon, chevronUp, chevronDown } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\n\nfunction NavigationMenuSelector( {\n\tcurrentMenuId,\n\tonSelectNavigationMenu,\n\tonSelectClassicMenu,\n\tonCreateNew,\n\tactionLabel,\n\tcreateNavigationMenuIsSuccess,\n\tcreateNavigationMenuIsError,\n\ttoggleProps = {},\n} ) {\n\t/* translators: %s: The name of a menu. */\n\tconst createActionLabel = __( \"Create from '%s'\" );\n\n\tconst [ selectorLabel, setSelectorLabel ] = useState( '' );\n\tconst [ isPressed, setIsPressed ] = useState( false );\n\tconst [ enableOptions, setEnableOptions ] = useState( false );\n\tconst [ isCreatingMenu, setIsCreatingMenu ] = useState( false );\n\n\tactionLabel = actionLabel || createActionLabel;\n\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst {\n\t\tnavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tcanUserCreateNavigationMenu,\n\t\tcanSwitchNavigationMenu,\n\t} = useNavigationMenu();\n\n\tconst [ currentTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_navigation',\n\t\t'title'\n\t);\n\n\tconst shouldEnableMenuSelector =\n\t\t( canSwitchNavigationMenu || canUserCreateNavigationMenu ) &&\n\t\thasResolvedNavigationMenus &&\n\t\t! isCreatingMenu;\n\n\tconst menuChoices = useMemo( () => {\n\t\treturn (\n\t\t\tnavigationMenus?.map( ( { id, title } ) => {\n\t\t\t\tconst label = decodeEntities( title.rendered );\n\t\t\t\tif ( id === currentMenuId && ! isCreatingMenu ) {\n\t\t\t\t\tsetSelectorLabel( currentTitle );\n\t\t\t\t\tsetEnableOptions( shouldEnableMenuSelector );\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tvalue: id,\n\t\t\t\t\tlabel,\n\t\t\t\t\tariaLabel: sprintf( actionLabel, label ),\n\t\t\t\t};\n\t\t\t} ) || []\n\t\t);\n\t}, [\n\t\tcurrentTitle,\n\t\tcurrentMenuId,\n\t\tnavigationMenus,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisNavigationMenuResolved,\n\t\thasResolvedNavigationMenus,\n\t] );\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\tconst hasClassicMenus = !! classicMenus?.length;\n\tconst showNavigationMenus = !! canSwitchNavigationMenu;\n\tconst showClassicMenus = !! canUserCreateNavigationMenu;\n\n\tconst noMenuSelected = hasNavigationMenus && ! currentMenuId;\n\tconst noBlockMenus = ! hasNavigationMenus && hasResolvedNavigationMenus;\n\tconst menuUnavailable =\n\t\thasResolvedNavigationMenus && currentMenuId === null;\n\n\tuseEffect( () => {\n\t\tif ( ! hasResolvedNavigationMenus ) {\n\t\t\tsetSelectorLabel( __( 'Loading …' ) );\n\t\t} else if ( noMenuSelected || noBlockMenus || menuUnavailable ) {\n\t\t\tsetSelectorLabel( __( 'Select menu' ) );\n\t\t\tsetEnableOptions( shouldEnableMenuSelector );\n\t\t}\n\n\t\tif (\n\t\t\tisCreatingMenu &&\n\t\t\t( createNavigationMenuIsSuccess || createNavigationMenuIsError )\n\t\t) {\n\t\t\tsetIsCreatingMenu( false );\n\t\t}\n\t}, [\n\t\tcurrentMenuId,\n\t\thasNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisNavigationMenuResolved,\n\t] );\n\n\ttoggleProps = {\n\t\t...toggleProps,\n\t\tclassName: 'wp-block-navigation__navigation-selector-button',\n\t\tchildren: (\n\t\t\t<>\n\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t{ __( 'Select Menu' ) }\n\t\t\t\t</VisuallyHidden>\n\t\t\t\t<Icon\n\t\t\t\t\ticon={ isPressed ? chevronUp : chevronDown }\n\t\t\t\t\tclassName=\"wp-block-navigation__navigation-selector-button__icon\"\n\t\t\t\t/>\n\t\t\t</>\n\t\t),\n\t\tisBusy: ! enableOptions,\n\t\tdisabled: ! enableOptions,\n\t\t__experimentalIsFocusable: true,\n\t\tonClick: () => {\n\t\t\tsetIsPressed( ! isPressed );\n\t\t},\n\t};\n\n\tif ( ! hasNavigationMenus && ! hasClassicMenus ) {\n\t\treturn (\n\t\t\t<Button\n\t\t\t\tclassName=\"wp-block-navigation__navigation-selector-button--createnew\"\n\t\t\t\tisBusy={ ! enableOptions }\n\t\t\t\tdisabled={ ! enableOptions }\n\t\t\t\t__experimentalIsFocusable\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tonCreateNew();\n\t\t\t\t\tsetIsCreatingMenu( true );\n\t\t\t\t\tsetSelectorLabel( __( 'Loading …' ) );\n\t\t\t\t\tsetEnableOptions( false );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ __( 'Create new menu' ) }\n\t\t\t</Button>\n\t\t);\n\t}\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName=\"wp-block-navigation__navigation-selector\"\n\t\t\tlabel={ selectorLabel }\n\t\t\ttext={ selectorLabel }\n\t\t\ticon={ null }\n\t\t\ttoggleProps={ toggleProps }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t{ showNavigationMenus && hasNavigationMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\t\tvalue={ currentMenuId }\n\t\t\t\t\t\t\t\tonSelect={ ( menuId ) => {\n\t\t\t\t\t\t\t\t\tonSelectNavigationMenu( menuId );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchoices={ menuChoices }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showClassicMenus && hasClassicMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Import Classic Menus' ) }>\n\t\t\t\t\t\t\t{ classicMenus?.map( ( menu ) => {\n\t\t\t\t\t\t\t\tconst label = decodeEntities( menu.name );\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetSelectorLabel(\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Loading …' )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\tsetEnableOptions( false );\n\t\t\t\t\t\t\t\t\t\t\tonSelectClassicMenu( menu );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\tcreateActionLabel,\n\t\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ canUserCreateNavigationMenu && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Tools' ) }>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\tonCreateNew();\n\t\t\t\t\t\t\t\t\tsetIsCreatingMenu( true );\n\t\t\t\t\t\t\t\t\tsetSelectorLabel( __( 'Loading …' ) );\n\t\t\t\t\t\t\t\t\tsetEnableOptions( false );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Create new menu' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n\nexport default NavigationMenuSelector;\n"]}
@@ -4,7 +4,26 @@ import { createElement } from "@wordpress/element";
4
4
  * WordPress dependencies
5
5
  */
6
6
  import { SVG, Rect } from '@wordpress/primitives';
7
- export default function OverlayMenuIcon() {
7
+ import { Icon, menu, moreVertical, moreHorizontal } from '@wordpress/icons';
8
+ export default function OverlayMenuIcon(_ref) {
9
+ let {
10
+ icon
11
+ } = _ref;
12
+
13
+ if (icon === 'menu') {
14
+ return createElement(Icon, {
15
+ icon: menu
16
+ });
17
+ } else if (icon === 'more-vertical') {
18
+ return createElement(Icon, {
19
+ icon: moreVertical
20
+ });
21
+ } else if (icon === 'more-horizontal') {
22
+ return createElement(Icon, {
23
+ icon: moreHorizontal
24
+ });
25
+ }
26
+
8
27
  return createElement(SVG, {
9
28
  xmlns: "http://www.w3.org/2000/svg",
10
29
  viewBox: "0 0 24 24",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/overlay-menu-icon.js"],"names":["SVG","Rect","OverlayMenuIcon"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,GAAT,EAAcC,IAAd,QAA0B,uBAA1B;AAEA,eAAe,SAASC,eAAT,GAA2B;AACzC,SACC,cAAC,GAAD;AACC,IAAA,KAAK,EAAC,4BADP;AAEC,IAAA,OAAO,EAAC,WAFT;AAGC,IAAA,KAAK,EAAC,IAHP;AAIC,IAAA,MAAM,EAAC,IAJR;AAKC,mBAAY,MALb;AAMC,IAAA,SAAS,EAAC;AANX,KAQC,cAAC,IAAD;AAAM,IAAA,CAAC,EAAC,GAAR;AAAY,IAAA,CAAC,EAAC,KAAd;AAAoB,IAAA,KAAK,EAAC,IAA1B;AAA+B,IAAA,MAAM,EAAC;AAAtC,IARD,EASC,cAAC,IAAD;AAAM,IAAA,CAAC,EAAC,GAAR;AAAY,IAAA,CAAC,EAAC,IAAd;AAAmB,IAAA,KAAK,EAAC,IAAzB;AAA8B,IAAA,MAAM,EAAC;AAArC,IATD,CADD;AAaA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SVG, Rect } from '@wordpress/primitives';\n\nexport default function OverlayMenuIcon() {\n\treturn (\n\t\t<SVG\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\tviewBox=\"0 0 24 24\"\n\t\t\twidth=\"24\"\n\t\t\theight=\"24\"\n\t\t\taria-hidden=\"true\"\n\t\t\tfocusable=\"false\"\n\t\t>\n\t\t\t<Rect x=\"4\" y=\"7.5\" width=\"16\" height=\"1.5\" />\n\t\t\t<Rect x=\"4\" y=\"15\" width=\"16\" height=\"1.5\" />\n\t\t</SVG>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/overlay-menu-icon.js"],"names":["SVG","Rect","Icon","menu","moreVertical","moreHorizontal","OverlayMenuIcon","icon"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,GAAT,EAAcC,IAAd,QAA0B,uBAA1B;AACA,SAASC,IAAT,EAAeC,IAAf,EAAqBC,YAArB,EAAmCC,cAAnC,QAAyD,kBAAzD;AAEA,eAAe,SAASC,eAAT,OAAqC;AAAA,MAAX;AAAEC,IAAAA;AAAF,GAAW;;AACnD,MAAKA,IAAI,KAAK,MAAd,EAAuB;AACtB,WAAO,cAAC,IAAD;AAAM,MAAA,IAAI,EAAGJ;AAAb,MAAP;AACA,GAFD,MAEO,IAAKI,IAAI,KAAK,eAAd,EAAgC;AACtC,WAAO,cAAC,IAAD;AAAM,MAAA,IAAI,EAAGH;AAAb,MAAP;AACA,GAFM,MAEA,IAAKG,IAAI,KAAK,iBAAd,EAAkC;AACxC,WAAO,cAAC,IAAD;AAAM,MAAA,IAAI,EAAGF;AAAb,MAAP;AACA;;AAED,SACC,cAAC,GAAD;AACC,IAAA,KAAK,EAAC,4BADP;AAEC,IAAA,OAAO,EAAC,WAFT;AAGC,IAAA,KAAK,EAAC,IAHP;AAIC,IAAA,MAAM,EAAC,IAJR;AAKC,mBAAY,MALb;AAMC,IAAA,SAAS,EAAC;AANX,KAQC,cAAC,IAAD;AAAM,IAAA,CAAC,EAAC,GAAR;AAAY,IAAA,CAAC,EAAC,KAAd;AAAoB,IAAA,KAAK,EAAC,IAA1B;AAA+B,IAAA,MAAM,EAAC;AAAtC,IARD,EASC,cAAC,IAAD;AAAM,IAAA,CAAC,EAAC,GAAR;AAAY,IAAA,CAAC,EAAC,IAAd;AAAmB,IAAA,KAAK,EAAC,IAAzB;AAA8B,IAAA,MAAM,EAAC;AAArC,IATD,CADD;AAaA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SVG, Rect } from '@wordpress/primitives';\nimport { Icon, menu, moreVertical, moreHorizontal } from '@wordpress/icons';\n\nexport default function OverlayMenuIcon( { icon } ) {\n\tif ( icon === 'menu' ) {\n\t\treturn <Icon icon={ menu } />;\n\t} else if ( icon === 'more-vertical' ) {\n\t\treturn <Icon icon={ moreVertical } />;\n\t} else if ( icon === 'more-horizontal' ) {\n\t\treturn <Icon icon={ moreHorizontal } />;\n\t}\n\n\treturn (\n\t\t<SVG\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\tviewBox=\"0 0 24 24\"\n\t\t\twidth=\"24\"\n\t\t\theight=\"24\"\n\t\t\taria-hidden=\"true\"\n\t\t\tfocusable=\"false\"\n\t\t>\n\t\t\t<Rect x=\"4\" y=\"7.5\" width=\"16\" height=\"1.5\" />\n\t\t\t<Rect x=\"4\" y=\"15\" width=\"16\" height=\"1.5\" />\n\t\t</SVG>\n\t);\n}\n"]}
@@ -0,0 +1,59 @@
1
+ import { createElement, Fragment } from "@wordpress/element";
2
+
3
+ /**
4
+ * WordPress dependencies
5
+ */
6
+ import { ToggleControl, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption } from '@wordpress/components';
7
+ import { __ } from '@wordpress/i18n';
8
+ /**
9
+ * Internal dependencies
10
+ */
11
+
12
+ import OverlayMenuIcon from './overlay-menu-icon';
13
+ export default function OverlayMenuPreview(_ref) {
14
+ let {
15
+ setAttributes,
16
+ hasIcon,
17
+ icon
18
+ } = _ref;
19
+ return createElement(Fragment, null, createElement(ToggleControl, {
20
+ label: __('Show icon button'),
21
+ help: __('Configure the visual appearance of the button opening the overlay menu.'),
22
+ onChange: value => setAttributes({
23
+ hasIcon: value
24
+ }),
25
+ checked: hasIcon
26
+ }), createElement(ToggleGroupControl, {
27
+ label: __('Icon'),
28
+ value: icon,
29
+ onChange: value => setAttributes({
30
+ icon: value
31
+ }),
32
+ isBlock: true
33
+ }, createElement(ToggleGroupControlOption, {
34
+ value: "handle",
35
+ "aria-label": __('handle'),
36
+ label: createElement(OverlayMenuIcon, {
37
+ icon: "handle"
38
+ })
39
+ }), createElement(ToggleGroupControlOption, {
40
+ value: "menu",
41
+ "aria-label": __('menu'),
42
+ label: createElement(OverlayMenuIcon, {
43
+ icon: "menu"
44
+ })
45
+ }), createElement(ToggleGroupControlOption, {
46
+ value: "more-vertical",
47
+ "aria-label": __('more vertical'),
48
+ label: createElement(OverlayMenuIcon, {
49
+ icon: "more-vertical"
50
+ })
51
+ }), createElement(ToggleGroupControlOption, {
52
+ value: "more-horizontal",
53
+ "aria-label": __('more horizontal'),
54
+ label: createElement(OverlayMenuIcon, {
55
+ icon: "more-horizontal"
56
+ })
57
+ })));
58
+ }
59
+ //# sourceMappingURL=overlay-menu-preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/overlay-menu-preview.js"],"names":["ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__","OverlayMenuIcon","OverlayMenuPreview","setAttributes","hasIcon","icon","value"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,aADD,EAECC,gCAAgC,IAAIC,kBAFrC,EAGCC,sCAAsC,IAAIC,wBAH3C,QAIO,uBAJP;AAKA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AAEA,eAAe,SAASC,kBAAT,OAAgE;AAAA,MAAnC;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA,OAAjB;AAA0BC,IAAAA;AAA1B,GAAmC;AAC9E,SACC,8BACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGL,EAAE,CAAE,kBAAF,CADX;AAEC,IAAA,IAAI,EAAGA,EAAE,CACR,yEADQ,CAFV;AAKC,IAAA,QAAQ,EAAKM,KAAF,IAAaH,aAAa,CAAE;AAAEC,MAAAA,OAAO,EAAEE;AAAX,KAAF,CALtC;AAMC,IAAA,OAAO,EAAGF;AANX,IADD,EAUC,cAAC,kBAAD;AACC,IAAA,KAAK,EAAGJ,EAAE,CAAE,MAAF,CADX;AAEC,IAAA,KAAK,EAAGK,IAFT;AAGC,IAAA,QAAQ,EAAKC,KAAF,IAAaH,aAAa,CAAE;AAAEE,MAAAA,IAAI,EAAEC;AAAR,KAAF,CAHtC;AAIC,IAAA,OAAO;AAJR,KAMC,cAAC,wBAAD;AACC,IAAA,KAAK,EAAC,QADP;AAEC,kBAAaN,EAAE,CAAE,QAAF,CAFhB;AAGC,IAAA,KAAK,EAAG,cAAC,eAAD;AAAiB,MAAA,IAAI,EAAC;AAAtB;AAHT,IAND,EAWC,cAAC,wBAAD;AACC,IAAA,KAAK,EAAC,MADP;AAEC,kBAAaA,EAAE,CAAE,MAAF,CAFhB;AAGC,IAAA,KAAK,EAAG,cAAC,eAAD;AAAiB,MAAA,IAAI,EAAC;AAAtB;AAHT,IAXD,EAgBC,cAAC,wBAAD;AACC,IAAA,KAAK,EAAC,eADP;AAEC,kBAAaA,EAAE,CAAE,eAAF,CAFhB;AAGC,IAAA,KAAK,EAAG,cAAC,eAAD;AAAiB,MAAA,IAAI,EAAC;AAAtB;AAHT,IAhBD,EAqBC,cAAC,wBAAD;AACC,IAAA,KAAK,EAAC,iBADP;AAEC,kBAAaA,EAAE,CAAE,iBAAF,CAFhB;AAGC,IAAA,KAAK,EAAG,cAAC,eAAD;AAAiB,MAAA,IAAI,EAAC;AAAtB;AAHT,IArBD,CAVD,CADD;AAwCA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport OverlayMenuIcon from './overlay-menu-icon';\n\nexport default function OverlayMenuPreview( { setAttributes, hasIcon, icon } ) {\n\treturn (\n\t\t<>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Show icon button' ) }\n\t\t\t\thelp={ __(\n\t\t\t\t\t'Configure the visual appearance of the button opening the overlay menu.'\n\t\t\t\t) }\n\t\t\t\tonChange={ ( value ) => setAttributes( { hasIcon: value } ) }\n\t\t\t\tchecked={ hasIcon }\n\t\t\t/>\n\n\t\t\t<ToggleGroupControl\n\t\t\t\tlabel={ __( 'Icon' ) }\n\t\t\t\tvalue={ icon }\n\t\t\t\tonChange={ ( value ) => setAttributes( { icon: value } ) }\n\t\t\t\tisBlock\n\t\t\t>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tvalue=\"handle\"\n\t\t\t\t\taria-label={ __( 'handle' ) }\n\t\t\t\t\tlabel={ <OverlayMenuIcon icon=\"handle\" /> }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tvalue=\"menu\"\n\t\t\t\t\taria-label={ __( 'menu' ) }\n\t\t\t\t\tlabel={ <OverlayMenuIcon icon=\"menu\" /> }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tvalue=\"more-vertical\"\n\t\t\t\t\taria-label={ __( 'more vertical' ) }\n\t\t\t\t\tlabel={ <OverlayMenuIcon icon=\"more-vertical\" /> }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tvalue=\"more-horizontal\"\n\t\t\t\t\taria-label={ __( 'more horizontal' ) }\n\t\t\t\t\tlabel={ <OverlayMenuIcon icon=\"more-horizontal\" /> }\n\t\t\t\t/>\n\t\t\t</ToggleGroupControl>\n\t\t</>\n\t);\n}\n"]}