@wordpress/block-library 8.33.0 → 8.35.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 (900) hide show
  1. package/CHANGELOG.md +10 -3
  2. package/build/audio/edit.js +2 -2
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/avatar/edit.js +2 -2
  5. package/build/avatar/edit.js.map +1 -1
  6. package/build/block/edit.js +25 -160
  7. package/build/block/edit.js.map +1 -1
  8. package/build/block-keyboard-shortcuts/index.js +95 -0
  9. package/build/block-keyboard-shortcuts/index.js.map +1 -0
  10. package/build/button/deprecated.js +16 -16
  11. package/build/button/deprecated.js.map +1 -1
  12. package/build/button/edit.js +3 -7
  13. package/build/button/edit.js.map +1 -1
  14. package/build/button/index.js +1 -0
  15. package/build/button/index.js.map +1 -1
  16. package/build/button/save.js +3 -3
  17. package/build/button/save.js.map +1 -1
  18. package/build/buttons/deprecated.js +2 -2
  19. package/build/buttons/deprecated.js.map +1 -1
  20. package/build/buttons/edit.js +2 -2
  21. package/build/buttons/edit.js.map +1 -1
  22. package/build/buttons/save.js +2 -2
  23. package/build/buttons/save.js.map +1 -1
  24. package/build/categories/edit.js +2 -2
  25. package/build/categories/edit.js.map +1 -1
  26. package/build/column/deprecated.js +2 -2
  27. package/build/column/deprecated.js.map +1 -1
  28. package/build/column/edit.js +30 -21
  29. package/build/column/edit.js.map +1 -1
  30. package/build/column/edit.native.js +3 -1
  31. package/build/column/edit.native.js.map +1 -1
  32. package/build/column/save.js +2 -2
  33. package/build/column/save.js.map +1 -1
  34. package/build/columns/deprecated.js +3 -3
  35. package/build/columns/deprecated.js.map +1 -1
  36. package/build/columns/edit.js +70 -54
  37. package/build/columns/edit.js.map +1 -1
  38. package/build/columns/save.js +2 -2
  39. package/build/columns/save.js.map +1 -1
  40. package/build/columns/variations.js +18 -28
  41. package/build/columns/variations.js.map +1 -1
  42. package/build/comment-author-name/edit.js +2 -2
  43. package/build/comment-author-name/edit.js.map +1 -1
  44. package/build/comment-content/edit.js +2 -2
  45. package/build/comment-content/edit.js.map +1 -1
  46. package/build/comment-edit-link/edit.js +2 -2
  47. package/build/comment-edit-link/edit.js.map +1 -1
  48. package/build/comment-reply-link/edit.js +2 -2
  49. package/build/comment-reply-link/edit.js.map +1 -1
  50. package/build/comment-template/util.js +3 -1
  51. package/build/comment-template/util.js.map +1 -1
  52. package/build/comments/edit/comments-legacy.js +2 -2
  53. package/build/comments/edit/comments-legacy.js.map +1 -1
  54. package/build/comments-title/edit.js +2 -2
  55. package/build/comments-title/edit.js.map +1 -1
  56. package/build/cover/deprecated.js +38 -38
  57. package/build/cover/deprecated.js.map +1 -1
  58. package/build/cover/edit/index.js +6 -6
  59. package/build/cover/edit/index.js.map +1 -1
  60. package/build/cover/edit/resizable-cover-popover.js +2 -2
  61. package/build/cover/edit/resizable-cover-popover.js.map +1 -1
  62. package/build/cover/edit.native.js +2 -2
  63. package/build/cover/edit.native.js.map +1 -1
  64. package/build/cover/save.js +5 -5
  65. package/build/cover/save.js.map +1 -1
  66. package/build/cover/shared.js +3 -1
  67. package/build/cover/shared.js.map +1 -1
  68. package/build/embed/deprecated.js +3 -3
  69. package/build/embed/deprecated.js.map +1 -1
  70. package/build/embed/edit.js +2 -2
  71. package/build/embed/edit.js.map +1 -1
  72. package/build/embed/edit.native.js +2 -2
  73. package/build/embed/edit.native.js.map +1 -1
  74. package/build/embed/embed-placeholder.js +8 -3
  75. package/build/embed/embed-placeholder.js.map +1 -1
  76. package/build/embed/embed-preview.js +3 -3
  77. package/build/embed/embed-preview.js.map +1 -1
  78. package/build/embed/embed-preview.native.js +2 -2
  79. package/build/embed/embed-preview.native.js.map +1 -1
  80. package/build/embed/icons.js +7 -1
  81. package/build/embed/icons.js.map +1 -1
  82. package/build/embed/save.js +2 -2
  83. package/build/embed/save.js.map +1 -1
  84. package/build/embed/util.js +13 -9
  85. package/build/embed/util.js.map +1 -1
  86. package/build/embed/variations.js +12 -1
  87. package/build/embed/variations.js.map +1 -1
  88. package/build/embed/wp-embed-preview.js +6 -2
  89. package/build/embed/wp-embed-preview.js.map +1 -1
  90. package/build/file/deprecated.js +2 -2
  91. package/build/file/deprecated.js.map +1 -1
  92. package/build/file/edit.js +3 -3
  93. package/build/file/edit.js.map +1 -1
  94. package/build/file/save.js +2 -2
  95. package/build/file/save.js.map +1 -1
  96. package/build/form-input/deprecated.js +3 -3
  97. package/build/form-input/deprecated.js.map +1 -1
  98. package/build/form-input/edit.js +4 -4
  99. package/build/form-input/edit.js.map +1 -1
  100. package/build/form-input/save.js +3 -3
  101. package/build/form-input/save.js.map +1 -1
  102. package/build/form-submission-notification/edit.js +2 -2
  103. package/build/form-submission-notification/edit.js.map +1 -1
  104. package/build/form-submission-notification/save.js +2 -2
  105. package/build/form-submission-notification/save.js.map +1 -1
  106. package/build/gallery/deprecated.js +3 -3
  107. package/build/gallery/deprecated.js.map +1 -1
  108. package/build/gallery/edit.js +2 -2
  109. package/build/gallery/edit.js.map +1 -1
  110. package/build/gallery/gallery.js +2 -2
  111. package/build/gallery/gallery.js.map +1 -1
  112. package/build/gallery/save.js +3 -3
  113. package/build/gallery/save.js.map +1 -1
  114. package/build/gallery/v1/gallery-image.js +2 -2
  115. package/build/gallery/v1/gallery-image.js.map +1 -1
  116. package/build/gallery/v1/gallery.js +3 -3
  117. package/build/gallery/v1/gallery.js.map +1 -1
  118. package/build/gallery/v1/save.js +3 -3
  119. package/build/gallery/v1/save.js.map +1 -1
  120. package/build/group/deprecated.js +4 -4
  121. package/build/group/deprecated.js.map +1 -1
  122. package/build/group/index.js +0 -8
  123. package/build/group/index.js.map +1 -1
  124. package/build/group/placeholder.js +18 -19
  125. package/build/group/placeholder.js.map +1 -1
  126. package/build/heading/deprecated.js +6 -6
  127. package/build/heading/deprecated.js.map +1 -1
  128. package/build/heading/edit.js +2 -19
  129. package/build/heading/edit.js.map +1 -1
  130. package/build/heading/edit.native.js +2 -2
  131. package/build/heading/edit.native.js.map +1 -1
  132. package/build/heading/index.js +1 -0
  133. package/build/heading/index.js.map +1 -1
  134. package/build/heading/save.js +2 -2
  135. package/build/heading/save.js.map +1 -1
  136. package/build/home-link/edit.js +2 -2
  137. package/build/home-link/edit.js.map +1 -1
  138. package/build/html/edit.js +0 -2
  139. package/build/html/edit.js.map +1 -1
  140. package/build/image/deprecated.js +10 -10
  141. package/build/image/deprecated.js.map +1 -1
  142. package/build/image/edit.js +7 -5
  143. package/build/image/edit.js.map +1 -1
  144. package/build/image/image.js +8 -4
  145. package/build/image/image.js.map +1 -1
  146. package/build/image/save.js +3 -3
  147. package/build/image/save.js.map +1 -1
  148. package/build/image/view.js +3 -1
  149. package/build/image/view.js.map +1 -1
  150. package/build/index.js +9 -1
  151. package/build/index.js.map +1 -1
  152. package/build/latest-posts/edit.js +5 -5
  153. package/build/latest-posts/edit.js.map +1 -1
  154. package/build/list/deprecated.js +90 -1
  155. package/build/list/deprecated.js.map +1 -1
  156. package/build/list/index.js +0 -2
  157. package/build/list/index.js.map +1 -1
  158. package/build/list-item/edit.js +1 -8
  159. package/build/list-item/edit.js.map +1 -1
  160. package/build/list-item/hooks/use-merge.js +12 -4
  161. package/build/list-item/hooks/use-merge.js.map +1 -1
  162. package/build/list-item/hooks/use-outdent-list-item.js +15 -5
  163. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  164. package/build/list-item/index.js +2 -1
  165. package/build/list-item/index.js.map +1 -1
  166. package/build/media-text/deprecated.js +10 -10
  167. package/build/media-text/deprecated.js.map +1 -1
  168. package/build/media-text/edit.js +2 -2
  169. package/build/media-text/edit.js.map +1 -1
  170. package/build/media-text/media-container.js +2 -2
  171. package/build/media-text/media-container.js.map +1 -1
  172. package/build/media-text/save.js +3 -3
  173. package/build/media-text/save.js.map +1 -1
  174. package/build/navigation/edit/are-blocks-dirty.js +9 -3
  175. package/build/navigation/edit/are-blocks-dirty.js.map +1 -1
  176. package/build/navigation/edit/deleted-navigation-warning.js +1 -1
  177. package/build/navigation/edit/deleted-navigation-warning.js.map +1 -1
  178. package/build/navigation/edit/index.js +3 -3
  179. package/build/navigation/edit/index.js.map +1 -1
  180. package/build/navigation/edit/menu-inspector-controls.js +3 -1
  181. package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
  182. package/build/navigation/edit/navigation-menu-selector.js +1 -1
  183. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  184. package/build/navigation/edit/responsive-wrapper.js +3 -3
  185. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  186. package/build/navigation/edit/utils.js +2 -2
  187. package/build/navigation/edit/utils.js.map +1 -1
  188. package/build/navigation/index.js +0 -9
  189. package/build/navigation/index.js.map +1 -1
  190. package/build/navigation/view.js +3 -1
  191. package/build/navigation/view.js.map +1 -1
  192. package/build/navigation-link/edit.js +97 -88
  193. package/build/navigation-link/edit.js.map +1 -1
  194. package/build/navigation-link/link-ui.js +2 -7
  195. package/build/navigation-link/link-ui.js.map +1 -1
  196. package/build/navigation-submenu/edit.js +2 -2
  197. package/build/navigation-submenu/edit.js.map +1 -1
  198. package/build/page-list/edit.js +2 -2
  199. package/build/page-list/edit.js.map +1 -1
  200. package/build/page-list-item/edit.js +3 -3
  201. package/build/page-list-item/edit.js.map +1 -1
  202. package/build/paragraph/deprecated.js +6 -6
  203. package/build/paragraph/deprecated.js.map +1 -1
  204. package/build/paragraph/edit.js +2 -18
  205. package/build/paragraph/edit.js.map +1 -1
  206. package/build/paragraph/index.js +1 -1
  207. package/build/paragraph/index.js.map +1 -1
  208. package/build/paragraph/save.js +2 -2
  209. package/build/paragraph/save.js.map +1 -1
  210. package/build/paragraph/transforms.js +1 -1
  211. package/build/paragraph/transforms.js.map +1 -1
  212. package/build/pattern/edit.js +1 -1
  213. package/build/pattern/edit.js.map +1 -1
  214. package/build/post-author/edit.js +2 -2
  215. package/build/post-author/edit.js.map +1 -1
  216. package/build/post-author-biography/edit.js +2 -2
  217. package/build/post-author-biography/edit.js.map +1 -1
  218. package/build/post-author-name/edit.js +2 -2
  219. package/build/post-author-name/edit.js.map +1 -1
  220. package/build/post-comments-count/edit.js +2 -2
  221. package/build/post-comments-count/edit.js.map +1 -1
  222. package/build/post-comments-form/edit.js +2 -2
  223. package/build/post-comments-form/edit.js.map +1 -1
  224. package/build/post-comments-form/form.js +2 -2
  225. package/build/post-comments-form/form.js.map +1 -1
  226. package/build/post-comments-link/edit.js +2 -2
  227. package/build/post-comments-link/edit.js.map +1 -1
  228. package/build/post-date/edit.js +2 -2
  229. package/build/post-date/edit.js.map +1 -1
  230. package/build/post-excerpt/edit.js +6 -4
  231. package/build/post-excerpt/edit.js.map +1 -1
  232. package/build/post-featured-image/dimension-controls.js +23 -29
  233. package/build/post-featured-image/dimension-controls.js.map +1 -1
  234. package/build/post-featured-image/edit.js +3 -3
  235. package/build/post-featured-image/edit.js.map +1 -1
  236. package/build/post-featured-image/overlay.js +2 -2
  237. package/build/post-featured-image/overlay.js.map +1 -1
  238. package/build/post-navigation-link/edit.js +2 -2
  239. package/build/post-navigation-link/edit.js.map +1 -1
  240. package/build/post-navigation-link/variations.js +3 -1
  241. package/build/post-navigation-link/variations.js.map +1 -1
  242. package/build/post-template/edit.js +22 -12
  243. package/build/post-template/edit.js.map +1 -1
  244. package/build/post-terms/edit.js +5 -3
  245. package/build/post-terms/edit.js.map +1 -1
  246. package/build/post-time-to-read/edit.js +3 -3
  247. package/build/post-time-to-read/edit.js.map +1 -1
  248. package/build/post-title/edit.js +2 -2
  249. package/build/post-title/edit.js.map +1 -1
  250. package/build/private-apis.js +21 -0
  251. package/build/private-apis.js.map +1 -0
  252. package/build/pullquote/deprecated.js +7 -7
  253. package/build/pullquote/deprecated.js.map +1 -1
  254. package/build/pullquote/edit.js +2 -2
  255. package/build/pullquote/edit.js.map +1 -1
  256. package/build/pullquote/save.js +2 -2
  257. package/build/pullquote/save.js.map +1 -1
  258. package/build/query/edit/enhanced-pagination-modal.js +1 -1
  259. package/build/query/edit/enhanced-pagination-modal.js.map +1 -1
  260. package/build/query/edit/inspector-controls/author-control.js +6 -2
  261. package/build/query/edit/inspector-controls/author-control.js.map +1 -1
  262. package/build/query/edit/inspector-controls/create-new-post-link.js +3 -1
  263. package/build/query/edit/inspector-controls/create-new-post-link.js.map +1 -1
  264. package/build/query/edit/inspector-controls/enhanced-pagination-control.js +6 -3
  265. package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  266. package/build/query/edit/inspector-controls/parent-control.js +18 -6
  267. package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
  268. package/build/query/edit/inspector-controls/taxonomy-controls.js +9 -3
  269. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  270. package/build/query/utils.js +3 -1
  271. package/build/query/utils.js.map +1 -1
  272. package/build/query-title/edit.js +2 -2
  273. package/build/query-title/edit.js.map +1 -1
  274. package/build/query-title/variations.js +3 -1
  275. package/build/query-title/variations.js.map +1 -1
  276. package/build/quote/deprecated.js +3 -3
  277. package/build/quote/deprecated.js.map +1 -1
  278. package/build/quote/edit.js +2 -2
  279. package/build/quote/edit.js.map +1 -1
  280. package/build/quote/save.js +2 -2
  281. package/build/quote/save.js.map +1 -1
  282. package/build/rss/edit.js +8 -6
  283. package/build/rss/edit.js.map +1 -1
  284. package/build/search/edit.js +6 -6
  285. package/build/search/edit.js.map +1 -1
  286. package/build/search/edit.native.js +2 -2
  287. package/build/search/edit.native.js.map +1 -1
  288. package/build/separator/deprecated.js +2 -2
  289. package/build/separator/deprecated.js.map +1 -1
  290. package/build/separator/edit.js +2 -2
  291. package/build/separator/edit.js.map +1 -1
  292. package/build/separator/save.js +2 -2
  293. package/build/separator/save.js.map +1 -1
  294. package/build/shortcode/edit.js +7 -10
  295. package/build/shortcode/edit.js.map +1 -1
  296. package/build/site-logo/edit.js +4 -4
  297. package/build/site-logo/edit.js.map +1 -1
  298. package/build/site-tagline/edit.js +2 -2
  299. package/build/site-tagline/edit.js.map +1 -1
  300. package/build/site-title/edit.js +2 -2
  301. package/build/site-title/edit.js.map +1 -1
  302. package/build/social-link/edit.js +4 -4
  303. package/build/social-link/edit.js.map +1 -1
  304. package/build/social-link/variations.js +3 -1
  305. package/build/social-link/variations.js.map +1 -1
  306. package/build/social-links/deprecated.js +2 -2
  307. package/build/social-links/deprecated.js.map +1 -1
  308. package/build/social-links/edit.js +2 -2
  309. package/build/social-links/edit.js.map +1 -1
  310. package/build/social-links/save.js +2 -2
  311. package/build/social-links/save.js.map +1 -1
  312. package/build/spacer/edit.js +3 -3
  313. package/build/spacer/edit.js.map +1 -1
  314. package/build/table/deprecated.js +8 -8
  315. package/build/table/deprecated.js.map +1 -1
  316. package/build/table/edit.js +3 -3
  317. package/build/table/edit.js.map +1 -1
  318. package/build/table/save.js +3 -3
  319. package/build/table/save.js.map +1 -1
  320. package/build/template-part/variations.js +6 -2
  321. package/build/template-part/variations.js.map +1 -1
  322. package/build/term-description/edit.js +2 -2
  323. package/build/term-description/edit.js.map +1 -1
  324. package/build/utils/caption.js +2 -2
  325. package/build/utils/caption.js.map +1 -1
  326. package/build/verse/deprecated.js +2 -2
  327. package/build/verse/deprecated.js.map +1 -1
  328. package/build/verse/edit.js +2 -2
  329. package/build/verse/edit.js.map +1 -1
  330. package/build/verse/save.js +2 -2
  331. package/build/verse/save.js.map +1 -1
  332. package/build/video/edit.js +2 -2
  333. package/build/video/edit.js.map +1 -1
  334. package/build-module/audio/edit.js +2 -2
  335. package/build-module/audio/edit.js.map +1 -1
  336. package/build-module/avatar/edit.js +2 -2
  337. package/build-module/avatar/edit.js.map +1 -1
  338. package/build-module/block/edit.js +29 -164
  339. package/build-module/block/edit.js.map +1 -1
  340. package/build-module/block-keyboard-shortcuts/index.js +88 -0
  341. package/build-module/block-keyboard-shortcuts/index.js.map +1 -0
  342. package/build-module/button/deprecated.js +16 -16
  343. package/build-module/button/deprecated.js.map +1 -1
  344. package/build-module/button/edit.js +3 -7
  345. package/build-module/button/edit.js.map +1 -1
  346. package/build-module/button/index.js +1 -0
  347. package/build-module/button/index.js.map +1 -1
  348. package/build-module/button/save.js +3 -3
  349. package/build-module/button/save.js.map +1 -1
  350. package/build-module/buttons/deprecated.js +2 -2
  351. package/build-module/buttons/deprecated.js.map +1 -1
  352. package/build-module/buttons/edit.js +2 -2
  353. package/build-module/buttons/edit.js.map +1 -1
  354. package/build-module/buttons/save.js +2 -2
  355. package/build-module/buttons/save.js.map +1 -1
  356. package/build-module/categories/edit.js +2 -2
  357. package/build-module/categories/edit.js.map +1 -1
  358. package/build-module/column/deprecated.js +2 -2
  359. package/build-module/column/deprecated.js.map +1 -1
  360. package/build-module/column/edit.js +30 -21
  361. package/build-module/column/edit.js.map +1 -1
  362. package/build-module/column/edit.native.js +3 -1
  363. package/build-module/column/edit.native.js.map +1 -1
  364. package/build-module/column/save.js +2 -2
  365. package/build-module/column/save.js.map +1 -1
  366. package/build-module/columns/deprecated.js +3 -3
  367. package/build-module/columns/deprecated.js.map +1 -1
  368. package/build-module/columns/edit.js +70 -54
  369. package/build-module/columns/edit.js.map +1 -1
  370. package/build-module/columns/save.js +2 -2
  371. package/build-module/columns/save.js.map +1 -1
  372. package/build-module/columns/variations.js +18 -28
  373. package/build-module/columns/variations.js.map +1 -1
  374. package/build-module/comment-author-name/edit.js +2 -2
  375. package/build-module/comment-author-name/edit.js.map +1 -1
  376. package/build-module/comment-content/edit.js +2 -2
  377. package/build-module/comment-content/edit.js.map +1 -1
  378. package/build-module/comment-edit-link/edit.js +2 -2
  379. package/build-module/comment-edit-link/edit.js.map +1 -1
  380. package/build-module/comment-reply-link/edit.js +2 -2
  381. package/build-module/comment-reply-link/edit.js.map +1 -1
  382. package/build-module/comment-template/util.js +3 -1
  383. package/build-module/comment-template/util.js.map +1 -1
  384. package/build-module/comments/edit/comments-legacy.js +2 -2
  385. package/build-module/comments/edit/comments-legacy.js.map +1 -1
  386. package/build-module/comments-title/edit.js +2 -2
  387. package/build-module/comments-title/edit.js.map +1 -1
  388. package/build-module/cover/deprecated.js +38 -38
  389. package/build-module/cover/deprecated.js.map +1 -1
  390. package/build-module/cover/edit/index.js +6 -6
  391. package/build-module/cover/edit/index.js.map +1 -1
  392. package/build-module/cover/edit/resizable-cover-popover.js +2 -2
  393. package/build-module/cover/edit/resizable-cover-popover.js.map +1 -1
  394. package/build-module/cover/edit.native.js +2 -2
  395. package/build-module/cover/edit.native.js.map +1 -1
  396. package/build-module/cover/save.js +5 -5
  397. package/build-module/cover/save.js.map +1 -1
  398. package/build-module/cover/shared.js +3 -1
  399. package/build-module/cover/shared.js.map +1 -1
  400. package/build-module/embed/deprecated.js +3 -3
  401. package/build-module/embed/deprecated.js.map +1 -1
  402. package/build-module/embed/edit.js +2 -2
  403. package/build-module/embed/edit.js.map +1 -1
  404. package/build-module/embed/edit.native.js +2 -2
  405. package/build-module/embed/edit.native.js.map +1 -1
  406. package/build-module/embed/embed-placeholder.js +9 -4
  407. package/build-module/embed/embed-placeholder.js.map +1 -1
  408. package/build-module/embed/embed-preview.js +3 -3
  409. package/build-module/embed/embed-preview.js.map +1 -1
  410. package/build-module/embed/embed-preview.native.js +2 -2
  411. package/build-module/embed/embed-preview.native.js.map +1 -1
  412. package/build-module/embed/icons.js +6 -0
  413. package/build-module/embed/icons.js.map +1 -1
  414. package/build-module/embed/save.js +2 -2
  415. package/build-module/embed/save.js.map +1 -1
  416. package/build-module/embed/util.js +13 -9
  417. package/build-module/embed/util.js.map +1 -1
  418. package/build-module/embed/variations.js +13 -2
  419. package/build-module/embed/variations.js.map +1 -1
  420. package/build-module/embed/wp-embed-preview.js +6 -2
  421. package/build-module/embed/wp-embed-preview.js.map +1 -1
  422. package/build-module/file/deprecated.js +2 -2
  423. package/build-module/file/deprecated.js.map +1 -1
  424. package/build-module/file/edit.js +3 -3
  425. package/build-module/file/edit.js.map +1 -1
  426. package/build-module/file/save.js +2 -2
  427. package/build-module/file/save.js.map +1 -1
  428. package/build-module/form-input/deprecated.js +3 -3
  429. package/build-module/form-input/deprecated.js.map +1 -1
  430. package/build-module/form-input/edit.js +4 -4
  431. package/build-module/form-input/edit.js.map +1 -1
  432. package/build-module/form-input/save.js +3 -3
  433. package/build-module/form-input/save.js.map +1 -1
  434. package/build-module/form-submission-notification/edit.js +2 -2
  435. package/build-module/form-submission-notification/edit.js.map +1 -1
  436. package/build-module/form-submission-notification/save.js +2 -2
  437. package/build-module/form-submission-notification/save.js.map +1 -1
  438. package/build-module/gallery/deprecated.js +3 -3
  439. package/build-module/gallery/deprecated.js.map +1 -1
  440. package/build-module/gallery/edit.js +2 -2
  441. package/build-module/gallery/edit.js.map +1 -1
  442. package/build-module/gallery/gallery.js +2 -2
  443. package/build-module/gallery/gallery.js.map +1 -1
  444. package/build-module/gallery/save.js +3 -3
  445. package/build-module/gallery/save.js.map +1 -1
  446. package/build-module/gallery/v1/gallery-image.js +2 -2
  447. package/build-module/gallery/v1/gallery-image.js.map +1 -1
  448. package/build-module/gallery/v1/gallery.js +3 -3
  449. package/build-module/gallery/v1/gallery.js.map +1 -1
  450. package/build-module/gallery/v1/save.js +3 -3
  451. package/build-module/gallery/v1/save.js.map +1 -1
  452. package/build-module/group/deprecated.js +4 -4
  453. package/build-module/group/deprecated.js.map +1 -1
  454. package/build-module/group/index.js +0 -8
  455. package/build-module/group/index.js.map +1 -1
  456. package/build-module/group/placeholder.js +18 -19
  457. package/build-module/group/placeholder.js.map +1 -1
  458. package/build-module/heading/deprecated.js +6 -6
  459. package/build-module/heading/deprecated.js.map +1 -1
  460. package/build-module/heading/edit.js +2 -19
  461. package/build-module/heading/edit.js.map +1 -1
  462. package/build-module/heading/edit.native.js +2 -2
  463. package/build-module/heading/edit.native.js.map +1 -1
  464. package/build-module/heading/index.js +1 -0
  465. package/build-module/heading/index.js.map +1 -1
  466. package/build-module/heading/save.js +2 -2
  467. package/build-module/heading/save.js.map +1 -1
  468. package/build-module/home-link/edit.js +2 -2
  469. package/build-module/home-link/edit.js.map +1 -1
  470. package/build-module/html/edit.js +0 -2
  471. package/build-module/html/edit.js.map +1 -1
  472. package/build-module/image/deprecated.js +10 -10
  473. package/build-module/image/deprecated.js.map +1 -1
  474. package/build-module/image/edit.js +7 -5
  475. package/build-module/image/edit.js.map +1 -1
  476. package/build-module/image/image.js +8 -4
  477. package/build-module/image/image.js.map +1 -1
  478. package/build-module/image/save.js +3 -3
  479. package/build-module/image/save.js.map +1 -1
  480. package/build-module/image/view.js +3 -1
  481. package/build-module/image/view.js.map +1 -1
  482. package/build-module/index.js +1 -0
  483. package/build-module/index.js.map +1 -1
  484. package/build-module/latest-posts/edit.js +6 -6
  485. package/build-module/latest-posts/edit.js.map +1 -1
  486. package/build-module/list/deprecated.js +90 -1
  487. package/build-module/list/deprecated.js.map +1 -1
  488. package/build-module/list/index.js +0 -2
  489. package/build-module/list/index.js.map +1 -1
  490. package/build-module/list-item/edit.js +2 -9
  491. package/build-module/list-item/edit.js.map +1 -1
  492. package/build-module/list-item/hooks/use-merge.js +12 -4
  493. package/build-module/list-item/hooks/use-merge.js.map +1 -1
  494. package/build-module/list-item/hooks/use-outdent-list-item.js +15 -5
  495. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  496. package/build-module/list-item/index.js +2 -1
  497. package/build-module/list-item/index.js.map +1 -1
  498. package/build-module/media-text/deprecated.js +10 -10
  499. package/build-module/media-text/deprecated.js.map +1 -1
  500. package/build-module/media-text/edit.js +2 -2
  501. package/build-module/media-text/edit.js.map +1 -1
  502. package/build-module/media-text/media-container.js +2 -2
  503. package/build-module/media-text/media-container.js.map +1 -1
  504. package/build-module/media-text/save.js +3 -3
  505. package/build-module/media-text/save.js.map +1 -1
  506. package/build-module/navigation/edit/are-blocks-dirty.js +9 -3
  507. package/build-module/navigation/edit/are-blocks-dirty.js.map +1 -1
  508. package/build-module/navigation/edit/deleted-navigation-warning.js +1 -1
  509. package/build-module/navigation/edit/deleted-navigation-warning.js.map +1 -1
  510. package/build-module/navigation/edit/index.js +3 -3
  511. package/build-module/navigation/edit/index.js.map +1 -1
  512. package/build-module/navigation/edit/menu-inspector-controls.js +3 -1
  513. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
  514. package/build-module/navigation/edit/navigation-menu-selector.js +1 -1
  515. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  516. package/build-module/navigation/edit/responsive-wrapper.js +3 -3
  517. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  518. package/build-module/navigation/edit/utils.js +2 -2
  519. package/build-module/navigation/edit/utils.js.map +1 -1
  520. package/build-module/navigation/index.js +0 -9
  521. package/build-module/navigation/index.js.map +1 -1
  522. package/build-module/navigation/view.js +3 -1
  523. package/build-module/navigation/view.js.map +1 -1
  524. package/build-module/navigation-link/edit.js +97 -88
  525. package/build-module/navigation-link/edit.js.map +1 -1
  526. package/build-module/navigation-link/link-ui.js +3 -8
  527. package/build-module/navigation-link/link-ui.js.map +1 -1
  528. package/build-module/navigation-submenu/edit.js +2 -2
  529. package/build-module/navigation-submenu/edit.js.map +1 -1
  530. package/build-module/page-list/edit.js +2 -2
  531. package/build-module/page-list/edit.js.map +1 -1
  532. package/build-module/page-list-item/edit.js +3 -3
  533. package/build-module/page-list-item/edit.js.map +1 -1
  534. package/build-module/paragraph/deprecated.js +6 -6
  535. package/build-module/paragraph/deprecated.js.map +1 -1
  536. package/build-module/paragraph/edit.js +2 -18
  537. package/build-module/paragraph/edit.js.map +1 -1
  538. package/build-module/paragraph/index.js +1 -1
  539. package/build-module/paragraph/index.js.map +1 -1
  540. package/build-module/paragraph/save.js +2 -2
  541. package/build-module/paragraph/save.js.map +1 -1
  542. package/build-module/paragraph/transforms.js +1 -1
  543. package/build-module/paragraph/transforms.js.map +1 -1
  544. package/build-module/pattern/edit.js +1 -1
  545. package/build-module/pattern/edit.js.map +1 -1
  546. package/build-module/post-author/edit.js +2 -2
  547. package/build-module/post-author/edit.js.map +1 -1
  548. package/build-module/post-author-biography/edit.js +2 -2
  549. package/build-module/post-author-biography/edit.js.map +1 -1
  550. package/build-module/post-author-name/edit.js +2 -2
  551. package/build-module/post-author-name/edit.js.map +1 -1
  552. package/build-module/post-comments-count/edit.js +2 -2
  553. package/build-module/post-comments-count/edit.js.map +1 -1
  554. package/build-module/post-comments-form/edit.js +2 -2
  555. package/build-module/post-comments-form/edit.js.map +1 -1
  556. package/build-module/post-comments-form/form.js +2 -2
  557. package/build-module/post-comments-form/form.js.map +1 -1
  558. package/build-module/post-comments-link/edit.js +2 -2
  559. package/build-module/post-comments-link/edit.js.map +1 -1
  560. package/build-module/post-date/edit.js +2 -2
  561. package/build-module/post-date/edit.js.map +1 -1
  562. package/build-module/post-excerpt/edit.js +6 -4
  563. package/build-module/post-excerpt/edit.js.map +1 -1
  564. package/build-module/post-featured-image/dimension-controls.js +23 -29
  565. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  566. package/build-module/post-featured-image/edit.js +3 -3
  567. package/build-module/post-featured-image/edit.js.map +1 -1
  568. package/build-module/post-featured-image/overlay.js +2 -2
  569. package/build-module/post-featured-image/overlay.js.map +1 -1
  570. package/build-module/post-navigation-link/edit.js +2 -2
  571. package/build-module/post-navigation-link/edit.js.map +1 -1
  572. package/build-module/post-navigation-link/variations.js +3 -1
  573. package/build-module/post-navigation-link/variations.js.map +1 -1
  574. package/build-module/post-template/edit.js +23 -13
  575. package/build-module/post-template/edit.js.map +1 -1
  576. package/build-module/post-terms/edit.js +5 -3
  577. package/build-module/post-terms/edit.js.map +1 -1
  578. package/build-module/post-time-to-read/edit.js +3 -3
  579. package/build-module/post-time-to-read/edit.js.map +1 -1
  580. package/build-module/post-title/edit.js +2 -2
  581. package/build-module/post-title/edit.js.map +1 -1
  582. package/build-module/private-apis.js +14 -0
  583. package/build-module/private-apis.js.map +1 -0
  584. package/build-module/pullquote/deprecated.js +7 -7
  585. package/build-module/pullquote/deprecated.js.map +1 -1
  586. package/build-module/pullquote/edit.js +2 -2
  587. package/build-module/pullquote/edit.js.map +1 -1
  588. package/build-module/pullquote/save.js +2 -2
  589. package/build-module/pullquote/save.js.map +1 -1
  590. package/build-module/query/edit/enhanced-pagination-modal.js +1 -1
  591. package/build-module/query/edit/enhanced-pagination-modal.js.map +1 -1
  592. package/build-module/query/edit/inspector-controls/author-control.js +6 -2
  593. package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
  594. package/build-module/query/edit/inspector-controls/create-new-post-link.js +3 -1
  595. package/build-module/query/edit/inspector-controls/create-new-post-link.js.map +1 -1
  596. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +6 -3
  597. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  598. package/build-module/query/edit/inspector-controls/parent-control.js +18 -6
  599. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
  600. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +9 -3
  601. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  602. package/build-module/query/utils.js +3 -1
  603. package/build-module/query/utils.js.map +1 -1
  604. package/build-module/query-title/edit.js +2 -2
  605. package/build-module/query-title/edit.js.map +1 -1
  606. package/build-module/query-title/variations.js +3 -1
  607. package/build-module/query-title/variations.js.map +1 -1
  608. package/build-module/quote/deprecated.js +3 -3
  609. package/build-module/quote/deprecated.js.map +1 -1
  610. package/build-module/quote/edit.js +2 -2
  611. package/build-module/quote/edit.js.map +1 -1
  612. package/build-module/quote/save.js +2 -2
  613. package/build-module/quote/save.js.map +1 -1
  614. package/build-module/rss/edit.js +10 -8
  615. package/build-module/rss/edit.js.map +1 -1
  616. package/build-module/search/edit.js +6 -6
  617. package/build-module/search/edit.js.map +1 -1
  618. package/build-module/search/edit.native.js +2 -2
  619. package/build-module/search/edit.native.js.map +1 -1
  620. package/build-module/separator/deprecated.js +2 -2
  621. package/build-module/separator/deprecated.js.map +1 -1
  622. package/build-module/separator/edit.js +2 -2
  623. package/build-module/separator/edit.js.map +1 -1
  624. package/build-module/separator/save.js +2 -2
  625. package/build-module/separator/save.js.map +1 -1
  626. package/build-module/shortcode/edit.js +8 -11
  627. package/build-module/shortcode/edit.js.map +1 -1
  628. package/build-module/site-logo/edit.js +4 -4
  629. package/build-module/site-logo/edit.js.map +1 -1
  630. package/build-module/site-tagline/edit.js +2 -2
  631. package/build-module/site-tagline/edit.js.map +1 -1
  632. package/build-module/site-title/edit.js +2 -2
  633. package/build-module/site-title/edit.js.map +1 -1
  634. package/build-module/social-link/edit.js +4 -4
  635. package/build-module/social-link/edit.js.map +1 -1
  636. package/build-module/social-link/variations.js +3 -1
  637. package/build-module/social-link/variations.js.map +1 -1
  638. package/build-module/social-links/deprecated.js +2 -2
  639. package/build-module/social-links/deprecated.js.map +1 -1
  640. package/build-module/social-links/edit.js +2 -2
  641. package/build-module/social-links/edit.js.map +1 -1
  642. package/build-module/social-links/save.js +2 -2
  643. package/build-module/social-links/save.js.map +1 -1
  644. package/build-module/spacer/edit.js +3 -3
  645. package/build-module/spacer/edit.js.map +1 -1
  646. package/build-module/table/deprecated.js +8 -8
  647. package/build-module/table/deprecated.js.map +1 -1
  648. package/build-module/table/edit.js +3 -3
  649. package/build-module/table/edit.js.map +1 -1
  650. package/build-module/table/save.js +3 -3
  651. package/build-module/table/save.js.map +1 -1
  652. package/build-module/template-part/variations.js +6 -2
  653. package/build-module/template-part/variations.js.map +1 -1
  654. package/build-module/term-description/edit.js +2 -2
  655. package/build-module/term-description/edit.js.map +1 -1
  656. package/build-module/utils/caption.js +2 -2
  657. package/build-module/utils/caption.js.map +1 -1
  658. package/build-module/verse/deprecated.js +2 -2
  659. package/build-module/verse/deprecated.js.map +1 -1
  660. package/build-module/verse/edit.js +2 -2
  661. package/build-module/verse/edit.js.map +1 -1
  662. package/build-module/verse/save.js +2 -2
  663. package/build-module/verse/save.js.map +1 -1
  664. package/build-module/video/edit.js +2 -2
  665. package/build-module/video/edit.js.map +1 -1
  666. package/build-style/block/editor-rtl.css +4 -4
  667. package/build-style/block/editor.css +4 -4
  668. package/build-style/buttons/editor-rtl.css +1 -1
  669. package/build-style/buttons/editor.css +1 -1
  670. package/build-style/buttons/style-rtl.css +1 -1
  671. package/build-style/buttons/style.css +1 -1
  672. package/build-style/common-rtl.css +3 -7
  673. package/build-style/common.css +3 -7
  674. package/build-style/editor-rtl.css +30 -81
  675. package/build-style/editor.css +30 -81
  676. package/build-style/embed/editor-rtl.css +0 -3
  677. package/build-style/embed/editor.css +0 -3
  678. package/build-style/group/editor-rtl.css +2 -45
  679. package/build-style/group/editor.css +2 -45
  680. package/build-style/group/style-rtl.css +4 -0
  681. package/build-style/group/style.css +4 -0
  682. package/build-style/image/editor-rtl.css +3 -0
  683. package/build-style/image/editor.css +3 -0
  684. package/build-style/image/style-rtl.css +1 -2
  685. package/build-style/image/style.css +1 -2
  686. package/build-style/navigation-link/style-rtl.css +0 -8
  687. package/build-style/navigation-link/style.css +0 -8
  688. package/build-style/post-featured-image/editor-rtl.css +1 -0
  689. package/build-style/post-featured-image/editor.css +1 -0
  690. package/build-style/post-template/style-rtl.css +0 -3
  691. package/build-style/post-template/style.css +0 -3
  692. package/build-style/rss/editor-rtl.css +1 -10
  693. package/build-style/rss/editor.css +1 -10
  694. package/build-style/shortcode/editor-rtl.css +0 -4
  695. package/build-style/shortcode/editor.css +0 -4
  696. package/build-style/site-logo/editor-rtl.css +1 -0
  697. package/build-style/site-logo/editor.css +1 -0
  698. package/build-style/social-link/editor-rtl.css +13 -2
  699. package/build-style/social-link/editor.css +13 -2
  700. package/build-style/style-rtl.css +9 -21
  701. package/build-style/style.css +9 -21
  702. package/build-style/template-part/editor-rtl.css +3 -7
  703. package/build-style/template-part/editor.css +3 -7
  704. package/package.json +36 -35
  705. package/src/audio/edit.js +2 -2
  706. package/src/avatar/edit.js +2 -2
  707. package/src/block/edit.js +32 -240
  708. package/src/block/editor.scss +7 -5
  709. package/src/block-keyboard-shortcuts/index.js +113 -0
  710. package/src/button/block.json +1 -0
  711. package/src/button/deprecated.js +16 -16
  712. package/src/button/edit.js +3 -9
  713. package/src/button/save.js +3 -3
  714. package/src/buttons/deprecated.js +2 -2
  715. package/src/buttons/edit.js +2 -2
  716. package/src/buttons/editor.scss +1 -3
  717. package/src/buttons/save.js +2 -2
  718. package/src/buttons/style.scss +1 -3
  719. package/src/categories/edit.js +2 -2
  720. package/src/code/theme.native.scss +1 -1
  721. package/src/column/deprecated.js +2 -2
  722. package/src/column/edit.js +28 -22
  723. package/src/column/edit.native.js +3 -1
  724. package/src/column/save.js +2 -2
  725. package/src/columns/deprecated.js +3 -3
  726. package/src/columns/edit.js +94 -84
  727. package/src/columns/save.js +2 -2
  728. package/src/columns/variations.js +12 -34
  729. package/src/comment-author-name/edit.js +2 -2
  730. package/src/comment-content/edit.js +2 -2
  731. package/src/comment-edit-link/edit.js +2 -2
  732. package/src/comment-reply-link/edit.js +2 -2
  733. package/src/comment-template/util.js +3 -1
  734. package/src/comments/edit/comments-legacy.js +2 -2
  735. package/src/comments-title/edit.js +2 -2
  736. package/src/common.scss +4 -4
  737. package/src/cover/deprecated.js +38 -38
  738. package/src/cover/edit/index.js +6 -9
  739. package/src/cover/edit/resizable-cover-popover.js +2 -2
  740. package/src/cover/edit.native.js +2 -2
  741. package/src/cover/save.js +5 -5
  742. package/src/cover/shared.js +3 -1
  743. package/src/embed/deprecated.js +3 -3
  744. package/src/embed/edit.js +2 -2
  745. package/src/embed/edit.native.js +2 -2
  746. package/src/embed/editor.scss +0 -2
  747. package/src/embed/embed-placeholder.js +21 -9
  748. package/src/embed/embed-preview.js +3 -3
  749. package/src/embed/embed-preview.native.js +2 -2
  750. package/src/embed/icons.js +9 -0
  751. package/src/embed/save.js +2 -2
  752. package/src/embed/util.js +13 -7
  753. package/src/embed/variations.js +12 -1
  754. package/src/embed/wp-embed-preview.js +6 -2
  755. package/src/file/deprecated.js +2 -2
  756. package/src/file/edit.js +3 -3
  757. package/src/file/save.js +2 -2
  758. package/src/form-input/deprecated.js +3 -3
  759. package/src/form-input/edit.js +4 -4
  760. package/src/form-input/save.js +3 -3
  761. package/src/form-submission-notification/edit.js +2 -2
  762. package/src/form-submission-notification/save.js +4 -7
  763. package/src/gallery/deprecated.js +3 -3
  764. package/src/gallery/edit.js +2 -2
  765. package/src/gallery/gallery.js +2 -2
  766. package/src/gallery/save.js +3 -3
  767. package/src/gallery/v1/gallery-image.js +2 -2
  768. package/src/gallery/v1/gallery.js +3 -3
  769. package/src/gallery/v1/save.js +3 -3
  770. package/src/group/deprecated.js +4 -4
  771. package/src/group/editor.scss +2 -48
  772. package/src/group/index.js +0 -8
  773. package/src/group/placeholder.js +18 -18
  774. package/src/group/style.scss +5 -0
  775. package/src/heading/block.json +1 -0
  776. package/src/heading/deprecated.js +6 -6
  777. package/src/heading/edit.js +2 -23
  778. package/src/heading/edit.native.js +2 -2
  779. package/src/heading/save.js +2 -2
  780. package/src/heading/test/__snapshots__/transforms.native.js.snap +1 -1
  781. package/src/home-link/edit.js +2 -2
  782. package/src/html/edit.js +0 -2
  783. package/src/image/deprecated.js +10 -10
  784. package/src/image/edit.js +5 -3
  785. package/src/image/editor.scss +13 -7
  786. package/src/image/image.js +8 -3
  787. package/src/image/save.js +3 -3
  788. package/src/image/style.scss +1 -3
  789. package/src/image/view.js +3 -1
  790. package/src/index.js +2 -0
  791. package/src/latest-posts/edit.js +6 -6
  792. package/src/latest-posts/index.php +1 -0
  793. package/src/list/block.json +0 -2
  794. package/src/list/deprecated.js +88 -1
  795. package/src/list/index.php +54 -0
  796. package/src/list/test/__snapshots__/edit.native.js.snap +11 -11
  797. package/src/list/test/__snapshots__/transforms.native.js.snap +3 -3
  798. package/src/list/test/edit.native.js +24 -24
  799. package/src/list/test/transforms.native.js +1 -1
  800. package/src/list-item/block.json +2 -1
  801. package/src/list-item/edit.js +0 -15
  802. package/src/list-item/hooks/use-merge.js +12 -4
  803. package/src/list-item/hooks/use-outdent-list-item.js +15 -5
  804. package/src/media-text/deprecated.js +10 -10
  805. package/src/media-text/edit.js +2 -2
  806. package/src/media-text/media-container.js +2 -2
  807. package/src/media-text/save.js +3 -3
  808. package/src/navigation/block.json +0 -9
  809. package/src/navigation/edit/are-blocks-dirty.js +8 -3
  810. package/src/navigation/edit/deleted-navigation-warning.js +1 -1
  811. package/src/navigation/edit/index.js +3 -3
  812. package/src/navigation/edit/menu-inspector-controls.js +3 -1
  813. package/src/navigation/edit/navigation-menu-selector.js +1 -1
  814. package/src/navigation/edit/responsive-wrapper.js +3 -3
  815. package/src/navigation/edit/test/navigation-menu-selector.js +5 -5
  816. package/src/navigation/edit/utils.js +2 -2
  817. package/src/navigation/index.php +52 -1
  818. package/src/navigation/view.js +3 -1
  819. package/src/navigation-link/edit.js +94 -94
  820. package/src/navigation-link/link-ui.js +74 -89
  821. package/src/navigation-link/style.scss +0 -12
  822. package/src/navigation-submenu/edit.js +2 -2
  823. package/src/page-list/edit.js +2 -2
  824. package/src/page-list-item/edit.js +3 -3
  825. package/src/paragraph/block.json +1 -1
  826. package/src/paragraph/deprecated.js +6 -6
  827. package/src/paragraph/edit.js +2 -23
  828. package/src/paragraph/save.js +2 -2
  829. package/src/paragraph/test/__snapshots__/transforms.native.js.snap +1 -1
  830. package/src/pattern/edit.js +1 -1
  831. package/src/post-author/edit.js +2 -2
  832. package/src/post-author-biography/edit.js +2 -2
  833. package/src/post-author-name/edit.js +2 -2
  834. package/src/post-comments-count/edit.js +2 -2
  835. package/src/post-comments-form/edit.js +2 -2
  836. package/src/post-comments-form/form.js +2 -2
  837. package/src/post-comments-link/edit.js +2 -2
  838. package/src/post-date/edit.js +2 -2
  839. package/src/post-excerpt/edit.js +6 -4
  840. package/src/post-featured-image/dimension-controls.js +33 -37
  841. package/src/post-featured-image/edit.js +3 -3
  842. package/src/post-featured-image/editor.scss +1 -0
  843. package/src/post-featured-image/overlay.js +2 -2
  844. package/src/post-navigation-link/edit.js +2 -2
  845. package/src/post-navigation-link/variations.js +3 -1
  846. package/src/post-template/edit.js +14 -9
  847. package/src/post-template/style.scss +0 -4
  848. package/src/post-terms/edit.js +5 -3
  849. package/src/post-time-to-read/edit.js +3 -3
  850. package/src/post-title/edit.js +2 -2
  851. package/src/private-apis.js +13 -0
  852. package/src/pullquote/deprecated.js +7 -7
  853. package/src/pullquote/edit.js +2 -2
  854. package/src/pullquote/save.js +2 -2
  855. package/src/query/edit/enhanced-pagination-modal.js +5 -1
  856. package/src/query/edit/inspector-controls/author-control.js +6 -2
  857. package/src/query/edit/inspector-controls/create-new-post-link.js +3 -1
  858. package/src/query/edit/inspector-controls/enhanced-pagination-control.js +13 -3
  859. package/src/query/edit/inspector-controls/parent-control.js +18 -6
  860. package/src/query/edit/inspector-controls/taxonomy-controls.js +9 -3
  861. package/src/query/index.php +1 -1
  862. package/src/query/utils.js +3 -1
  863. package/src/query-title/edit.js +2 -2
  864. package/src/query-title/variations.js +3 -1
  865. package/src/quote/deprecated.js +3 -3
  866. package/src/quote/edit.js +2 -2
  867. package/src/quote/save.js +2 -2
  868. package/src/rss/edit.js +30 -23
  869. package/src/rss/editor.scss +2 -16
  870. package/src/search/edit.js +6 -6
  871. package/src/search/edit.native.js +2 -2
  872. package/src/separator/deprecated.js +2 -2
  873. package/src/separator/edit.js +2 -2
  874. package/src/separator/save.js +2 -2
  875. package/src/shortcode/edit.js +13 -17
  876. package/src/shortcode/editor.scss +0 -6
  877. package/src/site-logo/edit.js +4 -4
  878. package/src/site-logo/editor.scss +1 -0
  879. package/src/site-logo/index.php +2 -0
  880. package/src/site-tagline/edit.js +2 -2
  881. package/src/site-title/edit.js +2 -2
  882. package/src/social-link/edit.js +5 -5
  883. package/src/social-link/editor.scss +25 -11
  884. package/src/social-link/variations.js +3 -1
  885. package/src/social-links/deprecated.js +2 -2
  886. package/src/social-links/edit.js +2 -2
  887. package/src/social-links/save.js +2 -2
  888. package/src/spacer/edit.js +3 -3
  889. package/src/table/deprecated.js +12 -20
  890. package/src/table/edit.js +3 -3
  891. package/src/table/save.js +3 -3
  892. package/src/template-part/editor.scss +5 -8
  893. package/src/template-part/variations.js +6 -2
  894. package/src/term-description/edit.js +2 -2
  895. package/src/utils/caption.js +2 -2
  896. package/src/verse/deprecated.js +2 -2
  897. package/src/verse/edit.js +2 -2
  898. package/src/verse/save.js +2 -2
  899. package/src/video/edit.js +2 -2
  900. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["store","getContext","getElement","focusableSelectors","document","addEventListener","state","actions","roleAttribute","ctx","type","isMenuOpen","ariaModal","ariaLabel","Object","values","menuOpenedBy","filter","Boolean","length","overlayOpenedBy","submenuOpenedBy","openMenuOnHover","openMenu","closeMenuOnHover","closeMenu","openMenuOnClick","ref","previousFocus","closeMenuOnClick","openMenuOnFocus","toggleMenuOnClick","window","activeElement","focus","click","handleMenuKeydown","event","firstFocusableElement","lastFocusableElement","key","shiftKey","preventDefault","handleMenuFocusout","modal","relatedTarget","contains","target","menuOpenedOn","documentElement","classList","add","menuClosedOn","remove","callbacks","initMenu","focusableElements","querySelectorAll","focusFirstElement","lock"],"sources":["@wordpress/block-library/src/navigation/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store, getContext, getElement } from '@wordpress/interactivity';\n\nconst focusableSelectors = [\n\t'a[href]',\n\t'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\n\t'select:not([disabled]):not([aria-hidden])',\n\t'textarea:not([disabled]):not([aria-hidden])',\n\t'button:not([disabled]):not([aria-hidden])',\n\t'[contenteditable]',\n\t'[tabindex]:not([tabindex^=\"-\"])',\n];\n\n// This is a fix for Safari in iOS/iPadOS. Without it, Safari doesn't focus out\n// when the user taps in the body. It can be removed once we add an overlay to\n// capture the clicks, instead of relying on the focusout event.\ndocument.addEventListener( 'click', () => {} );\n\nconst { state, actions } = store(\n\t'core/navigation',\n\t{\n\t\tstate: {\n\t\t\tget roleAttribute() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? 'dialog'\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget ariaModal() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? 'true'\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget ariaLabel() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? ctx.ariaLabel\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget isMenuOpen() {\n\t\t\t\t// The menu is opened if either `click`, `hover` or `focus` is true.\n\t\t\t\treturn (\n\t\t\t\t\tObject.values( state.menuOpenedBy ).filter( Boolean )\n\t\t\t\t\t\t.length > 0\n\t\t\t\t);\n\t\t\t},\n\t\t\tget menuOpenedBy() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay'\n\t\t\t\t\t? ctx.overlayOpenedBy\n\t\t\t\t\t: ctx.submenuOpenedBy;\n\t\t\t},\n\t\t},\n\t\tactions: {\n\t\t\topenMenuOnHover() {\n\t\t\t\tconst { type, overlayOpenedBy } = getContext();\n\t\t\t\tif (\n\t\t\t\t\ttype === 'submenu' &&\n\t\t\t\t\t// Only open on hover if the overlay is closed.\n\t\t\t\t\tObject.values( overlayOpenedBy || {} ).filter( Boolean )\n\t\t\t\t\t\t.length === 0\n\t\t\t\t) {\n\t\t\t\t\tactions.openMenu( 'hover' );\n\t\t\t\t}\n\t\t\t},\n\t\t\tcloseMenuOnHover() {\n\t\t\t\tconst { type, overlayOpenedBy } = getContext();\n\t\t\t\tif (\n\t\t\t\t\ttype === 'submenu' &&\n\t\t\t\t\t// Only close on hover if the overlay is closed.\n\t\t\t\t\tObject.values( overlayOpenedBy || {} ).filter( Boolean )\n\t\t\t\t\t\t.length === 0\n\t\t\t\t) {\n\t\t\t\t\tactions.closeMenu( 'hover' );\n\t\t\t\t}\n\t\t\t},\n\t\t\topenMenuOnClick() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tctx.previousFocus = ref;\n\t\t\t\tactions.openMenu( 'click' );\n\t\t\t},\n\t\t\tcloseMenuOnClick() {\n\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t},\n\t\t\topenMenuOnFocus() {\n\t\t\t\tactions.openMenu( 'focus' );\n\t\t\t},\n\t\t\ttoggleMenuOnClick() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\t// Safari won't send focus to the clicked element, so we need to manually place it: https://bugs.webkit.org/show_bug.cgi?id=22261\n\t\t\t\tif ( window.document.activeElement !== ref ) ref.focus();\n\t\t\t\tconst { menuOpenedBy } = state;\n\t\t\t\tif ( menuOpenedBy.click || menuOpenedBy.focus ) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t} else {\n\t\t\t\t\tctx.previousFocus = ref;\n\t\t\t\t\tactions.openMenu( 'click' );\n\t\t\t\t}\n\t\t\t},\n\t\t\thandleMenuKeydown( event ) {\n\t\t\t\tconst { type, firstFocusableElement, lastFocusableElement } =\n\t\t\t\t\tgetContext();\n\t\t\t\tif ( state.menuOpenedBy.click ) {\n\t\t\t\t\t// If Escape close the menu.\n\t\t\t\t\tif ( event?.key === 'Escape' ) {\n\t\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Trap focus if it is an overlay (main menu).\n\t\t\t\t\tif ( type === 'overlay' && event.key === 'Tab' ) {\n\t\t\t\t\t\t// If shift + tab it change the direction.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tevent.shiftKey &&\n\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\tfirstFocusableElement\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tlastFocusableElement.focus();\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t! event.shiftKey &&\n\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\tlastFocusableElement\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tfirstFocusableElement.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\thandleMenuFocusout( event ) {\n\t\t\t\tconst { modal, type } = getContext();\n\t\t\t\t// If focus is outside modal, and in the document, close menu\n\t\t\t\t// event.target === The element losing focus\n\t\t\t\t// event.relatedTarget === The element receiving focus (if any)\n\t\t\t\t// When focusout is outsite the document,\n\t\t\t\t// `window.document.activeElement` doesn't change.\n\n\t\t\t\t// The event.relatedTarget is null when something outside the navigation menu is clicked. This is only necessary for Safari.\n\t\t\t\tif (\n\t\t\t\t\tevent.relatedTarget === null ||\n\t\t\t\t\t( ! modal?.contains( event.relatedTarget ) &&\n\t\t\t\t\t\tevent.target !== window.document.activeElement &&\n\t\t\t\t\t\ttype === 'submenu' )\n\t\t\t\t) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t}\n\t\t\t},\n\n\t\t\topenMenu( menuOpenedOn = 'click' ) {\n\t\t\t\tconst { type } = getContext();\n\t\t\t\tstate.menuOpenedBy[ menuOpenedOn ] = true;\n\t\t\t\tif ( type === 'overlay' ) {\n\t\t\t\t\t// Add a `has-modal-open` class to the <html> root.\n\t\t\t\t\tdocument.documentElement.classList.add( 'has-modal-open' );\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcloseMenu( menuClosedOn = 'click' ) {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tstate.menuOpenedBy[ menuClosedOn ] = false;\n\t\t\t\t// Check if the menu is still open or not.\n\t\t\t\tif ( ! state.isMenuOpen ) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tctx.modal?.contains( window.document.activeElement )\n\t\t\t\t\t) {\n\t\t\t\t\t\tctx.previousFocus?.focus();\n\t\t\t\t\t}\n\t\t\t\t\tctx.modal = null;\n\t\t\t\t\tctx.previousFocus = null;\n\t\t\t\t\tif ( ctx.type === 'overlay' ) {\n\t\t\t\t\t\tdocument.documentElement.classList.remove(\n\t\t\t\t\t\t\t'has-modal-open'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tcallbacks: {\n\t\t\tinitMenu() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\t\tconst focusableElements =\n\t\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\t\tctx.modal = ref;\n\t\t\t\t\tctx.firstFocusableElement = focusableElements[ 0 ];\n\t\t\t\t\tctx.lastFocusableElement =\n\t\t\t\t\t\tfocusableElements[ focusableElements.length - 1 ];\n\t\t\t\t}\n\t\t\t},\n\t\t\tfocusFirstElement() {\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\t\tconst focusableElements =\n\t\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\t\tfocusableElements?.[ 0 ]?.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\t{ lock: true }\n);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["store","getContext","getElement","focusableSelectors","document","addEventListener","state","actions","roleAttribute","ctx","type","isMenuOpen","ariaModal","ariaLabel","Object","values","menuOpenedBy","filter","Boolean","length","overlayOpenedBy","submenuOpenedBy","openMenuOnHover","openMenu","closeMenuOnHover","closeMenu","openMenuOnClick","ref","previousFocus","closeMenuOnClick","openMenuOnFocus","toggleMenuOnClick","window","activeElement","focus","click","handleMenuKeydown","event","firstFocusableElement","lastFocusableElement","key","shiftKey","preventDefault","handleMenuFocusout","modal","relatedTarget","contains","target","menuOpenedOn","documentElement","classList","add","menuClosedOn","remove","callbacks","initMenu","focusableElements","querySelectorAll","focusFirstElement","lock"],"sources":["@wordpress/block-library/src/navigation/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store, getContext, getElement } from '@wordpress/interactivity';\n\nconst focusableSelectors = [\n\t'a[href]',\n\t'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\n\t'select:not([disabled]):not([aria-hidden])',\n\t'textarea:not([disabled]):not([aria-hidden])',\n\t'button:not([disabled]):not([aria-hidden])',\n\t'[contenteditable]',\n\t'[tabindex]:not([tabindex^=\"-\"])',\n];\n\n// This is a fix for Safari in iOS/iPadOS. Without it, Safari doesn't focus out\n// when the user taps in the body. It can be removed once we add an overlay to\n// capture the clicks, instead of relying on the focusout event.\ndocument.addEventListener( 'click', () => {} );\n\nconst { state, actions } = store(\n\t'core/navigation',\n\t{\n\t\tstate: {\n\t\t\tget roleAttribute() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? 'dialog'\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget ariaModal() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? 'true'\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget ariaLabel() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? ctx.ariaLabel\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget isMenuOpen() {\n\t\t\t\t// The menu is opened if either `click`, `hover` or `focus` is true.\n\t\t\t\treturn (\n\t\t\t\t\tObject.values( state.menuOpenedBy ).filter( Boolean )\n\t\t\t\t\t\t.length > 0\n\t\t\t\t);\n\t\t\t},\n\t\t\tget menuOpenedBy() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay'\n\t\t\t\t\t? ctx.overlayOpenedBy\n\t\t\t\t\t: ctx.submenuOpenedBy;\n\t\t\t},\n\t\t},\n\t\tactions: {\n\t\t\topenMenuOnHover() {\n\t\t\t\tconst { type, overlayOpenedBy } = getContext();\n\t\t\t\tif (\n\t\t\t\t\ttype === 'submenu' &&\n\t\t\t\t\t// Only open on hover if the overlay is closed.\n\t\t\t\t\tObject.values( overlayOpenedBy || {} ).filter( Boolean )\n\t\t\t\t\t\t.length === 0\n\t\t\t\t) {\n\t\t\t\t\tactions.openMenu( 'hover' );\n\t\t\t\t}\n\t\t\t},\n\t\t\tcloseMenuOnHover() {\n\t\t\t\tconst { type, overlayOpenedBy } = getContext();\n\t\t\t\tif (\n\t\t\t\t\ttype === 'submenu' &&\n\t\t\t\t\t// Only close on hover if the overlay is closed.\n\t\t\t\t\tObject.values( overlayOpenedBy || {} ).filter( Boolean )\n\t\t\t\t\t\t.length === 0\n\t\t\t\t) {\n\t\t\t\t\tactions.closeMenu( 'hover' );\n\t\t\t\t}\n\t\t\t},\n\t\t\topenMenuOnClick() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tctx.previousFocus = ref;\n\t\t\t\tactions.openMenu( 'click' );\n\t\t\t},\n\t\t\tcloseMenuOnClick() {\n\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t},\n\t\t\topenMenuOnFocus() {\n\t\t\t\tactions.openMenu( 'focus' );\n\t\t\t},\n\t\t\ttoggleMenuOnClick() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\t// Safari won't send focus to the clicked element, so we need to manually place it: https://bugs.webkit.org/show_bug.cgi?id=22261\n\t\t\t\tif ( window.document.activeElement !== ref ) {\n\t\t\t\t\tref.focus();\n\t\t\t\t}\n\t\t\t\tconst { menuOpenedBy } = state;\n\t\t\t\tif ( menuOpenedBy.click || menuOpenedBy.focus ) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t} else {\n\t\t\t\t\tctx.previousFocus = ref;\n\t\t\t\t\tactions.openMenu( 'click' );\n\t\t\t\t}\n\t\t\t},\n\t\t\thandleMenuKeydown( event ) {\n\t\t\t\tconst { type, firstFocusableElement, lastFocusableElement } =\n\t\t\t\t\tgetContext();\n\t\t\t\tif ( state.menuOpenedBy.click ) {\n\t\t\t\t\t// If Escape close the menu.\n\t\t\t\t\tif ( event?.key === 'Escape' ) {\n\t\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Trap focus if it is an overlay (main menu).\n\t\t\t\t\tif ( type === 'overlay' && event.key === 'Tab' ) {\n\t\t\t\t\t\t// If shift + tab it change the direction.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tevent.shiftKey &&\n\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\tfirstFocusableElement\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tlastFocusableElement.focus();\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t! event.shiftKey &&\n\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\tlastFocusableElement\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tfirstFocusableElement.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\thandleMenuFocusout( event ) {\n\t\t\t\tconst { modal, type } = getContext();\n\t\t\t\t// If focus is outside modal, and in the document, close menu\n\t\t\t\t// event.target === The element losing focus\n\t\t\t\t// event.relatedTarget === The element receiving focus (if any)\n\t\t\t\t// When focusout is outsite the document,\n\t\t\t\t// `window.document.activeElement` doesn't change.\n\n\t\t\t\t// The event.relatedTarget is null when something outside the navigation menu is clicked. This is only necessary for Safari.\n\t\t\t\tif (\n\t\t\t\t\tevent.relatedTarget === null ||\n\t\t\t\t\t( ! modal?.contains( event.relatedTarget ) &&\n\t\t\t\t\t\tevent.target !== window.document.activeElement &&\n\t\t\t\t\t\ttype === 'submenu' )\n\t\t\t\t) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t}\n\t\t\t},\n\n\t\t\topenMenu( menuOpenedOn = 'click' ) {\n\t\t\t\tconst { type } = getContext();\n\t\t\t\tstate.menuOpenedBy[ menuOpenedOn ] = true;\n\t\t\t\tif ( type === 'overlay' ) {\n\t\t\t\t\t// Add a `has-modal-open` class to the <html> root.\n\t\t\t\t\tdocument.documentElement.classList.add( 'has-modal-open' );\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcloseMenu( menuClosedOn = 'click' ) {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tstate.menuOpenedBy[ menuClosedOn ] = false;\n\t\t\t\t// Check if the menu is still open or not.\n\t\t\t\tif ( ! state.isMenuOpen ) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tctx.modal?.contains( window.document.activeElement )\n\t\t\t\t\t) {\n\t\t\t\t\t\tctx.previousFocus?.focus();\n\t\t\t\t\t}\n\t\t\t\t\tctx.modal = null;\n\t\t\t\t\tctx.previousFocus = null;\n\t\t\t\t\tif ( ctx.type === 'overlay' ) {\n\t\t\t\t\t\tdocument.documentElement.classList.remove(\n\t\t\t\t\t\t\t'has-modal-open'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tcallbacks: {\n\t\t\tinitMenu() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\t\tconst focusableElements =\n\t\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\t\tctx.modal = ref;\n\t\t\t\t\tctx.firstFocusableElement = focusableElements[ 0 ];\n\t\t\t\t\tctx.lastFocusableElement =\n\t\t\t\t\t\tfocusableElements[ focusableElements.length - 1 ];\n\t\t\t\t}\n\t\t\t},\n\t\t\tfocusFirstElement() {\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\t\tconst focusableElements =\n\t\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\t\tfocusableElements?.[ 0 ]?.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\t{ lock: true }\n);\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
- import classnames from 'classnames';
5
+ import clsx from 'clsx';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -128,6 +128,86 @@ function getMissingText(type) {
128
128
  }
129
129
  return missingText;
130
130
  }
131
+
132
+ /*
133
+ * Warning, this duplicated in
134
+ * packages/block-library/src/navigation-submenu/edit.js
135
+ * Consider reuseing this components for both blocks.
136
+ */
137
+ function Controls({
138
+ attributes,
139
+ setAttributes,
140
+ setIsLabelFieldFocused
141
+ }) {
142
+ const {
143
+ label,
144
+ url,
145
+ description,
146
+ title,
147
+ rel
148
+ } = attributes;
149
+ return createElement(PanelBody, {
150
+ title: __('Settings')
151
+ }, createElement(TextControl, {
152
+ __nextHasNoMarginBottom: true,
153
+ __next40pxDefaultSize: true,
154
+ value: label ? stripHTML(label) : '',
155
+ onChange: labelValue => {
156
+ setAttributes({
157
+ label: labelValue
158
+ });
159
+ },
160
+ label: __('Text'),
161
+ autoComplete: "off",
162
+ onFocus: () => setIsLabelFieldFocused(true),
163
+ onBlur: () => setIsLabelFieldFocused(false)
164
+ }), createElement(TextControl, {
165
+ __nextHasNoMarginBottom: true,
166
+ __next40pxDefaultSize: true,
167
+ value: url ? safeDecodeURI(url) : '',
168
+ onChange: urlValue => {
169
+ updateAttributes({
170
+ url: urlValue
171
+ }, setAttributes, attributes);
172
+ },
173
+ label: __('Link'),
174
+ autoComplete: "off"
175
+ }), createElement(TextareaControl, {
176
+ __nextHasNoMarginBottom: true,
177
+ value: description || '',
178
+ onChange: descriptionValue => {
179
+ setAttributes({
180
+ description: descriptionValue
181
+ });
182
+ },
183
+ label: __('Description'),
184
+ help: __('The description will be displayed in the menu if the current theme supports it.')
185
+ }), createElement(TextControl, {
186
+ __nextHasNoMarginBottom: true,
187
+ __next40pxDefaultSize: true,
188
+ value: title || '',
189
+ onChange: titleValue => {
190
+ setAttributes({
191
+ title: titleValue
192
+ });
193
+ },
194
+ label: __('Title attribute'),
195
+ autoComplete: "off",
196
+ help: __('Additional information to help clarify the purpose of the link.')
197
+ }), createElement(TextControl, {
198
+ __nextHasNoMarginBottom: true,
199
+ __next40pxDefaultSize: true,
200
+ value: rel || '',
201
+ onChange: relValue => {
202
+ setAttributes({
203
+ rel: relValue
204
+ });
205
+ },
206
+ label: __('Rel attribute'),
207
+ autoComplete: "off",
208
+ help: __('The relationship of the linked URL as space-separated link types.')
209
+ }));
210
+ }
131
211
  export default function NavigationLinkEdit({
132
212
  attributes,
133
213
  isSelected,
@@ -144,8 +224,6 @@ export default function NavigationLinkEdit({
144
224
  type,
145
225
  url,
146
226
  description,
147
- rel,
148
- title,
149
227
  kind
150
228
  } = attributes;
151
229
  const [isInvalid, isDraft] = useIsInvalidLink(kind, type, id);
@@ -155,9 +233,11 @@ export default function NavigationLinkEdit({
155
233
  const {
156
234
  replaceBlock,
157
235
  __unstableMarkNextChangeAsNotPersistent,
236
+ selectBlock,
158
237
  selectPreviousBlock
159
238
  } = useDispatch(blockEditorStore);
160
- const [isLinkOpen, setIsLinkOpen] = useState(false);
239
+ // Have the link editing ui open on mount when lacking a url and selected.
240
+ const [isLinkOpen, setIsLinkOpen] = useState(isSelected && !url);
161
241
  // Store what element opened the popover, so we know where to return focus to (toolbar button vs navigation link text)
162
242
  const [openedBy, setOpenedBy] = useState(null);
163
243
  // Use internal state instead of a ref to make sure that the component
@@ -200,19 +280,14 @@ export default function NavigationLinkEdit({
200
280
  * Transform to submenu block.
201
281
  */
202
282
  const transformToSubmenu = () => {
203
- const innerBlocks = getBlocks(clientId);
204
- const newSubmenu = createBlock('core/navigation-submenu', attributes, innerBlocks.length > 0 ? innerBlocks : [createBlock('core/navigation-link')]);
283
+ let innerBlocks = getBlocks(clientId);
284
+ if (innerBlocks.length === 0) {
285
+ innerBlocks = [createBlock('core/navigation-link')];
286
+ selectBlock(innerBlocks[0].clientId);
287
+ }
288
+ const newSubmenu = createBlock('core/navigation-submenu', attributes, innerBlocks);
205
289
  replaceBlock(clientId, newSubmenu);
206
290
  };
207
- useEffect(() => {
208
- // Show the LinkControl on mount if the URL is empty
209
- // ( When adding a new menu item)
210
- // This can't be done in the useState call because it conflicts
211
- // with the autofocus behavior of the BlockListBlock component.
212
- if (!url) {
213
- setIsLinkOpen(true);
214
- }
215
- }, [url]);
216
291
  useEffect(() => {
217
292
  // If block has inner blocks, transform to Submenu.
218
293
  if (hasChildren) {
@@ -223,16 +298,6 @@ export default function NavigationLinkEdit({
223
298
  }
224
299
  }, [hasChildren]);
225
300
 
226
- /**
227
- * The hook shouldn't be necessary but due to a focus loss happening
228
- * when selecting a suggestion in the link popover, we force close on block unselection.
229
- */
230
- useEffect(() => {
231
- if (!isSelected) {
232
- setIsLinkOpen(false);
233
- }
234
- }, [isSelected]);
235
-
236
301
  // If the LinkControl popover is open and the URL has changed, close the LinkControl and focus the label text.
237
302
  useEffect(() => {
238
303
  // We only want to do this when the URL has gone from nothing to a new URL AND the label looks like a URL
@@ -302,7 +367,7 @@ export default function NavigationLinkEdit({
302
367
  }
303
368
  const blockProps = useBlockProps({
304
369
  ref: useMergeRefs([setPopoverAnchor, listItemRef]),
305
- className: classnames('wp-block-navigation-item', {
370
+ className: clsx('wp-block-navigation-item', {
306
371
  'is-editing': isSelected || isParentOfSelectedBlock,
307
372
  'is-dragging-within': isDraggingWithin,
308
373
  'has-link': !!url,
@@ -332,7 +397,7 @@ export default function NavigationLinkEdit({
332
397
  setOpenedBy(ref.current);
333
398
  };
334
399
  }
335
- const classes = classnames('wp-block-navigation-item__content', {
400
+ const classes = clsx('wp-block-navigation-item__content', {
336
401
  'wp-block-navigation-link__placeholder': !url || isInvalid || isDraft
337
402
  });
338
403
  const missingText = getMissingText(type);
@@ -353,67 +418,11 @@ export default function NavigationLinkEdit({
353
418
  icon: addSubmenu,
354
419
  title: __('Add submenu'),
355
420
  onClick: transformToSubmenu
356
- }))), createElement(InspectorControls, null, createElement(PanelBody, {
357
- title: __('Settings')
358
- }, createElement(TextControl, {
359
- __nextHasNoMarginBottom: true,
360
- __next40pxDefaultSize: true,
361
- value: label ? stripHTML(label) : '',
362
- onChange: labelValue => {
363
- setAttributes({
364
- label: labelValue
365
- });
366
- },
367
- label: __('Text'),
368
- autoComplete: "off",
369
- onFocus: () => setIsLabelFieldFocused(true),
370
- onBlur: () => setIsLabelFieldFocused(false)
371
- }), createElement(TextControl, {
372
- __nextHasNoMarginBottom: true,
373
- __next40pxDefaultSize: true,
374
- value: url ? safeDecodeURI(url) : '',
375
- onChange: urlValue => {
376
- updateAttributes({
377
- url: urlValue
378
- }, setAttributes, attributes);
379
- },
380
- label: __('Link'),
381
- autoComplete: "off"
382
- }), createElement(TextareaControl, {
383
- __nextHasNoMarginBottom: true,
384
- value: description || '',
385
- onChange: descriptionValue => {
386
- setAttributes({
387
- description: descriptionValue
388
- });
389
- },
390
- label: __('Description'),
391
- help: __('The description will be displayed in the menu if the current theme supports it.')
392
- }), createElement(TextControl, {
393
- __nextHasNoMarginBottom: true,
394
- __next40pxDefaultSize: true,
395
- value: title || '',
396
- onChange: titleValue => {
397
- setAttributes({
398
- title: titleValue
399
- });
400
- },
401
- label: __('Title attribute'),
402
- autoComplete: "off",
403
- help: __('Additional information to help clarify the purpose of the link.')
404
- }), createElement(TextControl, {
405
- __nextHasNoMarginBottom: true,
406
- __next40pxDefaultSize: true,
407
- value: rel || '',
408
- onChange: relValue => {
409
- setAttributes({
410
- rel: relValue
411
- });
412
- },
413
- label: __('Rel attribute'),
414
- autoComplete: "off",
415
- help: __('The relationship of the linked URL as space-separated link types.')
416
- }))), createElement("div", {
421
+ }))), createElement(InspectorControls, null, createElement(Controls, {
422
+ attributes: attributes,
423
+ setAttributes: setAttributes,
424
+ setIsLabelFieldFocused: setIsLabelFieldFocused
425
+ })), createElement("div", {
417
426
  ...blockProps
418
427
  }, createElement("a", {
419
428
  className: classes
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","createBlock","useSelect","useDispatch","PanelBody","TextControl","TextareaControl","ToolbarButton","Tooltip","ToolbarGroup","displayShortcut","isKeyboardEvent","__","BlockControls","InspectorControls","RichText","useBlockProps","store","blockEditorStore","getColorClassName","useInnerBlocksProps","isURL","prependHTTP","safeDecodeURI","useState","useEffect","useRef","__unstableStripHTML","stripHTML","decodeEntities","link","linkIcon","addSubmenu","coreStore","useMergeRefs","usePrevious","LinkUI","updateAttributes","getColors","DEFAULT_BLOCK","name","useIsDraggingWithin","elementRef","isDraggingWithin","setIsDraggingWithin","ownerDocument","current","handleDragStart","event","handleDragEnter","handleDragEnd","contains","target","addEventListener","removeEventListener","useIsInvalidLink","kind","type","id","isPostType","hasId","Number","isInteger","postStatus","select","getEntityRecord","status","isInvalid","isDraft","getMissingText","missingText","NavigationLinkEdit","attributes","isSelected","setAttributes","insertBlocksAfter","mergeBlocks","onReplace","context","clientId","label","url","description","rel","title","maxNestingLevel","replaceBlock","__unstableMarkNextChangeAsNotPersistent","selectPreviousBlock","isLinkOpen","setIsLinkOpen","openedBy","setOpenedBy","popoverAnchor","setPopoverAnchor","listItemRef","itemLabelPlaceholder","ref","prevUrl","isLabelFieldFocused","setIsLabelFieldFocused","isAtMaxNesting","isTopLevelLink","isParentOfSelectedBlock","hasChildren","getBlockCount","getBlockName","getBlockRootClientId","hasSelectedInnerBlock","getBlockParentsByBlockName","length","getBlocks","transformToSubmenu","innerBlocks","newSubmenu","test","selectLabelText","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","removeLink","undefined","opensInNewTab","textColor","customTextColor","backgroundColor","customBackgroundColor","onKeyDown","primary","preventDefault","stopPropagation","blockProps","className","style","color","innerBlocksProps","defaultBlock","directInsert","renderAppender","onClick","classes","placeholderText","tooltipText","createElement","Fragment","icon","shortcut","currentTarget","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","labelValue","autoComplete","onFocus","onBlur","urlValue","descriptionValue","help","titleValue","relValue","text","identifier","onMerge","__unstableOnSplitAtEnd","placeholder","withoutInteractiveFormatting","allowedFormats","trim","onClose","anchor","onRemove","updatedValue"],"sources":["@wordpress/block-library/src/navigation-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tTextControl,\n\tTextareaControl,\n\tToolbarButton,\n\tTooltip,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tgetColorClassName,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\nimport { isURL, prependHTTP, safeDecodeURI } from '@wordpress/url';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { link as linkIcon, addSubmenu } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useMergeRefs, usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { LinkUI } from './link-ui';\nimport { updateAttributes } from './update-attributes';\nimport { getColors } from '../navigation/edit/utils';\n\nconst DEFAULT_BLOCK = { name: 'core/navigation-link' };\n\n/**\n * A React hook to determine if it's dragging within the target element.\n *\n * @typedef {import('@wordpress/element').RefObject} RefObject\n *\n * @param {RefObject<HTMLElement>} elementRef The target elementRef object.\n *\n * @return {boolean} Is dragging within the target element.\n */\nconst useIsDraggingWithin = ( elementRef ) => {\n\tconst [ isDraggingWithin, setIsDraggingWithin ] = useState( false );\n\n\tuseEffect( () => {\n\t\tconst { ownerDocument } = elementRef.current;\n\n\t\tfunction handleDragStart( event ) {\n\t\t\t// Check the first time when the dragging starts.\n\t\t\thandleDragEnter( event );\n\t\t}\n\n\t\t// Set to false whenever the user cancel the drag event by either releasing the mouse or press Escape.\n\t\tfunction handleDragEnd() {\n\t\t\tsetIsDraggingWithin( false );\n\t\t}\n\n\t\tfunction handleDragEnter( event ) {\n\t\t\t// Check if the current target is inside the item element.\n\t\t\tif ( elementRef.current.contains( event.target ) ) {\n\t\t\t\tsetIsDraggingWithin( true );\n\t\t\t} else {\n\t\t\t\tsetIsDraggingWithin( false );\n\t\t\t}\n\t\t}\n\n\t\t// Bind these events to the document to catch all drag events.\n\t\t// Ideally, we can also use `event.relatedTarget`, but sadly that\n\t\t// doesn't work in Safari.\n\t\townerDocument.addEventListener( 'dragstart', handleDragStart );\n\t\townerDocument.addEventListener( 'dragend', handleDragEnd );\n\t\townerDocument.addEventListener( 'dragenter', handleDragEnter );\n\n\t\treturn () => {\n\t\t\townerDocument.removeEventListener( 'dragstart', handleDragStart );\n\t\t\townerDocument.removeEventListener( 'dragend', handleDragEnd );\n\t\t\townerDocument.removeEventListener( 'dragenter', handleDragEnter );\n\t\t};\n\t}, [ elementRef ] );\n\n\treturn isDraggingWithin;\n};\n\nconst useIsInvalidLink = ( kind, type, id ) => {\n\tconst isPostType =\n\t\tkind === 'post-type' || type === 'post' || type === 'page';\n\tconst hasId = Number.isInteger( id );\n\tconst postStatus = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isPostType ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\treturn getEntityRecord( 'postType', type, id )?.status;\n\t\t},\n\t\t[ isPostType, type, id ]\n\t);\n\n\t// Check Navigation Link validity if:\n\t// 1. Link is 'post-type'.\n\t// 2. It has an id.\n\t// 3. It's neither null, nor undefined, as valid items might be either of those while loading.\n\t// If those conditions are met, check if\n\t// 1. The post status is published.\n\t// 2. The Navigation Link item has no label.\n\t// If either of those is true, invalidate.\n\tconst isInvalid =\n\t\tisPostType && hasId && postStatus && 'trash' === postStatus;\n\tconst isDraft = 'draft' === postStatus;\n\n\treturn [ isInvalid, isDraft ];\n};\n\nfunction getMissingText( type ) {\n\tlet missingText = '';\n\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\t\t/* translators: label for missing post in navigation link block */\n\t\t\tmissingText = __( 'Select post' );\n\t\t\tbreak;\n\t\tcase 'page':\n\t\t\t/* translators: label for missing page in navigation link block */\n\t\t\tmissingText = __( 'Select page' );\n\t\t\tbreak;\n\t\tcase 'category':\n\t\t\t/* translators: label for missing category in navigation link block */\n\t\t\tmissingText = __( 'Select category' );\n\t\t\tbreak;\n\t\tcase 'tag':\n\t\t\t/* translators: label for missing tag in navigation link block */\n\t\t\tmissingText = __( 'Select tag' );\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t/* translators: label for missing values in navigation link block */\n\t\t\tmissingText = __( 'Add link' );\n\t}\n\n\treturn missingText;\n}\n\nexport default function NavigationLinkEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst { id, label, type, url, description, rel, title, kind } = attributes;\n\n\tconst [ isInvalid, isDraft ] = useIsInvalidLink( kind, type, id );\n\tconst { maxNestingLevel } = context;\n\n\tconst {\n\t\treplaceBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tselectPreviousBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst [ isLinkOpen, setIsLinkOpen ] = useState( false );\n\t// Store what element opened the popover, so we know where to return focus to (toolbar button vs navigation link text)\n\tconst [ openedBy, setOpenedBy ] = useState( null );\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst listItemRef = useRef( null );\n\tconst isDraggingWithin = useIsDraggingWithin( listItemRef );\n\tconst itemLabelPlaceholder = __( 'Add label…' );\n\tconst ref = useRef();\n\tconst prevUrl = usePrevious( url );\n\n\t// Change the label using inspector causes rich text to change focus on firefox.\n\t// This is a workaround to keep the focus on the label field when label filed is focused we don't render the rich text.\n\tconst [ isLabelFieldFocused, setIsLabelFieldFocused ] = useState( false );\n\n\tconst {\n\t\tisAtMaxNesting,\n\t\tisTopLevelLink,\n\t\tisParentOfSelectedBlock,\n\t\thasChildren,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\tisAtMaxNesting:\n\t\t\t\t\tgetBlockParentsByBlockName( clientId, [\n\t\t\t\t\t\t'core/navigation-link',\n\t\t\t\t\t\t'core/navigation-submenu',\n\t\t\t\t\t] ).length >= maxNestingLevel,\n\t\t\t\tisTopLevelLink:\n\t\t\t\t\tgetBlockName( getBlockRootClientId( clientId ) ) ===\n\t\t\t\t\t'core/navigation',\n\t\t\t\tisParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\ttrue\n\t\t\t\t),\n\t\t\t\thasChildren: !! getBlockCount( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId, maxNestingLevel ]\n\t);\n\tconst { getBlocks } = useSelect( blockEditorStore );\n\n\t/**\n\t * Transform to submenu block.\n\t */\n\tconst transformToSubmenu = () => {\n\t\tconst innerBlocks = getBlocks( clientId );\n\t\tconst newSubmenu = createBlock(\n\t\t\t'core/navigation-submenu',\n\t\t\tattributes,\n\t\t\tinnerBlocks.length > 0\n\t\t\t\t? innerBlocks\n\t\t\t\t: [ createBlock( 'core/navigation-link' ) ]\n\t\t);\n\t\treplaceBlock( clientId, newSubmenu );\n\t};\n\n\tuseEffect( () => {\n\t\t// Show the LinkControl on mount if the URL is empty\n\t\t// ( When adding a new menu item)\n\t\t// This can't be done in the useState call because it conflicts\n\t\t// with the autofocus behavior of the BlockListBlock component.\n\t\tif ( ! url ) {\n\t\t\tsetIsLinkOpen( true );\n\t\t}\n\t}, [ url ] );\n\n\tuseEffect( () => {\n\t\t// If block has inner blocks, transform to Submenu.\n\t\tif ( hasChildren ) {\n\t\t\t// This side-effect should not create an undo level as those should\n\t\t\t// only be created via user interactions.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\ttransformToSubmenu();\n\t\t}\n\t}, [ hasChildren ] );\n\n\t/**\n\t * The hook shouldn't be necessary but due to a focus loss happening\n\t * when selecting a suggestion in the link popover, we force close on block unselection.\n\t */\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsLinkOpen( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// If the LinkControl popover is open and the URL has changed, close the LinkControl and focus the label text.\n\tuseEffect( () => {\n\t\t// We only want to do this when the URL has gone from nothing to a new URL AND the label looks like a URL\n\t\tif (\n\t\t\t! prevUrl &&\n\t\t\turl &&\n\t\t\tisLinkOpen &&\n\t\t\tisURL( prependHTTP( label ) ) &&\n\t\t\t/^.+\\.[a-z]+/.test( label )\n\t\t) {\n\t\t\t// Focus and select the label text.\n\t\t\tselectLabelText();\n\t\t}\n\t}, [ prevUrl, url, isLinkOpen, label ] );\n\n\t/**\n\t * Focus the Link label text and select it.\n\t */\n\tfunction selectLabelText() {\n\t\tref.current.focus();\n\t\tconst { ownerDocument } = ref.current;\n\t\tconst { defaultView } = ownerDocument;\n\t\tconst selection = defaultView.getSelection();\n\t\tconst range = ownerDocument.createRange();\n\t\t// Get the range of the current ref contents so we can add this range to the selection.\n\t\trange.selectNodeContents( ref.current );\n\t\tselection.removeAllRanges();\n\t\tselection.addRange( range );\n\t}\n\n\t/**\n\t * Removes the current link if set.\n\t */\n\tfunction removeLink() {\n\t\t// Reset all attributes that comprise the link.\n\t\t// It is critical that all attributes are reset\n\t\t// to their default values otherwise this may\n\t\t// in advertently trigger side effects because\n\t\t// the values will have \"changed\".\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlabel: undefined,\n\t\t\tid: undefined,\n\t\t\tkind: undefined,\n\t\t\ttype: undefined,\n\t\t\topensInNewTab: false,\n\t\t} );\n\n\t\t// Close the link editing UI.\n\t\tsetIsLinkOpen( false );\n\t}\n\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t} = getColors( context, ! isTopLevelLink );\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\t// Required to prevent the command center from opening,\n\t\t\t// as it shares the CMD+K shortcut.\n\t\t\t// See https://github.com/WordPress/gutenberg/pull/59845.\n\t\t\tevent.preventDefault();\n\t\t\t// If this link is a child of a parent submenu item, the parent submenu item event will also open, closing this popover\n\t\t\tevent.stopPropagation();\n\t\t\tsetIsLinkOpen( true );\n\t\t\tsetOpenedBy( ref.current );\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, listItemRef ] ),\n\t\tclassName: classnames( 'wp-block-navigation-item', {\n\t\t\t'is-editing': isSelected || isParentOfSelectedBlock,\n\t\t\t'is-dragging-within': isDraggingWithin,\n\t\t\t'has-link': !! url,\n\t\t\t'has-child': hasChildren,\n\t\t\t'has-text-color': !! textColor || !! customTextColor,\n\t\t\t[ getColorClassName( 'color', textColor ) ]: !! textColor,\n\t\t\t'has-background': !! backgroundColor || customBackgroundColor,\n\t\t\t[ getColorClassName( 'background-color', backgroundColor ) ]:\n\t\t\t\t!! backgroundColor,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor && customTextColor,\n\t\t\tbackgroundColor: ! backgroundColor && customBackgroundColor,\n\t\t},\n\t\tonKeyDown,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\t...blockProps,\n\t\t\tclassName: 'remove-outline', // Remove the outline from the inner blocks container.\n\t\t},\n\t\t{\n\t\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\t\tdirectInsert: true,\n\t\t\trenderAppender: false,\n\t\t}\n\t);\n\n\tif ( ! url || isInvalid || isDraft ) {\n\t\tblockProps.onClick = () => {\n\t\t\tsetIsLinkOpen( true );\n\t\t\tsetOpenedBy( ref.current );\n\t\t};\n\t}\n\n\tconst classes = classnames( 'wp-block-navigation-item__content', {\n\t\t'wp-block-navigation-link__placeholder': ! url || isInvalid || isDraft,\n\t} );\n\n\tconst missingText = getMissingText( type );\n\t/* translators: Whether the navigation link is Invalid or a Draft. */\n\tconst placeholderText = `(${\n\t\tisInvalid ? __( 'Invalid' ) : __( 'Draft' )\n\t})`;\n\tconst tooltipText =\n\t\tisInvalid || isDraft\n\t\t\t? __( 'This item has been deleted, or is a draft' )\n\t\t\t: __( 'This item is missing a link' );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\tsetOpenedBy( event.currentTarget );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isAtMaxNesting && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"submenu\"\n\t\t\t\t\t\t\ticon={ addSubmenu }\n\t\t\t\t\t\t\ttitle={ __( 'Add submenu' ) }\n\t\t\t\t\t\t\tonClick={ transformToSubmenu }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t{ /* Warning, this duplicated in packages/block-library/src/navigation-submenu/edit.js */ }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvalue={ label ? stripHTML( label ) : '' }\n\t\t\t\t\t\tonChange={ ( labelValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { label: labelValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\tonFocus={ () => setIsLabelFieldFocused( true ) }\n\t\t\t\t\t\tonBlur={ () => setIsLabelFieldFocused( false ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvalue={ url ? safeDecodeURI( url ) : '' }\n\t\t\t\t\t\tonChange={ ( urlValue ) => {\n\t\t\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\t\t\t{ url: urlValue },\n\t\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\t\tattributes\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t/>\n\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ description || '' }\n\t\t\t\t\t\tonChange={ ( descriptionValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { description: descriptionValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'The description will be displayed in the menu if the current theme supports it.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\t\tonChange={ ( titleValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { title: titleValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Additional information to help clarify the purpose of the link.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( relValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { rel: relValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'The relationship of the linked URL as space-separated link types.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ /* eslint-disable jsx-a11y/anchor-is-valid */ }\n\t\t\t\t<a className={ classes }>\n\t\t\t\t\t{ /* eslint-enable */ }\n\t\t\t\t\t{ ! url ? (\n\t\t\t\t\t\t<div className=\"wp-block-navigation-link__placeholder-text\">\n\t\t\t\t\t\t\t<Tooltip text={ tooltipText }>\n\t\t\t\t\t\t\t\t<span>{ missingText }</span>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isInvalid &&\n\t\t\t\t\t\t\t\t! isDraft &&\n\t\t\t\t\t\t\t\t! isLabelFieldFocused && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ ( labelValue ) =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: labelValue,\n\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'core/navigation-link'\n\t\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)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation link text'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t\tallowedFormats={ [\n\t\t\t\t\t\t\t\t\t\t\t\t'core/bold',\n\t\t\t\t\t\t\t\t\t\t\t\t'core/italic',\n\t\t\t\t\t\t\t\t\t\t\t\t'core/image',\n\t\t\t\t\t\t\t\t\t\t\t\t'core/strikethrough',\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\t{ description && (\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"wp-block-navigation-item__description\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t\t\t\t\t\t</span>\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{ ( isInvalid ||\n\t\t\t\t\t\t\t\tisDraft ||\n\t\t\t\t\t\t\t\tisLabelFieldFocused ) && (\n\t\t\t\t\t\t\t\t<div className=\"wp-block-navigation-link__placeholder-text wp-block-navigation-link__label\">\n\t\t\t\t\t\t\t\t\t<Tooltip text={ tooltipText }>\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation link text'\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\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t// Some attributes are stored in an escaped form. It's a legacy issue.\n\t\t\t\t\t\t\t\t\t\t\t\t// Ideally they would be stored in a raw, unescaped form.\n\t\t\t\t\t\t\t\t\t\t\t\t// Unescape is used here to \"recover\" the escaped characters\n\t\t\t\t\t\t\t\t\t\t\t\t// so they display without encoding.\n\t\t\t\t\t\t\t\t\t\t\t\t// See `updateAttributes` for more details.\n\t\t\t\t\t\t\t\t\t\t\t\t`${ decodeEntities( label ) } ${\n\t\t\t\t\t\t\t\t\t\t\t\t\tisInvalid || isDraft\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? placeholderText\n\t\t\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}`.trim()\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t</div>\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{ isLinkOpen && (\n\t\t\t\t\t\t<LinkUI\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tlink={ attributes }\n\t\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\t\t// If there is no link then remove the auto-inserted block.\n\t\t\t\t\t\t\t\t// This avoids empty blocks which can provided a poor UX.\n\t\t\t\t\t\t\t\tif ( ! url ) {\n\t\t\t\t\t\t\t\t\t// Select the previous block to keep focus nearby\n\t\t\t\t\t\t\t\t\tselectPreviousBlock( clientId, true );\n\t\t\t\t\t\t\t\t\t// Remove the link.\n\t\t\t\t\t\t\t\t\tonReplace( [] );\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tsetIsLinkOpen( false );\n\t\t\t\t\t\t\t\tif ( openedBy ) {\n\t\t\t\t\t\t\t\t\topenedBy.focus();\n\t\t\t\t\t\t\t\t\tsetOpenedBy( null );\n\t\t\t\t\t\t\t\t} else if ( ref.current ) {\n\t\t\t\t\t\t\t\t\t// select the ref when adding a new link\n\t\t\t\t\t\t\t\t\tref.current.focus();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// Fallback\n\t\t\t\t\t\t\t\t\tselectPreviousBlock( clientId, 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\tanchor={ popoverAnchor }\n\t\t\t\t\t\t\tonRemove={ removeLink }\n\t\t\t\t\t\t\tonChange={ ( updatedValue ) => {\n\t\t\t\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\t\t\t\tupdatedValue,\n\t\t\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\t\t\tattributes\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</a>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","createBlock","useSelect","useDispatch","PanelBody","TextControl","TextareaControl","ToolbarButton","Tooltip","ToolbarGroup","displayShortcut","isKeyboardEvent","__","BlockControls","InspectorControls","RichText","useBlockProps","store","blockEditorStore","getColorClassName","useInnerBlocksProps","isURL","prependHTTP","safeDecodeURI","useState","useEffect","useRef","__unstableStripHTML","stripHTML","decodeEntities","link","linkIcon","addSubmenu","coreStore","useMergeRefs","usePrevious","LinkUI","updateAttributes","getColors","DEFAULT_BLOCK","name","useIsDraggingWithin","elementRef","isDraggingWithin","setIsDraggingWithin","ownerDocument","current","handleDragStart","event","handleDragEnter","handleDragEnd","contains","target","addEventListener","removeEventListener","useIsInvalidLink","kind","type","id","isPostType","hasId","Number","isInteger","postStatus","select","getEntityRecord","status","isInvalid","isDraft","getMissingText","missingText","Controls","attributes","setAttributes","setIsLabelFieldFocused","label","url","description","title","rel","createElement","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","labelValue","autoComplete","onFocus","onBlur","urlValue","descriptionValue","help","titleValue","relValue","NavigationLinkEdit","isSelected","insertBlocksAfter","mergeBlocks","onReplace","context","clientId","maxNestingLevel","replaceBlock","__unstableMarkNextChangeAsNotPersistent","selectBlock","selectPreviousBlock","isLinkOpen","setIsLinkOpen","openedBy","setOpenedBy","popoverAnchor","setPopoverAnchor","listItemRef","itemLabelPlaceholder","ref","prevUrl","isLabelFieldFocused","isAtMaxNesting","isTopLevelLink","isParentOfSelectedBlock","hasChildren","getBlockCount","getBlockName","getBlockRootClientId","hasSelectedInnerBlock","getBlockParentsByBlockName","length","getBlocks","transformToSubmenu","innerBlocks","newSubmenu","test","selectLabelText","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","removeLink","undefined","opensInNewTab","textColor","customTextColor","backgroundColor","customBackgroundColor","onKeyDown","primary","preventDefault","stopPropagation","blockProps","className","style","color","innerBlocksProps","defaultBlock","directInsert","renderAppender","onClick","classes","placeholderText","tooltipText","Fragment","icon","shortcut","currentTarget","text","identifier","onMerge","__unstableOnSplitAtEnd","placeholder","withoutInteractiveFormatting","allowedFormats","trim","onClose","anchor","onRemove","updatedValue"],"sources":["@wordpress/block-library/src/navigation-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tTextControl,\n\tTextareaControl,\n\tToolbarButton,\n\tTooltip,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tgetColorClassName,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\nimport { isURL, prependHTTP, safeDecodeURI } from '@wordpress/url';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { link as linkIcon, addSubmenu } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useMergeRefs, usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { LinkUI } from './link-ui';\nimport { updateAttributes } from './update-attributes';\nimport { getColors } from '../navigation/edit/utils';\n\nconst DEFAULT_BLOCK = { name: 'core/navigation-link' };\n\n/**\n * A React hook to determine if it's dragging within the target element.\n *\n * @typedef {import('@wordpress/element').RefObject} RefObject\n *\n * @param {RefObject<HTMLElement>} elementRef The target elementRef object.\n *\n * @return {boolean} Is dragging within the target element.\n */\nconst useIsDraggingWithin = ( elementRef ) => {\n\tconst [ isDraggingWithin, setIsDraggingWithin ] = useState( false );\n\n\tuseEffect( () => {\n\t\tconst { ownerDocument } = elementRef.current;\n\n\t\tfunction handleDragStart( event ) {\n\t\t\t// Check the first time when the dragging starts.\n\t\t\thandleDragEnter( event );\n\t\t}\n\n\t\t// Set to false whenever the user cancel the drag event by either releasing the mouse or press Escape.\n\t\tfunction handleDragEnd() {\n\t\t\tsetIsDraggingWithin( false );\n\t\t}\n\n\t\tfunction handleDragEnter( event ) {\n\t\t\t// Check if the current target is inside the item element.\n\t\t\tif ( elementRef.current.contains( event.target ) ) {\n\t\t\t\tsetIsDraggingWithin( true );\n\t\t\t} else {\n\t\t\t\tsetIsDraggingWithin( false );\n\t\t\t}\n\t\t}\n\n\t\t// Bind these events to the document to catch all drag events.\n\t\t// Ideally, we can also use `event.relatedTarget`, but sadly that\n\t\t// doesn't work in Safari.\n\t\townerDocument.addEventListener( 'dragstart', handleDragStart );\n\t\townerDocument.addEventListener( 'dragend', handleDragEnd );\n\t\townerDocument.addEventListener( 'dragenter', handleDragEnter );\n\n\t\treturn () => {\n\t\t\townerDocument.removeEventListener( 'dragstart', handleDragStart );\n\t\t\townerDocument.removeEventListener( 'dragend', handleDragEnd );\n\t\t\townerDocument.removeEventListener( 'dragenter', handleDragEnter );\n\t\t};\n\t}, [ elementRef ] );\n\n\treturn isDraggingWithin;\n};\n\nconst useIsInvalidLink = ( kind, type, id ) => {\n\tconst isPostType =\n\t\tkind === 'post-type' || type === 'post' || type === 'page';\n\tconst hasId = Number.isInteger( id );\n\tconst postStatus = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isPostType ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\treturn getEntityRecord( 'postType', type, id )?.status;\n\t\t},\n\t\t[ isPostType, type, id ]\n\t);\n\n\t// Check Navigation Link validity if:\n\t// 1. Link is 'post-type'.\n\t// 2. It has an id.\n\t// 3. It's neither null, nor undefined, as valid items might be either of those while loading.\n\t// If those conditions are met, check if\n\t// 1. The post status is published.\n\t// 2. The Navigation Link item has no label.\n\t// If either of those is true, invalidate.\n\tconst isInvalid =\n\t\tisPostType && hasId && postStatus && 'trash' === postStatus;\n\tconst isDraft = 'draft' === postStatus;\n\n\treturn [ isInvalid, isDraft ];\n};\n\nfunction getMissingText( type ) {\n\tlet missingText = '';\n\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\t\t/* translators: label for missing post in navigation link block */\n\t\t\tmissingText = __( 'Select post' );\n\t\t\tbreak;\n\t\tcase 'page':\n\t\t\t/* translators: label for missing page in navigation link block */\n\t\t\tmissingText = __( 'Select page' );\n\t\t\tbreak;\n\t\tcase 'category':\n\t\t\t/* translators: label for missing category in navigation link block */\n\t\t\tmissingText = __( 'Select category' );\n\t\t\tbreak;\n\t\tcase 'tag':\n\t\t\t/* translators: label for missing tag in navigation link block */\n\t\t\tmissingText = __( 'Select tag' );\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t/* translators: label for missing values in navigation link block */\n\t\t\tmissingText = __( 'Add link' );\n\t}\n\n\treturn missingText;\n}\n\n/*\n * Warning, this duplicated in\n * packages/block-library/src/navigation-submenu/edit.js\n * Consider reuseing this components for both blocks.\n */\nfunction Controls( { attributes, setAttributes, setIsLabelFieldFocused } ) {\n\tconst { label, url, description, title, rel } = attributes;\n\treturn (\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<TextControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tvalue={ label ? stripHTML( label ) : '' }\n\t\t\t\tonChange={ ( labelValue ) => {\n\t\t\t\t\tsetAttributes( { label: labelValue } );\n\t\t\t\t} }\n\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\tautoComplete=\"off\"\n\t\t\t\tonFocus={ () => setIsLabelFieldFocused( true ) }\n\t\t\t\tonBlur={ () => setIsLabelFieldFocused( false ) }\n\t\t\t/>\n\t\t\t<TextControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tvalue={ url ? safeDecodeURI( url ) : '' }\n\t\t\t\tonChange={ ( urlValue ) => {\n\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\t{ url: urlValue },\n\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\tattributes\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\tautoComplete=\"off\"\n\t\t\t/>\n\t\t\t<TextareaControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tvalue={ description || '' }\n\t\t\t\tonChange={ ( descriptionValue ) => {\n\t\t\t\t\tsetAttributes( { description: descriptionValue } );\n\t\t\t\t} }\n\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\thelp={ __(\n\t\t\t\t\t'The description will be displayed in the menu if the current theme supports it.'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t<TextControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tvalue={ title || '' }\n\t\t\t\tonChange={ ( titleValue ) => {\n\t\t\t\t\tsetAttributes( { title: titleValue } );\n\t\t\t\t} }\n\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\tautoComplete=\"off\"\n\t\t\t\thelp={ __(\n\t\t\t\t\t'Additional information to help clarify the purpose of the link.'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t<TextControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tvalue={ rel || '' }\n\t\t\t\tonChange={ ( relValue ) => {\n\t\t\t\t\tsetAttributes( { rel: relValue } );\n\t\t\t\t} }\n\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\tautoComplete=\"off\"\n\t\t\t\thelp={ __(\n\t\t\t\t\t'The relationship of the linked URL as space-separated link types.'\n\t\t\t\t) }\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n}\n\nexport default function NavigationLinkEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst { id, label, type, url, description, kind } = attributes;\n\n\tconst [ isInvalid, isDraft ] = useIsInvalidLink( kind, type, id );\n\tconst { maxNestingLevel } = context;\n\n\tconst {\n\t\treplaceBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tselectBlock,\n\t\tselectPreviousBlock,\n\t} = useDispatch( blockEditorStore );\n\t// Have the link editing ui open on mount when lacking a url and selected.\n\tconst [ isLinkOpen, setIsLinkOpen ] = useState( isSelected && ! url );\n\t// Store what element opened the popover, so we know where to return focus to (toolbar button vs navigation link text)\n\tconst [ openedBy, setOpenedBy ] = useState( null );\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst listItemRef = useRef( null );\n\tconst isDraggingWithin = useIsDraggingWithin( listItemRef );\n\tconst itemLabelPlaceholder = __( 'Add label…' );\n\tconst ref = useRef();\n\tconst prevUrl = usePrevious( url );\n\n\t// Change the label using inspector causes rich text to change focus on firefox.\n\t// This is a workaround to keep the focus on the label field when label filed is focused we don't render the rich text.\n\tconst [ isLabelFieldFocused, setIsLabelFieldFocused ] = useState( false );\n\n\tconst {\n\t\tisAtMaxNesting,\n\t\tisTopLevelLink,\n\t\tisParentOfSelectedBlock,\n\t\thasChildren,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\tisAtMaxNesting:\n\t\t\t\t\tgetBlockParentsByBlockName( clientId, [\n\t\t\t\t\t\t'core/navigation-link',\n\t\t\t\t\t\t'core/navigation-submenu',\n\t\t\t\t\t] ).length >= maxNestingLevel,\n\t\t\t\tisTopLevelLink:\n\t\t\t\t\tgetBlockName( getBlockRootClientId( clientId ) ) ===\n\t\t\t\t\t'core/navigation',\n\t\t\t\tisParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\ttrue\n\t\t\t\t),\n\t\t\t\thasChildren: !! getBlockCount( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId, maxNestingLevel ]\n\t);\n\tconst { getBlocks } = useSelect( blockEditorStore );\n\n\t/**\n\t * Transform to submenu block.\n\t */\n\tconst transformToSubmenu = () => {\n\t\tlet innerBlocks = getBlocks( clientId );\n\t\tif ( innerBlocks.length === 0 ) {\n\t\t\tinnerBlocks = [ createBlock( 'core/navigation-link' ) ];\n\t\t\tselectBlock( innerBlocks[ 0 ].clientId );\n\t\t}\n\t\tconst newSubmenu = createBlock(\n\t\t\t'core/navigation-submenu',\n\t\t\tattributes,\n\t\t\tinnerBlocks\n\t\t);\n\t\treplaceBlock( clientId, newSubmenu );\n\t};\n\n\tuseEffect( () => {\n\t\t// If block has inner blocks, transform to Submenu.\n\t\tif ( hasChildren ) {\n\t\t\t// This side-effect should not create an undo level as those should\n\t\t\t// only be created via user interactions.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\ttransformToSubmenu();\n\t\t}\n\t}, [ hasChildren ] );\n\n\t// If the LinkControl popover is open and the URL has changed, close the LinkControl and focus the label text.\n\tuseEffect( () => {\n\t\t// We only want to do this when the URL has gone from nothing to a new URL AND the label looks like a URL\n\t\tif (\n\t\t\t! prevUrl &&\n\t\t\turl &&\n\t\t\tisLinkOpen &&\n\t\t\tisURL( prependHTTP( label ) ) &&\n\t\t\t/^.+\\.[a-z]+/.test( label )\n\t\t) {\n\t\t\t// Focus and select the label text.\n\t\t\tselectLabelText();\n\t\t}\n\t}, [ prevUrl, url, isLinkOpen, label ] );\n\n\t/**\n\t * Focus the Link label text and select it.\n\t */\n\tfunction selectLabelText() {\n\t\tref.current.focus();\n\t\tconst { ownerDocument } = ref.current;\n\t\tconst { defaultView } = ownerDocument;\n\t\tconst selection = defaultView.getSelection();\n\t\tconst range = ownerDocument.createRange();\n\t\t// Get the range of the current ref contents so we can add this range to the selection.\n\t\trange.selectNodeContents( ref.current );\n\t\tselection.removeAllRanges();\n\t\tselection.addRange( range );\n\t}\n\n\t/**\n\t * Removes the current link if set.\n\t */\n\tfunction removeLink() {\n\t\t// Reset all attributes that comprise the link.\n\t\t// It is critical that all attributes are reset\n\t\t// to their default values otherwise this may\n\t\t// in advertently trigger side effects because\n\t\t// the values will have \"changed\".\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlabel: undefined,\n\t\t\tid: undefined,\n\t\t\tkind: undefined,\n\t\t\ttype: undefined,\n\t\t\topensInNewTab: false,\n\t\t} );\n\n\t\t// Close the link editing UI.\n\t\tsetIsLinkOpen( false );\n\t}\n\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t} = getColors( context, ! isTopLevelLink );\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\t// Required to prevent the command center from opening,\n\t\t\t// as it shares the CMD+K shortcut.\n\t\t\t// See https://github.com/WordPress/gutenberg/pull/59845.\n\t\t\tevent.preventDefault();\n\t\t\t// If this link is a child of a parent submenu item, the parent submenu item event will also open, closing this popover\n\t\t\tevent.stopPropagation();\n\t\t\tsetIsLinkOpen( true );\n\t\t\tsetOpenedBy( ref.current );\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, listItemRef ] ),\n\t\tclassName: clsx( 'wp-block-navigation-item', {\n\t\t\t'is-editing': isSelected || isParentOfSelectedBlock,\n\t\t\t'is-dragging-within': isDraggingWithin,\n\t\t\t'has-link': !! url,\n\t\t\t'has-child': hasChildren,\n\t\t\t'has-text-color': !! textColor || !! customTextColor,\n\t\t\t[ getColorClassName( 'color', textColor ) ]: !! textColor,\n\t\t\t'has-background': !! backgroundColor || customBackgroundColor,\n\t\t\t[ getColorClassName( 'background-color', backgroundColor ) ]:\n\t\t\t\t!! backgroundColor,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor && customTextColor,\n\t\t\tbackgroundColor: ! backgroundColor && customBackgroundColor,\n\t\t},\n\t\tonKeyDown,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\t...blockProps,\n\t\t\tclassName: 'remove-outline', // Remove the outline from the inner blocks container.\n\t\t},\n\t\t{\n\t\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\t\tdirectInsert: true,\n\t\t\trenderAppender: false,\n\t\t}\n\t);\n\n\tif ( ! url || isInvalid || isDraft ) {\n\t\tblockProps.onClick = () => {\n\t\t\tsetIsLinkOpen( true );\n\t\t\tsetOpenedBy( ref.current );\n\t\t};\n\t}\n\n\tconst classes = clsx( 'wp-block-navigation-item__content', {\n\t\t'wp-block-navigation-link__placeholder': ! url || isInvalid || isDraft,\n\t} );\n\n\tconst missingText = getMissingText( type );\n\t/* translators: Whether the navigation link is Invalid or a Draft. */\n\tconst placeholderText = `(${\n\t\tisInvalid ? __( 'Invalid' ) : __( 'Draft' )\n\t})`;\n\tconst tooltipText =\n\t\tisInvalid || isDraft\n\t\t\t? __( 'This item has been deleted, or is a draft' )\n\t\t\t: __( 'This item is missing a link' );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\tsetOpenedBy( event.currentTarget );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isAtMaxNesting && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"submenu\"\n\t\t\t\t\t\t\ticon={ addSubmenu }\n\t\t\t\t\t\t\ttitle={ __( 'Add submenu' ) }\n\t\t\t\t\t\t\tonClick={ transformToSubmenu }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t{ /* Warning, this duplicated in packages/block-library/src/navigation-submenu/edit.js */ }\n\t\t\t<InspectorControls>\n\t\t\t\t<Controls\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tsetIsLabelFieldFocused={ setIsLabelFieldFocused }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ /* eslint-disable jsx-a11y/anchor-is-valid */ }\n\t\t\t\t<a className={ classes }>\n\t\t\t\t\t{ /* eslint-enable */ }\n\t\t\t\t\t{ ! url ? (\n\t\t\t\t\t\t<div className=\"wp-block-navigation-link__placeholder-text\">\n\t\t\t\t\t\t\t<Tooltip text={ tooltipText }>\n\t\t\t\t\t\t\t\t<span>{ missingText }</span>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isInvalid &&\n\t\t\t\t\t\t\t\t! isDraft &&\n\t\t\t\t\t\t\t\t! isLabelFieldFocused && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ ( labelValue ) =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: labelValue,\n\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'core/navigation-link'\n\t\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)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation link text'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t\tallowedFormats={ [\n\t\t\t\t\t\t\t\t\t\t\t\t'core/bold',\n\t\t\t\t\t\t\t\t\t\t\t\t'core/italic',\n\t\t\t\t\t\t\t\t\t\t\t\t'core/image',\n\t\t\t\t\t\t\t\t\t\t\t\t'core/strikethrough',\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\t{ description && (\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"wp-block-navigation-item__description\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t\t\t\t\t\t</span>\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{ ( isInvalid ||\n\t\t\t\t\t\t\t\tisDraft ||\n\t\t\t\t\t\t\t\tisLabelFieldFocused ) && (\n\t\t\t\t\t\t\t\t<div className=\"wp-block-navigation-link__placeholder-text wp-block-navigation-link__label\">\n\t\t\t\t\t\t\t\t\t<Tooltip text={ tooltipText }>\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation link text'\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\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t// Some attributes are stored in an escaped form. It's a legacy issue.\n\t\t\t\t\t\t\t\t\t\t\t\t// Ideally they would be stored in a raw, unescaped form.\n\t\t\t\t\t\t\t\t\t\t\t\t// Unescape is used here to \"recover\" the escaped characters\n\t\t\t\t\t\t\t\t\t\t\t\t// so they display without encoding.\n\t\t\t\t\t\t\t\t\t\t\t\t// See `updateAttributes` for more details.\n\t\t\t\t\t\t\t\t\t\t\t\t`${ decodeEntities( label ) } ${\n\t\t\t\t\t\t\t\t\t\t\t\t\tisInvalid || isDraft\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? placeholderText\n\t\t\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}`.trim()\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t</div>\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{ isLinkOpen && (\n\t\t\t\t\t\t<LinkUI\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tlink={ attributes }\n\t\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\t\t// If there is no link then remove the auto-inserted block.\n\t\t\t\t\t\t\t\t// This avoids empty blocks which can provided a poor UX.\n\t\t\t\t\t\t\t\tif ( ! url ) {\n\t\t\t\t\t\t\t\t\t// Select the previous block to keep focus nearby\n\t\t\t\t\t\t\t\t\tselectPreviousBlock( clientId, true );\n\t\t\t\t\t\t\t\t\t// Remove the link.\n\t\t\t\t\t\t\t\t\tonReplace( [] );\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tsetIsLinkOpen( false );\n\t\t\t\t\t\t\t\tif ( openedBy ) {\n\t\t\t\t\t\t\t\t\topenedBy.focus();\n\t\t\t\t\t\t\t\t\tsetOpenedBy( null );\n\t\t\t\t\t\t\t\t} else if ( ref.current ) {\n\t\t\t\t\t\t\t\t\t// select the ref when adding a new link\n\t\t\t\t\t\t\t\t\tref.current.focus();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// Fallback\n\t\t\t\t\t\t\t\t\tselectPreviousBlock( clientId, 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\tanchor={ popoverAnchor }\n\t\t\t\t\t\t\tonRemove={ removeLink }\n\t\t\t\t\t\t\tonChange={ ( updatedValue ) => {\n\t\t\t\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\t\t\t\tupdatedValue,\n\t\t\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\t\t\tattributes\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</a>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { createElement, Fragment } from "react";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -127,7 +127,6 @@ function LinkUIBlockInserter({
127
127
  export function LinkUI(props) {
128
128
  const [addingBlock, setAddingBlock] = useState(false);
129
129
  const [focusAddBlockButton, setFocusAddBlockButton] = useState(false);
130
- const [showBackdrop, setShowBackdrop] = useState(true);
131
130
  const {
132
131
  saveEntityRecord
133
132
  } = useDispatch(coreStore);
@@ -186,11 +185,7 @@ export function LinkUI(props) {
186
185
  const {
187
186
  onClose: onSelectBlock
188
187
  } = props;
189
- return createElement(Fragment, null, showBackdrop && createElement("div", {
190
- className: "components-popover-pointer-events-trap",
191
- "aria-hidden": "true",
192
- onClick: () => setShowBackdrop(false)
193
- }), createElement(Popover, {
188
+ return createElement(Popover, {
194
189
  placement: "bottom",
195
190
  onClose: props.onClose,
196
191
  anchor: props.anchor,
@@ -243,7 +238,7 @@ export function LinkUI(props) {
243
238
  setFocusAddBlockButton(true);
244
239
  },
245
240
  onSelectBlock: onSelectBlock
246
- })));
241
+ }));
247
242
  }
248
243
  const LinkUITools = ({
249
244
  setAddingBlock,