@wordpress/block-library 6.0.1-next.253d9b6e21.0 → 6.0.3

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 (1583) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/README.md +1 -1
  3. package/build/audio/edit.js +2 -2
  4. package/build/audio/edit.js.map +1 -1
  5. package/build/audio/edit.native.js +2 -2
  6. package/build/audio/edit.native.js.map +1 -1
  7. package/build/block/edit.js +1 -1
  8. package/build/block/edit.js.map +1 -1
  9. package/build/button/deprecated.js +155 -10
  10. package/build/button/deprecated.js.map +1 -1
  11. package/build/button/edit.js +97 -87
  12. package/build/button/edit.js.map +1 -1
  13. package/build/button/edit.native.js +257 -330
  14. package/build/button/edit.native.js.map +1 -1
  15. package/build/button/index.js +8 -2
  16. package/build/button/index.js.map +1 -1
  17. package/build/buttons/deprecated.js +80 -2
  18. package/build/buttons/deprecated.js.map +1 -1
  19. package/build/buttons/edit.js +8 -40
  20. package/build/buttons/edit.js.map +1 -1
  21. package/build/buttons/index.js +17 -14
  22. package/build/buttons/index.js.map +1 -1
  23. package/build/buttons/save.js +4 -20
  24. package/build/buttons/save.js.map +1 -1
  25. package/build/buttons/transforms.js +16 -10
  26. package/build/buttons/transforms.js.map +1 -1
  27. package/build/categories/edit.js +16 -6
  28. package/build/categories/edit.js.map +1 -1
  29. package/build/categories/index.js +4 -0
  30. package/build/categories/index.js.map +1 -1
  31. package/build/code/edit.native.js +8 -5
  32. package/build/code/edit.native.js.map +1 -1
  33. package/build/code/index.js +24 -1
  34. package/build/code/index.js.map +1 -1
  35. package/build/column/edit.js +4 -2
  36. package/build/column/edit.js.map +1 -1
  37. package/build/column/index.js +8 -1
  38. package/build/column/index.js.map +1 -1
  39. package/build/column/save.js +16 -4
  40. package/build/column/save.js.map +1 -1
  41. package/build/columns/edit.js +1 -1
  42. package/build/columns/edit.js.map +1 -1
  43. package/build/columns/edit.native.js +5 -2
  44. package/build/columns/edit.native.js.map +1 -1
  45. package/build/columns/index.js +11 -1
  46. package/build/columns/index.js.map +1 -1
  47. package/build/columns/save.js +7 -2
  48. package/build/columns/save.js.map +1 -1
  49. package/build/comment-author-avatar/edit.js +83 -0
  50. package/build/comment-author-avatar/edit.js.map +1 -0
  51. package/build/{post-comment-date → comment-author-avatar}/index.js +25 -9
  52. package/build/comment-author-avatar/index.js.map +1 -0
  53. package/build/comment-author-name/deprecated.js +69 -0
  54. package/build/comment-author-name/deprecated.js.map +1 -0
  55. package/build/comment-author-name/edit.js +112 -0
  56. package/build/comment-author-name/edit.js.map +1 -0
  57. package/build/comment-author-name/index.js +77 -0
  58. package/build/comment-author-name/index.js.map +1 -0
  59. package/build/comment-content/edit.js +74 -0
  60. package/build/comment-content/edit.js.map +1 -0
  61. package/build/comment-content/index.js +68 -0
  62. package/build/comment-content/index.js.map +1 -0
  63. package/build/comment-date/deprecated.js +68 -0
  64. package/build/comment-date/deprecated.js.map +1 -0
  65. package/build/comment-date/edit.js +95 -0
  66. package/build/comment-date/edit.js.map +1 -0
  67. package/build/comment-date/index.js +72 -0
  68. package/build/comment-date/index.js.map +1 -0
  69. package/build/comment-edit-link/edit.js +61 -0
  70. package/build/comment-edit-link/edit.js.map +1 -0
  71. package/build/comment-edit-link/index.js +67 -0
  72. package/build/comment-edit-link/index.js.map +1 -0
  73. package/build/comment-reply-link/edit.js +63 -0
  74. package/build/comment-reply-link/edit.js.map +1 -0
  75. package/build/comment-reply-link/index.js +63 -0
  76. package/build/comment-reply-link/index.js.map +1 -0
  77. package/build/comment-template/edit.js +82 -0
  78. package/build/comment-template/edit.js.map +1 -0
  79. package/build/{post-comment-content → comment-template}/index.js +13 -8
  80. package/build/comment-template/index.js.map +1 -0
  81. package/build/comment-template/save.js +18 -0
  82. package/build/comment-template/save.js.map +1 -0
  83. package/build/comments-query-loop/edit.js +64 -0
  84. package/build/comments-query-loop/edit.js.map +1 -0
  85. package/build/comments-query-loop/index.js +67 -0
  86. package/build/comments-query-loop/index.js.map +1 -0
  87. package/build/comments-query-loop/save.js +22 -0
  88. package/build/comments-query-loop/save.js.map +1 -0
  89. package/build/comments-query-loop/toolbar.js +54 -0
  90. package/build/comments-query-loop/toolbar.js.map +1 -0
  91. package/build/cover/deprecated.js +177 -44
  92. package/build/cover/deprecated.js.map +1 -1
  93. package/build/cover/edit.js +118 -54
  94. package/build/cover/edit.js.map +1 -1
  95. package/build/cover/edit.native.js +6 -2
  96. package/build/cover/edit.native.js.map +1 -1
  97. package/build/cover/index.js +23 -2
  98. package/build/cover/index.js.map +1 -1
  99. package/build/cover/save.js +19 -15
  100. package/build/cover/save.js.map +1 -1
  101. package/build/cover/shared.js +4 -2
  102. package/build/cover/shared.js.map +1 -1
  103. package/build/cover/transforms.js +4 -0
  104. package/build/cover/transforms.js.map +1 -1
  105. package/build/embed/edit.js +1 -5
  106. package/build/embed/edit.js.map +1 -1
  107. package/build/embed/edit.native.js +88 -29
  108. package/build/embed/edit.native.js.map +1 -1
  109. package/build/embed/embed-bottom-sheet.native.js +21 -21
  110. package/build/embed/embed-bottom-sheet.native.js.map +1 -1
  111. package/build/embed/embed-controls.js +4 -1
  112. package/build/embed/embed-controls.js.map +1 -1
  113. package/build/embed/embed-no-preview.native.js +24 -10
  114. package/build/embed/embed-no-preview.native.js.map +1 -1
  115. package/build/embed/embed-placeholder.native.js +51 -7
  116. package/build/embed/embed-placeholder.native.js.map +1 -1
  117. package/build/embed/embed-preview.native.js +28 -10
  118. package/build/embed/embed-preview.native.js.map +1 -1
  119. package/build/embed/icons.js +16 -1
  120. package/build/embed/icons.js.map +1 -1
  121. package/build/embed/transforms.native.js +3 -1
  122. package/build/embed/transforms.native.js.map +1 -1
  123. package/build/embed/variations.js +20 -10
  124. package/build/embed/variations.js.map +1 -1
  125. package/build/embed/wp-embed-preview.js +44 -56
  126. package/build/embed/wp-embed-preview.js.map +1 -1
  127. package/build/embed/wp-embed-preview.native.js +95 -0
  128. package/build/embed/wp-embed-preview.native.js.map +1 -0
  129. package/build/file/deprecated.js +108 -0
  130. package/build/file/deprecated.js.map +1 -0
  131. package/build/file/edit.js +8 -1
  132. package/build/file/edit.js.map +1 -1
  133. package/build/file/index.js +9 -0
  134. package/build/file/index.js.map +1 -1
  135. package/build/file/inspector.js +1 -1
  136. package/build/file/inspector.js.map +1 -1
  137. package/build/file/save.js +4 -1
  138. package/build/file/save.js.map +1 -1
  139. package/build/file/transforms.js +3 -1
  140. package/build/file/transforms.js.map +1 -1
  141. package/build/freeform/edit.js +16 -4
  142. package/build/freeform/edit.js.map +1 -1
  143. package/build/gallery/constants.js +2 -2
  144. package/build/gallery/constants.js.map +1 -1
  145. package/build/gallery/deprecated.js +17 -8
  146. package/build/gallery/deprecated.js.map +1 -1
  147. package/build/gallery/edit-wrapper.js +63 -0
  148. package/build/gallery/edit-wrapper.js.map +1 -0
  149. package/build/gallery/edit.js +232 -231
  150. package/build/gallery/edit.js.map +1 -1
  151. package/build/gallery/gallery.js +67 -49
  152. package/build/gallery/gallery.js.map +1 -1
  153. package/build/gallery/gallery.native.js +42 -79
  154. package/build/gallery/gallery.native.js.map +1 -1
  155. package/build/gallery/index.js +36 -7
  156. package/build/gallery/index.js.map +1 -1
  157. package/build/gallery/save.js +30 -42
  158. package/build/gallery/save.js.map +1 -1
  159. package/build/gallery/shared.js +2 -2
  160. package/build/gallery/shared.js.map +1 -1
  161. package/build/gallery/transforms.js +211 -12
  162. package/build/gallery/transforms.js.map +1 -1
  163. package/build/gallery/use-get-media.js +52 -0
  164. package/build/gallery/use-get-media.js.map +1 -0
  165. package/build/gallery/use-get-new-images.js +58 -0
  166. package/build/gallery/use-get-new-images.js.map +1 -0
  167. package/build/gallery/use-image-sizes.js +73 -0
  168. package/build/gallery/use-image-sizes.js.map +1 -0
  169. package/build/gallery/use-mobile-warning.js +43 -0
  170. package/build/gallery/use-mobile-warning.js.map +1 -0
  171. package/build/gallery/use-short-code-transform.js +63 -0
  172. package/build/gallery/use-short-code-transform.js.map +1 -0
  173. package/build/gallery/utils.js +51 -0
  174. package/build/gallery/utils.js.map +1 -0
  175. package/build/gallery/v1/constants.js +13 -0
  176. package/build/gallery/v1/constants.js.map +1 -0
  177. package/build/gallery/v1/edit.js +459 -0
  178. package/build/gallery/v1/edit.js.map +1 -0
  179. package/build/gallery/{gallery-button.native.js → v1/gallery-button.native.js} +0 -0
  180. package/build/gallery/v1/gallery-button.native.js.map +1 -0
  181. package/build/gallery/{gallery-image.js → v1/gallery-image.js} +0 -0
  182. package/build/gallery/v1/gallery-image.js.map +1 -0
  183. package/build/gallery/{gallery-image.native.js → v1/gallery-image.native.js} +0 -0
  184. package/build/gallery/v1/gallery-image.native.js.map +1 -0
  185. package/build/gallery/v1/gallery.js +122 -0
  186. package/build/gallery/v1/gallery.js.map +1 -0
  187. package/build/gallery/v1/gallery.native.js +159 -0
  188. package/build/gallery/v1/gallery.native.js.map +1 -0
  189. package/build/gallery/v1/save.js +75 -0
  190. package/build/gallery/v1/save.js.map +1 -0
  191. package/build/gallery/v1/shared.js +26 -0
  192. package/build/gallery/v1/shared.js.map +1 -0
  193. package/build/gallery/{tiles.native.js → v1/tiles.native.js} +2 -1
  194. package/build/gallery/v1/tiles.native.js.map +1 -0
  195. package/build/gallery/v1/update-gallery-modal.js +110 -0
  196. package/build/gallery/v1/update-gallery-modal.js.map +1 -0
  197. package/build/group/edit.js +21 -5
  198. package/build/group/edit.js.map +1 -1
  199. package/build/group/index.js +9 -2
  200. package/build/group/index.js.map +1 -1
  201. package/build/group/save.js +4 -5
  202. package/build/group/save.js.map +1 -1
  203. package/build/group/variations.js +32 -0
  204. package/build/group/variations.js.map +1 -0
  205. package/build/heading/autogenerate-anchors.js +90 -0
  206. package/build/heading/autogenerate-anchors.js.map +1 -0
  207. package/build/heading/edit.js +42 -5
  208. package/build/heading/edit.js.map +1 -1
  209. package/build/heading/heading-level-dropdown.js +11 -37
  210. package/build/heading/heading-level-dropdown.js.map +1 -1
  211. package/build/heading/index.js +14 -2
  212. package/build/heading/index.js.map +1 -1
  213. package/build/heading/transforms.js +14 -2
  214. package/build/heading/transforms.js.map +1 -1
  215. package/build/home-link/edit.js +2 -2
  216. package/build/home-link/edit.js.map +1 -1
  217. package/build/image/edit.js +8 -6
  218. package/build/image/edit.js.map +1 -1
  219. package/build/image/edit.native.js +165 -70
  220. package/build/image/edit.native.js.map +1 -1
  221. package/build/image/image.js +11 -17
  222. package/build/image/image.js.map +1 -1
  223. package/build/image/index.js +1 -0
  224. package/build/image/index.js.map +1 -1
  225. package/build/image/transforms.js +31 -7
  226. package/build/image/transforms.js.map +1 -1
  227. package/build/image/utils.js +23 -0
  228. package/build/image/utils.js.map +1 -1
  229. package/build/index.js +84 -69
  230. package/build/index.js.map +1 -1
  231. package/build/index.native.js +3 -1
  232. package/build/index.native.js.map +1 -1
  233. package/build/latest-comments/edit.js +7 -1
  234. package/build/latest-comments/edit.js.map +1 -1
  235. package/build/latest-posts/edit.native.js +12 -6
  236. package/build/latest-posts/edit.native.js.map +1 -1
  237. package/build/list/deprecated.js +111 -0
  238. package/build/list/deprecated.js.map +1 -0
  239. package/build/list/index.js +15 -3
  240. package/build/list/index.js.map +1 -1
  241. package/build/media-text/edit.js +2 -2
  242. package/build/media-text/edit.js.map +1 -1
  243. package/build/media-text/index.js +2 -0
  244. package/build/media-text/index.js.map +1 -1
  245. package/build/media-text/save.js +3 -3
  246. package/build/media-text/save.js.map +1 -1
  247. package/build/navigation/deprecated.js +340 -23
  248. package/build/navigation/deprecated.js.map +1 -1
  249. package/build/navigation/edit/index.js +372 -0
  250. package/build/navigation/edit/index.js.map +1 -0
  251. package/build/navigation/edit/inner-blocks.js +100 -0
  252. package/build/navigation/edit/inner-blocks.js.map +1 -0
  253. package/build/navigation/edit/navigation-menu-delete-control.js +60 -0
  254. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -0
  255. package/build/navigation/edit/navigation-menu-name-control.js +27 -0
  256. package/build/navigation/edit/navigation-menu-name-control.js.map +1 -0
  257. package/build/navigation/edit/navigation-menu-name-modal.js +54 -0
  258. package/build/navigation/edit/navigation-menu-name-modal.js.map +1 -0
  259. package/build/navigation/edit/navigation-menu-publish-button.js +53 -0
  260. package/build/navigation/edit/navigation-menu-publish-button.js.map +1 -0
  261. package/build/navigation/edit/navigation-menu-selector.js +49 -0
  262. package/build/navigation/edit/navigation-menu-selector.js.map +1 -0
  263. package/build/navigation/edit/placeholder/index.js +207 -0
  264. package/build/navigation/edit/placeholder/index.js.map +1 -0
  265. package/build/navigation/{placeholder-preview.js → edit/placeholder/placeholder-preview.js} +17 -5
  266. package/build/navigation/edit/placeholder/placeholder-preview.js.map +1 -0
  267. package/build/navigation/{responsive-wrapper.js → edit/responsive-wrapper.js} +8 -3
  268. package/build/navigation/edit/responsive-wrapper.js.map +1 -0
  269. package/build/navigation/edit/unsaved-inner-blocks.js +153 -0
  270. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -0
  271. package/build/navigation/edit/use-list-view-modal.js +72 -0
  272. package/build/navigation/edit/use-list-view-modal.js.map +1 -0
  273. package/build/navigation/index.js +27 -10
  274. package/build/navigation/index.js.map +1 -1
  275. package/build/navigation/menu-items-to-blocks.js +6 -5
  276. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  277. package/build/navigation/save.js +10 -1
  278. package/build/navigation/save.js.map +1 -1
  279. package/build/navigation/use-navigation-menu.js +40 -0
  280. package/build/navigation/use-navigation-menu.js.map +1 -0
  281. package/build/navigation/use-template-part-area-label.js +74 -0
  282. package/build/navigation/use-template-part-area-label.js.map +1 -0
  283. package/build/navigation/view.js +53 -1
  284. package/build/navigation/view.js.map +1 -1
  285. package/build/navigation-area/edit.js +97 -0
  286. package/build/navigation-area/edit.js.map +1 -0
  287. package/build/navigation-area/index.js +61 -0
  288. package/build/navigation-area/index.js.map +1 -0
  289. package/build/navigation-area/inner-blocks.js +33 -0
  290. package/build/navigation-area/inner-blocks.js.map +1 -0
  291. package/build/navigation-area/save.js +18 -0
  292. package/build/navigation-area/save.js.map +1 -0
  293. package/build/navigation-link/edit.js +124 -78
  294. package/build/navigation-link/edit.js.map +1 -1
  295. package/build/navigation-link/index.js +6 -2
  296. package/build/navigation-link/index.js.map +1 -1
  297. package/build/navigation-link/transforms.js +87 -0
  298. package/build/navigation-link/transforms.js.map +1 -0
  299. package/build/navigation-submenu/edit.js +651 -0
  300. package/build/navigation-submenu/edit.js.map +1 -0
  301. package/build/navigation-submenu/icons.js +27 -0
  302. package/build/navigation-submenu/icons.js.map +1 -0
  303. package/build/navigation-submenu/index.js +89 -0
  304. package/build/navigation-submenu/index.js.map +1 -0
  305. package/build/navigation-submenu/save.js +18 -0
  306. package/build/navigation-submenu/save.js.map +1 -0
  307. package/build/navigation-submenu/transforms.js +82 -0
  308. package/build/navigation-submenu/transforms.js.map +1 -0
  309. package/build/navigation-submenu/view.js +51 -0
  310. package/build/navigation-submenu/view.js.map +1 -0
  311. package/build/page-list/convert-to-links-modal.js +19 -1
  312. package/build/page-list/convert-to-links-modal.js.map +1 -1
  313. package/build/page-list/edit.js +124 -72
  314. package/build/page-list/edit.js.map +1 -1
  315. package/build/page-list/index.js +2 -27
  316. package/build/page-list/index.js.map +1 -1
  317. package/build/paragraph/edit.native.js +2 -1
  318. package/build/paragraph/edit.native.js.map +1 -1
  319. package/build/paragraph/index.js +8 -1
  320. package/build/paragraph/index.js.map +1 -1
  321. package/build/paragraph/transforms.js +8 -1
  322. package/build/paragraph/transforms.js.map +1 -1
  323. package/build/pattern/edit.js +43 -0
  324. package/build/pattern/edit.js.map +1 -0
  325. package/build/{post-comment-author → pattern}/index.js +11 -10
  326. package/build/pattern/index.js.map +1 -0
  327. package/build/post-author/index.js +14 -2
  328. package/build/post-author/index.js.map +1 -1
  329. package/build/post-comment/edit.js +11 -9
  330. package/build/post-comment/edit.js.map +1 -1
  331. package/build/post-comment/index.js +4 -3
  332. package/build/post-comment/index.js.map +1 -1
  333. package/build/post-comment/save.js +5 -1
  334. package/build/post-comment/save.js.map +1 -1
  335. package/build/post-comments/index.js +8 -1
  336. package/build/post-comments/index.js.map +1 -1
  337. package/build/post-comments-count/index.js +7 -1
  338. package/build/post-comments-count/index.js.map +1 -1
  339. package/build/post-comments-form/index.js +9 -2
  340. package/build/post-comments-form/index.js.map +1 -1
  341. package/build/post-comments-link/index.js +8 -1
  342. package/build/post-comments-link/index.js.map +1 -1
  343. package/build/post-content/edit.js +2 -4
  344. package/build/post-content/edit.js.map +1 -1
  345. package/build/post-date/deprecated.js +71 -0
  346. package/build/post-date/deprecated.js.map +1 -0
  347. package/build/post-date/edit.js +35 -14
  348. package/build/post-date/edit.js.map +1 -1
  349. package/build/post-date/index.js +13 -2
  350. package/build/post-date/index.js.map +1 -1
  351. package/build/post-excerpt/edit.js +3 -2
  352. package/build/post-excerpt/edit.js.map +1 -1
  353. package/build/post-excerpt/index.js +12 -1
  354. package/build/post-excerpt/index.js.map +1 -1
  355. package/build/post-featured-image/dimension-controls.js +24 -10
  356. package/build/post-featured-image/dimension-controls.js.map +1 -1
  357. package/build/post-featured-image/index.js +10 -1
  358. package/build/post-featured-image/index.js.map +1 -1
  359. package/build/post-navigation-link/edit.js +19 -3
  360. package/build/post-navigation-link/edit.js.map +1 -1
  361. package/build/post-navigation-link/index.js +16 -1
  362. package/build/post-navigation-link/index.js.map +1 -1
  363. package/build/post-template/edit.js +8 -4
  364. package/build/post-template/edit.js.map +1 -1
  365. package/build/post-template/index.js +5 -2
  366. package/build/post-template/index.js.map +1 -1
  367. package/build/post-terms/edit.js +5 -7
  368. package/build/post-terms/edit.js.map +1 -1
  369. package/build/post-terms/index.js +8 -1
  370. package/build/post-terms/index.js.map +1 -1
  371. package/build/post-terms/use-post-terms.js +3 -1
  372. package/build/post-terms/use-post-terms.js.map +1 -1
  373. package/build/post-title/deprecated.js +84 -0
  374. package/build/post-title/deprecated.js.map +1 -0
  375. package/build/post-title/edit.js +3 -3
  376. package/build/post-title/edit.js.map +1 -1
  377. package/build/post-title/index.js +17 -2
  378. package/build/post-title/index.js.map +1 -1
  379. package/build/preformatted/edit.js +5 -2
  380. package/build/preformatted/edit.js.map +1 -1
  381. package/build/preformatted/edit.native.js +16 -6
  382. package/build/preformatted/edit.native.js.map +1 -1
  383. package/build/preformatted/index.js +9 -1
  384. package/build/preformatted/index.js.map +1 -1
  385. package/build/pullquote/blockquote.native.js +14 -2
  386. package/build/pullquote/blockquote.native.js.map +1 -1
  387. package/build/pullquote/edit.native.js +124 -0
  388. package/build/pullquote/edit.native.js.map +1 -0
  389. package/build/pullquote/figure.native.js +20 -8
  390. package/build/pullquote/figure.native.js.map +1 -1
  391. package/build/pullquote/index.js +12 -0
  392. package/build/pullquote/index.js.map +1 -1
  393. package/build/query/edit/index.js +4 -2
  394. package/build/query/edit/index.js.map +1 -1
  395. package/build/query/save.js +5 -1
  396. package/build/query/save.js.map +1 -1
  397. package/build/query/variations.js +4 -4
  398. package/build/query/variations.js.map +1 -1
  399. package/build/query-pagination/deprecated.js +24 -0
  400. package/build/query-pagination/deprecated.js.map +1 -0
  401. package/build/query-pagination/edit.js +55 -4
  402. package/build/query-pagination/edit.js.map +1 -1
  403. package/build/query-pagination/index.js +20 -1
  404. package/build/query-pagination/index.js.map +1 -1
  405. package/build/query-pagination/query-pagination-arrow-controls.js +38 -0
  406. package/build/query-pagination/query-pagination-arrow-controls.js.map +1 -0
  407. package/build/query-pagination/save.js +1 -1
  408. package/build/query-pagination/save.js.map +1 -1
  409. package/build/query-pagination-next/edit.js +19 -4
  410. package/build/query-pagination-next/edit.js.map +1 -1
  411. package/build/query-pagination-next/index.js +9 -2
  412. package/build/query-pagination-next/index.js.map +1 -1
  413. package/build/query-pagination-previous/edit.js +19 -4
  414. package/build/query-pagination-previous/edit.js.map +1 -1
  415. package/build/query-pagination-previous/index.js +9 -2
  416. package/build/query-pagination-previous/index.js.map +1 -1
  417. package/build/query-title/deprecated.js +70 -0
  418. package/build/query-title/deprecated.js.map +1 -0
  419. package/build/query-title/index.js +17 -2
  420. package/build/query-title/index.js.map +1 -1
  421. package/build/quote/deprecated.js +9 -0
  422. package/build/quote/deprecated.js.map +1 -1
  423. package/build/quote/index.js +17 -1
  424. package/build/quote/index.js.map +1 -1
  425. package/build/search/edit.js +27 -1
  426. package/build/search/edit.js.map +1 -1
  427. package/build/search/edit.native.js +38 -7
  428. package/build/search/edit.native.js.map +1 -1
  429. package/build/separator/separator-settings.js +1 -0
  430. package/build/separator/separator-settings.js.map +1 -1
  431. package/build/site-logo/edit.js +120 -50
  432. package/build/site-logo/edit.js.map +1 -1
  433. package/build/site-logo/index.js +13 -2
  434. package/build/site-logo/index.js.map +1 -1
  435. package/build/site-tagline/deprecated.js +68 -0
  436. package/build/site-tagline/deprecated.js.map +1 -0
  437. package/build/site-tagline/index.js +11 -2
  438. package/build/site-tagline/index.js.map +1 -1
  439. package/build/site-title/deprecated.js +81 -0
  440. package/build/site-title/deprecated.js.map +1 -0
  441. package/build/site-title/edit/index.js +25 -6
  442. package/build/site-title/edit/index.js.map +1 -1
  443. package/build/site-title/index.js +24 -4
  444. package/build/site-title/index.js.map +1 -1
  445. package/build/social-links/deprecated.js +106 -2
  446. package/build/social-links/deprecated.js.map +1 -1
  447. package/build/social-links/edit.js +17 -20
  448. package/build/social-links/edit.js.map +1 -1
  449. package/build/social-links/index.js +17 -1
  450. package/build/social-links/index.js.map +1 -1
  451. package/build/social-links/save.js +8 -5
  452. package/build/social-links/save.js.map +1 -1
  453. package/build/table/index.js +12 -1
  454. package/build/table/index.js.map +1 -1
  455. package/build/template-part/edit/advanced-controls.js +3 -1
  456. package/build/template-part/edit/advanced-controls.js.map +1 -1
  457. package/build/template-part/edit/index.js +1 -4
  458. package/build/template-part/edit/index.js.map +1 -1
  459. package/build/template-part/edit/inner-blocks.js +1 -1
  460. package/build/template-part/edit/inner-blocks.js.map +1 -1
  461. package/build/template-part/edit/placeholder/index.js +3 -3
  462. package/build/template-part/edit/placeholder/index.js.map +1 -1
  463. package/build/template-part/edit/placeholder/patterns-setup.js +3 -2
  464. package/build/template-part/edit/placeholder/patterns-setup.js.map +1 -1
  465. package/build/template-part/edit/selection/template-part-previews.js +1 -1
  466. package/build/template-part/edit/selection/template-part-previews.js.map +1 -1
  467. package/build/template-part/variations.js +1 -1
  468. package/build/template-part/variations.js.map +1 -1
  469. package/build/term-description/edit.js +1 -1
  470. package/build/term-description/edit.js.map +1 -1
  471. package/build/term-description/index.js +4 -1
  472. package/build/term-description/index.js.map +1 -1
  473. package/build/utils/clean-empty-object.js +31 -0
  474. package/build/utils/clean-empty-object.js.map +1 -0
  475. package/build/utils/migrate-font-family.js +49 -0
  476. package/build/utils/migrate-font-family.js.map +1 -0
  477. package/build/verse/deprecated.js +93 -14
  478. package/build/verse/deprecated.js.map +1 -1
  479. package/build/verse/index.js +10 -1
  480. package/build/verse/index.js.map +1 -1
  481. package/build/video/edit-common-settings.js +1 -1
  482. package/build/video/edit-common-settings.js.map +1 -1
  483. package/build/video/edit.js +10 -5
  484. package/build/video/edit.js.map +1 -1
  485. package/build/video/tracks-editor.js +3 -1
  486. package/build/video/tracks-editor.js.map +1 -1
  487. package/build-module/audio/edit.js +3 -3
  488. package/build-module/audio/edit.js.map +1 -1
  489. package/build-module/audio/edit.native.js +3 -3
  490. package/build-module/audio/edit.native.js.map +1 -1
  491. package/build-module/block/edit.js +1 -1
  492. package/build-module/block/edit.js.map +1 -1
  493. package/build-module/button/deprecated.js +155 -11
  494. package/build-module/button/deprecated.js.map +1 -1
  495. package/build-module/button/edit.js +101 -91
  496. package/build-module/button/edit.js.map +1 -1
  497. package/build-module/button/edit.native.js +260 -332
  498. package/build-module/button/edit.native.js.map +1 -1
  499. package/build-module/button/index.js +8 -2
  500. package/build-module/button/index.js.map +1 -1
  501. package/build-module/buttons/deprecated.js +78 -3
  502. package/build-module/buttons/deprecated.js.map +1 -1
  503. package/build-module/buttons/edit.js +8 -37
  504. package/build-module/buttons/edit.js.map +1 -1
  505. package/build-module/buttons/index.js +17 -13
  506. package/build-module/buttons/index.js.map +1 -1
  507. package/build-module/buttons/save.js +4 -18
  508. package/build-module/buttons/save.js.map +1 -1
  509. package/build-module/buttons/transforms.js +16 -10
  510. package/build-module/buttons/transforms.js.map +1 -1
  511. package/build-module/categories/edit.js +16 -6
  512. package/build-module/categories/edit.js.map +1 -1
  513. package/build-module/categories/index.js +4 -0
  514. package/build-module/categories/index.js.map +1 -1
  515. package/build-module/code/edit.native.js +9 -5
  516. package/build-module/code/edit.native.js.map +1 -1
  517. package/build-module/code/index.js +24 -1
  518. package/build-module/code/index.js.map +1 -1
  519. package/build-module/column/edit.js +4 -2
  520. package/build-module/column/edit.js.map +1 -1
  521. package/build-module/column/index.js +8 -1
  522. package/build-module/column/index.js.map +1 -1
  523. package/build-module/column/save.js +15 -5
  524. package/build-module/column/save.js.map +1 -1
  525. package/build-module/columns/edit.js +1 -1
  526. package/build-module/columns/edit.js.map +1 -1
  527. package/build-module/columns/edit.native.js +6 -3
  528. package/build-module/columns/edit.native.js.map +1 -1
  529. package/build-module/columns/index.js +11 -1
  530. package/build-module/columns/index.js.map +1 -1
  531. package/build-module/columns/save.js +5 -3
  532. package/build-module/columns/save.js.map +1 -1
  533. package/build-module/comment-author-avatar/edit.js +69 -0
  534. package/build-module/comment-author-avatar/edit.js.map +1 -0
  535. package/build-module/comment-author-avatar/index.js +52 -0
  536. package/build-module/comment-author-avatar/index.js.map +1 -0
  537. package/build-module/comment-author-name/deprecated.js +58 -0
  538. package/build-module/comment-author-name/deprecated.js.map +1 -0
  539. package/build-module/comment-author-name/edit.js +97 -0
  540. package/build-module/comment-author-name/edit.js.map +1 -0
  541. package/build-module/comment-author-name/index.js +63 -0
  542. package/build-module/comment-author-name/index.js.map +1 -0
  543. package/build-module/comment-content/edit.js +61 -0
  544. package/build-module/comment-content/edit.js.map +1 -0
  545. package/build-module/comment-content/index.js +55 -0
  546. package/build-module/comment-content/index.js.map +1 -0
  547. package/build-module/comment-date/deprecated.js +57 -0
  548. package/build-module/comment-date/deprecated.js.map +1 -0
  549. package/build-module/comment-date/edit.js +85 -0
  550. package/build-module/comment-date/edit.js.map +1 -0
  551. package/build-module/comment-date/index.js +58 -0
  552. package/build-module/comment-date/index.js.map +1 -0
  553. package/build-module/comment-edit-link/edit.js +48 -0
  554. package/build-module/comment-edit-link/edit.js.map +1 -0
  555. package/build-module/comment-edit-link/index.js +54 -0
  556. package/build-module/comment-edit-link/index.js.map +1 -0
  557. package/build-module/comment-reply-link/edit.js +50 -0
  558. package/build-module/comment-reply-link/edit.js.map +1 -0
  559. package/build-module/comment-reply-link/index.js +50 -0
  560. package/build-module/comment-reply-link/index.js.map +1 -0
  561. package/build-module/comment-template/edit.js +71 -0
  562. package/build-module/comment-template/edit.js.map +1 -0
  563. package/build-module/comment-template/index.js +35 -0
  564. package/build-module/comment-template/index.js.map +1 -0
  565. package/build-module/comment-template/save.js +10 -0
  566. package/build-module/comment-template/save.js.map +1 -0
  567. package/build-module/comments-query-loop/edit.js +50 -0
  568. package/build-module/comments-query-loop/edit.js.map +1 -0
  569. package/build-module/comments-query-loop/index.js +53 -0
  570. package/build-module/comments-query-loop/index.js.map +1 -0
  571. package/build-module/comments-query-loop/save.js +14 -0
  572. package/build-module/comments-query-loop/save.js.map +1 -0
  573. package/build-module/comments-query-loop/toolbar.js +44 -0
  574. package/build-module/comments-query-loop/toolbar.js.map +1 -0
  575. package/build-module/cover/deprecated.js +180 -45
  576. package/build-module/cover/deprecated.js.map +1 -1
  577. package/build-module/cover/edit.js +118 -55
  578. package/build-module/cover/edit.js.map +1 -1
  579. package/build-module/cover/edit.native.js +6 -2
  580. package/build-module/cover/edit.native.js.map +1 -1
  581. package/build-module/cover/index.js +23 -2
  582. package/build-module/cover/index.js.map +1 -1
  583. package/build-module/cover/save.js +20 -16
  584. package/build-module/cover/save.js.map +1 -1
  585. package/build-module/cover/shared.js +4 -2
  586. package/build-module/cover/shared.js.map +1 -1
  587. package/build-module/cover/transforms.js +4 -0
  588. package/build-module/cover/transforms.js.map +1 -1
  589. package/build-module/embed/edit.js +1 -5
  590. package/build-module/embed/edit.js.map +1 -1
  591. package/build-module/embed/edit.native.js +90 -32
  592. package/build-module/embed/edit.native.js.map +1 -1
  593. package/build-module/embed/embed-bottom-sheet.native.js +22 -21
  594. package/build-module/embed/embed-bottom-sheet.native.js.map +1 -1
  595. package/build-module/embed/embed-controls.js +4 -1
  596. package/build-module/embed/embed-controls.js.map +1 -1
  597. package/build-module/embed/embed-no-preview.native.js +24 -11
  598. package/build-module/embed/embed-no-preview.native.js.map +1 -1
  599. package/build-module/embed/embed-placeholder.native.js +51 -8
  600. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  601. package/build-module/embed/embed-preview.native.js +26 -11
  602. package/build-module/embed/embed-preview.native.js.map +1 -1
  603. package/build-module/embed/icons.js +13 -0
  604. package/build-module/embed/icons.js.map +1 -1
  605. package/build-module/embed/transforms.native.js +2 -1
  606. package/build-module/embed/transforms.native.js.map +1 -1
  607. package/build-module/embed/variations.js +21 -11
  608. package/build-module/embed/variations.js.map +1 -1
  609. package/build-module/embed/wp-embed-preview.js +39 -56
  610. package/build-module/embed/wp-embed-preview.js.map +1 -1
  611. package/build-module/embed/wp-embed-preview.native.js +83 -0
  612. package/build-module/embed/wp-embed-preview.native.js.map +1 -0
  613. package/build-module/file/deprecated.js +98 -0
  614. package/build-module/file/deprecated.js.map +1 -0
  615. package/build-module/file/edit.js +8 -1
  616. package/build-module/file/edit.js.map +1 -1
  617. package/build-module/file/index.js +8 -0
  618. package/build-module/file/index.js.map +1 -1
  619. package/build-module/file/inspector.js +1 -1
  620. package/build-module/file/inspector.js.map +1 -1
  621. package/build-module/file/save.js +4 -1
  622. package/build-module/file/save.js.map +1 -1
  623. package/build-module/file/transforms.js +2 -1
  624. package/build-module/file/transforms.js.map +1 -1
  625. package/build-module/freeform/edit.js +16 -5
  626. package/build-module/freeform/edit.js.map +1 -1
  627. package/build-module/gallery/constants.js +2 -2
  628. package/build-module/gallery/constants.js.map +1 -1
  629. package/build-module/gallery/deprecated.js +15 -7
  630. package/build-module/gallery/deprecated.js.map +1 -1
  631. package/build-module/gallery/edit-wrapper.js +50 -0
  632. package/build-module/gallery/edit-wrapper.js.map +1 -0
  633. package/build-module/gallery/edit.js +228 -234
  634. package/build-module/gallery/edit.js.map +1 -1
  635. package/build-module/gallery/gallery.js +70 -51
  636. package/build-module/gallery/gallery.js.map +1 -1
  637. package/build-module/gallery/gallery.native.js +43 -78
  638. package/build-module/gallery/gallery.native.js.map +1 -1
  639. package/build-module/gallery/index.js +35 -6
  640. package/build-module/gallery/index.js.map +1 -1
  641. package/build-module/gallery/save.js +27 -44
  642. package/build-module/gallery/save.js.map +1 -1
  643. package/build-module/gallery/shared.js +2 -2
  644. package/build-module/gallery/shared.js.map +1 -1
  645. package/build-module/gallery/transforms.js +207 -12
  646. package/build-module/gallery/transforms.js.map +1 -1
  647. package/build-module/gallery/use-get-media.js +42 -0
  648. package/build-module/gallery/use-get-media.js.map +1 -0
  649. package/build-module/gallery/use-get-new-images.js +50 -0
  650. package/build-module/gallery/use-get-new-images.js.map +1 -0
  651. package/build-module/gallery/use-image-sizes.js +64 -0
  652. package/build-module/gallery/use-image-sizes.js.map +1 -0
  653. package/build-module/gallery/use-mobile-warning.js +32 -0
  654. package/build-module/gallery/use-mobile-warning.js.map +1 -0
  655. package/build-module/gallery/use-short-code-transform.js +53 -0
  656. package/build-module/gallery/use-short-code-transform.js.map +1 -0
  657. package/build-module/gallery/utils.js +42 -0
  658. package/build-module/gallery/utils.js.map +1 -0
  659. package/build-module/gallery/v1/constants.js +4 -0
  660. package/build-module/gallery/v1/constants.js.map +1 -0
  661. package/build-module/gallery/v1/edit.js +430 -0
  662. package/build-module/gallery/v1/edit.js.map +1 -0
  663. package/build-module/gallery/{gallery-button.native.js → v1/gallery-button.native.js} +0 -0
  664. package/build-module/gallery/v1/gallery-button.native.js.map +1 -0
  665. package/build-module/gallery/{gallery-image.js → v1/gallery-image.js} +0 -0
  666. package/build-module/gallery/v1/gallery-image.js.map +1 -0
  667. package/build-module/gallery/{gallery-image.native.js → v1/gallery-image.native.js} +0 -0
  668. package/build-module/gallery/v1/gallery-image.native.js.map +1 -0
  669. package/build-module/gallery/v1/gallery.js +102 -0
  670. package/build-module/gallery/v1/gallery.js.map +1 -0
  671. package/build-module/gallery/v1/gallery.native.js +136 -0
  672. package/build-module/gallery/v1/gallery.native.js.map +1 -0
  673. package/build-module/gallery/v1/save.js +65 -0
  674. package/build-module/gallery/v1/save.js.map +1 -0
  675. package/build-module/gallery/v1/shared.js +16 -0
  676. package/build-module/gallery/v1/shared.js.map +1 -0
  677. package/build-module/gallery/{tiles.native.js → v1/tiles.native.js} +2 -1
  678. package/build-module/gallery/v1/tiles.native.js.map +1 -0
  679. package/build-module/gallery/v1/update-gallery-modal.js +93 -0
  680. package/build-module/gallery/v1/update-gallery-modal.js.map +1 -0
  681. package/build-module/group/edit.js +21 -6
  682. package/build-module/group/edit.js.map +1 -1
  683. package/build-module/group/index.js +8 -2
  684. package/build-module/group/index.js.map +1 -1
  685. package/build-module/group/save.js +5 -6
  686. package/build-module/group/save.js.map +1 -1
  687. package/build-module/group/variations.js +23 -0
  688. package/build-module/group/variations.js.map +1 -0
  689. package/build-module/heading/autogenerate-anchors.js +77 -0
  690. package/build-module/heading/autogenerate-anchors.js.map +1 -0
  691. package/build-module/heading/edit.js +43 -7
  692. package/build-module/heading/edit.js.map +1 -1
  693. package/build-module/heading/heading-level-dropdown.js +12 -37
  694. package/build-module/heading/heading-level-dropdown.js.map +1 -1
  695. package/build-module/heading/index.js +14 -2
  696. package/build-module/heading/index.js.map +1 -1
  697. package/build-module/heading/transforms.js +14 -2
  698. package/build-module/heading/transforms.js.map +1 -1
  699. package/build-module/home-link/edit.js +2 -2
  700. package/build-module/home-link/edit.js.map +1 -1
  701. package/build-module/image/edit.js +8 -6
  702. package/build-module/image/edit.js.map +1 -1
  703. package/build-module/image/edit.native.js +168 -74
  704. package/build-module/image/edit.native.js.map +1 -1
  705. package/build-module/image/image.js +11 -15
  706. package/build-module/image/image.js.map +1 -1
  707. package/build-module/image/index.js +1 -0
  708. package/build-module/image/index.js.map +1 -1
  709. package/build-module/image/transforms.js +27 -7
  710. package/build-module/image/transforms.js.map +1 -1
  711. package/build-module/image/utils.js +22 -1
  712. package/build-module/image/utils.js.map +1 -1
  713. package/build-module/index.js +59 -52
  714. package/build-module/index.js.map +1 -1
  715. package/build-module/index.native.js +1 -2
  716. package/build-module/index.native.js.map +1 -1
  717. package/build-module/latest-comments/edit.js +7 -1
  718. package/build-module/latest-comments/edit.js.map +1 -1
  719. package/build-module/latest-posts/edit.native.js +12 -6
  720. package/build-module/latest-posts/edit.native.js.map +1 -1
  721. package/build-module/list/deprecated.js +99 -0
  722. package/build-module/list/deprecated.js.map +1 -0
  723. package/build-module/list/index.js +14 -3
  724. package/build-module/list/index.js.map +1 -1
  725. package/build-module/media-text/edit.js +2 -2
  726. package/build-module/media-text/edit.js.map +1 -1
  727. package/build-module/media-text/index.js +2 -0
  728. package/build-module/media-text/index.js.map +1 -1
  729. package/build-module/media-text/save.js +4 -4
  730. package/build-module/media-text/save.js.map +1 -1
  731. package/build-module/navigation/deprecated.js +336 -23
  732. package/build-module/navigation/deprecated.js.map +1 -1
  733. package/build-module/navigation/edit/index.js +346 -0
  734. package/build-module/navigation/edit/index.js.map +1 -0
  735. package/build-module/navigation/edit/inner-blocks.js +87 -0
  736. package/build-module/navigation/edit/inner-blocks.js.map +1 -0
  737. package/build-module/navigation/edit/navigation-menu-delete-control.js +50 -0
  738. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -0
  739. package/build-module/navigation/edit/navigation-menu-name-control.js +17 -0
  740. package/build-module/navigation/edit/navigation-menu-name-control.js.map +1 -0
  741. package/build-module/navigation/edit/navigation-menu-name-modal.js +46 -0
  742. package/build-module/navigation/edit/navigation-menu-name-modal.js.map +1 -0
  743. package/build-module/navigation/edit/navigation-menu-publish-button.js +40 -0
  744. package/build-module/navigation/edit/navigation-menu-publish-button.js.map +1 -0
  745. package/build-module/navigation/edit/navigation-menu-selector.js +36 -0
  746. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -0
  747. package/build-module/navigation/edit/placeholder/index.js +189 -0
  748. package/build-module/navigation/edit/placeholder/index.js.map +1 -0
  749. package/build-module/navigation/{placeholder-preview.js → edit/placeholder/placeholder-preview.js} +14 -5
  750. package/build-module/navigation/edit/placeholder/placeholder-preview.js.map +1 -0
  751. package/build-module/navigation/{responsive-wrapper.js → edit/responsive-wrapper.js} +8 -3
  752. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -0
  753. package/build-module/navigation/edit/unsaved-inner-blocks.js +136 -0
  754. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -0
  755. package/build-module/navigation/edit/use-list-view-modal.js +62 -0
  756. package/build-module/navigation/edit/use-list-view-modal.js.map +1 -0
  757. package/build-module/navigation/index.js +27 -9
  758. package/build-module/navigation/index.js.map +1 -1
  759. package/build-module/navigation/menu-items-to-blocks.js +6 -5
  760. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  761. package/build-module/navigation/save.js +10 -1
  762. package/build-module/navigation/save.js.map +1 -1
  763. package/build-module/navigation/use-navigation-menu.js +31 -0
  764. package/build-module/navigation/use-navigation-menu.js.map +1 -0
  765. package/build-module/navigation/use-template-part-area-label.js +63 -0
  766. package/build-module/navigation/use-template-part-area-label.js.map +1 -0
  767. package/build-module/navigation/view.js +53 -2
  768. package/build-module/navigation/view.js.map +1 -1
  769. package/build-module/navigation-area/edit.js +82 -0
  770. package/build-module/navigation-area/edit.js.map +1 -0
  771. package/build-module/navigation-area/index.js +47 -0
  772. package/build-module/navigation-area/index.js.map +1 -0
  773. package/build-module/navigation-area/inner-blocks.js +25 -0
  774. package/build-module/navigation-area/inner-blocks.js.map +1 -0
  775. package/build-module/navigation-area/save.js +10 -0
  776. package/build-module/navigation-area/save.js.map +1 -0
  777. package/build-module/navigation-link/edit.js +128 -81
  778. package/build-module/navigation-link/edit.js.map +1 -1
  779. package/build-module/navigation-link/index.js +5 -2
  780. package/build-module/navigation-link/index.js.map +1 -1
  781. package/build-module/navigation-link/transforms.js +78 -0
  782. package/build-module/navigation-link/transforms.js.map +1 -0
  783. package/build-module/navigation-submenu/edit.js +628 -0
  784. package/build-module/navigation-submenu/edit.js.map +1 -0
  785. package/build-module/navigation-submenu/icons.js +17 -0
  786. package/build-module/navigation-submenu/icons.js.map +1 -0
  787. package/build-module/navigation-submenu/index.js +74 -0
  788. package/build-module/navigation-submenu/index.js.map +1 -0
  789. package/build-module/navigation-submenu/save.js +10 -0
  790. package/build-module/navigation-submenu/save.js.map +1 -0
  791. package/build-module/navigation-submenu/transforms.js +73 -0
  792. package/build-module/navigation-submenu/transforms.js.map +1 -0
  793. package/build-module/navigation-submenu/view.js +49 -0
  794. package/build-module/navigation-submenu/view.js.map +1 -0
  795. package/build-module/page-list/convert-to-links-modal.js +19 -1
  796. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  797. package/build-module/page-list/edit.js +126 -74
  798. package/build-module/page-list/edit.js.map +1 -1
  799. package/build-module/page-list/index.js +2 -27
  800. package/build-module/page-list/index.js.map +1 -1
  801. package/build-module/paragraph/edit.native.js +2 -1
  802. package/build-module/paragraph/edit.native.js.map +1 -1
  803. package/build-module/paragraph/index.js +8 -1
  804. package/build-module/paragraph/index.js.map +1 -1
  805. package/build-module/paragraph/transforms.js +8 -1
  806. package/build-module/paragraph/transforms.js.map +1 -1
  807. package/build-module/pattern/edit.js +35 -0
  808. package/build-module/pattern/edit.js.map +1 -0
  809. package/build-module/pattern/index.js +29 -0
  810. package/build-module/pattern/index.js.map +1 -0
  811. package/build-module/post-author/index.js +14 -2
  812. package/build-module/post-author/index.js.map +1 -1
  813. package/build-module/post-comment/edit.js +13 -12
  814. package/build-module/post-comment/edit.js.map +1 -1
  815. package/build-module/post-comment/index.js +4 -3
  816. package/build-module/post-comment/index.js.map +1 -1
  817. package/build-module/post-comment/save.js +4 -2
  818. package/build-module/post-comment/save.js.map +1 -1
  819. package/build-module/post-comments/index.js +8 -1
  820. package/build-module/post-comments/index.js.map +1 -1
  821. package/build-module/post-comments-count/index.js +7 -1
  822. package/build-module/post-comments-count/index.js.map +1 -1
  823. package/build-module/post-comments-form/index.js +9 -2
  824. package/build-module/post-comments-form/index.js.map +1 -1
  825. package/build-module/post-comments-link/index.js +8 -1
  826. package/build-module/post-comments-link/index.js.map +1 -1
  827. package/build-module/post-content/edit.js +2 -4
  828. package/build-module/post-content/edit.js.map +1 -1
  829. package/build-module/post-date/deprecated.js +60 -0
  830. package/build-module/post-date/deprecated.js.map +1 -0
  831. package/build-module/post-date/edit.js +36 -16
  832. package/build-module/post-date/edit.js.map +1 -1
  833. package/build-module/post-date/index.js +12 -2
  834. package/build-module/post-date/index.js.map +1 -1
  835. package/build-module/post-excerpt/edit.js +3 -2
  836. package/build-module/post-excerpt/edit.js.map +1 -1
  837. package/build-module/post-excerpt/index.js +12 -1
  838. package/build-module/post-excerpt/index.js.map +1 -1
  839. package/build-module/post-featured-image/dimension-controls.js +22 -11
  840. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  841. package/build-module/post-featured-image/index.js +10 -1
  842. package/build-module/post-featured-image/index.js.map +1 -1
  843. package/build-module/post-navigation-link/edit.js +19 -3
  844. package/build-module/post-navigation-link/edit.js.map +1 -1
  845. package/build-module/post-navigation-link/index.js +16 -1
  846. package/build-module/post-navigation-link/index.js.map +1 -1
  847. package/build-module/post-template/edit.js +10 -5
  848. package/build-module/post-template/edit.js.map +1 -1
  849. package/build-module/post-template/index.js +6 -3
  850. package/build-module/post-template/index.js.map +1 -1
  851. package/build-module/post-terms/edit.js +6 -8
  852. package/build-module/post-terms/edit.js.map +1 -1
  853. package/build-module/post-terms/index.js +8 -1
  854. package/build-module/post-terms/index.js.map +1 -1
  855. package/build-module/post-terms/use-post-terms.js +3 -1
  856. package/build-module/post-terms/use-post-terms.js.map +1 -1
  857. package/build-module/post-title/deprecated.js +73 -0
  858. package/build-module/post-title/deprecated.js.map +1 -0
  859. package/build-module/post-title/edit.js +3 -3
  860. package/build-module/post-title/edit.js.map +1 -1
  861. package/build-module/post-title/index.js +16 -2
  862. package/build-module/post-title/index.js.map +1 -1
  863. package/build-module/preformatted/edit.js +5 -2
  864. package/build-module/preformatted/edit.js.map +1 -1
  865. package/build-module/preformatted/edit.native.js +17 -6
  866. package/build-module/preformatted/edit.native.js.map +1 -1
  867. package/build-module/preformatted/index.js +9 -1
  868. package/build-module/preformatted/index.js.map +1 -1
  869. package/build-module/pullquote/blockquote.native.js +14 -2
  870. package/build-module/pullquote/blockquote.native.js.map +1 -1
  871. package/build-module/pullquote/edit.native.js +112 -0
  872. package/build-module/pullquote/edit.native.js.map +1 -0
  873. package/build-module/pullquote/figure.native.js +20 -9
  874. package/build-module/pullquote/figure.native.js.map +1 -1
  875. package/build-module/pullquote/index.js +12 -0
  876. package/build-module/pullquote/index.js.map +1 -1
  877. package/build-module/query/edit/index.js +4 -2
  878. package/build-module/query/edit/index.js.map +1 -1
  879. package/build-module/query/save.js +4 -2
  880. package/build-module/query/save.js.map +1 -1
  881. package/build-module/query/variations.js +4 -4
  882. package/build-module/query/variations.js.map +1 -1
  883. package/build-module/query-pagination/deprecated.js +15 -0
  884. package/build-module/query-pagination/deprecated.js.map +1 -0
  885. package/build-module/query-pagination/edit.js +52 -5
  886. package/build-module/query-pagination/edit.js.map +1 -1
  887. package/build-module/query-pagination/index.js +19 -1
  888. package/build-module/query-pagination/index.js.map +1 -1
  889. package/build-module/query-pagination/query-pagination-arrow-controls.js +29 -0
  890. package/build-module/query-pagination/query-pagination-arrow-controls.js.map +1 -0
  891. package/build-module/query-pagination/save.js +2 -2
  892. package/build-module/query-pagination/save.js.map +1 -1
  893. package/build-module/query-pagination-next/edit.js +18 -4
  894. package/build-module/query-pagination-next/edit.js.map +1 -1
  895. package/build-module/query-pagination-next/index.js +9 -2
  896. package/build-module/query-pagination-next/index.js.map +1 -1
  897. package/build-module/query-pagination-previous/edit.js +18 -4
  898. package/build-module/query-pagination-previous/edit.js.map +1 -1
  899. package/build-module/query-pagination-previous/index.js +9 -2
  900. package/build-module/query-pagination-previous/index.js.map +1 -1
  901. package/build-module/query-title/deprecated.js +59 -0
  902. package/build-module/query-title/deprecated.js.map +1 -0
  903. package/build-module/query-title/index.js +16 -2
  904. package/build-module/query-title/index.js.map +1 -1
  905. package/build-module/quote/deprecated.js +9 -0
  906. package/build-module/quote/deprecated.js.map +1 -1
  907. package/build-module/quote/index.js +17 -1
  908. package/build-module/quote/index.js.map +1 -1
  909. package/build-module/search/edit.js +28 -2
  910. package/build-module/search/edit.js.map +1 -1
  911. package/build-module/search/edit.native.js +38 -7
  912. package/build-module/search/edit.native.js.map +1 -1
  913. package/build-module/separator/separator-settings.js +1 -0
  914. package/build-module/separator/separator-settings.js.map +1 -1
  915. package/build-module/site-logo/edit.js +124 -56
  916. package/build-module/site-logo/edit.js.map +1 -1
  917. package/build-module/site-logo/index.js +13 -2
  918. package/build-module/site-logo/index.js.map +1 -1
  919. package/build-module/site-tagline/deprecated.js +57 -0
  920. package/build-module/site-tagline/deprecated.js.map +1 -0
  921. package/build-module/site-tagline/index.js +10 -2
  922. package/build-module/site-tagline/index.js.map +1 -1
  923. package/build-module/site-title/deprecated.js +70 -0
  924. package/build-module/site-title/deprecated.js.map +1 -0
  925. package/build-module/site-title/edit/index.js +25 -7
  926. package/build-module/site-title/edit/index.js.map +1 -1
  927. package/build-module/site-title/index.js +23 -4
  928. package/build-module/site-title/index.js.map +1 -1
  929. package/build-module/social-links/deprecated.js +106 -2
  930. package/build-module/social-links/deprecated.js.map +1 -1
  931. package/build-module/social-links/edit.js +17 -20
  932. package/build-module/social-links/edit.js.map +1 -1
  933. package/build-module/social-links/index.js +17 -1
  934. package/build-module/social-links/index.js.map +1 -1
  935. package/build-module/social-links/save.js +6 -6
  936. package/build-module/social-links/save.js.map +1 -1
  937. package/build-module/table/index.js +12 -1
  938. package/build-module/table/index.js.map +1 -1
  939. package/build-module/template-part/edit/advanced-controls.js +4 -2
  940. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  941. package/build-module/template-part/edit/index.js +1 -4
  942. package/build-module/template-part/edit/index.js.map +1 -1
  943. package/build-module/template-part/edit/inner-blocks.js +1 -1
  944. package/build-module/template-part/edit/inner-blocks.js.map +1 -1
  945. package/build-module/template-part/edit/placeholder/index.js +3 -3
  946. package/build-module/template-part/edit/placeholder/index.js.map +1 -1
  947. package/build-module/template-part/edit/placeholder/patterns-setup.js +3 -2
  948. package/build-module/template-part/edit/placeholder/patterns-setup.js.map +1 -1
  949. package/build-module/template-part/edit/selection/template-part-previews.js +1 -1
  950. package/build-module/template-part/edit/selection/template-part-previews.js.map +1 -1
  951. package/build-module/template-part/variations.js +2 -2
  952. package/build-module/template-part/variations.js.map +1 -1
  953. package/build-module/term-description/edit.js +1 -1
  954. package/build-module/term-description/edit.js.map +1 -1
  955. package/build-module/term-description/index.js +4 -1
  956. package/build-module/term-description/index.js.map +1 -1
  957. package/build-module/utils/clean-empty-object.js +22 -0
  958. package/build-module/utils/clean-empty-object.js.map +1 -0
  959. package/build-module/utils/migrate-font-family.js +38 -0
  960. package/build-module/utils/migrate-font-family.js.map +1 -0
  961. package/build-module/verse/deprecated.js +90 -15
  962. package/build-module/verse/deprecated.js.map +1 -1
  963. package/build-module/verse/index.js +10 -1
  964. package/build-module/verse/index.js.map +1 -1
  965. package/build-module/video/edit-common-settings.js +2 -2
  966. package/build-module/video/edit-common-settings.js.map +1 -1
  967. package/build-module/video/edit.js +10 -5
  968. package/build-module/video/edit.js.map +1 -1
  969. package/build-module/video/tracks-editor.js +2 -1
  970. package/build-module/video/tracks-editor.js.map +1 -1
  971. package/build-style/button/editor-rtl.css +0 -1
  972. package/build-style/button/editor.css +0 -1
  973. package/build-style/button/style-rtl.css +16 -28
  974. package/build-style/button/style.css +16 -28
  975. package/build-style/buttons/editor-rtl.css +4 -8
  976. package/build-style/buttons/editor.css +4 -8
  977. package/build-style/buttons/style-rtl.css +1 -35
  978. package/build-style/buttons/style.css +1 -48
  979. package/build-style/columns/editor-rtl.css +2 -2
  980. package/build-style/columns/editor.css +2 -2
  981. package/build-style/columns/style-rtl.css +5 -5
  982. package/build-style/columns/style.css +5 -5
  983. package/build-style/common-rtl.css +8 -15
  984. package/build-style/common.css +8 -15
  985. package/build-style/cover/editor-rtl.css +14 -32
  986. package/build-style/cover/editor.css +14 -32
  987. package/build-style/cover/style-rtl.css +28 -40
  988. package/build-style/cover/style.css +28 -40
  989. package/build-style/editor-rtl.css +383 -241
  990. package/build-style/editor.css +383 -241
  991. package/build-style/embed/style-rtl.css +1 -0
  992. package/build-style/embed/style.css +1 -0
  993. package/build-style/gallery/editor-rtl.css +89 -21
  994. package/build-style/gallery/editor.css +89 -21
  995. package/build-style/gallery/style-rtl.css +202 -39
  996. package/build-style/gallery/style.css +202 -39
  997. package/build-style/group/theme-rtl.css +1 -3
  998. package/build-style/group/theme.css +1 -3
  999. package/build-style/heading/style-rtl.css +8 -0
  1000. package/build-style/heading/style.css +8 -0
  1001. package/build-style/html/editor-rtl.css +12 -11
  1002. package/build-style/html/editor.css +12 -11
  1003. package/build-style/image/editor-rtl.css +1 -0
  1004. package/build-style/image/editor.css +1 -0
  1005. package/build-style/image/style-rtl.css +3 -0
  1006. package/build-style/image/style.css +3 -0
  1007. package/build-style/list/style-rtl.css +4 -0
  1008. package/build-style/list/style.css +4 -0
  1009. package/build-style/media-text/style-rtl.css +1 -0
  1010. package/build-style/media-text/style.css +1 -0
  1011. package/build-style/navigation/editor-rtl.css +69 -23
  1012. package/build-style/navigation/editor.css +69 -23
  1013. package/build-style/navigation/style-rtl.css +138 -194
  1014. package/build-style/navigation/style.css +138 -194
  1015. package/build-style/navigation-link/editor-rtl.css +50 -25
  1016. package/build-style/navigation-link/editor.css +50 -25
  1017. package/build-style/navigation-link/style-rtl.css +1 -1
  1018. package/build-style/navigation-link/style.css +1 -1
  1019. package/build-style/{post-author → navigation-submenu}/editor-rtl.css +27 -24
  1020. package/build-style/{post-author → navigation-submenu}/editor.css +27 -24
  1021. package/build-style/{heading/editor.css → navigation-submenu/style-rtl.css} +13 -7
  1022. package/build-style/{heading/editor-rtl.css → navigation-submenu/style.css} +13 -7
  1023. package/build-style/page-list/editor-rtl.css +8 -0
  1024. package/build-style/page-list/editor.css +8 -0
  1025. package/build-style/page-list/style-rtl.css +2 -23
  1026. package/build-style/page-list/style.css +2 -23
  1027. package/build-style/paragraph/style-rtl.css +5 -1
  1028. package/build-style/paragraph/style.css +5 -1
  1029. package/build-style/post-author/style-rtl.css +0 -1
  1030. package/build-style/post-author/style.css +0 -1
  1031. package/build-style/post-comments/style-rtl.css +21 -1
  1032. package/build-style/post-comments/style.css +21 -1
  1033. package/build-style/post-comments-form/style-rtl.css +29 -0
  1034. package/build-style/post-comments-form/style.css +29 -0
  1035. package/build-style/{query-title/editor-rtl.css → post-content/style-rtl.css} +2 -3
  1036. package/build-style/{query-title/editor.css → post-content/style.css} +2 -3
  1037. package/build-style/post-featured-image/editor-rtl.css +5 -9
  1038. package/build-style/post-featured-image/editor.css +5 -9
  1039. package/build-style/post-featured-image/style-rtl.css +1 -0
  1040. package/build-style/post-featured-image/style.css +1 -0
  1041. package/build-style/post-template/style-rtl.css +2 -0
  1042. package/build-style/post-template/style.css +2 -0
  1043. package/build-style/pullquote/style-rtl.css +1 -0
  1044. package/build-style/pullquote/style.css +1 -0
  1045. package/build-style/query-pagination/editor-rtl.css +2 -5
  1046. package/build-style/query-pagination/editor.css +2 -5
  1047. package/build-style/query-pagination/style-rtl.css +17 -6
  1048. package/build-style/query-pagination/style.css +17 -6
  1049. package/build-style/quote/style-rtl.css +3 -0
  1050. package/build-style/quote/style.css +3 -0
  1051. package/build-style/quote/theme-rtl.css +1 -1
  1052. package/build-style/quote/theme.css +1 -1
  1053. package/build-style/reset-rtl.css +2 -6
  1054. package/build-style/reset.css +2 -6
  1055. package/build-style/search/style-rtl.css +18 -6
  1056. package/build-style/search/style.css +18 -6
  1057. package/build-style/separator/style-rtl.css +0 -1
  1058. package/build-style/separator/style.css +0 -1
  1059. package/build-style/site-logo/editor-rtl.css +82 -14
  1060. package/build-style/site-logo/editor.css +82 -14
  1061. package/build-style/site-logo/style-rtl.css +6 -2
  1062. package/build-style/site-logo/style.css +6 -2
  1063. package/build-style/social-link/editor-rtl.css +4 -0
  1064. package/build-style/social-link/editor.css +4 -0
  1065. package/build-style/social-links/editor-rtl.css +4 -0
  1066. package/build-style/social-links/editor.css +4 -0
  1067. package/build-style/social-links/style-rtl.css +7 -6
  1068. package/build-style/social-links/style.css +7 -6
  1069. package/build-style/style-rtl.css +551 -407
  1070. package/build-style/style.css +551 -420
  1071. package/build-style/template-part/editor-rtl.css +0 -7
  1072. package/build-style/template-part/editor.css +0 -7
  1073. package/build-style/theme-rtl.css +2 -12
  1074. package/build-style/theme.css +2 -12
  1075. package/package.json +33 -33
  1076. package/src/audio/edit.js +6 -3
  1077. package/src/audio/edit.native.js +9 -3
  1078. package/src/audio/test/edit.native.js +4 -0
  1079. package/src/block/edit.js +1 -1
  1080. package/src/button/block.json +8 -2
  1081. package/src/button/deprecated.js +149 -4
  1082. package/src/button/edit.js +107 -115
  1083. package/src/button/edit.native.js +320 -364
  1084. package/src/button/editor.scss +0 -1
  1085. package/src/button/style.scss +19 -42
  1086. package/src/buttons/block.json +16 -10
  1087. package/src/buttons/deprecated.js +73 -3
  1088. package/src/buttons/edit.js +8 -48
  1089. package/src/buttons/editor.scss +8 -9
  1090. package/src/buttons/index.js +0 -2
  1091. package/src/buttons/save.js +4 -21
  1092. package/src/buttons/style.scss +1 -51
  1093. package/src/categories/block.json +4 -0
  1094. package/src/categories/edit.js +36 -18
  1095. package/src/categories/index.php +3 -0
  1096. package/src/code/block.json +24 -1
  1097. package/src/code/edit.native.js +12 -14
  1098. package/src/column/block.json +8 -1
  1099. package/src/column/edit.js +8 -2
  1100. package/src/column/save.js +20 -13
  1101. package/src/columns/block.json +9 -1
  1102. package/src/columns/edit.js +1 -1
  1103. package/src/columns/edit.native.js +8 -3
  1104. package/src/columns/editor.scss +2 -2
  1105. package/src/columns/index.js +1 -0
  1106. package/src/columns/save.js +5 -6
  1107. package/src/columns/style.scss +5 -5
  1108. package/src/comment-author-avatar/block.json +34 -0
  1109. package/src/comment-author-avatar/edit.js +96 -0
  1110. package/src/comment-author-avatar/index.js +18 -0
  1111. package/src/comment-author-avatar/index.php +62 -0
  1112. package/src/comment-author-name/block.json +43 -0
  1113. package/src/comment-author-name/deprecated.js +50 -0
  1114. package/src/comment-author-name/edit.js +124 -0
  1115. package/src/comment-author-name/index.js +20 -0
  1116. package/src/comment-author-name/index.php +57 -0
  1117. package/src/comment-content/block.json +37 -0
  1118. package/src/comment-content/edit.js +80 -0
  1119. package/src/{post-comment-content → comment-content}/index.js +1 -1
  1120. package/src/comment-content/index.php +56 -0
  1121. package/src/comment-date/block.json +38 -0
  1122. package/src/comment-date/deprecated.js +49 -0
  1123. package/src/comment-date/edit.js +106 -0
  1124. package/src/{post-comment-date → comment-date}/index.js +2 -0
  1125. package/src/comment-date/index.php +56 -0
  1126. package/src/comment-edit-link/block.json +36 -0
  1127. package/src/comment-edit-link/edit.js +68 -0
  1128. package/src/{post-comment-author → comment-edit-link}/index.js +5 -5
  1129. package/src/comment-edit-link/index.php +58 -0
  1130. package/src/comment-reply-link/block.json +32 -0
  1131. package/src/comment-reply-link/edit.js +59 -0
  1132. package/src/comment-reply-link/index.js +18 -0
  1133. package/src/comment-reply-link/index.php +80 -0
  1134. package/src/comment-template/block.json +15 -0
  1135. package/src/comment-template/edit.js +100 -0
  1136. package/src/comment-template/index.js +20 -0
  1137. package/src/comment-template/index.php +65 -0
  1138. package/src/comment-template/save.js +8 -0
  1139. package/src/comments-query-loop/block.json +33 -0
  1140. package/src/comments-query-loop/edit.js +53 -0
  1141. package/src/comments-query-loop/index.js +20 -0
  1142. package/src/comments-query-loop/save.js +14 -0
  1143. package/src/comments-query-loop/toolbar.js +57 -0
  1144. package/src/common.scss +3 -23
  1145. package/src/cover/block.json +23 -2
  1146. package/src/cover/deprecated.js +707 -537
  1147. package/src/cover/edit.js +152 -74
  1148. package/src/cover/edit.native.js +5 -1
  1149. package/src/cover/editor.scss +20 -38
  1150. package/src/cover/save.js +32 -27
  1151. package/src/cover/shared.js +4 -2
  1152. package/src/cover/style.scss +9 -7
  1153. package/src/cover/transforms.js +4 -2
  1154. package/src/editor.scss +5 -37
  1155. package/src/embed/edit.js +1 -11
  1156. package/src/embed/edit.native.js +126 -41
  1157. package/src/embed/embed-bottom-sheet.native.js +30 -25
  1158. package/src/embed/embed-controls.js +10 -1
  1159. package/src/embed/embed-no-preview.native.js +54 -14
  1160. package/src/embed/embed-placeholder.native.js +58 -9
  1161. package/src/embed/embed-preview.native.js +58 -41
  1162. package/src/embed/icons.js +11 -0
  1163. package/src/embed/style.scss +1 -0
  1164. package/src/embed/styles.native.scss +18 -8
  1165. package/src/embed/test/__snapshots__/index.native.js.snap +181 -0
  1166. package/src/embed/test/index.native.js +991 -0
  1167. package/src/embed/transforms.native.js +2 -0
  1168. package/src/embed/variations.js +21 -8
  1169. package/src/embed/wp-embed-preview.js +41 -62
  1170. package/src/embed/wp-embed-preview.native.js +80 -0
  1171. package/src/file/block.json +6 -0
  1172. package/src/file/deprecated.js +123 -0
  1173. package/src/file/edit.js +6 -0
  1174. package/src/file/index.js +2 -0
  1175. package/src/file/inspector.js +12 -10
  1176. package/src/file/save.js +3 -0
  1177. package/src/file/test/__snapshots__/edit.native.js.snap +10 -3
  1178. package/src/file/test/edit.native.js +4 -0
  1179. package/src/file/transforms.js +3 -1
  1180. package/src/freeform/edit.js +14 -4
  1181. package/src/gallery/block.json +23 -0
  1182. package/src/gallery/constants.js +2 -2
  1183. package/src/gallery/deprecated.js +15 -7
  1184. package/src/gallery/deprecated.scss +132 -0
  1185. package/src/gallery/edit-wrapper.js +47 -0
  1186. package/src/gallery/edit.js +323 -277
  1187. package/src/gallery/editor.scss +105 -22
  1188. package/src/gallery/gallery-styles.native.scss +4 -2
  1189. package/src/gallery/gallery.js +79 -71
  1190. package/src/gallery/gallery.native.js +49 -88
  1191. package/src/gallery/index.js +12 -6
  1192. package/src/gallery/index.php +52 -0
  1193. package/src/gallery/save.js +26 -60
  1194. package/src/gallery/shared.js +2 -2
  1195. package/src/gallery/style.scss +113 -75
  1196. package/src/gallery/transforms.js +212 -11
  1197. package/src/gallery/use-get-media.js +54 -0
  1198. package/src/gallery/use-get-new-images.js +68 -0
  1199. package/src/gallery/use-image-sizes.js +66 -0
  1200. package/src/gallery/use-mobile-warning.js +28 -0
  1201. package/src/gallery/use-short-code-transform.js +52 -0
  1202. package/src/gallery/utils.js +46 -0
  1203. package/src/gallery/v1/constants.js +3 -0
  1204. package/src/gallery/v1/edit.js +509 -0
  1205. package/src/gallery/{gallery-button.native.js → v1/gallery-button.native.js} +0 -0
  1206. package/src/gallery/{gallery-image-style.native.scss → v1/gallery-image-style.native.scss} +0 -0
  1207. package/src/gallery/{gallery-image.js → v1/gallery-image.js} +0 -0
  1208. package/src/gallery/{gallery-image.native.js → v1/gallery-image.native.js} +0 -0
  1209. package/src/gallery/v1/gallery-styles.native.scss +8 -0
  1210. package/src/gallery/v1/gallery.js +119 -0
  1211. package/src/gallery/v1/gallery.native.js +162 -0
  1212. package/src/gallery/v1/save.js +81 -0
  1213. package/src/gallery/v1/shared.js +19 -0
  1214. package/src/gallery/{tiles-styles.native.scss → v1/tiles-styles.native.scss} +0 -0
  1215. package/src/gallery/{tiles.native.js → v1/tiles.native.js} +2 -1
  1216. package/src/gallery/v1/update-gallery-modal.js +97 -0
  1217. package/src/group/block.json +5 -1
  1218. package/src/group/edit.js +32 -8
  1219. package/src/group/index.js +2 -0
  1220. package/src/group/save.js +3 -8
  1221. package/src/group/theme.scss +1 -3
  1222. package/src/group/variations.js +18 -0
  1223. package/src/heading/autogenerate-anchors.js +81 -0
  1224. package/src/heading/block.json +14 -2
  1225. package/src/heading/edit.js +42 -4
  1226. package/src/heading/heading-level-dropdown.js +26 -58
  1227. package/src/heading/style.scss +3 -0
  1228. package/src/home-link/edit.js +2 -2
  1229. package/src/home-link/index.php +4 -2
  1230. package/src/html/editor.scss +16 -10
  1231. package/src/image/block.json +1 -0
  1232. package/src/image/edit.js +9 -7
  1233. package/src/image/edit.native.js +183 -87
  1234. package/src/image/editor.scss +1 -0
  1235. package/src/image/image.js +10 -14
  1236. package/src/image/index.php +42 -0
  1237. package/src/image/style.scss +3 -0
  1238. package/src/image/styles.native.scss +5 -0
  1239. package/src/image/test/edit.native.js +225 -40
  1240. package/src/image/transforms.js +36 -9
  1241. package/src/image/utils.js +17 -1
  1242. package/src/index.js +96 -86
  1243. package/src/index.native.js +1 -1
  1244. package/src/latest-comments/edit.js +4 -0
  1245. package/src/latest-comments/index.php +2 -1
  1246. package/src/latest-posts/edit.native.js +10 -8
  1247. package/src/list/block.json +11 -2
  1248. package/src/list/deprecated.js +79 -0
  1249. package/src/list/index.js +2 -0
  1250. package/src/list/style.scss +8 -3
  1251. package/src/media-text/edit.js +2 -2
  1252. package/src/media-text/index.js +1 -0
  1253. package/src/media-text/save.js +6 -4
  1254. package/src/media-text/style.scss +1 -0
  1255. package/src/navigation/block.json +42 -9
  1256. package/src/navigation/deprecated.js +336 -27
  1257. package/src/navigation/edit/index.js +510 -0
  1258. package/src/navigation/edit/inner-blocks.js +134 -0
  1259. package/src/navigation/edit/navigation-menu-delete-control.js +81 -0
  1260. package/src/navigation/edit/navigation-menu-name-control.js +22 -0
  1261. package/src/navigation/edit/navigation-menu-name-modal.js +69 -0
  1262. package/src/navigation/edit/navigation-menu-publish-button.js +57 -0
  1263. package/src/navigation/edit/navigation-menu-selector.js +42 -0
  1264. package/src/navigation/edit/placeholder/index.js +257 -0
  1265. package/src/navigation/edit/placeholder/placeholder-preview.js +30 -0
  1266. package/src/navigation/{responsive-wrapper.js → edit/responsive-wrapper.js} +7 -1
  1267. package/src/navigation/edit/unsaved-inner-blocks.js +197 -0
  1268. package/src/navigation/edit/use-list-view-modal.js +72 -0
  1269. package/src/navigation/editor.scss +121 -48
  1270. package/src/navigation/index.js +0 -2
  1271. package/src/navigation/index.php +81 -15
  1272. package/src/navigation/menu-items-to-blocks.js +8 -7
  1273. package/src/navigation/save.js +7 -1
  1274. package/src/navigation/style.scss +195 -223
  1275. package/src/navigation/test/menu-items-to-blocks.js +6 -6
  1276. package/src/navigation/use-navigation-menu.js +60 -0
  1277. package/src/navigation/use-template-part-area-label.js +78 -0
  1278. package/src/navigation/view.js +74 -4
  1279. package/src/navigation-area/block.json +27 -0
  1280. package/src/navigation-area/edit.js +105 -0
  1281. package/src/navigation-area/index.js +26 -0
  1282. package/src/navigation-area/index.php +21 -0
  1283. package/src/navigation-area/inner-blocks.js +24 -0
  1284. package/src/navigation-area/save.js +8 -0
  1285. package/src/navigation-link/block.json +2 -1
  1286. package/src/navigation-link/edit.js +154 -96
  1287. package/src/navigation-link/editor.scss +57 -32
  1288. package/src/navigation-link/index.js +2 -0
  1289. package/src/navigation-link/index.php +13 -15
  1290. package/src/navigation-link/style.scss +1 -1
  1291. package/src/navigation-link/transforms.js +97 -0
  1292. package/src/navigation-submenu/block.json +65 -0
  1293. package/src/navigation-submenu/edit.js +662 -0
  1294. package/src/navigation-submenu/editor.scss +42 -0
  1295. package/src/navigation-submenu/icons.js +16 -0
  1296. package/src/navigation-submenu/index.js +29 -0
  1297. package/src/navigation-submenu/index.php +300 -0
  1298. package/src/navigation-submenu/save.js +8 -0
  1299. package/src/navigation-submenu/style.scss +20 -0
  1300. package/src/navigation-submenu/transforms.js +58 -0
  1301. package/src/navigation-submenu/view.js +62 -0
  1302. package/src/page-list/block.json +2 -25
  1303. package/src/page-list/convert-to-links-modal.js +20 -0
  1304. package/src/page-list/edit.js +168 -96
  1305. package/src/page-list/editor.scss +14 -0
  1306. package/src/page-list/index.php +71 -34
  1307. package/src/page-list/style.scss +2 -36
  1308. package/src/page-list/test/convert-to-links-modal.js +6 -6
  1309. package/src/paragraph/block.json +8 -1
  1310. package/src/paragraph/edit.native.js +1 -0
  1311. package/src/paragraph/style.scss +10 -1
  1312. package/src/pattern/block.json +17 -0
  1313. package/src/pattern/edit.js +41 -0
  1314. package/src/pattern/index.js +12 -0
  1315. package/src/pattern/index.php +44 -0
  1316. package/src/post-author/block.json +14 -2
  1317. package/src/post-author/style.scss +0 -1
  1318. package/src/post-comment/block.json +4 -3
  1319. package/src/post-comment/edit.js +23 -13
  1320. package/src/post-comment/save.js +4 -6
  1321. package/src/post-comments/block.json +8 -1
  1322. package/src/post-comments/index.php +12 -3
  1323. package/src/post-comments/style.scss +27 -1
  1324. package/src/post-comments-count/block.json +7 -1
  1325. package/src/post-comments-form/block.json +9 -2
  1326. package/src/post-comments-form/index.php +0 -14
  1327. package/src/post-comments-form/style.scss +47 -7
  1328. package/src/post-comments-link/block.json +8 -1
  1329. package/src/post-content/edit.js +2 -4
  1330. package/src/post-content/style.scss +4 -0
  1331. package/src/post-date/block.json +9 -1
  1332. package/src/post-date/deprecated.js +52 -0
  1333. package/src/post-date/edit.js +37 -23
  1334. package/src/post-date/index.js +2 -0
  1335. package/src/post-excerpt/block.json +12 -1
  1336. package/src/post-excerpt/edit.js +2 -7
  1337. package/src/post-excerpt/index.php +7 -1
  1338. package/src/post-featured-image/block.json +10 -1
  1339. package/src/post-featured-image/dimension-controls.js +43 -35
  1340. package/src/post-featured-image/editor.scss +5 -10
  1341. package/src/post-featured-image/style.scss +1 -0
  1342. package/src/post-navigation-link/block.json +16 -1
  1343. package/src/post-navigation-link/edit.js +29 -2
  1344. package/src/post-navigation-link/index.php +27 -3
  1345. package/src/post-template/block.json +4 -1
  1346. package/src/post-template/edit.js +8 -3
  1347. package/src/post-template/index.js +2 -2
  1348. package/src/post-template/style.scss +2 -0
  1349. package/src/post-terms/block.json +8 -1
  1350. package/src/post-terms/edit.js +5 -18
  1351. package/src/post-terms/use-post-terms.js +1 -1
  1352. package/src/post-title/block.json +13 -1
  1353. package/src/post-title/deprecated.js +65 -0
  1354. package/src/post-title/edit.js +4 -6
  1355. package/src/post-title/index.js +2 -0
  1356. package/src/post-title/index.php +8 -3
  1357. package/src/preformatted/block.json +9 -1
  1358. package/src/preformatted/edit.js +2 -1
  1359. package/src/preformatted/edit.native.js +20 -6
  1360. package/src/preformatted/styles.native.scss +5 -0
  1361. package/src/preformatted/test/__snapshots__/edit.native.js.snap +20 -2
  1362. package/src/pullquote/block.json +12 -0
  1363. package/src/pullquote/blockquote.native.js +12 -2
  1364. package/src/pullquote/edit.native.js +129 -0
  1365. package/src/pullquote/figure.native.js +17 -7
  1366. package/src/pullquote/style.scss +1 -0
  1367. package/src/query/edit/index.js +4 -4
  1368. package/src/query/save.js +4 -6
  1369. package/src/query/variations.js +4 -0
  1370. package/src/query-pagination/block.json +16 -0
  1371. package/src/query-pagination/deprecated.js +19 -0
  1372. package/src/query-pagination/edit.js +59 -4
  1373. package/src/query-pagination/editor.scss +3 -6
  1374. package/src/query-pagination/index.js +2 -0
  1375. package/src/query-pagination/index.php +24 -1
  1376. package/src/query-pagination/query-pagination-arrow-controls.js +44 -0
  1377. package/src/query-pagination/save.js +2 -6
  1378. package/src/query-pagination/style.scss +22 -5
  1379. package/src/query-pagination-next/block.json +9 -2
  1380. package/src/query-pagination-next/edit.js +30 -8
  1381. package/src/query-pagination-next/index.php +5 -1
  1382. package/src/query-pagination-previous/block.json +9 -2
  1383. package/src/query-pagination-previous/edit.js +30 -8
  1384. package/src/query-pagination-previous/index.php +5 -1
  1385. package/src/query-title/block.json +13 -1
  1386. package/src/query-title/deprecated.js +51 -0
  1387. package/src/query-title/index.js +2 -0
  1388. package/src/quote/block.json +15 -1
  1389. package/src/quote/deprecated.js +10 -0
  1390. package/src/quote/style.scss +2 -0
  1391. package/src/quote/theme.scss +1 -0
  1392. package/src/reset.scss +2 -10
  1393. package/src/search/edit.js +29 -0
  1394. package/src/search/edit.native.js +46 -12
  1395. package/src/search/index.php +12 -15
  1396. package/src/search/style.scss +54 -52
  1397. package/src/search/test/__snapshots__/edit.native.js.snap +40 -5
  1398. package/src/search/test/edit.native.js +4 -0
  1399. package/src/separator/separator-settings.js +1 -0
  1400. package/src/separator/style.scss +0 -1
  1401. package/src/site-logo/block.json +13 -2
  1402. package/src/site-logo/edit.js +150 -57
  1403. package/src/site-logo/editor.scss +101 -16
  1404. package/src/site-logo/index.php +30 -0
  1405. package/src/site-logo/style.scss +8 -2
  1406. package/src/site-tagline/block.json +7 -1
  1407. package/src/site-tagline/deprecated.js +49 -0
  1408. package/src/site-tagline/index.js +2 -0
  1409. package/src/site-title/block.json +20 -3
  1410. package/src/site-title/deprecated.js +62 -0
  1411. package/src/site-title/edit/index.js +36 -9
  1412. package/src/site-title/index.js +2 -0
  1413. package/src/site-title/index.php +15 -2
  1414. package/src/social-link/editor.scss +4 -0
  1415. package/src/social-links/block.json +23 -1
  1416. package/src/social-links/deprecated.js +99 -0
  1417. package/src/social-links/edit.js +15 -25
  1418. package/src/social-links/editor.scss +4 -0
  1419. package/src/social-links/save.js +5 -13
  1420. package/src/social-links/style.scss +8 -9
  1421. package/src/style.scss +2 -5
  1422. package/src/table/block.json +12 -1
  1423. package/src/template-part/edit/advanced-controls.js +3 -3
  1424. package/src/template-part/edit/index.js +0 -3
  1425. package/src/template-part/edit/inner-blocks.js +1 -1
  1426. package/src/template-part/edit/placeholder/index.js +5 -3
  1427. package/src/template-part/edit/placeholder/patterns-setup.js +3 -2
  1428. package/src/template-part/edit/selection/template-part-previews.js +3 -1
  1429. package/src/template-part/editor.scss +0 -16
  1430. package/src/template-part/index.php +4 -4
  1431. package/src/template-part/variations.js +2 -2
  1432. package/src/term-description/block.json +4 -1
  1433. package/src/term-description/edit.js +1 -1
  1434. package/src/theme.scss +0 -10
  1435. package/src/utils/clean-empty-object.js +23 -0
  1436. package/src/utils/migrate-font-family.js +37 -0
  1437. package/src/verse/block.json +10 -1
  1438. package/src/verse/deprecated.js +86 -25
  1439. package/src/video/edit-common-settings.js +2 -2
  1440. package/src/video/edit.js +15 -5
  1441. package/src/video/tracks-editor.js +2 -3
  1442. package/build/buttons/variations.js +0 -33
  1443. package/build/buttons/variations.js.map +0 -1
  1444. package/build/embed/embed-controls.native.js +0 -32
  1445. package/build/embed/embed-controls.native.js.map +0 -1
  1446. package/build/embed/variations.native.js +0 -10
  1447. package/build/embed/variations.native.js.map +0 -1
  1448. package/build/gallery/gallery-button.native.js.map +0 -1
  1449. package/build/gallery/gallery-image.js.map +0 -1
  1450. package/build/gallery/gallery-image.native.js.map +0 -1
  1451. package/build/gallery/tiles.native.js.map +0 -1
  1452. package/build/image/image-editing/aspect-ratio-dropdown.js +0 -126
  1453. package/build/image/image-editing/aspect-ratio-dropdown.js.map +0 -1
  1454. package/build/image/image-editing/constants.js +0 -16
  1455. package/build/image/image-editing/constants.js.map +0 -1
  1456. package/build/image/image-editing/context.js +0 -59
  1457. package/build/image/image-editing/context.js.map +0 -1
  1458. package/build/image/image-editing/cropper.js +0 -83
  1459. package/build/image/image-editing/cropper.js.map +0 -1
  1460. package/build/image/image-editing/form-controls.js +0 -36
  1461. package/build/image/image-editing/form-controls.js.map +0 -1
  1462. package/build/image/image-editing/index.js +0 -60
  1463. package/build/image/image-editing/index.js.map +0 -1
  1464. package/build/image/image-editing/rotation-button.js +0 -37
  1465. package/build/image/image-editing/rotation-button.js.map +0 -1
  1466. package/build/image/image-editing/use-save-image.js +0 -84
  1467. package/build/image/image-editing/use-save-image.js.map +0 -1
  1468. package/build/image/image-editing/use-transform-image.js +0 -135
  1469. package/build/image/image-editing/use-transform-image.js.map +0 -1
  1470. package/build/image/image-editing/zoom-dropdown.js +0 -55
  1471. package/build/image/image-editing/zoom-dropdown.js.map +0 -1
  1472. package/build/navigation/block-navigation-list.js +0 -30
  1473. package/build/navigation/block-navigation-list.js.map +0 -1
  1474. package/build/navigation/edit.js +0 -274
  1475. package/build/navigation/edit.js.map +0 -1
  1476. package/build/navigation/placeholder-preview.js.map +0 -1
  1477. package/build/navigation/placeholder.js +0 -129
  1478. package/build/navigation/placeholder.js.map +0 -1
  1479. package/build/navigation/responsive-wrapper.js.map +0 -1
  1480. package/build/navigation/use-block-navigator.js +0 -50
  1481. package/build/navigation/use-block-navigator.js.map +0 -1
  1482. package/build/navigation/variations.js +0 -33
  1483. package/build/navigation/variations.js.map +0 -1
  1484. package/build/post-comment-author/edit.js +0 -51
  1485. package/build/post-comment-author/edit.js.map +0 -1
  1486. package/build/post-comment-author/index.js.map +0 -1
  1487. package/build/post-comment-content/edit.js +0 -33
  1488. package/build/post-comment-content/edit.js.map +0 -1
  1489. package/build/post-comment-content/index.js.map +0 -1
  1490. package/build/post-comment-date/edit.js +0 -62
  1491. package/build/post-comment-date/edit.js.map +0 -1
  1492. package/build/post-comment-date/index.js.map +0 -1
  1493. package/build-module/buttons/variations.js +0 -24
  1494. package/build-module/buttons/variations.js.map +0 -1
  1495. package/build-module/embed/embed-controls.native.js +0 -21
  1496. package/build-module/embed/embed-controls.native.js.map +0 -1
  1497. package/build-module/embed/variations.native.js +0 -3
  1498. package/build-module/embed/variations.native.js.map +0 -1
  1499. package/build-module/gallery/gallery-button.native.js.map +0 -1
  1500. package/build-module/gallery/gallery-image.js.map +0 -1
  1501. package/build-module/gallery/gallery-image.native.js.map +0 -1
  1502. package/build-module/gallery/tiles.native.js.map +0 -1
  1503. package/build-module/image/image-editing/aspect-ratio-dropdown.js +0 -115
  1504. package/build-module/image/image-editing/aspect-ratio-dropdown.js.map +0 -1
  1505. package/build-module/image/image-editing/constants.js +0 -7
  1506. package/build-module/image/image-editing/constants.js.map +0 -1
  1507. package/build-module/image/image-editing/context.js +0 -44
  1508. package/build-module/image/image-editing/context.js.map +0 -1
  1509. package/build-module/image/image-editing/cropper.js +0 -69
  1510. package/build-module/image/image-editing/cropper.js.map +0 -1
  1511. package/build-module/image/image-editing/form-controls.js +0 -26
  1512. package/build-module/image/image-editing/form-controls.js.map +0 -1
  1513. package/build-module/image/image-editing/index.js +0 -37
  1514. package/build-module/image/image-editing/index.js.map +0 -1
  1515. package/build-module/image/image-editing/rotation-button.js +0 -26
  1516. package/build-module/image/image-editing/rotation-button.js.map +0 -1
  1517. package/build-module/image/image-editing/use-save-image.js +0 -70
  1518. package/build-module/image/image-editing/use-save-image.js.map +0 -1
  1519. package/build-module/image/image-editing/use-transform-image.js +0 -127
  1520. package/build-module/image/image-editing/use-transform-image.js.map +0 -1
  1521. package/build-module/image/image-editing/zoom-dropdown.js +0 -43
  1522. package/build-module/image/image-editing/zoom-dropdown.js.map +0 -1
  1523. package/build-module/navigation/block-navigation-list.js +0 -21
  1524. package/build-module/navigation/block-navigation-list.js.map +0 -1
  1525. package/build-module/navigation/edit.js +0 -254
  1526. package/build-module/navigation/edit.js.map +0 -1
  1527. package/build-module/navigation/placeholder-preview.js.map +0 -1
  1528. package/build-module/navigation/placeholder.js +0 -113
  1529. package/build-module/navigation/placeholder.js.map +0 -1
  1530. package/build-module/navigation/responsive-wrapper.js.map +0 -1
  1531. package/build-module/navigation/use-block-navigator.js +0 -38
  1532. package/build-module/navigation/use-block-navigator.js.map +0 -1
  1533. package/build-module/navigation/variations.js +0 -24
  1534. package/build-module/navigation/variations.js.map +0 -1
  1535. package/build-module/post-comment-author/edit.js +0 -40
  1536. package/build-module/post-comment-author/edit.js.map +0 -1
  1537. package/build-module/post-comment-author/index.js +0 -31
  1538. package/build-module/post-comment-author/index.js.map +0 -1
  1539. package/build-module/post-comment-content/edit.js +0 -24
  1540. package/build-module/post-comment-content/edit.js.map +0 -1
  1541. package/build-module/post-comment-content/index.js +0 -31
  1542. package/build-module/post-comment-content/index.js.map +0 -1
  1543. package/build-module/post-comment-date/edit.js +0 -52
  1544. package/build-module/post-comment-date/edit.js.map +0 -1
  1545. package/build-module/post-comment-date/index.js +0 -36
  1546. package/build-module/post-comment-date/index.js.map +0 -1
  1547. package/build-style/post-content/editor-rtl.css +0 -86
  1548. package/build-style/post-content/editor.css +0 -86
  1549. package/build-style/term-description/editor-rtl.css +0 -80
  1550. package/build-style/term-description/editor.css +0 -80
  1551. package/src/buttons/variations.js +0 -24
  1552. package/src/embed/embed-controls.native.js +0 -23
  1553. package/src/embed/variations.native.js +0 -3
  1554. package/src/heading/editor.scss +0 -20
  1555. package/src/image/image-editing/aspect-ratio-dropdown.js +0 -129
  1556. package/src/image/image-editing/constants.js +0 -6
  1557. package/src/image/image-editing/context.js +0 -56
  1558. package/src/image/image-editing/cropper.js +0 -74
  1559. package/src/image/image-editing/form-controls.js +0 -22
  1560. package/src/image/image-editing/index.js +0 -52
  1561. package/src/image/image-editing/rotation-button.js +0 -24
  1562. package/src/image/image-editing/use-save-image.js +0 -97
  1563. package/src/image/image-editing/use-transform-image.js +0 -162
  1564. package/src/image/image-editing/zoom-dropdown.js +0 -40
  1565. package/src/navigation/block-navigation-list.js +0 -29
  1566. package/src/navigation/edit.js +0 -368
  1567. package/src/navigation/placeholder-preview.js +0 -19
  1568. package/src/navigation/placeholder.js +0 -154
  1569. package/src/navigation/use-block-navigator.js +0 -45
  1570. package/src/navigation/variations.js +0 -24
  1571. package/src/post-author/editor.scss +0 -35
  1572. package/src/post-comment-author/block.json +0 -13
  1573. package/src/post-comment-author/edit.js +0 -32
  1574. package/src/post-comment-author/index.php +0 -41
  1575. package/src/post-comment-content/block.json +0 -13
  1576. package/src/post-comment-content/edit.js +0 -24
  1577. package/src/post-comment-content/index.php +0 -39
  1578. package/src/post-comment-date/block.json +0 -18
  1579. package/src/post-comment-date/edit.js +0 -54
  1580. package/src/post-comment-date/index.php +0 -44
  1581. package/src/post-content/editor.scss +0 -11
  1582. package/src/query-title/editor.scss +0 -4
  1583. package/src/term-description/editor.scss +0 -4
@@ -34,8 +34,6 @@ var _icons = require("@wordpress/icons");
34
34
 
35
35
  var _coreData = require("@wordpress/core-data");
36
36
 
37
- var _icons2 = require("./icons");
38
-
39
37
  /**
40
38
  * External dependencies
41
39
  */
@@ -93,12 +91,12 @@ const {
93
91
  usesContext: ["textColor", "customTextColor", "backgroundColor", "customBackgroundColor", "overlayTextColor", "customOverlayTextColor", "overlayBackgroundColor", "customOverlayBackgroundColor", "fontSize", "customFontSize", "showSubmenuIcon", "style"],
94
92
  supports: {
95
93
  reusable: false,
96
- html: false
94
+ html: false,
95
+ __experimentalSlashInserter: true
97
96
  },
98
97
  editorStyle: "wp-block-navigation-link-editor",
99
98
  style: "wp-block-navigation-link"
100
99
  };
101
- const ALLOWED_BLOCKS = ['core/navigation-link'];
102
100
  const MAX_NESTING = 5;
103
101
  /**
104
102
  * A React hook to determine if it's dragging within the target element.
@@ -298,6 +296,7 @@ const updateNavigationLinkBlockAttributes = (updatedValue = {}, setAttributes, b
298
296
  } = blockAttributes;
299
297
  const {
300
298
  title = '',
299
+ // the title of any provided Post.
301
300
  url = '',
302
301
  opensInNewTab,
303
302
  id,
@@ -334,9 +333,52 @@ const updateNavigationLinkBlockAttributes = (updatedValue = {}, setAttributes, b
334
333
  })
335
334
  });
336
335
  };
336
+ /**
337
+ * Removes HTML from a given string.
338
+ * Note the does not provide XSS protection or otherwise attempt
339
+ * to filter strings with malicious intent.
340
+ *
341
+ * See also: https://github.com/WordPress/gutenberg/pull/35539
342
+ *
343
+ * @param {string} html the string from which HTML should be removed.
344
+ * @return {string} the "cleaned" string.
345
+ */
346
+
337
347
 
338
348
  exports.updateNavigationLinkBlockAttributes = updateNavigationLinkBlockAttributes;
339
349
 
350
+ function navStripHTML(html) {
351
+ const doc = document.implementation.createHTMLDocument('');
352
+ doc.body.innerHTML = html;
353
+ return doc.body.textContent || '';
354
+ }
355
+ /**
356
+ * Add transforms to Link Control
357
+ */
358
+
359
+
360
+ function LinkControlTransforms({
361
+ block,
362
+ transforms,
363
+ replace
364
+ }) {
365
+ return (0, _element.createElement)("div", {
366
+ className: "link-control-transform"
367
+ }, (0, _element.createElement)("h3", {
368
+ className: "link-control-transform__subheading"
369
+ }, (0, _i18n.__)('Transform')), (0, _element.createElement)("div", {
370
+ className: "link-control-transform__items"
371
+ }, transforms.map((item, index) => {
372
+ return (0, _element.createElement)(_components.Button, {
373
+ key: `transform-${index}`,
374
+ onClick: () => replace(block.clientId, (0, _blocks.switchToBlockType)(block, item.name)),
375
+ className: "link-control-transform__item"
376
+ }, (0, _element.createElement)(_blockEditor.BlockIcon, {
377
+ icon: item.icon
378
+ }), item.title);
379
+ })));
380
+ }
381
+
340
382
  function NavigationLinkEdit({
341
383
  attributes,
342
384
  isSelected,
@@ -359,16 +401,16 @@ function NavigationLinkEdit({
359
401
  } = attributes;
360
402
  const link = {
361
403
  url,
362
- opensInNewTab
404
+ opensInNewTab,
405
+ title: label && navStripHTML(label) // don't allow HTML to display inside the <LinkControl>
406
+
363
407
  };
364
- const {
365
- showSubmenuIcon
366
- } = context;
367
408
  const {
368
409
  saveEntityRecord
369
410
  } = (0, _data.useDispatch)(_coreData.store);
370
411
  const {
371
- insertBlock
412
+ replaceBlock,
413
+ __unstableMarkNextChangeAsNotPersistent
372
414
  } = (0, _data.useDispatch)(_blockEditor.store);
373
415
  const [isLinkOpen, setIsLinkOpen] = (0, _element.useState)(false);
374
416
  const listItemRef = (0, _element.useRef)(null);
@@ -376,59 +418,81 @@ function NavigationLinkEdit({
376
418
  const itemLabelPlaceholder = (0, _i18n.__)('Add link…');
377
419
  const ref = (0, _element.useRef)();
378
420
  const {
421
+ innerBlocks,
379
422
  isAtMaxNesting,
380
423
  isTopLevelLink,
381
424
  isParentOfSelectedBlock,
382
- isImmediateParentOfSelectedBlock,
383
425
  hasDescendants,
384
- selectedBlockHasDescendants,
385
- numberOfDescendants,
386
426
  userCanCreatePages,
387
- userCanCreatePosts
427
+ userCanCreatePosts,
428
+ thisBlock,
429
+ blockTransforms
388
430
  } = (0, _data.useSelect)(select => {
389
431
  var _getClientIdsOfDescen;
390
432
 
391
433
  const {
434
+ getBlock,
435
+ getBlocks,
436
+ getBlockName,
437
+ getBlockRootClientId,
392
438
  getClientIdsOfDescendants,
393
439
  hasSelectedInnerBlock,
394
440
  getSelectedBlockClientId,
395
- getBlockParentsByBlockName
441
+ getBlockParentsByBlockName,
442
+ getBlockTransformItems
396
443
  } = select(_blockEditor.store);
397
444
  const selectedBlockId = getSelectedBlockClientId();
398
445
  const descendants = getClientIdsOfDescendants([clientId]).length;
399
446
  return {
400
- isAtMaxNesting: getBlockParentsByBlockName(clientId, name).length >= MAX_NESTING,
401
- isTopLevelLink: getBlockParentsByBlockName(clientId, name).length === 0,
447
+ innerBlocks: getBlocks(clientId),
448
+ isAtMaxNesting: getBlockParentsByBlockName(clientId, [name, 'core/navigation-submenu']).length >= MAX_NESTING,
449
+ isTopLevelLink: getBlockName(getBlockRootClientId(clientId)) === 'core/navigation',
402
450
  isParentOfSelectedBlock: hasSelectedInnerBlock(clientId, true),
403
451
  isImmediateParentOfSelectedBlock: hasSelectedInnerBlock(clientId, false),
404
452
  hasDescendants: !!descendants,
405
453
  selectedBlockHasDescendants: !!((_getClientIdsOfDescen = getClientIdsOfDescendants([selectedBlockId])) !== null && _getClientIdsOfDescen !== void 0 && _getClientIdsOfDescen.length),
406
- numberOfDescendants: descendants,
407
454
  userCanCreatePages: select(_coreData.store).canUser('create', 'pages'),
408
- userCanCreatePosts: select(_coreData.store).canUser('create', 'posts')
455
+ userCanCreatePosts: select(_coreData.store).canUser('create', 'posts'),
456
+ thisBlock: getBlock(clientId),
457
+ blockTransforms: getBlockTransformItems([getBlock(clientId)], getBlockRootClientId(clientId))
409
458
  };
410
- }, [clientId]); // Store the colors from context as attributes for rendering
459
+ }, [clientId]);
460
+ (0, _element.useEffect)(() => {
461
+ // This side-effect should not create an undo level as those should
462
+ // only be created via user interactions. Mark this change as
463
+ // not persistent to avoid undo level creation.
464
+ // See https://github.com/WordPress/gutenberg/issues/34564.
465
+ __unstableMarkNextChangeAsNotPersistent();
411
466
 
412
- (0, _element.useEffect)(() => setAttributes({
413
- isTopLevelLink
414
- }), [isTopLevelLink]);
467
+ setAttributes({
468
+ isTopLevelLink
469
+ });
470
+ }, [isTopLevelLink]);
415
471
  /**
416
- * Insert a link block when submenu is added.
472
+ * Transform to submenu block.
417
473
  */
418
474
 
419
- function insertLinkBlock() {
420
- const insertionPoint = numberOfDescendants;
421
- const blockToInsert = (0, _blocks.createBlock)('core/navigation-link');
422
- insertBlock(blockToInsert, insertionPoint, clientId);
423
- } // Show the LinkControl on mount if the URL is empty
424
- // ( When adding a new menu item)
425
- // This can't be done in the useState call because it conflicts
426
- // with the autofocus behavior of the BlockListBlock component.
427
-
475
+ function transformToSubmenu() {
476
+ const newSubmenu = (0, _blocks.createBlock)('core/navigation-submenu', attributes, innerBlocks);
477
+ replaceBlock(clientId, newSubmenu);
478
+ }
428
479
 
480
+ const featuredBlocks = ['core/site-logo', 'core/social-links', 'core/search'];
481
+ const featuredTransforms = blockTransforms.filter(item => {
482
+ return featuredBlocks.includes(item.name);
483
+ });
429
484
  (0, _element.useEffect)(() => {
485
+ // Show the LinkControl on mount if the URL is empty
486
+ // ( When adding a new menu item)
487
+ // This can't be done in the useState call because it conflicts
488
+ // with the autofocus behavior of the BlockListBlock component.
430
489
  if (!url) {
431
490
  setIsLinkOpen(true);
491
+ } // If block has inner blocks, transform to Submenu.
492
+
493
+
494
+ if (hasDescendants) {
495
+ transformToSubmenu();
432
496
  }
433
497
  }, []);
434
498
  /**
@@ -520,9 +584,16 @@ function NavigationLinkEdit({
520
584
  backgroundColor,
521
585
  customBackgroundColor
522
586
  } = getColors(context, !isTopLevelLink);
587
+
588
+ function onKeyDown(event) {
589
+ if (_keycodes.isKeyboardEvent.primary(event, 'k') || !url && event.keyCode === _keycodes.ENTER) {
590
+ setIsLinkOpen(true);
591
+ }
592
+ }
593
+
523
594
  const blockProps = (0, _blockEditor.useBlockProps)({
524
595
  ref: listItemRef,
525
- className: (0, _classnames.default)({
596
+ className: (0, _classnames.default)('wp-block-navigation-item', {
526
597
  'is-editing': isSelected || isParentOfSelectedBlock,
527
598
  'is-dragging-within': isDraggingWithin,
528
599
  'has-link': !!url,
@@ -535,33 +606,15 @@ function NavigationLinkEdit({
535
606
  style: {
536
607
  color: !textColor && customTextColor,
537
608
  backgroundColor: !backgroundColor && customBackgroundColor
538
- }
609
+ },
610
+ onKeyDown
539
611
  });
540
612
 
541
613
  if (!url) {
542
614
  blockProps.onClick = () => setIsLinkOpen(true);
543
- } // Always use overlay colors for submenus
544
-
615
+ }
545
616
 
546
- const innerBlocksColors = getColors(context, true);
547
- const innerBlocksProps = (0, _blockEditor.__experimentalUseInnerBlocksProps)({
548
- className: (0, _classnames.default)('wp-block-navigation-link__container', {
549
- 'is-parent-of-selected-block': isParentOfSelectedBlock,
550
- 'has-text-color': !!(innerBlocksColors.textColor || innerBlocksColors.customTextColor),
551
- [`has-${innerBlocksColors.textColor}-color`]: !!innerBlocksColors.textColor,
552
- 'has-background': !!(innerBlocksColors.backgroundColor || innerBlocksColors.customBackgroundColor),
553
- [`has-${innerBlocksColors.backgroundColor}-background-color`]: !!innerBlocksColors.backgroundColor
554
- }),
555
- style: {
556
- color: innerBlocksColors.customTextColor,
557
- backgroundColor: innerBlocksColors.customBackgroundColor
558
- }
559
- }, {
560
- allowedBlocks: ALLOWED_BLOCKS,
561
- renderAppender: isSelected && hasDescendants || isImmediateParentOfSelectedBlock && !selectedBlockHasDescendants || // Show the appender while dragging to allow inserting element between item and the appender.
562
- hasDescendants ? _blockEditor.InnerBlocks.DefaultAppender : false
563
- });
564
- const classes = (0, _classnames.default)('wp-block-navigation-link__content', {
617
+ const classes = (0, _classnames.default)('wp-block-navigation-item__content', {
565
618
  'wp-block-navigation-link__placeholder': !url
566
619
  });
567
620
  let missingText = '';
@@ -592,12 +645,7 @@ function NavigationLinkEdit({
592
645
  missingText = (0, _i18n.__)('Add link');
593
646
  }
594
647
 
595
- return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.BlockControls, null, (0, _element.createElement)(_components.ToolbarGroup, null, (0, _element.createElement)(_components.KeyboardShortcuts, {
596
- bindGlobal: true,
597
- shortcuts: {
598
- [_keycodes.rawShortcut.primary('k')]: () => setIsLinkOpen(true)
599
- }
600
- }), (0, _element.createElement)(_components.ToolbarButton, {
648
+ return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.BlockControls, null, (0, _element.createElement)(_components.ToolbarGroup, null, (0, _element.createElement)(_components.ToolbarButton, {
601
649
  name: "link",
602
650
  icon: _icons.link,
603
651
  title: (0, _i18n.__)('Link'),
@@ -607,7 +655,7 @@ function NavigationLinkEdit({
607
655
  name: "submenu",
608
656
  icon: _icons.addSubmenu,
609
657
  title: (0, _i18n.__)('Add submenu'),
610
- onClick: insertLinkBlock
658
+ onClick: transformToSubmenu
611
659
  }))), (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
612
660
  title: (0, _i18n.__)('Link settings')
613
661
  }, (0, _element.createElement)(_components.TextareaControl, {
@@ -641,14 +689,13 @@ function NavigationLinkEdit({
641
689
  className: classes
642
690
  }, !url ? (0, _element.createElement)("div", {
643
691
  className: "wp-block-navigation-link__placeholder-text"
644
- }, (0, _element.createElement)(_components.KeyboardShortcuts, {
645
- shortcuts: {
646
- enter: () => isSelected && setIsLinkOpen(true)
647
- }
648
- }), missingText) : (0, _element.createElement)(_blockEditor.RichText, {
692
+ }, (0, _element.createElement)(_components.Tooltip, {
693
+ position: "top center",
694
+ text: (0, _i18n.__)('This item is missing a link')
695
+ }, (0, _element.createElement)("span", null, missingText))) : (0, _element.createElement)(_blockEditor.RichText, {
649
696
  ref: ref,
650
697
  identifier: "label",
651
- className: "wp-block-navigation-link__label",
698
+ className: "wp-block-navigation-item__label",
652
699
  value: label,
653
700
  onChange: labelValue => setAttributes({
654
701
  label: labelValue
@@ -669,12 +716,8 @@ function NavigationLinkEdit({
669
716
  position: "bottom center",
670
717
  onClose: () => setIsLinkOpen(false),
671
718
  anchorRef: listItemRef.current
672
- }, (0, _element.createElement)(_components.KeyboardShortcuts, {
673
- bindGlobal: true,
674
- shortcuts: {
675
- escape: () => setIsLinkOpen(false)
676
- }
677
- }), (0, _element.createElement)(_blockEditor.__experimentalLinkControl, {
719
+ }, (0, _element.createElement)(_blockEditor.__experimentalLinkControl, {
720
+ hasTextControl: true,
678
721
  className: "wp-block-navigation-link__inline-link-input",
679
722
  value: link,
680
723
  showInitialSuggestions: true,
@@ -699,9 +742,12 @@ function NavigationLinkEdit({
699
742
  noURLSuggestion: !!type,
700
743
  suggestionsQuery: getSuggestionsQuery(type, kind),
701
744
  onChange: updatedValue => updateNavigationLinkBlockAttributes(updatedValue, setAttributes, attributes),
702
- onRemove: removeLink
703
- })), hasDescendants && showSubmenuIcon && (0, _element.createElement)("span", {
704
- className: "wp-block-navigation-link__submenu-icon"
705
- }, (0, _element.createElement)(_icons2.ItemSubmenuIcon, null))), (0, _element.createElement)("div", innerBlocksProps)));
745
+ onRemove: removeLink,
746
+ renderControlBottom: !url ? () => (0, _element.createElement)(LinkControlTransforms, {
747
+ block: thisBlock,
748
+ transforms: featuredTransforms,
749
+ replace: replaceBlock
750
+ }) : null
751
+ })))));
706
752
  }
707
753
  //# sourceMappingURL=edit.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation-link/edit.js"],"names":["ALLOWED_BLOCKS","MAX_NESTING","useIsDraggingWithin","elementRef","isDraggingWithin","setIsDraggingWithin","ownerDocument","current","handleDragStart","event","handleDragEnter","handleDragEnd","contains","target","addEventListener","removeEventListener","getSuggestionsQuery","type","kind","subtype","getColors","context","isSubMenu","textColor","customTextColor","backgroundColor","customBackgroundColor","overlayTextColor","customOverlayTextColor","overlayBackgroundColor","customOverlayBackgroundColor","style","colors","color","text","background","updateNavigationLinkBlockAttributes","updatedValue","setAttributes","blockAttributes","label","originalLabel","originalKind","originalType","title","url","opensInNewTab","id","newKind","newType","normalizedTitle","replace","normalizedURL","escapeTitle","isBuiltInType","indexOf","isCustomLink","encodeURI","undefined","Number","isInteger","NavigationLinkEdit","attributes","isSelected","insertBlocksAfter","mergeBlocks","onReplace","clientId","description","rel","link","showSubmenuIcon","saveEntityRecord","coreStore","insertBlock","blockEditorStore","isLinkOpen","setIsLinkOpen","listItemRef","itemLabelPlaceholder","ref","isAtMaxNesting","isTopLevelLink","isParentOfSelectedBlock","isImmediateParentOfSelectedBlock","hasDescendants","selectedBlockHasDescendants","numberOfDescendants","userCanCreatePages","userCanCreatePosts","select","getClientIdsOfDescendants","hasSelectedInnerBlock","getSelectedBlockClientId","getBlockParentsByBlockName","selectedBlockId","descendants","length","name","canUser","insertLinkBlock","insertionPoint","blockToInsert","test","selectLabelText","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","removeLink","userCanCreate","handleCreate","pageTitle","postType","page","status","rendered","blockProps","className","onClick","innerBlocksColors","innerBlocksProps","allowedBlocks","renderAppender","InnerBlocks","DefaultAppender","classes","missingText","rawShortcut","primary","linkIcon","displayShortcut","addSubmenu","descriptionValue","titleValue","relValue","enter","labelValue","escape","searchTerm","format","mark"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { escape } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tKeyboardShortcuts,\n\tPanelBody,\n\tPopover,\n\tTextControl,\n\tTextareaControl,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { rawShortcut, displayShortcut } from '@wordpress/keycodes';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tInnerBlocks,\n\t__experimentalUseInnerBlocksProps as useInnerBlocksProps,\n\tInspectorControls,\n\tRichText,\n\t__experimentalLinkControl as LinkControl,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tgetColorClassName,\n} from '@wordpress/block-editor';\nimport { isURL, prependHTTP, safeDecodeURI } from '@wordpress/url';\nimport {\n\tFragment,\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tcreateInterpolateElement,\n} from '@wordpress/element';\nimport { placeCaretAtHorizontalEdge } from '@wordpress/dom';\nimport { link as linkIcon, addSubmenu } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { ItemSubmenuIcon } from './icons';\nimport { name } from './block.json';\n\nconst ALLOWED_BLOCKS = [ 'core/navigation-link' ];\n\nconst MAX_NESTING = 5;\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 * 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 */\nfunction 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}\n}\n\n/**\n * Determine the colors for a menu.\n *\n * Order of priority is:\n * 1: Overlay custom colors (if submenu)\n * 2: Overlay theme colors (if submenu)\n * 3: Custom colors\n * 4: Theme colors\n * 5: Global styles\n *\n * @param {Object} context\n * @param {boolean} isSubMenu\n */\nfunction getColors( context, isSubMenu ) {\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t\toverlayTextColor,\n\t\tcustomOverlayTextColor,\n\t\toverlayBackgroundColor,\n\t\tcustomOverlayBackgroundColor,\n\t\tstyle,\n\t} = context;\n\n\tconst colors = {};\n\n\tif ( isSubMenu && !! customOverlayTextColor ) {\n\t\tcolors.customTextColor = customOverlayTextColor;\n\t} else if ( isSubMenu && !! overlayTextColor ) {\n\t\tcolors.textColor = overlayTextColor;\n\t} else if ( !! customTextColor ) {\n\t\tcolors.customTextColor = customTextColor;\n\t} else if ( !! textColor ) {\n\t\tcolors.textColor = textColor;\n\t} else if ( !! style?.color?.text ) {\n\t\tcolors.customTextColor = style.color.text;\n\t}\n\n\tif ( isSubMenu && !! customOverlayBackgroundColor ) {\n\t\tcolors.customBackgroundColor = customOverlayBackgroundColor;\n\t} else if ( isSubMenu && !! overlayBackgroundColor ) {\n\t\tcolors.backgroundColor = overlayBackgroundColor;\n\t} else if ( !! customBackgroundColor ) {\n\t\tcolors.customBackgroundColor = customBackgroundColor;\n\t} else if ( !! backgroundColor ) {\n\t\tcolors.backgroundColor = backgroundColor;\n\t} else if ( !! style?.color?.background ) {\n\t\tcolors.customTextColor = style.color.background;\n\t}\n\n\treturn colors;\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\n/**\n * Link Control onChange handler that updates block attributes when a setting is changed.\n *\n * @param {Object} updatedValue New block attributes to update.\n * @param {Function} setAttributes Block attribute update function.\n * @param {WPNavigationLinkBlockAttributes} blockAttributes Current block attributes.\n *\n */\nexport const updateNavigationLinkBlockAttributes = (\n\tupdatedValue = {},\n\tsetAttributes,\n\tblockAttributes = {}\n) => {\n\tconst {\n\t\tlabel: originalLabel = '',\n\t\tkind: originalKind = '',\n\t\ttype: originalType = '',\n\t} = blockAttributes;\n\tconst {\n\t\ttitle = '',\n\t\turl = '',\n\t\topensInNewTab,\n\t\tid,\n\t\tkind: newKind = originalKind,\n\t\ttype: newType = originalType,\n\t} = updatedValue;\n\n\tconst normalizedTitle = title.replace( /http(s?):\\/\\//gi, '' );\n\tconst normalizedURL = url.replace( /http(s?):\\/\\//gi, '' );\n\tconst escapeTitle =\n\t\ttitle !== '' &&\n\t\tnormalizedTitle !== normalizedURL &&\n\t\toriginalLabel !== title;\n\tconst label = escapeTitle\n\t\t? escape( title )\n\t\t: originalLabel || escape( normalizedURL );\n\n\t// In https://github.com/WordPress/gutenberg/pull/24670 we decided to use \"tag\" in favor of \"post_tag\"\n\tconst type = newType === 'post_tag' ? 'tag' : newType.replace( '-', '_' );\n\n\tconst isBuiltInType =\n\t\t[ 'post', 'page', 'tag', 'category' ].indexOf( type ) > -1;\n\n\tconst isCustomLink =\n\t\t( ! newKind && ! isBuiltInType ) || newKind === 'custom';\n\tconst kind = isCustomLink ? 'custom' : newKind;\n\n\tsetAttributes( {\n\t\t// Passed `url` may already be encoded. To prevent double encoding, decodeURI is executed to revert to the original string.\n\t\t...( url && { url: encodeURI( safeDecodeURI( url ) ) } ),\n\t\t...( label && { label } ),\n\t\t...( undefined !== opensInNewTab && { opensInNewTab } ),\n\t\t...( id && Number.isInteger( id ) && { id } ),\n\t\t...( kind && { kind } ),\n\t\t...( type && type !== 'URL' && { type } ),\n\t} );\n};\n\nexport default function NavigationLinkEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst {\n\t\tlabel,\n\t\ttype,\n\t\topensInNewTab,\n\t\turl,\n\t\tdescription,\n\t\trel,\n\t\ttitle,\n\t\tkind,\n\t} = attributes;\n\tconst link = {\n\t\turl,\n\t\topensInNewTab,\n\t};\n\tconst { showSubmenuIcon } = context;\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { insertBlock } = useDispatch( blockEditorStore );\n\tconst [ isLinkOpen, setIsLinkOpen ] = useState( false );\n\tconst listItemRef = useRef( null );\n\tconst isDraggingWithin = useIsDraggingWithin( listItemRef );\n\tconst itemLabelPlaceholder = __( 'Add link…' );\n\tconst ref = useRef();\n\n\tconst {\n\t\tisAtMaxNesting,\n\t\tisTopLevelLink,\n\t\tisParentOfSelectedBlock,\n\t\tisImmediateParentOfSelectedBlock,\n\t\thasDescendants,\n\t\tselectedBlockHasDescendants,\n\t\tnumberOfDescendants,\n\t\tuserCanCreatePages,\n\t\tuserCanCreatePosts,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetClientIdsOfDescendants,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst selectedBlockId = getSelectedBlockClientId();\n\n\t\t\tconst descendants = getClientIdsOfDescendants( [ clientId ] )\n\t\t\t\t.length;\n\n\t\t\treturn {\n\t\t\t\tisAtMaxNesting:\n\t\t\t\t\tgetBlockParentsByBlockName( clientId, name ).length >=\n\t\t\t\t\tMAX_NESTING,\n\t\t\t\tisTopLevelLink:\n\t\t\t\t\tgetBlockParentsByBlockName( clientId, name ).length === 0,\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\thasDescendants: !! descendants,\n\t\t\t\tselectedBlockHasDescendants: !! getClientIdsOfDescendants( [\n\t\t\t\t\tselectedBlockId,\n\t\t\t\t] )?.length,\n\t\t\t\tnumberOfDescendants: descendants,\n\t\t\t\tuserCanCreatePages: select( coreStore ).canUser(\n\t\t\t\t\t'create',\n\t\t\t\t\t'pages'\n\t\t\t\t),\n\t\t\t\tuserCanCreatePosts: select( coreStore ).canUser(\n\t\t\t\t\t'create',\n\t\t\t\t\t'posts'\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\t// Store the colors from context as attributes for rendering\n\tuseEffect( () => setAttributes( { isTopLevelLink } ), [ isTopLevelLink ] );\n\n\t/**\n\t * Insert a link block when submenu is added.\n\t */\n\tfunction insertLinkBlock() {\n\t\tconst insertionPoint = numberOfDescendants;\n\t\tconst blockToInsert = createBlock( 'core/navigation-link' );\n\t\tinsertBlock( blockToInsert, insertionPoint, clientId );\n\t}\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 ( ! 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} else {\n\t\t\t\t// Focus it (but do not select).\n\t\t\t\tplaceCaretAtHorizontalEdge( ref.current, true );\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\t/**\n\t * Removes the current link if set.\n\t */\n\tfunction removeLink() {\n\t\t// Reset all attributes that comprise the link.\n\t\tsetAttributes( {\n\t\t\turl: '',\n\t\t\tlabel: '',\n\t\t\tid: '',\n\t\t\tkind: '',\n\t\t\ttype: '',\n\t\t} );\n\n\t\t// Close the link editing UI.\n\t\tsetIsLinkOpen( false );\n\t}\n\n\tlet userCanCreate = false;\n\tif ( ! type || type === 'page' ) {\n\t\tuserCanCreate = userCanCreatePages;\n\t} else if ( type === 'post' ) {\n\t\tuserCanCreate = userCanCreatePosts;\n\t}\n\n\tasync function handleCreate( pageTitle ) {\n\t\tconst postType = 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\ttitle: page.title.rendered,\n\t\t\turl: page.link,\n\t\t\tkind: 'post-type',\n\t\t};\n\t}\n\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t} = getColors( context, ! isTopLevelLink );\n\n\tconst blockProps = useBlockProps( {\n\t\tref: listItemRef,\n\t\tclassName: classnames( {\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': hasDescendants,\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(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t) ]: !! backgroundColor,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor && customTextColor,\n\t\t\tbackgroundColor: ! backgroundColor && customBackgroundColor,\n\t\t},\n\t} );\n\n\tif ( ! url ) {\n\t\tblockProps.onClick = () => setIsLinkOpen( true );\n\t}\n\n\t// Always use overlay colors for submenus\n\tconst innerBlocksColors = getColors( context, true );\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: classnames( 'wp-block-navigation-link__container', {\n\t\t\t\t'is-parent-of-selected-block': isParentOfSelectedBlock,\n\t\t\t\t'has-text-color': !! (\n\t\t\t\t\tinnerBlocksColors.textColor ||\n\t\t\t\t\tinnerBlocksColors.customTextColor\n\t\t\t\t),\n\t\t\t\t[ `has-${ innerBlocksColors.textColor }-color` ]: !! innerBlocksColors.textColor,\n\t\t\t\t'has-background': !! (\n\t\t\t\t\tinnerBlocksColors.backgroundColor ||\n\t\t\t\t\tinnerBlocksColors.customBackgroundColor\n\t\t\t\t),\n\t\t\t\t[ `has-${ innerBlocksColors.backgroundColor }-background-color` ]: !! innerBlocksColors.backgroundColor,\n\t\t\t} ),\n\t\t\tstyle: {\n\t\t\t\tcolor: innerBlocksColors.customTextColor,\n\t\t\t\tbackgroundColor: innerBlocksColors.customBackgroundColor,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\t\trenderAppender:\n\t\t\t\t( isSelected && hasDescendants ) ||\n\t\t\t\t( isImmediateParentOfSelectedBlock &&\n\t\t\t\t\t! selectedBlockHasDescendants ) ||\n\t\t\t\t// Show the appender while dragging to allow inserting element between item and the appender.\n\t\t\t\thasDescendants\n\t\t\t\t\t? InnerBlocks.DefaultAppender\n\t\t\t\t\t: false,\n\t\t}\n\t);\n\n\tconst classes = classnames( 'wp-block-navigation-link__content', {\n\t\t'wp-block-navigation-link__placeholder': ! url,\n\t} );\n\n\tlet missingText = '';\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\t\t/* translators: label for missing post in navigation link block */\n\t\t\tmissingText = __( 'Select post' );\n\t\t\tbreak;\n\t\tcase 'page':\n\t\t\t/* translators: label for missing page in navigation link block */\n\t\t\tmissingText = __( 'Select page' );\n\t\t\tbreak;\n\t\tcase 'category':\n\t\t\t/* translators: label for missing category in navigation link block */\n\t\t\tmissingText = __( 'Select category' );\n\t\t\tbreak;\n\t\tcase 'tag':\n\t\t\t/* translators: label for missing tag in navigation link block */\n\t\t\tmissingText = __( 'Select tag' );\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t/* translators: label for missing values in navigation link block */\n\t\t\tmissingText = __( 'Add link' );\n\t}\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\t\tbindGlobal\n\t\t\t\t\t\tshortcuts={ {\n\t\t\t\t\t\t\t[ rawShortcut.primary( 'k' ) ]: () =>\n\t\t\t\t\t\t\t\tsetIsLinkOpen( true ),\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ () => setIsLinkOpen( true ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isAtMaxNesting && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"submenu\"\n\t\t\t\t\t\t\ticon={ addSubmenu }\n\t\t\t\t\t\t\ttitle={ __( 'Add submenu' ) }\n\t\t\t\t\t\t\tonClick={ insertLinkBlock }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\tvalue={ description || '' }\n\t\t\t\t\t\tonChange={ ( descriptionValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { description: descriptionValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'The description will be displayed in the menu if the current theme supports it.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\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={ __( 'Link title' ) }\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\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={ __( 'Link rel' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ /* eslint-disable jsx-a11y/anchor-is-valid */ }\n\t\t\t\t<a className={ classes }>\n\t\t\t\t\t{ /* eslint-enable */ }\n\t\t\t\t\t{ ! url ? (\n\t\t\t\t\t\t<div className=\"wp-block-navigation-link__placeholder-text\">\n\t\t\t\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\t\t\t\tshortcuts={ {\n\t\t\t\t\t\t\t\t\tenter: () =>\n\t\t\t\t\t\t\t\t\t\tisSelected && setIsLinkOpen( true ),\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ missingText }\n\t\t\t\t\t\t</div>\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-link__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\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\tcreateBlock( 'core/navigation-link' )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\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 ( ! url ) {\n\t\t\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isLinkOpen && (\n\t\t\t\t\t\t<Popover\n\t\t\t\t\t\t\tposition=\"bottom center\"\n\t\t\t\t\t\t\tonClose={ () => setIsLinkOpen( false ) }\n\t\t\t\t\t\t\tanchorRef={ listItemRef.current }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\t\t\t\tbindGlobal\n\t\t\t\t\t\t\t\tshortcuts={ {\n\t\t\t\t\t\t\t\t\tescape: () => setIsLinkOpen( false ),\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-link__inline-link-input\"\n\t\t\t\t\t\t\t\tvalue={ link }\n\t\t\t\t\t\t\t\tshowInitialSuggestions={ true }\n\t\t\t\t\t\t\t\twithCreateSuggestion={ userCanCreate }\n\t\t\t\t\t\t\t\tcreateSuggestion={ handleCreate }\n\t\t\t\t\t\t\t\tcreateSuggestionButtonText={ ( searchTerm ) => {\n\t\t\t\t\t\t\t\t\tlet format;\n\t\t\t\t\t\t\t\t\tif ( type === 'post' ) {\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\t\t\tformat = __(\n\t\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\t);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\t\t\tformat = __(\n\t\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\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn createInterpolateElement(\n\t\t\t\t\t\t\t\t\t\tsprintf( format, searchTerm ),\n\t\t\t\t\t\t\t\t\t\t{ mark: <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\tnoDirectEntry={ !! type }\n\t\t\t\t\t\t\t\tnoURLSuggestion={ !! type }\n\t\t\t\t\t\t\t\tsuggestionsQuery={ getSuggestionsQuery(\n\t\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\t\tkind\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ ( updatedValue ) =>\n\t\t\t\t\t\t\t\t\tupdateNavigationLinkBlockAttributes(\n\t\t\t\t\t\t\t\t\t\tupdatedValue,\n\t\t\t\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\t\t\t\tattributes\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\tonRemove={ removeLink }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Popover>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasDescendants && showSubmenuIcon && (\n\t\t\t\t\t\t<span className=\"wp-block-navigation-link__submenu-icon\">\n\t\t\t\t\t\t\t<ItemSubmenuIcon />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</a>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</Fragment>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation-link/edit.js"],"names":["MAX_NESTING","useIsDraggingWithin","elementRef","isDraggingWithin","setIsDraggingWithin","ownerDocument","current","handleDragStart","event","handleDragEnter","handleDragEnd","contains","target","addEventListener","removeEventListener","getSuggestionsQuery","type","kind","subtype","getColors","context","isSubMenu","textColor","customTextColor","backgroundColor","customBackgroundColor","overlayTextColor","customOverlayTextColor","overlayBackgroundColor","customOverlayBackgroundColor","style","colors","color","text","background","updateNavigationLinkBlockAttributes","updatedValue","setAttributes","blockAttributes","label","originalLabel","originalKind","originalType","title","url","opensInNewTab","id","newKind","newType","normalizedTitle","replace","normalizedURL","escapeTitle","isBuiltInType","indexOf","isCustomLink","encodeURI","undefined","Number","isInteger","navStripHTML","html","doc","document","implementation","createHTMLDocument","body","innerHTML","textContent","LinkControlTransforms","block","transforms","map","item","index","clientId","name","icon","NavigationLinkEdit","attributes","isSelected","insertBlocksAfter","mergeBlocks","onReplace","description","rel","link","saveEntityRecord","coreStore","replaceBlock","__unstableMarkNextChangeAsNotPersistent","blockEditorStore","isLinkOpen","setIsLinkOpen","listItemRef","itemLabelPlaceholder","ref","innerBlocks","isAtMaxNesting","isTopLevelLink","isParentOfSelectedBlock","hasDescendants","userCanCreatePages","userCanCreatePosts","thisBlock","blockTransforms","select","getBlock","getBlocks","getBlockName","getBlockRootClientId","getClientIdsOfDescendants","hasSelectedInnerBlock","getSelectedBlockClientId","getBlockParentsByBlockName","getBlockTransformItems","selectedBlockId","descendants","length","isImmediateParentOfSelectedBlock","selectedBlockHasDescendants","canUser","transformToSubmenu","newSubmenu","featuredBlocks","featuredTransforms","filter","includes","test","selectLabelText","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","removeLink","userCanCreate","handleCreate","pageTitle","postType","page","status","rendered","onKeyDown","isKeyboardEvent","primary","keyCode","ENTER","blockProps","className","onClick","classes","missingText","linkIcon","displayShortcut","addSubmenu","descriptionValue","titleValue","relValue","labelValue","searchTerm","format","mark"],"mappings":";;;;;;;;;;AAkCA;;AA/BA;;AACA;;AAKA;;AACA;;AACA;;AAUA;;AACA;;AACA;;AAUA;;AAQA;;AACA;;AACA;;AA3CA;AACA;AACA;;AAIA;AACA;AACA;;AAqCA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAMA,WAAW,GAAG,CAApB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,mBAAmB,GAAKC,UAAF,IAAkB;AAC7C,QAAM,CAAEC,gBAAF,EAAoBC,mBAApB,IAA4C,uBAAU,KAAV,CAAlD;AAEA,0BAAW,MAAM;AAChB,UAAM;AAAEC,MAAAA;AAAF,QAAoBH,UAAU,CAACI,OAArC;;AAEA,aAASC,eAAT,CAA0BC,KAA1B,EAAkC;AACjC;AACAC,MAAAA,eAAe,CAAED,KAAF,CAAf;AACA,KANe,CAQhB;;;AACA,aAASE,aAAT,GAAyB;AACxBN,MAAAA,mBAAmB,CAAE,KAAF,CAAnB;AACA;;AAED,aAASK,eAAT,CAA0BD,KAA1B,EAAkC;AACjC;AACA,UAAKN,UAAU,CAACI,OAAX,CAAmBK,QAAnB,CAA6BH,KAAK,CAACI,MAAnC,CAAL,EAAmD;AAClDR,QAAAA,mBAAmB,CAAE,IAAF,CAAnB;AACA,OAFD,MAEO;AACNA,QAAAA,mBAAmB,CAAE,KAAF,CAAnB;AACA;AACD,KApBe,CAsBhB;AACA;AACA;;;AACAC,IAAAA,aAAa,CAACQ,gBAAd,CAAgC,WAAhC,EAA6CN,eAA7C;AACAF,IAAAA,aAAa,CAACQ,gBAAd,CAAgC,SAAhC,EAA2CH,aAA3C;AACAL,IAAAA,aAAa,CAACQ,gBAAd,CAAgC,WAAhC,EAA6CJ,eAA7C;AAEA,WAAO,MAAM;AACZJ,MAAAA,aAAa,CAACS,mBAAd,CAAmC,WAAnC,EAAgDP,eAAhD;AACAF,MAAAA,aAAa,CAACS,mBAAd,CAAmC,SAAnC,EAA8CJ,aAA9C;AACAL,MAAAA,aAAa,CAACS,mBAAd,CAAmC,WAAnC,EAAgDL,eAAhD;AACA,KAJD;AAKA,GAlCD,EAkCG,EAlCH;AAoCA,SAAON,gBAAP;AACA,CAxCD;AA0CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASY,mBAAT,CAA8BC,IAA9B,EAAoCC,IAApC,EAA2C;AAC1C,UAASD,IAAT;AACC,SAAK,MAAL;AACA,SAAK,MAAL;AACC,aAAO;AAAEA,QAAAA,IAAI,EAAE,MAAR;AAAgBE,QAAAA,OAAO,EAAEF;AAAzB,OAAP;;AACD,SAAK,UAAL;AACC,aAAO;AAAEA,QAAAA,IAAI,EAAE,MAAR;AAAgBE,QAAAA,OAAO,EAAE;AAAzB,OAAP;;AACD,SAAK,KAAL;AACC,aAAO;AAAEF,QAAAA,IAAI,EAAE,MAAR;AAAgBE,QAAAA,OAAO,EAAE;AAAzB,OAAP;;AACD,SAAK,aAAL;AACC,aAAO;AAAEF,QAAAA,IAAI,EAAE;AAAR,OAAP;;AACD;AACC,UAAKC,IAAI,KAAK,UAAd,EAA2B;AAC1B,eAAO;AAAED,UAAAA,IAAI,EAAE,MAAR;AAAgBE,UAAAA,OAAO,EAAEF;AAAzB,SAAP;AACA;;AACD,UAAKC,IAAI,KAAK,WAAd,EAA4B;AAC3B,eAAO;AAAED,UAAAA,IAAI,EAAE,MAAR;AAAgBE,UAAAA,OAAO,EAAEF;AAAzB,SAAP;AACA;;AACD,aAAO,EAAP;AAjBF;AAmBA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASG,SAAT,CAAoBC,OAApB,EAA6BC,SAA7B,EAAyC;AAAA;;AACxC,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,eAFK;AAGLC,IAAAA,eAHK;AAILC,IAAAA,qBAJK;AAKLC,IAAAA,gBALK;AAMLC,IAAAA,sBANK;AAOLC,IAAAA,sBAPK;AAQLC,IAAAA,4BARK;AASLC,IAAAA;AATK,MAUFV,OAVJ;AAYA,QAAMW,MAAM,GAAG,EAAf;;AAEA,MAAKV,SAAS,IAAI,CAAC,CAAEM,sBAArB,EAA8C;AAC7CI,IAAAA,MAAM,CAACR,eAAP,GAAyBI,sBAAzB;AACA,GAFD,MAEO,IAAKN,SAAS,IAAI,CAAC,CAAEK,gBAArB,EAAwC;AAC9CK,IAAAA,MAAM,CAACT,SAAP,GAAmBI,gBAAnB;AACA,GAFM,MAEA,IAAK,CAAC,CAAEH,eAAR,EAA0B;AAChCQ,IAAAA,MAAM,CAACR,eAAP,GAAyBA,eAAzB;AACA,GAFM,MAEA,IAAK,CAAC,CAAED,SAAR,EAAoB;AAC1BS,IAAAA,MAAM,CAACT,SAAP,GAAmBA,SAAnB;AACA,GAFM,MAEA,IAAK,CAAC,EAAEQ,KAAF,aAAEA,KAAF,+BAAEA,KAAK,CAAEE,KAAT,yCAAE,aAAcC,IAAhB,CAAN,EAA6B;AACnCF,IAAAA,MAAM,CAACR,eAAP,GAAyBO,KAAK,CAACE,KAAN,CAAYC,IAArC;AACA;;AAED,MAAKZ,SAAS,IAAI,CAAC,CAAEQ,4BAArB,EAAoD;AACnDE,IAAAA,MAAM,CAACN,qBAAP,GAA+BI,4BAA/B;AACA,GAFD,MAEO,IAAKR,SAAS,IAAI,CAAC,CAAEO,sBAArB,EAA8C;AACpDG,IAAAA,MAAM,CAACP,eAAP,GAAyBI,sBAAzB;AACA,GAFM,MAEA,IAAK,CAAC,CAAEH,qBAAR,EAAgC;AACtCM,IAAAA,MAAM,CAACN,qBAAP,GAA+BA,qBAA/B;AACA,GAFM,MAEA,IAAK,CAAC,CAAED,eAAR,EAA0B;AAChCO,IAAAA,MAAM,CAACP,eAAP,GAAyBA,eAAzB;AACA,GAFM,MAEA,IAAK,CAAC,EAAEM,KAAF,aAAEA,KAAF,gCAAEA,KAAK,CAAEE,KAAT,0CAAE,cAAcE,UAAhB,CAAN,EAAmC;AACzCH,IAAAA,MAAM,CAACR,eAAP,GAAyBO,KAAK,CAACE,KAAN,CAAYE,UAArC;AACA;;AAED,SAAOH,MAAP;AACA;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,MAAMI,mCAAmC,GAAG,CAClDC,YAAY,GAAG,EADmC,EAElDC,aAFkD,EAGlDC,eAAe,GAAG,EAHgC,KAI9C;AACJ,QAAM;AACLC,IAAAA,KAAK,EAAEC,aAAa,GAAG,EADlB;AAELvB,IAAAA,IAAI,EAAEwB,YAAY,GAAG,EAFhB;AAGLzB,IAAAA,IAAI,EAAE0B,YAAY,GAAG;AAHhB,MAIFJ,eAJJ;AAMA,QAAM;AACLK,IAAAA,KAAK,GAAG,EADH;AACO;AACZC,IAAAA,GAAG,GAAG,EAFD;AAILC,IAAAA,aAJK;AAKLC,IAAAA,EALK;AAML7B,IAAAA,IAAI,EAAE8B,OAAO,GAAGN,YANX;AAOLzB,IAAAA,IAAI,EAAEgC,OAAO,GAAGN;AAPX,MAQFN,YARJ;AASA,QAAMa,eAAe,GAAGN,KAAK,CAACO,OAAN,CAAe,iBAAf,EAAkC,EAAlC,CAAxB;AACA,QAAMC,aAAa,GAAGP,GAAG,CAACM,OAAJ,CAAa,iBAAb,EAAgC,EAAhC,CAAtB;AACA,QAAME,WAAW,GAChBT,KAAK,KAAK,EAAV,IACAM,eAAe,KAAKE,aADpB,IAEAX,aAAa,KAAKG,KAHnB;AAKA,QAAMJ,KAAK,GAAGa,WAAW,GACtB,oBAAQT,KAAR,CADsB,GAEtBH,aAAa,IAAI,oBAAQW,aAAR,CAFpB,CAvBI,CA2BJ;;AACA,QAAMnC,IAAI,GAAGgC,OAAO,KAAK,UAAZ,GAAyB,KAAzB,GAAiCA,OAAO,CAACE,OAAR,CAAiB,GAAjB,EAAsB,GAAtB,CAA9C;AAEA,QAAMG,aAAa,GAClB,CAAE,MAAF,EAAU,MAAV,EAAkB,KAAlB,EAAyB,UAAzB,EAAsCC,OAAtC,CAA+CtC,IAA/C,IAAwD,CAAC,CAD1D;AAGA,QAAMuC,YAAY,GACf,CAAER,OAAF,IAAa,CAAEM,aAAjB,IAAoCN,OAAO,KAAK,QADjD;AAEA,QAAM9B,IAAI,GAAGsC,YAAY,GAAG,QAAH,GAAcR,OAAvC;AAEAV,EAAAA,aAAa,CAAE,EACd;AACA,QAAKO,GAAG,IAAI;AAAEA,MAAAA,GAAG,EAAEY,SAAS,CAAE,wBAAeZ,GAAf,CAAF;AAAhB,KAAZ,CAFc;AAGd,QAAKL,KAAK,IAAI;AAAEA,MAAAA;AAAF,KAAd,CAHc;AAId,QAAKkB,SAAS,KAAKZ,aAAd,IAA+B;AAAEA,MAAAA;AAAF,KAApC,CAJc;AAKd,QAAKC,EAAE,IAAIY,MAAM,CAACC,SAAP,CAAkBb,EAAlB,CAAN,IAAgC;AAAEA,MAAAA;AAAF,KAArC,CALc;AAMd,QAAK7B,IAAI,IAAI;AAAEA,MAAAA;AAAF,KAAb,CANc;AAOd,QAAKD,IAAI,IAAIA,IAAI,KAAK,KAAjB,IAA0B;AAAEA,MAAAA;AAAF,KAA/B;AAPc,GAAF,CAAb;AASA,CAlDM;AAoDP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACA,SAAS4C,YAAT,CAAuBC,IAAvB,EAA8B;AAC7B,QAAMC,GAAG,GAAGC,QAAQ,CAACC,cAAT,CAAwBC,kBAAxB,CAA4C,EAA5C,CAAZ;AACAH,EAAAA,GAAG,CAACI,IAAJ,CAASC,SAAT,GAAqBN,IAArB;AACA,SAAOC,GAAG,CAACI,IAAJ,CAASE,WAAT,IAAwB,EAA/B;AACA;AAED;AACA;AACA;;;AAEA,SAASC,qBAAT,CAAgC;AAAEC,EAAAA,KAAF;AAASC,EAAAA,UAAT;AAAqBrB,EAAAA;AAArB,CAAhC,EAAiE;AAChE,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAI,IAAA,SAAS,EAAC;AAAd,KACG,cAAI,WAAJ,CADH,CADD,EAIC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGqB,UAAU,CAACC,GAAX,CAAgB,CAAEC,IAAF,EAAQC,KAAR,KAAmB;AACpC,WACC,4BAAC,kBAAD;AACC,MAAA,GAAG,EAAI,aAAaA,KAAO,EAD5B;AAEC,MAAA,OAAO,EAAG,MACTxB,OAAO,CACNoB,KAAK,CAACK,QADA,EAEN,+BAAmBL,KAAnB,EAA0BG,IAAI,CAACG,IAA/B,CAFM,CAHT;AAQC,MAAA,SAAS,EAAC;AARX,OAUC,4BAAC,sBAAD;AAAW,MAAA,IAAI,EAAGH,IAAI,CAACI;AAAvB,MAVD,EAWGJ,IAAI,CAAC9B,KAXR,CADD;AAeA,GAhBC,CADH,CAJD,CADD;AA0BA;;AAEc,SAASmC,kBAAT,CAA6B;AAC3CC,EAAAA,UAD2C;AAE3CC,EAAAA,UAF2C;AAG3C3C,EAAAA,aAH2C;AAI3C4C,EAAAA,iBAJ2C;AAK3CC,EAAAA,WAL2C;AAM3CC,EAAAA,SAN2C;AAO3C/D,EAAAA,OAP2C;AAQ3CuD,EAAAA;AAR2C,CAA7B,EASX;AACH,QAAM;AACLpC,IAAAA,KADK;AAELvB,IAAAA,IAFK;AAGL6B,IAAAA,aAHK;AAILD,IAAAA,GAJK;AAKLwC,IAAAA,WALK;AAMLC,IAAAA,GANK;AAOL1C,IAAAA,KAPK;AAQL1B,IAAAA;AARK,MASF8D,UATJ;AAWA,QAAMO,IAAI,GAAG;AACZ1C,IAAAA,GADY;AAEZC,IAAAA,aAFY;AAGZF,IAAAA,KAAK,EAAEJ,KAAK,IAAIqB,YAAY,CAAErB,KAAF,CAHhB,CAG2B;;AAH3B,GAAb;AAKA,QAAM;AAAEgD,IAAAA;AAAF,MAAuB,uBAAaC,eAAb,CAA7B;AACA,QAAM;AACLC,IAAAA,YADK;AAELC,IAAAA;AAFK,MAGF,uBAAaC,kBAAb,CAHJ;AAIA,QAAM,CAAEC,UAAF,EAAcC,aAAd,IAAgC,uBAAU,KAAV,CAAtC;AACA,QAAMC,WAAW,GAAG,qBAAQ,IAAR,CAApB;AACA,QAAM3F,gBAAgB,GAAGF,mBAAmB,CAAE6F,WAAF,CAA5C;AACA,QAAMC,oBAAoB,GAAG,cAAI,WAAJ,CAA7B;AACA,QAAMC,GAAG,GAAG,sBAAZ;AAEA,QAAM;AACLC,IAAAA,WADK;AAELC,IAAAA,cAFK;AAGLC,IAAAA,cAHK;AAILC,IAAAA,uBAJK;AAKLC,IAAAA,cALK;AAMLC,IAAAA,kBANK;AAOLC,IAAAA,kBAPK;AAQLC,IAAAA,SARK;AASLC,IAAAA;AATK,MAUF,qBACDC,MAAF,IAAc;AAAA;;AACb,UAAM;AACLC,MAAAA,QADK;AAELC,MAAAA,SAFK;AAGLC,MAAAA,YAHK;AAILC,MAAAA,oBAJK;AAKLC,MAAAA,yBALK;AAMLC,MAAAA,qBANK;AAOLC,MAAAA,wBAPK;AAQLC,MAAAA,0BARK;AASLC,MAAAA;AATK,QAUFT,MAAM,CAAEf,kBAAF,CAVV;AAYA,UAAMyB,eAAe,GAAGH,wBAAwB,EAAhD;AAEA,UAAMI,WAAW,GAAGN,yBAAyB,CAAE,CAAEpC,QAAF,CAAF,CAAzB,CAClB2C,MADF;AAGA,WAAO;AACNrB,MAAAA,WAAW,EAAEW,SAAS,CAAEjC,QAAF,CADhB;AAENuB,MAAAA,cAAc,EACbgB,0BAA0B,CAAEvC,QAAF,EAAY,CACrCC,IADqC,EAErC,yBAFqC,CAAZ,CAA1B,CAGI0C,MAHJ,IAGctH,WANT;AAONmG,MAAAA,cAAc,EACbU,YAAY,CAAEC,oBAAoB,CAAEnC,QAAF,CAAtB,CAAZ,KACA,iBATK;AAUNyB,MAAAA,uBAAuB,EAAEY,qBAAqB,CAC7CrC,QAD6C,EAE7C,IAF6C,CAVxC;AAcN4C,MAAAA,gCAAgC,EAAEP,qBAAqB,CACtDrC,QADsD,EAEtD,KAFsD,CAdjD;AAkBN0B,MAAAA,cAAc,EAAE,CAAC,CAAEgB,WAlBb;AAmBNG,MAAAA,2BAA2B,EAAE,CAAC,2BAAET,yBAAyB,CAAE,CAC1DK,eAD0D,CAAF,CAA3B,kDAAE,sBAE3BE,MAFyB,CAnBxB;AAsBNhB,MAAAA,kBAAkB,EAAEI,MAAM,CAAElB,eAAF,CAAN,CAAoBiC,OAApB,CACnB,QADmB,EAEnB,OAFmB,CAtBd;AA0BNlB,MAAAA,kBAAkB,EAAEG,MAAM,CAAElB,eAAF,CAAN,CAAoBiC,OAApB,CACnB,QADmB,EAEnB,OAFmB,CA1Bd;AA8BNjB,MAAAA,SAAS,EAAEG,QAAQ,CAAEhC,QAAF,CA9Bb;AA+BN8B,MAAAA,eAAe,EAAEU,sBAAsB,CACtC,CAAER,QAAQ,CAAEhC,QAAF,CAAV,CADsC,EAEtCmC,oBAAoB,CAAEnC,QAAF,CAFkB;AA/BjC,KAAP;AAoCA,GAvDE,EAwDH,CAAEA,QAAF,CAxDG,CAVJ;AAqEA,0BAAW,MAAM;AAChB;AACA;AACA;AACA;AACAe,IAAAA,uCAAuC;;AACvCrD,IAAAA,aAAa,CAAE;AAAE8D,MAAAA;AAAF,KAAF,CAAb;AACA,GAPD,EAOG,CAAEA,cAAF,CAPH;AASA;AACD;AACA;;AACC,WAASuB,kBAAT,GAA8B;AAC7B,UAAMC,UAAU,GAAG,yBAClB,yBADkB,EAElB5C,UAFkB,EAGlBkB,WAHkB,CAAnB;AAKAR,IAAAA,YAAY,CAAEd,QAAF,EAAYgD,UAAZ,CAAZ;AACA;;AAED,QAAMC,cAAc,GAAG,CACtB,gBADsB,EAEtB,mBAFsB,EAGtB,aAHsB,CAAvB;AAKA,QAAMC,kBAAkB,GAAGpB,eAAe,CAACqB,MAAhB,CAA0BrD,IAAF,IAAY;AAC9D,WAAOmD,cAAc,CAACG,QAAf,CAAyBtD,IAAI,CAACG,IAA9B,CAAP;AACA,GAF0B,CAA3B;AAIA,0BAAW,MAAM;AAChB;AACA;AACA;AACA;AACA,QAAK,CAAEhC,GAAP,EAAa;AACZiD,MAAAA,aAAa,CAAE,IAAF,CAAb;AACA,KAPe,CAQhB;;;AACA,QAAKQ,cAAL,EAAsB;AACrBqB,MAAAA,kBAAkB;AAClB;AACD,GAZD,EAYG,EAZH;AAcA;AACD;AACA;AACA;;AACC,0BAAW,MAAM;AAChB,QAAK,CAAE1C,UAAP,EAAoB;AACnBa,MAAAA,aAAa,CAAE,KAAF,CAAb;AACA;AACD,GAJD,EAIG,CAAEb,UAAF,CAJH,EAjJG,CAuJH;;AACA,0BAAW,MAAM;AAChB,QAAKY,UAAU,IAAIhD,GAAnB,EAAyB;AACxB;AACA,UACC,gBAAO,sBAAaL,KAAb,CAAP,KACA,cAAcyF,IAAd,CAAoBzF,KAApB,CAFD,EAGE;AACD;AACA0F,QAAAA,eAAe;AACf,OAND,MAMO;AACN;AACA,6CAA4BjC,GAAG,CAAC1F,OAAhC,EAAyC,IAAzC;AACA;AACD;AACD,GAdD,EAcG,CAAEsC,GAAF,CAdH;AAgBA;AACD;AACA;;AACC,WAASqF,eAAT,GAA2B;AAC1BjC,IAAAA,GAAG,CAAC1F,OAAJ,CAAY4H,KAAZ;AACA,UAAM;AAAE7H,MAAAA;AAAF,QAAoB2F,GAAG,CAAC1F,OAA9B;AACA,UAAM;AAAE6H,MAAAA;AAAF,QAAkB9H,aAAxB;AACA,UAAM+H,SAAS,GAAGD,WAAW,CAACE,YAAZ,EAAlB;AACA,UAAMC,KAAK,GAAGjI,aAAa,CAACkI,WAAd,EAAd,CAL0B,CAM1B;;AACAD,IAAAA,KAAK,CAACE,kBAAN,CAA0BxC,GAAG,CAAC1F,OAA9B;AACA8H,IAAAA,SAAS,CAACK,eAAV;AACAL,IAAAA,SAAS,CAACM,QAAV,CAAoBJ,KAApB;AACA;AAED;AACD;AACA;;;AACC,WAASK,UAAT,GAAsB;AACrB;AACAtG,IAAAA,aAAa,CAAE;AACdO,MAAAA,GAAG,EAAE,EADS;AAEdL,MAAAA,KAAK,EAAE,EAFO;AAGdO,MAAAA,EAAE,EAAE,EAHU;AAId7B,MAAAA,IAAI,EAAE,EAJQ;AAKdD,MAAAA,IAAI,EAAE;AALQ,KAAF,CAAb,CAFqB,CAUrB;;AACA6E,IAAAA,aAAa,CAAE,KAAF,CAAb;AACA;;AAED,MAAI+C,aAAa,GAAG,KAApB;;AACA,MAAK,CAAE5H,IAAF,IAAUA,IAAI,KAAK,MAAxB,EAAiC;AAChC4H,IAAAA,aAAa,GAAGtC,kBAAhB;AACA,GAFD,MAEO,IAAKtF,IAAI,KAAK,MAAd,EAAuB;AAC7B4H,IAAAA,aAAa,GAAGrC,kBAAhB;AACA;;AAED,iBAAesC,YAAf,CAA6BC,SAA7B,EAAyC;AACxC,UAAMC,QAAQ,GAAG/H,IAAI,IAAI,MAAzB;AAEA,UAAMgI,IAAI,GAAG,MAAMzD,gBAAgB,CAAE,UAAF,EAAcwD,QAAd,EAAwB;AAC1DpG,MAAAA,KAAK,EAAEmG,SADmD;AAE1DG,MAAAA,MAAM,EAAE;AAFkD,KAAxB,CAAnC;AAKA,WAAO;AACNnG,MAAAA,EAAE,EAAEkG,IAAI,CAAClG,EADH;AAEN9B,MAAAA,IAAI,EAAE+H,QAFA;AAGNpG,MAAAA,KAAK,EAAEqG,IAAI,CAACrG,KAAL,CAAWuG,QAHZ;AAINtG,MAAAA,GAAG,EAAEoG,IAAI,CAAC1D,IAJJ;AAKNrE,MAAAA,IAAI,EAAE;AALA,KAAP;AAOA;;AAED,QAAM;AACLK,IAAAA,SADK;AAELC,IAAAA,eAFK;AAGLC,IAAAA,eAHK;AAILC,IAAAA;AAJK,MAKFN,SAAS,CAAEC,OAAF,EAAW,CAAE+E,cAAb,CALb;;AAOA,WAASgD,SAAT,CAAoB3I,KAApB,EAA4B;AAC3B,QACC4I,0BAAgBC,OAAhB,CAAyB7I,KAAzB,EAAgC,GAAhC,KACE,CAAEoC,GAAF,IAASpC,KAAK,CAAC8I,OAAN,KAAkBC,eAF9B,EAGE;AACD1D,MAAAA,aAAa,CAAE,IAAF,CAAb;AACA;AACD;;AAED,QAAM2D,UAAU,GAAG,gCAAe;AACjCxD,IAAAA,GAAG,EAAEF,WAD4B;AAEjC2D,IAAAA,SAAS,EAAE,yBAAY,0BAAZ,EAAwC;AAClD,oBAAczE,UAAU,IAAIoB,uBADsB;AAElD,4BAAsBjG,gBAF4B;AAGlD,kBAAY,CAAC,CAAEyC,GAHmC;AAIlD,mBAAayD,cAJqC;AAKlD,wBAAkB,CAAC,CAAE/E,SAAH,IAAgB,CAAC,CAAEC,eALa;AAMlD,OAAE,oCAAmB,OAAnB,EAA4BD,SAA5B,CAAF,GAA6C,CAAC,CAAEA,SANE;AAOlD,wBAAkB,CAAC,CAAEE,eAAH,IAAsBC,qBAPU;AAQlD,OAAE,oCACD,kBADC,EAEDD,eAFC,CAAF,GAGK,CAAC,CAAEA;AAX0C,KAAxC,CAFsB;AAejCM,IAAAA,KAAK,EAAE;AACNE,MAAAA,KAAK,EAAE,CAAEV,SAAF,IAAeC,eADhB;AAENC,MAAAA,eAAe,EAAE,CAAEA,eAAF,IAAqBC;AAFhC,KAf0B;AAmBjC0H,IAAAA;AAnBiC,GAAf,CAAnB;;AAsBA,MAAK,CAAEvG,GAAP,EAAa;AACZ4G,IAAAA,UAAU,CAACE,OAAX,GAAqB,MAAM7D,aAAa,CAAE,IAAF,CAAxC;AACA;;AAED,QAAM8D,OAAO,GAAG,yBAAY,mCAAZ,EAAiD;AAChE,6CAAyC,CAAE/G;AADqB,GAAjD,CAAhB;AAIA,MAAIgH,WAAW,GAAG,EAAlB;;AACA,UAAS5I,IAAT;AACC,SAAK,MAAL;AACC;AACA4I,MAAAA,WAAW,GAAG,cAAI,aAAJ,CAAd;AACA;;AACD,SAAK,MAAL;AACC;AACAA,MAAAA,WAAW,GAAG,cAAI,aAAJ,CAAd;AACA;;AACD,SAAK,UAAL;AACC;AACAA,MAAAA,WAAW,GAAG,cAAI,iBAAJ,CAAd;AACA;;AACD,SAAK,KAAL;AACC;AACAA,MAAAA,WAAW,GAAG,cAAI,YAAJ,CAAd;AACA;;AACD;AACC;AACAA,MAAAA,WAAW,GAAG,cAAI,UAAJ,CAAd;AAnBF;;AAsBA,SACC,4BAAC,iBAAD,QACC,4BAAC,0BAAD,QACC,4BAAC,wBAAD,QACC,4BAAC,yBAAD;AACC,IAAA,IAAI,EAAC,MADN;AAEC,IAAA,IAAI,EAAGC,WAFR;AAGC,IAAA,KAAK,EAAG,cAAI,MAAJ,CAHT;AAIC,IAAA,QAAQ,EAAGC,0BAAgBT,OAAhB,CAAyB,GAAzB,CAJZ;AAKC,IAAA,OAAO,EAAG,MAAMxD,aAAa,CAAE,IAAF;AAL9B,IADD,EAQG,CAAEK,cAAF,IACD,4BAAC,yBAAD;AACC,IAAA,IAAI,EAAC,SADN;AAEC,IAAA,IAAI,EAAG6D,iBAFR;AAGC,IAAA,KAAK,EAAG,cAAI,aAAJ,CAHT;AAIC,IAAA,OAAO,EAAGrC;AAJX,IATF,CADD,CADD,EAoBC,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,eAAJ;AAAnB,KACC,4BAAC,2BAAD;AACC,IAAA,KAAK,EAAGtC,WAAW,IAAI,EADxB;AAEC,IAAA,QAAQ,EAAK4E,gBAAF,IAAwB;AAClC3H,MAAAA,aAAa,CAAE;AAAE+C,QAAAA,WAAW,EAAE4E;AAAf,OAAF,CAAb;AACA,KAJF;AAKC,IAAA,KAAK,EAAG,cAAI,aAAJ,CALT;AAMC,IAAA,IAAI,EAAG,cACN,iFADM;AANR,IADD,EAWC,4BAAC,uBAAD;AACC,IAAA,KAAK,EAAGrH,KAAK,IAAI,EADlB;AAEC,IAAA,QAAQ,EAAKsH,UAAF,IAAkB;AAC5B5H,MAAAA,aAAa,CAAE;AAAEM,QAAAA,KAAK,EAAEsH;AAAT,OAAF,CAAb;AACA,KAJF;AAKC,IAAA,KAAK,EAAG,cAAI,YAAJ,CALT;AAMC,IAAA,YAAY,EAAC;AANd,IAXD,EAmBC,4BAAC,uBAAD;AACC,IAAA,KAAK,EAAG5E,GAAG,IAAI,EADhB;AAEC,IAAA,QAAQ,EAAK6E,QAAF,IAAgB;AAC1B7H,MAAAA,aAAa,CAAE;AAAEgD,QAAAA,GAAG,EAAE6E;AAAP,OAAF,CAAb;AACA,KAJF;AAKC,IAAA,KAAK,EAAG,cAAI,UAAJ,CALT;AAMC,IAAA,YAAY,EAAC;AANd,IAnBD,CADD,CApBD,EAkDC,mCAAUV,UAAV,EAEC;AAAG,IAAA,SAAS,EAAGG;AAAf,KAEG,CAAE/G,GAAF,GACD;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,mBAAD;AACC,IAAA,QAAQ,EAAC,YADV;AAEC,IAAA,IAAI,EAAG,cAAI,6BAAJ;AAFR,KAIC,0CAAQgH,WAAR,CAJD,CADD,CADC,GAUD,4BAAC,qBAAD;AACC,IAAA,GAAG,EAAG5D,GADP;AAEC,IAAA,UAAU,EAAC,OAFZ;AAGC,IAAA,SAAS,EAAC,iCAHX;AAIC,IAAA,KAAK,EAAGzD,KAJT;AAKC,IAAA,QAAQ,EAAK4H,UAAF,IACV9H,aAAa,CAAE;AACdE,MAAAA,KAAK,EAAE4H;AADO,KAAF,CANf;AAUC,IAAA,OAAO,EAAGjF,WAVX;AAWC,IAAA,SAAS,EAAGC,SAXb;AAYC,IAAA,sBAAsB,EAAG,MACxBF,iBAAiB,CAChB,yBAAa,sBAAb,CADgB,CAbnB;AAiBC,kBAAa,cAAI,sBAAJ,CAjBd;AAkBC,IAAA,WAAW,EAAGc,oBAlBf;AAmBC,IAAA,4BAA4B,MAnB7B;AAoBC,IAAA,cAAc,EAAG,CAChB,WADgB,EAEhB,aAFgB,EAGhB,YAHgB,EAIhB,oBAJgB,CApBlB;AA0BC,IAAA,OAAO,EAAG,MAAM;AACf,UAAK,CAAEnD,GAAP,EAAa;AACZiD,QAAAA,aAAa,CAAE,IAAF,CAAb;AACA;AACD;AA9BF,IAZF,EA6CGD,UAAU,IACX,4BAAC,mBAAD;AACC,IAAA,QAAQ,EAAC,eADV;AAEC,IAAA,OAAO,EAAG,MAAMC,aAAa,CAAE,KAAF,CAF9B;AAGC,IAAA,SAAS,EAAGC,WAAW,CAACxF;AAHzB,KAKC,4BAAC,sCAAD;AACC,IAAA,cAAc,MADf;AAEC,IAAA,SAAS,EAAC,6CAFX;AAGC,IAAA,KAAK,EAAGgF,IAHT;AAIC,IAAA,sBAAsB,EAAG,IAJ1B;AAKC,IAAA,oBAAoB,EAAGsD,aALxB;AAMC,IAAA,gBAAgB,EAAGC,YANpB;AAOC,IAAA,0BAA0B,EAAKuB,UAAF,IAAkB;AAC9C,UAAIC,MAAJ;;AACA,UAAKrJ,IAAI,KAAK,MAAd,EAAuB;AACtB;AACAqJ,QAAAA,MAAM,GAAG,cACR,oCADQ,CAAT;AAGA,OALD,MAKO;AACN;AACAA,QAAAA,MAAM,GAAG,cACR,oCADQ,CAAT;AAGA;;AACD,aAAO,uCACN,mBAASA,MAAT,EAAiBD,UAAjB,CADM,EAEN;AAAEE,QAAAA,IAAI,EAAE;AAAR,OAFM,CAAP;AAIA,KAxBF;AAyBC,IAAA,aAAa,EAAG,CAAC,CAAEtJ,IAzBpB;AA0BC,IAAA,eAAe,EAAG,CAAC,CAAEA,IA1BtB;AA2BC,IAAA,gBAAgB,EAAGD,mBAAmB,CACrCC,IADqC,EAErCC,IAFqC,CA3BvC;AA+BC,IAAA,QAAQ,EAAKmB,YAAF,IACVD,mCAAmC,CAClCC,YADkC,EAElCC,aAFkC,EAGlC0C,UAHkC,CAhCrC;AAsCC,IAAA,QAAQ,EAAG4D,UAtCZ;AAuCC,IAAA,mBAAmB,EAClB,CAAE/F,GAAF,GACG,MACA,4BAAC,qBAAD;AACC,MAAA,KAAK,EAAG4D,SADT;AAEC,MAAA,UAAU,EACTqB,kBAHF;AAKC,MAAA,OAAO,EAAGpC;AALX,MAFH,GAUG;AAlDL,IALD,CA9CF,CAFD,CAlDD,CADD;AAmKA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { escape } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock, switchToBlockType } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\tPanelBody,\n\tPopover,\n\tTextControl,\n\tTextareaControl,\n\tToolbarButton,\n\tTooltip,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tRichText,\n\t__experimentalLinkControl as LinkControl,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tgetColorClassName,\n} from '@wordpress/block-editor';\nimport { isURL, prependHTTP, safeDecodeURI } from '@wordpress/url';\nimport {\n\tFragment,\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tcreateInterpolateElement,\n} from '@wordpress/element';\nimport { placeCaretAtHorizontalEdge } from '@wordpress/dom';\nimport { link as linkIcon, addSubmenu } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { name } from './block.json';\n\nconst MAX_NESTING = 5;\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 * 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 */\nfunction 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}\n}\n\n/**\n * Determine the colors for a menu.\n *\n * Order of priority is:\n * 1: Overlay custom colors (if submenu)\n * 2: Overlay theme colors (if submenu)\n * 3: Custom colors\n * 4: Theme colors\n * 5: Global styles\n *\n * @param {Object} context\n * @param {boolean} isSubMenu\n */\nfunction getColors( context, isSubMenu ) {\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t\toverlayTextColor,\n\t\tcustomOverlayTextColor,\n\t\toverlayBackgroundColor,\n\t\tcustomOverlayBackgroundColor,\n\t\tstyle,\n\t} = context;\n\n\tconst colors = {};\n\n\tif ( isSubMenu && !! customOverlayTextColor ) {\n\t\tcolors.customTextColor = customOverlayTextColor;\n\t} else if ( isSubMenu && !! overlayTextColor ) {\n\t\tcolors.textColor = overlayTextColor;\n\t} else if ( !! customTextColor ) {\n\t\tcolors.customTextColor = customTextColor;\n\t} else if ( !! textColor ) {\n\t\tcolors.textColor = textColor;\n\t} else if ( !! style?.color?.text ) {\n\t\tcolors.customTextColor = style.color.text;\n\t}\n\n\tif ( isSubMenu && !! customOverlayBackgroundColor ) {\n\t\tcolors.customBackgroundColor = customOverlayBackgroundColor;\n\t} else if ( isSubMenu && !! overlayBackgroundColor ) {\n\t\tcolors.backgroundColor = overlayBackgroundColor;\n\t} else if ( !! customBackgroundColor ) {\n\t\tcolors.customBackgroundColor = customBackgroundColor;\n\t} else if ( !! backgroundColor ) {\n\t\tcolors.backgroundColor = backgroundColor;\n\t} else if ( !! style?.color?.background ) {\n\t\tcolors.customTextColor = style.color.background;\n\t}\n\n\treturn colors;\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\n/**\n * Link Control onChange handler that updates block attributes when a setting is changed.\n *\n * @param {Object} updatedValue New block attributes to update.\n * @param {Function} setAttributes Block attribute update function.\n * @param {WPNavigationLinkBlockAttributes} blockAttributes Current block attributes.\n *\n */\nexport const updateNavigationLinkBlockAttributes = (\n\tupdatedValue = {},\n\tsetAttributes,\n\tblockAttributes = {}\n) => {\n\tconst {\n\t\tlabel: originalLabel = '',\n\t\tkind: originalKind = '',\n\t\ttype: originalType = '',\n\t} = blockAttributes;\n\n\tconst {\n\t\ttitle = '', // the title of any provided Post.\n\t\turl = '',\n\n\t\topensInNewTab,\n\t\tid,\n\t\tkind: newKind = originalKind,\n\t\ttype: newType = originalType,\n\t} = updatedValue;\n\tconst normalizedTitle = title.replace( /http(s?):\\/\\//gi, '' );\n\tconst normalizedURL = url.replace( /http(s?):\\/\\//gi, '' );\n\tconst escapeTitle =\n\t\ttitle !== '' &&\n\t\tnormalizedTitle !== normalizedURL &&\n\t\toriginalLabel !== title;\n\n\tconst label = escapeTitle\n\t\t? escape( title )\n\t\t: originalLabel || escape( normalizedURL );\n\n\t// In https://github.com/WordPress/gutenberg/pull/24670 we decided to use \"tag\" in favor of \"post_tag\"\n\tconst type = newType === 'post_tag' ? 'tag' : newType.replace( '-', '_' );\n\n\tconst isBuiltInType =\n\t\t[ 'post', 'page', 'tag', 'category' ].indexOf( type ) > -1;\n\n\tconst isCustomLink =\n\t\t( ! newKind && ! isBuiltInType ) || newKind === 'custom';\n\tconst kind = isCustomLink ? 'custom' : newKind;\n\n\tsetAttributes( {\n\t\t// Passed `url` may already be encoded. To prevent double encoding, decodeURI is executed to revert to the original string.\n\t\t...( url && { url: encodeURI( safeDecodeURI( url ) ) } ),\n\t\t...( label && { label } ),\n\t\t...( undefined !== opensInNewTab && { opensInNewTab } ),\n\t\t...( id && Number.isInteger( id ) && { id } ),\n\t\t...( kind && { kind } ),\n\t\t...( type && type !== 'URL' && { type } ),\n\t} );\n};\n\n/**\n * Removes HTML from a given string.\n * Note the does not provide XSS protection or otherwise attempt\n * to filter strings with malicious intent.\n *\n * See also: https://github.com/WordPress/gutenberg/pull/35539\n *\n * @param {string} html the string from which HTML should be removed.\n * @return {string} the \"cleaned\" string.\n */\nfunction navStripHTML( html ) {\n\tconst doc = document.implementation.createHTMLDocument( '' );\n\tdoc.body.innerHTML = html;\n\treturn doc.body.textContent || '';\n}\n\n/**\n * Add transforms to Link Control\n */\n\nfunction LinkControlTransforms( { block, transforms, replace } ) {\n\treturn (\n\t\t<div className=\"link-control-transform\">\n\t\t\t<h3 className=\"link-control-transform__subheading\">\n\t\t\t\t{ __( 'Transform' ) }\n\t\t\t</h3>\n\t\t\t<div className=\"link-control-transform__items\">\n\t\t\t\t{ transforms.map( ( item, index ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ `transform-${ index }` }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\treplace(\n\t\t\t\t\t\t\t\t\tblock.clientId,\n\t\t\t\t\t\t\t\t\tswitchToBlockType( block, item.name )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclassName=\"link-control-transform__item\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockIcon icon={ item.icon } />\n\t\t\t\t\t\t\t{ item.title }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport default function NavigationLinkEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst {\n\t\tlabel,\n\t\ttype,\n\t\topensInNewTab,\n\t\turl,\n\t\tdescription,\n\t\trel,\n\t\ttitle,\n\t\tkind,\n\t} = attributes;\n\n\tconst link = {\n\t\turl,\n\t\topensInNewTab,\n\t\ttitle: label && navStripHTML( label ), // don't allow HTML to display inside the <LinkControl>\n\t};\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst {\n\t\treplaceBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\tconst [ isLinkOpen, setIsLinkOpen ] = useState( false );\n\tconst listItemRef = useRef( null );\n\tconst isDraggingWithin = useIsDraggingWithin( listItemRef );\n\tconst itemLabelPlaceholder = __( 'Add link…' );\n\tconst ref = useRef();\n\n\tconst {\n\t\tinnerBlocks,\n\t\tisAtMaxNesting,\n\t\tisTopLevelLink,\n\t\tisParentOfSelectedBlock,\n\t\thasDescendants,\n\t\tuserCanCreatePages,\n\t\tuserCanCreatePosts,\n\t\tthisBlock,\n\t\tblockTransforms,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlock,\n\t\t\t\tgetBlocks,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetClientIdsOfDescendants,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\tgetBlockTransformItems,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst selectedBlockId = getSelectedBlockClientId();\n\n\t\t\tconst descendants = getClientIdsOfDescendants( [ clientId ] )\n\t\t\t\t.length;\n\n\t\t\treturn {\n\t\t\t\tinnerBlocks: getBlocks( clientId ),\n\t\t\t\tisAtMaxNesting:\n\t\t\t\t\tgetBlockParentsByBlockName( clientId, [\n\t\t\t\t\t\tname,\n\t\t\t\t\t\t'core/navigation-submenu',\n\t\t\t\t\t] ).length >= MAX_NESTING,\n\t\t\t\tisTopLevelLink:\n\t\t\t\t\tgetBlockName( getBlockRootClientId( clientId ) ) ===\n\t\t\t\t\t'core/navigation',\n\t\t\t\tisParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\ttrue\n\t\t\t\t),\n\t\t\t\tisImmediateParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\thasDescendants: !! descendants,\n\t\t\t\tselectedBlockHasDescendants: !! getClientIdsOfDescendants( [\n\t\t\t\t\tselectedBlockId,\n\t\t\t\t] )?.length,\n\t\t\t\tuserCanCreatePages: select( coreStore ).canUser(\n\t\t\t\t\t'create',\n\t\t\t\t\t'pages'\n\t\t\t\t),\n\t\t\t\tuserCanCreatePosts: select( coreStore ).canUser(\n\t\t\t\t\t'create',\n\t\t\t\t\t'posts'\n\t\t\t\t),\n\t\t\t\tthisBlock: getBlock( clientId ),\n\t\t\t\tblockTransforms: getBlockTransformItems(\n\t\t\t\t\t[ getBlock( clientId ) ],\n\t\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tuseEffect( () => {\n\t\t// This side-effect should not create an undo level as those should\n\t\t// only be created via user interactions. Mark this change as\n\t\t// not persistent to avoid undo level creation.\n\t\t// See https://github.com/WordPress/gutenberg/issues/34564.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetAttributes( { isTopLevelLink } );\n\t}, [ isTopLevelLink ] );\n\n\t/**\n\t * Transform to submenu block.\n\t */\n\tfunction transformToSubmenu() {\n\t\tconst newSubmenu = createBlock(\n\t\t\t'core/navigation-submenu',\n\t\t\tattributes,\n\t\t\tinnerBlocks\n\t\t);\n\t\treplaceBlock( clientId, newSubmenu );\n\t}\n\n\tconst featuredBlocks = [\n\t\t'core/site-logo',\n\t\t'core/social-links',\n\t\t'core/search',\n\t];\n\tconst featuredTransforms = blockTransforms.filter( ( item ) => {\n\t\treturn featuredBlocks.includes( item.name );\n\t} );\n\n\tuseEffect( () => {\n\t\t// Show the LinkControl on mount if the URL is empty\n\t\t// ( When adding a new menu item)\n\t\t// This can't be done in the useState call because it conflicts\n\t\t// with the autofocus behavior of the BlockListBlock component.\n\t\tif ( ! url ) {\n\t\t\tsetIsLinkOpen( true );\n\t\t}\n\t\t// If block has inner blocks, transform to Submenu.\n\t\tif ( hasDescendants ) {\n\t\t\ttransformToSubmenu();\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} else {\n\t\t\t\t// Focus it (but do not select).\n\t\t\t\tplaceCaretAtHorizontalEdge( ref.current, true );\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\t/**\n\t * Removes the current link if set.\n\t */\n\tfunction removeLink() {\n\t\t// Reset all attributes that comprise the link.\n\t\tsetAttributes( {\n\t\t\turl: '',\n\t\t\tlabel: '',\n\t\t\tid: '',\n\t\t\tkind: '',\n\t\t\ttype: '',\n\t\t} );\n\n\t\t// Close the link editing UI.\n\t\tsetIsLinkOpen( false );\n\t}\n\n\tlet userCanCreate = false;\n\tif ( ! type || type === 'page' ) {\n\t\tuserCanCreate = userCanCreatePages;\n\t} else if ( type === 'post' ) {\n\t\tuserCanCreate = userCanCreatePosts;\n\t}\n\n\tasync function handleCreate( pageTitle ) {\n\t\tconst postType = 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\ttitle: page.title.rendered,\n\t\t\turl: page.link,\n\t\t\tkind: 'post-type',\n\t\t};\n\t}\n\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t} = getColors( context, ! isTopLevelLink );\n\n\tfunction onKeyDown( event ) {\n\t\tif (\n\t\t\tisKeyboardEvent.primary( event, 'k' ) ||\n\t\t\t( ! url && event.keyCode === ENTER )\n\t\t) {\n\t\t\tsetIsLinkOpen( true );\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tref: 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': hasDescendants,\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(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t) ]: !! backgroundColor,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor && customTextColor,\n\t\t\tbackgroundColor: ! backgroundColor && customBackgroundColor,\n\t\t},\n\t\tonKeyDown,\n\t} );\n\n\tif ( ! url ) {\n\t\tblockProps.onClick = () => setIsLinkOpen( true );\n\t}\n\n\tconst classes = classnames( 'wp-block-navigation-item__content', {\n\t\t'wp-block-navigation-link__placeholder': ! url,\n\t} );\n\n\tlet missingText = '';\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\t\t/* translators: label for missing post in navigation link block */\n\t\t\tmissingText = __( 'Select post' );\n\t\t\tbreak;\n\t\tcase 'page':\n\t\t\t/* translators: label for missing page in navigation link block */\n\t\t\tmissingText = __( 'Select page' );\n\t\t\tbreak;\n\t\tcase 'category':\n\t\t\t/* translators: label for missing category in navigation link block */\n\t\t\tmissingText = __( 'Select category' );\n\t\t\tbreak;\n\t\tcase 'tag':\n\t\t\t/* translators: label for missing tag in navigation link block */\n\t\t\tmissingText = __( 'Select tag' );\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t/* translators: label for missing values in navigation link block */\n\t\t\tmissingText = __( 'Add link' );\n\t}\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ () => setIsLinkOpen( true ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isAtMaxNesting && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"submenu\"\n\t\t\t\t\t\t\ticon={ addSubmenu }\n\t\t\t\t\t\t\ttitle={ __( 'Add submenu' ) }\n\t\t\t\t\t\t\tonClick={ transformToSubmenu }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\tvalue={ description || '' }\n\t\t\t\t\t\tonChange={ ( descriptionValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { description: descriptionValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'The description will be displayed in the menu if the current theme supports it.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\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={ __( 'Link title' ) }\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\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={ __( 'Link rel' ) }\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ /* eslint-disable jsx-a11y/anchor-is-valid */ }\n\t\t\t\t<a className={ classes }>\n\t\t\t\t\t{ /* eslint-enable */ }\n\t\t\t\t\t{ ! url ? (\n\t\t\t\t\t\t<div className=\"wp-block-navigation-link__placeholder-text\">\n\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\tposition=\"top center\"\n\t\t\t\t\t\t\t\ttext={ __( 'This item is missing a link' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span>{ missingText }</span>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<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( {\n\t\t\t\t\t\t\t\t\tlabel: labelValue,\n\t\t\t\t\t\t\t\t} )\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\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\tcreateBlock( 'core/navigation-link' )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\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 ( ! url ) {\n\t\t\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isLinkOpen && (\n\t\t\t\t\t\t<Popover\n\t\t\t\t\t\t\tposition=\"bottom center\"\n\t\t\t\t\t\t\tonClose={ () => setIsLinkOpen( false ) }\n\t\t\t\t\t\t\tanchorRef={ listItemRef.current }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\t\thasTextControl\n\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-link__inline-link-input\"\n\t\t\t\t\t\t\t\tvalue={ link }\n\t\t\t\t\t\t\t\tshowInitialSuggestions={ true }\n\t\t\t\t\t\t\t\twithCreateSuggestion={ userCanCreate }\n\t\t\t\t\t\t\t\tcreateSuggestion={ handleCreate }\n\t\t\t\t\t\t\t\tcreateSuggestionButtonText={ ( searchTerm ) => {\n\t\t\t\t\t\t\t\t\tlet format;\n\t\t\t\t\t\t\t\t\tif ( type === 'post' ) {\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\t\t\tformat = __(\n\t\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\t);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\t\t\tformat = __(\n\t\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\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn createInterpolateElement(\n\t\t\t\t\t\t\t\t\t\tsprintf( format, searchTerm ),\n\t\t\t\t\t\t\t\t\t\t{ mark: <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\tnoDirectEntry={ !! type }\n\t\t\t\t\t\t\t\tnoURLSuggestion={ !! type }\n\t\t\t\t\t\t\t\tsuggestionsQuery={ getSuggestionsQuery(\n\t\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\t\tkind\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ ( updatedValue ) =>\n\t\t\t\t\t\t\t\t\tupdateNavigationLinkBlockAttributes(\n\t\t\t\t\t\t\t\t\t\tupdatedValue,\n\t\t\t\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\t\t\t\tattributes\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\tonRemove={ removeLink }\n\t\t\t\t\t\t\t\trenderControlBottom={\n\t\t\t\t\t\t\t\t\t! url\n\t\t\t\t\t\t\t\t\t\t? () => (\n\t\t\t\t\t\t\t\t\t\t\t\t<LinkControlTransforms\n\t\t\t\t\t\t\t\t\t\t\t\t\tblock={ thisBlock }\n\t\t\t\t\t\t\t\t\t\t\t\t\ttransforms={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfeaturedTransforms\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\treplace={ replaceBlock }\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Popover>\n\t\t\t\t\t) }\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</Fragment>\n\t);\n}\n"]}
@@ -23,6 +23,8 @@ var _save = _interopRequireDefault(require("./save"));
23
23
 
24
24
  var _hooks2 = require("./hooks");
25
25
 
26
+ var _transforms = _interopRequireDefault(require("./transforms"));
27
+
26
28
  /**
27
29
  * WordPress dependencies
28
30
  */
@@ -74,7 +76,8 @@ const metadata = {
74
76
  usesContext: ["textColor", "customTextColor", "backgroundColor", "customBackgroundColor", "overlayTextColor", "customOverlayTextColor", "overlayBackgroundColor", "customOverlayBackgroundColor", "fontSize", "customFontSize", "showSubmenuIcon", "style"],
75
77
  supports: {
76
78
  reusable: false,
77
- html: false
79
+ html: false,
80
+ __experimentalSlashInserter: true
78
81
  },
79
82
  editorStyle: "wp-block-navigation-link-editor",
80
83
  style: "wp-block-navigation-link"
@@ -150,7 +153,8 @@ const settings = {
150
153
  return (0, _element.createElement)(_blockEditor.InnerBlocks.Content, null);
151
154
  }
152
155
 
153
- }]
156
+ }],
157
+ transforms: _transforms.default
154
158
  }; // importing this file includes side effects. This is whitelisted in block-library/package.json under sideEffects
155
159
 
156
160
  exports.settings = settings;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation-link/index.js"],"names":["name","metadata","settings","icon","linkIcon","__experimentalLabel","label","merge","leftAttributes","rightLabel","edit","save","example","attributes","url","deprecated","isEligible","nofollow","type","description","id","opensInNewTab","default","migrate","rest","rel","enhanceNavigationLinkVariations"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AAdA;AACA;AACA;;AAMA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAEC,iBADiB;AAGvBC,EAAAA,mBAAmB,EAAE,CAAE;AAAEC,IAAAA;AAAF,GAAF,KAAiBA,KAHf;;AAKvBC,EAAAA,KAAK,CAAEC,cAAF,EAAkB;AAAEF,IAAAA,KAAK,EAAEG,UAAU,GAAG;AAAtB,GAAlB,EAA+C;AACnD,WAAO,EACN,GAAGD,cADG;AAENF,MAAAA,KAAK,EAAEE,cAAc,CAACF,KAAf,GAAuBG;AAFxB,KAAP;AAIA,GAVsB;;AAYvBC,EAAAA,IAAI,EAAJA,aAZuB;AAcvBC,EAAAA,IAAI,EAAJA,aAduB;AAgBvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXP,MAAAA,KAAK,EAAE,cAAI,cAAJ,EAAoB,iCAApB,CADI;AAEXQ,MAAAA,GAAG,EAAE;AAFM;AADJ,GAhBc;AAuBvBC,EAAAA,UAAU,EAAE,CACX;AACCC,IAAAA,UAAU,CAAEH,UAAF,EAAe;AACxB,aAAOA,UAAU,CAACI,QAAlB;AACA,KAHF;;AAKCJ,IAAAA,UAAU,EAAE;AACXP,MAAAA,KAAK,EAAE;AACNY,QAAAA,IAAI,EAAE;AADA,OADI;AAIXA,MAAAA,IAAI,EAAE;AACLA,QAAAA,IAAI,EAAE;AADD,OAJK;AAOXD,MAAAA,QAAQ,EAAE;AACTC,QAAAA,IAAI,EAAE;AADG,OAPC;AAUXC,MAAAA,WAAW,EAAE;AACZD,QAAAA,IAAI,EAAE;AADM,OAVF;AAaXE,MAAAA,EAAE,EAAE;AACHF,QAAAA,IAAI,EAAE;AADH,OAbO;AAgBXG,MAAAA,aAAa,EAAE;AACdH,QAAAA,IAAI,EAAE,SADQ;AAEdI,QAAAA,OAAO,EAAE;AAFK,OAhBJ;AAoBXR,MAAAA,GAAG,EAAE;AACJI,QAAAA,IAAI,EAAE;AADF;AApBM,KALb;;AA8BCK,IAAAA,OAAO,CAAE;AAAEN,MAAAA,QAAF;AAAY,SAAGO;AAAf,KAAF,EAA0B;AAChC,aAAO;AACNC,QAAAA,GAAG,EAAER,QAAQ,GAAG,UAAH,GAAgB,EADvB;AAEN,WAAGO;AAFG,OAAP;AAIA,KAnCF;;AAqCCb,IAAAA,IAAI,GAAG;AACN,aAAO,4BAAC,wBAAD,CAAa,OAAb,OAAP;AACA;;AAvCF,GADW;AAvBW,CAAjB,C,CAoEP;;;AACA,sBACC,0BADD,EAEC,sBAFD,EAGCe,uCAHD","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\nimport { customLink as linkIcon } from '@wordpress/icons';\nimport { InnerBlocks } from '@wordpress/block-editor';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport { enhanceNavigationLinkVariations } from './hooks';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon: linkIcon,\n\n\t__experimentalLabel: ( { label } ) => label,\n\n\tmerge( leftAttributes, { label: rightLabel = '' } ) {\n\t\treturn {\n\t\t\t...leftAttributes,\n\t\t\tlabel: leftAttributes.label + rightLabel,\n\t\t};\n\t},\n\n\tedit,\n\n\tsave,\n\n\texample: {\n\t\tattributes: {\n\t\t\tlabel: _x( 'Example Link', 'navigation link preview example' ),\n\t\t\turl: 'https://example.com',\n\t\t},\n\t},\n\n\tdeprecated: [\n\t\t{\n\t\t\tisEligible( attributes ) {\n\t\t\t\treturn attributes.nofollow;\n\t\t\t},\n\n\t\t\tattributes: {\n\t\t\t\tlabel: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\ttype: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tnofollow: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\tdescription: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t},\n\t\t\t\topensInNewTab: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\tdefault: false,\n\t\t\t\t},\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tmigrate( { nofollow, ...rest } ) {\n\t\t\t\treturn {\n\t\t\t\t\trel: nofollow ? 'nofollow' : '',\n\t\t\t\t\t...rest,\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tsave() {\n\t\t\t\treturn <InnerBlocks.Content />;\n\t\t\t},\n\t\t},\n\t],\n};\n\n// importing this file includes side effects. This is whitelisted in block-library/package.json under sideEffects\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/navigation-link',\n\tenhanceNavigationLinkVariations\n);\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation-link/index.js"],"names":["name","metadata","settings","icon","linkIcon","__experimentalLabel","label","merge","leftAttributes","rightLabel","edit","save","example","attributes","url","deprecated","isEligible","nofollow","type","description","id","opensInNewTab","default","migrate","rest","rel","transforms","enhanceNavigationLinkVariations"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AAfA;AACA;AACA;;AAMA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAEC,iBADiB;AAGvBC,EAAAA,mBAAmB,EAAE,CAAE;AAAEC,IAAAA;AAAF,GAAF,KAAiBA,KAHf;;AAKvBC,EAAAA,KAAK,CAAEC,cAAF,EAAkB;AAAEF,IAAAA,KAAK,EAAEG,UAAU,GAAG;AAAtB,GAAlB,EAA+C;AACnD,WAAO,EACN,GAAGD,cADG;AAENF,MAAAA,KAAK,EAAEE,cAAc,CAACF,KAAf,GAAuBG;AAFxB,KAAP;AAIA,GAVsB;;AAYvBC,EAAAA,IAAI,EAAJA,aAZuB;AAcvBC,EAAAA,IAAI,EAAJA,aAduB;AAgBvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXP,MAAAA,KAAK,EAAE,cAAI,cAAJ,EAAoB,iCAApB,CADI;AAEXQ,MAAAA,GAAG,EAAE;AAFM;AADJ,GAhBc;AAuBvBC,EAAAA,UAAU,EAAE,CACX;AACCC,IAAAA,UAAU,CAAEH,UAAF,EAAe;AACxB,aAAOA,UAAU,CAACI,QAAlB;AACA,KAHF;;AAKCJ,IAAAA,UAAU,EAAE;AACXP,MAAAA,KAAK,EAAE;AACNY,QAAAA,IAAI,EAAE;AADA,OADI;AAIXA,MAAAA,IAAI,EAAE;AACLA,QAAAA,IAAI,EAAE;AADD,OAJK;AAOXD,MAAAA,QAAQ,EAAE;AACTC,QAAAA,IAAI,EAAE;AADG,OAPC;AAUXC,MAAAA,WAAW,EAAE;AACZD,QAAAA,IAAI,EAAE;AADM,OAVF;AAaXE,MAAAA,EAAE,EAAE;AACHF,QAAAA,IAAI,EAAE;AADH,OAbO;AAgBXG,MAAAA,aAAa,EAAE;AACdH,QAAAA,IAAI,EAAE,SADQ;AAEdI,QAAAA,OAAO,EAAE;AAFK,OAhBJ;AAoBXR,MAAAA,GAAG,EAAE;AACJI,QAAAA,IAAI,EAAE;AADF;AApBM,KALb;;AA8BCK,IAAAA,OAAO,CAAE;AAAEN,MAAAA,QAAF;AAAY,SAAGO;AAAf,KAAF,EAA0B;AAChC,aAAO;AACNC,QAAAA,GAAG,EAAER,QAAQ,GAAG,UAAH,GAAgB,EADvB;AAEN,WAAGO;AAFG,OAAP;AAIA,KAnCF;;AAqCCb,IAAAA,IAAI,GAAG;AACN,aAAO,4BAAC,wBAAD,CAAa,OAAb,OAAP;AACA;;AAvCF,GADW,CAvBW;AAkEvBe,EAAAA,UAAU,EAAVA;AAlEuB,CAAjB,C,CAqEP;;;AACA,sBACC,0BADD,EAEC,sBAFD,EAGCC,uCAHD","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\nimport { customLink as linkIcon } from '@wordpress/icons';\nimport { InnerBlocks } from '@wordpress/block-editor';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport { enhanceNavigationLinkVariations } from './hooks';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon: linkIcon,\n\n\t__experimentalLabel: ( { label } ) => label,\n\n\tmerge( leftAttributes, { label: rightLabel = '' } ) {\n\t\treturn {\n\t\t\t...leftAttributes,\n\t\t\tlabel: leftAttributes.label + rightLabel,\n\t\t};\n\t},\n\n\tedit,\n\n\tsave,\n\n\texample: {\n\t\tattributes: {\n\t\t\tlabel: _x( 'Example Link', 'navigation link preview example' ),\n\t\t\turl: 'https://example.com',\n\t\t},\n\t},\n\n\tdeprecated: [\n\t\t{\n\t\t\tisEligible( attributes ) {\n\t\t\t\treturn attributes.nofollow;\n\t\t\t},\n\n\t\t\tattributes: {\n\t\t\t\tlabel: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\ttype: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tnofollow: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\tdescription: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t},\n\t\t\t\topensInNewTab: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\tdefault: false,\n\t\t\t\t},\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tmigrate( { nofollow, ...rest } ) {\n\t\t\t\treturn {\n\t\t\t\t\trel: nofollow ? 'nofollow' : '',\n\t\t\t\t\t...rest,\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tsave() {\n\t\t\t\treturn <InnerBlocks.Content />;\n\t\t\t},\n\t\t},\n\t],\n\ttransforms,\n};\n\n// importing this file includes side effects. This is whitelisted in block-library/package.json under sideEffects\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/navigation-link',\n\tenhanceNavigationLinkVariations\n);\n"]}