@wordpress/block-library 8.33.0 → 8.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (900) hide show
  1. package/CHANGELOG.md +10 -3
  2. package/build/audio/edit.js +2 -2
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/avatar/edit.js +2 -2
  5. package/build/avatar/edit.js.map +1 -1
  6. package/build/block/edit.js +25 -160
  7. package/build/block/edit.js.map +1 -1
  8. package/build/block-keyboard-shortcuts/index.js +95 -0
  9. package/build/block-keyboard-shortcuts/index.js.map +1 -0
  10. package/build/button/deprecated.js +16 -16
  11. package/build/button/deprecated.js.map +1 -1
  12. package/build/button/edit.js +3 -7
  13. package/build/button/edit.js.map +1 -1
  14. package/build/button/index.js +1 -0
  15. package/build/button/index.js.map +1 -1
  16. package/build/button/save.js +3 -3
  17. package/build/button/save.js.map +1 -1
  18. package/build/buttons/deprecated.js +2 -2
  19. package/build/buttons/deprecated.js.map +1 -1
  20. package/build/buttons/edit.js +2 -2
  21. package/build/buttons/edit.js.map +1 -1
  22. package/build/buttons/save.js +2 -2
  23. package/build/buttons/save.js.map +1 -1
  24. package/build/categories/edit.js +2 -2
  25. package/build/categories/edit.js.map +1 -1
  26. package/build/column/deprecated.js +2 -2
  27. package/build/column/deprecated.js.map +1 -1
  28. package/build/column/edit.js +30 -21
  29. package/build/column/edit.js.map +1 -1
  30. package/build/column/edit.native.js +3 -1
  31. package/build/column/edit.native.js.map +1 -1
  32. package/build/column/save.js +2 -2
  33. package/build/column/save.js.map +1 -1
  34. package/build/columns/deprecated.js +3 -3
  35. package/build/columns/deprecated.js.map +1 -1
  36. package/build/columns/edit.js +70 -54
  37. package/build/columns/edit.js.map +1 -1
  38. package/build/columns/save.js +2 -2
  39. package/build/columns/save.js.map +1 -1
  40. package/build/columns/variations.js +18 -28
  41. package/build/columns/variations.js.map +1 -1
  42. package/build/comment-author-name/edit.js +2 -2
  43. package/build/comment-author-name/edit.js.map +1 -1
  44. package/build/comment-content/edit.js +2 -2
  45. package/build/comment-content/edit.js.map +1 -1
  46. package/build/comment-edit-link/edit.js +2 -2
  47. package/build/comment-edit-link/edit.js.map +1 -1
  48. package/build/comment-reply-link/edit.js +2 -2
  49. package/build/comment-reply-link/edit.js.map +1 -1
  50. package/build/comment-template/util.js +3 -1
  51. package/build/comment-template/util.js.map +1 -1
  52. package/build/comments/edit/comments-legacy.js +2 -2
  53. package/build/comments/edit/comments-legacy.js.map +1 -1
  54. package/build/comments-title/edit.js +2 -2
  55. package/build/comments-title/edit.js.map +1 -1
  56. package/build/cover/deprecated.js +38 -38
  57. package/build/cover/deprecated.js.map +1 -1
  58. package/build/cover/edit/index.js +6 -6
  59. package/build/cover/edit/index.js.map +1 -1
  60. package/build/cover/edit/resizable-cover-popover.js +2 -2
  61. package/build/cover/edit/resizable-cover-popover.js.map +1 -1
  62. package/build/cover/edit.native.js +2 -2
  63. package/build/cover/edit.native.js.map +1 -1
  64. package/build/cover/save.js +5 -5
  65. package/build/cover/save.js.map +1 -1
  66. package/build/cover/shared.js +3 -1
  67. package/build/cover/shared.js.map +1 -1
  68. package/build/embed/deprecated.js +3 -3
  69. package/build/embed/deprecated.js.map +1 -1
  70. package/build/embed/edit.js +2 -2
  71. package/build/embed/edit.js.map +1 -1
  72. package/build/embed/edit.native.js +2 -2
  73. package/build/embed/edit.native.js.map +1 -1
  74. package/build/embed/embed-placeholder.js +8 -3
  75. package/build/embed/embed-placeholder.js.map +1 -1
  76. package/build/embed/embed-preview.js +3 -3
  77. package/build/embed/embed-preview.js.map +1 -1
  78. package/build/embed/embed-preview.native.js +2 -2
  79. package/build/embed/embed-preview.native.js.map +1 -1
  80. package/build/embed/icons.js +7 -1
  81. package/build/embed/icons.js.map +1 -1
  82. package/build/embed/save.js +2 -2
  83. package/build/embed/save.js.map +1 -1
  84. package/build/embed/util.js +13 -9
  85. package/build/embed/util.js.map +1 -1
  86. package/build/embed/variations.js +12 -1
  87. package/build/embed/variations.js.map +1 -1
  88. package/build/embed/wp-embed-preview.js +6 -2
  89. package/build/embed/wp-embed-preview.js.map +1 -1
  90. package/build/file/deprecated.js +2 -2
  91. package/build/file/deprecated.js.map +1 -1
  92. package/build/file/edit.js +3 -3
  93. package/build/file/edit.js.map +1 -1
  94. package/build/file/save.js +2 -2
  95. package/build/file/save.js.map +1 -1
  96. package/build/form-input/deprecated.js +3 -3
  97. package/build/form-input/deprecated.js.map +1 -1
  98. package/build/form-input/edit.js +4 -4
  99. package/build/form-input/edit.js.map +1 -1
  100. package/build/form-input/save.js +3 -3
  101. package/build/form-input/save.js.map +1 -1
  102. package/build/form-submission-notification/edit.js +2 -2
  103. package/build/form-submission-notification/edit.js.map +1 -1
  104. package/build/form-submission-notification/save.js +2 -2
  105. package/build/form-submission-notification/save.js.map +1 -1
  106. package/build/gallery/deprecated.js +3 -3
  107. package/build/gallery/deprecated.js.map +1 -1
  108. package/build/gallery/edit.js +2 -2
  109. package/build/gallery/edit.js.map +1 -1
  110. package/build/gallery/gallery.js +2 -2
  111. package/build/gallery/gallery.js.map +1 -1
  112. package/build/gallery/save.js +3 -3
  113. package/build/gallery/save.js.map +1 -1
  114. package/build/gallery/v1/gallery-image.js +2 -2
  115. package/build/gallery/v1/gallery-image.js.map +1 -1
  116. package/build/gallery/v1/gallery.js +3 -3
  117. package/build/gallery/v1/gallery.js.map +1 -1
  118. package/build/gallery/v1/save.js +3 -3
  119. package/build/gallery/v1/save.js.map +1 -1
  120. package/build/group/deprecated.js +4 -4
  121. package/build/group/deprecated.js.map +1 -1
  122. package/build/group/index.js +0 -8
  123. package/build/group/index.js.map +1 -1
  124. package/build/group/placeholder.js +18 -19
  125. package/build/group/placeholder.js.map +1 -1
  126. package/build/heading/deprecated.js +6 -6
  127. package/build/heading/deprecated.js.map +1 -1
  128. package/build/heading/edit.js +2 -19
  129. package/build/heading/edit.js.map +1 -1
  130. package/build/heading/edit.native.js +2 -2
  131. package/build/heading/edit.native.js.map +1 -1
  132. package/build/heading/index.js +1 -0
  133. package/build/heading/index.js.map +1 -1
  134. package/build/heading/save.js +2 -2
  135. package/build/heading/save.js.map +1 -1
  136. package/build/home-link/edit.js +2 -2
  137. package/build/home-link/edit.js.map +1 -1
  138. package/build/html/edit.js +0 -2
  139. package/build/html/edit.js.map +1 -1
  140. package/build/image/deprecated.js +10 -10
  141. package/build/image/deprecated.js.map +1 -1
  142. package/build/image/edit.js +7 -5
  143. package/build/image/edit.js.map +1 -1
  144. package/build/image/image.js +8 -4
  145. package/build/image/image.js.map +1 -1
  146. package/build/image/save.js +3 -3
  147. package/build/image/save.js.map +1 -1
  148. package/build/image/view.js +3 -1
  149. package/build/image/view.js.map +1 -1
  150. package/build/index.js +9 -1
  151. package/build/index.js.map +1 -1
  152. package/build/latest-posts/edit.js +5 -5
  153. package/build/latest-posts/edit.js.map +1 -1
  154. package/build/list/deprecated.js +90 -1
  155. package/build/list/deprecated.js.map +1 -1
  156. package/build/list/index.js +0 -2
  157. package/build/list/index.js.map +1 -1
  158. package/build/list-item/edit.js +1 -8
  159. package/build/list-item/edit.js.map +1 -1
  160. package/build/list-item/hooks/use-merge.js +12 -4
  161. package/build/list-item/hooks/use-merge.js.map +1 -1
  162. package/build/list-item/hooks/use-outdent-list-item.js +15 -5
  163. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  164. package/build/list-item/index.js +2 -1
  165. package/build/list-item/index.js.map +1 -1
  166. package/build/media-text/deprecated.js +10 -10
  167. package/build/media-text/deprecated.js.map +1 -1
  168. package/build/media-text/edit.js +2 -2
  169. package/build/media-text/edit.js.map +1 -1
  170. package/build/media-text/media-container.js +2 -2
  171. package/build/media-text/media-container.js.map +1 -1
  172. package/build/media-text/save.js +3 -3
  173. package/build/media-text/save.js.map +1 -1
  174. package/build/navigation/edit/are-blocks-dirty.js +9 -3
  175. package/build/navigation/edit/are-blocks-dirty.js.map +1 -1
  176. package/build/navigation/edit/deleted-navigation-warning.js +1 -1
  177. package/build/navigation/edit/deleted-navigation-warning.js.map +1 -1
  178. package/build/navigation/edit/index.js +3 -3
  179. package/build/navigation/edit/index.js.map +1 -1
  180. package/build/navigation/edit/menu-inspector-controls.js +3 -1
  181. package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
  182. package/build/navigation/edit/navigation-menu-selector.js +1 -1
  183. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  184. package/build/navigation/edit/responsive-wrapper.js +3 -3
  185. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  186. package/build/navigation/edit/utils.js +2 -2
  187. package/build/navigation/edit/utils.js.map +1 -1
  188. package/build/navigation/index.js +0 -9
  189. package/build/navigation/index.js.map +1 -1
  190. package/build/navigation/view.js +3 -1
  191. package/build/navigation/view.js.map +1 -1
  192. package/build/navigation-link/edit.js +97 -88
  193. package/build/navigation-link/edit.js.map +1 -1
  194. package/build/navigation-link/link-ui.js +2 -7
  195. package/build/navigation-link/link-ui.js.map +1 -1
  196. package/build/navigation-submenu/edit.js +2 -2
  197. package/build/navigation-submenu/edit.js.map +1 -1
  198. package/build/page-list/edit.js +2 -2
  199. package/build/page-list/edit.js.map +1 -1
  200. package/build/page-list-item/edit.js +3 -3
  201. package/build/page-list-item/edit.js.map +1 -1
  202. package/build/paragraph/deprecated.js +6 -6
  203. package/build/paragraph/deprecated.js.map +1 -1
  204. package/build/paragraph/edit.js +2 -18
  205. package/build/paragraph/edit.js.map +1 -1
  206. package/build/paragraph/index.js +1 -1
  207. package/build/paragraph/index.js.map +1 -1
  208. package/build/paragraph/save.js +2 -2
  209. package/build/paragraph/save.js.map +1 -1
  210. package/build/paragraph/transforms.js +1 -1
  211. package/build/paragraph/transforms.js.map +1 -1
  212. package/build/pattern/edit.js +1 -1
  213. package/build/pattern/edit.js.map +1 -1
  214. package/build/post-author/edit.js +2 -2
  215. package/build/post-author/edit.js.map +1 -1
  216. package/build/post-author-biography/edit.js +2 -2
  217. package/build/post-author-biography/edit.js.map +1 -1
  218. package/build/post-author-name/edit.js +2 -2
  219. package/build/post-author-name/edit.js.map +1 -1
  220. package/build/post-comments-count/edit.js +2 -2
  221. package/build/post-comments-count/edit.js.map +1 -1
  222. package/build/post-comments-form/edit.js +2 -2
  223. package/build/post-comments-form/edit.js.map +1 -1
  224. package/build/post-comments-form/form.js +2 -2
  225. package/build/post-comments-form/form.js.map +1 -1
  226. package/build/post-comments-link/edit.js +2 -2
  227. package/build/post-comments-link/edit.js.map +1 -1
  228. package/build/post-date/edit.js +2 -2
  229. package/build/post-date/edit.js.map +1 -1
  230. package/build/post-excerpt/edit.js +6 -4
  231. package/build/post-excerpt/edit.js.map +1 -1
  232. package/build/post-featured-image/dimension-controls.js +23 -29
  233. package/build/post-featured-image/dimension-controls.js.map +1 -1
  234. package/build/post-featured-image/edit.js +3 -3
  235. package/build/post-featured-image/edit.js.map +1 -1
  236. package/build/post-featured-image/overlay.js +2 -2
  237. package/build/post-featured-image/overlay.js.map +1 -1
  238. package/build/post-navigation-link/edit.js +2 -2
  239. package/build/post-navigation-link/edit.js.map +1 -1
  240. package/build/post-navigation-link/variations.js +3 -1
  241. package/build/post-navigation-link/variations.js.map +1 -1
  242. package/build/post-template/edit.js +22 -12
  243. package/build/post-template/edit.js.map +1 -1
  244. package/build/post-terms/edit.js +5 -3
  245. package/build/post-terms/edit.js.map +1 -1
  246. package/build/post-time-to-read/edit.js +3 -3
  247. package/build/post-time-to-read/edit.js.map +1 -1
  248. package/build/post-title/edit.js +2 -2
  249. package/build/post-title/edit.js.map +1 -1
  250. package/build/private-apis.js +21 -0
  251. package/build/private-apis.js.map +1 -0
  252. package/build/pullquote/deprecated.js +7 -7
  253. package/build/pullquote/deprecated.js.map +1 -1
  254. package/build/pullquote/edit.js +2 -2
  255. package/build/pullquote/edit.js.map +1 -1
  256. package/build/pullquote/save.js +2 -2
  257. package/build/pullquote/save.js.map +1 -1
  258. package/build/query/edit/enhanced-pagination-modal.js +1 -1
  259. package/build/query/edit/enhanced-pagination-modal.js.map +1 -1
  260. package/build/query/edit/inspector-controls/author-control.js +6 -2
  261. package/build/query/edit/inspector-controls/author-control.js.map +1 -1
  262. package/build/query/edit/inspector-controls/create-new-post-link.js +3 -1
  263. package/build/query/edit/inspector-controls/create-new-post-link.js.map +1 -1
  264. package/build/query/edit/inspector-controls/enhanced-pagination-control.js +6 -3
  265. package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  266. package/build/query/edit/inspector-controls/parent-control.js +18 -6
  267. package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
  268. package/build/query/edit/inspector-controls/taxonomy-controls.js +9 -3
  269. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  270. package/build/query/utils.js +3 -1
  271. package/build/query/utils.js.map +1 -1
  272. package/build/query-title/edit.js +2 -2
  273. package/build/query-title/edit.js.map +1 -1
  274. package/build/query-title/variations.js +3 -1
  275. package/build/query-title/variations.js.map +1 -1
  276. package/build/quote/deprecated.js +3 -3
  277. package/build/quote/deprecated.js.map +1 -1
  278. package/build/quote/edit.js +2 -2
  279. package/build/quote/edit.js.map +1 -1
  280. package/build/quote/save.js +2 -2
  281. package/build/quote/save.js.map +1 -1
  282. package/build/rss/edit.js +8 -6
  283. package/build/rss/edit.js.map +1 -1
  284. package/build/search/edit.js +6 -6
  285. package/build/search/edit.js.map +1 -1
  286. package/build/search/edit.native.js +2 -2
  287. package/build/search/edit.native.js.map +1 -1
  288. package/build/separator/deprecated.js +2 -2
  289. package/build/separator/deprecated.js.map +1 -1
  290. package/build/separator/edit.js +2 -2
  291. package/build/separator/edit.js.map +1 -1
  292. package/build/separator/save.js +2 -2
  293. package/build/separator/save.js.map +1 -1
  294. package/build/shortcode/edit.js +7 -10
  295. package/build/shortcode/edit.js.map +1 -1
  296. package/build/site-logo/edit.js +4 -4
  297. package/build/site-logo/edit.js.map +1 -1
  298. package/build/site-tagline/edit.js +2 -2
  299. package/build/site-tagline/edit.js.map +1 -1
  300. package/build/site-title/edit.js +2 -2
  301. package/build/site-title/edit.js.map +1 -1
  302. package/build/social-link/edit.js +4 -4
  303. package/build/social-link/edit.js.map +1 -1
  304. package/build/social-link/variations.js +3 -1
  305. package/build/social-link/variations.js.map +1 -1
  306. package/build/social-links/deprecated.js +2 -2
  307. package/build/social-links/deprecated.js.map +1 -1
  308. package/build/social-links/edit.js +2 -2
  309. package/build/social-links/edit.js.map +1 -1
  310. package/build/social-links/save.js +2 -2
  311. package/build/social-links/save.js.map +1 -1
  312. package/build/spacer/edit.js +3 -3
  313. package/build/spacer/edit.js.map +1 -1
  314. package/build/table/deprecated.js +8 -8
  315. package/build/table/deprecated.js.map +1 -1
  316. package/build/table/edit.js +3 -3
  317. package/build/table/edit.js.map +1 -1
  318. package/build/table/save.js +3 -3
  319. package/build/table/save.js.map +1 -1
  320. package/build/template-part/variations.js +6 -2
  321. package/build/template-part/variations.js.map +1 -1
  322. package/build/term-description/edit.js +2 -2
  323. package/build/term-description/edit.js.map +1 -1
  324. package/build/utils/caption.js +2 -2
  325. package/build/utils/caption.js.map +1 -1
  326. package/build/verse/deprecated.js +2 -2
  327. package/build/verse/deprecated.js.map +1 -1
  328. package/build/verse/edit.js +2 -2
  329. package/build/verse/edit.js.map +1 -1
  330. package/build/verse/save.js +2 -2
  331. package/build/verse/save.js.map +1 -1
  332. package/build/video/edit.js +2 -2
  333. package/build/video/edit.js.map +1 -1
  334. package/build-module/audio/edit.js +2 -2
  335. package/build-module/audio/edit.js.map +1 -1
  336. package/build-module/avatar/edit.js +2 -2
  337. package/build-module/avatar/edit.js.map +1 -1
  338. package/build-module/block/edit.js +29 -164
  339. package/build-module/block/edit.js.map +1 -1
  340. package/build-module/block-keyboard-shortcuts/index.js +88 -0
  341. package/build-module/block-keyboard-shortcuts/index.js.map +1 -0
  342. package/build-module/button/deprecated.js +16 -16
  343. package/build-module/button/deprecated.js.map +1 -1
  344. package/build-module/button/edit.js +3 -7
  345. package/build-module/button/edit.js.map +1 -1
  346. package/build-module/button/index.js +1 -0
  347. package/build-module/button/index.js.map +1 -1
  348. package/build-module/button/save.js +3 -3
  349. package/build-module/button/save.js.map +1 -1
  350. package/build-module/buttons/deprecated.js +2 -2
  351. package/build-module/buttons/deprecated.js.map +1 -1
  352. package/build-module/buttons/edit.js +2 -2
  353. package/build-module/buttons/edit.js.map +1 -1
  354. package/build-module/buttons/save.js +2 -2
  355. package/build-module/buttons/save.js.map +1 -1
  356. package/build-module/categories/edit.js +2 -2
  357. package/build-module/categories/edit.js.map +1 -1
  358. package/build-module/column/deprecated.js +2 -2
  359. package/build-module/column/deprecated.js.map +1 -1
  360. package/build-module/column/edit.js +30 -21
  361. package/build-module/column/edit.js.map +1 -1
  362. package/build-module/column/edit.native.js +3 -1
  363. package/build-module/column/edit.native.js.map +1 -1
  364. package/build-module/column/save.js +2 -2
  365. package/build-module/column/save.js.map +1 -1
  366. package/build-module/columns/deprecated.js +3 -3
  367. package/build-module/columns/deprecated.js.map +1 -1
  368. package/build-module/columns/edit.js +70 -54
  369. package/build-module/columns/edit.js.map +1 -1
  370. package/build-module/columns/save.js +2 -2
  371. package/build-module/columns/save.js.map +1 -1
  372. package/build-module/columns/variations.js +18 -28
  373. package/build-module/columns/variations.js.map +1 -1
  374. package/build-module/comment-author-name/edit.js +2 -2
  375. package/build-module/comment-author-name/edit.js.map +1 -1
  376. package/build-module/comment-content/edit.js +2 -2
  377. package/build-module/comment-content/edit.js.map +1 -1
  378. package/build-module/comment-edit-link/edit.js +2 -2
  379. package/build-module/comment-edit-link/edit.js.map +1 -1
  380. package/build-module/comment-reply-link/edit.js +2 -2
  381. package/build-module/comment-reply-link/edit.js.map +1 -1
  382. package/build-module/comment-template/util.js +3 -1
  383. package/build-module/comment-template/util.js.map +1 -1
  384. package/build-module/comments/edit/comments-legacy.js +2 -2
  385. package/build-module/comments/edit/comments-legacy.js.map +1 -1
  386. package/build-module/comments-title/edit.js +2 -2
  387. package/build-module/comments-title/edit.js.map +1 -1
  388. package/build-module/cover/deprecated.js +38 -38
  389. package/build-module/cover/deprecated.js.map +1 -1
  390. package/build-module/cover/edit/index.js +6 -6
  391. package/build-module/cover/edit/index.js.map +1 -1
  392. package/build-module/cover/edit/resizable-cover-popover.js +2 -2
  393. package/build-module/cover/edit/resizable-cover-popover.js.map +1 -1
  394. package/build-module/cover/edit.native.js +2 -2
  395. package/build-module/cover/edit.native.js.map +1 -1
  396. package/build-module/cover/save.js +5 -5
  397. package/build-module/cover/save.js.map +1 -1
  398. package/build-module/cover/shared.js +3 -1
  399. package/build-module/cover/shared.js.map +1 -1
  400. package/build-module/embed/deprecated.js +3 -3
  401. package/build-module/embed/deprecated.js.map +1 -1
  402. package/build-module/embed/edit.js +2 -2
  403. package/build-module/embed/edit.js.map +1 -1
  404. package/build-module/embed/edit.native.js +2 -2
  405. package/build-module/embed/edit.native.js.map +1 -1
  406. package/build-module/embed/embed-placeholder.js +9 -4
  407. package/build-module/embed/embed-placeholder.js.map +1 -1
  408. package/build-module/embed/embed-preview.js +3 -3
  409. package/build-module/embed/embed-preview.js.map +1 -1
  410. package/build-module/embed/embed-preview.native.js +2 -2
  411. package/build-module/embed/embed-preview.native.js.map +1 -1
  412. package/build-module/embed/icons.js +6 -0
  413. package/build-module/embed/icons.js.map +1 -1
  414. package/build-module/embed/save.js +2 -2
  415. package/build-module/embed/save.js.map +1 -1
  416. package/build-module/embed/util.js +13 -9
  417. package/build-module/embed/util.js.map +1 -1
  418. package/build-module/embed/variations.js +13 -2
  419. package/build-module/embed/variations.js.map +1 -1
  420. package/build-module/embed/wp-embed-preview.js +6 -2
  421. package/build-module/embed/wp-embed-preview.js.map +1 -1
  422. package/build-module/file/deprecated.js +2 -2
  423. package/build-module/file/deprecated.js.map +1 -1
  424. package/build-module/file/edit.js +3 -3
  425. package/build-module/file/edit.js.map +1 -1
  426. package/build-module/file/save.js +2 -2
  427. package/build-module/file/save.js.map +1 -1
  428. package/build-module/form-input/deprecated.js +3 -3
  429. package/build-module/form-input/deprecated.js.map +1 -1
  430. package/build-module/form-input/edit.js +4 -4
  431. package/build-module/form-input/edit.js.map +1 -1
  432. package/build-module/form-input/save.js +3 -3
  433. package/build-module/form-input/save.js.map +1 -1
  434. package/build-module/form-submission-notification/edit.js +2 -2
  435. package/build-module/form-submission-notification/edit.js.map +1 -1
  436. package/build-module/form-submission-notification/save.js +2 -2
  437. package/build-module/form-submission-notification/save.js.map +1 -1
  438. package/build-module/gallery/deprecated.js +3 -3
  439. package/build-module/gallery/deprecated.js.map +1 -1
  440. package/build-module/gallery/edit.js +2 -2
  441. package/build-module/gallery/edit.js.map +1 -1
  442. package/build-module/gallery/gallery.js +2 -2
  443. package/build-module/gallery/gallery.js.map +1 -1
  444. package/build-module/gallery/save.js +3 -3
  445. package/build-module/gallery/save.js.map +1 -1
  446. package/build-module/gallery/v1/gallery-image.js +2 -2
  447. package/build-module/gallery/v1/gallery-image.js.map +1 -1
  448. package/build-module/gallery/v1/gallery.js +3 -3
  449. package/build-module/gallery/v1/gallery.js.map +1 -1
  450. package/build-module/gallery/v1/save.js +3 -3
  451. package/build-module/gallery/v1/save.js.map +1 -1
  452. package/build-module/group/deprecated.js +4 -4
  453. package/build-module/group/deprecated.js.map +1 -1
  454. package/build-module/group/index.js +0 -8
  455. package/build-module/group/index.js.map +1 -1
  456. package/build-module/group/placeholder.js +18 -19
  457. package/build-module/group/placeholder.js.map +1 -1
  458. package/build-module/heading/deprecated.js +6 -6
  459. package/build-module/heading/deprecated.js.map +1 -1
  460. package/build-module/heading/edit.js +2 -19
  461. package/build-module/heading/edit.js.map +1 -1
  462. package/build-module/heading/edit.native.js +2 -2
  463. package/build-module/heading/edit.native.js.map +1 -1
  464. package/build-module/heading/index.js +1 -0
  465. package/build-module/heading/index.js.map +1 -1
  466. package/build-module/heading/save.js +2 -2
  467. package/build-module/heading/save.js.map +1 -1
  468. package/build-module/home-link/edit.js +2 -2
  469. package/build-module/home-link/edit.js.map +1 -1
  470. package/build-module/html/edit.js +0 -2
  471. package/build-module/html/edit.js.map +1 -1
  472. package/build-module/image/deprecated.js +10 -10
  473. package/build-module/image/deprecated.js.map +1 -1
  474. package/build-module/image/edit.js +7 -5
  475. package/build-module/image/edit.js.map +1 -1
  476. package/build-module/image/image.js +8 -4
  477. package/build-module/image/image.js.map +1 -1
  478. package/build-module/image/save.js +3 -3
  479. package/build-module/image/save.js.map +1 -1
  480. package/build-module/image/view.js +3 -1
  481. package/build-module/image/view.js.map +1 -1
  482. package/build-module/index.js +1 -0
  483. package/build-module/index.js.map +1 -1
  484. package/build-module/latest-posts/edit.js +6 -6
  485. package/build-module/latest-posts/edit.js.map +1 -1
  486. package/build-module/list/deprecated.js +90 -1
  487. package/build-module/list/deprecated.js.map +1 -1
  488. package/build-module/list/index.js +0 -2
  489. package/build-module/list/index.js.map +1 -1
  490. package/build-module/list-item/edit.js +2 -9
  491. package/build-module/list-item/edit.js.map +1 -1
  492. package/build-module/list-item/hooks/use-merge.js +12 -4
  493. package/build-module/list-item/hooks/use-merge.js.map +1 -1
  494. package/build-module/list-item/hooks/use-outdent-list-item.js +15 -5
  495. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  496. package/build-module/list-item/index.js +2 -1
  497. package/build-module/list-item/index.js.map +1 -1
  498. package/build-module/media-text/deprecated.js +10 -10
  499. package/build-module/media-text/deprecated.js.map +1 -1
  500. package/build-module/media-text/edit.js +2 -2
  501. package/build-module/media-text/edit.js.map +1 -1
  502. package/build-module/media-text/media-container.js +2 -2
  503. package/build-module/media-text/media-container.js.map +1 -1
  504. package/build-module/media-text/save.js +3 -3
  505. package/build-module/media-text/save.js.map +1 -1
  506. package/build-module/navigation/edit/are-blocks-dirty.js +9 -3
  507. package/build-module/navigation/edit/are-blocks-dirty.js.map +1 -1
  508. package/build-module/navigation/edit/deleted-navigation-warning.js +1 -1
  509. package/build-module/navigation/edit/deleted-navigation-warning.js.map +1 -1
  510. package/build-module/navigation/edit/index.js +3 -3
  511. package/build-module/navigation/edit/index.js.map +1 -1
  512. package/build-module/navigation/edit/menu-inspector-controls.js +3 -1
  513. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
  514. package/build-module/navigation/edit/navigation-menu-selector.js +1 -1
  515. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  516. package/build-module/navigation/edit/responsive-wrapper.js +3 -3
  517. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  518. package/build-module/navigation/edit/utils.js +2 -2
  519. package/build-module/navigation/edit/utils.js.map +1 -1
  520. package/build-module/navigation/index.js +0 -9
  521. package/build-module/navigation/index.js.map +1 -1
  522. package/build-module/navigation/view.js +3 -1
  523. package/build-module/navigation/view.js.map +1 -1
  524. package/build-module/navigation-link/edit.js +97 -88
  525. package/build-module/navigation-link/edit.js.map +1 -1
  526. package/build-module/navigation-link/link-ui.js +3 -8
  527. package/build-module/navigation-link/link-ui.js.map +1 -1
  528. package/build-module/navigation-submenu/edit.js +2 -2
  529. package/build-module/navigation-submenu/edit.js.map +1 -1
  530. package/build-module/page-list/edit.js +2 -2
  531. package/build-module/page-list/edit.js.map +1 -1
  532. package/build-module/page-list-item/edit.js +3 -3
  533. package/build-module/page-list-item/edit.js.map +1 -1
  534. package/build-module/paragraph/deprecated.js +6 -6
  535. package/build-module/paragraph/deprecated.js.map +1 -1
  536. package/build-module/paragraph/edit.js +2 -18
  537. package/build-module/paragraph/edit.js.map +1 -1
  538. package/build-module/paragraph/index.js +1 -1
  539. package/build-module/paragraph/index.js.map +1 -1
  540. package/build-module/paragraph/save.js +2 -2
  541. package/build-module/paragraph/save.js.map +1 -1
  542. package/build-module/paragraph/transforms.js +1 -1
  543. package/build-module/paragraph/transforms.js.map +1 -1
  544. package/build-module/pattern/edit.js +1 -1
  545. package/build-module/pattern/edit.js.map +1 -1
  546. package/build-module/post-author/edit.js +2 -2
  547. package/build-module/post-author/edit.js.map +1 -1
  548. package/build-module/post-author-biography/edit.js +2 -2
  549. package/build-module/post-author-biography/edit.js.map +1 -1
  550. package/build-module/post-author-name/edit.js +2 -2
  551. package/build-module/post-author-name/edit.js.map +1 -1
  552. package/build-module/post-comments-count/edit.js +2 -2
  553. package/build-module/post-comments-count/edit.js.map +1 -1
  554. package/build-module/post-comments-form/edit.js +2 -2
  555. package/build-module/post-comments-form/edit.js.map +1 -1
  556. package/build-module/post-comments-form/form.js +2 -2
  557. package/build-module/post-comments-form/form.js.map +1 -1
  558. package/build-module/post-comments-link/edit.js +2 -2
  559. package/build-module/post-comments-link/edit.js.map +1 -1
  560. package/build-module/post-date/edit.js +2 -2
  561. package/build-module/post-date/edit.js.map +1 -1
  562. package/build-module/post-excerpt/edit.js +6 -4
  563. package/build-module/post-excerpt/edit.js.map +1 -1
  564. package/build-module/post-featured-image/dimension-controls.js +23 -29
  565. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  566. package/build-module/post-featured-image/edit.js +3 -3
  567. package/build-module/post-featured-image/edit.js.map +1 -1
  568. package/build-module/post-featured-image/overlay.js +2 -2
  569. package/build-module/post-featured-image/overlay.js.map +1 -1
  570. package/build-module/post-navigation-link/edit.js +2 -2
  571. package/build-module/post-navigation-link/edit.js.map +1 -1
  572. package/build-module/post-navigation-link/variations.js +3 -1
  573. package/build-module/post-navigation-link/variations.js.map +1 -1
  574. package/build-module/post-template/edit.js +23 -13
  575. package/build-module/post-template/edit.js.map +1 -1
  576. package/build-module/post-terms/edit.js +5 -3
  577. package/build-module/post-terms/edit.js.map +1 -1
  578. package/build-module/post-time-to-read/edit.js +3 -3
  579. package/build-module/post-time-to-read/edit.js.map +1 -1
  580. package/build-module/post-title/edit.js +2 -2
  581. package/build-module/post-title/edit.js.map +1 -1
  582. package/build-module/private-apis.js +14 -0
  583. package/build-module/private-apis.js.map +1 -0
  584. package/build-module/pullquote/deprecated.js +7 -7
  585. package/build-module/pullquote/deprecated.js.map +1 -1
  586. package/build-module/pullquote/edit.js +2 -2
  587. package/build-module/pullquote/edit.js.map +1 -1
  588. package/build-module/pullquote/save.js +2 -2
  589. package/build-module/pullquote/save.js.map +1 -1
  590. package/build-module/query/edit/enhanced-pagination-modal.js +1 -1
  591. package/build-module/query/edit/enhanced-pagination-modal.js.map +1 -1
  592. package/build-module/query/edit/inspector-controls/author-control.js +6 -2
  593. package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
  594. package/build-module/query/edit/inspector-controls/create-new-post-link.js +3 -1
  595. package/build-module/query/edit/inspector-controls/create-new-post-link.js.map +1 -1
  596. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +6 -3
  597. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  598. package/build-module/query/edit/inspector-controls/parent-control.js +18 -6
  599. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
  600. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +9 -3
  601. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  602. package/build-module/query/utils.js +3 -1
  603. package/build-module/query/utils.js.map +1 -1
  604. package/build-module/query-title/edit.js +2 -2
  605. package/build-module/query-title/edit.js.map +1 -1
  606. package/build-module/query-title/variations.js +3 -1
  607. package/build-module/query-title/variations.js.map +1 -1
  608. package/build-module/quote/deprecated.js +3 -3
  609. package/build-module/quote/deprecated.js.map +1 -1
  610. package/build-module/quote/edit.js +2 -2
  611. package/build-module/quote/edit.js.map +1 -1
  612. package/build-module/quote/save.js +2 -2
  613. package/build-module/quote/save.js.map +1 -1
  614. package/build-module/rss/edit.js +10 -8
  615. package/build-module/rss/edit.js.map +1 -1
  616. package/build-module/search/edit.js +6 -6
  617. package/build-module/search/edit.js.map +1 -1
  618. package/build-module/search/edit.native.js +2 -2
  619. package/build-module/search/edit.native.js.map +1 -1
  620. package/build-module/separator/deprecated.js +2 -2
  621. package/build-module/separator/deprecated.js.map +1 -1
  622. package/build-module/separator/edit.js +2 -2
  623. package/build-module/separator/edit.js.map +1 -1
  624. package/build-module/separator/save.js +2 -2
  625. package/build-module/separator/save.js.map +1 -1
  626. package/build-module/shortcode/edit.js +8 -11
  627. package/build-module/shortcode/edit.js.map +1 -1
  628. package/build-module/site-logo/edit.js +4 -4
  629. package/build-module/site-logo/edit.js.map +1 -1
  630. package/build-module/site-tagline/edit.js +2 -2
  631. package/build-module/site-tagline/edit.js.map +1 -1
  632. package/build-module/site-title/edit.js +2 -2
  633. package/build-module/site-title/edit.js.map +1 -1
  634. package/build-module/social-link/edit.js +4 -4
  635. package/build-module/social-link/edit.js.map +1 -1
  636. package/build-module/social-link/variations.js +3 -1
  637. package/build-module/social-link/variations.js.map +1 -1
  638. package/build-module/social-links/deprecated.js +2 -2
  639. package/build-module/social-links/deprecated.js.map +1 -1
  640. package/build-module/social-links/edit.js +2 -2
  641. package/build-module/social-links/edit.js.map +1 -1
  642. package/build-module/social-links/save.js +2 -2
  643. package/build-module/social-links/save.js.map +1 -1
  644. package/build-module/spacer/edit.js +3 -3
  645. package/build-module/spacer/edit.js.map +1 -1
  646. package/build-module/table/deprecated.js +8 -8
  647. package/build-module/table/deprecated.js.map +1 -1
  648. package/build-module/table/edit.js +3 -3
  649. package/build-module/table/edit.js.map +1 -1
  650. package/build-module/table/save.js +3 -3
  651. package/build-module/table/save.js.map +1 -1
  652. package/build-module/template-part/variations.js +6 -2
  653. package/build-module/template-part/variations.js.map +1 -1
  654. package/build-module/term-description/edit.js +2 -2
  655. package/build-module/term-description/edit.js.map +1 -1
  656. package/build-module/utils/caption.js +2 -2
  657. package/build-module/utils/caption.js.map +1 -1
  658. package/build-module/verse/deprecated.js +2 -2
  659. package/build-module/verse/deprecated.js.map +1 -1
  660. package/build-module/verse/edit.js +2 -2
  661. package/build-module/verse/edit.js.map +1 -1
  662. package/build-module/verse/save.js +2 -2
  663. package/build-module/verse/save.js.map +1 -1
  664. package/build-module/video/edit.js +2 -2
  665. package/build-module/video/edit.js.map +1 -1
  666. package/build-style/block/editor-rtl.css +4 -4
  667. package/build-style/block/editor.css +4 -4
  668. package/build-style/buttons/editor-rtl.css +1 -1
  669. package/build-style/buttons/editor.css +1 -1
  670. package/build-style/buttons/style-rtl.css +1 -1
  671. package/build-style/buttons/style.css +1 -1
  672. package/build-style/common-rtl.css +3 -7
  673. package/build-style/common.css +3 -7
  674. package/build-style/editor-rtl.css +30 -81
  675. package/build-style/editor.css +30 -81
  676. package/build-style/embed/editor-rtl.css +0 -3
  677. package/build-style/embed/editor.css +0 -3
  678. package/build-style/group/editor-rtl.css +2 -45
  679. package/build-style/group/editor.css +2 -45
  680. package/build-style/group/style-rtl.css +4 -0
  681. package/build-style/group/style.css +4 -0
  682. package/build-style/image/editor-rtl.css +3 -0
  683. package/build-style/image/editor.css +3 -0
  684. package/build-style/image/style-rtl.css +1 -2
  685. package/build-style/image/style.css +1 -2
  686. package/build-style/navigation-link/style-rtl.css +0 -8
  687. package/build-style/navigation-link/style.css +0 -8
  688. package/build-style/post-featured-image/editor-rtl.css +1 -0
  689. package/build-style/post-featured-image/editor.css +1 -0
  690. package/build-style/post-template/style-rtl.css +0 -3
  691. package/build-style/post-template/style.css +0 -3
  692. package/build-style/rss/editor-rtl.css +1 -10
  693. package/build-style/rss/editor.css +1 -10
  694. package/build-style/shortcode/editor-rtl.css +0 -4
  695. package/build-style/shortcode/editor.css +0 -4
  696. package/build-style/site-logo/editor-rtl.css +1 -0
  697. package/build-style/site-logo/editor.css +1 -0
  698. package/build-style/social-link/editor-rtl.css +13 -2
  699. package/build-style/social-link/editor.css +13 -2
  700. package/build-style/style-rtl.css +9 -21
  701. package/build-style/style.css +9 -21
  702. package/build-style/template-part/editor-rtl.css +3 -7
  703. package/build-style/template-part/editor.css +3 -7
  704. package/package.json +36 -35
  705. package/src/audio/edit.js +2 -2
  706. package/src/avatar/edit.js +2 -2
  707. package/src/block/edit.js +32 -240
  708. package/src/block/editor.scss +7 -5
  709. package/src/block-keyboard-shortcuts/index.js +113 -0
  710. package/src/button/block.json +1 -0
  711. package/src/button/deprecated.js +16 -16
  712. package/src/button/edit.js +3 -9
  713. package/src/button/save.js +3 -3
  714. package/src/buttons/deprecated.js +2 -2
  715. package/src/buttons/edit.js +2 -2
  716. package/src/buttons/editor.scss +1 -3
  717. package/src/buttons/save.js +2 -2
  718. package/src/buttons/style.scss +1 -3
  719. package/src/categories/edit.js +2 -2
  720. package/src/code/theme.native.scss +1 -1
  721. package/src/column/deprecated.js +2 -2
  722. package/src/column/edit.js +28 -22
  723. package/src/column/edit.native.js +3 -1
  724. package/src/column/save.js +2 -2
  725. package/src/columns/deprecated.js +3 -3
  726. package/src/columns/edit.js +94 -84
  727. package/src/columns/save.js +2 -2
  728. package/src/columns/variations.js +12 -34
  729. package/src/comment-author-name/edit.js +2 -2
  730. package/src/comment-content/edit.js +2 -2
  731. package/src/comment-edit-link/edit.js +2 -2
  732. package/src/comment-reply-link/edit.js +2 -2
  733. package/src/comment-template/util.js +3 -1
  734. package/src/comments/edit/comments-legacy.js +2 -2
  735. package/src/comments-title/edit.js +2 -2
  736. package/src/common.scss +4 -4
  737. package/src/cover/deprecated.js +38 -38
  738. package/src/cover/edit/index.js +6 -9
  739. package/src/cover/edit/resizable-cover-popover.js +2 -2
  740. package/src/cover/edit.native.js +2 -2
  741. package/src/cover/save.js +5 -5
  742. package/src/cover/shared.js +3 -1
  743. package/src/embed/deprecated.js +3 -3
  744. package/src/embed/edit.js +2 -2
  745. package/src/embed/edit.native.js +2 -2
  746. package/src/embed/editor.scss +0 -2
  747. package/src/embed/embed-placeholder.js +21 -9
  748. package/src/embed/embed-preview.js +3 -3
  749. package/src/embed/embed-preview.native.js +2 -2
  750. package/src/embed/icons.js +9 -0
  751. package/src/embed/save.js +2 -2
  752. package/src/embed/util.js +13 -7
  753. package/src/embed/variations.js +12 -1
  754. package/src/embed/wp-embed-preview.js +6 -2
  755. package/src/file/deprecated.js +2 -2
  756. package/src/file/edit.js +3 -3
  757. package/src/file/save.js +2 -2
  758. package/src/form-input/deprecated.js +3 -3
  759. package/src/form-input/edit.js +4 -4
  760. package/src/form-input/save.js +3 -3
  761. package/src/form-submission-notification/edit.js +2 -2
  762. package/src/form-submission-notification/save.js +4 -7
  763. package/src/gallery/deprecated.js +3 -3
  764. package/src/gallery/edit.js +2 -2
  765. package/src/gallery/gallery.js +2 -2
  766. package/src/gallery/save.js +3 -3
  767. package/src/gallery/v1/gallery-image.js +2 -2
  768. package/src/gallery/v1/gallery.js +3 -3
  769. package/src/gallery/v1/save.js +3 -3
  770. package/src/group/deprecated.js +4 -4
  771. package/src/group/editor.scss +2 -48
  772. package/src/group/index.js +0 -8
  773. package/src/group/placeholder.js +18 -18
  774. package/src/group/style.scss +5 -0
  775. package/src/heading/block.json +1 -0
  776. package/src/heading/deprecated.js +6 -6
  777. package/src/heading/edit.js +2 -23
  778. package/src/heading/edit.native.js +2 -2
  779. package/src/heading/save.js +2 -2
  780. package/src/heading/test/__snapshots__/transforms.native.js.snap +1 -1
  781. package/src/home-link/edit.js +2 -2
  782. package/src/html/edit.js +0 -2
  783. package/src/image/deprecated.js +10 -10
  784. package/src/image/edit.js +5 -3
  785. package/src/image/editor.scss +13 -7
  786. package/src/image/image.js +8 -3
  787. package/src/image/save.js +3 -3
  788. package/src/image/style.scss +1 -3
  789. package/src/image/view.js +3 -1
  790. package/src/index.js +2 -0
  791. package/src/latest-posts/edit.js +6 -6
  792. package/src/latest-posts/index.php +1 -0
  793. package/src/list/block.json +0 -2
  794. package/src/list/deprecated.js +88 -1
  795. package/src/list/index.php +54 -0
  796. package/src/list/test/__snapshots__/edit.native.js.snap +11 -11
  797. package/src/list/test/__snapshots__/transforms.native.js.snap +3 -3
  798. package/src/list/test/edit.native.js +24 -24
  799. package/src/list/test/transforms.native.js +1 -1
  800. package/src/list-item/block.json +2 -1
  801. package/src/list-item/edit.js +0 -15
  802. package/src/list-item/hooks/use-merge.js +12 -4
  803. package/src/list-item/hooks/use-outdent-list-item.js +15 -5
  804. package/src/media-text/deprecated.js +10 -10
  805. package/src/media-text/edit.js +2 -2
  806. package/src/media-text/media-container.js +2 -2
  807. package/src/media-text/save.js +3 -3
  808. package/src/navigation/block.json +0 -9
  809. package/src/navigation/edit/are-blocks-dirty.js +8 -3
  810. package/src/navigation/edit/deleted-navigation-warning.js +1 -1
  811. package/src/navigation/edit/index.js +3 -3
  812. package/src/navigation/edit/menu-inspector-controls.js +3 -1
  813. package/src/navigation/edit/navigation-menu-selector.js +1 -1
  814. package/src/navigation/edit/responsive-wrapper.js +3 -3
  815. package/src/navigation/edit/test/navigation-menu-selector.js +5 -5
  816. package/src/navigation/edit/utils.js +2 -2
  817. package/src/navigation/index.php +52 -1
  818. package/src/navigation/view.js +3 -1
  819. package/src/navigation-link/edit.js +94 -94
  820. package/src/navigation-link/link-ui.js +74 -89
  821. package/src/navigation-link/style.scss +0 -12
  822. package/src/navigation-submenu/edit.js +2 -2
  823. package/src/page-list/edit.js +2 -2
  824. package/src/page-list-item/edit.js +3 -3
  825. package/src/paragraph/block.json +1 -1
  826. package/src/paragraph/deprecated.js +6 -6
  827. package/src/paragraph/edit.js +2 -23
  828. package/src/paragraph/save.js +2 -2
  829. package/src/paragraph/test/__snapshots__/transforms.native.js.snap +1 -1
  830. package/src/pattern/edit.js +1 -1
  831. package/src/post-author/edit.js +2 -2
  832. package/src/post-author-biography/edit.js +2 -2
  833. package/src/post-author-name/edit.js +2 -2
  834. package/src/post-comments-count/edit.js +2 -2
  835. package/src/post-comments-form/edit.js +2 -2
  836. package/src/post-comments-form/form.js +2 -2
  837. package/src/post-comments-link/edit.js +2 -2
  838. package/src/post-date/edit.js +2 -2
  839. package/src/post-excerpt/edit.js +6 -4
  840. package/src/post-featured-image/dimension-controls.js +33 -37
  841. package/src/post-featured-image/edit.js +3 -3
  842. package/src/post-featured-image/editor.scss +1 -0
  843. package/src/post-featured-image/overlay.js +2 -2
  844. package/src/post-navigation-link/edit.js +2 -2
  845. package/src/post-navigation-link/variations.js +3 -1
  846. package/src/post-template/edit.js +14 -9
  847. package/src/post-template/style.scss +0 -4
  848. package/src/post-terms/edit.js +5 -3
  849. package/src/post-time-to-read/edit.js +3 -3
  850. package/src/post-title/edit.js +2 -2
  851. package/src/private-apis.js +13 -0
  852. package/src/pullquote/deprecated.js +7 -7
  853. package/src/pullquote/edit.js +2 -2
  854. package/src/pullquote/save.js +2 -2
  855. package/src/query/edit/enhanced-pagination-modal.js +5 -1
  856. package/src/query/edit/inspector-controls/author-control.js +6 -2
  857. package/src/query/edit/inspector-controls/create-new-post-link.js +3 -1
  858. package/src/query/edit/inspector-controls/enhanced-pagination-control.js +13 -3
  859. package/src/query/edit/inspector-controls/parent-control.js +18 -6
  860. package/src/query/edit/inspector-controls/taxonomy-controls.js +9 -3
  861. package/src/query/index.php +1 -1
  862. package/src/query/utils.js +3 -1
  863. package/src/query-title/edit.js +2 -2
  864. package/src/query-title/variations.js +3 -1
  865. package/src/quote/deprecated.js +3 -3
  866. package/src/quote/edit.js +2 -2
  867. package/src/quote/save.js +2 -2
  868. package/src/rss/edit.js +30 -23
  869. package/src/rss/editor.scss +2 -16
  870. package/src/search/edit.js +6 -6
  871. package/src/search/edit.native.js +2 -2
  872. package/src/separator/deprecated.js +2 -2
  873. package/src/separator/edit.js +2 -2
  874. package/src/separator/save.js +2 -2
  875. package/src/shortcode/edit.js +13 -17
  876. package/src/shortcode/editor.scss +0 -6
  877. package/src/site-logo/edit.js +4 -4
  878. package/src/site-logo/editor.scss +1 -0
  879. package/src/site-logo/index.php +2 -0
  880. package/src/site-tagline/edit.js +2 -2
  881. package/src/site-title/edit.js +2 -2
  882. package/src/social-link/edit.js +5 -5
  883. package/src/social-link/editor.scss +25 -11
  884. package/src/social-link/variations.js +3 -1
  885. package/src/social-links/deprecated.js +2 -2
  886. package/src/social-links/edit.js +2 -2
  887. package/src/social-links/save.js +2 -2
  888. package/src/spacer/edit.js +3 -3
  889. package/src/table/deprecated.js +12 -20
  890. package/src/table/edit.js +3 -3
  891. package/src/table/save.js +3 -3
  892. package/src/template-part/editor.scss +5 -8
  893. package/src/template-part/variations.js +6 -2
  894. package/src/term-description/edit.js +2 -2
  895. package/src/utils/caption.js +2 -2
  896. package/src/verse/deprecated.js +2 -2
  897. package/src/verse/edit.js +2 -2
  898. package/src/verse/save.js +2 -2
  899. package/src/video/edit.js +2 -2
  900. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["__unstableStripHTML","stripHTML","Popover","Button","VisuallyHidden","__experimentalVStack","VStack","__","sprintf","__experimentalLinkControl","LinkControl","store","blockEditorStore","privateApis","blockEditorPrivateApis","createInterpolateElement","useMemo","useState","useRef","useEffect","coreStore","useResourcePermissions","decodeEntities","useSelect","useDispatch","chevronLeftSmall","plus","useInstanceId","useFocusOnMount","unlock","PrivateQuickInserter","QuickInserter","getSuggestionsQuery","type","kind","subtype","initialSuggestionsSearchOptions","perPage","LinkUIBlockInserter","clientId","onBack","onSelectBlock","rootBlockClientId","select","getBlockRootClientId","focusOnMountRef","dialogTitleId","dialogDescritionId","createElement","className","role","ref","id","icon","onClick","e","preventDefault","size","rootClientId","isAppender","prioritizePatterns","selectBlockOnInsert","hasSearch","onSelect","LinkUI","props","addingBlock","setAddingBlock","focusAddBlockButton","setFocusAddBlockButton","showBackdrop","setShowBackdrop","saveEntityRecord","pagesPermissions","postsPermissions","handleCreate","pageTitle","postType","link","page","title","status","rendered","url","label","opensInNewTab","userCanCreate","canCreate","onClose","Fragment","placement","anchor","shift","hasTextControl","hasRichPreviews","value","showInitialSuggestions","withCreateSuggestion","createSuggestion","createSuggestionButtonText","searchTerm","format","mark","noDirectEntry","noURLSuggestion","suggestionsQuery","onChange","onRemove","onCancel","renderControlBottom","length","LinkUITools","blockInserterAriaRole","addBlockButtonRef","current","focus"],"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 } 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} 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, 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={ 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\nexport function LinkUI( props ) {\n\tconst [ addingBlock, setAddingBlock ] = useState( false );\n\tconst [ focusAddBlockButton, setFocusAddBlockButton ] = useState( false );\n\tconst [ showBackdrop, setShowBackdrop ] = useState( true );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst pagesPermissions = useResourcePermissions( 'pages' );\n\tconst postsPermissions = useResourcePermissions( 'posts' );\n\n\tasync function handleCreate( pageTitle ) {\n\t\tconst postType = props.link.type || 'page';\n\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\tconst { label, url, opensInNewTab, type, kind } = props.link;\n\n\tlet userCanCreate = false;\n\tif ( ! type || type === 'page' ) {\n\t\tuserCanCreate = pagesPermissions.canCreate;\n\t} else if ( type === 'post' ) {\n\t\tuserCanCreate = postsPermissions.canCreate;\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<>\n\t\t\t{ showBackdrop && (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"components-popover-pointer-events-trap\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tonClick={ () => setShowBackdrop( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<Popover\n\t\t\t\tplacement=\"bottom\"\n\t\t\t\tonClose={ props.onClose }\n\t\t\t\tanchor={ props.anchor }\n\t\t\t\tshift\n\t\t\t>\n\t\t\t\t{ ! addingBlock && (\n\t\t\t\t\t<div\n\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\taria-labelledby={ dialogTitleId }\n\t\t\t\t\t\taria-describedby={ dialogDescritionId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t<h2 id={ dialogTitleId }>{ __( 'Add link' ) }</h2>\n\n\t\t\t\t\t\t\t<p id={ dialogDescritionId }>\n\t\t\t\t\t\t\t\t{ __(\n\t\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\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\thasTextControl\n\t\t\t\t\t\t\thasRichPreviews\n\t\t\t\t\t\t\tvalue={ link }\n\t\t\t\t\t\t\tshowInitialSuggestions\n\t\t\t\t\t\t\twithCreateSuggestion={ userCanCreate }\n\t\t\t\t\t\t\tcreateSuggestion={ handleCreate }\n\t\t\t\t\t\t\tcreateSuggestionButtonText={ ( searchTerm ) => {\n\t\t\t\t\t\t\t\tlet format;\n\n\t\t\t\t\t\t\t\tif ( type === 'post' ) {\n\t\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\t\tformat = __(\n\t\t\t\t\t\t\t\t\t\t'Create draft post: <mark>%s</mark>'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\t\tformat = __(\n\t\t\t\t\t\t\t\t\t\t'Create draft page: <mark>%s</mark>'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn createInterpolateElement(\n\t\t\t\t\t\t\t\t\tsprintf( format, searchTerm ),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tmark: <mark />,\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\tnoDirectEntry={ !! type }\n\t\t\t\t\t\t\tnoURLSuggestion={ !! type }\n\t\t\t\t\t\t\tsuggestionsQuery={ getSuggestionsQuery(\n\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\tkind\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ props.onChange }\n\t\t\t\t\t\t\tonRemove={ props.onRemove }\n\t\t\t\t\t\t\tonCancel={ props.onCancel }\n\t\t\t\t\t\t\trenderControlBottom={ () =>\n\t\t\t\t\t\t\t\t! link?.url?.length && (\n\t\t\t\t\t\t\t\t\t<LinkUITools\n\t\t\t\t\t\t\t\t\t\tfocusAddBlockButton={\n\t\t\t\t\t\t\t\t\t\t\tfocusAddBlockButton\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tsetAddingBlock={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetAddingBlock( true );\n\t\t\t\t\t\t\t\t\t\t\tsetFocusAddBlockButton( false );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\n\t\t\t\t{ addingBlock && (\n\t\t\t\t\t<LinkUIBlockInserter\n\t\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\t\tonBack={ () => {\n\t\t\t\t\t\t\tsetAddingBlock( false );\n\t\t\t\t\t\t\tsetFocusAddBlockButton( true );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonSelectBlock={ onSelectBlock }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</Popover>\n\t\t</>\n\t);\n}\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\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","__experimentalLinkControl","LinkControl","store","blockEditorStore","privateApis","blockEditorPrivateApis","createInterpolateElement","useMemo","useState","useRef","useEffect","coreStore","useResourcePermissions","decodeEntities","useSelect","useDispatch","chevronLeftSmall","plus","useInstanceId","useFocusOnMount","unlock","PrivateQuickInserter","QuickInserter","getSuggestionsQuery","type","kind","subtype","initialSuggestionsSearchOptions","perPage","LinkUIBlockInserter","clientId","onBack","onSelectBlock","rootBlockClientId","select","getBlockRootClientId","focusOnMountRef","dialogTitleId","dialogDescritionId","createElement","className","role","ref","id","icon","onClick","e","preventDefault","size","rootClientId","isAppender","prioritizePatterns","selectBlockOnInsert","hasSearch","onSelect","LinkUI","props","addingBlock","setAddingBlock","focusAddBlockButton","setFocusAddBlockButton","saveEntityRecord","pagesPermissions","postsPermissions","handleCreate","pageTitle","postType","link","page","title","status","rendered","url","label","opensInNewTab","userCanCreate","canCreate","onClose","placement","anchor","shift","hasTextControl","hasRichPreviews","value","showInitialSuggestions","withCreateSuggestion","createSuggestion","createSuggestionButtonText","searchTerm","format","mark","noDirectEntry","noURLSuggestion","suggestionsQuery","onChange","onRemove","onCancel","renderControlBottom","length","LinkUITools","blockInserterAriaRole","addBlockButtonRef","current","focus"],"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 } 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} 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, 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={ 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\nexport function LinkUI( props ) {\n\tconst [ addingBlock, setAddingBlock ] = useState( false );\n\tconst [ focusAddBlockButton, setFocusAddBlockButton ] = useState( false );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst pagesPermissions = useResourcePermissions( 'pages' );\n\tconst postsPermissions = useResourcePermissions( 'posts' );\n\n\tasync function handleCreate( pageTitle ) {\n\t\tconst postType = props.link.type || 'page';\n\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\tconst { label, url, opensInNewTab, type, kind } = props.link;\n\n\tlet userCanCreate = false;\n\tif ( ! type || type === 'page' ) {\n\t\tuserCanCreate = pagesPermissions.canCreate;\n\t} else if ( type === 'post' ) {\n\t\tuserCanCreate = postsPermissions.canCreate;\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\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={ userCanCreate }\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\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\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":[]}
@@ -2,7 +2,7 @@ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
- import classnames from 'classnames';
5
+ import clsx from 'clsx';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -251,7 +251,7 @@ export default function NavigationSubmenuEdit({
251
251
  }
252
252
  const blockProps = useBlockProps({
253
253
  ref: useMergeRefs([setPopoverAnchor, listItemRef]),
254
- className: classnames('wp-block-navigation-item', {
254
+ className: clsx('wp-block-navigation-item', {
255
255
  'is-editing': isSelected || isParentOfSelectedBlock,
256
256
  'is-dragging-within': isDraggingWithin,
257
257
  'has-link': !!url,
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","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","useResourcePermissions","speak","createBlock","useMergeRefs","usePrevious","ItemSubmenuIcon","LinkUI","updateAttributes","getColors","getNavigationChildBlockProps","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","type","url","description","rel","title","showSubmenuIcon","maxNestingLevel","openSubmenusOnClick","__unstableMarkNextChangeAsNotPersistent","replaceBlock","selectBlock","isLinkOpen","setIsLinkOpen","openedBy","setOpenedBy","popoverAnchor","setPopoverAnchor","listItemRef","itemLabelPlaceholder","ref","pagesPermissions","postsPermissions","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","userCanCreate","canCreate","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","createElement","Fragment","icon","shortcut","onClick","currentTarget","isDisabled","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","labelValue","autoComplete","urlValue","descriptionValue","help","titleValue","relValue","identifier","onMerge","placeholder","withoutInteractiveFormatting","allowedFormats","onClose","anchor","hasCreateSuggestion","onRemove","updatedValue"],"sources":["@wordpress/block-library/src/navigation-submenu/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\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 { useResourcePermissions } from '@wordpress/core-data';\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, type, 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 pagesPermissions = useResourcePermissions( 'pages' );\n\tconst postsPermissions = useResourcePermissions( 'posts' );\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\tlet userCanCreate = false;\n\tif ( ! type || type === 'page' ) {\n\t\tuserCanCreate = pagesPermissions.canCreate;\n\t} else if ( type === 'post' ) {\n\t\tuserCanCreate = postsPermissions.canCreate;\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: classnames( 'wp-block-navigation-item', {\n\t\t\t'is-editing': isSelected || isParentOfSelectedBlock,\n\t\t\t'is-dragging-within': isDraggingWithin,\n\t\t\t'has-link': !! url,\n\t\t\t'has-child': hasChildren,\n\t\t\t'has-text-color': !! textColor || !! customTextColor,\n\t\t\t[ getColorClassName( 'color', textColor ) ]: !! textColor,\n\t\t\t'has-background': !! backgroundColor || customBackgroundColor,\n\t\t\t[ getColorClassName( 'background-color', backgroundColor ) ]:\n\t\t\t\t!! backgroundColor,\n\t\t\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\tisDisabled={ ! 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{\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\tonChange={ ( labelValue ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { label: labelValue } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\t\taria-label={ __( 'Navigation link text' ) }\n\t\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\tallowedFormats={ [\n\t\t\t\t\t\t\t\t'core/bold',\n\t\t\t\t\t\t\t\t'core/italic',\n\t\t\t\t\t\t\t\t'core/image',\n\t\t\t\t\t\t\t\t'core/strikethrough',\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tif ( ! openSubmenusOnClick && ! url ) {\n\t\t\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\t\t\tsetOpenedBy( ref.current );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\t{ ! 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\thasCreateSuggestion={ userCanCreate }\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":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SACCC,SAAS,EACTC,WAAW,EACXC,eAAe,EACfC,aAAa,EACbC,YAAY,QACN,uBAAuB;AAC9B,SAASC,eAAe,EAAEC,eAAe,QAAQ,qBAAqB;AACtE,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SACCC,aAAa,EACbC,WAAW,EACXC,mBAAmB,EACnBC,iBAAiB,EACjBC,QAAQ,EACRC,aAAa,EACbC,KAAK,IAAIC,gBAAgB,EACzBC,iBAAiB,QACX,yBAAyB;AAChC,SAASC,KAAK,EAAEC,WAAW,QAAQ,gBAAgB;AACnD,SAASC,QAAQ,EAAEC,SAAS,EAAEC,MAAM,QAAQ,oBAAoB;AAChE,SAASC,IAAI,IAAIC,QAAQ,EAAEC,aAAa,QAAQ,kBAAkB;AAClE,SAASC,sBAAsB,QAAQ,sBAAsB;AAC7D,SAASC,KAAK,QAAQ,iBAAiB;AACvC,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,YAAY,EAAEC,WAAW,QAAQ,oBAAoB;;AAE9D;AACA;AACA;AACA,SAASC,eAAe,QAAQ,SAAS;AACzC,SAASC,MAAM,QAAQ,4BAA4B;AACnD,SAASC,gBAAgB,QAAQ,sCAAsC;AACvE,SACCC,SAAS,EACTC,4BAA4B,QACtB,0BAA0B;AAEjC,MAAMC,cAAc,GAAG,CACtB,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,CAChB;AAED,MAAMC,aAAa,GAAG;EACrBC,IAAI,EAAE;AACP,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,mBAAmB,GAAKC,UAAU,IAAM;EAC7C,MAAM,CAAEC,gBAAgB,EAAEC,mBAAmB,CAAE,GAAGtB,QAAQ,CAAE,KAAM,CAAC;EAEnEC,SAAS,CAAE,MAAM;IAChB,MAAM;MAAEsB;IAAc,CAAC,GAAGH,UAAU,CAACI,OAAO;IAE5C,SAASC,eAAeA,CAAEC,KAAK,EAAG;MACjC;MACAC,eAAe,CAAED,KAAM,CAAC;IACzB;;IAEA;IACA,SAASE,aAAaA,CAAA,EAAG;MACxBN,mBAAmB,CAAE,KAAM,CAAC;IAC7B;IAEA,SAASK,eAAeA,CAAED,KAAK,EAAG;MACjC;MACA,IAAKN,UAAU,CAACI,OAAO,CAACK,QAAQ,CAAEH,KAAK,CAACI,MAAO,CAAC,EAAG;QAClDR,mBAAmB,CAAE,IAAK,CAAC;MAC5B,CAAC,MAAM;QACNA,mBAAmB,CAAE,KAAM,CAAC;MAC7B;IACD;;IAEA;IACA;IACA;IACAC,aAAa,CAACQ,gBAAgB,CAAE,WAAW,EAAEN,eAAgB,CAAC;IAC9DF,aAAa,CAACQ,gBAAgB,CAAE,SAAS,EAAEH,aAAc,CAAC;IAC1DL,aAAa,CAACQ,gBAAgB,CAAE,WAAW,EAAEJ,eAAgB,CAAC;IAE9D,OAAO,MAAM;MACZJ,aAAa,CAACS,mBAAmB,CAAE,WAAW,EAAEP,eAAgB,CAAC;MACjEF,aAAa,CAACS,mBAAmB,CAAE,SAAS,EAAEJ,aAAc,CAAC;MAC7DL,aAAa,CAACS,mBAAmB,CAAE,WAAW,EAAEL,eAAgB,CAAC;IAClE,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,OAAON,gBAAgB;AACxB,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,SAASY,qBAAqBA,CAAE;EAC9CC,UAAU;EACVC,UAAU;EACVC,aAAa;EACbC,WAAW;EACXC,SAAS;EACTC,OAAO;EACPC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,KAAK;IAAEC,IAAI;IAAEC,GAAG;IAAEC,WAAW;IAAEC,GAAG;IAAEC;EAAM,CAAC,GAAGZ,UAAU;EAEhE,MAAM;IAAEa,eAAe;IAAEC,eAAe;IAAEC;EAAoB,CAAC,GAAGV,OAAO;EAEzE,MAAM;IACLW,uCAAuC;IACvCC,YAAY;IACZC;EACD,CAAC,GAAGxE,WAAW,CAAEgB,gBAAiB,CAAC;EACnC,MAAM,CAAEyD,UAAU,EAAEC,aAAa,CAAE,GAAGtD,QAAQ,CAAE,KAAM,CAAC;EACvD;EACA,MAAM,CAAEuD,QAAQ,EAAEC,WAAW,CAAE,GAAGxD,QAAQ,CAAE,IAAK,CAAC;EAClD;EACA;EACA,MAAM,CAAEyD,aAAa,EAAEC,gBAAgB,CAAE,GAAG1D,QAAQ,CAAE,IAAK,CAAC;EAC5D,MAAM2D,WAAW,GAAGzD,MAAM,CAAE,IAAK,CAAC;EAClC,MAAMmB,gBAAgB,GAAGF,mBAAmB,CAAEwC,WAAY,CAAC;EAC3D,MAAMC,oBAAoB,GAAGxE,EAAE,CAAE,WAAY,CAAC;EAC9C,MAAMyE,GAAG,GAAG3D,MAAM,CAAC,CAAC;EAEpB,MAAM4D,gBAAgB,GAAGxD,sBAAsB,CAAE,OAAQ,CAAC;EAC1D,MAAMyD,gBAAgB,GAAGzD,sBAAsB,CAAE,OAAQ,CAAC;EAE1D,MAAM;IACL0D,WAAW;IACXC,uBAAuB;IACvBC,gCAAgC;IAChCC,WAAW;IACXC,wBAAwB;IACxBC;EACD,CAAC,GAAG1F,SAAS,CACV2F,MAAM,IAAM;IACb,MAAM;MACLC,qBAAqB;MACrBC,wBAAwB;MACxBC,0BAA0B;MAC1BC,QAAQ;MACRC,aAAa;MACbC;IACD,CAAC,GAAGN,MAAM,CAAE1E,gBAAiB,CAAC;IAE9B,IAAIiF,0BAA0B;IAE9B,MAAMC,eAAe,GAAGN,wBAAwB,CAAC,CAAC;IAElD,MAAMO,qBAAqB,GAAGH,aAAa,CAAEE,eAAgB,CAAC;;IAE9D;IACA;IACA;IACA,IAAKC,qBAAqB,EAAEC,MAAM,KAAK,CAAC,EAAG;MAC1C,MAAMC,WAAW,GAAGP,QAAQ,CAAEK,qBAAqB,CAAE,CAAC,CAAG,CAAC;MAE1DF,0BAA0B,GACzBI,WAAW,EAAE/D,IAAI,KAAK,sBAAsB,IAC5C,CAAE+D,WAAW,EAAE/C,UAAU,EAAEO,KAAK;IAClC;IAEA,OAAO;MACNuB,WAAW,EAAES,0BAA0B,CACtCjC,QAAQ,EACR,yBACD,CAAC,CAACwC,MAAM;MACRf,uBAAuB,EAAEM,qBAAqB,CAC7C/B,QAAQ,EACR,IACD,CAAC;MACD0B,gCAAgC,EAAEK,qBAAqB,CACtD/B,QAAQ,EACR,KACD,CAAC;MACD2B,WAAW,EAAE,CAAC,CAAEQ,aAAa,CAAEnC,QAAS,CAAC;MACzC4B,wBAAwB,EAAE,CAAC,CAAEW,qBAAqB,EAAEC,MAAM;MAC1DX,yBAAyB,EAAEQ;IAC5B,CAAC;EACF,CAAC,EACD,CAAErC,QAAQ,CACX,CAAC;EAED,MAAM0C,eAAe,GAAGxE,WAAW,CAAEyD,WAAY,CAAC;;EAElD;EACA;EACA;EACA;EACAlE,SAAS,CAAE,MAAM;IAChB,IAAK,CAAEgD,mBAAmB,IAAI,CAAEN,GAAG,EAAG;MACrCW,aAAa,CAAE,IAAK,CAAC;IACtB;EACD,CAAC,EAAE,EAAG,CAAC;;EAEP;AACD;AACA;AACA;EACCrD,SAAS,CAAE,MAAM;IAChB,IAAK,CAAEkC,UAAU,EAAG;MACnBmB,aAAa,CAAE,KAAM,CAAC;IACvB;EACD,CAAC,EAAE,CAAEnB,UAAU,CAAG,CAAC;;EAEnB;EACAlC,SAAS,CAAE,MAAM;IAChB,IAAKoD,UAAU,IAAIV,GAAG,EAAG;MACxB;MACA,IACC7C,KAAK,CAAEC,WAAW,CAAE0C,KAAM,CAAE,CAAC,IAC7B,aAAa,CAAC0C,IAAI,CAAE1C,KAAM,CAAC,EAC1B;QACD;QACA2C,eAAe,CAAC,CAAC;MAClB;IACD;EACD,CAAC,EAAE,CAAEzC,GAAG,CAAG,CAAC;;EAEZ;AACD;AACA;EACC,SAASyC,eAAeA,CAAA,EAAG;IAC1BvB,GAAG,CAACrC,OAAO,CAAC6D,KAAK,CAAC,CAAC;IACnB,MAAM;MAAE9D;IAAc,CAAC,GAAGsC,GAAG,CAACrC,OAAO;IACrC,MAAM;MAAE8D;IAAY,CAAC,GAAG/D,aAAa;IACrC,MAAMgE,SAAS,GAAGD,WAAW,CAACE,YAAY,CAAC,CAAC;IAC5C,MAAMC,KAAK,GAAGlE,aAAa,CAACmE,WAAW,CAAC,CAAC;IACzC;IACAD,KAAK,CAACE,kBAAkB,CAAE9B,GAAG,CAACrC,OAAQ,CAAC;IACvC+D,SAAS,CAACK,eAAe,CAAC,CAAC;IAC3BL,SAAS,CAACM,QAAQ,CAAEJ,KAAM,CAAC;EAC5B;EAEA,IAAIK,aAAa,GAAG,KAAK;EACzB,IAAK,CAAEpD,IAAI,IAAIA,IAAI,KAAK,MAAM,EAAG;IAChCoD,aAAa,GAAGhC,gBAAgB,CAACiC,SAAS;EAC3C,CAAC,MAAM,IAAKrD,IAAI,KAAK,MAAM,EAAG;IAC7BoD,aAAa,GAAG/B,gBAAgB,CAACgC,SAAS;EAC3C;EAEA,MAAM;IACLC,SAAS;IACTC,eAAe;IACfC,eAAe;IACfC;EACD,CAAC,GAAGrF,SAAS,CAAEyB,OAAO,EAAEyB,WAAW,GAAG,CAAE,CAAC;EAEzC,SAASoC,SAASA,CAAE1E,KAAK,EAAG;IAC3B,IAAKvC,eAAe,CAACkH,OAAO,CAAE3E,KAAK,EAAE,GAAI,CAAC,EAAG;MAC5C;MACA;MACA;MACAA,KAAK,CAAC4E,cAAc,CAAC,CAAC;MACtB;MACA5E,KAAK,CAAC6E,eAAe,CAAC,CAAC;MACvBjD,aAAa,CAAE,IAAK,CAAC;MACrBE,WAAW,CAAEK,GAAG,CAACrC,OAAQ,CAAC;IAC3B;EACD;EAEA,MAAMgF,UAAU,GAAG9G,aAAa,CAAE;IACjCmE,GAAG,EAAEpD,YAAY,CAAE,CAAEiD,gBAAgB,EAAEC,WAAW,CAAG,CAAC;IACtD8C,SAAS,EAAE/H,UAAU,CAAE,0BAA0B,EAAE;MAClD,YAAY,EAAEyD,UAAU,IAAI8B,uBAAuB;MACnD,oBAAoB,EAAE5C,gBAAgB;MACtC,UAAU,EAAE,CAAC,CAAEsB,GAAG;MAClB,WAAW,EAAEwB,WAAW;MACxB,gBAAgB,EAAE,CAAC,CAAE6B,SAAS,IAAI,CAAC,CAAEC,eAAe;MACpD,CAAEpG,iBAAiB,CAAE,OAAO,EAAEmG,SAAU,CAAC,GAAI,CAAC,CAAEA,SAAS;MACzD,gBAAgB,EAAE,CAAC,CAAEE,eAAe,IAAIC,qBAAqB;MAC7D,CAAEtG,iBAAiB,CAAE,kBAAkB,EAAEqG,eAAgB,CAAC,GACzD,CAAC,CAAEA,eAAe;MACnB,eAAe,EAAEjD;IAClB,CAAE,CAAC;IACHyD,KAAK,EAAE;MACNC,KAAK,EAAE,CAAEX,SAAS,IAAIC,eAAe;MACrCC,eAAe,EAAE,CAAEA,eAAe,IAAIC;IACvC,CAAC;IACDC;EACD,CAAE,CAAC;;EAEH;EACA,MAAMQ,iBAAiB,GAAG9F,SAAS,CAAEyB,OAAO,EAAE,IAAK,CAAC;EAEpD,MAAMsE,aAAa,GAClB7C,WAAW,IAAIhB,eAAe,GAC3BhC,cAAc,CAAC8F,MAAM,CACnBC,SAAS,IAAMA,SAAS,KAAK,yBAC/B,CAAC,GACD/F,cAAc;EAElB,MAAMgG,yBAAyB,GAC9BjG,4BAA4B,CAAE6F,iBAAkB,CAAC;EAClD,MAAMK,gBAAgB,GAAG1H,mBAAmB,CAAEyH,yBAAyB,EAAE;IACxEH,aAAa;IACbK,YAAY,EAAEjG,aAAa;IAC3BkG,YAAY,EAAE,IAAI;IAElB;IACA;IACA;IACAC,6BAA6B,EAAE,IAAI;IAEnCC,cAAc,EACblF,UAAU,IACR+B,gCAAgC,IACjC,CAAEE,wBAA0B;IAC7B;IACAD,WAAW,GACR7E,WAAW,CAACgI,mBAAmB,GAC/B;EACL,CAAE,CAAC;EAEH,MAAMC,aAAa,GAAGtE,mBAAmB,GAAG,QAAQ,GAAG,GAAG;EAE1D,SAASuE,eAAeA,CAAA,EAAG;IAC1B,MAAMC,YAAY,GAAGjH,WAAW,CAAE,sBAAsB,EAAE0B,UAAW,CAAC;IACtEiB,YAAY,CAAEX,QAAQ,EAAEiF,YAAa,CAAC;EACvC;EAEAxH,SAAS,CAAE,MAAM;IAChB;IACA,IAAK,CAAEkE,WAAW,IAAIe,eAAe,EAAG;MACvC;MACA;MACAhC,uCAAuC,CAAC,CAAC;MACzCsE,eAAe,CAAC,CAAC;IAClB;EACD,CAAC,EAAE,CAAErD,WAAW,EAAEe,eAAe,CAAG,CAAC;EAErC,MAAMwC,gBAAgB,GACrB,CAAEtD,wBAAwB,IAAIC,yBAAyB;EAExD,OACCsD,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACtI,aAAa,QACbsI,aAAA,CAAC1I,YAAY,QACV,CAAEgE,mBAAmB,IACtB0E,aAAA,CAAC3I,aAAa;IACbkC,IAAI,EAAC,MAAM;IACX2G,IAAI,EAAGzH,QAAU;IACjB0C,KAAK,EAAG1D,EAAE,CAAE,MAAO,CAAG;IACtB0I,QAAQ,EAAG5I,eAAe,CAACmH,OAAO,CAAE,GAAI,CAAG;IAC3C0B,OAAO,EAAKrG,KAAK,IAAM;MACtB4B,aAAa,CAAE,IAAK,CAAC;MACrBE,WAAW,CAAE9B,KAAK,CAACsG,aAAc,CAAC;IACnC;EAAG,CACH,CACD,EAEDL,aAAA,CAAC3I,aAAa;IACbkC,IAAI,EAAC,QAAQ;IACb2G,IAAI,EAAGxH,aAAe;IACtByC,KAAK,EAAG1D,EAAE,CAAE,iBAAkB,CAAG;IACjC2I,OAAO,EAAGP,eAAiB;IAC3Bf,SAAS,EAAC,sCAAsC;IAChDwB,UAAU,EAAG,CAAEP;EAAkB,CACjC,CACY,CACA,CAAC,EAEhBC,aAAA,CAACnI,iBAAiB,QACjBmI,aAAA,CAAC9I,SAAS;IAACiE,KAAK,EAAG1D,EAAE,CAAE,UAAW;EAAG,GACpCuI,aAAA,CAAC7I,WAAW;IACXoJ,uBAAuB;IACvBC,qBAAqB;IACrBC,KAAK,EAAG3F,KAAK,IAAI,EAAI;IACrB4F,QAAQ,EAAKC,UAAU,IAAM;MAC5BlG,aAAa,CAAE;QAAEK,KAAK,EAAE6F;MAAW,CAAE,CAAC;IACvC,CAAG;IACH7F,KAAK,EAAGrD,EAAE,CAAE,MAAO,CAAG;IACtBmJ,YAAY,EAAC;EAAK,CAClB,CAAC,EACFZ,aAAA,CAAC7I,WAAW;IACXoJ,uBAAuB;IACvBC,qBAAqB;IACrBC,KAAK,EAAGzF,GAAG,IAAI,EAAI;IACnB0F,QAAQ,EAAKG,QAAQ,IAAM;MAC1BpG,aAAa,CAAE;QAAEO,GAAG,EAAE6F;MAAS,CAAE,CAAC;IACnC,CAAG;IACH/F,KAAK,EAAGrD,EAAE,CAAE,MAAO,CAAG;IACtBmJ,YAAY,EAAC;EAAK,CAClB,CAAC,EACFZ,aAAA,CAAC5I,eAAe;IACfmJ,uBAAuB;IACvBE,KAAK,EAAGxF,WAAW,IAAI,EAAI;IAC3ByF,QAAQ,EAAKI,gBAAgB,IAAM;MAClCrG,aAAa,CAAE;QACdQ,WAAW,EAAE6F;MACd,CAAE,CAAC;IACJ,CAAG;IACHhG,KAAK,EAAGrD,EAAE,CAAE,aAAc,CAAG;IAC7BsJ,IAAI,EAAGtJ,EAAE,CACR,iFACD;EAAG,CACH,CAAC,EACFuI,aAAA,CAAC7I,WAAW;IACXoJ,uBAAuB;IACvBC,qBAAqB;IACrBC,KAAK,EAAGtF,KAAK,IAAI,EAAI;IACrBuF,QAAQ,EAAKM,UAAU,IAAM;MAC5BvG,aAAa,CAAE;QAAEU,KAAK,EAAE6F;MAAW,CAAE,CAAC;IACvC,CAAG;IACHlG,KAAK,EAAGrD,EAAE,CAAE,iBAAkB,CAAG;IACjCmJ,YAAY,EAAC,KAAK;IAClBG,IAAI,EAAGtJ,EAAE,CACR,iEACD;EAAG,CACH,CAAC,EACFuI,aAAA,CAAC7I,WAAW;IACXoJ,uBAAuB;IACvBC,qBAAqB;IACrBC,KAAK,EAAGvF,GAAG,IAAI,EAAI;IACnBwF,QAAQ,EAAKO,QAAQ,IAAM;MAC1BxG,aAAa,CAAE;QAAES,GAAG,EAAE+F;MAAS,CAAE,CAAC;IACnC,CAAG;IACHnG,KAAK,EAAGrD,EAAE,CAAE,eAAgB,CAAG;IAC/BmJ,YAAY,EAAC,KAAK;IAClBG,IAAI,EAAGtJ,EAAE,CACR,mEACD;EAAG,CACH,CACS,CACO,CAAC,EACpBuI,aAAA;IAAA,GAAUnB;EAAU,GAEnBmB,aAAA,CAACJ,aAAa;IAACd,SAAS,EAAC;EAAmC,GAG1DkB,aAAA,CAAClI,QAAQ;IACRoE,GAAG,EAAGA,GAAK;IACXgF,UAAU,EAAC,OAAO;IAClBpC,SAAS,EAAC,iCAAiC;IAC3C2B,KAAK,EAAG3F,KAAO;IACf4F,QAAQ,EAAKC,UAAU,IACtBlG,aAAa,CAAE;MAAEK,KAAK,EAAE6F;IAAW,CAAE,CACrC;IACDQ,OAAO,EAAGzG,WAAa;IACvBC,SAAS,EAAGA,SAAW;IACvB,cAAalD,EAAE,CAAE,sBAAuB,CAAG;IAC3C2J,WAAW,EAAGnF,oBAAsB;IACpCoF,4BAA4B;IAC5BC,cAAc,EAAG,CAChB,WAAW,EACX,aAAa,EACb,YAAY,EACZ,oBAAoB,CAClB;IACHlB,OAAO,EAAGA,CAAA,KAAM;MACf,IAAK,CAAE9E,mBAAmB,IAAI,CAAEN,GAAG,EAAG;QACrCW,aAAa,CAAE,IAAK,CAAC;QACrBE,WAAW,CAAEK,GAAG,CAACrC,OAAQ,CAAC;MAC3B;IACD;EAAG,CACH,CAAC,EAED,CAAEyB,mBAAmB,IAAII,UAAU,IACpCsE,aAAA,CAAC/G,MAAM;IACN4B,QAAQ,EAAGA,QAAU;IACrBrC,IAAI,EAAG+B,UAAY;IACnBgH,OAAO,EAAGA,CAAA,KAAM;MACf5F,aAAa,CAAE,KAAM,CAAC;MACtB,IAAKC,QAAQ,EAAG;QACfA,QAAQ,CAAC8B,KAAK,CAAC,CAAC;QAChB7B,WAAW,CAAE,IAAK,CAAC;MACpB,CAAC,MAAM;QACNJ,WAAW,CAAEZ,QAAS,CAAC;MACxB;IACD,CAAG;IACH2G,MAAM,EAAG1F,aAAe;IACxB2F,mBAAmB,EAAGtD,aAAe;IACrCuD,QAAQ,EAAGA,CAAA,KAAM;MAChBjH,aAAa,CAAE;QAAEO,GAAG,EAAE;MAAG,CAAE,CAAC;MAC5BpC,KAAK,CAAEnB,EAAE,CAAE,eAAgB,CAAC,EAAE,WAAY,CAAC;IAC5C,CAAG;IACHiJ,QAAQ,EAAKiB,YAAY,IAAM;MAC9BzI,gBAAgB,CACfyI,YAAY,EACZlH,aAAa,EACbF,UACD,CAAC;IACF;EAAG,CACH,CAEY,CAAC,EACd,CAAEa,eAAe,IAAIE,mBAAmB,KACzC0E,aAAA;IAAMlB,SAAS,EAAC;EAAmC,GAClDkB,aAAA,CAAChH,eAAe,MAAE,CACb,CACN,EACDgH,aAAA;IAAA,GAAUV;EAAgB,CAAI,CAC1B,CACJ,CAAC;AAEL","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","useResourcePermissions","speak","createBlock","useMergeRefs","usePrevious","ItemSubmenuIcon","LinkUI","updateAttributes","getColors","getNavigationChildBlockProps","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","type","url","description","rel","title","showSubmenuIcon","maxNestingLevel","openSubmenusOnClick","__unstableMarkNextChangeAsNotPersistent","replaceBlock","selectBlock","isLinkOpen","setIsLinkOpen","openedBy","setOpenedBy","popoverAnchor","setPopoverAnchor","listItemRef","itemLabelPlaceholder","ref","pagesPermissions","postsPermissions","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","userCanCreate","canCreate","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","createElement","Fragment","icon","shortcut","onClick","currentTarget","isDisabled","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","labelValue","autoComplete","urlValue","descriptionValue","help","titleValue","relValue","identifier","onMerge","placeholder","withoutInteractiveFormatting","allowedFormats","onClose","anchor","hasCreateSuggestion","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 { useResourcePermissions } from '@wordpress/core-data';\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, type, 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 pagesPermissions = useResourcePermissions( 'pages' );\n\tconst postsPermissions = useResourcePermissions( 'posts' );\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\tlet userCanCreate = false;\n\tif ( ! type || type === 'page' ) {\n\t\tuserCanCreate = pagesPermissions.canCreate;\n\t} else if ( type === 'post' ) {\n\t\tuserCanCreate = postsPermissions.canCreate;\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\tisDisabled={ ! 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{\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\tonChange={ ( labelValue ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { label: labelValue } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\t\taria-label={ __( 'Navigation link text' ) }\n\t\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\tallowedFormats={ [\n\t\t\t\t\t\t\t\t'core/bold',\n\t\t\t\t\t\t\t\t'core/italic',\n\t\t\t\t\t\t\t\t'core/image',\n\t\t\t\t\t\t\t\t'core/strikethrough',\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tif ( ! openSubmenusOnClick && ! url ) {\n\t\t\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\t\t\tsetOpenedBy( ref.current );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\t{ ! 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\thasCreateSuggestion={ userCanCreate }\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":[]}
@@ -2,7 +2,7 @@ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
- import classnames from 'classnames';
5
+ import clsx from 'clsx';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -132,7 +132,7 @@ export default function PageListEdit({
132
132
  }, new Map());
133
133
  }, [pages]);
134
134
  const blockProps = useBlockProps({
135
- className: classnames('wp-block-page-list', {
135
+ className: clsx('wp-block-page-list', {
136
136
  'has-text-color': !!context.textColor,
137
137
  [getColorClassName('color', context.textColor)]: !!context.textColor,
138
138
  'has-background': !!context.backgroundColor,
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","createBlock","InspectorControls","BlockControls","useBlockProps","useInnerBlocksProps","getColorClassName","store","blockEditorStore","Warning","PanelBody","ToolbarButton","Spinner","Notice","ComboboxControl","Button","__","sprintf","useMemo","useState","useEffect","useCallback","useEntityRecords","useSelect","useDispatch","useConvertToNavigationLinks","convertDescription","ConvertToLinksModal","MAX_PAGE_COUNT","NOOP","BlockContent","blockProps","innerBlocksProps","hasResolvedPages","blockList","pages","parentPageID","createElement","className","status","isDismissible","length","parentPageDetails","find","page","id","title","rendered","PageListEdit","context","clientId","attributes","setAttributes","isOpen","setOpen","openModal","closeModal","records","hasResolved","per_page","_fields","orderby","order","allowConvertToLinks","pagesByParentId","Map","sortedPages","sort","a","b","menu_order","localeCompare","reduce","accumulator","parent","has","get","push","set","textColor","backgroundColor","style","color","pagesTree","makePagesTree","parentId","level","childPages","tree","hasChildren","item","value","label","repeat","rawName","getBlockList","template","pageProps","trim","link","url","children","isNested","hasSelectedChild","parentClientId","hasDraggedChild","isChildOfNavigation","select","getBlockParentsByBlockName","hasSelectedInnerBlock","hasDraggedInnerBlock","blockParents","navigationBlockParents","convertToNavigationLinks","renderAppender","__unstableDisableDropZone","templateLock","onInput","onChange","selectBlock","Fragment","__next40pxDefaultSize","options","help","variant","disabled","onClick","group","onClose"],"sources":["@wordpress/block-library/src/page-list/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tgetColorClassName,\n\tstore as blockEditorStore,\n\tWarning,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tToolbarButton,\n\tSpinner,\n\tNotice,\n\tComboboxControl,\n\tButton,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState, useEffect, useCallback } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useConvertToNavigationLinks } from './use-convert-to-navigation-links';\nimport {\n\tconvertDescription,\n\tConvertToLinksModal,\n} from './convert-to-links-modal';\n\n// We only show the edit option when page count is <= MAX_PAGE_COUNT\n// Performance of Navigation Links is not good past this value.\nconst MAX_PAGE_COUNT = 100;\nconst NOOP = () => {};\nfunction BlockContent( {\n\tblockProps,\n\tinnerBlocksProps,\n\thasResolvedPages,\n\tblockList,\n\tpages,\n\tparentPageID,\n} ) {\n\tif ( ! hasResolvedPages ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<div className=\"wp-block-page-list__loading-indicator-container\">\n\t\t\t\t\t<Spinner className=\"wp-block-page-list__loading-indicator\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages === null ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status={ 'warning' } isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages.length === 0 ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status={ 'info' } isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( blockList.length === 0 ) {\n\t\tconst parentPageDetails = pages.find(\n\t\t\t( page ) => page.id === parentPageID\n\t\t);\n\n\t\tif ( parentPageDetails?.title?.rendered ) {\n\t\t\treturn (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Warning>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %s: Page title.\n\t\t\t\t\t\t\t__( 'Page List: \"%s\" page has no children.' ),\n\t\t\t\t\t\t\tparentPageDetails.title.rendered\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Warning>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status={ 'warning' } isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages.length > 0 ) {\n\t\treturn <ul { ...innerBlocksProps }></ul>;\n\t}\n}\n\nexport default function PageListEdit( {\n\tcontext,\n\tclientId,\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst { parentPageID } = attributes;\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst openModal = useCallback( () => setOpen( true ), [] );\n\tconst closeModal = () => setOpen( false );\n\n\tconst { records: pages, hasResolved: hasResolvedPages } = useEntityRecords(\n\t\t'postType',\n\t\t'page',\n\t\t{\n\t\t\tper_page: MAX_PAGE_COUNT,\n\t\t\t_fields: [ 'id', 'link', 'menu_order', 'parent', 'title', 'type' ],\n\t\t\t// TODO: When https://core.trac.wordpress.org/ticket/39037 REST API support for multiple orderby\n\t\t\t// values is resolved, update 'orderby' to [ 'menu_order', 'post_title' ] to provide a consistent\n\t\t\t// sort.\n\t\t\torderby: 'menu_order',\n\t\t\torder: 'asc',\n\t\t}\n\t);\n\n\tconst allowConvertToLinks =\n\t\t'showSubmenuIcon' in context &&\n\t\tpages?.length > 0 &&\n\t\tpages?.length <= MAX_PAGE_COUNT;\n\n\tconst pagesByParentId = useMemo( () => {\n\t\tif ( pages === null ) {\n\t\t\treturn new Map();\n\t\t}\n\n\t\t// TODO: Once the REST API supports passing multiple values to\n\t\t// 'orderby', this can be removed.\n\t\t// https://core.trac.wordpress.org/ticket/39037\n\t\tconst sortedPages = pages.sort( ( a, b ) => {\n\t\t\tif ( a.menu_order === b.menu_order ) {\n\t\t\t\treturn a.title.rendered.localeCompare( b.title.rendered );\n\t\t\t}\n\t\t\treturn a.menu_order - b.menu_order;\n\t\t} );\n\n\t\treturn sortedPages.reduce( ( accumulator, page ) => {\n\t\t\tconst { parent } = page;\n\t\t\tif ( accumulator.has( parent ) ) {\n\t\t\t\taccumulator.get( parent ).push( page );\n\t\t\t} else {\n\t\t\t\taccumulator.set( parent, [ page ] );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, new Map() );\n\t}, [ pages ] );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( 'wp-block-page-list', {\n\t\t\t'has-text-color': !! context.textColor,\n\t\t\t[ getColorClassName( 'color', context.textColor ) ]:\n\t\t\t\t!! context.textColor,\n\t\t\t'has-background': !! context.backgroundColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tcontext.backgroundColor\n\t\t\t) ]: !! context.backgroundColor,\n\t\t} ),\n\t\tstyle: { ...context.style?.color },\n\t} );\n\n\tconst pagesTree = useMemo(\n\t\tfunction makePagesTree( parentId = 0, level = 0 ) {\n\t\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\t\tif ( ! childPages?.length ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn childPages.reduce( ( tree, page ) => {\n\t\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\t\tconst item = {\n\t\t\t\t\tvalue: page.id,\n\t\t\t\t\tlabel: '— '.repeat( level ) + page.title.rendered,\n\t\t\t\t\trawName: page.title.rendered,\n\t\t\t\t};\n\t\t\t\ttree.push( item );\n\t\t\t\tif ( hasChildren ) {\n\t\t\t\t\ttree.push( ...makePagesTree( page.id, level + 1 ) );\n\t\t\t\t}\n\t\t\t\treturn tree;\n\t\t\t}, [] );\n\t\t},\n\t\t[ pagesByParentId ]\n\t);\n\n\tconst blockList = useMemo(\n\t\tfunction getBlockList( parentId = parentPageID ) {\n\t\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\t\tif ( ! childPages?.length ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn childPages.reduce( ( template, page ) => {\n\t\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\t\tconst pageProps = {\n\t\t\t\t\tid: page.id,\n\t\t\t\t\tlabel:\n\t\t\t\t\t\t// translators: displayed when a page has an empty title.\n\t\t\t\t\t\tpage.title?.rendered?.trim() !== ''\n\t\t\t\t\t\t\t? page.title?.rendered\n\t\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\ttitle: page.title?.rendered,\n\t\t\t\t\tlink: page.url,\n\t\t\t\t\thasChildren,\n\t\t\t\t};\n\t\t\t\tlet item = null;\n\t\t\t\tconst children = getBlockList( page.id );\n\t\t\t\titem = createBlock(\n\t\t\t\t\t'core/page-list-item',\n\t\t\t\t\tpageProps,\n\t\t\t\t\tchildren\n\t\t\t\t);\n\t\t\t\ttemplate.push( item );\n\n\t\t\t\treturn template;\n\t\t\t}, [] );\n\t\t},\n\t\t[ pagesByParentId, parentPageID ]\n\t);\n\n\tconst {\n\t\tisNested,\n\t\thasSelectedChild,\n\t\tparentClientId,\n\t\thasDraggedChild,\n\t\tisChildOfNavigation,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\thasDraggedInnerBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst blockParents = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/navigation-submenu',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tconst navigationBlockParents = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/navigation',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tisNested: blockParents.length > 0,\n\t\t\t\tisChildOfNavigation: navigationBlockParents.length > 0,\n\t\t\t\thasSelectedChild: hasSelectedInnerBlock( clientId, true ),\n\t\t\t\thasDraggedChild: hasDraggedInnerBlock( clientId, true ),\n\t\t\t\tparentClientId: navigationBlockParents[ 0 ],\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst convertToNavigationLinks = useConvertToNavigationLinks( {\n\t\tclientId,\n\t\tpages,\n\t\tparentClientId,\n\t\tparentPageID,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\trenderAppender: false,\n\t\t__unstableDisableDropZone: true,\n\t\ttemplateLock: isChildOfNavigation ? false : 'all',\n\t\tonInput: NOOP,\n\t\tonChange: NOOP,\n\t\tvalue: blockList,\n\t} );\n\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( hasSelectedChild || hasDraggedChild ) {\n\t\t\topenModal();\n\t\t\tselectBlock( parentClientId );\n\t\t}\n\t}, [\n\t\thasSelectedChild,\n\t\thasDraggedChild,\n\t\tparentClientId,\n\t\tselectBlock,\n\t\topenModal,\n\t] );\n\n\tuseEffect( () => {\n\t\tsetAttributes( { isNested } );\n\t}, [ isNested, setAttributes ] );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ pagesTree.length > 0 && (\n\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t<ComboboxControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName=\"editor-page-attributes__parent\"\n\t\t\t\t\t\t\tlabel={ __( 'Parent' ) }\n\t\t\t\t\t\t\tvalue={ parentPageID }\n\t\t\t\t\t\t\toptions={ pagesTree }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { parentPageID: value ?? 0 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Choose a page to show only its subpages.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t\t{ allowConvertToLinks && (\n\t\t\t\t\t<PanelBody title={ __( 'Edit this menu' ) }>\n\t\t\t\t\t\t<p>{ convertDescription }</p>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tdisabled={ ! hasResolvedPages }\n\t\t\t\t\t\t\tonClick={ convertToNavigationLinks }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ allowConvertToLinks && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ttitle={ __( 'Edit' ) }\n\t\t\t\t\t\t\tonClick={ openModal }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t{ isOpen && (\n\t\t\t\t\t\t<ConvertToLinksModal\n\t\t\t\t\t\t\tonClick={ convertToNavigationLinks }\n\t\t\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\t\t\tdisabled={ ! hasResolvedPages }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<BlockContent\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\tinnerBlocksProps={ innerBlocksProps }\n\t\t\t\thasResolvedPages={ hasResolvedPages }\n\t\t\t\tblockList={ blockList }\n\t\t\t\tpages={ pages }\n\t\t\t\tparentPageID={ parentPageID }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","createBlock","InspectorControls","BlockControls","useBlockProps","useInnerBlocksProps","getColorClassName","store","blockEditorStore","Warning","PanelBody","ToolbarButton","Spinner","Notice","ComboboxControl","Button","__","sprintf","useMemo","useState","useEffect","useCallback","useEntityRecords","useSelect","useDispatch","useConvertToNavigationLinks","convertDescription","ConvertToLinksModal","MAX_PAGE_COUNT","NOOP","BlockContent","blockProps","innerBlocksProps","hasResolvedPages","blockList","pages","parentPageID","createElement","className","status","isDismissible","length","parentPageDetails","find","page","id","title","rendered","PageListEdit","context","clientId","attributes","setAttributes","isOpen","setOpen","openModal","closeModal","records","hasResolved","per_page","_fields","orderby","order","allowConvertToLinks","pagesByParentId","Map","sortedPages","sort","a","b","menu_order","localeCompare","reduce","accumulator","parent","has","get","push","set","textColor","backgroundColor","style","color","pagesTree","makePagesTree","parentId","level","childPages","tree","hasChildren","item","value","label","repeat","rawName","getBlockList","template","pageProps","trim","link","url","children","isNested","hasSelectedChild","parentClientId","hasDraggedChild","isChildOfNavigation","select","getBlockParentsByBlockName","hasSelectedInnerBlock","hasDraggedInnerBlock","blockParents","navigationBlockParents","convertToNavigationLinks","renderAppender","__unstableDisableDropZone","templateLock","onInput","onChange","selectBlock","Fragment","__next40pxDefaultSize","options","help","variant","disabled","onClick","group","onClose"],"sources":["@wordpress/block-library/src/page-list/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tgetColorClassName,\n\tstore as blockEditorStore,\n\tWarning,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tToolbarButton,\n\tSpinner,\n\tNotice,\n\tComboboxControl,\n\tButton,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState, useEffect, useCallback } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useConvertToNavigationLinks } from './use-convert-to-navigation-links';\nimport {\n\tconvertDescription,\n\tConvertToLinksModal,\n} from './convert-to-links-modal';\n\n// We only show the edit option when page count is <= MAX_PAGE_COUNT\n// Performance of Navigation Links is not good past this value.\nconst MAX_PAGE_COUNT = 100;\nconst NOOP = () => {};\nfunction BlockContent( {\n\tblockProps,\n\tinnerBlocksProps,\n\thasResolvedPages,\n\tblockList,\n\tpages,\n\tparentPageID,\n} ) {\n\tif ( ! hasResolvedPages ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<div className=\"wp-block-page-list__loading-indicator-container\">\n\t\t\t\t\t<Spinner className=\"wp-block-page-list__loading-indicator\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages === null ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status={ 'warning' } isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages.length === 0 ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status={ 'info' } isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( blockList.length === 0 ) {\n\t\tconst parentPageDetails = pages.find(\n\t\t\t( page ) => page.id === parentPageID\n\t\t);\n\n\t\tif ( parentPageDetails?.title?.rendered ) {\n\t\t\treturn (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Warning>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %s: Page title.\n\t\t\t\t\t\t\t__( 'Page List: \"%s\" page has no children.' ),\n\t\t\t\t\t\t\tparentPageDetails.title.rendered\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Warning>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status={ 'warning' } isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages.length > 0 ) {\n\t\treturn <ul { ...innerBlocksProps }></ul>;\n\t}\n}\n\nexport default function PageListEdit( {\n\tcontext,\n\tclientId,\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst { parentPageID } = attributes;\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst openModal = useCallback( () => setOpen( true ), [] );\n\tconst closeModal = () => setOpen( false );\n\n\tconst { records: pages, hasResolved: hasResolvedPages } = useEntityRecords(\n\t\t'postType',\n\t\t'page',\n\t\t{\n\t\t\tper_page: MAX_PAGE_COUNT,\n\t\t\t_fields: [ 'id', 'link', 'menu_order', 'parent', 'title', 'type' ],\n\t\t\t// TODO: When https://core.trac.wordpress.org/ticket/39037 REST API support for multiple orderby\n\t\t\t// values is resolved, update 'orderby' to [ 'menu_order', 'post_title' ] to provide a consistent\n\t\t\t// sort.\n\t\t\torderby: 'menu_order',\n\t\t\torder: 'asc',\n\t\t}\n\t);\n\n\tconst allowConvertToLinks =\n\t\t'showSubmenuIcon' in context &&\n\t\tpages?.length > 0 &&\n\t\tpages?.length <= MAX_PAGE_COUNT;\n\n\tconst pagesByParentId = useMemo( () => {\n\t\tif ( pages === null ) {\n\t\t\treturn new Map();\n\t\t}\n\n\t\t// TODO: Once the REST API supports passing multiple values to\n\t\t// 'orderby', this can be removed.\n\t\t// https://core.trac.wordpress.org/ticket/39037\n\t\tconst sortedPages = pages.sort( ( a, b ) => {\n\t\t\tif ( a.menu_order === b.menu_order ) {\n\t\t\t\treturn a.title.rendered.localeCompare( b.title.rendered );\n\t\t\t}\n\t\t\treturn a.menu_order - b.menu_order;\n\t\t} );\n\n\t\treturn sortedPages.reduce( ( accumulator, page ) => {\n\t\t\tconst { parent } = page;\n\t\t\tif ( accumulator.has( parent ) ) {\n\t\t\t\taccumulator.get( parent ).push( page );\n\t\t\t} else {\n\t\t\t\taccumulator.set( parent, [ page ] );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, new Map() );\n\t}, [ pages ] );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( 'wp-block-page-list', {\n\t\t\t'has-text-color': !! context.textColor,\n\t\t\t[ getColorClassName( 'color', context.textColor ) ]:\n\t\t\t\t!! context.textColor,\n\t\t\t'has-background': !! context.backgroundColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tcontext.backgroundColor\n\t\t\t) ]: !! context.backgroundColor,\n\t\t} ),\n\t\tstyle: { ...context.style?.color },\n\t} );\n\n\tconst pagesTree = useMemo(\n\t\tfunction makePagesTree( parentId = 0, level = 0 ) {\n\t\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\t\tif ( ! childPages?.length ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn childPages.reduce( ( tree, page ) => {\n\t\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\t\tconst item = {\n\t\t\t\t\tvalue: page.id,\n\t\t\t\t\tlabel: '— '.repeat( level ) + page.title.rendered,\n\t\t\t\t\trawName: page.title.rendered,\n\t\t\t\t};\n\t\t\t\ttree.push( item );\n\t\t\t\tif ( hasChildren ) {\n\t\t\t\t\ttree.push( ...makePagesTree( page.id, level + 1 ) );\n\t\t\t\t}\n\t\t\t\treturn tree;\n\t\t\t}, [] );\n\t\t},\n\t\t[ pagesByParentId ]\n\t);\n\n\tconst blockList = useMemo(\n\t\tfunction getBlockList( parentId = parentPageID ) {\n\t\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\t\tif ( ! childPages?.length ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn childPages.reduce( ( template, page ) => {\n\t\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\t\tconst pageProps = {\n\t\t\t\t\tid: page.id,\n\t\t\t\t\tlabel:\n\t\t\t\t\t\t// translators: displayed when a page has an empty title.\n\t\t\t\t\t\tpage.title?.rendered?.trim() !== ''\n\t\t\t\t\t\t\t? page.title?.rendered\n\t\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\ttitle: page.title?.rendered,\n\t\t\t\t\tlink: page.url,\n\t\t\t\t\thasChildren,\n\t\t\t\t};\n\t\t\t\tlet item = null;\n\t\t\t\tconst children = getBlockList( page.id );\n\t\t\t\titem = createBlock(\n\t\t\t\t\t'core/page-list-item',\n\t\t\t\t\tpageProps,\n\t\t\t\t\tchildren\n\t\t\t\t);\n\t\t\t\ttemplate.push( item );\n\n\t\t\t\treturn template;\n\t\t\t}, [] );\n\t\t},\n\t\t[ pagesByParentId, parentPageID ]\n\t);\n\n\tconst {\n\t\tisNested,\n\t\thasSelectedChild,\n\t\tparentClientId,\n\t\thasDraggedChild,\n\t\tisChildOfNavigation,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\thasDraggedInnerBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst blockParents = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/navigation-submenu',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tconst navigationBlockParents = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/navigation',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tisNested: blockParents.length > 0,\n\t\t\t\tisChildOfNavigation: navigationBlockParents.length > 0,\n\t\t\t\thasSelectedChild: hasSelectedInnerBlock( clientId, true ),\n\t\t\t\thasDraggedChild: hasDraggedInnerBlock( clientId, true ),\n\t\t\t\tparentClientId: navigationBlockParents[ 0 ],\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst convertToNavigationLinks = useConvertToNavigationLinks( {\n\t\tclientId,\n\t\tpages,\n\t\tparentClientId,\n\t\tparentPageID,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\trenderAppender: false,\n\t\t__unstableDisableDropZone: true,\n\t\ttemplateLock: isChildOfNavigation ? false : 'all',\n\t\tonInput: NOOP,\n\t\tonChange: NOOP,\n\t\tvalue: blockList,\n\t} );\n\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( hasSelectedChild || hasDraggedChild ) {\n\t\t\topenModal();\n\t\t\tselectBlock( parentClientId );\n\t\t}\n\t}, [\n\t\thasSelectedChild,\n\t\thasDraggedChild,\n\t\tparentClientId,\n\t\tselectBlock,\n\t\topenModal,\n\t] );\n\n\tuseEffect( () => {\n\t\tsetAttributes( { isNested } );\n\t}, [ isNested, setAttributes ] );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ pagesTree.length > 0 && (\n\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t<ComboboxControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName=\"editor-page-attributes__parent\"\n\t\t\t\t\t\t\tlabel={ __( 'Parent' ) }\n\t\t\t\t\t\t\tvalue={ parentPageID }\n\t\t\t\t\t\t\toptions={ pagesTree }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { parentPageID: value ?? 0 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Choose a page to show only its subpages.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t\t{ allowConvertToLinks && (\n\t\t\t\t\t<PanelBody title={ __( 'Edit this menu' ) }>\n\t\t\t\t\t\t<p>{ convertDescription }</p>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tdisabled={ ! hasResolvedPages }\n\t\t\t\t\t\t\tonClick={ convertToNavigationLinks }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ allowConvertToLinks && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ttitle={ __( 'Edit' ) }\n\t\t\t\t\t\t\tonClick={ openModal }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t{ isOpen && (\n\t\t\t\t\t\t<ConvertToLinksModal\n\t\t\t\t\t\t\tonClick={ convertToNavigationLinks }\n\t\t\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\t\t\tdisabled={ ! hasResolvedPages }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<BlockContent\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\tinnerBlocksProps={ innerBlocksProps }\n\t\t\t\thasResolvedPages={ hasResolvedPages }\n\t\t\t\tblockList={ blockList }\n\t\t\t\tpages={ pages }\n\t\t\t\tparentPageID={ parentPageID }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
- import classnames from 'classnames';
5
+ import clsx from 'clsx';
6
6
  /**
7
7
  * WordPress dependencies
8
8
  */
@@ -47,7 +47,7 @@ export default function PageListItemEdit({
47
47
  const innerBlocksProps = useInnerBlocksProps(blockProps);
48
48
  return createElement("li", {
49
49
  key: id,
50
- className: classnames('wp-block-pages-list__item', {
50
+ className: clsx('wp-block-pages-list__item', {
51
51
  'has-child': hasChildren,
52
52
  'wp-block-navigation-item': isNavigationChild,
53
53
  'open-on-click': context.openSubmenusOnClick,
@@ -61,7 +61,7 @@ export default function PageListItemEdit({
61
61
  }, decodeEntities(label)), createElement("span", {
62
62
  className: "wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon"
63
63
  }, createElement(ItemSubmenuIcon, null))) : createElement("a", {
64
- className: classnames('wp-block-pages-list__item__link', {
64
+ className: clsx('wp-block-pages-list__item__link', {
65
65
  'wp-block-navigation-item__content': isNavigationChild
66
66
  }),
67
67
  href: link
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useBlockProps","useInnerBlocksProps","useSelect","store","coreStore","decodeEntities","ItemSubmenuIcon","getColors","getNavigationChildBlockProps","useFrontPageId","select","canReadSettings","canUser","undefined","site","getEntityRecord","show_on_front","page_on_front","PageListItemEdit","context","attributes","id","label","link","hasChildren","title","isNavigationChild","frontPageId","innerBlocksColors","navigationChildBlockProps","blockProps","className","innerBlocksProps","createElement","key","openSubmenusOnClick","showSubmenuIcon","Fragment","type","href"],"sources":["@wordpress/block-library/src/page-list-item/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n/**\n * WordPress dependencies\n */\nimport { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { ItemSubmenuIcon } from '../navigation-link/icons';\nimport {\n\tgetColors,\n\tgetNavigationChildBlockProps,\n} from '../navigation/edit/utils';\n\nfunction useFrontPageId() {\n\treturn useSelect( ( select ) => {\n\t\tconst canReadSettings = select( coreStore ).canUser(\n\t\t\t'read',\n\t\t\t'settings'\n\t\t);\n\t\tif ( ! canReadSettings ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst site = select( coreStore ).getEntityRecord( 'root', 'site' );\n\t\treturn site?.show_on_front === 'page' && site?.page_on_front;\n\t}, [] );\n}\n\nexport default function PageListItemEdit( { context, attributes } ) {\n\tconst { id, label, link, hasChildren, title } = attributes;\n\tconst isNavigationChild = 'showSubmenuIcon' in context;\n\tconst frontPageId = useFrontPageId();\n\n\tconst innerBlocksColors = getColors( context, true );\n\n\tconst navigationChildBlockProps =\n\t\tgetNavigationChildBlockProps( innerBlocksColors );\n\tconst blockProps = useBlockProps( navigationChildBlockProps, {\n\t\tclassName: 'wp-block-pages-list__item',\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps );\n\n\treturn (\n\t\t<li\n\t\t\tkey={ id }\n\t\t\tclassName={ classnames( 'wp-block-pages-list__item', {\n\t\t\t\t'has-child': hasChildren,\n\t\t\t\t'wp-block-navigation-item': isNavigationChild,\n\t\t\t\t'open-on-click': context.openSubmenusOnClick,\n\t\t\t\t'open-on-hover-click':\n\t\t\t\t\t! context.openSubmenusOnClick && context.showSubmenuIcon,\n\t\t\t\t'menu-item-home': id === frontPageId,\n\t\t\t} ) }\n\t\t>\n\t\t\t{ hasChildren && context.openSubmenusOnClick ? (\n\t\t\t\t<>\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName=\"wp-block-navigation-item__content wp-block-navigation-submenu__toggle\"\n\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ decodeEntities( label ) }\n\t\t\t\t\t</button>\n\t\t\t\t\t<span className=\"wp-block-page-list__submenu-icon 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) : (\n\t\t\t\t<a\n\t\t\t\t\tclassName={ classnames( 'wp-block-pages-list__item__link', {\n\t\t\t\t\t\t'wp-block-navigation-item__content': isNavigationChild,\n\t\t\t\t\t} ) }\n\t\t\t\t\thref={ link }\n\t\t\t\t>\n\t\t\t\t\t{ decodeEntities( title ) }\n\t\t\t\t</a>\n\t\t\t) }\n\t\t\t{ hasChildren && (\n\t\t\t\t<>\n\t\t\t\t\t{ ! context.openSubmenusOnClick &&\n\t\t\t\t\t\tcontext.showSubmenuIcon && (\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__content wp-block-navigation-submenu__toggle wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon\"\n\t\t\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ItemSubmenuIcon />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t<ul { ...innerBlocksProps }></ul>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</li>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useBlockProps","useInnerBlocksProps","useSelect","store","coreStore","decodeEntities","ItemSubmenuIcon","getColors","getNavigationChildBlockProps","useFrontPageId","select","canReadSettings","canUser","undefined","site","getEntityRecord","show_on_front","page_on_front","PageListItemEdit","context","attributes","id","label","link","hasChildren","title","isNavigationChild","frontPageId","innerBlocksColors","navigationChildBlockProps","blockProps","className","innerBlocksProps","createElement","key","openSubmenusOnClick","showSubmenuIcon","Fragment","type","href"],"sources":["@wordpress/block-library/src/page-list-item/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n/**\n * WordPress dependencies\n */\nimport { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { ItemSubmenuIcon } from '../navigation-link/icons';\nimport {\n\tgetColors,\n\tgetNavigationChildBlockProps,\n} from '../navigation/edit/utils';\n\nfunction useFrontPageId() {\n\treturn useSelect( ( select ) => {\n\t\tconst canReadSettings = select( coreStore ).canUser(\n\t\t\t'read',\n\t\t\t'settings'\n\t\t);\n\t\tif ( ! canReadSettings ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst site = select( coreStore ).getEntityRecord( 'root', 'site' );\n\t\treturn site?.show_on_front === 'page' && site?.page_on_front;\n\t}, [] );\n}\n\nexport default function PageListItemEdit( { context, attributes } ) {\n\tconst { id, label, link, hasChildren, title } = attributes;\n\tconst isNavigationChild = 'showSubmenuIcon' in context;\n\tconst frontPageId = useFrontPageId();\n\n\tconst innerBlocksColors = getColors( context, true );\n\n\tconst navigationChildBlockProps =\n\t\tgetNavigationChildBlockProps( innerBlocksColors );\n\tconst blockProps = useBlockProps( navigationChildBlockProps, {\n\t\tclassName: 'wp-block-pages-list__item',\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps );\n\n\treturn (\n\t\t<li\n\t\t\tkey={ id }\n\t\t\tclassName={ clsx( 'wp-block-pages-list__item', {\n\t\t\t\t'has-child': hasChildren,\n\t\t\t\t'wp-block-navigation-item': isNavigationChild,\n\t\t\t\t'open-on-click': context.openSubmenusOnClick,\n\t\t\t\t'open-on-hover-click':\n\t\t\t\t\t! context.openSubmenusOnClick && context.showSubmenuIcon,\n\t\t\t\t'menu-item-home': id === frontPageId,\n\t\t\t} ) }\n\t\t>\n\t\t\t{ hasChildren && context.openSubmenusOnClick ? (\n\t\t\t\t<>\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName=\"wp-block-navigation-item__content wp-block-navigation-submenu__toggle\"\n\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ decodeEntities( label ) }\n\t\t\t\t\t</button>\n\t\t\t\t\t<span className=\"wp-block-page-list__submenu-icon 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) : (\n\t\t\t\t<a\n\t\t\t\t\tclassName={ clsx( 'wp-block-pages-list__item__link', {\n\t\t\t\t\t\t'wp-block-navigation-item__content': isNavigationChild,\n\t\t\t\t\t} ) }\n\t\t\t\t\thref={ link }\n\t\t\t\t>\n\t\t\t\t\t{ decodeEntities( title ) }\n\t\t\t\t</a>\n\t\t\t) }\n\t\t\t{ hasChildren && (\n\t\t\t\t<>\n\t\t\t\t\t{ ! context.openSubmenusOnClick &&\n\t\t\t\t\t\tcontext.showSubmenuIcon && (\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__content wp-block-navigation-submenu__toggle wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon\"\n\t\t\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ItemSubmenuIcon />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t<ul { ...innerBlocksProps }></ul>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</li>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
- import classnames from 'classnames';
5
+ import clsx from 'clsx';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -106,7 +106,7 @@ const deprecated = [
106
106
  dropCap,
107
107
  direction
108
108
  } = attributes;
109
- const className = classnames({
109
+ const className = clsx({
110
110
  'has-drop-cap': align === (isRTL() ? 'left' : 'right') || align === 'center' ? false : dropCap,
111
111
  [`has-text-align-${align}`]: align
112
112
  });
@@ -152,7 +152,7 @@ const deprecated = [
152
152
  const textClass = getColorClassName('color', textColor);
153
153
  const backgroundClass = getColorClassName('background-color', backgroundColor);
154
154
  const fontSizeClass = getFontSizeClass(fontSize);
155
- const className = classnames({
155
+ const className = clsx({
156
156
  'has-text-color': textColor || customTextColor,
157
157
  'has-background': backgroundColor || customBackgroundColor,
158
158
  'has-drop-cap': dropCap,
@@ -207,7 +207,7 @@ const deprecated = [
207
207
  const textClass = getColorClassName('color', textColor);
208
208
  const backgroundClass = getColorClassName('background-color', backgroundColor);
209
209
  const fontSizeClass = getFontSizeClass(fontSize);
210
- const className = classnames({
210
+ const className = clsx({
211
211
  'has-text-color': textColor || customTextColor,
212
212
  'has-background': backgroundColor || customBackgroundColor,
213
213
  'has-drop-cap': dropCap,
@@ -265,7 +265,7 @@ const deprecated = [
265
265
  const textClass = getColorClassName('color', textColor);
266
266
  const backgroundClass = getColorClassName('background-color', backgroundColor);
267
267
  const fontSizeClass = fontSize && `is-${fontSize}-text`;
268
- const className = classnames({
268
+ const className = clsx({
269
269
  [`align${width}`]: width,
270
270
  'has-background': backgroundColor || customBackgroundColor,
271
271
  'has-drop-cap': dropCap,
@@ -306,7 +306,7 @@ const deprecated = [
306
306
  textColor,
307
307
  fontSize
308
308
  } = attributes;
309
- const className = classnames({
309
+ const className = clsx({
310
310
  [`align${width}`]: width,
311
311
  'has-background': backgroundColor,
312
312
  'has-drop-cap': dropCap