@wordpress/block-library 9.9.0 → 9.10.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 (705) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/audio/edit.native.js +1 -1
  3. package/build/audio/edit.native.js.map +1 -1
  4. package/build/block/edit.js.map +1 -1
  5. package/build/block/edit.native.js +2 -2
  6. package/build/block/edit.native.js.map +1 -1
  7. package/build/block-keyboard-shortcuts/index.js.map +1 -1
  8. package/build/button/deprecated.js.map +1 -1
  9. package/build/button/edit.js.map +1 -1
  10. package/build/button/edit.native.js.map +1 -1
  11. package/build/button/get-updated-link-attributes.js.map +1 -1
  12. package/build/button/save.js.map +1 -1
  13. package/build/buttons/deprecated.js.map +1 -1
  14. package/build/categories/edit.js +1 -1
  15. package/build/categories/edit.js.map +1 -1
  16. package/build/column/deprecated.js.map +1 -1
  17. package/build/column/edit.js +1 -1
  18. package/build/column/edit.js.map +1 -1
  19. package/build/column/edit.native.js.map +1 -1
  20. package/build/column/save.js.map +1 -1
  21. package/build/columns/deprecated.js.map +1 -1
  22. package/build/columns/edit.js.map +1 -1
  23. package/build/columns/edit.native.js +1 -1
  24. package/build/columns/edit.native.js.map +1 -1
  25. package/build/columns/save.js.map +1 -1
  26. package/build/columns/transforms.js.map +1 -1
  27. package/build/columns/utils.js.map +1 -1
  28. package/build/comment-author-avatar/edit.js.map +1 -1
  29. package/build/comment-author-name/edit.js.map +1 -1
  30. package/build/comment-content/edit.js.map +1 -1
  31. package/build/comment-edit-link/edit.js.map +1 -1
  32. package/build/comment-reply-link/edit.js.map +1 -1
  33. package/build/comment-template/hooks.js.map +1 -1
  34. package/build/comments/edit/comments-legacy.js.map +1 -1
  35. package/build/comments-pagination-next/edit.js.map +1 -1
  36. package/build/comments-pagination-numbers/edit.js.map +1 -1
  37. package/build/comments-pagination-previous/edit.js.map +1 -1
  38. package/build/comments-title/edit.js +2 -2
  39. package/build/comments-title/edit.js.map +1 -1
  40. package/build/cover/controls.native.js.map +1 -1
  41. package/build/cover/deprecated.js.map +1 -1
  42. package/build/cover/edit/index.js.map +1 -1
  43. package/build/cover/edit/inspector-controls.js +74 -30
  44. package/build/cover/edit/inspector-controls.js.map +1 -1
  45. package/build/cover/save.js.map +1 -1
  46. package/build/cover/shared.js.map +1 -1
  47. package/build/embed/deprecated.js.map +1 -1
  48. package/build/embed/edit.js +16 -3
  49. package/build/embed/edit.js.map +1 -1
  50. package/build/embed/embed-preview.js +5 -19
  51. package/build/embed/embed-preview.js.map +1 -1
  52. package/build/embed/embed-preview.native.js +1 -1
  53. package/build/embed/embed-preview.native.js.map +1 -1
  54. package/build/embed/save.js.map +1 -1
  55. package/build/embed/transforms.js.map +1 -1
  56. package/build/embed/variations.js +1 -1
  57. package/build/embed/variations.js.map +1 -1
  58. package/build/embed/wp-embed-preview.native.js.map +1 -1
  59. package/build/file/deprecated.js +3 -3
  60. package/build/file/deprecated.js.map +1 -1
  61. package/build/file/edit.js.map +1 -1
  62. package/build/file/save.js.map +1 -1
  63. package/build/footnotes/edit.js.map +1 -1
  64. package/build/footnotes/format.js.map +1 -1
  65. package/build/form/edit.js.map +1 -1
  66. package/build/form-submission-notification/edit.js.map +1 -1
  67. package/build/form-submission-notification/save.js.map +1 -1
  68. package/build/freeform/edit.js.map +1 -1
  69. package/build/freeform/modal.js.map +1 -1
  70. package/build/gallery/deprecated.js.map +1 -1
  71. package/build/gallery/edit.js +2 -2
  72. package/build/gallery/edit.js.map +1 -1
  73. package/build/gallery/gallery.js.map +1 -1
  74. package/build/gallery/gallery.native.js +1 -1
  75. package/build/gallery/gallery.native.js.map +1 -1
  76. package/build/gallery/gap-styles.js.map +1 -1
  77. package/build/gallery/save.js.map +1 -1
  78. package/build/group/placeholder.js.map +1 -1
  79. package/build/heading/deprecated.js.map +1 -1
  80. package/build/heading/edit.js.map +1 -1
  81. package/build/heading/edit.native.js.map +1 -1
  82. package/build/heading/index.js +2 -2
  83. package/build/heading/index.js.map +1 -1
  84. package/build/heading/save.js.map +1 -1
  85. package/build/heading/transforms.js.map +1 -1
  86. package/build/home-link/edit.js.map +1 -1
  87. package/build/html/preview.js.map +1 -1
  88. package/build/image/deprecated.js.map +1 -1
  89. package/build/image/edit.js +1 -1
  90. package/build/image/edit.js.map +1 -1
  91. package/build/image/edit.native.js +1 -1
  92. package/build/image/edit.native.js.map +1 -1
  93. package/build/image/image.js +3 -3
  94. package/build/image/image.js.map +1 -1
  95. package/build/image/save.js.map +1 -1
  96. package/build/image/view.js.map +1 -1
  97. package/build/index.native.js.map +1 -1
  98. package/build/latest-posts/edit.js +2 -2
  99. package/build/latest-posts/edit.js.map +1 -1
  100. package/build/media-text/deprecated.js.map +1 -1
  101. package/build/media-text/edit.js.map +1 -1
  102. package/build/media-text/edit.native.js.map +1 -1
  103. package/build/media-text/image-fill.js.map +1 -1
  104. package/build/media-text/save.js.map +1 -1
  105. package/build/missing/edit.js +2 -2
  106. package/build/missing/edit.js.map +1 -1
  107. package/build/more/edit.js.map +1 -1
  108. package/build/more/save.js.map +1 -1
  109. package/build/navigation/edit/accessible-menu-description.js.map +1 -1
  110. package/build/navigation/edit/index.js.map +1 -1
  111. package/build/navigation/edit/leaf-more-menu.js +1 -1
  112. package/build/navigation/edit/leaf-more-menu.js.map +1 -1
  113. package/build/navigation/edit/menu-inspector-controls.js +1 -1
  114. package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
  115. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  116. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  117. package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
  118. package/build/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  119. package/build/navigation/edit/utils.js.map +1 -1
  120. package/build/navigation/use-navigation-menu.js.map +1 -1
  121. package/build/navigation-link/edit.js.map +1 -1
  122. package/build/navigation-link/link-ui.js.map +1 -1
  123. package/build/nextpage/edit.native.js +1 -1
  124. package/build/nextpage/edit.native.js.map +1 -1
  125. package/build/page-list-item/edit.js +1 -1
  126. package/build/page-list-item/edit.js.map +1 -1
  127. package/build/paragraph/deprecated.js.map +1 -1
  128. package/build/paragraph/edit.js.map +1 -1
  129. package/build/paragraph/save.js.map +1 -1
  130. package/build/pattern/recursion-detector.js +1 -0
  131. package/build/pattern/recursion-detector.js.map +1 -1
  132. package/build/post-author/edit.js.map +1 -1
  133. package/build/post-author-biography/edit.js.map +1 -1
  134. package/build/post-author-name/edit.js.map +1 -1
  135. package/build/post-comments-count/edit.js.map +1 -1
  136. package/build/post-comments-form/edit.js.map +1 -1
  137. package/build/post-comments-form/form.js +1 -1
  138. package/build/post-comments-form/form.js.map +1 -1
  139. package/build/post-comments-link/edit.js +1 -1
  140. package/build/post-comments-link/edit.js.map +1 -1
  141. package/build/post-content/edit.js +29 -2
  142. package/build/post-content/edit.js.map +1 -1
  143. package/build/post-date/edit.js.map +1 -1
  144. package/build/post-excerpt/edit.js.map +1 -1
  145. package/build/post-navigation-link/edit.js.map +1 -1
  146. package/build/post-template/edit.js.map +1 -1
  147. package/build/post-terms/edit.js.map +1 -1
  148. package/build/post-time-to-read/edit.js +1 -1
  149. package/build/post-time-to-read/edit.js.map +1 -1
  150. package/build/post-title/edit.js.map +1 -1
  151. package/build/pullquote/deprecated.js.map +1 -1
  152. package/build/pullquote/edit.js.map +1 -1
  153. package/build/pullquote/save.js.map +1 -1
  154. package/build/pullquote/shared.js.map +1 -1
  155. package/build/query/edit/inspector-controls/author-control.js +1 -0
  156. package/build/query/edit/inspector-controls/author-control.js.map +1 -1
  157. package/build/query/edit/inspector-controls/index.js +8 -11
  158. package/build/query/edit/inspector-controls/index.js.map +1 -1
  159. package/build/query/edit/inspector-controls/order-control.js.map +1 -1
  160. package/build/query/edit/inspector-controls/parent-control.js +1 -0
  161. package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
  162. package/build/query/edit/inspector-controls/taxonomy-controls.js +1 -0
  163. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  164. package/build/query/edit/pattern-selection-modal.js +1 -1
  165. package/build/query/edit/pattern-selection-modal.js.map +1 -1
  166. package/build/query/utils.js.map +1 -1
  167. package/build/query/view.js.map +1 -1
  168. package/build/query-pagination-next/edit.js.map +1 -1
  169. package/build/query-pagination-numbers/edit.js.map +1 -1
  170. package/build/query-pagination-previous/edit.js.map +1 -1
  171. package/build/query-title/edit.js +3 -3
  172. package/build/query-title/edit.js.map +1 -1
  173. package/build/quote/deprecated.js.map +1 -1
  174. package/build/quote/edit.js.map +1 -1
  175. package/build/quote/save.js.map +1 -1
  176. package/build/quote/transforms.js.map +1 -1
  177. package/build/search/edit.js.map +1 -1
  178. package/build/search/edit.native.js.map +1 -1
  179. package/build/shortcode/edit.js.map +1 -1
  180. package/build/site-tagline/edit.js.map +1 -1
  181. package/build/site-title/edit.js.map +1 -1
  182. package/build/social-link/edit.js.map +1 -1
  183. package/build/social-link/edit.native.js.map +1 -1
  184. package/build/social-links/deprecated.js.map +1 -1
  185. package/build/social-links/edit.js.map +1 -1
  186. package/build/spacer/controls.native.js.map +1 -1
  187. package/build/spacer/deprecated.js.map +1 -1
  188. package/build/spacer/edit.js.map +1 -1
  189. package/build/table/deprecated.js.map +1 -1
  190. package/build/table/edit.js.map +1 -1
  191. package/build/table/save.js.map +1 -1
  192. package/build/table-of-contents/edit.js +1 -1
  193. package/build/table-of-contents/edit.js.map +1 -1
  194. package/build/table-of-contents/hooks.js.map +1 -1
  195. package/build/tag-cloud/edit.js.map +1 -1
  196. package/build/template-part/edit/advanced-controls.js +1 -1
  197. package/build/template-part/edit/advanced-controls.js.map +1 -1
  198. package/build/template-part/edit/import-controls.js +2 -1
  199. package/build/template-part/edit/import-controls.js.map +1 -1
  200. package/build/template-part/edit/index.js +2 -2
  201. package/build/template-part/edit/index.js.map +1 -1
  202. package/build/template-part/edit/selection-modal.js +2 -2
  203. package/build/template-part/edit/selection-modal.js.map +1 -1
  204. package/build/template-part/edit/utils/hooks.js.map +1 -1
  205. package/build/template-part/variations.js.map +1 -1
  206. package/build/term-description/edit.js.map +1 -1
  207. package/build/text-columns/edit.js.map +1 -1
  208. package/build/text-columns/save.js.map +1 -1
  209. package/build/verse/deprecated.js.map +1 -1
  210. package/build/verse/edit.js.map +1 -1
  211. package/build/verse/save.js.map +1 -1
  212. package/build/video/edit.js +1 -1
  213. package/build/video/edit.js.map +1 -1
  214. package/build/video/edit.native.js +1 -1
  215. package/build/video/edit.native.js.map +1 -1
  216. package/build/video/tracks-editor.js +1 -1
  217. package/build/video/tracks-editor.js.map +1 -1
  218. package/build-module/archives/edit.js +1 -3
  219. package/build-module/archives/edit.js.map +1 -1
  220. package/build-module/audio/deprecated.js +1 -2
  221. package/build-module/audio/deprecated.js.map +1 -1
  222. package/build-module/audio/edit.js +1 -3
  223. package/build-module/audio/edit.js.map +1 -1
  224. package/build-module/audio/edit.native.js +2 -4
  225. package/build-module/audio/edit.native.js.map +1 -1
  226. package/build-module/audio/save.js +1 -2
  227. package/build-module/audio/save.js.map +1 -1
  228. package/build-module/avatar/edit.js +1 -3
  229. package/build-module/avatar/edit.js.map +1 -1
  230. package/build-module/block/edit-title.native.js +1 -2
  231. package/build-module/block/edit-title.native.js.map +1 -1
  232. package/build-module/block/edit.js +1 -3
  233. package/build-module/block/edit.js.map +1 -1
  234. package/build-module/block/edit.native.js +3 -4
  235. package/build-module/block/edit.native.js.map +1 -1
  236. package/build-module/block-keyboard-shortcuts/index.js.map +1 -1
  237. package/build-module/button/color-background.native.js +1 -2
  238. package/build-module/button/color-background.native.js.map +1 -1
  239. package/build-module/button/deprecated.js.map +1 -1
  240. package/build-module/button/edit.js +1 -3
  241. package/build-module/button/edit.js.map +1 -1
  242. package/build-module/button/edit.native.js +1 -3
  243. package/build-module/button/edit.native.js.map +1 -1
  244. package/build-module/button/get-updated-link-attributes.js.map +1 -1
  245. package/build-module/button/save.js.map +1 -1
  246. package/build-module/buttons/deprecated.js.map +1 -1
  247. package/build-module/buttons/edit.native.js +1 -3
  248. package/build-module/buttons/edit.native.js.map +1 -1
  249. package/build-module/categories/edit.js +2 -4
  250. package/build-module/categories/edit.js.map +1 -1
  251. package/build-module/column/deprecated.js.map +1 -1
  252. package/build-module/column/edit.js +2 -4
  253. package/build-module/column/edit.js.map +1 -1
  254. package/build-module/column/edit.native.js +1 -3
  255. package/build-module/column/edit.native.js.map +1 -1
  256. package/build-module/column/save.js.map +1 -1
  257. package/build-module/columns/deprecated.js.map +1 -1
  258. package/build-module/columns/edit.js +1 -3
  259. package/build-module/columns/edit.js.map +1 -1
  260. package/build-module/columns/edit.native.js +2 -4
  261. package/build-module/columns/edit.native.js.map +1 -1
  262. package/build-module/columns/save.js.map +1 -1
  263. package/build-module/columns/transforms.js.map +1 -1
  264. package/build-module/columns/utils.js.map +1 -1
  265. package/build-module/comment-author-avatar/edit.js +1 -3
  266. package/build-module/comment-author-avatar/edit.js.map +1 -1
  267. package/build-module/comment-author-name/edit.js +1 -3
  268. package/build-module/comment-author-name/edit.js.map +1 -1
  269. package/build-module/comment-content/edit.js +1 -3
  270. package/build-module/comment-content/edit.js.map +1 -1
  271. package/build-module/comment-date/edit.js +1 -3
  272. package/build-module/comment-date/edit.js.map +1 -1
  273. package/build-module/comment-edit-link/edit.js +1 -3
  274. package/build-module/comment-edit-link/edit.js.map +1 -1
  275. package/build-module/comment-reply-link/edit.js +1 -3
  276. package/build-module/comment-reply-link/edit.js.map +1 -1
  277. package/build-module/comment-template/edit.js +1 -2
  278. package/build-module/comment-template/edit.js.map +1 -1
  279. package/build-module/comment-template/hooks.js.map +1 -1
  280. package/build-module/comments/edit/comments-legacy.js +1 -3
  281. package/build-module/comments/edit/comments-legacy.js.map +1 -1
  282. package/build-module/comments/edit/index.js +1 -3
  283. package/build-module/comments/edit/index.js.map +1 -1
  284. package/build-module/comments/edit/placeholder.js +1 -2
  285. package/build-module/comments/edit/placeholder.js.map +1 -1
  286. package/build-module/comments-pagination/comments-pagination-arrow-controls.js +1 -2
  287. package/build-module/comments-pagination/comments-pagination-arrow-controls.js.map +1 -1
  288. package/build-module/comments-pagination/edit.js +1 -3
  289. package/build-module/comments-pagination/edit.js.map +1 -1
  290. package/build-module/comments-pagination-next/edit.js +1 -2
  291. package/build-module/comments-pagination-next/edit.js.map +1 -1
  292. package/build-module/comments-pagination-numbers/edit.js +1 -2
  293. package/build-module/comments-pagination-numbers/edit.js.map +1 -1
  294. package/build-module/comments-pagination-previous/edit.js +1 -2
  295. package/build-module/comments-pagination-previous/edit.js.map +1 -1
  296. package/build-module/comments-title/edit.js +3 -5
  297. package/build-module/comments-title/edit.js.map +1 -1
  298. package/build-module/cover/controls.native.js +1 -3
  299. package/build-module/cover/controls.native.js.map +1 -1
  300. package/build-module/cover/deprecated.js +1 -2
  301. package/build-module/cover/deprecated.js.map +1 -1
  302. package/build-module/cover/edit/block-controls.js +1 -3
  303. package/build-module/cover/edit/block-controls.js.map +1 -1
  304. package/build-module/cover/edit/index.js +1 -3
  305. package/build-module/cover/edit/index.js.map +1 -1
  306. package/build-module/cover/edit/inspector-controls.js +76 -34
  307. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  308. package/build-module/cover/edit.native.js +1 -3
  309. package/build-module/cover/edit.native.js.map +1 -1
  310. package/build-module/cover/save.js +1 -2
  311. package/build-module/cover/save.js.map +1 -1
  312. package/build-module/cover/shared.js.map +1 -1
  313. package/build-module/details/edit.js +1 -3
  314. package/build-module/details/edit.js.map +1 -1
  315. package/build-module/details/save.js +1 -2
  316. package/build-module/details/save.js.map +1 -1
  317. package/build-module/embed/deprecated.js +1 -2
  318. package/build-module/embed/deprecated.js.map +1 -1
  319. package/build-module/embed/edit.js +17 -6
  320. package/build-module/embed/edit.js.map +1 -1
  321. package/build-module/embed/edit.native.js +1 -3
  322. package/build-module/embed/edit.native.js.map +1 -1
  323. package/build-module/embed/embed-controls.js +1 -3
  324. package/build-module/embed/embed-controls.js.map +1 -1
  325. package/build-module/embed/embed-controls.native.js +1 -3
  326. package/build-module/embed/embed-controls.native.js.map +1 -1
  327. package/build-module/embed/embed-no-preview.native.js +1 -3
  328. package/build-module/embed/embed-no-preview.native.js.map +1 -1
  329. package/build-module/embed/embed-placeholder.js +1 -2
  330. package/build-module/embed/embed-placeholder.js.map +1 -1
  331. package/build-module/embed/embed-placeholder.native.js +1 -3
  332. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  333. package/build-module/embed/embed-preview.js +6 -21
  334. package/build-module/embed/embed-preview.js.map +1 -1
  335. package/build-module/embed/embed-preview.native.js +2 -4
  336. package/build-module/embed/embed-preview.native.js.map +1 -1
  337. package/build-module/embed/icons.js +1 -2
  338. package/build-module/embed/icons.js.map +1 -1
  339. package/build-module/embed/save.js +1 -2
  340. package/build-module/embed/save.js.map +1 -1
  341. package/build-module/embed/transforms.js.map +1 -1
  342. package/build-module/embed/variations.js +1 -1
  343. package/build-module/embed/variations.js.map +1 -1
  344. package/build-module/embed/wp-embed-preview.native.js.map +1 -1
  345. package/build-module/file/deprecated.js +4 -6
  346. package/build-module/file/deprecated.js.map +1 -1
  347. package/build-module/file/edit.js +1 -3
  348. package/build-module/file/edit.js.map +1 -1
  349. package/build-module/file/edit.native.js +1 -2
  350. package/build-module/file/edit.native.js.map +1 -1
  351. package/build-module/file/inspector.js +1 -3
  352. package/build-module/file/inspector.js.map +1 -1
  353. package/build-module/file/save.js +1 -3
  354. package/build-module/file/save.js.map +1 -1
  355. package/build-module/footnotes/edit.js +1 -2
  356. package/build-module/footnotes/edit.js.map +1 -1
  357. package/build-module/footnotes/format.js.map +1 -1
  358. package/build-module/form/edit.js +1 -3
  359. package/build-module/form/edit.js.map +1 -1
  360. package/build-module/form-input/deprecated.js +1 -2
  361. package/build-module/form-input/deprecated.js.map +1 -1
  362. package/build-module/form-input/edit.js +1 -3
  363. package/build-module/form-input/edit.js.map +1 -1
  364. package/build-module/form-input/save.js +1 -2
  365. package/build-module/form-input/save.js.map +1 -1
  366. package/build-module/form-submission-notification/edit.js.map +1 -1
  367. package/build-module/form-submission-notification/save.js.map +1 -1
  368. package/build-module/freeform/edit.js +1 -3
  369. package/build-module/freeform/edit.js.map +1 -1
  370. package/build-module/freeform/modal.js +1 -3
  371. package/build-module/freeform/modal.js.map +1 -1
  372. package/build-module/gallery/deprecated.js +1 -2
  373. package/build-module/gallery/deprecated.js.map +1 -1
  374. package/build-module/gallery/edit.js +3 -5
  375. package/build-module/gallery/edit.js.map +1 -1
  376. package/build-module/gallery/gallery.js +1 -2
  377. package/build-module/gallery/gallery.js.map +1 -1
  378. package/build-module/gallery/gallery.native.js +2 -3
  379. package/build-module/gallery/gallery.native.js.map +1 -1
  380. package/build-module/gallery/gap-styles.js.map +1 -1
  381. package/build-module/gallery/save.js +1 -2
  382. package/build-module/gallery/save.js.map +1 -1
  383. package/build-module/group/edit.js +1 -3
  384. package/build-module/group/edit.js.map +1 -1
  385. package/build-module/group/edit.native.js +1 -2
  386. package/build-module/group/edit.native.js.map +1 -1
  387. package/build-module/group/placeholder.js.map +1 -1
  388. package/build-module/heading/deprecated.js.map +1 -1
  389. package/build-module/heading/edit.js +1 -3
  390. package/build-module/heading/edit.js.map +1 -1
  391. package/build-module/heading/edit.native.js +1 -3
  392. package/build-module/heading/edit.native.js.map +1 -1
  393. package/build-module/heading/index.js +2 -2
  394. package/build-module/heading/index.js.map +1 -1
  395. package/build-module/heading/save.js.map +1 -1
  396. package/build-module/heading/transforms.js.map +1 -1
  397. package/build-module/home-link/edit.js +1 -2
  398. package/build-module/home-link/edit.js.map +1 -1
  399. package/build-module/html/edit.js +1 -3
  400. package/build-module/html/edit.js.map +1 -1
  401. package/build-module/html/preview.js +1 -3
  402. package/build-module/html/preview.js.map +1 -1
  403. package/build-module/image/deprecated.js +1 -3
  404. package/build-module/image/deprecated.js.map +1 -1
  405. package/build-module/image/edit.js +2 -4
  406. package/build-module/image/edit.js.map +1 -1
  407. package/build-module/image/edit.native.js +2 -4
  408. package/build-module/image/edit.native.js.map +1 -1
  409. package/build-module/image/image.js +4 -6
  410. package/build-module/image/image.js.map +1 -1
  411. package/build-module/image/save.js +1 -3
  412. package/build-module/image/save.js.map +1 -1
  413. package/build-module/image/view.js.map +1 -1
  414. package/build-module/index.native.js.map +1 -1
  415. package/build-module/latest-comments/edit.js +1 -2
  416. package/build-module/latest-comments/edit.js.map +1 -1
  417. package/build-module/latest-posts/edit.js +3 -5
  418. package/build-module/latest-posts/edit.js.map +1 -1
  419. package/build-module/latest-posts/edit.native.js +1 -3
  420. package/build-module/latest-posts/edit.native.js.map +1 -1
  421. package/build-module/list/edit.js +1 -3
  422. package/build-module/list/edit.js.map +1 -1
  423. package/build-module/list/ordered-list-settings.js +1 -2
  424. package/build-module/list/ordered-list-settings.js.map +1 -1
  425. package/build-module/list-item/edit.js +1 -3
  426. package/build-module/list-item/edit.js.map +1 -1
  427. package/build-module/list-item/edit.native.js +1 -2
  428. package/build-module/list-item/edit.native.js.map +1 -1
  429. package/build-module/list-item/list-style-type.native.js +1 -2
  430. package/build-module/list-item/list-style-type.native.js.map +1 -1
  431. package/build-module/list-item/save.js +1 -2
  432. package/build-module/list-item/save.js.map +1 -1
  433. package/build-module/loginout/edit.js +1 -3
  434. package/build-module/loginout/edit.js.map +1 -1
  435. package/build-module/media-text/deprecated.js +1 -2
  436. package/build-module/media-text/deprecated.js.map +1 -1
  437. package/build-module/media-text/edit.js +1 -3
  438. package/build-module/media-text/edit.js.map +1 -1
  439. package/build-module/media-text/edit.native.js +1 -3
  440. package/build-module/media-text/edit.native.js.map +1 -1
  441. package/build-module/media-text/icon-retry.native.js +1 -2
  442. package/build-module/media-text/icon-retry.native.js.map +1 -1
  443. package/build-module/media-text/image-fill.js.map +1 -1
  444. package/build-module/media-text/media-container.js +1 -2
  445. package/build-module/media-text/media-container.js.map +1 -1
  446. package/build-module/media-text/media-container.native.js +1 -3
  447. package/build-module/media-text/media-container.native.js.map +1 -1
  448. package/build-module/media-text/save.js +1 -2
  449. package/build-module/media-text/save.js.map +1 -1
  450. package/build-module/missing/edit.js +3 -4
  451. package/build-module/missing/edit.js.map +1 -1
  452. package/build-module/missing/edit.native.js +1 -2
  453. package/build-module/missing/edit.native.js.map +1 -1
  454. package/build-module/more/edit.js +1 -3
  455. package/build-module/more/edit.js.map +1 -1
  456. package/build-module/more/save.js.map +1 -1
  457. package/build-module/navigation/edit/accessible-menu-description.js.map +1 -1
  458. package/build-module/navigation/edit/index.js +1 -3
  459. package/build-module/navigation/edit/index.js.map +1 -1
  460. package/build-module/navigation/edit/leaf-more-menu.js +2 -4
  461. package/build-module/navigation/edit/leaf-more-menu.js.map +1 -1
  462. package/build-module/navigation/edit/menu-inspector-controls.js +2 -3
  463. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
  464. package/build-module/navigation/edit/navigation-menu-delete-control.js +1 -3
  465. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  466. package/build-module/navigation/edit/navigation-menu-selector.js +1 -3
  467. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  468. package/build-module/navigation/edit/overlay-menu-icon.js +1 -2
  469. package/build-module/navigation/edit/overlay-menu-icon.js.map +1 -1
  470. package/build-module/navigation/edit/overlay-menu-preview.js +1 -3
  471. package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -1
  472. package/build-module/navigation/edit/placeholder/index.js +1 -3
  473. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  474. package/build-module/navigation/edit/placeholder/placeholder-preview.js +1 -2
  475. package/build-module/navigation/edit/placeholder/placeholder-preview.js.map +1 -1
  476. package/build-module/navigation/edit/responsive-wrapper.js +1 -3
  477. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  478. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  479. package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
  480. package/build-module/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  481. package/build-module/navigation/edit/utils.js.map +1 -1
  482. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  483. package/build-module/navigation-link/edit.js +1 -3
  484. package/build-module/navigation-link/edit.js.map +1 -1
  485. package/build-module/navigation-link/link-ui.js +1 -2
  486. package/build-module/navigation-link/link-ui.js.map +1 -1
  487. package/build-module/navigation-submenu/edit.js +1 -3
  488. package/build-module/navigation-submenu/edit.js.map +1 -1
  489. package/build-module/nextpage/edit.native.js +1 -1
  490. package/build-module/nextpage/edit.native.js.map +1 -1
  491. package/build-module/page-list/convert-to-links-modal.js +1 -2
  492. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  493. package/build-module/page-list/edit.js +1 -3
  494. package/build-module/page-list/edit.js.map +1 -1
  495. package/build-module/page-list-item/edit.js +2 -4
  496. package/build-module/page-list-item/edit.js.map +1 -1
  497. package/build-module/paragraph/deprecated.js.map +1 -1
  498. package/build-module/paragraph/edit.js +1 -3
  499. package/build-module/paragraph/edit.js.map +1 -1
  500. package/build-module/paragraph/edit.native.js +1 -3
  501. package/build-module/paragraph/edit.native.js.map +1 -1
  502. package/build-module/paragraph/save.js.map +1 -1
  503. package/build-module/pattern/recursion-detector.js +1 -0
  504. package/build-module/pattern/recursion-detector.js.map +1 -1
  505. package/build-module/post-author/edit.js +1 -3
  506. package/build-module/post-author/edit.js.map +1 -1
  507. package/build-module/post-author-biography/edit.js +1 -3
  508. package/build-module/post-author-biography/edit.js.map +1 -1
  509. package/build-module/post-author-name/edit.js +1 -3
  510. package/build-module/post-author-name/edit.js.map +1 -1
  511. package/build-module/post-comment/edit.js +1 -2
  512. package/build-module/post-comment/edit.js.map +1 -1
  513. package/build-module/post-comments-count/edit.js +1 -3
  514. package/build-module/post-comments-count/edit.js.map +1 -1
  515. package/build-module/post-comments-form/edit.js +1 -3
  516. package/build-module/post-comments-form/edit.js.map +1 -1
  517. package/build-module/post-comments-form/form.js +2 -3
  518. package/build-module/post-comments-form/form.js.map +1 -1
  519. package/build-module/post-comments-link/edit.js +2 -4
  520. package/build-module/post-comments-link/edit.js.map +1 -1
  521. package/build-module/post-content/edit.js +32 -5
  522. package/build-module/post-content/edit.js.map +1 -1
  523. package/build-module/post-date/edit.js +1 -3
  524. package/build-module/post-date/edit.js.map +1 -1
  525. package/build-module/post-excerpt/edit.js +1 -3
  526. package/build-module/post-excerpt/edit.js.map +1 -1
  527. package/build-module/post-featured-image/dimension-controls.js +1 -3
  528. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  529. package/build-module/post-featured-image/edit.js +1 -3
  530. package/build-module/post-featured-image/edit.js.map +1 -1
  531. package/build-module/post-featured-image/overlay-controls.js +1 -3
  532. package/build-module/post-featured-image/overlay-controls.js.map +1 -1
  533. package/build-module/post-navigation-link/edit.js +1 -3
  534. package/build-module/post-navigation-link/edit.js.map +1 -1
  535. package/build-module/post-template/edit.js +1 -3
  536. package/build-module/post-template/edit.js.map +1 -1
  537. package/build-module/post-terms/edit.js +1 -3
  538. package/build-module/post-terms/edit.js.map +1 -1
  539. package/build-module/post-time-to-read/edit.js +2 -4
  540. package/build-module/post-time-to-read/edit.js.map +1 -1
  541. package/build-module/post-title/edit.js +1 -3
  542. package/build-module/post-title/edit.js.map +1 -1
  543. package/build-module/pullquote/deprecated.js +1 -2
  544. package/build-module/pullquote/deprecated.js.map +1 -1
  545. package/build-module/pullquote/edit.js +1 -3
  546. package/build-module/pullquote/edit.js.map +1 -1
  547. package/build-module/pullquote/edit.native.js +1 -3
  548. package/build-module/pullquote/edit.native.js.map +1 -1
  549. package/build-module/pullquote/save.js +1 -2
  550. package/build-module/pullquote/save.js.map +1 -1
  551. package/build-module/pullquote/shared.js.map +1 -1
  552. package/build-module/query/edit/enhanced-pagination-modal.js +1 -2
  553. package/build-module/query/edit/enhanced-pagination-modal.js.map +1 -1
  554. package/build-module/query/edit/index.js +1 -3
  555. package/build-module/query/edit/index.js.map +1 -1
  556. package/build-module/query/edit/inspector-controls/author-control.js +1 -0
  557. package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
  558. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +1 -2
  559. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  560. package/build-module/query/edit/inspector-controls/index.js +9 -14
  561. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  562. package/build-module/query/edit/inspector-controls/order-control.js.map +1 -1
  563. package/build-module/query/edit/inspector-controls/parent-control.js +1 -0
  564. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
  565. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +1 -0
  566. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  567. package/build-module/query/edit/pattern-selection-modal.js +2 -3
  568. package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
  569. package/build-module/query/edit/query-content.js +1 -3
  570. package/build-module/query/edit/query-content.js.map +1 -1
  571. package/build-module/query/edit/query-placeholder.js +1 -2
  572. package/build-module/query/edit/query-placeholder.js.map +1 -1
  573. package/build-module/query/edit/query-toolbar.js +1 -2
  574. package/build-module/query/edit/query-toolbar.js.map +1 -1
  575. package/build-module/query/utils.js.map +1 -1
  576. package/build-module/query/view.js.map +1 -1
  577. package/build-module/query-pagination/edit.js +1 -3
  578. package/build-module/query-pagination/edit.js.map +1 -1
  579. package/build-module/query-pagination/query-pagination-arrow-controls.js +1 -2
  580. package/build-module/query-pagination/query-pagination-arrow-controls.js.map +1 -1
  581. package/build-module/query-pagination-next/edit.js +1 -2
  582. package/build-module/query-pagination-next/edit.js.map +1 -1
  583. package/build-module/query-pagination-numbers/edit.js +1 -3
  584. package/build-module/query-pagination-numbers/edit.js.map +1 -1
  585. package/build-module/query-pagination-previous/edit.js +1 -2
  586. package/build-module/query-pagination-previous/edit.js.map +1 -1
  587. package/build-module/query-title/edit.js +4 -6
  588. package/build-module/query-title/edit.js.map +1 -1
  589. package/build-module/quote/deprecated.js +1 -2
  590. package/build-module/quote/deprecated.js.map +1 -1
  591. package/build-module/quote/edit.js +1 -3
  592. package/build-module/quote/edit.js.map +1 -1
  593. package/build-module/quote/save.js +1 -2
  594. package/build-module/quote/save.js.map +1 -1
  595. package/build-module/quote/transforms.js.map +1 -1
  596. package/build-module/read-more/edit.js +1 -3
  597. package/build-module/read-more/edit.js.map +1 -1
  598. package/build-module/rss/edit.js +1 -3
  599. package/build-module/rss/edit.js.map +1 -1
  600. package/build-module/search/edit.js +1 -3
  601. package/build-module/search/edit.js.map +1 -1
  602. package/build-module/search/edit.native.js +1 -2
  603. package/build-module/search/edit.native.js.map +1 -1
  604. package/build-module/search/icons.js +1 -2
  605. package/build-module/search/icons.js.map +1 -1
  606. package/build-module/separator/edit.js +1 -2
  607. package/build-module/separator/edit.js.map +1 -1
  608. package/build-module/shortcode/edit.js.map +1 -1
  609. package/build-module/shortcode/edit.native.js +1 -2
  610. package/build-module/shortcode/edit.native.js.map +1 -1
  611. package/build-module/site-logo/edit.js +1 -3
  612. package/build-module/site-logo/edit.js.map +1 -1
  613. package/build-module/site-tagline/edit.js +1 -3
  614. package/build-module/site-tagline/edit.js.map +1 -1
  615. package/build-module/site-title/edit.js +1 -3
  616. package/build-module/site-title/edit.js.map +1 -1
  617. package/build-module/social-link/edit.js +1 -3
  618. package/build-module/social-link/edit.js.map +1 -1
  619. package/build-module/social-link/edit.native.js +1 -3
  620. package/build-module/social-link/edit.native.js.map +1 -1
  621. package/build-module/social-links/deprecated.js.map +1 -1
  622. package/build-module/social-links/edit.js +1 -3
  623. package/build-module/social-links/edit.js.map +1 -1
  624. package/build-module/spacer/controls.js +1 -3
  625. package/build-module/spacer/controls.js.map +1 -1
  626. package/build-module/spacer/controls.native.js +1 -2
  627. package/build-module/spacer/controls.native.js.map +1 -1
  628. package/build-module/spacer/deprecated.js.map +1 -1
  629. package/build-module/spacer/edit.js +1 -3
  630. package/build-module/spacer/edit.js.map +1 -1
  631. package/build-module/table/deprecated.js +1 -2
  632. package/build-module/table/deprecated.js.map +1 -1
  633. package/build-module/table/edit.js +1 -3
  634. package/build-module/table/edit.js.map +1 -1
  635. package/build-module/table/save.js +1 -2
  636. package/build-module/table/save.js.map +1 -1
  637. package/build-module/table-of-contents/edit.js +2 -4
  638. package/build-module/table-of-contents/edit.js.map +1 -1
  639. package/build-module/table-of-contents/hooks.js.map +1 -1
  640. package/build-module/table-of-contents/list.js +1 -3
  641. package/build-module/table-of-contents/list.js.map +1 -1
  642. package/build-module/tag-cloud/edit.js +1 -3
  643. package/build-module/tag-cloud/edit.js.map +1 -1
  644. package/build-module/template-part/edit/advanced-controls.js +2 -4
  645. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  646. package/build-module/template-part/edit/import-controls.js +3 -3
  647. package/build-module/template-part/edit/import-controls.js.map +1 -1
  648. package/build-module/template-part/edit/index.js +3 -5
  649. package/build-module/template-part/edit/index.js.map +1 -1
  650. package/build-module/template-part/edit/placeholder.js +1 -2
  651. package/build-module/template-part/edit/placeholder.js.map +1 -1
  652. package/build-module/template-part/edit/selection-modal.js +3 -4
  653. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  654. package/build-module/template-part/edit/title-modal.js +1 -2
  655. package/build-module/template-part/edit/title-modal.js.map +1 -1
  656. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  657. package/build-module/template-part/variations.js.map +1 -1
  658. package/build-module/term-description/edit.js +1 -3
  659. package/build-module/term-description/edit.js.map +1 -1
  660. package/build-module/text-columns/edit.js +1 -3
  661. package/build-module/text-columns/edit.js.map +1 -1
  662. package/build-module/text-columns/save.js.map +1 -1
  663. package/build-module/utils/caption.js +1 -3
  664. package/build-module/utils/caption.js.map +1 -1
  665. package/build-module/verse/deprecated.js.map +1 -1
  666. package/build-module/verse/edit.js +1 -3
  667. package/build-module/verse/edit.js.map +1 -1
  668. package/build-module/verse/save.js.map +1 -1
  669. package/build-module/video/deprecated.js +1 -2
  670. package/build-module/video/deprecated.js.map +1 -1
  671. package/build-module/video/edit-common-settings.js +1 -3
  672. package/build-module/video/edit-common-settings.js.map +1 -1
  673. package/build-module/video/edit.js +2 -4
  674. package/build-module/video/edit.js.map +1 -1
  675. package/build-module/video/edit.native.js +2 -3
  676. package/build-module/video/edit.native.js.map +1 -1
  677. package/build-module/video/icon-retry.native.js +1 -2
  678. package/build-module/video/icon-retry.native.js.map +1 -1
  679. package/build-module/video/save.js +1 -2
  680. package/build-module/video/save.js.map +1 -1
  681. package/build-module/video/tracks-editor.js +2 -4
  682. package/build-module/video/tracks-editor.js.map +1 -1
  683. package/build-style/code/style-rtl.css +2 -0
  684. package/build-style/code/style.css +4 -0
  685. package/build-style/common-rtl.css +0 -2
  686. package/build-style/common.css +0 -2
  687. package/build-style/post-content/style-rtl.css +2 -4
  688. package/build-style/post-content/style.css +2 -4
  689. package/build-style/style-rtl.css +4 -6
  690. package/build-style/style.css +6 -6
  691. package/package.json +36 -36
  692. package/src/code/style.scss +5 -0
  693. package/src/common.scss +0 -3
  694. package/src/cover/edit/inspector-controls.js +103 -44
  695. package/src/cover/index.php +38 -19
  696. package/src/cover/test/edit.js +2 -2
  697. package/src/embed/edit.js +19 -2
  698. package/src/embed/embed-preview.js +2 -18
  699. package/src/image/index.php +1 -1
  700. package/src/post-content/edit.js +30 -1
  701. package/src/post-content/style.scss +2 -4
  702. package/src/post-terms/index.php +7 -6
  703. package/src/query/edit/inspector-controls/index.js +10 -16
  704. package/src/query/edit/pattern-selection-modal.js +1 -1
  705. package/src/template-part/edit/selection-modal.js +1 -1
@@ -1 +1 @@
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","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","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","children","__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","linkUIref","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","icon","shortcut","currentTarget","text","identifier","onMerge","__unstableOnSplitAtEnd","placeholder","withoutInteractiveFormatting","allowedFormats","trim","onClose","window","document","activeElement","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 linkUIref = 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\tref={ linkUIref }\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// Fixes https://github.com/WordPress/gutenberg/issues/61361\n\t\t\t\t\t\t\t\t\t// There's a chance we're closing due to the user selecting the browse all button.\n\t\t\t\t\t\t\t\t\t// Only move focus if the focus is still within the popover ui. If it's not within\n\t\t\t\t\t\t\t\t\t// the popover, it's because something has taken the focus from the popover, and\n\t\t\t\t\t\t\t\t\t// we don't want to steal it back.\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tlinkUIref.current.contains(\n\t\t\t\t\t\t\t\t\t\t\twindow.document.activeElement\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t// Select the previous block to keep focus nearby\n\t\t\t\t\t\t\t\t\t\tselectPreviousBlock( clientId, true );\n\t\t\t\t\t\t\t\t\t}\n\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","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","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","children","__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","linkUIref","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","icon","shortcut","currentTarget","text","identifier","onMerge","__unstableOnSplitAtEnd","placeholder","withoutInteractiveFormatting","allowedFormats","trim","onClose","window","document","activeElement","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 linkUIref = 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\tref={ linkUIref }\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// Fixes https://github.com/WordPress/gutenberg/issues/61361\n\t\t\t\t\t\t\t\t\t// There's a chance we're closing due to the user selecting the browse all button.\n\t\t\t\t\t\t\t\t\t// Only move focus if the focus is still within the popover ui. If it's not within\n\t\t\t\t\t\t\t\t\t// the popover, it's because something has taken the focus from the popover, and\n\t\t\t\t\t\t\t\t\t// we don't want to steal it back.\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tlinkUIref.current.contains(\n\t\t\t\t\t\t\t\t\t\t\twindow.document.activeElement\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t// Select the previous block to keep focus nearby\n\t\t\t\t\t\t\t\t\t\tselectPreviousBlock( clientId, true );\n\t\t\t\t\t\t\t\t\t}\n\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":[]}
@@ -16,8 +16,7 @@ import { useInstanceId, useFocusOnMount } from '@wordpress/compose';
16
16
  * Internal dependencies
17
17
  */
18
18
  import { unlock } from '../lock-unlock';
19
- import { jsx as _jsx } from "react/jsx-runtime";
20
- import { jsxs as _jsxs } from "react/jsx-runtime";
19
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
21
20
  const {
22
21
  PrivateQuickInserter: QuickInserter
23
22
  } = unlock(blockEditorPrivateApis);
@@ -1 +1 @@
1
- {"version":3,"names":["__unstableStripHTML","stripHTML","Popover","Button","VisuallyHidden","__experimentalVStack","VStack","__","sprintf","isRTL","__experimentalLinkControl","LinkControl","store","blockEditorStore","privateApis","blockEditorPrivateApis","createInterpolateElement","useMemo","useState","useRef","useEffect","forwardRef","coreStore","useResourcePermissions","decodeEntities","useSelect","useDispatch","chevronLeftSmall","chevronRightSmall","plus","useInstanceId","useFocusOnMount","unlock","jsx","_jsx","jsxs","_jsxs","PrivateQuickInserter","QuickInserter","getSuggestionsQuery","type","kind","subtype","initialSuggestionsSearchOptions","perPage","LinkUIBlockInserter","clientId","onBack","onSelectBlock","rootBlockClientId","select","getBlockRootClientId","focusOnMountRef","dialogTitleId","dialogDescritionId","className","role","ref","children","id","icon","onClick","e","preventDefault","size","rootClientId","isAppender","prioritizePatterns","selectBlockOnInsert","hasSearch","onSelect","UnforwardedLinkUI","props","label","url","opensInNewTab","link","postType","addingBlock","setAddingBlock","focusAddBlockButton","setFocusAddBlockButton","saveEntityRecord","permissions","name","handleCreate","pageTitle","page","title","status","rendered","LinkUI","onClose","placement","anchor","shift","hasTextControl","hasRichPreviews","value","showInitialSuggestions","withCreateSuggestion","canCreate","createSuggestion","createSuggestionButtonText","searchTerm","format","mark","noDirectEntry","noURLSuggestion","suggestionsQuery","onChange","onRemove","onCancel","renderControlBottom","length","LinkUITools","blockInserterAriaRole","addBlockButtonRef","current","focus","__next40pxDefaultSize"],"sources":["@wordpress/block-library/src/navigation-link/link-ui.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport {\n\tPopover,\n\tButton,\n\tVisuallyHidden,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __, sprintf, isRTL } from '@wordpress/i18n';\nimport {\n\t__experimentalLinkControl as LinkControl,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tcreateInterpolateElement,\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tuseEffect,\n\tforwardRef,\n} from '@wordpress/element';\nimport {\n\tstore as coreStore,\n\tuseResourcePermissions,\n} from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { chevronLeftSmall, chevronRightSmall, plus } from '@wordpress/icons';\nimport { useInstanceId, useFocusOnMount } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { PrivateQuickInserter: QuickInserter } = unlock(\n\tblockEditorPrivateApis\n);\n\n/**\n * Given the Link block's type attribute, return the query params to give to\n * /wp/v2/search.\n *\n * @param {string} type Link block's type attribute.\n * @param {string} kind Link block's entity of kind (post-type|taxonomy)\n * @return {{ type?: string, subtype?: string }} Search query params.\n */\nexport function getSuggestionsQuery( type, kind ) {\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\tcase 'page':\n\t\t\treturn { type: 'post', subtype: type };\n\t\tcase 'category':\n\t\t\treturn { type: 'term', subtype: 'category' };\n\t\tcase 'tag':\n\t\t\treturn { type: 'term', subtype: 'post_tag' };\n\t\tcase 'post_format':\n\t\t\treturn { type: 'post-format' };\n\t\tdefault:\n\t\t\tif ( kind === 'taxonomy' ) {\n\t\t\t\treturn { type: 'term', subtype: type };\n\t\t\t}\n\t\t\tif ( kind === 'post-type' ) {\n\t\t\t\treturn { type: 'post', subtype: type };\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t// for custom link which has no type\n\t\t\t\t// always show pages as initial suggestions\n\t\t\t\tinitialSuggestionsSearchOptions: {\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tsubtype: 'page',\n\t\t\t\t\tperPage: 20,\n\t\t\t\t},\n\t\t\t};\n\t}\n}\n\nfunction LinkUIBlockInserter( { clientId, onBack, onSelectBlock } ) {\n\tconst { rootBlockClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId } = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\trootBlockClientId: getBlockRootClientId( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\n\tconst dialogTitleId = useInstanceId(\n\t\tLinkControl,\n\t\t`link-ui-block-inserter__title`\n\t);\n\tconst dialogDescritionId = useInstanceId(\n\t\tLinkControl,\n\t\t`link-ui-block-inserter__description`\n\t);\n\n\tif ( ! clientId ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"link-ui-block-inserter\"\n\t\t\trole=\"dialog\"\n\t\t\taria-labelledby={ dialogTitleId }\n\t\t\taria-describedby={ dialogDescritionId }\n\t\t\tref={ focusOnMountRef }\n\t\t>\n\t\t\t<VisuallyHidden>\n\t\t\t\t<h2 id={ dialogTitleId }>{ __( 'Add block' ) }</h2>\n\n\t\t\t\t<p id={ dialogDescritionId }>\n\t\t\t\t\t{ __( 'Choose a block to add to your Navigation.' ) }\n\t\t\t\t</p>\n\t\t\t</VisuallyHidden>\n\n\t\t\t<Button\n\t\t\t\tclassName=\"link-ui-block-inserter__back\"\n\t\t\t\ticon={ isRTL() ? chevronRightSmall : chevronLeftSmall }\n\t\t\t\tonClick={ ( e ) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tonBack();\n\t\t\t\t} }\n\t\t\t\tsize=\"small\"\n\t\t\t>\n\t\t\t\t{ __( 'Back' ) }\n\t\t\t</Button>\n\n\t\t\t<QuickInserter\n\t\t\t\trootClientId={ rootBlockClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ false }\n\t\t\t\tprioritizePatterns={ false }\n\t\t\t\tselectBlockOnInsert\n\t\t\t\thasSearch={ false }\n\t\t\t\tonSelect={ onSelectBlock }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction UnforwardedLinkUI( props, ref ) {\n\tconst { label, url, opensInNewTab, type, kind } = props.link;\n\tconst postType = type || 'page';\n\n\tconst [ addingBlock, setAddingBlock ] = useState( false );\n\tconst [ focusAddBlockButton, setFocusAddBlockButton ] = useState( false );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst permissions = useResourcePermissions( {\n\t\tkind: 'postType',\n\t\tname: postType,\n\t} );\n\n\tasync function handleCreate( pageTitle ) {\n\t\tconst page = await saveEntityRecord( 'postType', postType, {\n\t\t\ttitle: pageTitle,\n\t\t\tstatus: 'draft',\n\t\t} );\n\n\t\treturn {\n\t\t\tid: page.id,\n\t\t\ttype: postType,\n\t\t\t// Make `title` property consistent with that in `fetchLinkSuggestions` where the `rendered` title (containing HTML entities)\n\t\t\t// is also being decoded. By being consistent in both locations we avoid having to branch in the rendering output code.\n\t\t\t// Ideally in the future we will update both APIs to utilise the \"raw\" form of the title which is better suited to edit contexts.\n\t\t\t// e.g.\n\t\t\t// - title.raw = \"Yes & No\"\n\t\t\t// - title.rendered = \"Yes &#038; No\"\n\t\t\t// - decodeEntities( title.rendered ) = \"Yes & No\"\n\t\t\t// See:\n\t\t\t// - https://github.com/WordPress/gutenberg/pull/41063\n\t\t\t// - https://github.com/WordPress/gutenberg/blob/a1e1fdc0e6278457e9f4fc0b31ac6d2095f5450b/packages/core-data/src/fetch/__experimental-fetch-link-suggestions.js#L212-L218\n\t\t\ttitle: decodeEntities( page.title.rendered ),\n\t\t\turl: page.link,\n\t\t\tkind: 'post-type',\n\t\t};\n\t}\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/50976#issuecomment-1568226407.\n\tconst link = useMemo(\n\t\t() => ( {\n\t\t\turl,\n\t\t\topensInNewTab,\n\t\t\ttitle: label && stripHTML( label ),\n\t\t} ),\n\t\t[ label, opensInNewTab, url ]\n\t);\n\n\tconst dialogTitleId = useInstanceId(\n\t\tLinkUI,\n\t\t`link-ui-link-control__title`\n\t);\n\tconst dialogDescritionId = useInstanceId(\n\t\tLinkUI,\n\t\t`link-ui-link-control__description`\n\t);\n\n\t// Selecting a block should close the popover and also remove the (previously) automatically inserted\n\t// link block so that the newly selected block can be inserted in its place.\n\tconst { onClose: onSelectBlock } = props;\n\n\treturn (\n\t\t<Popover\n\t\t\tref={ ref }\n\t\t\tplacement=\"bottom\"\n\t\t\tonClose={ props.onClose }\n\t\t\tanchor={ props.anchor }\n\t\t\tshift\n\t\t>\n\t\t\t{ ! addingBlock && (\n\t\t\t\t<div\n\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\taria-labelledby={ dialogTitleId }\n\t\t\t\t\taria-describedby={ dialogDescritionId }\n\t\t\t\t>\n\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t<h2 id={ dialogTitleId }>{ __( 'Add link' ) }</h2>\n\n\t\t\t\t\t\t<p id={ dialogDescritionId }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Search for and add a link to your Navigation.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t<LinkControl\n\t\t\t\t\t\thasTextControl\n\t\t\t\t\t\thasRichPreviews\n\t\t\t\t\t\tvalue={ link }\n\t\t\t\t\t\tshowInitialSuggestions\n\t\t\t\t\t\twithCreateSuggestion={ permissions.canCreate }\n\t\t\t\t\t\tcreateSuggestion={ handleCreate }\n\t\t\t\t\t\tcreateSuggestionButtonText={ ( searchTerm ) => {\n\t\t\t\t\t\t\tlet format;\n\n\t\t\t\t\t\t\tif ( type === 'post' ) {\n\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\tformat = __(\n\t\t\t\t\t\t\t\t\t'Create draft post: <mark>%s</mark>'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\tformat = __(\n\t\t\t\t\t\t\t\t\t'Create draft page: <mark>%s</mark>'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf( format, searchTerm ),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tmark: <mark />,\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\tnoDirectEntry={ !! type }\n\t\t\t\t\t\tnoURLSuggestion={ !! type }\n\t\t\t\t\t\tsuggestionsQuery={ getSuggestionsQuery( type, kind ) }\n\t\t\t\t\t\tonChange={ props.onChange }\n\t\t\t\t\t\tonRemove={ props.onRemove }\n\t\t\t\t\t\tonCancel={ props.onCancel }\n\t\t\t\t\t\trenderControlBottom={ () =>\n\t\t\t\t\t\t\t! link?.url?.length && (\n\t\t\t\t\t\t\t\t<LinkUITools\n\t\t\t\t\t\t\t\t\tfocusAddBlockButton={ focusAddBlockButton }\n\t\t\t\t\t\t\t\t\tsetAddingBlock={ () => {\n\t\t\t\t\t\t\t\t\t\tsetAddingBlock( true );\n\t\t\t\t\t\t\t\t\t\tsetFocusAddBlockButton( false );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ addingBlock && (\n\t\t\t\t<LinkUIBlockInserter\n\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\tonBack={ () => {\n\t\t\t\t\t\tsetAddingBlock( false );\n\t\t\t\t\t\tsetFocusAddBlockButton( true );\n\t\t\t\t\t} }\n\t\t\t\t\tonSelectBlock={ onSelectBlock }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Popover>\n\t);\n}\n\nexport const LinkUI = forwardRef( UnforwardedLinkUI );\n\nconst LinkUITools = ( { setAddingBlock, focusAddBlockButton } ) => {\n\tconst blockInserterAriaRole = 'listbox';\n\tconst addBlockButtonRef = useRef();\n\n\t// Focus the add block button when the popover is opened.\n\tuseEffect( () => {\n\t\tif ( focusAddBlockButton ) {\n\t\t\taddBlockButtonRef.current?.focus();\n\t\t}\n\t}, [ focusAddBlockButton ] );\n\n\treturn (\n\t\t<VStack className=\"link-ui-tools\">\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tref={ addBlockButtonRef }\n\t\t\t\ticon={ plus }\n\t\t\t\tonClick={ ( e ) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tsetAddingBlock( true );\n\t\t\t\t} }\n\t\t\t\taria-haspopup={ blockInserterAriaRole }\n\t\t\t>\n\t\t\t\t{ __( 'Add block' ) }\n\t\t\t</Button>\n\t\t</VStack>\n\t);\n};\n\nexport default LinkUITools;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__unstableStripHTML","stripHTML","Popover","Button","VisuallyHidden","__experimentalVStack","VStack","__","sprintf","isRTL","__experimentalLinkControl","LinkControl","store","blockEditorStore","privateApis","blockEditorPrivateApis","createInterpolateElement","useMemo","useState","useRef","useEffect","forwardRef","coreStore","useResourcePermissions","decodeEntities","useSelect","useDispatch","chevronLeftSmall","chevronRightSmall","plus","useInstanceId","useFocusOnMount","unlock","jsx","_jsx","jsxs","_jsxs","PrivateQuickInserter","QuickInserter","getSuggestionsQuery","type","kind","subtype","initialSuggestionsSearchOptions","perPage","LinkUIBlockInserter","clientId","onBack","onSelectBlock","rootBlockClientId","select","getBlockRootClientId","focusOnMountRef","dialogTitleId","dialogDescritionId","className","role","ref","children","id","icon","onClick","e","preventDefault","size","rootClientId","isAppender","prioritizePatterns","selectBlockOnInsert","hasSearch","onSelect","UnforwardedLinkUI","props","label","url","opensInNewTab","link","postType","addingBlock","setAddingBlock","focusAddBlockButton","setFocusAddBlockButton","saveEntityRecord","permissions","name","handleCreate","pageTitle","page","title","status","rendered","LinkUI","onClose","placement","anchor","shift","hasTextControl","hasRichPreviews","value","showInitialSuggestions","withCreateSuggestion","canCreate","createSuggestion","createSuggestionButtonText","searchTerm","format","mark","noDirectEntry","noURLSuggestion","suggestionsQuery","onChange","onRemove","onCancel","renderControlBottom","length","LinkUITools","blockInserterAriaRole","addBlockButtonRef","current","focus","__next40pxDefaultSize"],"sources":["@wordpress/block-library/src/navigation-link/link-ui.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport {\n\tPopover,\n\tButton,\n\tVisuallyHidden,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __, sprintf, isRTL } from '@wordpress/i18n';\nimport {\n\t__experimentalLinkControl as LinkControl,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tcreateInterpolateElement,\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tuseEffect,\n\tforwardRef,\n} from '@wordpress/element';\nimport {\n\tstore as coreStore,\n\tuseResourcePermissions,\n} from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { chevronLeftSmall, chevronRightSmall, plus } from '@wordpress/icons';\nimport { useInstanceId, useFocusOnMount } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { PrivateQuickInserter: QuickInserter } = unlock(\n\tblockEditorPrivateApis\n);\n\n/**\n * Given the Link block's type attribute, return the query params to give to\n * /wp/v2/search.\n *\n * @param {string} type Link block's type attribute.\n * @param {string} kind Link block's entity of kind (post-type|taxonomy)\n * @return {{ type?: string, subtype?: string }} Search query params.\n */\nexport function getSuggestionsQuery( type, kind ) {\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\tcase 'page':\n\t\t\treturn { type: 'post', subtype: type };\n\t\tcase 'category':\n\t\t\treturn { type: 'term', subtype: 'category' };\n\t\tcase 'tag':\n\t\t\treturn { type: 'term', subtype: 'post_tag' };\n\t\tcase 'post_format':\n\t\t\treturn { type: 'post-format' };\n\t\tdefault:\n\t\t\tif ( kind === 'taxonomy' ) {\n\t\t\t\treturn { type: 'term', subtype: type };\n\t\t\t}\n\t\t\tif ( kind === 'post-type' ) {\n\t\t\t\treturn { type: 'post', subtype: type };\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t// for custom link which has no type\n\t\t\t\t// always show pages as initial suggestions\n\t\t\t\tinitialSuggestionsSearchOptions: {\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tsubtype: 'page',\n\t\t\t\t\tperPage: 20,\n\t\t\t\t},\n\t\t\t};\n\t}\n}\n\nfunction LinkUIBlockInserter( { clientId, onBack, onSelectBlock } ) {\n\tconst { rootBlockClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId } = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\trootBlockClientId: getBlockRootClientId( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\n\tconst dialogTitleId = useInstanceId(\n\t\tLinkControl,\n\t\t`link-ui-block-inserter__title`\n\t);\n\tconst dialogDescritionId = useInstanceId(\n\t\tLinkControl,\n\t\t`link-ui-block-inserter__description`\n\t);\n\n\tif ( ! clientId ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"link-ui-block-inserter\"\n\t\t\trole=\"dialog\"\n\t\t\taria-labelledby={ dialogTitleId }\n\t\t\taria-describedby={ dialogDescritionId }\n\t\t\tref={ focusOnMountRef }\n\t\t>\n\t\t\t<VisuallyHidden>\n\t\t\t\t<h2 id={ dialogTitleId }>{ __( 'Add block' ) }</h2>\n\n\t\t\t\t<p id={ dialogDescritionId }>\n\t\t\t\t\t{ __( 'Choose a block to add to your Navigation.' ) }\n\t\t\t\t</p>\n\t\t\t</VisuallyHidden>\n\n\t\t\t<Button\n\t\t\t\tclassName=\"link-ui-block-inserter__back\"\n\t\t\t\ticon={ isRTL() ? chevronRightSmall : chevronLeftSmall }\n\t\t\t\tonClick={ ( e ) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tonBack();\n\t\t\t\t} }\n\t\t\t\tsize=\"small\"\n\t\t\t>\n\t\t\t\t{ __( 'Back' ) }\n\t\t\t</Button>\n\n\t\t\t<QuickInserter\n\t\t\t\trootClientId={ rootBlockClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ false }\n\t\t\t\tprioritizePatterns={ false }\n\t\t\t\tselectBlockOnInsert\n\t\t\t\thasSearch={ false }\n\t\t\t\tonSelect={ onSelectBlock }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction UnforwardedLinkUI( props, ref ) {\n\tconst { label, url, opensInNewTab, type, kind } = props.link;\n\tconst postType = type || 'page';\n\n\tconst [ addingBlock, setAddingBlock ] = useState( false );\n\tconst [ focusAddBlockButton, setFocusAddBlockButton ] = useState( false );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst permissions = useResourcePermissions( {\n\t\tkind: 'postType',\n\t\tname: postType,\n\t} );\n\n\tasync function handleCreate( pageTitle ) {\n\t\tconst page = await saveEntityRecord( 'postType', postType, {\n\t\t\ttitle: pageTitle,\n\t\t\tstatus: 'draft',\n\t\t} );\n\n\t\treturn {\n\t\t\tid: page.id,\n\t\t\ttype: postType,\n\t\t\t// Make `title` property consistent with that in `fetchLinkSuggestions` where the `rendered` title (containing HTML entities)\n\t\t\t// is also being decoded. By being consistent in both locations we avoid having to branch in the rendering output code.\n\t\t\t// Ideally in the future we will update both APIs to utilise the \"raw\" form of the title which is better suited to edit contexts.\n\t\t\t// e.g.\n\t\t\t// - title.raw = \"Yes & No\"\n\t\t\t// - title.rendered = \"Yes &#038; No\"\n\t\t\t// - decodeEntities( title.rendered ) = \"Yes & No\"\n\t\t\t// See:\n\t\t\t// - https://github.com/WordPress/gutenberg/pull/41063\n\t\t\t// - https://github.com/WordPress/gutenberg/blob/a1e1fdc0e6278457e9f4fc0b31ac6d2095f5450b/packages/core-data/src/fetch/__experimental-fetch-link-suggestions.js#L212-L218\n\t\t\ttitle: decodeEntities( page.title.rendered ),\n\t\t\turl: page.link,\n\t\t\tkind: 'post-type',\n\t\t};\n\t}\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/50976#issuecomment-1568226407.\n\tconst link = useMemo(\n\t\t() => ( {\n\t\t\turl,\n\t\t\topensInNewTab,\n\t\t\ttitle: label && stripHTML( label ),\n\t\t} ),\n\t\t[ label, opensInNewTab, url ]\n\t);\n\n\tconst dialogTitleId = useInstanceId(\n\t\tLinkUI,\n\t\t`link-ui-link-control__title`\n\t);\n\tconst dialogDescritionId = useInstanceId(\n\t\tLinkUI,\n\t\t`link-ui-link-control__description`\n\t);\n\n\t// Selecting a block should close the popover and also remove the (previously) automatically inserted\n\t// link block so that the newly selected block can be inserted in its place.\n\tconst { onClose: onSelectBlock } = props;\n\n\treturn (\n\t\t<Popover\n\t\t\tref={ ref }\n\t\t\tplacement=\"bottom\"\n\t\t\tonClose={ props.onClose }\n\t\t\tanchor={ props.anchor }\n\t\t\tshift\n\t\t>\n\t\t\t{ ! addingBlock && (\n\t\t\t\t<div\n\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\taria-labelledby={ dialogTitleId }\n\t\t\t\t\taria-describedby={ dialogDescritionId }\n\t\t\t\t>\n\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t<h2 id={ dialogTitleId }>{ __( 'Add link' ) }</h2>\n\n\t\t\t\t\t\t<p id={ dialogDescritionId }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Search for and add a link to your Navigation.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t<LinkControl\n\t\t\t\t\t\thasTextControl\n\t\t\t\t\t\thasRichPreviews\n\t\t\t\t\t\tvalue={ link }\n\t\t\t\t\t\tshowInitialSuggestions\n\t\t\t\t\t\twithCreateSuggestion={ permissions.canCreate }\n\t\t\t\t\t\tcreateSuggestion={ handleCreate }\n\t\t\t\t\t\tcreateSuggestionButtonText={ ( searchTerm ) => {\n\t\t\t\t\t\t\tlet format;\n\n\t\t\t\t\t\t\tif ( type === 'post' ) {\n\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\tformat = __(\n\t\t\t\t\t\t\t\t\t'Create draft post: <mark>%s</mark>'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\tformat = __(\n\t\t\t\t\t\t\t\t\t'Create draft page: <mark>%s</mark>'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf( format, searchTerm ),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tmark: <mark />,\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\tnoDirectEntry={ !! type }\n\t\t\t\t\t\tnoURLSuggestion={ !! type }\n\t\t\t\t\t\tsuggestionsQuery={ getSuggestionsQuery( type, kind ) }\n\t\t\t\t\t\tonChange={ props.onChange }\n\t\t\t\t\t\tonRemove={ props.onRemove }\n\t\t\t\t\t\tonCancel={ props.onCancel }\n\t\t\t\t\t\trenderControlBottom={ () =>\n\t\t\t\t\t\t\t! link?.url?.length && (\n\t\t\t\t\t\t\t\t<LinkUITools\n\t\t\t\t\t\t\t\t\tfocusAddBlockButton={ focusAddBlockButton }\n\t\t\t\t\t\t\t\t\tsetAddingBlock={ () => {\n\t\t\t\t\t\t\t\t\t\tsetAddingBlock( true );\n\t\t\t\t\t\t\t\t\t\tsetFocusAddBlockButton( false );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ addingBlock && (\n\t\t\t\t<LinkUIBlockInserter\n\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\tonBack={ () => {\n\t\t\t\t\t\tsetAddingBlock( false );\n\t\t\t\t\t\tsetFocusAddBlockButton( true );\n\t\t\t\t\t} }\n\t\t\t\t\tonSelectBlock={ onSelectBlock }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Popover>\n\t);\n}\n\nexport const LinkUI = forwardRef( UnforwardedLinkUI );\n\nconst LinkUITools = ( { setAddingBlock, focusAddBlockButton } ) => {\n\tconst blockInserterAriaRole = 'listbox';\n\tconst addBlockButtonRef = useRef();\n\n\t// Focus the add block button when the popover is opened.\n\tuseEffect( () => {\n\t\tif ( focusAddBlockButton ) {\n\t\t\taddBlockButtonRef.current?.focus();\n\t\t}\n\t}, [ focusAddBlockButton ] );\n\n\treturn (\n\t\t<VStack className=\"link-ui-tools\">\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tref={ addBlockButtonRef }\n\t\t\t\ticon={ plus }\n\t\t\t\tonClick={ ( e ) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tsetAddingBlock( true );\n\t\t\t\t} }\n\t\t\t\taria-haspopup={ blockInserterAriaRole }\n\t\t\t>\n\t\t\t\t{ __( 'Add block' ) }\n\t\t\t</Button>\n\t\t</VStack>\n\t);\n};\n\nexport default LinkUITools;\n"],"mappings":"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","ignoreList":[]}
@@ -25,9 +25,7 @@ import { ItemSubmenuIcon } from './icons';
25
25
  import { LinkUI } from '../navigation-link/link-ui';
26
26
  import { updateAttributes } from '../navigation-link/update-attributes';
27
27
  import { getColors, getNavigationChildBlockProps } from '../navigation/edit/utils';
28
- import { jsx as _jsx } from "react/jsx-runtime";
29
- import { jsxs as _jsxs } from "react/jsx-runtime";
30
- import { Fragment as _Fragment } from "react/jsx-runtime";
28
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
31
29
  const ALLOWED_BLOCKS = ['core/navigation-link', 'core/navigation-submenu', 'core/page-list'];
32
30
  const DEFAULT_BLOCK = {
33
31
  name: 'core/navigation-link'
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useSelect","useDispatch","PanelBody","TextControl","TextareaControl","ToolbarButton","ToolbarGroup","displayShortcut","isKeyboardEvent","__","BlockControls","InnerBlocks","useInnerBlocksProps","InspectorControls","RichText","useBlockProps","store","blockEditorStore","getColorClassName","isURL","prependHTTP","useState","useEffect","useRef","link","linkIcon","removeSubmenu","speak","createBlock","useMergeRefs","usePrevious","ItemSubmenuIcon","LinkUI","updateAttributes","getColors","getNavigationChildBlockProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ALLOWED_BLOCKS","DEFAULT_BLOCK","name","useIsDraggingWithin","elementRef","isDraggingWithin","setIsDraggingWithin","ownerDocument","current","handleDragStart","event","handleDragEnter","handleDragEnd","contains","target","addEventListener","removeEventListener","NavigationSubmenuEdit","attributes","isSelected","setAttributes","mergeBlocks","onReplace","context","clientId","label","url","description","rel","title","showSubmenuIcon","maxNestingLevel","openSubmenusOnClick","__unstableMarkNextChangeAsNotPersistent","replaceBlock","selectBlock","isLinkOpen","setIsLinkOpen","openedBy","setOpenedBy","popoverAnchor","setPopoverAnchor","listItemRef","itemLabelPlaceholder","ref","parentCount","isParentOfSelectedBlock","isImmediateParentOfSelectedBlock","hasChildren","selectedBlockHasChildren","onlyDescendantIsEmptyLink","select","hasSelectedInnerBlock","getSelectedBlockClientId","getBlockParentsByBlockName","getBlock","getBlockCount","getBlockOrder","_onlyDescendantIsEmptyLink","selectedBlockId","selectedBlockChildren","length","singleBlock","prevHasChildren","test","selectLabelText","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","textColor","customTextColor","backgroundColor","customBackgroundColor","onKeyDown","primary","preventDefault","stopPropagation","blockProps","className","style","color","innerBlocksColors","allowedBlocks","filter","blockName","navigationChildBlockProps","innerBlocksProps","defaultBlock","directInsert","__experimentalCaptureToolbars","renderAppender","ButtonBlockAppender","ParentElement","transformToLink","newLinkBlock","canConvertToLink","children","icon","shortcut","onClick","currentTarget","disabled","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","labelValue","autoComplete","urlValue","descriptionValue","help","titleValue","relValue","identifier","onMerge","placeholder","withoutInteractiveFormatting","allowedFormats","onClose","anchor","onRemove","updatedValue"],"sources":["@wordpress/block-library/src/navigation-submenu/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tTextControl,\n\tTextareaControl,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tInnerBlocks,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tgetColorClassName,\n} from '@wordpress/block-editor';\nimport { isURL, prependHTTP } from '@wordpress/url';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { link as linkIcon, removeSubmenu } from '@wordpress/icons';\nimport { speak } from '@wordpress/a11y';\nimport { createBlock } from '@wordpress/blocks';\nimport { useMergeRefs, usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { ItemSubmenuIcon } from './icons';\nimport { LinkUI } from '../navigation-link/link-ui';\nimport { updateAttributes } from '../navigation-link/update-attributes';\nimport {\n\tgetColors,\n\tgetNavigationChildBlockProps,\n} from '../navigation/edit/utils';\n\nconst ALLOWED_BLOCKS = [\n\t'core/navigation-link',\n\t'core/navigation-submenu',\n\t'core/page-list',\n];\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n};\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}, [] );\n\n\treturn isDraggingWithin;\n};\n\n/**\n * @typedef {'post-type'|'custom'|'taxonomy'|'post-type-archive'} WPNavigationLinkKind\n */\n\n/**\n * Navigation Link Block Attributes\n *\n * @typedef {Object} WPNavigationLinkBlockAttributes\n *\n * @property {string} [label] Link text.\n * @property {WPNavigationLinkKind} [kind] Kind is used to differentiate between term and post ids to check post draft status.\n * @property {string} [type] The type such as post, page, tag, category and other custom types.\n * @property {string} [rel] The relationship of the linked URL.\n * @property {number} [id] A post or term id.\n * @property {boolean} [opensInNewTab] Sets link target to _blank when true.\n * @property {string} [url] Link href.\n * @property {string} [title] Link title attribute.\n */\n\nexport default function NavigationSubmenuEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst { label, url, description, rel, title } = attributes;\n\n\tconst { showSubmenuIcon, maxNestingLevel, openSubmenusOnClick } = context;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceBlock,\n\t\tselectBlock,\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 text…' );\n\tconst ref = useRef();\n\n\tconst {\n\t\tparentCount,\n\t\tisParentOfSelectedBlock,\n\t\tisImmediateParentOfSelectedBlock,\n\t\thasChildren,\n\t\tselectedBlockHasChildren,\n\t\tonlyDescendantIsEmptyLink,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\tgetBlock,\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockOrder,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tlet _onlyDescendantIsEmptyLink;\n\n\t\t\tconst selectedBlockId = getSelectedBlockClientId();\n\n\t\t\tconst selectedBlockChildren = getBlockOrder( selectedBlockId );\n\n\t\t\t// Check for a single descendant in the submenu. If that block\n\t\t\t// is a link block in a \"placeholder\" state with no label then\n\t\t\t// we can consider as an \"empty\" link.\n\t\t\tif ( selectedBlockChildren?.length === 1 ) {\n\t\t\t\tconst singleBlock = getBlock( selectedBlockChildren[ 0 ] );\n\n\t\t\t\t_onlyDescendantIsEmptyLink =\n\t\t\t\t\tsingleBlock?.name === 'core/navigation-link' &&\n\t\t\t\t\t! singleBlock?.attributes?.label;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tparentCount: getBlockParentsByBlockName(\n\t\t\t\t\tclientId,\n\t\t\t\t\t'core/navigation-submenu'\n\t\t\t\t).length,\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\tisImmediateParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\thasChildren: !! getBlockCount( clientId ),\n\t\t\t\tselectedBlockHasChildren: !! selectedBlockChildren?.length,\n\t\t\t\tonlyDescendantIsEmptyLink: _onlyDescendantIsEmptyLink,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst prevHasChildren = usePrevious( hasChildren );\n\n\t// Show the LinkControl on mount if the URL is empty\n\t// ( When adding a new menu item)\n\t// This can't be done in the useState call because it conflicts\n\t// with the autofocus behavior of the BlockListBlock component.\n\tuseEffect( () => {\n\t\tif ( ! openSubmenusOnClick && ! url ) {\n\t\t\tsetIsLinkOpen( true );\n\t\t}\n\t}, [] );\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\tif ( isLinkOpen && url ) {\n\t\t\t// Does this look like a URL and have something TLD-ish?\n\t\t\tif (\n\t\t\t\tisURL( prependHTTP( label ) ) &&\n\t\t\t\t/^.+\\.[a-z]+/.test( label )\n\t\t\t) {\n\t\t\t\t// Focus and select the label text.\n\t\t\t\tselectLabelText();\n\t\t\t}\n\t\t}\n\t}, [ url ] );\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\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t} = getColors( context, parentCount > 0 );\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 we don't stop propogation, this event bubbles up to the parent submenu item\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\t'open-on-click': openSubmenusOnClick,\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\t// Always use overlay colors for submenus.\n\tconst innerBlocksColors = getColors( context, true );\n\n\tconst allowedBlocks =\n\t\tparentCount >= maxNestingLevel\n\t\t\t? ALLOWED_BLOCKS.filter(\n\t\t\t\t\t( blockName ) => blockName !== 'core/navigation-submenu'\n\t\t\t )\n\t\t\t: ALLOWED_BLOCKS;\n\n\tconst navigationChildBlockProps =\n\t\tgetNavigationChildBlockProps( innerBlocksColors );\n\tconst innerBlocksProps = useInnerBlocksProps( navigationChildBlockProps, {\n\t\tallowedBlocks,\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\n\t\t// Ensure block toolbar is not too far removed from item\n\t\t// being edited.\n\t\t// see: https://github.com/WordPress/gutenberg/pull/34615.\n\t\t__experimentalCaptureToolbars: true,\n\n\t\trenderAppender:\n\t\t\tisSelected ||\n\t\t\t( isImmediateParentOfSelectedBlock &&\n\t\t\t\t! selectedBlockHasChildren ) ||\n\t\t\t// Show the appender while dragging to allow inserting element between item and the appender.\n\t\t\thasChildren\n\t\t\t\t? InnerBlocks.ButtonBlockAppender\n\t\t\t\t: false,\n\t} );\n\n\tconst ParentElement = openSubmenusOnClick ? 'button' : 'a';\n\n\tfunction transformToLink() {\n\t\tconst newLinkBlock = createBlock( 'core/navigation-link', attributes );\n\t\treplaceBlock( clientId, newLinkBlock );\n\t}\n\n\tuseEffect( () => {\n\t\t// If block becomes empty, transform to Navigation Link.\n\t\tif ( ! hasChildren && prevHasChildren ) {\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\ttransformToLink();\n\t\t}\n\t}, [ hasChildren, prevHasChildren ] );\n\n\tconst canConvertToLink =\n\t\t! selectedBlockHasChildren || onlyDescendantIsEmptyLink;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t{ ! openSubmenusOnClick && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\t\tsetOpenedBy( event.currentTarget );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"revert\"\n\t\t\t\t\t\ticon={ removeSubmenu }\n\t\t\t\t\t\ttitle={ __( 'Convert to Link' ) }\n\t\t\t\t\t\tonClick={ transformToLink }\n\t\t\t\t\t\tclassName=\"wp-block-navigation__submenu__revert\"\n\t\t\t\t\t\tdisabled={ ! canConvertToLink }\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-link/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 || '' }\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/>\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 || '' }\n\t\t\t\t\t\tonChange={ ( urlValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { url: urlValue } );\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( {\n\t\t\t\t\t\t\t\tdescription: descriptionValue,\n\t\t\t\t\t\t\t} );\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<ParentElement className=\"wp-block-navigation-item__content\">\n\t\t\t\t\t{ /* eslint-enable */ }\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\tvalue={ 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\tonMerge={ mergeBlocks }\n\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\taria-label={ __( 'Navigation link text' ) }\n\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tallowedFormats={ [\n\t\t\t\t\t\t\t'core/bold',\n\t\t\t\t\t\t\t'core/italic',\n\t\t\t\t\t\t\t'core/image',\n\t\t\t\t\t\t\t'core/strikethrough',\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tif ( ! openSubmenusOnClick && ! url ) {\n\t\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\t\tsetOpenedBy( ref.current );\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{ ! openSubmenusOnClick && 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\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 {\n\t\t\t\t\t\t\t\t\tselectBlock( clientId );\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={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( { url: '' } );\n\t\t\t\t\t\t\t\tspeak( __( 'Link removed.' ), 'assertive' );\n\t\t\t\t\t\t\t} }\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</ParentElement>\n\t\t\t\t{ ( showSubmenuIcon || openSubmenusOnClick ) && (\n\t\t\t\t\t<span className=\"wp-block-navigation__submenu-icon\">\n\t\t\t\t\t\t<ItemSubmenuIcon />\n\t\t\t\t\t</span>\n\t\t\t\t) }\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","useSelect","useDispatch","PanelBody","TextControl","TextareaControl","ToolbarButton","ToolbarGroup","displayShortcut","isKeyboardEvent","__","BlockControls","InnerBlocks","useInnerBlocksProps","InspectorControls","RichText","useBlockProps","store","blockEditorStore","getColorClassName","isURL","prependHTTP","useState","useEffect","useRef","link","linkIcon","removeSubmenu","speak","createBlock","useMergeRefs","usePrevious","ItemSubmenuIcon","LinkUI","updateAttributes","getColors","getNavigationChildBlockProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ALLOWED_BLOCKS","DEFAULT_BLOCK","name","useIsDraggingWithin","elementRef","isDraggingWithin","setIsDraggingWithin","ownerDocument","current","handleDragStart","event","handleDragEnter","handleDragEnd","contains","target","addEventListener","removeEventListener","NavigationSubmenuEdit","attributes","isSelected","setAttributes","mergeBlocks","onReplace","context","clientId","label","url","description","rel","title","showSubmenuIcon","maxNestingLevel","openSubmenusOnClick","__unstableMarkNextChangeAsNotPersistent","replaceBlock","selectBlock","isLinkOpen","setIsLinkOpen","openedBy","setOpenedBy","popoverAnchor","setPopoverAnchor","listItemRef","itemLabelPlaceholder","ref","parentCount","isParentOfSelectedBlock","isImmediateParentOfSelectedBlock","hasChildren","selectedBlockHasChildren","onlyDescendantIsEmptyLink","select","hasSelectedInnerBlock","getSelectedBlockClientId","getBlockParentsByBlockName","getBlock","getBlockCount","getBlockOrder","_onlyDescendantIsEmptyLink","selectedBlockId","selectedBlockChildren","length","singleBlock","prevHasChildren","test","selectLabelText","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","textColor","customTextColor","backgroundColor","customBackgroundColor","onKeyDown","primary","preventDefault","stopPropagation","blockProps","className","style","color","innerBlocksColors","allowedBlocks","filter","blockName","navigationChildBlockProps","innerBlocksProps","defaultBlock","directInsert","__experimentalCaptureToolbars","renderAppender","ButtonBlockAppender","ParentElement","transformToLink","newLinkBlock","canConvertToLink","children","icon","shortcut","onClick","currentTarget","disabled","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","labelValue","autoComplete","urlValue","descriptionValue","help","titleValue","relValue","identifier","onMerge","placeholder","withoutInteractiveFormatting","allowedFormats","onClose","anchor","onRemove","updatedValue"],"sources":["@wordpress/block-library/src/navigation-submenu/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tTextControl,\n\tTextareaControl,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tInnerBlocks,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tgetColorClassName,\n} from '@wordpress/block-editor';\nimport { isURL, prependHTTP } from '@wordpress/url';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { link as linkIcon, removeSubmenu } from '@wordpress/icons';\nimport { speak } from '@wordpress/a11y';\nimport { createBlock } from '@wordpress/blocks';\nimport { useMergeRefs, usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { ItemSubmenuIcon } from './icons';\nimport { LinkUI } from '../navigation-link/link-ui';\nimport { updateAttributes } from '../navigation-link/update-attributes';\nimport {\n\tgetColors,\n\tgetNavigationChildBlockProps,\n} from '../navigation/edit/utils';\n\nconst ALLOWED_BLOCKS = [\n\t'core/navigation-link',\n\t'core/navigation-submenu',\n\t'core/page-list',\n];\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n};\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}, [] );\n\n\treturn isDraggingWithin;\n};\n\n/**\n * @typedef {'post-type'|'custom'|'taxonomy'|'post-type-archive'} WPNavigationLinkKind\n */\n\n/**\n * Navigation Link Block Attributes\n *\n * @typedef {Object} WPNavigationLinkBlockAttributes\n *\n * @property {string} [label] Link text.\n * @property {WPNavigationLinkKind} [kind] Kind is used to differentiate between term and post ids to check post draft status.\n * @property {string} [type] The type such as post, page, tag, category and other custom types.\n * @property {string} [rel] The relationship of the linked URL.\n * @property {number} [id] A post or term id.\n * @property {boolean} [opensInNewTab] Sets link target to _blank when true.\n * @property {string} [url] Link href.\n * @property {string} [title] Link title attribute.\n */\n\nexport default function NavigationSubmenuEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst { label, url, description, rel, title } = attributes;\n\n\tconst { showSubmenuIcon, maxNestingLevel, openSubmenusOnClick } = context;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceBlock,\n\t\tselectBlock,\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 text…' );\n\tconst ref = useRef();\n\n\tconst {\n\t\tparentCount,\n\t\tisParentOfSelectedBlock,\n\t\tisImmediateParentOfSelectedBlock,\n\t\thasChildren,\n\t\tselectedBlockHasChildren,\n\t\tonlyDescendantIsEmptyLink,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\tgetBlock,\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockOrder,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tlet _onlyDescendantIsEmptyLink;\n\n\t\t\tconst selectedBlockId = getSelectedBlockClientId();\n\n\t\t\tconst selectedBlockChildren = getBlockOrder( selectedBlockId );\n\n\t\t\t// Check for a single descendant in the submenu. If that block\n\t\t\t// is a link block in a \"placeholder\" state with no label then\n\t\t\t// we can consider as an \"empty\" link.\n\t\t\tif ( selectedBlockChildren?.length === 1 ) {\n\t\t\t\tconst singleBlock = getBlock( selectedBlockChildren[ 0 ] );\n\n\t\t\t\t_onlyDescendantIsEmptyLink =\n\t\t\t\t\tsingleBlock?.name === 'core/navigation-link' &&\n\t\t\t\t\t! singleBlock?.attributes?.label;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tparentCount: getBlockParentsByBlockName(\n\t\t\t\t\tclientId,\n\t\t\t\t\t'core/navigation-submenu'\n\t\t\t\t).length,\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\tisImmediateParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\thasChildren: !! getBlockCount( clientId ),\n\t\t\t\tselectedBlockHasChildren: !! selectedBlockChildren?.length,\n\t\t\t\tonlyDescendantIsEmptyLink: _onlyDescendantIsEmptyLink,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst prevHasChildren = usePrevious( hasChildren );\n\n\t// Show the LinkControl on mount if the URL is empty\n\t// ( When adding a new menu item)\n\t// This can't be done in the useState call because it conflicts\n\t// with the autofocus behavior of the BlockListBlock component.\n\tuseEffect( () => {\n\t\tif ( ! openSubmenusOnClick && ! url ) {\n\t\t\tsetIsLinkOpen( true );\n\t\t}\n\t}, [] );\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\tif ( isLinkOpen && url ) {\n\t\t\t// Does this look like a URL and have something TLD-ish?\n\t\t\tif (\n\t\t\t\tisURL( prependHTTP( label ) ) &&\n\t\t\t\t/^.+\\.[a-z]+/.test( label )\n\t\t\t) {\n\t\t\t\t// Focus and select the label text.\n\t\t\t\tselectLabelText();\n\t\t\t}\n\t\t}\n\t}, [ url ] );\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\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t} = getColors( context, parentCount > 0 );\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 we don't stop propogation, this event bubbles up to the parent submenu item\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\t'open-on-click': openSubmenusOnClick,\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\t// Always use overlay colors for submenus.\n\tconst innerBlocksColors = getColors( context, true );\n\n\tconst allowedBlocks =\n\t\tparentCount >= maxNestingLevel\n\t\t\t? ALLOWED_BLOCKS.filter(\n\t\t\t\t\t( blockName ) => blockName !== 'core/navigation-submenu'\n\t\t\t )\n\t\t\t: ALLOWED_BLOCKS;\n\n\tconst navigationChildBlockProps =\n\t\tgetNavigationChildBlockProps( innerBlocksColors );\n\tconst innerBlocksProps = useInnerBlocksProps( navigationChildBlockProps, {\n\t\tallowedBlocks,\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\n\t\t// Ensure block toolbar is not too far removed from item\n\t\t// being edited.\n\t\t// see: https://github.com/WordPress/gutenberg/pull/34615.\n\t\t__experimentalCaptureToolbars: true,\n\n\t\trenderAppender:\n\t\t\tisSelected ||\n\t\t\t( isImmediateParentOfSelectedBlock &&\n\t\t\t\t! selectedBlockHasChildren ) ||\n\t\t\t// Show the appender while dragging to allow inserting element between item and the appender.\n\t\t\thasChildren\n\t\t\t\t? InnerBlocks.ButtonBlockAppender\n\t\t\t\t: false,\n\t} );\n\n\tconst ParentElement = openSubmenusOnClick ? 'button' : 'a';\n\n\tfunction transformToLink() {\n\t\tconst newLinkBlock = createBlock( 'core/navigation-link', attributes );\n\t\treplaceBlock( clientId, newLinkBlock );\n\t}\n\n\tuseEffect( () => {\n\t\t// If block becomes empty, transform to Navigation Link.\n\t\tif ( ! hasChildren && prevHasChildren ) {\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\ttransformToLink();\n\t\t}\n\t}, [ hasChildren, prevHasChildren ] );\n\n\tconst canConvertToLink =\n\t\t! selectedBlockHasChildren || onlyDescendantIsEmptyLink;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t{ ! openSubmenusOnClick && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\t\tsetOpenedBy( event.currentTarget );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"revert\"\n\t\t\t\t\t\ticon={ removeSubmenu }\n\t\t\t\t\t\ttitle={ __( 'Convert to Link' ) }\n\t\t\t\t\t\tonClick={ transformToLink }\n\t\t\t\t\t\tclassName=\"wp-block-navigation__submenu__revert\"\n\t\t\t\t\t\tdisabled={ ! canConvertToLink }\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-link/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 || '' }\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/>\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 || '' }\n\t\t\t\t\t\tonChange={ ( urlValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { url: urlValue } );\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( {\n\t\t\t\t\t\t\t\tdescription: descriptionValue,\n\t\t\t\t\t\t\t} );\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<ParentElement className=\"wp-block-navigation-item__content\">\n\t\t\t\t\t{ /* eslint-enable */ }\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\tvalue={ 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\tonMerge={ mergeBlocks }\n\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\taria-label={ __( 'Navigation link text' ) }\n\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tallowedFormats={ [\n\t\t\t\t\t\t\t'core/bold',\n\t\t\t\t\t\t\t'core/italic',\n\t\t\t\t\t\t\t'core/image',\n\t\t\t\t\t\t\t'core/strikethrough',\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tif ( ! openSubmenusOnClick && ! url ) {\n\t\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\t\tsetOpenedBy( ref.current );\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{ ! openSubmenusOnClick && 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\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 {\n\t\t\t\t\t\t\t\t\tselectBlock( clientId );\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={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( { url: '' } );\n\t\t\t\t\t\t\t\tspeak( __( 'Link removed.' ), 'assertive' );\n\t\t\t\t\t\t\t} }\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</ParentElement>\n\t\t\t\t{ ( showSubmenuIcon || openSubmenusOnClick ) && (\n\t\t\t\t\t<span className=\"wp-block-navigation__submenu-icon\">\n\t\t\t\t\t\t<ItemSubmenuIcon />\n\t\t\t\t\t</span>\n\t\t\t\t) }\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":[]}
@@ -30,7 +30,7 @@ export function NextPageEdit({
30
30
  const lineStyle = getStylesFromColorScheme(styles.nextpageLine, styles.nextpageLineDark);
31
31
  return /*#__PURE__*/_jsx(View, {
32
32
  accessible: true,
33
- accessibilityLabel: sprintf( /* translators: accessibility text. %s: Page break text. */
33
+ accessibilityLabel: sprintf(/* translators: accessibility text. %s: Page break text. */
34
34
  __('Page break block. %s'), accessibilityTitle),
35
35
  accessibilityStates: accessibilityState,
36
36
  onAccessibilityTap: onFocus,
@@ -1 +1 @@
1
- {"version":3,"names":["View","__","sprintf","withPreferredColorScheme","HorizontalRule","styles","jsx","_jsx","NextPageEdit","attributes","isSelected","onFocus","getStylesFromColorScheme","customText","accessibilityTitle","accessibilityState","textStyle","nextpageText","nextpageTextDark","lineStyle","nextpageLine","nextpageLineDark","accessible","accessibilityLabel","accessibilityStates","onAccessibilityTap","children","text","marginLeft","marginRight"],"sources":["@wordpress/block-library/src/nextpage/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { withPreferredColorScheme } from '@wordpress/compose';\nimport { HorizontalRule } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\n\nexport function NextPageEdit( {\n\tattributes,\n\tisSelected,\n\tonFocus,\n\tgetStylesFromColorScheme,\n} ) {\n\tconst { customText = __( 'Page break' ) } = attributes;\n\tconst accessibilityTitle = attributes.customText || '';\n\tconst accessibilityState = isSelected ? [ 'selected' ] : [];\n\tconst textStyle = getStylesFromColorScheme(\n\t\tstyles.nextpageText,\n\t\tstyles.nextpageTextDark\n\t);\n\tconst lineStyle = getStylesFromColorScheme(\n\t\tstyles.nextpageLine,\n\t\tstyles.nextpageLineDark\n\t);\n\n\treturn (\n\t\t<View\n\t\t\taccessible\n\t\t\taccessibilityLabel={ sprintf(\n\t\t\t\t/* translators: accessibility text. %s: Page break text. */\n\t\t\t\t__( 'Page break block. %s' ),\n\t\t\t\taccessibilityTitle\n\t\t\t) }\n\t\t\taccessibilityStates={ accessibilityState }\n\t\t\tonAccessibilityTap={ onFocus }\n\t\t>\n\t\t\t<HorizontalRule\n\t\t\t\ttext={ customText }\n\t\t\t\tmarginLeft={ 0 }\n\t\t\t\tmarginRight={ 0 }\n\t\t\t\ttextStyle={ textStyle }\n\t\t\t\tlineStyle={ lineStyle }\n\t\t\t/>\n\t\t</View>\n\t);\n}\n\nexport default withPreferredColorScheme( NextPageEdit );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAI,QAAQ,cAAc;;AAEnC;AACA;AACA;AACA,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,wBAAwB,QAAQ,oBAAoB;AAC7D,SAASC,cAAc,QAAQ,uBAAuB;;AAEtD;AACA;AACA;AACA,OAAOC,MAAM,MAAM,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEnC,OAAO,SAASC,YAAYA,CAAE;EAC7BC,UAAU;EACVC,UAAU;EACVC,OAAO;EACPC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,UAAU,GAAGZ,EAAE,CAAE,YAAa;EAAE,CAAC,GAAGQ,UAAU;EACtD,MAAMK,kBAAkB,GAAGL,UAAU,CAACI,UAAU,IAAI,EAAE;EACtD,MAAME,kBAAkB,GAAGL,UAAU,GAAG,CAAE,UAAU,CAAE,GAAG,EAAE;EAC3D,MAAMM,SAAS,GAAGJ,wBAAwB,CACzCP,MAAM,CAACY,YAAY,EACnBZ,MAAM,CAACa,gBACR,CAAC;EACD,MAAMC,SAAS,GAAGP,wBAAwB,CACzCP,MAAM,CAACe,YAAY,EACnBf,MAAM,CAACgB,gBACR,CAAC;EAED,oBACCd,IAAA,CAACP,IAAI;IACJsB,UAAU;IACVC,kBAAkB,EAAGrB,OAAO,EAC3B;IACAD,EAAE,CAAE,sBAAuB,CAAC,EAC5Ba,kBACD,CAAG;IACHU,mBAAmB,EAAGT,kBAAoB;IAC1CU,kBAAkB,EAAGd,OAAS;IAAAe,QAAA,eAE9BnB,IAAA,CAACH,cAAc;MACduB,IAAI,EAAGd,UAAY;MACnBe,UAAU,EAAG,CAAG;MAChBC,WAAW,EAAG,CAAG;MACjBb,SAAS,EAAGA,SAAW;MACvBG,SAAS,EAAGA;IAAW,CACvB;EAAC,CACG,CAAC;AAET;AAEA,eAAehB,wBAAwB,CAAEK,YAAa,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["View","__","sprintf","withPreferredColorScheme","HorizontalRule","styles","jsx","_jsx","NextPageEdit","attributes","isSelected","onFocus","getStylesFromColorScheme","customText","accessibilityTitle","accessibilityState","textStyle","nextpageText","nextpageTextDark","lineStyle","nextpageLine","nextpageLineDark","accessible","accessibilityLabel","accessibilityStates","onAccessibilityTap","children","text","marginLeft","marginRight"],"sources":["@wordpress/block-library/src/nextpage/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { withPreferredColorScheme } from '@wordpress/compose';\nimport { HorizontalRule } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\n\nexport function NextPageEdit( {\n\tattributes,\n\tisSelected,\n\tonFocus,\n\tgetStylesFromColorScheme,\n} ) {\n\tconst { customText = __( 'Page break' ) } = attributes;\n\tconst accessibilityTitle = attributes.customText || '';\n\tconst accessibilityState = isSelected ? [ 'selected' ] : [];\n\tconst textStyle = getStylesFromColorScheme(\n\t\tstyles.nextpageText,\n\t\tstyles.nextpageTextDark\n\t);\n\tconst lineStyle = getStylesFromColorScheme(\n\t\tstyles.nextpageLine,\n\t\tstyles.nextpageLineDark\n\t);\n\n\treturn (\n\t\t<View\n\t\t\taccessible\n\t\t\taccessibilityLabel={ sprintf(\n\t\t\t\t/* translators: accessibility text. %s: Page break text. */\n\t\t\t\t__( 'Page break block. %s' ),\n\t\t\t\taccessibilityTitle\n\t\t\t) }\n\t\t\taccessibilityStates={ accessibilityState }\n\t\t\tonAccessibilityTap={ onFocus }\n\t\t>\n\t\t\t<HorizontalRule\n\t\t\t\ttext={ customText }\n\t\t\t\tmarginLeft={ 0 }\n\t\t\t\tmarginRight={ 0 }\n\t\t\t\ttextStyle={ textStyle }\n\t\t\t\tlineStyle={ lineStyle }\n\t\t\t/>\n\t\t</View>\n\t);\n}\n\nexport default withPreferredColorScheme( NextPageEdit );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAI,QAAQ,cAAc;;AAEnC;AACA;AACA;AACA,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,wBAAwB,QAAQ,oBAAoB;AAC7D,SAASC,cAAc,QAAQ,uBAAuB;;AAEtD;AACA;AACA;AACA,OAAOC,MAAM,MAAM,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEnC,OAAO,SAASC,YAAYA,CAAE;EAC7BC,UAAU;EACVC,UAAU;EACVC,OAAO;EACPC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,UAAU,GAAGZ,EAAE,CAAE,YAAa;EAAE,CAAC,GAAGQ,UAAU;EACtD,MAAMK,kBAAkB,GAAGL,UAAU,CAACI,UAAU,IAAI,EAAE;EACtD,MAAME,kBAAkB,GAAGL,UAAU,GAAG,CAAE,UAAU,CAAE,GAAG,EAAE;EAC3D,MAAMM,SAAS,GAAGJ,wBAAwB,CACzCP,MAAM,CAACY,YAAY,EACnBZ,MAAM,CAACa,gBACR,CAAC;EACD,MAAMC,SAAS,GAAGP,wBAAwB,CACzCP,MAAM,CAACe,YAAY,EACnBf,MAAM,CAACgB,gBACR,CAAC;EAED,oBACCd,IAAA,CAACP,IAAI;IACJsB,UAAU;IACVC,kBAAkB,EAAGrB,OAAO,CAC3B;IACAD,EAAE,CAAE,sBAAuB,CAAC,EAC5Ba,kBACD,CAAG;IACHU,mBAAmB,EAAGT,kBAAoB;IAC1CU,kBAAkB,EAAGd,OAAS;IAAAe,QAAA,eAE9BnB,IAAA,CAACH,cAAc;MACduB,IAAI,EAAGd,UAAY;MACnBe,UAAU,EAAG,CAAG;MAChBC,WAAW,EAAG,CAAG;MACjBb,SAAS,EAAGA,SAAW;MACvBG,SAAS,EAAGA;IAAW,CACvB;EAAC,CACG,CAAC;AAET;AAEA,eAAehB,wBAAwB,CAAEK,YAAa,CAAC","ignoreList":[]}
@@ -4,8 +4,7 @@
4
4
  import { Button, Modal } from '@wordpress/components';
5
5
  import { useInstanceId } from '@wordpress/compose';
6
6
  import { __ } from '@wordpress/i18n';
7
- import { jsx as _jsx } from "react/jsx-runtime";
8
- import { jsxs as _jsxs } from "react/jsx-runtime";
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
8
  export const convertDescription = __("This Navigation Menu displays your website's pages. Editing it will enable you to add, delete, or reorder pages. However, new pages will no longer be added automatically.");
10
9
  export function ConvertToLinksModal({
11
10
  onClick,
@@ -1 +1 @@
1
- {"version":3,"names":["Button","Modal","useInstanceId","__","jsx","_jsx","jsxs","_jsxs","convertDescription","ConvertToLinksModal","onClick","onClose","disabled","onRequestClose","title","className","aria","describedby","children","id","__next40pxDefaultSize","variant","accessibleWhenDisabled"],"sources":["@wordpress/block-library/src/page-list/convert-to-links-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, Modal } from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\nexport const convertDescription = __(\n\t\"This Navigation Menu displays your website's pages. Editing it will enable you to add, delete, or reorder pages. However, new pages will no longer be added automatically.\"\n);\n\nexport function ConvertToLinksModal( { onClick, onClose, disabled } ) {\n\treturn (\n\t\t<Modal\n\t\t\tonRequestClose={ onClose }\n\t\t\ttitle={ __( 'Edit Page List' ) }\n\t\t\tclassName=\"wp-block-page-list-modal\"\n\t\t\taria={ {\n\t\t\t\tdescribedby: useInstanceId(\n\t\t\t\t\tConvertToLinksModal,\n\t\t\t\t\t'wp-block-page-list-modal__description'\n\t\t\t\t),\n\t\t\t} }\n\t\t>\n\t\t\t<p\n\t\t\t\tid={ useInstanceId(\n\t\t\t\t\tConvertToLinksModal,\n\t\t\t\t\t'wp-block-page-list-modal__description'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ convertDescription }\n\t\t\t</p>\n\t\t\t<div className=\"wp-block-page-list-modal-buttons\">\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ onClose }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Button>\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAM,EAAEC,KAAK,QAAQ,uBAAuB;AACrD,SAASC,aAAa,QAAQ,oBAAoB;AAClD,SAASC,EAAE,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAErC,OAAO,MAAMC,kBAAkB,GAAGL,EAAE,CACnC,4KACD,CAAC;AAED,OAAO,SAASM,mBAAmBA,CAAE;EAAEC,OAAO;EAAEC,OAAO;EAAEC;AAAS,CAAC,EAAG;EACrE,oBACCL,KAAA,CAACN,KAAK;IACLY,cAAc,EAAGF,OAAS;IAC1BG,KAAK,EAAGX,EAAE,CAAE,gBAAiB,CAAG;IAChCY,SAAS,EAAC,0BAA0B;IACpCC,IAAI,EAAG;MACNC,WAAW,EAAEf,aAAa,CACzBO,mBAAmB,EACnB,uCACD;IACD,CAAG;IAAAS,QAAA,gBAEHb,IAAA;MACCc,EAAE,EAAGjB,aAAa,CACjBO,mBAAmB,EACnB,uCACD,CAAG;MAAAS,QAAA,EAEDV;IAAkB,CAClB,CAAC,eACJD,KAAA;MAAKQ,SAAS,EAAC,kCAAkC;MAAAG,QAAA,gBAChDb,IAAA,CAACL,MAAM;QACNoB,qBAAqB;QACrBC,OAAO,EAAC,UAAU;QAClBX,OAAO,EAAGC,OAAS;QAAAO,QAAA,EAEjBf,EAAE,CAAE,QAAS;MAAC,CACT,CAAC,eACTE,IAAA,CAACL,MAAM;QACNoB,qBAAqB;QACrBC,OAAO,EAAC,SAAS;QACjBC,sBAAsB;QACtBV,QAAQ,EAAGA,QAAU;QACrBF,OAAO,EAAGA,OAAS;QAAAQ,QAAA,EAEjBf,EAAE,CAAE,MAAO;MAAC,CACP,CAAC;IAAA,CACL,CAAC;EAAA,CACA,CAAC;AAEV","ignoreList":[]}
1
+ {"version":3,"names":["Button","Modal","useInstanceId","__","jsx","_jsx","jsxs","_jsxs","convertDescription","ConvertToLinksModal","onClick","onClose","disabled","onRequestClose","title","className","aria","describedby","children","id","__next40pxDefaultSize","variant","accessibleWhenDisabled"],"sources":["@wordpress/block-library/src/page-list/convert-to-links-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, Modal } from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\nexport const convertDescription = __(\n\t\"This Navigation Menu displays your website's pages. Editing it will enable you to add, delete, or reorder pages. However, new pages will no longer be added automatically.\"\n);\n\nexport function ConvertToLinksModal( { onClick, onClose, disabled } ) {\n\treturn (\n\t\t<Modal\n\t\t\tonRequestClose={ onClose }\n\t\t\ttitle={ __( 'Edit Page List' ) }\n\t\t\tclassName=\"wp-block-page-list-modal\"\n\t\t\taria={ {\n\t\t\t\tdescribedby: useInstanceId(\n\t\t\t\t\tConvertToLinksModal,\n\t\t\t\t\t'wp-block-page-list-modal__description'\n\t\t\t\t),\n\t\t\t} }\n\t\t>\n\t\t\t<p\n\t\t\t\tid={ useInstanceId(\n\t\t\t\t\tConvertToLinksModal,\n\t\t\t\t\t'wp-block-page-list-modal__description'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ convertDescription }\n\t\t\t</p>\n\t\t\t<div className=\"wp-block-page-list-modal-buttons\">\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ onClose }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Button>\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAM,EAAEC,KAAK,QAAQ,uBAAuB;AACrD,SAASC,aAAa,QAAQ,oBAAoB;AAClD,SAASC,EAAE,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAErC,OAAO,MAAMC,kBAAkB,GAAGL,EAAE,CACnC,4KACD,CAAC;AAED,OAAO,SAASM,mBAAmBA,CAAE;EAAEC,OAAO;EAAEC,OAAO;EAAEC;AAAS,CAAC,EAAG;EACrE,oBACCL,KAAA,CAACN,KAAK;IACLY,cAAc,EAAGF,OAAS;IAC1BG,KAAK,EAAGX,EAAE,CAAE,gBAAiB,CAAG;IAChCY,SAAS,EAAC,0BAA0B;IACpCC,IAAI,EAAG;MACNC,WAAW,EAAEf,aAAa,CACzBO,mBAAmB,EACnB,uCACD;IACD,CAAG;IAAAS,QAAA,gBAEHb,IAAA;MACCc,EAAE,EAAGjB,aAAa,CACjBO,mBAAmB,EACnB,uCACD,CAAG;MAAAS,QAAA,EAEDV;IAAkB,CAClB,CAAC,eACJD,KAAA;MAAKQ,SAAS,EAAC,kCAAkC;MAAAG,QAAA,gBAChDb,IAAA,CAACL,MAAM;QACNoB,qBAAqB;QACrBC,OAAO,EAAC,UAAU;QAClBX,OAAO,EAAGC,OAAS;QAAAO,QAAA,EAEjBf,EAAE,CAAE,QAAS;MAAC,CACT,CAAC,eACTE,IAAA,CAACL,MAAM;QACNoB,qBAAqB;QACrBC,OAAO,EAAC,SAAS;QACjBC,sBAAsB;QACtBV,QAAQ,EAAGA,QAAU;QACrBF,OAAO,EAAGA,OAAS;QAAAQ,QAAA,EAEjBf,EAAE,CAAE,MAAO;MAAC,CACP,CAAC;IAAA,CACL,CAAC;EAAA,CACA,CAAC;AAEV","ignoreList":[]}
@@ -22,9 +22,7 @@ import { convertDescription, ConvertToLinksModal } from './convert-to-links-moda
22
22
 
23
23
  // We only show the edit option when page count is <= MAX_PAGE_COUNT
24
24
  // Performance of Navigation Links is not good past this value.
25
- import { jsx as _jsx } from "react/jsx-runtime";
26
- import { jsxs as _jsxs } from "react/jsx-runtime";
27
- import { Fragment as _Fragment } from "react/jsx-runtime";
25
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
28
26
  const MAX_PAGE_COUNT = 100;
29
27
  const NOOP = () => {};
30
28
  function BlockContent({