@wordpress/block-library 10.2.0 → 10.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2756) hide show
  1. package/CHANGELOG.md +117 -0
  2. package/README.md +0 -3
  3. package/build/accordion/edit.cjs +1 -3
  4. package/build/accordion/edit.cjs.map +2 -2
  5. package/build/accordion/index.cjs +3 -0
  6. package/build/accordion/index.cjs.map +2 -2
  7. package/build/accordion/init.cjs.map +2 -2
  8. package/build/accordion/save.cjs.map +2 -2
  9. package/build/accordion/view.cjs.map +2 -2
  10. package/build/accordion-heading/deprecated.cjs.map +2 -2
  11. package/build/accordion-heading/edit.cjs.map +2 -2
  12. package/build/accordion-heading/index.cjs.map +2 -2
  13. package/build/accordion-heading/init.cjs.map +2 -2
  14. package/build/accordion-heading/save.cjs.map +2 -2
  15. package/build/accordion-item/edit.cjs +1 -4
  16. package/build/accordion-item/edit.cjs.map +2 -2
  17. package/build/accordion-item/index.cjs +3 -0
  18. package/build/accordion-item/index.cjs.map +2 -2
  19. package/build/accordion-item/init.cjs.map +2 -2
  20. package/build/accordion-item/save.cjs.map +2 -2
  21. package/build/accordion-panel/block.json +1 -0
  22. package/build/accordion-panel/edit.cjs +0 -1
  23. package/build/accordion-panel/edit.cjs.map +2 -2
  24. package/build/accordion-panel/index.cjs +2 -0
  25. package/build/accordion-panel/index.cjs.map +2 -2
  26. package/build/accordion-panel/init.cjs.map +2 -2
  27. package/build/accordion-panel/save.cjs.map +2 -2
  28. package/build/archives/edit.cjs.map +2 -2
  29. package/build/archives/index.cjs.map +2 -2
  30. package/build/archives/init.cjs.map +2 -2
  31. package/build/audio/deprecated.cjs.map +2 -2
  32. package/build/audio/edit.cjs.map +2 -2
  33. package/build/audio/index.cjs.map +2 -2
  34. package/build/audio/init.cjs.map +2 -2
  35. package/build/audio/save.cjs.map +2 -2
  36. package/build/audio/transforms.cjs.map +2 -2
  37. package/build/avatar/edit.cjs.map +2 -2
  38. package/build/avatar/hooks.cjs.map +2 -2
  39. package/build/avatar/index.cjs.map +2 -2
  40. package/build/avatar/init.cjs.map +2 -2
  41. package/build/avatar/user-control.cjs.map +2 -2
  42. package/build/block/edit.cjs +1 -1
  43. package/build/block/edit.cjs.map +2 -2
  44. package/build/block/index.cjs.map +2 -2
  45. package/build/block/init.cjs.map +2 -2
  46. package/build/block-keyboard-shortcuts/index.cjs.map +2 -2
  47. package/build/breadcrumbs/edit.cjs.map +2 -2
  48. package/build/breadcrumbs/index.cjs.map +2 -2
  49. package/build/button/deprecated.cjs.map +2 -2
  50. package/build/button/edit.cjs.map +2 -2
  51. package/build/button/get-updated-link-attributes.cjs.map +2 -2
  52. package/build/button/index.cjs.map +2 -2
  53. package/build/button/init.cjs.map +2 -2
  54. package/build/button/save.cjs.map +2 -2
  55. package/build/buttons/deprecated.cjs.map +2 -2
  56. package/build/buttons/edit.cjs +1 -14
  57. package/build/buttons/edit.cjs.map +2 -2
  58. package/build/buttons/index.cjs +3 -0
  59. package/build/buttons/index.cjs.map +2 -2
  60. package/build/buttons/init.cjs.map +2 -2
  61. package/build/buttons/save.cjs.map +2 -2
  62. package/build/buttons/transforms.cjs.map +2 -2
  63. package/build/calendar/edit.cjs.map +2 -2
  64. package/build/calendar/index.cjs.map +2 -2
  65. package/build/calendar/init.cjs.map +2 -2
  66. package/build/calendar/transforms.cjs.map +2 -2
  67. package/build/categories/edit.cjs.map +2 -2
  68. package/build/categories/index.cjs.map +2 -2
  69. package/build/categories/init.cjs.map +2 -2
  70. package/build/categories/variations.cjs.map +2 -2
  71. package/build/code/edit.cjs +3 -1
  72. package/build/code/edit.cjs.map +2 -2
  73. package/build/code/index.cjs.map +2 -2
  74. package/build/code/init.cjs.map +2 -2
  75. package/build/code/save.cjs.map +2 -2
  76. package/build/code/transforms.cjs.map +2 -2
  77. package/build/code/utils.cjs.map +2 -2
  78. package/build/column/deprecated.cjs.map +2 -2
  79. package/build/column/edit.cjs.map +2 -2
  80. package/build/column/index.cjs.map +2 -2
  81. package/build/column/init.cjs.map +2 -2
  82. package/build/column/save.cjs.map +2 -2
  83. package/build/columns/deprecated.cjs.map +2 -2
  84. package/build/columns/edit.cjs.map +2 -2
  85. package/build/columns/index.cjs.map +2 -2
  86. package/build/columns/init.cjs.map +2 -2
  87. package/build/columns/save.cjs.map +2 -2
  88. package/build/columns/transforms.cjs.map +2 -2
  89. package/build/columns/variations.cjs.map +2 -2
  90. package/build/comment-author-avatar/edit.cjs.map +2 -2
  91. package/build/comment-author-avatar/index.cjs.map +2 -2
  92. package/build/comment-author-avatar/init.cjs.map +2 -2
  93. package/build/comment-author-name/deprecated.cjs.map +2 -2
  94. package/build/comment-author-name/edit.cjs.map +2 -2
  95. package/build/comment-author-name/index.cjs.map +2 -2
  96. package/build/comment-author-name/init.cjs.map +2 -2
  97. package/build/comment-content/deprecated.cjs.map +2 -2
  98. package/build/comment-content/edit.cjs.map +2 -2
  99. package/build/comment-content/index.cjs.map +2 -2
  100. package/build/comment-content/init.cjs.map +2 -2
  101. package/build/comment-date/deprecated.cjs.map +2 -2
  102. package/build/comment-date/edit.cjs.map +2 -2
  103. package/build/comment-date/index.cjs.map +2 -2
  104. package/build/comment-date/init.cjs.map +2 -2
  105. package/build/comment-edit-link/deprecated.cjs.map +2 -2
  106. package/build/comment-edit-link/edit.cjs.map +2 -2
  107. package/build/comment-edit-link/index.cjs.map +2 -2
  108. package/build/comment-edit-link/init.cjs.map +2 -2
  109. package/build/comment-reply-link/deprecated.cjs.map +2 -2
  110. package/build/comment-reply-link/edit.cjs.map +2 -2
  111. package/build/comment-reply-link/index.cjs.map +2 -2
  112. package/build/comment-reply-link/init.cjs.map +2 -2
  113. package/build/comment-template/edit.cjs +1 -12
  114. package/build/comment-template/edit.cjs.map +2 -2
  115. package/build/comment-template/hooks.cjs.map +2 -2
  116. package/build/comment-template/index.cjs +9 -0
  117. package/build/comment-template/index.cjs.map +2 -2
  118. package/build/comment-template/init.cjs.map +2 -2
  119. package/build/comment-template/save.cjs.map +2 -2
  120. package/build/comments/deprecated.cjs.map +2 -2
  121. package/build/comments/edit/comments-inspector-controls.cjs.map +2 -2
  122. package/build/comments/edit/comments-legacy.cjs.map +2 -2
  123. package/build/comments/edit/index.cjs +1 -4
  124. package/build/comments/edit/index.cjs.map +3 -3
  125. package/build/comments/edit/placeholder.cjs.map +2 -2
  126. package/build/comments/index.cjs +2 -0
  127. package/build/comments/index.cjs.map +3 -3
  128. package/build/comments/init.cjs.map +2 -2
  129. package/build/comments/save.cjs.map +2 -2
  130. package/build/comments-pagination/comments-pagination-arrow-controls.cjs.map +2 -2
  131. package/build/comments-pagination/edit.cjs +1 -8
  132. package/build/comments-pagination/edit.cjs.map +2 -2
  133. package/build/comments-pagination/index.cjs +6 -0
  134. package/build/comments-pagination/index.cjs.map +2 -2
  135. package/build/comments-pagination/init.cjs.map +2 -2
  136. package/build/comments-pagination/save.cjs.map +2 -2
  137. package/build/comments-pagination-next/edit.cjs.map +2 -2
  138. package/build/comments-pagination-next/index.cjs.map +2 -2
  139. package/build/comments-pagination-next/init.cjs.map +2 -2
  140. package/build/comments-pagination-numbers/edit.cjs.map +2 -2
  141. package/build/comments-pagination-numbers/index.cjs.map +2 -2
  142. package/build/comments-pagination-numbers/init.cjs.map +2 -2
  143. package/build/comments-pagination-previous/edit.cjs.map +2 -2
  144. package/build/comments-pagination-previous/index.cjs.map +2 -2
  145. package/build/comments-pagination-previous/init.cjs.map +2 -2
  146. package/build/comments-title/deprecated.cjs.map +2 -2
  147. package/build/comments-title/edit.cjs.map +2 -2
  148. package/build/comments-title/index.cjs.map +2 -2
  149. package/build/comments-title/init.cjs.map +2 -2
  150. package/build/cover/block.json +1 -0
  151. package/build/cover/deprecated.cjs.map +2 -2
  152. package/build/cover/edit/block-controls.cjs +3 -1
  153. package/build/cover/edit/block-controls.cjs.map +2 -2
  154. package/build/cover/edit/color-utils.cjs.map +2 -2
  155. package/build/cover/edit/cover-placeholder.cjs.map +2 -2
  156. package/build/cover/edit/embed-video-url-input.cjs.map +2 -2
  157. package/build/cover/edit/index.cjs +75 -31
  158. package/build/cover/edit/index.cjs.map +2 -2
  159. package/build/cover/edit/inspector-controls.cjs.map +2 -2
  160. package/build/cover/edit/resizable-cover-popover.cjs.map +2 -2
  161. package/build/cover/embed-video-utils.cjs.map +2 -2
  162. package/build/cover/index.cjs.map +2 -2
  163. package/build/cover/init.cjs.map +2 -2
  164. package/build/cover/save.cjs.map +2 -2
  165. package/build/cover/shared.cjs.map +2 -2
  166. package/build/cover/transforms.cjs.map +2 -2
  167. package/build/cover/variations.cjs.map +2 -2
  168. package/build/details/edit.cjs +2 -12
  169. package/build/details/edit.cjs.map +3 -3
  170. package/build/details/index.cjs +9 -0
  171. package/build/details/index.cjs.map +2 -2
  172. package/build/details/init.cjs.map +2 -2
  173. package/build/details/save.cjs.map +2 -2
  174. package/build/details/transforms.cjs.map +2 -2
  175. package/build/embed/deprecated.cjs +1 -1
  176. package/build/embed/deprecated.cjs.map +2 -2
  177. package/build/embed/edit.cjs +1 -1
  178. package/build/embed/edit.cjs.map +2 -2
  179. package/build/embed/embed-controls.cjs.map +2 -2
  180. package/build/embed/embed-loading.cjs.map +2 -2
  181. package/build/embed/embed-placeholder.cjs +1 -1
  182. package/build/embed/embed-placeholder.cjs.map +2 -2
  183. package/build/embed/embed-preview.cjs.map +2 -2
  184. package/build/embed/icons.cjs.map +2 -2
  185. package/build/embed/index.cjs.map +2 -2
  186. package/build/embed/init.cjs.map +2 -2
  187. package/build/embed/save.cjs.map +2 -2
  188. package/build/embed/transforms.cjs.map +2 -2
  189. package/build/embed/util.cjs +2 -4
  190. package/build/embed/util.cjs.map +3 -3
  191. package/build/embed/variations.cjs.map +2 -2
  192. package/build/embed/wp-embed-preview.cjs.map +2 -2
  193. package/build/file/deprecated.cjs.map +2 -2
  194. package/build/file/edit.cjs.map +2 -2
  195. package/build/file/index.cjs.map +2 -2
  196. package/build/file/init.cjs.map +2 -2
  197. package/build/file/inspector.cjs.map +2 -2
  198. package/build/file/save.cjs.map +2 -2
  199. package/build/file/transforms.cjs.map +2 -2
  200. package/build/file/variations.cjs.map +2 -2
  201. package/build/file/view.cjs.map +2 -2
  202. package/build/footnotes/edit.cjs +6 -1
  203. package/build/footnotes/edit.cjs.map +2 -2
  204. package/build/footnotes/format.cjs.map +2 -2
  205. package/build/footnotes/index.cjs.map +2 -2
  206. package/build/footnotes/init.cjs.map +2 -2
  207. package/build/form/deprecated.cjs.map +2 -2
  208. package/build/form/edit.cjs +0 -31
  209. package/build/form/edit.cjs.map +2 -2
  210. package/build/form/icons.cjs.map +2 -2
  211. package/build/form/index.cjs +32 -0
  212. package/build/form/index.cjs.map +2 -2
  213. package/build/form/init.cjs.map +2 -2
  214. package/build/form/save.cjs.map +2 -2
  215. package/build/form/utils.cjs.map +2 -2
  216. package/build/form/variations.cjs.map +2 -2
  217. package/build/form-input/deprecated.cjs.map +2 -2
  218. package/build/form-input/edit.cjs.map +2 -2
  219. package/build/form-input/icons.cjs.map +2 -2
  220. package/build/form-input/index.cjs.map +2 -2
  221. package/build/form-input/init.cjs.map +2 -2
  222. package/build/form-input/save.cjs.map +2 -2
  223. package/build/form-input/variations.cjs.map +2 -2
  224. package/build/form-submission-notification/edit.cjs +0 -11
  225. package/build/form-submission-notification/edit.cjs.map +2 -2
  226. package/build/form-submission-notification/index.cjs +12 -0
  227. package/build/form-submission-notification/index.cjs.map +2 -2
  228. package/build/form-submission-notification/init.cjs.map +2 -2
  229. package/build/form-submission-notification/save.cjs.map +2 -2
  230. package/build/form-submission-notification/variations.cjs.map +2 -2
  231. package/build/form-submit-button/edit.cjs +0 -18
  232. package/build/form-submit-button/edit.cjs.map +2 -2
  233. package/build/form-submit-button/index.cjs +18 -0
  234. package/build/form-submit-button/index.cjs.map +2 -2
  235. package/build/form-submit-button/init.cjs.map +2 -2
  236. package/build/form-submit-button/save.cjs.map +2 -2
  237. package/build/freeform/convert-to-blocks-button.cjs.map +2 -2
  238. package/build/freeform/edit.cjs.map +2 -2
  239. package/build/freeform/index.cjs.map +2 -2
  240. package/build/freeform/init.cjs.map +2 -2
  241. package/build/freeform/modal.cjs.map +2 -2
  242. package/build/freeform/save.cjs.map +2 -2
  243. package/build/gallery/deprecated.cjs.map +2 -2
  244. package/build/gallery/dynamic-gallery.cjs +104 -61
  245. package/build/gallery/dynamic-gallery.cjs.map +3 -3
  246. package/build/gallery/dynamic-source.cjs.map +2 -2
  247. package/build/gallery/edit.cjs.map +2 -2
  248. package/build/gallery/gallery.cjs.map +2 -2
  249. package/build/gallery/gap-styles.cjs.map +2 -2
  250. package/build/gallery/index.cjs.map +2 -2
  251. package/build/gallery/init.cjs.map +2 -2
  252. package/build/gallery/save.cjs.map +2 -2
  253. package/build/gallery/shared-icon.cjs.map +2 -2
  254. package/build/gallery/transforms.cjs.map +2 -2
  255. package/build/gallery/use-dynamic-gallery.cjs +15 -8
  256. package/build/gallery/use-dynamic-gallery.cjs.map +2 -2
  257. package/build/gallery/use-get-media.cjs.map +2 -2
  258. package/build/gallery/use-get-new-images.cjs.map +2 -2
  259. package/build/gallery/use-image-sizes.cjs.map +2 -2
  260. package/build/gallery/utils.cjs.map +2 -2
  261. package/build/gallery/variations.cjs.map +2 -2
  262. package/build/group/block.json +0 -1
  263. package/build/group/deprecated.cjs.map +2 -2
  264. package/build/group/edit.cjs.map +2 -2
  265. package/build/group/index.cjs.map +2 -2
  266. package/build/group/init.cjs.map +2 -2
  267. package/build/group/placeholder.cjs.map +2 -2
  268. package/build/group/save.cjs.map +2 -2
  269. package/build/group/transforms.cjs.map +2 -2
  270. package/build/group/variations.cjs.map +2 -2
  271. package/build/heading/autogenerate-anchors.cjs.map +2 -2
  272. package/build/heading/deprecated.cjs.map +2 -2
  273. package/build/heading/edit.cjs +1 -1
  274. package/build/heading/edit.cjs.map +2 -2
  275. package/build/heading/index.cjs.map +2 -2
  276. package/build/heading/init.cjs.map +2 -2
  277. package/build/heading/save.cjs.map +2 -2
  278. package/build/heading/transforms.cjs.map +2 -2
  279. package/build/heading/variations.cjs.map +2 -2
  280. package/build/home-link/edit.cjs.map +2 -2
  281. package/build/home-link/index.cjs.map +2 -2
  282. package/build/home-link/init.cjs.map +2 -2
  283. package/build/home-link/save.cjs.map +2 -2
  284. package/build/html/edit.cjs.map +2 -2
  285. package/build/html/index.cjs.map +2 -2
  286. package/build/html/init.cjs.map +2 -2
  287. package/build/html/modal.cjs +63 -54
  288. package/build/html/modal.cjs.map +3 -3
  289. package/build/html/preview.cjs.map +2 -2
  290. package/build/html/transforms.cjs.map +2 -2
  291. package/build/icon/block.json +5 -3
  292. package/build/icon/components/custom-inserter/icon-grid.cjs.map +2 -2
  293. package/build/icon/components/custom-inserter/index.cjs.map +2 -2
  294. package/build/icon/edit.cjs.map +2 -2
  295. package/build/icon/icon.cjs.map +2 -2
  296. package/build/icon/index.cjs.map +2 -2
  297. package/build/image/deprecated.cjs.map +2 -2
  298. package/build/image/edit.cjs +5 -2
  299. package/build/image/edit.cjs.map +2 -2
  300. package/build/image/image.cjs +29 -5
  301. package/build/image/image.cjs.map +3 -3
  302. package/build/image/index.cjs.map +2 -2
  303. package/build/image/init.cjs.map +2 -2
  304. package/build/image/save.cjs.map +2 -2
  305. package/build/image/transforms.cjs.map +2 -2
  306. package/build/image/use-max-width-observer.cjs.map +2 -2
  307. package/build/image/use-open-image-media-editor-modal.cjs +6 -2
  308. package/build/image/use-open-image-media-editor-modal.cjs.map +2 -2
  309. package/build/image/utils.cjs.map +2 -2
  310. package/build/image/view.cjs.map +2 -2
  311. package/build/index.cjs.map +2 -2
  312. package/build/latest-comments/deprecated.cjs.map +2 -2
  313. package/build/latest-comments/edit.cjs.map +2 -2
  314. package/build/latest-comments/index.cjs.map +2 -2
  315. package/build/latest-comments/init.cjs.map +2 -2
  316. package/build/latest-posts/deprecated.cjs.map +2 -2
  317. package/build/latest-posts/edit.cjs.map +2 -2
  318. package/build/latest-posts/index.cjs.map +2 -2
  319. package/build/latest-posts/init.cjs.map +2 -2
  320. package/build/list/deprecated.cjs.map +2 -2
  321. package/build/list/edit.cjs +5 -4
  322. package/build/list/edit.cjs.map +2 -2
  323. package/build/list/index.cjs +3 -0
  324. package/build/list/index.cjs.map +2 -2
  325. package/build/list/init.cjs.map +2 -2
  326. package/build/list/ordered-list-settings.cjs.map +2 -2
  327. package/build/list/save.cjs.map +2 -2
  328. package/build/list/tag-name.cjs.map +2 -2
  329. package/build/list/transforms.cjs.map +2 -2
  330. package/build/list/utils.cjs.map +2 -2
  331. package/build/list-item/edit.cjs.map +2 -2
  332. package/build/list-item/hooks/use-enter.cjs.map +2 -2
  333. package/build/list-item/hooks/use-indent-list-item.cjs +10 -2
  334. package/build/list-item/hooks/use-indent-list-item.cjs.map +2 -2
  335. package/build/list-item/hooks/use-merge.cjs.map +2 -2
  336. package/build/list-item/hooks/use-outdent-list-item.cjs.map +2 -2
  337. package/build/list-item/hooks/use-space.cjs.map +2 -2
  338. package/build/list-item/index.cjs.map +2 -2
  339. package/build/list-item/init.cjs.map +2 -2
  340. package/build/list-item/save.cjs.map +2 -2
  341. package/build/list-item/transforms.cjs.map +2 -2
  342. package/build/lock-unlock.cjs.map +2 -2
  343. package/build/loginout/edit.cjs.map +2 -2
  344. package/build/loginout/index.cjs.map +2 -2
  345. package/build/loginout/init.cjs.map +2 -2
  346. package/build/math/deprecated.cjs.map +2 -2
  347. package/build/math/edit.cjs +39 -56
  348. package/build/math/edit.cjs.map +3 -3
  349. package/build/math/index.cjs.map +2 -2
  350. package/build/math/init.cjs.map +2 -2
  351. package/build/math/save.cjs.map +2 -2
  352. package/build/media-text/constants.cjs.map +2 -2
  353. package/build/media-text/deprecated.cjs.map +2 -2
  354. package/build/media-text/edit.cjs +3 -2
  355. package/build/media-text/edit.cjs.map +2 -2
  356. package/build/media-text/index.cjs +2 -0
  357. package/build/media-text/index.cjs.map +2 -2
  358. package/build/media-text/init.cjs.map +2 -2
  359. package/build/media-text/media-container.cjs.map +2 -2
  360. package/build/media-text/save.cjs.map +2 -2
  361. package/build/media-text/transforms.cjs.map +2 -2
  362. package/build/missing/edit.cjs.map +2 -2
  363. package/build/missing/index.cjs.map +2 -2
  364. package/build/missing/init.cjs.map +2 -2
  365. package/build/missing/save.cjs.map +2 -2
  366. package/build/more/edit.cjs +2 -2
  367. package/build/more/edit.cjs.map +2 -2
  368. package/build/more/index.cjs.map +2 -2
  369. package/build/more/init.cjs.map +2 -2
  370. package/build/more/save.cjs.map +2 -2
  371. package/build/more/transforms.cjs.map +2 -2
  372. package/build/navigation/deprecated.cjs.map +2 -2
  373. package/build/navigation/edit/accessible-description.cjs.map +2 -2
  374. package/build/navigation/edit/accessible-menu-description.cjs.map +2 -2
  375. package/build/navigation/edit/deleted-navigation-warning.cjs.map +2 -2
  376. package/build/navigation/edit/deleted-overlay-warning.cjs.map +2 -2
  377. package/build/navigation/edit/index.cjs +30 -16
  378. package/build/navigation/edit/index.cjs.map +3 -3
  379. package/build/navigation/edit/inner-blocks.cjs.map +2 -2
  380. package/build/navigation/edit/leaf-more-menu.cjs +33 -23
  381. package/build/navigation/edit/leaf-more-menu.cjs.map +2 -2
  382. package/build/navigation/edit/manage-menus-button.cjs.map +2 -2
  383. package/build/navigation/edit/menu-inspector-controls.cjs.map +2 -2
  384. package/build/navigation/edit/navigation-link-ui.cjs +29 -18
  385. package/build/navigation/edit/navigation-link-ui.cjs.map +2 -2
  386. package/build/navigation/edit/navigation-list-view-header.cjs.map +2 -2
  387. package/build/navigation/edit/navigation-menu-delete-control.cjs.map +2 -2
  388. package/build/navigation/edit/navigation-menu-name-control.cjs.map +2 -2
  389. package/build/navigation/edit/navigation-menu-selector.cjs.map +2 -2
  390. package/build/navigation/edit/overlay-menu-icon.cjs.map +2 -2
  391. package/build/navigation/edit/overlay-menu-preview-button.cjs.map +2 -2
  392. package/build/navigation/edit/overlay-menu-preview-controls.cjs.map +2 -2
  393. package/build/navigation/edit/overlay-menu-preview.cjs.map +2 -2
  394. package/build/navigation/edit/overlay-panel.cjs.map +2 -2
  395. package/build/navigation/edit/overlay-preview.cjs.map +2 -2
  396. package/build/navigation/edit/overlay-template-part-selector.cjs.map +2 -2
  397. package/build/navigation/edit/overlay-visibility-control.cjs.map +2 -2
  398. package/build/navigation/edit/placeholder/index.cjs.map +2 -2
  399. package/build/navigation/edit/placeholder/placeholder-preview.cjs.map +2 -2
  400. package/build/navigation/edit/responsive-wrapper.cjs.map +2 -2
  401. package/build/navigation/edit/unsaved-inner-blocks.cjs.map +2 -2
  402. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.cjs.map +2 -2
  403. package/build/navigation/edit/use-create-navigation-menu.cjs.map +2 -2
  404. package/build/navigation/edit/use-create-overlay.cjs.map +2 -2
  405. package/build/navigation/edit/use-generate-default-navigation-title.cjs.map +2 -2
  406. package/build/navigation/edit/use-inner-blocks.cjs.map +2 -2
  407. package/build/navigation/edit/use-layout-custom-properties.cjs +72 -0
  408. package/build/navigation/edit/use-layout-custom-properties.cjs.map +7 -0
  409. package/build/navigation/edit/use-navigation-notice.cjs.map +2 -2
  410. package/build/navigation/edit/utils.cjs.map +2 -2
  411. package/build/navigation/index.cjs.map +2 -2
  412. package/build/navigation/init.cjs.map +2 -2
  413. package/build/navigation/menu-items-to-blocks.cjs.map +2 -2
  414. package/build/navigation/save.cjs.map +2 -2
  415. package/build/navigation/use-navigation-menu.cjs.map +2 -2
  416. package/build/navigation/use-template-part-area-label.cjs.map +2 -2
  417. package/build/navigation/view.cjs +9 -6
  418. package/build/navigation/view.cjs.map +2 -2
  419. package/build/navigation-link/edit.cjs +3 -3
  420. package/build/navigation-link/edit.cjs.map +2 -2
  421. package/build/navigation-link/hooks.cjs.map +2 -2
  422. package/build/navigation-link/icons.cjs.map +2 -2
  423. package/build/navigation-link/index.cjs.map +2 -2
  424. package/build/navigation-link/init.cjs.map +2 -2
  425. package/build/navigation-link/link-ui/block-inserter.cjs.map +2 -2
  426. package/build/navigation-link/link-ui/dialog-wrapper.cjs.map +2 -2
  427. package/build/navigation-link/link-ui/index.cjs +2 -2
  428. package/build/navigation-link/link-ui/index.cjs.map +2 -2
  429. package/build/navigation-link/link-ui/page-creator.cjs.map +2 -2
  430. package/build/navigation-link/save.cjs.map +2 -2
  431. package/build/navigation-link/shared/controls.cjs.map +2 -2
  432. package/build/navigation-link/shared/invalid-draft-display.cjs.map +2 -2
  433. package/build/navigation-link/shared/update-attributes.cjs.map +2 -2
  434. package/build/navigation-link/shared/use-enable-link-status-validation.cjs.map +2 -2
  435. package/build/navigation-link/shared/use-entity-binding.cjs.map +2 -2
  436. package/build/navigation-link/shared/use-handle-link-change.cjs.map +2 -2
  437. package/build/navigation-link/shared/use-is-dragging-within.cjs.map +2 -2
  438. package/build/navigation-link/shared/use-is-invalid-link.cjs.map +2 -2
  439. package/build/navigation-link/shared/use-link-preview.cjs.map +2 -2
  440. package/build/navigation-link/transforms.cjs.map +2 -2
  441. package/build/navigation-overlay-close/edit.cjs.map +2 -2
  442. package/build/navigation-overlay-close/icon.cjs.map +2 -2
  443. package/build/navigation-overlay-close/index.cjs.map +2 -2
  444. package/build/navigation-submenu/edit.cjs.map +2 -2
  445. package/build/navigation-submenu/icons.cjs.map +2 -2
  446. package/build/navigation-submenu/index.cjs.map +2 -2
  447. package/build/navigation-submenu/init.cjs.map +2 -2
  448. package/build/navigation-submenu/save.cjs.map +2 -2
  449. package/build/navigation-submenu/transforms.cjs.map +2 -2
  450. package/build/nextpage/edit.cjs.map +2 -2
  451. package/build/nextpage/index.cjs.map +2 -2
  452. package/build/nextpage/init.cjs.map +2 -2
  453. package/build/nextpage/save.cjs.map +2 -2
  454. package/build/nextpage/transforms.cjs.map +2 -2
  455. package/build/page-list/edit.cjs +48 -34
  456. package/build/page-list/edit.cjs.map +3 -3
  457. package/build/page-list/index.cjs.map +2 -2
  458. package/build/page-list/init.cjs.map +2 -2
  459. package/build/page-list/use-convert-to-navigation-links.cjs.map +2 -2
  460. package/build/page-list-item/edit.cjs.map +2 -2
  461. package/build/page-list-item/index.cjs.map +2 -2
  462. package/build/page-list-item/init.cjs.map +2 -2
  463. package/build/paragraph/block.json +0 -1
  464. package/build/paragraph/deprecated-attributes.cjs.map +2 -2
  465. package/build/paragraph/deprecated.cjs.map +2 -2
  466. package/build/paragraph/edit.cjs +4 -4
  467. package/build/paragraph/edit.cjs.map +2 -2
  468. package/build/paragraph/index.cjs.map +2 -2
  469. package/build/paragraph/init.cjs.map +2 -2
  470. package/build/paragraph/save.cjs.map +2 -2
  471. package/build/paragraph/transforms.cjs.map +2 -2
  472. package/build/paragraph/use-enter.cjs.map +2 -2
  473. package/build/pattern/edit.cjs.map +2 -2
  474. package/build/pattern/index.cjs.map +2 -2
  475. package/build/pattern/init.cjs.map +2 -2
  476. package/build/pattern/recursion-detector.cjs.map +2 -2
  477. package/build/playlist/block.json +1 -0
  478. package/build/playlist/context.cjs.map +2 -2
  479. package/build/playlist/edit.cjs +115 -29
  480. package/build/playlist/edit.cjs.map +2 -2
  481. package/build/playlist/index.cjs +3 -1
  482. package/build/playlist/index.cjs.map +3 -3
  483. package/build/playlist/init.cjs.map +2 -2
  484. package/build/playlist/save.cjs.map +2 -2
  485. package/build/playlist/transforms.cjs +66 -0
  486. package/build/playlist/transforms.cjs.map +7 -0
  487. package/build/playlist/utils.cjs +19 -4
  488. package/build/playlist/utils.cjs.map +2 -2
  489. package/build/playlist/view.cjs.map +2 -2
  490. package/build/playlist-track/edit.cjs +7 -5
  491. package/build/playlist-track/edit.cjs.map +2 -2
  492. package/build/playlist-track/index.cjs +1 -1
  493. package/build/playlist-track/index.cjs.map +2 -2
  494. package/build/playlist-track/init.cjs.map +2 -2
  495. package/build/post-author/edit.cjs.map +2 -2
  496. package/build/post-author/index.cjs.map +2 -2
  497. package/build/post-author/init.cjs.map +2 -2
  498. package/build/post-author/utils.cjs.map +2 -2
  499. package/build/post-author-biography/deprecated.cjs.map +2 -2
  500. package/build/post-author-biography/edit.cjs.map +2 -2
  501. package/build/post-author-biography/index.cjs.map +2 -2
  502. package/build/post-author-biography/init.cjs.map +2 -2
  503. package/build/post-author-name/deprecated.cjs.map +2 -2
  504. package/build/post-author-name/edit.cjs.map +2 -2
  505. package/build/post-author-name/index.cjs.map +2 -2
  506. package/build/post-author-name/init.cjs.map +2 -2
  507. package/build/post-author-name/transforms.cjs.map +2 -2
  508. package/build/post-comment/edit.cjs +1 -11
  509. package/build/post-comment/edit.cjs.map +2 -2
  510. package/build/post-comment/index.cjs +9 -0
  511. package/build/post-comment/index.cjs.map +2 -2
  512. package/build/post-comment/init.cjs.map +2 -2
  513. package/build/post-comment/save.cjs.map +2 -2
  514. package/build/post-comments-count/deprecated.cjs.map +2 -2
  515. package/build/post-comments-count/edit.cjs.map +2 -2
  516. package/build/post-comments-count/index.cjs.map +2 -2
  517. package/build/post-comments-count/init.cjs.map +2 -2
  518. package/build/post-comments-count/transforms.cjs.map +2 -2
  519. package/build/post-comments-form/deprecated.cjs.map +2 -2
  520. package/build/post-comments-form/edit.cjs.map +2 -2
  521. package/build/post-comments-form/form.cjs.map +2 -2
  522. package/build/post-comments-form/index.cjs.map +2 -2
  523. package/build/post-comments-form/init.cjs.map +2 -2
  524. package/build/post-comments-link/deprecated.cjs.map +2 -2
  525. package/build/post-comments-link/edit.cjs.map +2 -2
  526. package/build/post-comments-link/index.cjs.map +2 -2
  527. package/build/post-comments-link/init.cjs.map +2 -2
  528. package/build/post-comments-link/transforms.cjs.map +2 -2
  529. package/build/post-content/edit.cjs +33 -15
  530. package/build/post-content/edit.cjs.map +2 -2
  531. package/build/post-content/index.cjs.map +2 -2
  532. package/build/post-content/init.cjs.map +2 -2
  533. package/build/post-date/deprecated.cjs.map +2 -2
  534. package/build/post-date/edit.cjs.map +2 -2
  535. package/build/post-date/index.cjs.map +2 -2
  536. package/build/post-date/init.cjs.map +2 -2
  537. package/build/post-date/variations.cjs.map +2 -2
  538. package/build/post-excerpt/deprecated.cjs.map +2 -2
  539. package/build/post-excerpt/edit.cjs.map +2 -2
  540. package/build/post-excerpt/index.cjs.map +2 -2
  541. package/build/post-excerpt/init.cjs.map +2 -2
  542. package/build/post-excerpt/transforms.cjs.map +2 -2
  543. package/build/post-featured-image/dimension-controls.cjs.map +2 -2
  544. package/build/post-featured-image/edit.cjs +3 -2
  545. package/build/post-featured-image/edit.cjs.map +2 -2
  546. package/build/post-featured-image/index.cjs.map +2 -2
  547. package/build/post-featured-image/init.cjs.map +2 -2
  548. package/build/post-featured-image/overlay-controls.cjs.map +2 -2
  549. package/build/post-featured-image/overlay.cjs.map +2 -2
  550. package/build/post-navigation-link/deprecated.cjs.map +2 -2
  551. package/build/post-navigation-link/edit.cjs.map +2 -2
  552. package/build/post-navigation-link/index.cjs +2 -0
  553. package/build/post-navigation-link/index.cjs.map +3 -3
  554. package/build/post-navigation-link/init.cjs.map +2 -2
  555. package/build/post-navigation-link/variations.cjs.map +2 -2
  556. package/build/post-template/edit.cjs +1 -18
  557. package/build/post-template/edit.cjs.map +2 -2
  558. package/build/post-template/index.cjs +18 -0
  559. package/build/post-template/index.cjs.map +2 -2
  560. package/build/post-template/init.cjs.map +2 -2
  561. package/build/post-template/save.cjs.map +2 -2
  562. package/build/post-terms/deprecated.cjs.map +2 -2
  563. package/build/post-terms/edit.cjs +2 -2
  564. package/build/post-terms/edit.cjs.map +2 -2
  565. package/build/post-terms/hooks.cjs.map +2 -2
  566. package/build/post-terms/index.cjs.map +2 -2
  567. package/build/post-terms/init.cjs.map +2 -2
  568. package/build/post-terms/use-post-terms.cjs.map +2 -2
  569. package/build/post-time-to-read/deprecated.cjs.map +2 -2
  570. package/build/post-time-to-read/edit.cjs.map +2 -2
  571. package/build/post-time-to-read/index.cjs.map +2 -2
  572. package/build/post-time-to-read/init.cjs.map +2 -2
  573. package/build/post-time-to-read/variations.cjs.map +2 -2
  574. package/build/post-title/deprecated.cjs.map +2 -2
  575. package/build/post-title/edit.cjs +2 -2
  576. package/build/post-title/edit.cjs.map +2 -2
  577. package/build/post-title/index.cjs.map +2 -2
  578. package/build/post-title/init.cjs.map +2 -2
  579. package/build/preformatted/edit.cjs +3 -1
  580. package/build/preformatted/edit.cjs.map +2 -2
  581. package/build/preformatted/index.cjs.map +2 -2
  582. package/build/preformatted/init.cjs.map +2 -2
  583. package/build/preformatted/save.cjs.map +2 -2
  584. package/build/preformatted/transforms.cjs.map +2 -2
  585. package/build/private-apis.cjs.map +2 -2
  586. package/build/pullquote/deprecated.cjs.map +2 -2
  587. package/build/pullquote/edit.cjs +5 -3
  588. package/build/pullquote/edit.cjs.map +2 -2
  589. package/build/pullquote/index.cjs.map +2 -2
  590. package/build/pullquote/init.cjs.map +2 -2
  591. package/build/pullquote/save.cjs.map +2 -2
  592. package/build/pullquote/transforms.cjs.map +2 -2
  593. package/build/query/deprecated.cjs.map +2 -2
  594. package/build/query/edit/enhanced-pagination-modal.cjs.map +2 -2
  595. package/build/query/edit/index.cjs.map +2 -2
  596. package/build/query/edit/inspector-controls/author-control.cjs.map +2 -2
  597. package/build/query/edit/inspector-controls/enhanced-pagination-control.cjs.map +2 -2
  598. package/build/query/edit/inspector-controls/format-controls.cjs.map +2 -2
  599. package/build/query/edit/inspector-controls/index.cjs +4 -1
  600. package/build/query/edit/inspector-controls/index.cjs.map +2 -2
  601. package/build/query/edit/inspector-controls/offset-controls.cjs +1 -1
  602. package/build/query/edit/inspector-controls/offset-controls.cjs.map +2 -2
  603. package/build/query/edit/inspector-controls/order-control.cjs.map +2 -2
  604. package/build/query/edit/inspector-controls/pages-control.cjs.map +2 -2
  605. package/build/query/edit/inspector-controls/parent-control.cjs.map +2 -2
  606. package/build/query/edit/inspector-controls/per-page-control.cjs.map +2 -2
  607. package/build/query/edit/inspector-controls/sticky-control.cjs.map +2 -2
  608. package/build/query/edit/inspector-controls/taxonomy-controls.cjs.map +2 -2
  609. package/build/query/edit/pattern-selection.cjs.map +2 -2
  610. package/build/query/edit/query-content.cjs +1 -4
  611. package/build/query/edit/query-content.cjs.map +2 -2
  612. package/build/query/edit/query-placeholder.cjs.map +2 -2
  613. package/build/query/edit/query-toolbar.cjs.map +2 -2
  614. package/build/query/icons.cjs.map +2 -2
  615. package/build/query/index.cjs.map +2 -2
  616. package/build/query/init.cjs.map +2 -2
  617. package/build/query/save.cjs.map +2 -2
  618. package/build/query/utils.cjs.map +2 -2
  619. package/build/query/variations.cjs.map +2 -2
  620. package/build/query/view.cjs.map +2 -2
  621. package/build/query-no-results/edit.cjs +1 -14
  622. package/build/query-no-results/edit.cjs.map +2 -2
  623. package/build/query-no-results/index.cjs +11 -0
  624. package/build/query-no-results/index.cjs.map +2 -2
  625. package/build/query-no-results/init.cjs.map +2 -2
  626. package/build/query-no-results/save.cjs.map +2 -2
  627. package/build/query-pagination/deprecated.cjs.map +2 -2
  628. package/build/query-pagination/edit.cjs +1 -8
  629. package/build/query-pagination/edit.cjs.map +2 -2
  630. package/build/query-pagination/index.cjs +6 -0
  631. package/build/query-pagination/index.cjs.map +2 -2
  632. package/build/query-pagination/init.cjs.map +2 -2
  633. package/build/query-pagination/query-pagination-arrow-controls.cjs.map +2 -2
  634. package/build/query-pagination/query-pagination-label-control.cjs.map +2 -2
  635. package/build/query-pagination/save.cjs.map +2 -2
  636. package/build/query-pagination-next/edit.cjs.map +2 -2
  637. package/build/query-pagination-next/index.cjs.map +2 -2
  638. package/build/query-pagination-next/init.cjs.map +2 -2
  639. package/build/query-pagination-numbers/edit.cjs.map +2 -2
  640. package/build/query-pagination-numbers/index.cjs.map +2 -2
  641. package/build/query-pagination-numbers/init.cjs.map +2 -2
  642. package/build/query-pagination-previous/edit.cjs.map +2 -2
  643. package/build/query-pagination-previous/index.cjs.map +2 -2
  644. package/build/query-pagination-previous/init.cjs.map +2 -2
  645. package/build/query-title/deprecated.cjs.map +2 -2
  646. package/build/query-title/edit.cjs.map +2 -2
  647. package/build/query-title/index.cjs.map +2 -2
  648. package/build/query-title/init.cjs.map +2 -2
  649. package/build/query-title/use-archive-label.cjs.map +2 -2
  650. package/build/query-title/use-post-type-label.cjs.map +2 -2
  651. package/build/query-title/variations.cjs.map +2 -2
  652. package/build/query-total/edit.cjs.map +2 -2
  653. package/build/query-total/icons.cjs.map +2 -2
  654. package/build/query-total/index.cjs.map +2 -2
  655. package/build/query-total/init.cjs.map +2 -2
  656. package/build/quote/deprecated.cjs.map +2 -2
  657. package/build/quote/edit.cjs +15 -5
  658. package/build/quote/edit.cjs.map +2 -2
  659. package/build/quote/index.cjs +3 -0
  660. package/build/quote/index.cjs.map +2 -2
  661. package/build/quote/init.cjs.map +2 -2
  662. package/build/quote/save.cjs.map +2 -2
  663. package/build/quote/transforms.cjs.map +2 -2
  664. package/build/read-more/edit.cjs +3 -1
  665. package/build/read-more/edit.cjs.map +2 -2
  666. package/build/read-more/index.cjs.map +2 -2
  667. package/build/read-more/init.cjs.map +2 -2
  668. package/build/rss/edit.cjs.map +2 -2
  669. package/build/rss/index.cjs.map +2 -2
  670. package/build/rss/init.cjs.map +2 -2
  671. package/build/search/edit.cjs.map +2 -2
  672. package/build/search/index.cjs.map +2 -2
  673. package/build/search/init.cjs.map +2 -2
  674. package/build/search/variations.cjs.map +2 -2
  675. package/build/search/view.cjs.map +2 -2
  676. package/build/separator/deprecated.cjs.map +2 -2
  677. package/build/separator/edit.cjs.map +2 -2
  678. package/build/separator/index.cjs.map +2 -2
  679. package/build/separator/init.cjs.map +2 -2
  680. package/build/separator/save.cjs.map +2 -2
  681. package/build/separator/transforms.cjs.map +2 -2
  682. package/build/separator/use-deprecated-opacity.cjs.map +2 -2
  683. package/build/shortcode/edit.cjs.map +2 -2
  684. package/build/shortcode/index.cjs.map +2 -2
  685. package/build/shortcode/init.cjs.map +2 -2
  686. package/build/shortcode/save.cjs.map +2 -2
  687. package/build/shortcode/transforms.cjs.map +2 -2
  688. package/build/site-logo/edit.cjs.map +2 -2
  689. package/build/site-logo/index.cjs.map +2 -2
  690. package/build/site-logo/init.cjs.map +2 -2
  691. package/build/site-logo/transforms.cjs.map +2 -2
  692. package/build/site-tagline/deprecated.cjs.map +2 -2
  693. package/build/site-tagline/edit.cjs +3 -1
  694. package/build/site-tagline/edit.cjs.map +2 -2
  695. package/build/site-tagline/icon.cjs.map +2 -2
  696. package/build/site-tagline/index.cjs.map +2 -2
  697. package/build/site-tagline/init.cjs.map +2 -2
  698. package/build/site-title/deprecated.cjs.map +2 -2
  699. package/build/site-title/edit.cjs +3 -1
  700. package/build/site-title/edit.cjs.map +2 -2
  701. package/build/site-title/index.cjs.map +2 -2
  702. package/build/site-title/init.cjs.map +2 -2
  703. package/build/site-title/transforms.cjs.map +2 -2
  704. package/build/social-link/edit.cjs.map +2 -2
  705. package/build/social-link/icons/amazon.cjs.map +2 -2
  706. package/build/social-link/icons/bandcamp.cjs.map +2 -2
  707. package/build/social-link/icons/behance.cjs.map +2 -2
  708. package/build/social-link/icons/bluesky.cjs.map +2 -2
  709. package/build/social-link/icons/chain.cjs.map +2 -2
  710. package/build/social-link/icons/codepen.cjs.map +2 -2
  711. package/build/social-link/icons/deviantart.cjs.map +2 -2
  712. package/build/social-link/icons/discord.cjs.map +2 -2
  713. package/build/social-link/icons/dribbble.cjs.map +2 -2
  714. package/build/social-link/icons/dropbox.cjs.map +2 -2
  715. package/build/social-link/icons/etsy.cjs.map +2 -2
  716. package/build/social-link/icons/facebook.cjs.map +2 -2
  717. package/build/social-link/icons/feed.cjs.map +2 -2
  718. package/build/social-link/icons/fivehundredpx.cjs.map +2 -2
  719. package/build/social-link/icons/flickr.cjs.map +2 -2
  720. package/build/social-link/icons/foursquare.cjs.map +2 -2
  721. package/build/social-link/icons/github.cjs.map +2 -2
  722. package/build/social-link/icons/goodreads.cjs.map +2 -2
  723. package/build/social-link/icons/google.cjs.map +2 -2
  724. package/build/social-link/icons/gravatar.cjs.map +2 -2
  725. package/build/social-link/icons/instagram.cjs.map +2 -2
  726. package/build/social-link/icons/lastfm.cjs.map +2 -2
  727. package/build/social-link/icons/linkedin.cjs.map +2 -2
  728. package/build/social-link/icons/mail.cjs.map +2 -2
  729. package/build/social-link/icons/mastodon.cjs.map +2 -2
  730. package/build/social-link/icons/medium.cjs.map +2 -2
  731. package/build/social-link/icons/meetup.cjs.map +2 -2
  732. package/build/social-link/icons/patreon.cjs.map +2 -2
  733. package/build/social-link/icons/pinterest.cjs.map +2 -2
  734. package/build/social-link/icons/pocket.cjs.map +2 -2
  735. package/build/social-link/icons/reddit.cjs.map +2 -2
  736. package/build/social-link/icons/skype.cjs.map +2 -2
  737. package/build/social-link/icons/snapchat.cjs.map +2 -2
  738. package/build/social-link/icons/soundcloud.cjs.map +2 -2
  739. package/build/social-link/icons/spotify.cjs.map +2 -2
  740. package/build/social-link/icons/telegram.cjs.map +2 -2
  741. package/build/social-link/icons/threads.cjs.map +2 -2
  742. package/build/social-link/icons/tiktok.cjs.map +2 -2
  743. package/build/social-link/icons/tumblr.cjs.map +2 -2
  744. package/build/social-link/icons/twitch.cjs.map +2 -2
  745. package/build/social-link/icons/twitter.cjs.map +2 -2
  746. package/build/social-link/icons/vimeo.cjs.map +2 -2
  747. package/build/social-link/icons/vk.cjs.map +2 -2
  748. package/build/social-link/icons/whatsapp.cjs.map +2 -2
  749. package/build/social-link/icons/wordpress.cjs.map +2 -2
  750. package/build/social-link/icons/x.cjs.map +2 -2
  751. package/build/social-link/icons/yelp.cjs.map +2 -2
  752. package/build/social-link/icons/youtube.cjs.map +2 -2
  753. package/build/social-link/index.cjs.map +2 -2
  754. package/build/social-link/init.cjs.map +2 -2
  755. package/build/social-link/social-list.cjs.map +2 -2
  756. package/build/social-link/variations.cjs.map +2 -2
  757. package/build/social-links/deprecated.cjs.map +2 -2
  758. package/build/social-links/edit.cjs +11 -4
  759. package/build/social-links/edit.cjs.map +2 -2
  760. package/build/social-links/index.cjs.map +2 -2
  761. package/build/social-links/init.cjs.map +2 -2
  762. package/build/social-links/save.cjs.map +2 -2
  763. package/build/spacer/controls.cjs.map +2 -2
  764. package/build/spacer/deprecated.cjs.map +2 -2
  765. package/build/spacer/edit.cjs.map +2 -2
  766. package/build/spacer/index.cjs.map +2 -2
  767. package/build/spacer/init.cjs.map +2 -2
  768. package/build/spacer/save.cjs.map +2 -2
  769. package/build/spacer/transforms.cjs.map +2 -2
  770. package/build/tab-list/block.json +2 -1
  771. package/build/tab-list/edit.cjs +2 -0
  772. package/build/tab-list/edit.cjs.map +3 -3
  773. package/build/tab-list/index.cjs.map +2 -2
  774. package/build/tab-list/init.cjs.map +2 -2
  775. package/build/tab-list/save.cjs.map +2 -2
  776. package/build/tab-list/tab-movers.cjs +87 -0
  777. package/build/tab-list/tab-movers.cjs.map +7 -0
  778. package/build/tab-panel/controls.cjs.map +2 -2
  779. package/build/tab-panel/edit.cjs +1 -12
  780. package/build/tab-panel/edit.cjs.map +2 -2
  781. package/build/tab-panel/index.cjs +21 -0
  782. package/build/tab-panel/index.cjs.map +2 -2
  783. package/build/tab-panel/init.cjs.map +2 -2
  784. package/build/tab-panel/save.cjs.map +2 -2
  785. package/build/tab-panels/edit.cjs +0 -6
  786. package/build/tab-panels/edit.cjs.map +2 -2
  787. package/build/tab-panels/index.cjs +2 -0
  788. package/build/tab-panels/index.cjs.map +2 -2
  789. package/build/tab-panels/init.cjs.map +2 -2
  790. package/build/tab-panels/save.cjs.map +2 -2
  791. package/build/table/deprecated.cjs.map +2 -2
  792. package/build/table/edit.cjs +1 -1
  793. package/build/table/edit.cjs.map +2 -2
  794. package/build/table/index.cjs.map +2 -2
  795. package/build/table/init.cjs.map +2 -2
  796. package/build/table/save.cjs.map +2 -2
  797. package/build/table/transforms.cjs.map +2 -2
  798. package/build/table-of-contents/edit.cjs +84 -54
  799. package/build/table-of-contents/edit.cjs.map +3 -3
  800. package/build/table-of-contents/hooks.cjs.map +2 -2
  801. package/build/table-of-contents/index.cjs.map +2 -2
  802. package/build/table-of-contents/init.cjs.map +2 -2
  803. package/build/table-of-contents/list.cjs.map +2 -2
  804. package/build/table-of-contents/save.cjs.map +2 -2
  805. package/build/table-of-contents/utils.cjs +25 -0
  806. package/build/table-of-contents/utils.cjs.map +2 -2
  807. package/build/tabs/edit.cjs +0 -2
  808. package/build/tabs/edit.cjs.map +2 -2
  809. package/build/tabs/index.cjs +3 -0
  810. package/build/tabs/index.cjs.map +2 -2
  811. package/build/tabs/init.cjs.map +2 -2
  812. package/build/tabs/save.cjs.map +2 -2
  813. package/build/tabs/tab-toolbar-controls.cjs.map +2 -2
  814. package/build/tabs/use-tab-actions.cjs +24 -3
  815. package/build/tabs/use-tab-actions.cjs.map +2 -2
  816. package/build/tabs/use-tab-list-items-sync.cjs.map +2 -2
  817. package/build/tabs/view.cjs +7 -1
  818. package/build/tabs/view.cjs.map +2 -2
  819. package/build/tag-cloud/edit.cjs.map +2 -2
  820. package/build/tag-cloud/index.cjs.map +2 -2
  821. package/build/tag-cloud/init.cjs.map +2 -2
  822. package/build/tag-cloud/transforms.cjs.map +2 -2
  823. package/build/template-part/edit/advanced-controls.cjs.map +2 -2
  824. package/build/template-part/edit/import-controls.cjs.map +2 -2
  825. package/build/template-part/edit/index.cjs.map +2 -2
  826. package/build/template-part/edit/inner-blocks.cjs.map +2 -2
  827. package/build/template-part/edit/placeholder.cjs.map +2 -2
  828. package/build/template-part/edit/selection-modal.cjs.map +2 -2
  829. package/build/template-part/edit/title-modal.cjs.map +2 -2
  830. package/build/template-part/edit/utils/get-template-part-icon.cjs.map +2 -2
  831. package/build/template-part/edit/utils/hooks.cjs.map +2 -2
  832. package/build/template-part/edit/utils/map-template-part-to-block-pattern.cjs.map +2 -2
  833. package/build/template-part/edit/utils/transformers.cjs.map +2 -2
  834. package/build/template-part/index.cjs.map +2 -2
  835. package/build/template-part/init.cjs.map +2 -2
  836. package/build/template-part/variations.cjs.map +2 -2
  837. package/build/term-count/edit.cjs.map +2 -2
  838. package/build/term-count/icons.cjs.map +2 -2
  839. package/build/term-count/index.cjs.map +2 -2
  840. package/build/term-count/init.cjs.map +2 -2
  841. package/build/term-count/use-term-count.cjs.map +2 -2
  842. package/build/term-description/deprecated.cjs.map +2 -2
  843. package/build/term-description/edit.cjs.map +2 -2
  844. package/build/term-description/index.cjs.map +2 -2
  845. package/build/term-description/init.cjs.map +2 -2
  846. package/build/term-description/use-term-description.cjs.map +2 -2
  847. package/build/term-name/deprecated.cjs.map +2 -2
  848. package/build/term-name/edit.cjs.map +2 -2
  849. package/build/term-name/index.cjs.map +2 -2
  850. package/build/term-name/use-term-name.cjs.map +2 -2
  851. package/build/term-template/edit.cjs +1 -2
  852. package/build/term-template/edit.cjs.map +2 -2
  853. package/build/term-template/index.cjs +2 -0
  854. package/build/term-template/index.cjs.map +2 -2
  855. package/build/term-template/save.cjs.map +2 -2
  856. package/build/terms-query/edit/index.cjs.map +2 -2
  857. package/build/terms-query/edit/inspector-controls/advanced-controls.cjs.map +2 -2
  858. package/build/terms-query/edit/inspector-controls/empty-terms-control.cjs.map +2 -2
  859. package/build/terms-query/edit/inspector-controls/include-control.cjs.map +2 -2
  860. package/build/terms-query/edit/inspector-controls/index.cjs.map +2 -2
  861. package/build/terms-query/edit/inspector-controls/inherit-control.cjs.map +2 -2
  862. package/build/terms-query/edit/inspector-controls/max-terms-control.cjs.map +2 -2
  863. package/build/terms-query/edit/inspector-controls/nested-terms-control.cjs.map +2 -2
  864. package/build/terms-query/edit/inspector-controls/order-control.cjs.map +2 -2
  865. package/build/terms-query/edit/inspector-controls/taxonomy-control.cjs.map +2 -2
  866. package/build/terms-query/edit/terms-query-content.cjs +1 -4
  867. package/build/terms-query/edit/terms-query-content.cjs.map +2 -2
  868. package/build/terms-query/edit/terms-query-placeholder.cjs.map +2 -2
  869. package/build/terms-query/index.cjs +2 -0
  870. package/build/terms-query/index.cjs.map +2 -2
  871. package/build/terms-query/save.cjs.map +2 -2
  872. package/build/terms-query/utils.cjs.map +2 -2
  873. package/build/terms-query/variations.cjs.map +2 -2
  874. package/build/text-columns/edit.cjs.map +2 -2
  875. package/build/text-columns/index.cjs.map +2 -2
  876. package/build/text-columns/init.cjs.map +2 -2
  877. package/build/text-columns/save.cjs.map +2 -2
  878. package/build/text-columns/transforms.cjs.map +2 -2
  879. package/build/utils/caption.cjs +2 -2
  880. package/build/utils/caption.cjs.map +2 -2
  881. package/build/utils/deprecated-text-align-attributes.cjs.map +2 -2
  882. package/build/utils/get-transformed-attributes.cjs.map +2 -2
  883. package/build/utils/hooks.cjs.map +2 -2
  884. package/build/utils/html-renderer.cjs.map +2 -2
  885. package/build/utils/init-block.cjs.map +2 -2
  886. package/build/utils/is-within-overlay.cjs.map +2 -2
  887. package/build/utils/media-control.cjs.map +2 -2
  888. package/build/utils/migrate-font-family.cjs.map +2 -2
  889. package/build/utils/poster-image.cjs.map +2 -2
  890. package/build/utils/search-patterns.cjs.map +2 -2
  891. package/build/utils/style-state.cjs.map +2 -2
  892. package/build/utils/waveform-player.cjs.map +2 -2
  893. package/build/utils/waveform-utils.cjs.map +2 -2
  894. package/build/verse/deprecated.cjs.map +2 -2
  895. package/build/verse/edit.cjs +3 -1
  896. package/build/verse/edit.cjs.map +2 -2
  897. package/build/verse/index.cjs.map +2 -2
  898. package/build/verse/init.cjs.map +2 -2
  899. package/build/verse/save.cjs.map +2 -2
  900. package/build/verse/transforms.cjs.map +2 -2
  901. package/build/video/deprecated.cjs.map +2 -2
  902. package/build/video/edit-common-settings.cjs.map +2 -2
  903. package/build/video/edit.cjs +1 -1
  904. package/build/video/edit.cjs.map +2 -2
  905. package/build/video/index.cjs.map +2 -2
  906. package/build/video/init.cjs.map +2 -2
  907. package/build/video/save.cjs.map +2 -2
  908. package/build/video/tracks-editor.cjs +0 -1
  909. package/build/video/tracks-editor.cjs.map +2 -2
  910. package/build/video/transforms.cjs.map +2 -2
  911. package/build/video/variations.cjs +1 -1
  912. package/build/video/variations.cjs.map +2 -2
  913. package/build-module/accordion/edit.mjs +1 -3
  914. package/build-module/accordion/edit.mjs.map +2 -2
  915. package/build-module/accordion/index.mjs +3 -0
  916. package/build-module/accordion/index.mjs.map +2 -2
  917. package/build-module/accordion/init.mjs.map +2 -2
  918. package/build-module/accordion/save.mjs.map +2 -2
  919. package/build-module/accordion/view.mjs.map +2 -2
  920. package/build-module/accordion-heading/deprecated.mjs.map +2 -2
  921. package/build-module/accordion-heading/edit.mjs.map +2 -2
  922. package/build-module/accordion-heading/index.mjs.map +2 -2
  923. package/build-module/accordion-heading/init.mjs.map +2 -2
  924. package/build-module/accordion-heading/save.mjs.map +2 -2
  925. package/build-module/accordion-item/edit.mjs +1 -4
  926. package/build-module/accordion-item/edit.mjs.map +2 -2
  927. package/build-module/accordion-item/index.mjs +3 -0
  928. package/build-module/accordion-item/index.mjs.map +2 -2
  929. package/build-module/accordion-item/init.mjs.map +2 -2
  930. package/build-module/accordion-item/save.mjs.map +2 -2
  931. package/build-module/accordion-panel/block.json +1 -0
  932. package/build-module/accordion-panel/edit.mjs +0 -1
  933. package/build-module/accordion-panel/edit.mjs.map +2 -2
  934. package/build-module/accordion-panel/index.mjs +2 -0
  935. package/build-module/accordion-panel/index.mjs.map +2 -2
  936. package/build-module/accordion-panel/init.mjs.map +2 -2
  937. package/build-module/accordion-panel/save.mjs.map +2 -2
  938. package/build-module/archives/edit.mjs.map +2 -2
  939. package/build-module/archives/index.mjs.map +2 -2
  940. package/build-module/archives/init.mjs.map +2 -2
  941. package/build-module/audio/deprecated.mjs.map +2 -2
  942. package/build-module/audio/edit.mjs.map +2 -2
  943. package/build-module/audio/index.mjs.map +2 -2
  944. package/build-module/audio/init.mjs.map +2 -2
  945. package/build-module/audio/save.mjs.map +2 -2
  946. package/build-module/audio/transforms.mjs.map +2 -2
  947. package/build-module/avatar/edit.mjs.map +2 -2
  948. package/build-module/avatar/hooks.mjs.map +2 -2
  949. package/build-module/avatar/index.mjs.map +2 -2
  950. package/build-module/avatar/init.mjs.map +2 -2
  951. package/build-module/avatar/user-control.mjs.map +2 -2
  952. package/build-module/block/edit.mjs +1 -1
  953. package/build-module/block/edit.mjs.map +2 -2
  954. package/build-module/block/index.mjs.map +2 -2
  955. package/build-module/block/init.mjs.map +2 -2
  956. package/build-module/block-keyboard-shortcuts/index.mjs.map +2 -2
  957. package/build-module/breadcrumbs/edit.mjs.map +2 -2
  958. package/build-module/breadcrumbs/index.mjs.map +2 -2
  959. package/build-module/button/deprecated.mjs.map +2 -2
  960. package/build-module/button/edit.mjs.map +2 -2
  961. package/build-module/button/get-updated-link-attributes.mjs.map +2 -2
  962. package/build-module/button/index.mjs.map +2 -2
  963. package/build-module/button/init.mjs.map +2 -2
  964. package/build-module/button/save.mjs.map +2 -2
  965. package/build-module/buttons/deprecated.mjs.map +2 -2
  966. package/build-module/buttons/edit.mjs +1 -14
  967. package/build-module/buttons/edit.mjs.map +2 -2
  968. package/build-module/buttons/index.mjs +3 -0
  969. package/build-module/buttons/index.mjs.map +2 -2
  970. package/build-module/buttons/init.mjs.map +2 -2
  971. package/build-module/buttons/save.mjs.map +2 -2
  972. package/build-module/buttons/transforms.mjs.map +2 -2
  973. package/build-module/calendar/edit.mjs.map +2 -2
  974. package/build-module/calendar/index.mjs.map +2 -2
  975. package/build-module/calendar/init.mjs.map +2 -2
  976. package/build-module/calendar/transforms.mjs.map +2 -2
  977. package/build-module/categories/edit.mjs.map +2 -2
  978. package/build-module/categories/index.mjs.map +2 -2
  979. package/build-module/categories/init.mjs.map +2 -2
  980. package/build-module/categories/variations.mjs.map +2 -2
  981. package/build-module/code/edit.mjs +3 -1
  982. package/build-module/code/edit.mjs.map +2 -2
  983. package/build-module/code/index.mjs.map +2 -2
  984. package/build-module/code/init.mjs.map +2 -2
  985. package/build-module/code/save.mjs.map +2 -2
  986. package/build-module/code/transforms.mjs.map +2 -2
  987. package/build-module/code/utils.mjs.map +2 -2
  988. package/build-module/column/deprecated.mjs.map +2 -2
  989. package/build-module/column/edit.mjs.map +2 -2
  990. package/build-module/column/index.mjs.map +2 -2
  991. package/build-module/column/init.mjs.map +2 -2
  992. package/build-module/column/save.mjs.map +2 -2
  993. package/build-module/columns/deprecated.mjs.map +2 -2
  994. package/build-module/columns/edit.mjs.map +2 -2
  995. package/build-module/columns/index.mjs.map +2 -2
  996. package/build-module/columns/init.mjs.map +2 -2
  997. package/build-module/columns/save.mjs.map +2 -2
  998. package/build-module/columns/transforms.mjs.map +2 -2
  999. package/build-module/columns/variations.mjs.map +2 -2
  1000. package/build-module/comment-author-avatar/edit.mjs.map +2 -2
  1001. package/build-module/comment-author-avatar/index.mjs.map +2 -2
  1002. package/build-module/comment-author-avatar/init.mjs.map +2 -2
  1003. package/build-module/comment-author-name/deprecated.mjs.map +2 -2
  1004. package/build-module/comment-author-name/edit.mjs.map +2 -2
  1005. package/build-module/comment-author-name/index.mjs.map +2 -2
  1006. package/build-module/comment-author-name/init.mjs.map +2 -2
  1007. package/build-module/comment-content/deprecated.mjs.map +2 -2
  1008. package/build-module/comment-content/edit.mjs.map +2 -2
  1009. package/build-module/comment-content/index.mjs.map +2 -2
  1010. package/build-module/comment-content/init.mjs.map +2 -2
  1011. package/build-module/comment-date/deprecated.mjs.map +2 -2
  1012. package/build-module/comment-date/edit.mjs.map +2 -2
  1013. package/build-module/comment-date/index.mjs.map +2 -2
  1014. package/build-module/comment-date/init.mjs.map +2 -2
  1015. package/build-module/comment-edit-link/deprecated.mjs.map +2 -2
  1016. package/build-module/comment-edit-link/edit.mjs.map +2 -2
  1017. package/build-module/comment-edit-link/index.mjs.map +2 -2
  1018. package/build-module/comment-edit-link/init.mjs.map +2 -2
  1019. package/build-module/comment-reply-link/deprecated.mjs.map +2 -2
  1020. package/build-module/comment-reply-link/edit.mjs.map +2 -2
  1021. package/build-module/comment-reply-link/index.mjs.map +2 -2
  1022. package/build-module/comment-reply-link/init.mjs.map +2 -2
  1023. package/build-module/comment-template/edit.mjs +1 -12
  1024. package/build-module/comment-template/edit.mjs.map +2 -2
  1025. package/build-module/comment-template/hooks.mjs.map +2 -2
  1026. package/build-module/comment-template/index.mjs +9 -0
  1027. package/build-module/comment-template/index.mjs.map +2 -2
  1028. package/build-module/comment-template/init.mjs.map +2 -2
  1029. package/build-module/comment-template/save.mjs.map +2 -2
  1030. package/build-module/comments/deprecated.mjs.map +2 -2
  1031. package/build-module/comments/edit/comments-inspector-controls.mjs.map +2 -2
  1032. package/build-module/comments/edit/comments-legacy.mjs.map +2 -2
  1033. package/build-module/comments/edit/index.mjs +1 -4
  1034. package/build-module/comments/edit/index.mjs.map +2 -2
  1035. package/build-module/comments/edit/placeholder.mjs.map +2 -2
  1036. package/build-module/comments/index.mjs +2 -0
  1037. package/build-module/comments/index.mjs.map +2 -2
  1038. package/build-module/comments/init.mjs.map +2 -2
  1039. package/build-module/comments/save.mjs.map +2 -2
  1040. package/build-module/comments-pagination/comments-pagination-arrow-controls.mjs.map +2 -2
  1041. package/build-module/comments-pagination/edit.mjs +1 -8
  1042. package/build-module/comments-pagination/edit.mjs.map +2 -2
  1043. package/build-module/comments-pagination/index.mjs +6 -0
  1044. package/build-module/comments-pagination/index.mjs.map +2 -2
  1045. package/build-module/comments-pagination/init.mjs.map +2 -2
  1046. package/build-module/comments-pagination/save.mjs.map +2 -2
  1047. package/build-module/comments-pagination-next/edit.mjs.map +2 -2
  1048. package/build-module/comments-pagination-next/index.mjs.map +2 -2
  1049. package/build-module/comments-pagination-next/init.mjs.map +2 -2
  1050. package/build-module/comments-pagination-numbers/edit.mjs.map +2 -2
  1051. package/build-module/comments-pagination-numbers/index.mjs.map +2 -2
  1052. package/build-module/comments-pagination-numbers/init.mjs.map +2 -2
  1053. package/build-module/comments-pagination-previous/edit.mjs.map +2 -2
  1054. package/build-module/comments-pagination-previous/index.mjs.map +2 -2
  1055. package/build-module/comments-pagination-previous/init.mjs.map +2 -2
  1056. package/build-module/comments-title/deprecated.mjs.map +2 -2
  1057. package/build-module/comments-title/edit.mjs.map +2 -2
  1058. package/build-module/comments-title/index.mjs.map +2 -2
  1059. package/build-module/comments-title/init.mjs.map +2 -2
  1060. package/build-module/cover/block.json +1 -0
  1061. package/build-module/cover/deprecated.mjs.map +2 -2
  1062. package/build-module/cover/edit/block-controls.mjs +3 -1
  1063. package/build-module/cover/edit/block-controls.mjs.map +2 -2
  1064. package/build-module/cover/edit/color-utils.mjs.map +2 -2
  1065. package/build-module/cover/edit/cover-placeholder.mjs.map +2 -2
  1066. package/build-module/cover/edit/embed-video-url-input.mjs.map +2 -2
  1067. package/build-module/cover/edit/index.mjs +78 -34
  1068. package/build-module/cover/edit/index.mjs.map +2 -2
  1069. package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
  1070. package/build-module/cover/edit/resizable-cover-popover.mjs.map +2 -2
  1071. package/build-module/cover/embed-video-utils.mjs.map +2 -2
  1072. package/build-module/cover/index.mjs.map +2 -2
  1073. package/build-module/cover/init.mjs.map +2 -2
  1074. package/build-module/cover/save.mjs.map +2 -2
  1075. package/build-module/cover/shared.mjs.map +2 -2
  1076. package/build-module/cover/transforms.mjs.map +2 -2
  1077. package/build-module/cover/variations.mjs.map +2 -2
  1078. package/build-module/details/edit.mjs +2 -13
  1079. package/build-module/details/edit.mjs.map +2 -2
  1080. package/build-module/details/index.mjs +9 -0
  1081. package/build-module/details/index.mjs.map +2 -2
  1082. package/build-module/details/init.mjs.map +2 -2
  1083. package/build-module/details/save.mjs.map +2 -2
  1084. package/build-module/details/transforms.mjs.map +2 -2
  1085. package/build-module/embed/deprecated.mjs +1 -1
  1086. package/build-module/embed/deprecated.mjs.map +2 -2
  1087. package/build-module/embed/edit.mjs +1 -1
  1088. package/build-module/embed/edit.mjs.map +2 -2
  1089. package/build-module/embed/embed-controls.mjs.map +2 -2
  1090. package/build-module/embed/embed-loading.mjs.map +2 -2
  1091. package/build-module/embed/embed-placeholder.mjs +1 -1
  1092. package/build-module/embed/embed-placeholder.mjs.map +2 -2
  1093. package/build-module/embed/embed-preview.mjs.map +2 -2
  1094. package/build-module/embed/icons.mjs.map +2 -2
  1095. package/build-module/embed/index.mjs.map +2 -2
  1096. package/build-module/embed/init.mjs.map +2 -2
  1097. package/build-module/embed/save.mjs.map +2 -2
  1098. package/build-module/embed/transforms.mjs.map +2 -2
  1099. package/build-module/embed/util.mjs +1 -3
  1100. package/build-module/embed/util.mjs.map +2 -2
  1101. package/build-module/embed/variations.mjs.map +2 -2
  1102. package/build-module/embed/wp-embed-preview.mjs.map +2 -2
  1103. package/build-module/file/deprecated.mjs.map +2 -2
  1104. package/build-module/file/edit.mjs.map +2 -2
  1105. package/build-module/file/index.mjs.map +2 -2
  1106. package/build-module/file/init.mjs.map +2 -2
  1107. package/build-module/file/inspector.mjs.map +2 -2
  1108. package/build-module/file/save.mjs.map +2 -2
  1109. package/build-module/file/transforms.mjs.map +2 -2
  1110. package/build-module/file/variations.mjs.map +2 -2
  1111. package/build-module/file/view.mjs.map +2 -2
  1112. package/build-module/footnotes/edit.mjs +6 -1
  1113. package/build-module/footnotes/edit.mjs.map +2 -2
  1114. package/build-module/footnotes/format.mjs.map +2 -2
  1115. package/build-module/footnotes/index.mjs.map +2 -2
  1116. package/build-module/footnotes/init.mjs.map +2 -2
  1117. package/build-module/form/deprecated.mjs.map +2 -2
  1118. package/build-module/form/edit.mjs +0 -34
  1119. package/build-module/form/edit.mjs.map +2 -2
  1120. package/build-module/form/icons.mjs.map +2 -2
  1121. package/build-module/form/index.mjs +35 -0
  1122. package/build-module/form/index.mjs.map +2 -2
  1123. package/build-module/form/init.mjs.map +2 -2
  1124. package/build-module/form/save.mjs.map +2 -2
  1125. package/build-module/form/utils.mjs.map +2 -2
  1126. package/build-module/form/variations.mjs.map +2 -2
  1127. package/build-module/form-input/deprecated.mjs.map +2 -2
  1128. package/build-module/form-input/edit.mjs.map +2 -2
  1129. package/build-module/form-input/icons.mjs.map +2 -2
  1130. package/build-module/form-input/index.mjs.map +2 -2
  1131. package/build-module/form-input/init.mjs.map +2 -2
  1132. package/build-module/form-input/save.mjs.map +2 -2
  1133. package/build-module/form-input/variations.mjs.map +2 -2
  1134. package/build-module/form-submission-notification/edit.mjs +0 -11
  1135. package/build-module/form-submission-notification/edit.mjs.map +2 -2
  1136. package/build-module/form-submission-notification/index.mjs +12 -0
  1137. package/build-module/form-submission-notification/index.mjs.map +2 -2
  1138. package/build-module/form-submission-notification/init.mjs.map +2 -2
  1139. package/build-module/form-submission-notification/save.mjs.map +2 -2
  1140. package/build-module/form-submission-notification/variations.mjs.map +2 -2
  1141. package/build-module/form-submit-button/edit.mjs +0 -18
  1142. package/build-module/form-submit-button/edit.mjs.map +2 -2
  1143. package/build-module/form-submit-button/index.mjs +18 -0
  1144. package/build-module/form-submit-button/index.mjs.map +2 -2
  1145. package/build-module/form-submit-button/init.mjs.map +2 -2
  1146. package/build-module/form-submit-button/save.mjs.map +2 -2
  1147. package/build-module/freeform/convert-to-blocks-button.mjs.map +2 -2
  1148. package/build-module/freeform/edit.mjs.map +2 -2
  1149. package/build-module/freeform/index.mjs.map +2 -2
  1150. package/build-module/freeform/init.mjs.map +2 -2
  1151. package/build-module/freeform/modal.mjs.map +2 -2
  1152. package/build-module/freeform/save.mjs.map +2 -2
  1153. package/build-module/gallery/deprecated.mjs.map +2 -2
  1154. package/build-module/gallery/dynamic-gallery.mjs +104 -61
  1155. package/build-module/gallery/dynamic-gallery.mjs.map +2 -2
  1156. package/build-module/gallery/dynamic-source.mjs.map +2 -2
  1157. package/build-module/gallery/edit.mjs.map +2 -2
  1158. package/build-module/gallery/gallery.mjs.map +2 -2
  1159. package/build-module/gallery/gap-styles.mjs.map +2 -2
  1160. package/build-module/gallery/index.mjs.map +2 -2
  1161. package/build-module/gallery/init.mjs.map +2 -2
  1162. package/build-module/gallery/save.mjs.map +2 -2
  1163. package/build-module/gallery/shared-icon.mjs.map +2 -2
  1164. package/build-module/gallery/transforms.mjs.map +2 -2
  1165. package/build-module/gallery/use-dynamic-gallery.mjs +16 -9
  1166. package/build-module/gallery/use-dynamic-gallery.mjs.map +2 -2
  1167. package/build-module/gallery/use-get-media.mjs.map +2 -2
  1168. package/build-module/gallery/use-get-new-images.mjs.map +2 -2
  1169. package/build-module/gallery/use-image-sizes.mjs.map +2 -2
  1170. package/build-module/gallery/utils.mjs.map +2 -2
  1171. package/build-module/gallery/variations.mjs.map +2 -2
  1172. package/build-module/group/block.json +0 -1
  1173. package/build-module/group/deprecated.mjs.map +2 -2
  1174. package/build-module/group/edit.mjs.map +2 -2
  1175. package/build-module/group/index.mjs.map +2 -2
  1176. package/build-module/group/init.mjs.map +2 -2
  1177. package/build-module/group/placeholder.mjs.map +2 -2
  1178. package/build-module/group/save.mjs.map +2 -2
  1179. package/build-module/group/transforms.mjs.map +2 -2
  1180. package/build-module/group/variations.mjs.map +2 -2
  1181. package/build-module/heading/autogenerate-anchors.mjs.map +2 -2
  1182. package/build-module/heading/deprecated.mjs.map +2 -2
  1183. package/build-module/heading/edit.mjs +1 -1
  1184. package/build-module/heading/edit.mjs.map +2 -2
  1185. package/build-module/heading/index.mjs.map +2 -2
  1186. package/build-module/heading/init.mjs.map +2 -2
  1187. package/build-module/heading/save.mjs.map +2 -2
  1188. package/build-module/heading/transforms.mjs.map +2 -2
  1189. package/build-module/heading/variations.mjs.map +2 -2
  1190. package/build-module/home-link/edit.mjs.map +2 -2
  1191. package/build-module/home-link/index.mjs.map +2 -2
  1192. package/build-module/home-link/init.mjs.map +2 -2
  1193. package/build-module/home-link/save.mjs.map +2 -2
  1194. package/build-module/html/edit.mjs.map +2 -2
  1195. package/build-module/html/index.mjs.map +2 -2
  1196. package/build-module/html/init.mjs.map +2 -2
  1197. package/build-module/html/modal.mjs +68 -55
  1198. package/build-module/html/modal.mjs.map +2 -2
  1199. package/build-module/html/preview.mjs.map +2 -2
  1200. package/build-module/html/transforms.mjs.map +2 -2
  1201. package/build-module/icon/block.json +5 -3
  1202. package/build-module/icon/components/custom-inserter/icon-grid.mjs.map +2 -2
  1203. package/build-module/icon/components/custom-inserter/index.mjs.map +2 -2
  1204. package/build-module/icon/edit.mjs.map +2 -2
  1205. package/build-module/icon/icon.mjs.map +2 -2
  1206. package/build-module/icon/index.mjs.map +2 -2
  1207. package/build-module/image/deprecated.mjs.map +2 -2
  1208. package/build-module/image/edit.mjs +5 -2
  1209. package/build-module/image/edit.mjs.map +2 -2
  1210. package/build-module/image/image.mjs +19 -5
  1211. package/build-module/image/image.mjs.map +2 -2
  1212. package/build-module/image/index.mjs.map +2 -2
  1213. package/build-module/image/init.mjs.map +2 -2
  1214. package/build-module/image/save.mjs.map +2 -2
  1215. package/build-module/image/transforms.mjs.map +2 -2
  1216. package/build-module/image/use-max-width-observer.mjs.map +2 -2
  1217. package/build-module/image/use-open-image-media-editor-modal.mjs +6 -2
  1218. package/build-module/image/use-open-image-media-editor-modal.mjs.map +2 -2
  1219. package/build-module/image/utils.mjs.map +2 -2
  1220. package/build-module/image/view.mjs.map +2 -2
  1221. package/build-module/index.mjs.map +2 -2
  1222. package/build-module/latest-comments/deprecated.mjs.map +2 -2
  1223. package/build-module/latest-comments/edit.mjs.map +2 -2
  1224. package/build-module/latest-comments/index.mjs.map +2 -2
  1225. package/build-module/latest-comments/init.mjs.map +2 -2
  1226. package/build-module/latest-posts/deprecated.mjs.map +2 -2
  1227. package/build-module/latest-posts/edit.mjs.map +2 -2
  1228. package/build-module/latest-posts/index.mjs.map +2 -2
  1229. package/build-module/latest-posts/init.mjs.map +2 -2
  1230. package/build-module/list/deprecated.mjs.map +2 -2
  1231. package/build-module/list/edit.mjs +5 -4
  1232. package/build-module/list/edit.mjs.map +2 -2
  1233. package/build-module/list/index.mjs +3 -0
  1234. package/build-module/list/index.mjs.map +2 -2
  1235. package/build-module/list/init.mjs.map +2 -2
  1236. package/build-module/list/ordered-list-settings.mjs.map +2 -2
  1237. package/build-module/list/save.mjs.map +2 -2
  1238. package/build-module/list/tag-name.mjs.map +2 -2
  1239. package/build-module/list/transforms.mjs.map +2 -2
  1240. package/build-module/list/utils.mjs.map +2 -2
  1241. package/build-module/list-item/edit.mjs.map +2 -2
  1242. package/build-module/list-item/hooks/use-enter.mjs.map +2 -2
  1243. package/build-module/list-item/hooks/use-indent-list-item.mjs +10 -2
  1244. package/build-module/list-item/hooks/use-indent-list-item.mjs.map +2 -2
  1245. package/build-module/list-item/hooks/use-merge.mjs.map +2 -2
  1246. package/build-module/list-item/hooks/use-outdent-list-item.mjs.map +2 -2
  1247. package/build-module/list-item/hooks/use-space.mjs.map +2 -2
  1248. package/build-module/list-item/index.mjs.map +2 -2
  1249. package/build-module/list-item/init.mjs.map +2 -2
  1250. package/build-module/list-item/save.mjs.map +2 -2
  1251. package/build-module/list-item/transforms.mjs.map +2 -2
  1252. package/build-module/lock-unlock.mjs.map +2 -2
  1253. package/build-module/loginout/edit.mjs.map +2 -2
  1254. package/build-module/loginout/index.mjs.map +2 -2
  1255. package/build-module/loginout/init.mjs.map +2 -2
  1256. package/build-module/math/deprecated.mjs.map +2 -2
  1257. package/build-module/math/edit.mjs +41 -60
  1258. package/build-module/math/edit.mjs.map +2 -2
  1259. package/build-module/math/index.mjs.map +2 -2
  1260. package/build-module/math/init.mjs.map +2 -2
  1261. package/build-module/math/save.mjs.map +2 -2
  1262. package/build-module/media-text/constants.mjs.map +2 -2
  1263. package/build-module/media-text/deprecated.mjs.map +2 -2
  1264. package/build-module/media-text/edit.mjs +4 -4
  1265. package/build-module/media-text/edit.mjs.map +2 -2
  1266. package/build-module/media-text/index.mjs +2 -0
  1267. package/build-module/media-text/index.mjs.map +2 -2
  1268. package/build-module/media-text/init.mjs.map +2 -2
  1269. package/build-module/media-text/media-container.mjs.map +2 -2
  1270. package/build-module/media-text/save.mjs.map +2 -2
  1271. package/build-module/media-text/transforms.mjs.map +2 -2
  1272. package/build-module/missing/edit.mjs.map +2 -2
  1273. package/build-module/missing/index.mjs.map +2 -2
  1274. package/build-module/missing/init.mjs.map +2 -2
  1275. package/build-module/missing/save.mjs.map +2 -2
  1276. package/build-module/more/edit.mjs +2 -2
  1277. package/build-module/more/edit.mjs.map +2 -2
  1278. package/build-module/more/index.mjs.map +2 -2
  1279. package/build-module/more/init.mjs.map +2 -2
  1280. package/build-module/more/save.mjs.map +2 -2
  1281. package/build-module/more/transforms.mjs.map +2 -2
  1282. package/build-module/navigation/deprecated.mjs.map +2 -2
  1283. package/build-module/navigation/edit/accessible-description.mjs.map +2 -2
  1284. package/build-module/navigation/edit/accessible-menu-description.mjs.map +2 -2
  1285. package/build-module/navigation/edit/deleted-navigation-warning.mjs.map +2 -2
  1286. package/build-module/navigation/edit/deleted-overlay-warning.mjs.map +2 -2
  1287. package/build-module/navigation/edit/index.mjs +30 -16
  1288. package/build-module/navigation/edit/index.mjs.map +2 -2
  1289. package/build-module/navigation/edit/inner-blocks.mjs.map +2 -2
  1290. package/build-module/navigation/edit/leaf-more-menu.mjs +33 -23
  1291. package/build-module/navigation/edit/leaf-more-menu.mjs.map +2 -2
  1292. package/build-module/navigation/edit/manage-menus-button.mjs.map +2 -2
  1293. package/build-module/navigation/edit/menu-inspector-controls.mjs.map +2 -2
  1294. package/build-module/navigation/edit/navigation-link-ui.mjs +30 -19
  1295. package/build-module/navigation/edit/navigation-link-ui.mjs.map +2 -2
  1296. package/build-module/navigation/edit/navigation-list-view-header.mjs.map +2 -2
  1297. package/build-module/navigation/edit/navigation-menu-delete-control.mjs.map +2 -2
  1298. package/build-module/navigation/edit/navigation-menu-name-control.mjs.map +2 -2
  1299. package/build-module/navigation/edit/navigation-menu-selector.mjs.map +2 -2
  1300. package/build-module/navigation/edit/overlay-menu-icon.mjs.map +2 -2
  1301. package/build-module/navigation/edit/overlay-menu-preview-button.mjs.map +2 -2
  1302. package/build-module/navigation/edit/overlay-menu-preview-controls.mjs.map +2 -2
  1303. package/build-module/navigation/edit/overlay-menu-preview.mjs.map +2 -2
  1304. package/build-module/navigation/edit/overlay-panel.mjs.map +2 -2
  1305. package/build-module/navigation/edit/overlay-preview.mjs.map +2 -2
  1306. package/build-module/navigation/edit/overlay-template-part-selector.mjs.map +2 -2
  1307. package/build-module/navigation/edit/overlay-visibility-control.mjs.map +2 -2
  1308. package/build-module/navigation/edit/placeholder/index.mjs.map +2 -2
  1309. package/build-module/navigation/edit/placeholder/placeholder-preview.mjs.map +2 -2
  1310. package/build-module/navigation/edit/responsive-wrapper.mjs.map +2 -2
  1311. package/build-module/navigation/edit/unsaved-inner-blocks.mjs.map +2 -2
  1312. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.mjs.map +2 -2
  1313. package/build-module/navigation/edit/use-create-navigation-menu.mjs.map +2 -2
  1314. package/build-module/navigation/edit/use-create-overlay.mjs.map +2 -2
  1315. package/build-module/navigation/edit/use-generate-default-navigation-title.mjs.map +2 -2
  1316. package/build-module/navigation/edit/use-inner-blocks.mjs.map +2 -2
  1317. package/build-module/navigation/edit/use-layout-custom-properties.mjs +51 -0
  1318. package/build-module/navigation/edit/use-layout-custom-properties.mjs.map +7 -0
  1319. package/build-module/navigation/edit/use-navigation-notice.mjs.map +2 -2
  1320. package/build-module/navigation/edit/utils.mjs.map +2 -2
  1321. package/build-module/navigation/index.mjs.map +2 -2
  1322. package/build-module/navigation/init.mjs.map +2 -2
  1323. package/build-module/navigation/menu-items-to-blocks.mjs.map +2 -2
  1324. package/build-module/navigation/save.mjs.map +2 -2
  1325. package/build-module/navigation/use-navigation-menu.mjs.map +2 -2
  1326. package/build-module/navigation/use-template-part-area-label.mjs.map +2 -2
  1327. package/build-module/navigation/view.mjs +9 -6
  1328. package/build-module/navigation/view.mjs.map +2 -2
  1329. package/build-module/navigation-link/edit.mjs +3 -3
  1330. package/build-module/navigation-link/edit.mjs.map +2 -2
  1331. package/build-module/navigation-link/hooks.mjs.map +2 -2
  1332. package/build-module/navigation-link/icons.mjs.map +2 -2
  1333. package/build-module/navigation-link/index.mjs.map +2 -2
  1334. package/build-module/navigation-link/init.mjs.map +2 -2
  1335. package/build-module/navigation-link/link-ui/block-inserter.mjs.map +2 -2
  1336. package/build-module/navigation-link/link-ui/dialog-wrapper.mjs.map +2 -2
  1337. package/build-module/navigation-link/link-ui/index.mjs +2 -2
  1338. package/build-module/navigation-link/link-ui/index.mjs.map +2 -2
  1339. package/build-module/navigation-link/link-ui/page-creator.mjs.map +2 -2
  1340. package/build-module/navigation-link/save.mjs.map +2 -2
  1341. package/build-module/navigation-link/shared/controls.mjs.map +2 -2
  1342. package/build-module/navigation-link/shared/invalid-draft-display.mjs.map +2 -2
  1343. package/build-module/navigation-link/shared/update-attributes.mjs.map +2 -2
  1344. package/build-module/navigation-link/shared/use-enable-link-status-validation.mjs.map +2 -2
  1345. package/build-module/navigation-link/shared/use-entity-binding.mjs.map +2 -2
  1346. package/build-module/navigation-link/shared/use-handle-link-change.mjs.map +2 -2
  1347. package/build-module/navigation-link/shared/use-is-dragging-within.mjs.map +2 -2
  1348. package/build-module/navigation-link/shared/use-is-invalid-link.mjs.map +2 -2
  1349. package/build-module/navigation-link/shared/use-link-preview.mjs.map +2 -2
  1350. package/build-module/navigation-link/transforms.mjs.map +2 -2
  1351. package/build-module/navigation-overlay-close/edit.mjs.map +2 -2
  1352. package/build-module/navigation-overlay-close/icon.mjs.map +2 -2
  1353. package/build-module/navigation-overlay-close/index.mjs.map +2 -2
  1354. package/build-module/navigation-submenu/edit.mjs.map +2 -2
  1355. package/build-module/navigation-submenu/icons.mjs.map +2 -2
  1356. package/build-module/navigation-submenu/index.mjs.map +2 -2
  1357. package/build-module/navigation-submenu/init.mjs.map +2 -2
  1358. package/build-module/navigation-submenu/save.mjs.map +2 -2
  1359. package/build-module/navigation-submenu/transforms.mjs.map +2 -2
  1360. package/build-module/nextpage/edit.mjs.map +2 -2
  1361. package/build-module/nextpage/index.mjs.map +2 -2
  1362. package/build-module/nextpage/init.mjs.map +2 -2
  1363. package/build-module/nextpage/save.mjs.map +2 -2
  1364. package/build-module/nextpage/transforms.mjs.map +2 -2
  1365. package/build-module/page-list/edit.mjs +51 -39
  1366. package/build-module/page-list/edit.mjs.map +2 -2
  1367. package/build-module/page-list/index.mjs.map +2 -2
  1368. package/build-module/page-list/init.mjs.map +2 -2
  1369. package/build-module/page-list/use-convert-to-navigation-links.mjs.map +2 -2
  1370. package/build-module/page-list-item/edit.mjs.map +2 -2
  1371. package/build-module/page-list-item/index.mjs.map +2 -2
  1372. package/build-module/page-list-item/init.mjs.map +2 -2
  1373. package/build-module/paragraph/block.json +0 -1
  1374. package/build-module/paragraph/deprecated-attributes.mjs.map +2 -2
  1375. package/build-module/paragraph/deprecated.mjs.map +2 -2
  1376. package/build-module/paragraph/edit.mjs +4 -4
  1377. package/build-module/paragraph/edit.mjs.map +2 -2
  1378. package/build-module/paragraph/index.mjs.map +2 -2
  1379. package/build-module/paragraph/init.mjs.map +2 -2
  1380. package/build-module/paragraph/save.mjs.map +2 -2
  1381. package/build-module/paragraph/transforms.mjs.map +2 -2
  1382. package/build-module/paragraph/use-enter.mjs.map +2 -2
  1383. package/build-module/pattern/edit.mjs.map +2 -2
  1384. package/build-module/pattern/index.mjs.map +2 -2
  1385. package/build-module/pattern/init.mjs.map +2 -2
  1386. package/build-module/pattern/recursion-detector.mjs.map +2 -2
  1387. package/build-module/playlist/block.json +1 -0
  1388. package/build-module/playlist/context.mjs.map +2 -2
  1389. package/build-module/playlist/edit.mjs +115 -30
  1390. package/build-module/playlist/edit.mjs.map +2 -2
  1391. package/build-module/playlist/index.mjs +3 -1
  1392. package/build-module/playlist/index.mjs.map +2 -2
  1393. package/build-module/playlist/init.mjs.map +2 -2
  1394. package/build-module/playlist/save.mjs.map +2 -2
  1395. package/build-module/playlist/transforms.mjs +45 -0
  1396. package/build-module/playlist/transforms.mjs.map +7 -0
  1397. package/build-module/playlist/utils.mjs +19 -4
  1398. package/build-module/playlist/utils.mjs.map +2 -2
  1399. package/build-module/playlist/view.mjs.map +2 -2
  1400. package/build-module/playlist-track/edit.mjs +7 -5
  1401. package/build-module/playlist-track/edit.mjs.map +2 -2
  1402. package/build-module/playlist-track/index.mjs +1 -1
  1403. package/build-module/playlist-track/index.mjs.map +2 -2
  1404. package/build-module/playlist-track/init.mjs.map +2 -2
  1405. package/build-module/post-author/edit.mjs.map +2 -2
  1406. package/build-module/post-author/index.mjs.map +2 -2
  1407. package/build-module/post-author/init.mjs.map +2 -2
  1408. package/build-module/post-author/utils.mjs.map +2 -2
  1409. package/build-module/post-author-biography/deprecated.mjs.map +2 -2
  1410. package/build-module/post-author-biography/edit.mjs.map +2 -2
  1411. package/build-module/post-author-biography/index.mjs.map +2 -2
  1412. package/build-module/post-author-biography/init.mjs.map +2 -2
  1413. package/build-module/post-author-name/deprecated.mjs.map +2 -2
  1414. package/build-module/post-author-name/edit.mjs.map +2 -2
  1415. package/build-module/post-author-name/index.mjs.map +2 -2
  1416. package/build-module/post-author-name/init.mjs.map +2 -2
  1417. package/build-module/post-author-name/transforms.mjs.map +2 -2
  1418. package/build-module/post-comment/edit.mjs +1 -11
  1419. package/build-module/post-comment/edit.mjs.map +2 -2
  1420. package/build-module/post-comment/index.mjs +9 -0
  1421. package/build-module/post-comment/index.mjs.map +2 -2
  1422. package/build-module/post-comment/init.mjs.map +2 -2
  1423. package/build-module/post-comment/save.mjs.map +2 -2
  1424. package/build-module/post-comments-count/deprecated.mjs.map +2 -2
  1425. package/build-module/post-comments-count/edit.mjs.map +2 -2
  1426. package/build-module/post-comments-count/index.mjs.map +2 -2
  1427. package/build-module/post-comments-count/init.mjs.map +2 -2
  1428. package/build-module/post-comments-count/transforms.mjs.map +2 -2
  1429. package/build-module/post-comments-form/deprecated.mjs.map +2 -2
  1430. package/build-module/post-comments-form/edit.mjs.map +2 -2
  1431. package/build-module/post-comments-form/form.mjs.map +2 -2
  1432. package/build-module/post-comments-form/index.mjs.map +2 -2
  1433. package/build-module/post-comments-form/init.mjs.map +2 -2
  1434. package/build-module/post-comments-link/deprecated.mjs.map +2 -2
  1435. package/build-module/post-comments-link/edit.mjs.map +2 -2
  1436. package/build-module/post-comments-link/index.mjs.map +2 -2
  1437. package/build-module/post-comments-link/init.mjs.map +2 -2
  1438. package/build-module/post-comments-link/transforms.mjs.map +2 -2
  1439. package/build-module/post-content/edit.mjs +33 -15
  1440. package/build-module/post-content/edit.mjs.map +2 -2
  1441. package/build-module/post-content/index.mjs.map +2 -2
  1442. package/build-module/post-content/init.mjs.map +2 -2
  1443. package/build-module/post-date/deprecated.mjs.map +2 -2
  1444. package/build-module/post-date/edit.mjs.map +2 -2
  1445. package/build-module/post-date/index.mjs.map +2 -2
  1446. package/build-module/post-date/init.mjs.map +2 -2
  1447. package/build-module/post-date/variations.mjs.map +2 -2
  1448. package/build-module/post-excerpt/deprecated.mjs.map +2 -2
  1449. package/build-module/post-excerpt/edit.mjs.map +2 -2
  1450. package/build-module/post-excerpt/index.mjs.map +2 -2
  1451. package/build-module/post-excerpt/init.mjs.map +2 -2
  1452. package/build-module/post-excerpt/transforms.mjs.map +2 -2
  1453. package/build-module/post-featured-image/dimension-controls.mjs.map +2 -2
  1454. package/build-module/post-featured-image/edit.mjs +3 -2
  1455. package/build-module/post-featured-image/edit.mjs.map +2 -2
  1456. package/build-module/post-featured-image/index.mjs.map +2 -2
  1457. package/build-module/post-featured-image/init.mjs.map +2 -2
  1458. package/build-module/post-featured-image/overlay-controls.mjs.map +2 -2
  1459. package/build-module/post-featured-image/overlay.mjs.map +2 -2
  1460. package/build-module/post-navigation-link/deprecated.mjs.map +2 -2
  1461. package/build-module/post-navigation-link/edit.mjs.map +2 -2
  1462. package/build-module/post-navigation-link/index.mjs +2 -0
  1463. package/build-module/post-navigation-link/index.mjs.map +2 -2
  1464. package/build-module/post-navigation-link/init.mjs.map +2 -2
  1465. package/build-module/post-navigation-link/variations.mjs.map +2 -2
  1466. package/build-module/post-template/edit.mjs +1 -18
  1467. package/build-module/post-template/edit.mjs.map +2 -2
  1468. package/build-module/post-template/index.mjs +18 -0
  1469. package/build-module/post-template/index.mjs.map +2 -2
  1470. package/build-module/post-template/init.mjs.map +2 -2
  1471. package/build-module/post-template/save.mjs.map +2 -2
  1472. package/build-module/post-terms/deprecated.mjs.map +2 -2
  1473. package/build-module/post-terms/edit.mjs +2 -2
  1474. package/build-module/post-terms/edit.mjs.map +2 -2
  1475. package/build-module/post-terms/hooks.mjs.map +2 -2
  1476. package/build-module/post-terms/index.mjs.map +2 -2
  1477. package/build-module/post-terms/init.mjs.map +2 -2
  1478. package/build-module/post-terms/use-post-terms.mjs.map +2 -2
  1479. package/build-module/post-time-to-read/deprecated.mjs.map +2 -2
  1480. package/build-module/post-time-to-read/edit.mjs.map +2 -2
  1481. package/build-module/post-time-to-read/index.mjs.map +2 -2
  1482. package/build-module/post-time-to-read/init.mjs.map +2 -2
  1483. package/build-module/post-time-to-read/variations.mjs.map +2 -2
  1484. package/build-module/post-title/deprecated.mjs.map +2 -2
  1485. package/build-module/post-title/edit.mjs +2 -2
  1486. package/build-module/post-title/edit.mjs.map +2 -2
  1487. package/build-module/post-title/index.mjs.map +2 -2
  1488. package/build-module/post-title/init.mjs.map +2 -2
  1489. package/build-module/preformatted/edit.mjs +3 -1
  1490. package/build-module/preformatted/edit.mjs.map +2 -2
  1491. package/build-module/preformatted/index.mjs.map +2 -2
  1492. package/build-module/preformatted/init.mjs.map +2 -2
  1493. package/build-module/preformatted/save.mjs.map +2 -2
  1494. package/build-module/preformatted/transforms.mjs.map +2 -2
  1495. package/build-module/private-apis.mjs.map +2 -2
  1496. package/build-module/pullquote/deprecated.mjs.map +2 -2
  1497. package/build-module/pullquote/edit.mjs +5 -3
  1498. package/build-module/pullquote/edit.mjs.map +2 -2
  1499. package/build-module/pullquote/index.mjs.map +2 -2
  1500. package/build-module/pullquote/init.mjs.map +2 -2
  1501. package/build-module/pullquote/save.mjs.map +2 -2
  1502. package/build-module/pullquote/transforms.mjs.map +2 -2
  1503. package/build-module/query/deprecated.mjs.map +2 -2
  1504. package/build-module/query/edit/enhanced-pagination-modal.mjs.map +2 -2
  1505. package/build-module/query/edit/index.mjs.map +2 -2
  1506. package/build-module/query/edit/inspector-controls/author-control.mjs.map +2 -2
  1507. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.mjs.map +2 -2
  1508. package/build-module/query/edit/inspector-controls/format-controls.mjs.map +2 -2
  1509. package/build-module/query/edit/inspector-controls/index.mjs +5 -2
  1510. package/build-module/query/edit/inspector-controls/index.mjs.map +2 -2
  1511. package/build-module/query/edit/inspector-controls/offset-controls.mjs +2 -2
  1512. package/build-module/query/edit/inspector-controls/offset-controls.mjs.map +2 -2
  1513. package/build-module/query/edit/inspector-controls/order-control.mjs.map +2 -2
  1514. package/build-module/query/edit/inspector-controls/pages-control.mjs.map +2 -2
  1515. package/build-module/query/edit/inspector-controls/parent-control.mjs.map +2 -2
  1516. package/build-module/query/edit/inspector-controls/per-page-control.mjs.map +2 -2
  1517. package/build-module/query/edit/inspector-controls/sticky-control.mjs.map +2 -2
  1518. package/build-module/query/edit/inspector-controls/taxonomy-controls.mjs.map +2 -2
  1519. package/build-module/query/edit/pattern-selection.mjs.map +2 -2
  1520. package/build-module/query/edit/query-content.mjs +1 -4
  1521. package/build-module/query/edit/query-content.mjs.map +2 -2
  1522. package/build-module/query/edit/query-placeholder.mjs.map +2 -2
  1523. package/build-module/query/edit/query-toolbar.mjs.map +2 -2
  1524. package/build-module/query/icons.mjs.map +2 -2
  1525. package/build-module/query/index.mjs.map +2 -2
  1526. package/build-module/query/init.mjs.map +2 -2
  1527. package/build-module/query/save.mjs.map +2 -2
  1528. package/build-module/query/utils.mjs.map +2 -2
  1529. package/build-module/query/variations.mjs.map +2 -2
  1530. package/build-module/query/view.mjs.map +2 -2
  1531. package/build-module/query-no-results/edit.mjs +1 -14
  1532. package/build-module/query-no-results/edit.mjs.map +2 -2
  1533. package/build-module/query-no-results/index.mjs +11 -0
  1534. package/build-module/query-no-results/index.mjs.map +2 -2
  1535. package/build-module/query-no-results/init.mjs.map +2 -2
  1536. package/build-module/query-no-results/save.mjs.map +2 -2
  1537. package/build-module/query-pagination/deprecated.mjs.map +2 -2
  1538. package/build-module/query-pagination/edit.mjs +1 -8
  1539. package/build-module/query-pagination/edit.mjs.map +2 -2
  1540. package/build-module/query-pagination/index.mjs +6 -0
  1541. package/build-module/query-pagination/index.mjs.map +2 -2
  1542. package/build-module/query-pagination/init.mjs.map +2 -2
  1543. package/build-module/query-pagination/query-pagination-arrow-controls.mjs.map +2 -2
  1544. package/build-module/query-pagination/query-pagination-label-control.mjs.map +2 -2
  1545. package/build-module/query-pagination/save.mjs.map +2 -2
  1546. package/build-module/query-pagination-next/edit.mjs.map +2 -2
  1547. package/build-module/query-pagination-next/index.mjs.map +2 -2
  1548. package/build-module/query-pagination-next/init.mjs.map +2 -2
  1549. package/build-module/query-pagination-numbers/edit.mjs.map +2 -2
  1550. package/build-module/query-pagination-numbers/index.mjs.map +2 -2
  1551. package/build-module/query-pagination-numbers/init.mjs.map +2 -2
  1552. package/build-module/query-pagination-previous/edit.mjs.map +2 -2
  1553. package/build-module/query-pagination-previous/index.mjs.map +2 -2
  1554. package/build-module/query-pagination-previous/init.mjs.map +2 -2
  1555. package/build-module/query-title/deprecated.mjs.map +2 -2
  1556. package/build-module/query-title/edit.mjs.map +2 -2
  1557. package/build-module/query-title/index.mjs.map +2 -2
  1558. package/build-module/query-title/init.mjs.map +2 -2
  1559. package/build-module/query-title/use-archive-label.mjs.map +2 -2
  1560. package/build-module/query-title/use-post-type-label.mjs.map +2 -2
  1561. package/build-module/query-title/variations.mjs.map +2 -2
  1562. package/build-module/query-total/edit.mjs.map +2 -2
  1563. package/build-module/query-total/icons.mjs.map +2 -2
  1564. package/build-module/query-total/index.mjs.map +2 -2
  1565. package/build-module/query-total/init.mjs.map +2 -2
  1566. package/build-module/quote/deprecated.mjs.map +2 -2
  1567. package/build-module/quote/edit.mjs +16 -6
  1568. package/build-module/quote/edit.mjs.map +2 -2
  1569. package/build-module/quote/index.mjs +3 -0
  1570. package/build-module/quote/index.mjs.map +2 -2
  1571. package/build-module/quote/init.mjs.map +2 -2
  1572. package/build-module/quote/save.mjs.map +2 -2
  1573. package/build-module/quote/transforms.mjs.map +2 -2
  1574. package/build-module/read-more/edit.mjs +3 -1
  1575. package/build-module/read-more/edit.mjs.map +2 -2
  1576. package/build-module/read-more/index.mjs.map +2 -2
  1577. package/build-module/read-more/init.mjs.map +2 -2
  1578. package/build-module/rss/edit.mjs.map +2 -2
  1579. package/build-module/rss/index.mjs.map +2 -2
  1580. package/build-module/rss/init.mjs.map +2 -2
  1581. package/build-module/search/edit.mjs.map +2 -2
  1582. package/build-module/search/index.mjs.map +2 -2
  1583. package/build-module/search/init.mjs.map +2 -2
  1584. package/build-module/search/variations.mjs.map +2 -2
  1585. package/build-module/search/view.mjs.map +2 -2
  1586. package/build-module/separator/deprecated.mjs.map +2 -2
  1587. package/build-module/separator/edit.mjs.map +2 -2
  1588. package/build-module/separator/index.mjs.map +2 -2
  1589. package/build-module/separator/init.mjs.map +2 -2
  1590. package/build-module/separator/save.mjs.map +2 -2
  1591. package/build-module/separator/transforms.mjs.map +2 -2
  1592. package/build-module/separator/use-deprecated-opacity.mjs.map +2 -2
  1593. package/build-module/shortcode/edit.mjs.map +2 -2
  1594. package/build-module/shortcode/index.mjs.map +2 -2
  1595. package/build-module/shortcode/init.mjs.map +2 -2
  1596. package/build-module/shortcode/save.mjs.map +2 -2
  1597. package/build-module/shortcode/transforms.mjs.map +2 -2
  1598. package/build-module/site-logo/edit.mjs.map +2 -2
  1599. package/build-module/site-logo/index.mjs.map +2 -2
  1600. package/build-module/site-logo/init.mjs.map +2 -2
  1601. package/build-module/site-logo/transforms.mjs.map +2 -2
  1602. package/build-module/site-tagline/deprecated.mjs.map +2 -2
  1603. package/build-module/site-tagline/edit.mjs +3 -1
  1604. package/build-module/site-tagline/edit.mjs.map +2 -2
  1605. package/build-module/site-tagline/icon.mjs.map +2 -2
  1606. package/build-module/site-tagline/index.mjs.map +2 -2
  1607. package/build-module/site-tagline/init.mjs.map +2 -2
  1608. package/build-module/site-title/deprecated.mjs.map +2 -2
  1609. package/build-module/site-title/edit.mjs +3 -1
  1610. package/build-module/site-title/edit.mjs.map +2 -2
  1611. package/build-module/site-title/index.mjs.map +2 -2
  1612. package/build-module/site-title/init.mjs.map +2 -2
  1613. package/build-module/site-title/transforms.mjs.map +2 -2
  1614. package/build-module/social-link/edit.mjs.map +2 -2
  1615. package/build-module/social-link/icons/amazon.mjs.map +2 -2
  1616. package/build-module/social-link/icons/bandcamp.mjs.map +2 -2
  1617. package/build-module/social-link/icons/behance.mjs.map +2 -2
  1618. package/build-module/social-link/icons/bluesky.mjs.map +2 -2
  1619. package/build-module/social-link/icons/chain.mjs.map +2 -2
  1620. package/build-module/social-link/icons/codepen.mjs.map +2 -2
  1621. package/build-module/social-link/icons/deviantart.mjs.map +2 -2
  1622. package/build-module/social-link/icons/discord.mjs.map +2 -2
  1623. package/build-module/social-link/icons/dribbble.mjs.map +2 -2
  1624. package/build-module/social-link/icons/dropbox.mjs.map +2 -2
  1625. package/build-module/social-link/icons/etsy.mjs.map +2 -2
  1626. package/build-module/social-link/icons/facebook.mjs.map +2 -2
  1627. package/build-module/social-link/icons/feed.mjs.map +2 -2
  1628. package/build-module/social-link/icons/fivehundredpx.mjs.map +2 -2
  1629. package/build-module/social-link/icons/flickr.mjs.map +2 -2
  1630. package/build-module/social-link/icons/foursquare.mjs.map +2 -2
  1631. package/build-module/social-link/icons/github.mjs.map +2 -2
  1632. package/build-module/social-link/icons/goodreads.mjs.map +2 -2
  1633. package/build-module/social-link/icons/google.mjs.map +2 -2
  1634. package/build-module/social-link/icons/gravatar.mjs.map +2 -2
  1635. package/build-module/social-link/icons/instagram.mjs.map +2 -2
  1636. package/build-module/social-link/icons/lastfm.mjs.map +2 -2
  1637. package/build-module/social-link/icons/linkedin.mjs.map +2 -2
  1638. package/build-module/social-link/icons/mail.mjs.map +2 -2
  1639. package/build-module/social-link/icons/mastodon.mjs.map +2 -2
  1640. package/build-module/social-link/icons/medium.mjs.map +2 -2
  1641. package/build-module/social-link/icons/meetup.mjs.map +2 -2
  1642. package/build-module/social-link/icons/patreon.mjs.map +2 -2
  1643. package/build-module/social-link/icons/pinterest.mjs.map +2 -2
  1644. package/build-module/social-link/icons/pocket.mjs.map +2 -2
  1645. package/build-module/social-link/icons/reddit.mjs.map +2 -2
  1646. package/build-module/social-link/icons/skype.mjs.map +2 -2
  1647. package/build-module/social-link/icons/snapchat.mjs.map +2 -2
  1648. package/build-module/social-link/icons/soundcloud.mjs.map +2 -2
  1649. package/build-module/social-link/icons/spotify.mjs.map +2 -2
  1650. package/build-module/social-link/icons/telegram.mjs.map +2 -2
  1651. package/build-module/social-link/icons/threads.mjs.map +2 -2
  1652. package/build-module/social-link/icons/tiktok.mjs.map +2 -2
  1653. package/build-module/social-link/icons/tumblr.mjs.map +2 -2
  1654. package/build-module/social-link/icons/twitch.mjs.map +2 -2
  1655. package/build-module/social-link/icons/twitter.mjs.map +2 -2
  1656. package/build-module/social-link/icons/vimeo.mjs.map +2 -2
  1657. package/build-module/social-link/icons/vk.mjs.map +2 -2
  1658. package/build-module/social-link/icons/whatsapp.mjs.map +2 -2
  1659. package/build-module/social-link/icons/wordpress.mjs.map +2 -2
  1660. package/build-module/social-link/icons/x.mjs.map +2 -2
  1661. package/build-module/social-link/icons/yelp.mjs.map +2 -2
  1662. package/build-module/social-link/icons/youtube.mjs.map +2 -2
  1663. package/build-module/social-link/index.mjs.map +2 -2
  1664. package/build-module/social-link/init.mjs.map +2 -2
  1665. package/build-module/social-link/social-list.mjs.map +2 -2
  1666. package/build-module/social-link/variations.mjs.map +2 -2
  1667. package/build-module/social-links/deprecated.mjs.map +2 -2
  1668. package/build-module/social-links/edit.mjs +11 -4
  1669. package/build-module/social-links/edit.mjs.map +2 -2
  1670. package/build-module/social-links/index.mjs.map +2 -2
  1671. package/build-module/social-links/init.mjs.map +2 -2
  1672. package/build-module/social-links/save.mjs.map +2 -2
  1673. package/build-module/spacer/controls.mjs.map +2 -2
  1674. package/build-module/spacer/deprecated.mjs.map +2 -2
  1675. package/build-module/spacer/edit.mjs.map +2 -2
  1676. package/build-module/spacer/index.mjs.map +2 -2
  1677. package/build-module/spacer/init.mjs.map +2 -2
  1678. package/build-module/spacer/save.mjs.map +2 -2
  1679. package/build-module/spacer/transforms.mjs.map +2 -2
  1680. package/build-module/tab-list/block.json +2 -1
  1681. package/build-module/tab-list/edit.mjs +2 -0
  1682. package/build-module/tab-list/edit.mjs.map +2 -2
  1683. package/build-module/tab-list/index.mjs.map +2 -2
  1684. package/build-module/tab-list/init.mjs.map +2 -2
  1685. package/build-module/tab-list/save.mjs.map +2 -2
  1686. package/build-module/tab-list/tab-movers.mjs +59 -0
  1687. package/build-module/tab-list/tab-movers.mjs.map +7 -0
  1688. package/build-module/tab-panel/controls.mjs.map +2 -2
  1689. package/build-module/tab-panel/edit.mjs +1 -12
  1690. package/build-module/tab-panel/edit.mjs.map +2 -2
  1691. package/build-module/tab-panel/index.mjs +21 -0
  1692. package/build-module/tab-panel/index.mjs.map +2 -2
  1693. package/build-module/tab-panel/init.mjs.map +2 -2
  1694. package/build-module/tab-panel/save.mjs.map +2 -2
  1695. package/build-module/tab-panels/edit.mjs +0 -6
  1696. package/build-module/tab-panels/edit.mjs.map +2 -2
  1697. package/build-module/tab-panels/index.mjs +2 -0
  1698. package/build-module/tab-panels/index.mjs.map +2 -2
  1699. package/build-module/tab-panels/init.mjs.map +2 -2
  1700. package/build-module/tab-panels/save.mjs.map +2 -2
  1701. package/build-module/table/deprecated.mjs.map +2 -2
  1702. package/build-module/table/edit.mjs +1 -1
  1703. package/build-module/table/edit.mjs.map +2 -2
  1704. package/build-module/table/index.mjs.map +2 -2
  1705. package/build-module/table/init.mjs.map +2 -2
  1706. package/build-module/table/save.mjs.map +2 -2
  1707. package/build-module/table/transforms.mjs.map +2 -2
  1708. package/build-module/table-of-contents/edit.mjs +87 -56
  1709. package/build-module/table-of-contents/edit.mjs.map +2 -2
  1710. package/build-module/table-of-contents/hooks.mjs.map +2 -2
  1711. package/build-module/table-of-contents/index.mjs.map +2 -2
  1712. package/build-module/table-of-contents/init.mjs.map +2 -2
  1713. package/build-module/table-of-contents/list.mjs.map +2 -2
  1714. package/build-module/table-of-contents/save.mjs.map +2 -2
  1715. package/build-module/table-of-contents/utils.mjs +24 -0
  1716. package/build-module/table-of-contents/utils.mjs.map +2 -2
  1717. package/build-module/tabs/edit.mjs +0 -2
  1718. package/build-module/tabs/edit.mjs.map +2 -2
  1719. package/build-module/tabs/index.mjs +3 -0
  1720. package/build-module/tabs/index.mjs.map +2 -2
  1721. package/build-module/tabs/init.mjs.map +2 -2
  1722. package/build-module/tabs/save.mjs.map +2 -2
  1723. package/build-module/tabs/tab-toolbar-controls.mjs.map +2 -2
  1724. package/build-module/tabs/use-tab-actions.mjs +24 -3
  1725. package/build-module/tabs/use-tab-actions.mjs.map +2 -2
  1726. package/build-module/tabs/use-tab-list-items-sync.mjs.map +2 -2
  1727. package/build-module/tabs/view.mjs +7 -1
  1728. package/build-module/tabs/view.mjs.map +2 -2
  1729. package/build-module/tag-cloud/edit.mjs.map +2 -2
  1730. package/build-module/tag-cloud/index.mjs.map +2 -2
  1731. package/build-module/tag-cloud/init.mjs.map +2 -2
  1732. package/build-module/tag-cloud/transforms.mjs.map +2 -2
  1733. package/build-module/template-part/edit/advanced-controls.mjs.map +2 -2
  1734. package/build-module/template-part/edit/import-controls.mjs.map +2 -2
  1735. package/build-module/template-part/edit/index.mjs.map +2 -2
  1736. package/build-module/template-part/edit/inner-blocks.mjs.map +2 -2
  1737. package/build-module/template-part/edit/placeholder.mjs.map +2 -2
  1738. package/build-module/template-part/edit/selection-modal.mjs.map +2 -2
  1739. package/build-module/template-part/edit/title-modal.mjs.map +2 -2
  1740. package/build-module/template-part/edit/utils/get-template-part-icon.mjs.map +2 -2
  1741. package/build-module/template-part/edit/utils/hooks.mjs.map +2 -2
  1742. package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.mjs.map +2 -2
  1743. package/build-module/template-part/edit/utils/transformers.mjs.map +2 -2
  1744. package/build-module/template-part/index.mjs.map +2 -2
  1745. package/build-module/template-part/init.mjs.map +2 -2
  1746. package/build-module/template-part/variations.mjs.map +2 -2
  1747. package/build-module/term-count/edit.mjs.map +2 -2
  1748. package/build-module/term-count/icons.mjs.map +2 -2
  1749. package/build-module/term-count/index.mjs.map +2 -2
  1750. package/build-module/term-count/init.mjs.map +2 -2
  1751. package/build-module/term-count/use-term-count.mjs.map +2 -2
  1752. package/build-module/term-description/deprecated.mjs.map +2 -2
  1753. package/build-module/term-description/edit.mjs.map +2 -2
  1754. package/build-module/term-description/index.mjs.map +2 -2
  1755. package/build-module/term-description/init.mjs.map +2 -2
  1756. package/build-module/term-description/use-term-description.mjs.map +2 -2
  1757. package/build-module/term-name/deprecated.mjs.map +2 -2
  1758. package/build-module/term-name/edit.mjs.map +2 -2
  1759. package/build-module/term-name/index.mjs.map +2 -2
  1760. package/build-module/term-name/use-term-name.mjs.map +2 -2
  1761. package/build-module/term-template/edit.mjs +1 -2
  1762. package/build-module/term-template/edit.mjs.map +2 -2
  1763. package/build-module/term-template/index.mjs +2 -0
  1764. package/build-module/term-template/index.mjs.map +2 -2
  1765. package/build-module/term-template/save.mjs.map +2 -2
  1766. package/build-module/terms-query/edit/index.mjs.map +2 -2
  1767. package/build-module/terms-query/edit/inspector-controls/advanced-controls.mjs.map +2 -2
  1768. package/build-module/terms-query/edit/inspector-controls/empty-terms-control.mjs.map +2 -2
  1769. package/build-module/terms-query/edit/inspector-controls/include-control.mjs.map +2 -2
  1770. package/build-module/terms-query/edit/inspector-controls/index.mjs.map +2 -2
  1771. package/build-module/terms-query/edit/inspector-controls/inherit-control.mjs.map +2 -2
  1772. package/build-module/terms-query/edit/inspector-controls/max-terms-control.mjs.map +2 -2
  1773. package/build-module/terms-query/edit/inspector-controls/nested-terms-control.mjs.map +2 -2
  1774. package/build-module/terms-query/edit/inspector-controls/order-control.mjs.map +2 -2
  1775. package/build-module/terms-query/edit/inspector-controls/taxonomy-control.mjs.map +2 -2
  1776. package/build-module/terms-query/edit/terms-query-content.mjs +1 -4
  1777. package/build-module/terms-query/edit/terms-query-content.mjs.map +2 -2
  1778. package/build-module/terms-query/edit/terms-query-placeholder.mjs.map +2 -2
  1779. package/build-module/terms-query/index.mjs +2 -0
  1780. package/build-module/terms-query/index.mjs.map +2 -2
  1781. package/build-module/terms-query/save.mjs.map +2 -2
  1782. package/build-module/terms-query/utils.mjs.map +2 -2
  1783. package/build-module/terms-query/variations.mjs.map +2 -2
  1784. package/build-module/text-columns/edit.mjs.map +2 -2
  1785. package/build-module/text-columns/index.mjs.map +2 -2
  1786. package/build-module/text-columns/init.mjs.map +2 -2
  1787. package/build-module/text-columns/save.mjs.map +2 -2
  1788. package/build-module/text-columns/transforms.mjs.map +2 -2
  1789. package/build-module/utils/caption.mjs +2 -2
  1790. package/build-module/utils/caption.mjs.map +2 -2
  1791. package/build-module/utils/deprecated-text-align-attributes.mjs.map +2 -2
  1792. package/build-module/utils/get-transformed-attributes.mjs.map +2 -2
  1793. package/build-module/utils/hooks.mjs.map +2 -2
  1794. package/build-module/utils/html-renderer.mjs.map +2 -2
  1795. package/build-module/utils/init-block.mjs.map +2 -2
  1796. package/build-module/utils/is-within-overlay.mjs.map +2 -2
  1797. package/build-module/utils/media-control.mjs.map +2 -2
  1798. package/build-module/utils/migrate-font-family.mjs.map +2 -2
  1799. package/build-module/utils/poster-image.mjs.map +2 -2
  1800. package/build-module/utils/search-patterns.mjs.map +2 -2
  1801. package/build-module/utils/style-state.mjs.map +2 -2
  1802. package/build-module/utils/waveform-player.mjs.map +2 -2
  1803. package/build-module/utils/waveform-utils.mjs.map +2 -2
  1804. package/build-module/verse/deprecated.mjs.map +2 -2
  1805. package/build-module/verse/edit.mjs +3 -1
  1806. package/build-module/verse/edit.mjs.map +2 -2
  1807. package/build-module/verse/index.mjs.map +2 -2
  1808. package/build-module/verse/init.mjs.map +2 -2
  1809. package/build-module/verse/save.mjs.map +2 -2
  1810. package/build-module/verse/transforms.mjs.map +2 -2
  1811. package/build-module/video/deprecated.mjs.map +2 -2
  1812. package/build-module/video/edit-common-settings.mjs.map +2 -2
  1813. package/build-module/video/edit.mjs +1 -1
  1814. package/build-module/video/edit.mjs.map +2 -2
  1815. package/build-module/video/index.mjs.map +2 -2
  1816. package/build-module/video/init.mjs.map +2 -2
  1817. package/build-module/video/save.mjs.map +2 -2
  1818. package/build-module/video/tracks-editor.mjs +0 -1
  1819. package/build-module/video/tracks-editor.mjs.map +2 -2
  1820. package/build-module/video/transforms.mjs.map +2 -2
  1821. package/build-module/video/variations.mjs +1 -1
  1822. package/build-module/video/variations.mjs.map +2 -2
  1823. package/build-style/cover/editor-rtl.css +3 -0
  1824. package/build-style/cover/editor.css +3 -0
  1825. package/build-style/editor-rtl.css +18 -53
  1826. package/build-style/editor.css +18 -53
  1827. package/build-style/icon/editor-rtl.css +1 -4
  1828. package/build-style/icon/editor.css +1 -4
  1829. package/build-style/image/editor-rtl.css +3 -32
  1830. package/build-style/image/editor.css +3 -32
  1831. package/build-style/navigation-overlay-close/style-rtl.css +11 -0
  1832. package/build-style/navigation-overlay-close/style.css +11 -0
  1833. package/build-style/page-list/editor-rtl.css +0 -62
  1834. package/build-style/page-list/editor.css +0 -62
  1835. package/build-style/playlist/editor-rtl.css +0 -5
  1836. package/build-style/playlist/editor.css +0 -5
  1837. package/build-style/playlist/style-rtl.css +44 -4
  1838. package/build-style/playlist/style.css +44 -4
  1839. package/build-style/post-author-biography/style-rtl.css +1 -0
  1840. package/build-style/post-author-biography/style.css +1 -0
  1841. package/build-style/pullquote/editor-rtl.css +4 -0
  1842. package/build-style/pullquote/editor.css +4 -0
  1843. package/build-style/style-rtl.css +56 -4
  1844. package/build-style/style.css +56 -4
  1845. package/build-style/tab-list/editor-rtl.css +101 -0
  1846. package/build-style/tab-list/editor.css +101 -0
  1847. package/build-types/lock-unlock.d.ts.map +1 -1
  1848. package/build-types/table-of-contents/list.d.ts +0 -6
  1849. package/build-types/table-of-contents/list.d.ts.map +1 -1
  1850. package/build-types/table-of-contents/utils.d.ts +11 -0
  1851. package/build-types/table-of-contents/utils.d.ts.map +1 -1
  1852. package/package.json +44 -43
  1853. package/src/accordion/edit.js +0 -9
  1854. package/src/accordion/index.js +4 -7
  1855. package/src/accordion/init.js +0 -3
  1856. package/src/accordion/save.js +0 -3
  1857. package/src/accordion/view.js +0 -3
  1858. package/src/accordion-heading/deprecated.js +0 -3
  1859. package/src/accordion-heading/edit.js +0 -7
  1860. package/src/accordion-heading/index.js +0 -7
  1861. package/src/accordion-heading/init.js +0 -3
  1862. package/src/accordion-heading/save.js +0 -7
  1863. package/src/accordion-item/edit.js +0 -14
  1864. package/src/accordion-item/index.js +4 -7
  1865. package/src/accordion-item/init.js +0 -3
  1866. package/src/accordion-item/save.js +0 -6
  1867. package/src/accordion-panel/block.json +1 -0
  1868. package/src/accordion-panel/edit.js +0 -4
  1869. package/src/accordion-panel/index.js +3 -7
  1870. package/src/accordion-panel/init.js +0 -3
  1871. package/src/accordion-panel/save.js +0 -3
  1872. package/src/archives/edit.js +0 -7
  1873. package/src/archives/index.js +0 -7
  1874. package/src/archives/init.js +0 -3
  1875. package/src/audio/deprecated.js +0 -3
  1876. package/src/audio/edit.js +0 -11
  1877. package/src/audio/index.js +0 -7
  1878. package/src/audio/init.js +0 -3
  1879. package/src/audio/save.js +0 -3
  1880. package/src/audio/transforms.js +0 -3
  1881. package/src/avatar/edit.js +0 -11
  1882. package/src/avatar/hooks.js +0 -7
  1883. package/src/avatar/index.js +0 -7
  1884. package/src/avatar/init.js +0 -3
  1885. package/src/avatar/user-control.js +0 -3
  1886. package/src/block/edit.js +1 -12
  1887. package/src/block/index.js +0 -7
  1888. package/src/block/init.js +0 -3
  1889. package/src/block-keyboard-shortcuts/index.js +0 -3
  1890. package/src/breadcrumbs/edit.js +0 -7
  1891. package/src/breadcrumbs/index.js +0 -7
  1892. package/src/breadcrumbs/index.php +3 -1
  1893. package/src/button/deprecated.js +0 -11
  1894. package/src/button/edit.js +0 -4
  1895. package/src/button/get-updated-link-attributes.js +0 -7
  1896. package/src/button/index.js +0 -7
  1897. package/src/button/index.php +1 -1
  1898. package/src/button/init.js +0 -3
  1899. package/src/button/save.js +0 -7
  1900. package/src/button/test/get-experimental-label.js +0 -3
  1901. package/src/button/test/get-updated-link-attributes.js +0 -3
  1902. package/src/button/test/utils.js +0 -3
  1903. package/src/buttons/deprecated.js +0 -6
  1904. package/src/buttons/edit.js +0 -20
  1905. package/src/buttons/index.js +4 -7
  1906. package/src/buttons/init.js +0 -3
  1907. package/src/buttons/save.js +0 -7
  1908. package/src/buttons/transforms.js +0 -7
  1909. package/src/calendar/edit.js +0 -11
  1910. package/src/calendar/index.js +0 -7
  1911. package/src/calendar/init.js +0 -3
  1912. package/src/calendar/transforms.js +0 -3
  1913. package/src/categories/edit.js +0 -11
  1914. package/src/categories/index.js +0 -7
  1915. package/src/categories/init.js +0 -3
  1916. package/src/categories/variations.js +0 -3
  1917. package/src/code/edit.js +7 -5
  1918. package/src/code/index.js +0 -7
  1919. package/src/code/init.js +0 -3
  1920. package/src/code/save.js +0 -7
  1921. package/src/code/test/utils.js +0 -3
  1922. package/src/code/transforms.js +0 -7
  1923. package/src/code/utils.js +0 -3
  1924. package/src/column/deprecated.js +0 -7
  1925. package/src/column/edit.js +0 -11
  1926. package/src/column/index.js +0 -7
  1927. package/src/column/init.js +0 -3
  1928. package/src/column/save.js +0 -7
  1929. package/src/columns/deprecated.js +0 -7
  1930. package/src/columns/edit.js +0 -12
  1931. package/src/columns/index.js +0 -7
  1932. package/src/columns/init.js +0 -3
  1933. package/src/columns/save.js +0 -7
  1934. package/src/columns/test/transforms.js +0 -7
  1935. package/src/columns/test/utils.js +0 -7
  1936. package/src/columns/transforms.js +0 -3
  1937. package/src/columns/variations.js +0 -3
  1938. package/src/comment-author-avatar/edit.js +0 -3
  1939. package/src/comment-author-avatar/index.js +0 -7
  1940. package/src/comment-author-avatar/init.js +0 -3
  1941. package/src/comment-author-name/deprecated.js +0 -3
  1942. package/src/comment-author-name/edit.js +0 -7
  1943. package/src/comment-author-name/index.js +0 -7
  1944. package/src/comment-author-name/init.js +0 -3
  1945. package/src/comment-content/deprecated.js +0 -3
  1946. package/src/comment-content/edit.js +0 -7
  1947. package/src/comment-content/index.js +0 -7
  1948. package/src/comment-content/init.js +0 -3
  1949. package/src/comment-date/deprecated.js +0 -3
  1950. package/src/comment-date/edit.js +0 -7
  1951. package/src/comment-date/index.js +0 -7
  1952. package/src/comment-date/init.js +0 -3
  1953. package/src/comment-edit-link/deprecated.js +0 -3
  1954. package/src/comment-edit-link/edit.js +0 -7
  1955. package/src/comment-edit-link/index.js +0 -7
  1956. package/src/comment-edit-link/init.js +0 -3
  1957. package/src/comment-reply-link/deprecated.js +0 -3
  1958. package/src/comment-reply-link/edit.js +0 -7
  1959. package/src/comment-reply-link/index.js +0 -7
  1960. package/src/comment-reply-link/init.js +0 -3
  1961. package/src/comment-template/edit.js +1 -20
  1962. package/src/comment-template/hooks.js +0 -3
  1963. package/src/comment-template/index.js +10 -7
  1964. package/src/comment-template/init.js +0 -3
  1965. package/src/comment-template/save.js +0 -3
  1966. package/src/comment-template/test/index.js +0 -3
  1967. package/src/comments/deprecated.js +0 -3
  1968. package/src/comments/edit/comments-inspector-controls.js +0 -7
  1969. package/src/comments/edit/comments-legacy.js +0 -11
  1970. package/src/comments/edit/index.js +1 -11
  1971. package/src/comments/edit/placeholder.js +0 -7
  1972. package/src/comments/index.js +2 -7
  1973. package/src/comments/init.js +0 -3
  1974. package/src/comments/save.js +0 -3
  1975. package/src/comments-pagination/comments-pagination-arrow-controls.js +0 -3
  1976. package/src/comments-pagination/edit.js +1 -16
  1977. package/src/comments-pagination/index.js +7 -7
  1978. package/src/comments-pagination/init.js +0 -3
  1979. package/src/comments-pagination/save.js +0 -3
  1980. package/src/comments-pagination-next/edit.js +0 -3
  1981. package/src/comments-pagination-next/index.js +0 -7
  1982. package/src/comments-pagination-next/init.js +0 -3
  1983. package/src/comments-pagination-numbers/edit.js +0 -3
  1984. package/src/comments-pagination-numbers/index.js +0 -7
  1985. package/src/comments-pagination-numbers/init.js +0 -3
  1986. package/src/comments-pagination-previous/edit.js +0 -3
  1987. package/src/comments-pagination-previous/index.js +0 -7
  1988. package/src/comments-pagination-previous/init.js +0 -3
  1989. package/src/comments-title/deprecated.js +0 -3
  1990. package/src/comments-title/edit.js +0 -7
  1991. package/src/comments-title/index.js +0 -7
  1992. package/src/comments-title/init.js +0 -3
  1993. package/src/cover/block.json +1 -0
  1994. package/src/cover/deprecated.js +0 -11
  1995. package/src/cover/edit/block-controls.js +5 -8
  1996. package/src/cover/edit/color-utils.js +0 -7
  1997. package/src/cover/edit/cover-placeholder.js +0 -7
  1998. package/src/cover/edit/embed-video-url-input.js +0 -7
  1999. package/src/cover/edit/index.js +100 -46
  2000. package/src/cover/edit/inspector-controls.js +0 -7
  2001. package/src/cover/edit/resizable-cover-popover.js +0 -11
  2002. package/src/cover/editor.scss +6 -0
  2003. package/src/cover/embed-video-utils.js +0 -7
  2004. package/src/cover/index.js +0 -7
  2005. package/src/cover/index.php +10 -3
  2006. package/src/cover/init.js +0 -3
  2007. package/src/cover/save.js +0 -11
  2008. package/src/cover/shared.js +0 -3
  2009. package/src/cover/test/edit.js +0 -7
  2010. package/src/cover/test/transforms.js +0 -7
  2011. package/src/cover/transforms.js +0 -7
  2012. package/src/cover/variations.js +0 -3
  2013. package/src/details/edit.js +1 -21
  2014. package/src/details/index.js +10 -7
  2015. package/src/details/init.js +0 -3
  2016. package/src/details/save.js +0 -3
  2017. package/src/details/transforms.js +0 -3
  2018. package/src/editor.scss +1 -0
  2019. package/src/embed/deprecated.js +1 -12
  2020. package/src/embed/edit.js +3 -12
  2021. package/src/embed/embed-controls.js +0 -7
  2022. package/src/embed/embed-loading.js +0 -3
  2023. package/src/embed/embed-placeholder.js +9 -10
  2024. package/src/embed/embed-preview.js +0 -15
  2025. package/src/embed/icons.js +0 -3
  2026. package/src/embed/index.js +0 -3
  2027. package/src/embed/init.js +0 -3
  2028. package/src/embed/save.js +0 -7
  2029. package/src/embed/test/index.js +0 -7
  2030. package/src/embed/transforms.js +0 -7
  2031. package/src/embed/util.js +1 -14
  2032. package/src/embed/variations.js +0 -7
  2033. package/src/embed/wp-embed-preview.js +0 -3
  2034. package/src/file/deprecated.js +0 -7
  2035. package/src/file/edit.js +0 -11
  2036. package/src/file/index.js +0 -7
  2037. package/src/file/init.js +0 -3
  2038. package/src/file/inspector.js +0 -7
  2039. package/src/file/save.js +0 -7
  2040. package/src/file/transforms.js +0 -3
  2041. package/src/file/variations.js +0 -3
  2042. package/src/file/view.js +0 -6
  2043. package/src/footnotes/edit.js +11 -4
  2044. package/src/footnotes/format.js +0 -11
  2045. package/src/footnotes/index.js +0 -7
  2046. package/src/footnotes/init.js +0 -3
  2047. package/src/form/deprecated.js +0 -3
  2048. package/src/form/edit.js +0 -42
  2049. package/src/form/icons.js +0 -3
  2050. package/src/form/index.js +36 -7
  2051. package/src/form/index.php +6 -4
  2052. package/src/form/init.js +0 -3
  2053. package/src/form/save.js +0 -3
  2054. package/src/form/utils.js +0 -3
  2055. package/src/form/variations.js +0 -7
  2056. package/src/form-input/deprecated.js +0 -7
  2057. package/src/form-input/edit.js +0 -11
  2058. package/src/form-input/icons.js +0 -3
  2059. package/src/form-input/index.js +0 -3
  2060. package/src/form-input/init.js +0 -3
  2061. package/src/form-input/save.js +0 -7
  2062. package/src/form-input/variations.js +0 -3
  2063. package/src/form-submission-notification/edit.js +0 -19
  2064. package/src/form-submission-notification/index.js +13 -7
  2065. package/src/form-submission-notification/init.js +0 -3
  2066. package/src/form-submission-notification/save.js +0 -7
  2067. package/src/form-submission-notification/variations.js +0 -3
  2068. package/src/form-submit-button/edit.js +0 -21
  2069. package/src/form-submit-button/index.js +19 -3
  2070. package/src/form-submit-button/init.js +0 -3
  2071. package/src/form-submit-button/save.js +0 -3
  2072. package/src/freeform/convert-to-blocks-button.js +0 -3
  2073. package/src/freeform/edit.js +0 -7
  2074. package/src/freeform/index.js +0 -7
  2075. package/src/freeform/init.js +0 -3
  2076. package/src/freeform/modal.js +0 -3
  2077. package/src/freeform/save.js +0 -3
  2078. package/src/gallery/deprecated.js +0 -12
  2079. package/src/gallery/dynamic-gallery.js +133 -81
  2080. package/src/gallery/dynamic-source.js +0 -3
  2081. package/src/gallery/edit.js +0 -11
  2082. package/src/gallery/gallery.js +0 -11
  2083. package/src/gallery/gap-styles.js +0 -7
  2084. package/src/gallery/index.js +0 -7
  2085. package/src/gallery/init.js +0 -3
  2086. package/src/gallery/save.js +0 -7
  2087. package/src/gallery/shared-icon.js +0 -3
  2088. package/src/gallery/test/dynamic-source.js +0 -3
  2089. package/src/gallery/test/transforms.js +0 -7
  2090. package/src/gallery/test/use-get-new-images.js +0 -7
  2091. package/src/gallery/transforms.js +0 -7
  2092. package/src/gallery/use-dynamic-gallery.js +27 -19
  2093. package/src/gallery/use-get-media.js +0 -3
  2094. package/src/gallery/use-get-new-images.js +0 -3
  2095. package/src/gallery/use-image-sizes.js +0 -3
  2096. package/src/gallery/utils.js +0 -3
  2097. package/src/gallery/variations.js +0 -7
  2098. package/src/group/block.json +0 -1
  2099. package/src/group/deprecated.js +0 -7
  2100. package/src/group/edit.js +0 -7
  2101. package/src/group/index.js +0 -7
  2102. package/src/group/init.js +0 -3
  2103. package/src/group/placeholder.js +0 -3
  2104. package/src/group/save.js +0 -3
  2105. package/src/group/test/placeholder.js +0 -7
  2106. package/src/group/transforms.js +0 -3
  2107. package/src/group/variations.js +0 -3
  2108. package/src/heading/autogenerate-anchors.js +0 -3
  2109. package/src/heading/deprecated.js +0 -11
  2110. package/src/heading/edit.js +1 -8
  2111. package/src/heading/index.js +0 -7
  2112. package/src/heading/init.js +0 -3
  2113. package/src/heading/save.js +0 -3
  2114. package/src/heading/test/shared.js +0 -3
  2115. package/src/heading/transforms.js +0 -7
  2116. package/src/heading/variations.js +0 -3
  2117. package/src/home-link/edit.js +0 -11
  2118. package/src/home-link/index.js +0 -7
  2119. package/src/home-link/init.js +0 -3
  2120. package/src/home-link/save.js +0 -3
  2121. package/src/html/edit.js +0 -7
  2122. package/src/html/index.js +0 -7
  2123. package/src/html/init.js +0 -3
  2124. package/src/html/modal.js +13 -9
  2125. package/src/html/preview.js +0 -3
  2126. package/src/html/test/index.js +0 -7
  2127. package/src/html/test/utils.js +0 -3
  2128. package/src/html/transforms.js +0 -3
  2129. package/src/icon/README.md +1 -3
  2130. package/src/icon/block.json +5 -3
  2131. package/src/icon/components/custom-inserter/icon-grid.js +0 -7
  2132. package/src/icon/components/custom-inserter/index.js +0 -7
  2133. package/src/icon/edit.js +0 -11
  2134. package/src/icon/editor.scss +1 -4
  2135. package/src/icon/icon.js +0 -3
  2136. package/src/icon/index.js +0 -3
  2137. package/src/image/deprecated.js +0 -11
  2138. package/src/image/edit.js +10 -21
  2139. package/src/image/editor.scss +6 -46
  2140. package/src/image/image.js +33 -10
  2141. package/src/image/index.js +0 -7
  2142. package/src/image/init.js +0 -3
  2143. package/src/image/save.js +0 -11
  2144. package/src/image/test/transforms.js +0 -3
  2145. package/src/image/test/use-open-image-media-editor-modal.js +37 -12
  2146. package/src/image/transforms.js +0 -3
  2147. package/src/image/use-max-width-observer.js +0 -3
  2148. package/src/image/use-open-image-media-editor-modal.js +8 -8
  2149. package/src/image/utils.js +0 -3
  2150. package/src/image/view.js +0 -7
  2151. package/src/index.js +0 -12
  2152. package/src/latest-comments/deprecated.js +0 -4
  2153. package/src/latest-comments/edit.js +0 -7
  2154. package/src/latest-comments/index.js +0 -7
  2155. package/src/latest-comments/index.php +4 -1
  2156. package/src/latest-comments/init.js +0 -3
  2157. package/src/latest-posts/deprecated.js +0 -3
  2158. package/src/latest-posts/edit.js +0 -11
  2159. package/src/latest-posts/index.js +0 -7
  2160. package/src/latest-posts/index.php +3 -2
  2161. package/src/latest-posts/init.js +0 -3
  2162. package/src/latest-posts/test/deprecated.js +0 -7
  2163. package/src/list/deprecated.js +0 -7
  2164. package/src/list/edit.js +11 -11
  2165. package/src/list/index.js +4 -7
  2166. package/src/list/init.js +0 -3
  2167. package/src/list/ordered-list-settings.js +0 -7
  2168. package/src/list/save.js +0 -3
  2169. package/src/list/tag-name.js +0 -3
  2170. package/src/list/transforms.js +0 -7
  2171. package/src/list/utils.js +0 -3
  2172. package/src/list-item/edit.js +0 -7
  2173. package/src/list-item/hooks/use-enter.js +0 -7
  2174. package/src/list-item/hooks/use-indent-list-item.js +10 -4
  2175. package/src/list-item/hooks/use-merge.js +0 -7
  2176. package/src/list-item/hooks/use-outdent-list-item.js +0 -3
  2177. package/src/list-item/hooks/use-space.js +0 -7
  2178. package/src/list-item/index.js +0 -7
  2179. package/src/list-item/init.js +0 -3
  2180. package/src/list-item/save.js +0 -3
  2181. package/src/list-item/transforms.js +0 -3
  2182. package/src/lock-unlock.ts +0 -3
  2183. package/src/loginout/edit.js +0 -6
  2184. package/src/loginout/index.js +0 -7
  2185. package/src/loginout/init.js +0 -3
  2186. package/src/math/deprecated.js +0 -3
  2187. package/src/math/edit.js +42 -66
  2188. package/src/math/index.js +0 -7
  2189. package/src/math/init.js +0 -3
  2190. package/src/math/save.js +0 -3
  2191. package/src/media-text/constants.js +0 -3
  2192. package/src/media-text/deprecated.js +0 -11
  2193. package/src/media-text/edit.js +2 -13
  2194. package/src/media-text/index.js +2 -7
  2195. package/src/media-text/index.php +11 -2
  2196. package/src/media-text/init.js +0 -3
  2197. package/src/media-text/media-container.js +0 -11
  2198. package/src/media-text/save.js +0 -11
  2199. package/src/media-text/test/image-fill.js +0 -3
  2200. package/src/media-text/transforms.js +0 -3
  2201. package/src/missing/edit.js +0 -3
  2202. package/src/missing/index.js +0 -7
  2203. package/src/missing/init.js +0 -3
  2204. package/src/missing/save.js +0 -3
  2205. package/src/more/edit.js +7 -11
  2206. package/src/more/index.js +0 -7
  2207. package/src/more/init.js +0 -3
  2208. package/src/more/save.js +0 -3
  2209. package/src/more/transforms.js +0 -3
  2210. package/src/navigation/deprecated.js +0 -7
  2211. package/src/navigation/edit/accessible-description.js +0 -3
  2212. package/src/navigation/edit/accessible-menu-description.js +0 -7
  2213. package/src/navigation/edit/deleted-navigation-warning.js +0 -3
  2214. package/src/navigation/edit/deleted-overlay-warning.js +0 -3
  2215. package/src/navigation/edit/index.js +52 -47
  2216. package/src/navigation/edit/inner-blocks.js +0 -7
  2217. package/src/navigation/edit/leaf-more-menu.js +70 -66
  2218. package/src/navigation/edit/manage-menus-button.js +0 -3
  2219. package/src/navigation/edit/menu-inspector-controls.js +0 -7
  2220. package/src/navigation/edit/navigation-link-ui.js +34 -26
  2221. package/src/navigation/edit/navigation-list-view-header.js +0 -7
  2222. package/src/navigation/edit/navigation-menu-delete-control.js +0 -3
  2223. package/src/navigation/edit/navigation-menu-name-control.js +0 -3
  2224. package/src/navigation/edit/navigation-menu-selector.js +0 -7
  2225. package/src/navigation/edit/overlay-menu-icon.js +0 -3
  2226. package/src/navigation/edit/overlay-menu-preview-button.js +0 -7
  2227. package/src/navigation/edit/overlay-menu-preview-controls.js +0 -7
  2228. package/src/navigation/edit/overlay-menu-preview.js +0 -7
  2229. package/src/navigation/edit/overlay-panel.js +0 -7
  2230. package/src/navigation/edit/overlay-preview.js +0 -7
  2231. package/src/navigation/edit/overlay-template-part-selector.js +0 -7
  2232. package/src/navigation/edit/overlay-visibility-control.js +0 -3
  2233. package/src/navigation/edit/placeholder/index.js +0 -7
  2234. package/src/navigation/edit/placeholder/placeholder-preview.js +0 -3
  2235. package/src/navigation/edit/responsive-wrapper.js +0 -11
  2236. package/src/navigation/edit/test/are-blocks-dirty.js +0 -3
  2237. package/src/navigation/edit/test/layout-custom-properties.js +127 -0
  2238. package/src/navigation/edit/test/navigation-menu-selector.js +0 -11
  2239. package/src/navigation/edit/test/overlay-template-part-selector.js +0 -11
  2240. package/src/navigation/edit/test/responsive-wrapper.js +0 -11
  2241. package/src/navigation/edit/test/use-create-overlay.js +0 -11
  2242. package/src/navigation/edit/test/utils.js +0 -3
  2243. package/src/navigation/edit/unsaved-inner-blocks.js +0 -7
  2244. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +0 -7
  2245. package/src/navigation/edit/use-create-navigation-menu.js +0 -7
  2246. package/src/navigation/edit/use-create-overlay.js +0 -7
  2247. package/src/navigation/edit/use-generate-default-navigation-title.js +0 -7
  2248. package/src/navigation/edit/use-inner-blocks.js +0 -3
  2249. package/src/navigation/edit/use-layout-custom-properties.js +77 -0
  2250. package/src/navigation/edit/use-navigation-notice.js +0 -3
  2251. package/src/navigation/edit/utils.js +0 -3
  2252. package/src/navigation/index.js +0 -7
  2253. package/src/navigation/index.php +137 -15
  2254. package/src/navigation/init.js +0 -3
  2255. package/src/navigation/menu-items-to-blocks.js +0 -7
  2256. package/src/navigation/save.js +0 -3
  2257. package/src/navigation/test/menu-items-to-blocks.js +0 -3
  2258. package/src/navigation/test/use-navigation-menu.js +0 -7
  2259. package/src/navigation/test/view.js +51 -0
  2260. package/src/navigation/use-navigation-menu.js +0 -7
  2261. package/src/navigation/use-template-part-area-label.js +0 -8
  2262. package/src/navigation/view.js +15 -17
  2263. package/src/navigation-link/edit.js +11 -18
  2264. package/src/navigation-link/hooks.js +0 -3
  2265. package/src/navigation-link/icons.js +0 -3
  2266. package/src/navigation-link/index.js +0 -7
  2267. package/src/navigation-link/index.php +64 -0
  2268. package/src/navigation-link/init.js +0 -3
  2269. package/src/navigation-link/link-ui/block-inserter.js +0 -7
  2270. package/src/navigation-link/link-ui/dialog-wrapper.js +0 -3
  2271. package/src/navigation-link/link-ui/index.js +2 -8
  2272. package/src/navigation-link/link-ui/page-creator.js +0 -7
  2273. package/src/navigation-link/save.js +0 -3
  2274. package/src/navigation-link/shared/controls.js +0 -7
  2275. package/src/navigation-link/shared/invalid-draft-display.js +0 -7
  2276. package/src/navigation-link/shared/test/controls.js +0 -7
  2277. package/src/navigation-link/shared/test/update-attributes.test.js +0 -3
  2278. package/src/navigation-link/shared/test/use-enable-link-status-validation.test.js +0 -9
  2279. package/src/navigation-link/shared/test/use-entity-binding.js +0 -11
  2280. package/src/navigation-link/shared/test/use-handle-link-change.test.js +0 -14
  2281. package/src/navigation-link/shared/test/use-link-preview.test.js +0 -14
  2282. package/src/navigation-link/shared/update-attributes.js +0 -3
  2283. package/src/navigation-link/shared/use-enable-link-status-validation.js +0 -3
  2284. package/src/navigation-link/shared/use-entity-binding.js +0 -3
  2285. package/src/navigation-link/shared/use-handle-link-change.js +0 -7
  2286. package/src/navigation-link/shared/use-is-dragging-within.js +0 -3
  2287. package/src/navigation-link/shared/use-is-invalid-link.js +0 -3
  2288. package/src/navigation-link/shared/use-link-preview.js +0 -7
  2289. package/src/navigation-link/test/__snapshots__/hooks.js.snap +1 -1
  2290. package/src/navigation-link/test/block-labelling.js +0 -3
  2291. package/src/navigation-link/test/hooks.js +1 -7
  2292. package/src/navigation-link/transforms.js +0 -3
  2293. package/src/navigation-overlay-close/edit.js +0 -7
  2294. package/src/navigation-overlay-close/icon.js +0 -3
  2295. package/src/navigation-overlay-close/index.js +0 -7
  2296. package/src/navigation-overlay-close/style.scss +14 -0
  2297. package/src/navigation-submenu/edit.js +0 -11
  2298. package/src/navigation-submenu/icons.js +0 -3
  2299. package/src/navigation-submenu/index.js +0 -7
  2300. package/src/navigation-submenu/init.js +0 -3
  2301. package/src/navigation-submenu/save.js +0 -3
  2302. package/src/navigation-submenu/transforms.js +0 -3
  2303. package/src/nextpage/edit.js +0 -3
  2304. package/src/nextpage/index.js +0 -7
  2305. package/src/nextpage/init.js +0 -3
  2306. package/src/nextpage/save.js +0 -3
  2307. package/src/nextpage/transforms.js +0 -3
  2308. package/src/page-list/edit.js +57 -48
  2309. package/src/page-list/editor.scss +0 -15
  2310. package/src/page-list/index.js +0 -7
  2311. package/src/page-list/index.php +4 -3
  2312. package/src/page-list/init.js +0 -3
  2313. package/src/page-list/test/convert-to-navigation-links.js +0 -4
  2314. package/src/page-list/use-convert-to-navigation-links.js +0 -7
  2315. package/src/page-list-item/edit.js +0 -10
  2316. package/src/page-list-item/index.js +0 -7
  2317. package/src/page-list-item/init.js +0 -3
  2318. package/src/paragraph/README.md +0 -1
  2319. package/src/paragraph/block.json +0 -1
  2320. package/src/paragraph/deprecated-attributes.js +0 -3
  2321. package/src/paragraph/deprecated.js +0 -8
  2322. package/src/paragraph/edit.js +5 -17
  2323. package/src/paragraph/index.js +0 -7
  2324. package/src/paragraph/init.js +0 -3
  2325. package/src/paragraph/save.js +0 -7
  2326. package/src/paragraph/transforms.js +0 -7
  2327. package/src/paragraph/use-enter.js +0 -7
  2328. package/src/pattern/edit.js +0 -7
  2329. package/src/pattern/index.js +0 -3
  2330. package/src/pattern/index.php +5 -5
  2331. package/src/pattern/init.js +0 -3
  2332. package/src/pattern/recursion-detector.js +0 -4
  2333. package/src/pattern/test/index.js +0 -3
  2334. package/src/playlist/block.json +1 -0
  2335. package/src/playlist/context.js +0 -3
  2336. package/src/playlist/edit.js +153 -61
  2337. package/src/playlist/editor.scss +0 -7
  2338. package/src/playlist/index.js +2 -7
  2339. package/src/playlist/index.php +14 -9
  2340. package/src/playlist/init.js +0 -3
  2341. package/src/playlist/save.js +0 -7
  2342. package/src/playlist/style.scss +3 -0
  2343. package/src/playlist/test/edit-component.js +220 -0
  2344. package/src/playlist/test/edit.js +30 -3
  2345. package/src/playlist/test/transforms.js +189 -0
  2346. package/src/playlist/transforms.js +46 -0
  2347. package/src/playlist/utils.js +25 -7
  2348. package/src/playlist/view.js +0 -7
  2349. package/src/playlist-track/edit.js +7 -11
  2350. package/src/playlist-track/index.js +1 -8
  2351. package/src/playlist-track/index.php +8 -7
  2352. package/src/playlist-track/init.js +0 -3
  2353. package/src/playlist-track/test/edit.js +55 -12
  2354. package/src/post-author/edit.js +0 -11
  2355. package/src/post-author/index.js +0 -7
  2356. package/src/post-author/init.js +0 -3
  2357. package/src/post-author/utils.js +0 -7
  2358. package/src/post-author-biography/deprecated.js +0 -3
  2359. package/src/post-author-biography/edit.js +0 -7
  2360. package/src/post-author-biography/index.js +0 -7
  2361. package/src/post-author-biography/init.js +0 -3
  2362. package/src/post-author-biography/style.scss +1 -0
  2363. package/src/post-author-name/deprecated.js +0 -3
  2364. package/src/post-author-name/edit.js +0 -11
  2365. package/src/post-author-name/index.js +0 -7
  2366. package/src/post-author-name/init.js +0 -3
  2367. package/src/post-author-name/transforms.js +0 -3
  2368. package/src/post-comment/edit.js +1 -15
  2369. package/src/post-comment/index.js +10 -7
  2370. package/src/post-comment/init.js +0 -3
  2371. package/src/post-comment/save.js +0 -3
  2372. package/src/post-comments-count/deprecated.js +0 -3
  2373. package/src/post-comments-count/edit.js +0 -3
  2374. package/src/post-comments-count/index.js +0 -7
  2375. package/src/post-comments-count/init.js +0 -3
  2376. package/src/post-comments-count/transforms.js +0 -3
  2377. package/src/post-comments-form/deprecated.js +0 -3
  2378. package/src/post-comments-form/edit.js +0 -7
  2379. package/src/post-comments-form/form.js +0 -7
  2380. package/src/post-comments-form/index.js +0 -7
  2381. package/src/post-comments-form/init.js +0 -3
  2382. package/src/post-comments-link/deprecated.js +0 -3
  2383. package/src/post-comments-link/edit.js +0 -3
  2384. package/src/post-comments-link/index.js +0 -7
  2385. package/src/post-comments-link/init.js +0 -3
  2386. package/src/post-comments-link/transforms.js +0 -3
  2387. package/src/post-content/edit.js +39 -23
  2388. package/src/post-content/index.js +0 -7
  2389. package/src/post-content/index.php +12 -2
  2390. package/src/post-content/init.js +0 -3
  2391. package/src/post-date/deprecated.js +0 -7
  2392. package/src/post-date/edit.js +0 -7
  2393. package/src/post-date/index.js +0 -7
  2394. package/src/post-date/index.php +1 -1
  2395. package/src/post-date/init.js +0 -3
  2396. package/src/post-date/test/edit.js +0 -3
  2397. package/src/post-date/variations.js +0 -3
  2398. package/src/post-excerpt/deprecated.js +0 -3
  2399. package/src/post-excerpt/edit.js +0 -11
  2400. package/src/post-excerpt/index.js +0 -7
  2401. package/src/post-excerpt/index.php +4 -1
  2402. package/src/post-excerpt/init.js +0 -3
  2403. package/src/post-excerpt/transforms.js +0 -3
  2404. package/src/post-featured-image/dimension-controls.js +0 -7
  2405. package/src/post-featured-image/edit.js +3 -13
  2406. package/src/post-featured-image/index.js +0 -7
  2407. package/src/post-featured-image/index.php +4 -1
  2408. package/src/post-featured-image/init.js +0 -3
  2409. package/src/post-featured-image/overlay-controls.js +0 -3
  2410. package/src/post-featured-image/overlay.js +0 -11
  2411. package/src/post-navigation-link/deprecated.js +0 -3
  2412. package/src/post-navigation-link/edit.js +0 -7
  2413. package/src/post-navigation-link/index.js +2 -7
  2414. package/src/post-navigation-link/init.js +0 -3
  2415. package/src/post-navigation-link/variations.js +0 -3
  2416. package/src/post-template/edit.js +1 -26
  2417. package/src/post-template/index.js +19 -7
  2418. package/src/post-template/init.js +0 -3
  2419. package/src/post-template/save.js +0 -3
  2420. package/src/post-terms/deprecated.js +0 -3
  2421. package/src/post-terms/edit.js +7 -11
  2422. package/src/post-terms/hooks.js +0 -3
  2423. package/src/post-terms/index.js +0 -7
  2424. package/src/post-terms/init.js +0 -3
  2425. package/src/post-terms/use-post-terms.js +0 -3
  2426. package/src/post-time-to-read/deprecated.js +0 -3
  2427. package/src/post-time-to-read/edit.js +0 -7
  2428. package/src/post-time-to-read/index.js +0 -7
  2429. package/src/post-time-to-read/init.js +0 -3
  2430. package/src/post-time-to-read/variations.js +0 -3
  2431. package/src/post-title/deprecated.js +0 -3
  2432. package/src/post-title/edit.js +5 -10
  2433. package/src/post-title/index.js +0 -7
  2434. package/src/post-title/init.js +0 -3
  2435. package/src/preformatted/edit.js +7 -5
  2436. package/src/preformatted/index.js +0 -7
  2437. package/src/preformatted/init.js +0 -3
  2438. package/src/preformatted/save.js +0 -3
  2439. package/src/preformatted/transforms.js +0 -3
  2440. package/src/private-apis.js +0 -3
  2441. package/src/pullquote/deprecated.js +0 -11
  2442. package/src/pullquote/edit.js +9 -11
  2443. package/src/pullquote/editor.scss +6 -0
  2444. package/src/pullquote/index.js +0 -7
  2445. package/src/pullquote/init.js +0 -3
  2446. package/src/pullquote/save.js +0 -3
  2447. package/src/pullquote/transforms.js +0 -3
  2448. package/src/query/deprecated.js +0 -7
  2449. package/src/query/edit/enhanced-pagination-modal.js +0 -7
  2450. package/src/query/edit/index.js +0 -7
  2451. package/src/query/edit/inspector-controls/author-control.js +0 -7
  2452. package/src/query/edit/inspector-controls/enhanced-pagination-control.js +0 -7
  2453. package/src/query/edit/inspector-controls/format-controls.js +0 -3
  2454. package/src/query/edit/inspector-controls/index.js +5 -9
  2455. package/src/query/edit/inspector-controls/offset-controls.js +2 -5
  2456. package/src/query/edit/inspector-controls/order-control.js +0 -3
  2457. package/src/query/edit/inspector-controls/pages-control.js +0 -3
  2458. package/src/query/edit/inspector-controls/parent-control.js +0 -7
  2459. package/src/query/edit/inspector-controls/per-page-control.js +0 -3
  2460. package/src/query/edit/inspector-controls/sticky-control.js +0 -3
  2461. package/src/query/edit/inspector-controls/taxonomy-controls.js +0 -7
  2462. package/src/query/edit/pattern-selection.js +0 -7
  2463. package/src/query/edit/query-content.js +1 -11
  2464. package/src/query/edit/query-placeholder.js +0 -7
  2465. package/src/query/edit/query-toolbar.js +0 -7
  2466. package/src/query/icons.js +0 -3
  2467. package/src/query/index.js +0 -7
  2468. package/src/query/index.php +4 -3
  2469. package/src/query/init.js +0 -3
  2470. package/src/query/save.js +0 -3
  2471. package/src/query/test/utils.js +0 -3
  2472. package/src/query/utils.js +0 -3
  2473. package/src/query/variations.js +0 -7
  2474. package/src/query/view.js +0 -3
  2475. package/src/query-no-results/edit.js +1 -18
  2476. package/src/query-no-results/index.js +12 -7
  2477. package/src/query-no-results/init.js +0 -3
  2478. package/src/query-no-results/save.js +0 -3
  2479. package/src/query-pagination/deprecated.js +0 -3
  2480. package/src/query-pagination/edit.js +1 -16
  2481. package/src/query-pagination/index.js +7 -7
  2482. package/src/query-pagination/init.js +0 -3
  2483. package/src/query-pagination/query-pagination-arrow-controls.js +0 -3
  2484. package/src/query-pagination/query-pagination-label-control.js +0 -3
  2485. package/src/query-pagination/save.js +0 -3
  2486. package/src/query-pagination-next/edit.js +0 -3
  2487. package/src/query-pagination-next/index.js +0 -7
  2488. package/src/query-pagination-next/init.js +0 -3
  2489. package/src/query-pagination-numbers/edit.js +0 -7
  2490. package/src/query-pagination-numbers/index.js +0 -7
  2491. package/src/query-pagination-numbers/init.js +0 -3
  2492. package/src/query-pagination-previous/edit.js +0 -3
  2493. package/src/query-pagination-previous/index.js +0 -7
  2494. package/src/query-pagination-previous/init.js +0 -3
  2495. package/src/query-title/deprecated.js +0 -3
  2496. package/src/query-title/edit.js +0 -7
  2497. package/src/query-title/index.js +0 -7
  2498. package/src/query-title/init.js +0 -3
  2499. package/src/query-title/use-archive-label.js +0 -3
  2500. package/src/query-title/use-post-type-label.js +0 -3
  2501. package/src/query-title/variations.js +0 -3
  2502. package/src/query-total/edit.js +0 -7
  2503. package/src/query-total/icons.js +0 -3
  2504. package/src/query-total/index.js +0 -3
  2505. package/src/query-total/init.js +0 -3
  2506. package/src/quote/deprecated.js +0 -7
  2507. package/src/quote/edit.js +23 -18
  2508. package/src/quote/index.js +4 -7
  2509. package/src/quote/init.js +0 -3
  2510. package/src/quote/save.js +0 -7
  2511. package/src/quote/test/migrate.js +0 -7
  2512. package/src/quote/transforms.js +0 -3
  2513. package/src/read-more/edit.js +7 -9
  2514. package/src/read-more/index.js +0 -7
  2515. package/src/read-more/init.js +0 -3
  2516. package/src/rss/edit.js +0 -7
  2517. package/src/rss/index.js +0 -7
  2518. package/src/rss/index.php +9 -3
  2519. package/src/rss/init.js +0 -3
  2520. package/src/search/edit.js +0 -11
  2521. package/src/search/index.js +0 -7
  2522. package/src/search/init.js +0 -3
  2523. package/src/search/variations.js +0 -3
  2524. package/src/search/view.js +0 -3
  2525. package/src/separator/deprecated.js +0 -7
  2526. package/src/separator/edit.js +0 -11
  2527. package/src/separator/index.js +0 -7
  2528. package/src/separator/init.js +0 -3
  2529. package/src/separator/save.js +0 -7
  2530. package/src/separator/test/edit.js +0 -11
  2531. package/src/separator/transforms.js +0 -3
  2532. package/src/separator/use-deprecated-opacity.js +0 -3
  2533. package/src/shortcode/edit.js +0 -3
  2534. package/src/shortcode/index.js +0 -7
  2535. package/src/shortcode/init.js +0 -3
  2536. package/src/shortcode/save.js +0 -3
  2537. package/src/shortcode/transforms.js +0 -3
  2538. package/src/site-logo/edit.js +0 -11
  2539. package/src/site-logo/index.js +0 -7
  2540. package/src/site-logo/init.js +0 -3
  2541. package/src/site-logo/transforms.js +0 -3
  2542. package/src/site-tagline/deprecated.js +0 -3
  2543. package/src/site-tagline/edit.js +7 -5
  2544. package/src/site-tagline/icon.js +0 -3
  2545. package/src/site-tagline/index.js +0 -3
  2546. package/src/site-tagline/init.js +0 -3
  2547. package/src/site-title/deprecated.js +0 -3
  2548. package/src/site-title/edit.js +7 -9
  2549. package/src/site-title/index.js +0 -7
  2550. package/src/site-title/init.js +0 -3
  2551. package/src/site-title/transforms.js +0 -3
  2552. package/src/social-link/edit.js +0 -11
  2553. package/src/social-link/icons/amazon.js +0 -3
  2554. package/src/social-link/icons/bandcamp.js +0 -4
  2555. package/src/social-link/icons/behance.js +0 -3
  2556. package/src/social-link/icons/bluesky.js +0 -3
  2557. package/src/social-link/icons/chain.js +0 -3
  2558. package/src/social-link/icons/codepen.js +0 -3
  2559. package/src/social-link/icons/deviantart.js +0 -3
  2560. package/src/social-link/icons/discord.js +0 -3
  2561. package/src/social-link/icons/dribbble.js +0 -3
  2562. package/src/social-link/icons/dropbox.js +0 -3
  2563. package/src/social-link/icons/etsy.js +0 -3
  2564. package/src/social-link/icons/facebook.js +0 -3
  2565. package/src/social-link/icons/feed.js +0 -3
  2566. package/src/social-link/icons/fivehundredpx.js +0 -3
  2567. package/src/social-link/icons/flickr.js +0 -3
  2568. package/src/social-link/icons/foursquare.js +0 -3
  2569. package/src/social-link/icons/github.js +0 -3
  2570. package/src/social-link/icons/goodreads.js +0 -3
  2571. package/src/social-link/icons/google.js +0 -3
  2572. package/src/social-link/icons/gravatar.js +0 -3
  2573. package/src/social-link/icons/instagram.js +0 -3
  2574. package/src/social-link/icons/lastfm.js +0 -3
  2575. package/src/social-link/icons/linkedin.js +0 -3
  2576. package/src/social-link/icons/mail.js +0 -3
  2577. package/src/social-link/icons/mastodon.js +0 -3
  2578. package/src/social-link/icons/medium.js +0 -3
  2579. package/src/social-link/icons/meetup.js +0 -3
  2580. package/src/social-link/icons/patreon.js +0 -3
  2581. package/src/social-link/icons/pinterest.js +0 -3
  2582. package/src/social-link/icons/pocket.js +0 -3
  2583. package/src/social-link/icons/reddit.js +0 -3
  2584. package/src/social-link/icons/skype.js +0 -3
  2585. package/src/social-link/icons/snapchat.js +0 -3
  2586. package/src/social-link/icons/soundcloud.js +0 -3
  2587. package/src/social-link/icons/spotify.js +0 -3
  2588. package/src/social-link/icons/telegram.js +0 -3
  2589. package/src/social-link/icons/threads.js +0 -3
  2590. package/src/social-link/icons/tiktok.js +0 -3
  2591. package/src/social-link/icons/tumblr.js +0 -3
  2592. package/src/social-link/icons/twitch.js +0 -3
  2593. package/src/social-link/icons/twitter.js +0 -3
  2594. package/src/social-link/icons/vimeo.js +0 -3
  2595. package/src/social-link/icons/vk.js +0 -3
  2596. package/src/social-link/icons/whatsapp.js +0 -3
  2597. package/src/social-link/icons/wordpress.js +0 -3
  2598. package/src/social-link/icons/x.js +0 -3
  2599. package/src/social-link/icons/yelp.js +0 -3
  2600. package/src/social-link/icons/youtube.js +0 -3
  2601. package/src/social-link/index.js +0 -7
  2602. package/src/social-link/index.php +19 -9
  2603. package/src/social-link/init.js +0 -3
  2604. package/src/social-link/social-list.js +0 -7
  2605. package/src/social-link/variations.js +0 -7
  2606. package/src/social-links/deprecated.js +0 -7
  2607. package/src/social-links/edit.js +21 -23
  2608. package/src/social-links/index.js +0 -7
  2609. package/src/social-links/init.js +0 -3
  2610. package/src/social-links/save.js +0 -7
  2611. package/src/spacer/controls.js +0 -7
  2612. package/src/spacer/deprecated.js +0 -3
  2613. package/src/spacer/edit.js +0 -11
  2614. package/src/spacer/index.js +0 -7
  2615. package/src/spacer/init.js +0 -3
  2616. package/src/spacer/save.js +0 -3
  2617. package/src/spacer/transforms.js +0 -3
  2618. package/src/tab-list/block.json +2 -1
  2619. package/src/tab-list/edit.js +2 -11
  2620. package/src/tab-list/editor.scss +9 -0
  2621. package/src/tab-list/index.js +0 -7
  2622. package/src/tab-list/init.js +0 -3
  2623. package/src/tab-list/save.js +0 -7
  2624. package/src/tab-list/tab-movers.js +65 -0
  2625. package/src/tab-panel/controls.js +0 -7
  2626. package/src/tab-panel/edit.js +1 -20
  2627. package/src/tab-panel/index.js +25 -7
  2628. package/src/tab-panel/init.js +0 -3
  2629. package/src/tab-panel/save.js +0 -3
  2630. package/src/tab-panels/edit.js +0 -19
  2631. package/src/tab-panels/index.js +8 -7
  2632. package/src/tab-panels/init.js +0 -3
  2633. package/src/tab-panels/save.js +0 -3
  2634. package/src/table/deprecated.js +0 -7
  2635. package/src/table/edit.js +1 -12
  2636. package/src/table/index.js +0 -7
  2637. package/src/table/init.js +0 -3
  2638. package/src/table/save.js +0 -7
  2639. package/src/table/test/state.js +0 -7
  2640. package/src/table/test/utils.js +0 -3
  2641. package/src/table/transforms.js +0 -7
  2642. package/src/table-of-contents/edit.js +91 -78
  2643. package/src/table-of-contents/hooks.js +0 -7
  2644. package/src/table-of-contents/index.js +0 -7
  2645. package/src/table-of-contents/index.php +386 -1
  2646. package/src/table-of-contents/init.js +0 -3
  2647. package/src/table-of-contents/list.tsx +0 -7
  2648. package/src/table-of-contents/save.js +0 -7
  2649. package/src/table-of-contents/utils.ts +43 -0
  2650. package/src/tabs/edit.js +12 -22
  2651. package/src/tabs/index.js +4 -7
  2652. package/src/tabs/init.js +0 -3
  2653. package/src/tabs/save.js +0 -3
  2654. package/src/tabs/tab-toolbar-controls.js +0 -7
  2655. package/src/tabs/use-tab-actions.js +33 -8
  2656. package/src/tabs/use-tab-list-items-sync.js +0 -3
  2657. package/src/tabs/view.js +7 -4
  2658. package/src/tag-cloud/edit.js +0 -7
  2659. package/src/tag-cloud/index.js +0 -7
  2660. package/src/tag-cloud/index.php +3 -2
  2661. package/src/tag-cloud/init.js +0 -3
  2662. package/src/tag-cloud/transforms.js +0 -3
  2663. package/src/template-part/edit/advanced-controls.js +0 -7
  2664. package/src/template-part/edit/import-controls.js +0 -7
  2665. package/src/template-part/edit/index.js +0 -7
  2666. package/src/template-part/edit/inner-blocks.js +0 -3
  2667. package/src/template-part/edit/placeholder.js +0 -7
  2668. package/src/template-part/edit/selection-modal.js +0 -7
  2669. package/src/template-part/edit/title-modal.js +0 -3
  2670. package/src/template-part/edit/utils/get-template-part-icon.js +0 -3
  2671. package/src/template-part/edit/utils/hooks.js +0 -11
  2672. package/src/template-part/edit/utils/map-template-part-to-block-pattern.js +0 -7
  2673. package/src/template-part/edit/utils/transformers.js +0 -3
  2674. package/src/template-part/index.js +0 -11
  2675. package/src/template-part/index.php +2 -1
  2676. package/src/template-part/init.js +0 -3
  2677. package/src/template-part/variations.js +0 -7
  2678. package/src/term-count/edit.js +0 -7
  2679. package/src/term-count/icons.js +0 -3
  2680. package/src/term-count/index.js +0 -7
  2681. package/src/term-count/init.js +0 -3
  2682. package/src/term-count/use-term-count.js +0 -3
  2683. package/src/term-description/deprecated.js +0 -3
  2684. package/src/term-description/edit.js +0 -7
  2685. package/src/term-description/index.js +0 -7
  2686. package/src/term-description/init.js +0 -3
  2687. package/src/term-description/use-term-description.js +0 -3
  2688. package/src/term-name/deprecated.js +0 -3
  2689. package/src/term-name/edit.js +0 -7
  2690. package/src/term-name/index.js +0 -7
  2691. package/src/term-name/use-term-name.js +0 -3
  2692. package/src/term-template/edit.js +1 -10
  2693. package/src/term-template/index.js +3 -7
  2694. package/src/term-template/save.js +0 -3
  2695. package/src/terms-query/edit/index.js +0 -7
  2696. package/src/terms-query/edit/inspector-controls/advanced-controls.js +0 -7
  2697. package/src/terms-query/edit/inspector-controls/empty-terms-control.js +0 -3
  2698. package/src/terms-query/edit/inspector-controls/include-control.js +0 -3
  2699. package/src/terms-query/edit/inspector-controls/index.js +0 -7
  2700. package/src/terms-query/edit/inspector-controls/inherit-control.js +0 -3
  2701. package/src/terms-query/edit/inspector-controls/max-terms-control.js +0 -3
  2702. package/src/terms-query/edit/inspector-controls/nested-terms-control.js +0 -3
  2703. package/src/terms-query/edit/inspector-controls/order-control.js +0 -3
  2704. package/src/terms-query/edit/inspector-controls/taxonomy-control.js +0 -7
  2705. package/src/terms-query/edit/terms-query-content.js +1 -12
  2706. package/src/terms-query/edit/terms-query-placeholder.js +0 -3
  2707. package/src/terms-query/index.js +3 -7
  2708. package/src/terms-query/save.js +0 -3
  2709. package/src/terms-query/utils.js +0 -3
  2710. package/src/terms-query/variations.js +0 -3
  2711. package/src/text-columns/edit.js +0 -3
  2712. package/src/text-columns/index.js +0 -3
  2713. package/src/text-columns/init.js +0 -3
  2714. package/src/text-columns/save.js +0 -3
  2715. package/src/text-columns/transforms.js +0 -3
  2716. package/src/utils/caption.js +7 -11
  2717. package/src/utils/deprecated-text-align-attributes.js +0 -3
  2718. package/src/utils/get-transformed-attributes.js +0 -3
  2719. package/src/utils/hooks.js +0 -3
  2720. package/src/utils/html-renderer.js +0 -7
  2721. package/src/utils/init-block.js +0 -3
  2722. package/src/utils/is-within-overlay.js +0 -7
  2723. package/src/utils/media-control.js +0 -3
  2724. package/src/utils/migrate-font-family.js +0 -7
  2725. package/src/utils/poster-image.js +0 -7
  2726. package/src/utils/search-patterns.js +0 -3
  2727. package/src/utils/style-state.js +0 -7
  2728. package/src/utils/test/search-patterns.js +0 -3
  2729. package/src/utils/test/style-state.js +0 -3
  2730. package/src/utils/test/waveform-player-dependency.js +203 -0
  2731. package/src/utils/test/waveform-player.js +0 -7
  2732. package/src/utils/test/waveform-utils.js +63 -7
  2733. package/src/utils/waveform-player.js +0 -7
  2734. package/src/utils/waveform-utils.js +0 -4
  2735. package/src/verse/deprecated.js +0 -11
  2736. package/src/verse/edit.js +7 -9
  2737. package/src/verse/index.js +0 -7
  2738. package/src/verse/init.js +0 -3
  2739. package/src/verse/save.js +0 -3
  2740. package/src/verse/transforms.js +0 -3
  2741. package/src/video/deprecated.js +0 -7
  2742. package/src/video/edit-common-settings.js +0 -3
  2743. package/src/video/edit.js +31 -40
  2744. package/src/video/index.js +0 -7
  2745. package/src/video/index.php +2 -2
  2746. package/src/video/init.js +0 -3
  2747. package/src/video/save.js +0 -7
  2748. package/src/video/test/variations.js +0 -3
  2749. package/src/video/tracks-editor.js +0 -8
  2750. package/src/video/transforms.js +0 -3
  2751. package/src/video/variations.js +1 -4
  2752. package/build/page-list/convert-to-links-modal.cjs +0 -89
  2753. package/build/page-list/convert-to-links-modal.cjs.map +0 -7
  2754. package/build-module/page-list/convert-to-links-modal.mjs +0 -63
  2755. package/build-module/page-list/convert-to-links-modal.mjs.map +0 -7
  2756. package/src/page-list/convert-to-links-modal.js +0 -53
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/navigation/view.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tstore,\n\tgetContext,\n\tgetElement,\n\twithSyncEvent,\n} from '@wordpress/interactivity';\n\nconst focusableSelectors = [\n\t'a[href]',\n\t'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\n\t'select:not([disabled]):not([aria-hidden])',\n\t'textarea:not([disabled]):not([aria-hidden])',\n\t'button:not([disabled]):not([aria-hidden])',\n\t'[contenteditable]',\n\t'[tabindex]:not([tabindex^=\"-\"])',\n];\n\n/**\n * Gets all visible focusable elements within a container.\n * Filters out elements that are hidden.\n *\n * @param {HTMLElement} ref - The container element to search within\n * @return {HTMLElement[]} Array of visible focusable elements\n */\nfunction getFocusableElements( ref ) {\n\tconst focusableElements = ref.querySelectorAll( focusableSelectors );\n\treturn Array.from( focusableElements ).filter( ( element ) => {\n\t\t// Use modern checkVisibility API if available (Chrome 105+, Firefox 106+, Safari 17.4+)\n\t\tif ( typeof element.checkVisibility === 'function' ) {\n\t\t\treturn element.checkVisibility( {\n\t\t\t\tcheckOpacity: false,\n\t\t\t\tcheckVisibilityCSS: true,\n\t\t\t} );\n\t\t}\n\t\t// Fallback for older browsers\n\t\treturn element.offsetParent !== null;\n\t} );\n}\n\n// This is a fix for Safari in iOS/iPadOS. Without it, Safari doesn't focus out\n// when the user taps in the body. It can be removed once we add an overlay to\n// capture the clicks, instead of relying on the focusout event.\ndocument.addEventListener( 'click', () => {} );\n\nconst { state, actions } = store(\n\t'core/navigation',\n\t{\n\t\tstate: {\n\t\t\tget roleAttribute() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? 'dialog'\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget ariaModal() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? 'true'\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget ariaLabel() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? ctx.ariaLabel\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget isMenuOpen() {\n\t\t\t\t// The menu is opened if either `click`, `hover` or `focus` is true.\n\t\t\t\treturn (\n\t\t\t\t\tObject.values( state.menuOpenedBy ).filter( Boolean )\n\t\t\t\t\t\t.length > 0\n\t\t\t\t);\n\t\t\t},\n\t\t\tget menuOpenedBy() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay'\n\t\t\t\t\t? ctx.overlayOpenedBy\n\t\t\t\t\t: ctx.submenuOpenedBy;\n\t\t\t},\n\t\t},\n\t\tactions: {\n\t\t\topenMenuOnHover( event ) {\n\t\t\t\t// Pointer events from touch should not open the submenu on hover;\n\t\t\t\t// touch devices toggle via the click action instead.\n\t\t\t\tif ( event?.pointerType === 'touch' ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst { type, overlayOpenedBy } = getContext();\n\t\t\t\tif (\n\t\t\t\t\ttype === 'submenu' &&\n\t\t\t\t\t// Only open on hover if the overlay is closed.\n\t\t\t\t\tObject.values( overlayOpenedBy || {} ).filter( Boolean )\n\t\t\t\t\t\t.length === 0\n\t\t\t\t) {\n\t\t\t\t\tactions.openMenu( 'hover' );\n\t\t\t\t}\n\t\t\t},\n\t\t\tcloseMenuOnHover( event ) {\n\t\t\t\tif ( event?.pointerType === 'touch' ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst { type, overlayOpenedBy } = getContext();\n\t\t\t\tif (\n\t\t\t\t\ttype === 'submenu' &&\n\t\t\t\t\t// Only close on hover if the overlay is closed.\n\t\t\t\t\tObject.values( overlayOpenedBy || {} ).filter( Boolean )\n\t\t\t\t\t\t.length === 0\n\t\t\t\t) {\n\t\t\t\t\tactions.closeMenu( 'hover' );\n\t\t\t\t}\n\t\t\t},\n\t\t\topenMenuOnClick() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tctx.previousFocus = ref;\n\t\t\t\tactions.openMenu( 'click' );\n\t\t\t},\n\t\t\tcloseMenuOnClick() {\n\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t},\n\t\t\topenMenuOnFocus() {\n\t\t\t\tactions.openMenu( 'focus' );\n\t\t\t},\n\t\t\ttoggleMenuOnClick() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\t// Safari won't send focus to the clicked element, so we need to manually place it: https://bugs.webkit.org/show_bug.cgi?id=22261\n\t\t\t\tif ( window.document.activeElement !== ref ) {\n\t\t\t\t\tref.focus();\n\t\t\t\t}\n\t\t\t\tconst { menuOpenedBy } = state;\n\t\t\t\tif ( menuOpenedBy.click || menuOpenedBy.focus ) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t\t// Also clear hover in case it was set by a synthetic pointerenter\n\t\t\t\t\t// on touch (e.g. the browser-fired mouseenter-equivalent before\n\t\t\t\t\t// the click event), ensuring the submenu fully closes.\n\t\t\t\t\tactions.closeMenu( 'hover' );\n\t\t\t\t} else {\n\t\t\t\t\tctx.previousFocus = ref;\n\t\t\t\t\tactions.openMenu( 'click' );\n\t\t\t\t}\n\t\t\t},\n\t\t\thandleMenuKeydown: withSyncEvent( ( event ) => {\n\t\t\t\tconst { type, firstFocusableElement, lastFocusableElement } =\n\t\t\t\t\tgetContext();\n\t\t\t\tif ( state.menuOpenedBy.click ) {\n\t\t\t\t\t// If Escape close the menu.\n\t\t\t\t\tif ( event.key === 'Escape' ) {\n\t\t\t\t\t\tevent.stopPropagation(); // Keeps ancestor menus open.\n\t\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Trap focus if it is an overlay (main menu).\n\t\t\t\t\tif ( type === 'overlay' && event.key === 'Tab' ) {\n\t\t\t\t\t\t// If shift + tab it change the direction.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tevent.shiftKey &&\n\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\tfirstFocusableElement\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tlastFocusableElement.focus();\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t! event.shiftKey &&\n\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\tlastFocusableElement\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tfirstFocusableElement.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} ),\n\t\t\thandleMenuFocusout: withSyncEvent( ( event ) => {\n\t\t\t\tconst { modal, type } = getContext();\n\t\t\t\t// If focus is outside modal, and in the document, close menu\n\t\t\t\t// event.target === The element losing focus\n\t\t\t\t// event.relatedTarget === The element receiving focus (if any)\n\t\t\t\t// When focusout is outside the document,\n\t\t\t\t// `window.document.activeElement` doesn't change.\n\n\t\t\t\t// The event.relatedTarget is null when something outside the navigation menu is clicked. This is only necessary for Safari.\n\t\t\t\tif (\n\t\t\t\t\tevent.relatedTarget === null ||\n\t\t\t\t\t( ! modal?.contains( event.relatedTarget ) &&\n\t\t\t\t\t\tevent.target !== window.document.activeElement &&\n\t\t\t\t\t\ttype === 'submenu' )\n\t\t\t\t) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t}\n\t\t\t} ),\n\n\t\t\topenMenu( menuOpenedOn = 'click' ) {\n\t\t\t\tconst { type } = getContext();\n\t\t\t\tstate.menuOpenedBy[ menuOpenedOn ] = true;\n\t\t\t\tif ( type === 'overlay' ) {\n\t\t\t\t\t// Add a `has-modal-open` class to the <html> root.\n\t\t\t\t\tdocument.documentElement.classList.add( 'has-modal-open' );\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcloseMenu( menuClosedOn = 'click' ) {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tstate.menuOpenedBy[ menuClosedOn ] = false;\n\t\t\t\t// Check if the menu is still open or not.\n\t\t\t\tif ( ! state.isMenuOpen ) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tctx.modal?.contains( window.document.activeElement )\n\t\t\t\t\t) {\n\t\t\t\t\t\tctx.previousFocus?.focus();\n\t\t\t\t\t}\n\t\t\t\t\tctx.modal = null;\n\t\t\t\t\tctx.previousFocus = null;\n\t\t\t\t\tif ( ctx.type === 'overlay' ) {\n\t\t\t\t\t\tdocument.documentElement.classList.remove(\n\t\t\t\t\t\t\t'has-modal-open'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tcallbacks: {\n\t\t\tinitMenu() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\t\tconst focusableElements = getFocusableElements( ref );\n\t\t\t\t\tctx.modal = ref;\n\t\t\t\t\tctx.firstFocusableElement = focusableElements[ 0 ];\n\t\t\t\t\tctx.lastFocusableElement =\n\t\t\t\t\t\tfocusableElements[ focusableElements.length - 1 ];\n\t\t\t\t}\n\t\t\t},\n\t\t\tfocusFirstElement() {\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\t\tconst focusableElements = getFocusableElements( ref );\n\t\t\t\t\tfocusableElements?.[ 0 ]?.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\t{ lock: true }\n);\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n\tstore,\n\tgetContext,\n\tgetElement,\n\twithSyncEvent,\n} from '@wordpress/interactivity';\n\nconst focusableSelectors = [\n\t'a[href]',\n\t'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\n\t'select:not([disabled]):not([aria-hidden])',\n\t'textarea:not([disabled]):not([aria-hidden])',\n\t'button:not([disabled]):not([aria-hidden])',\n\t'[contenteditable]',\n\t'[tabindex]:not([tabindex^=\"-\"])',\n];\n\n/**\n * Gets all visible focusable elements within a container.\n * Filters out elements that are hidden.\n *\n * @param {HTMLElement} ref - The container element to search within\n * @return {HTMLElement[]} Array of visible focusable elements\n */\nfunction getFocusableElements( ref ) {\n\tconst focusableElements = ref.querySelectorAll( focusableSelectors );\n\treturn Array.from( focusableElements ).filter( ( element ) => {\n\t\t// Use modern checkVisibility API if available (Chrome 105+, Firefox 106+, Safari 17.4+)\n\t\tif ( typeof element.checkVisibility === 'function' ) {\n\t\t\treturn element.checkVisibility( {\n\t\t\t\tcheckOpacity: false,\n\t\t\t\tcheckVisibilityCSS: true,\n\t\t\t} );\n\t\t}\n\t\t// Fallback for older browsers\n\t\treturn element.offsetParent !== null;\n\t} );\n}\n\n// This is a fix for Safari in iOS/iPadOS. Without it, Safari doesn't focus out\n// when the user taps in the body. It can be removed once we add an overlay to\n// capture the clicks, instead of relying on the focusout event.\ndocument.addEventListener( 'click', () => {} );\n\nconst { state, actions } = store(\n\t'core/navigation',\n\t{\n\t\tstate: {\n\t\t\tget roleAttribute() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? 'dialog'\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget ariaModal() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? 'true'\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget ariaLabel() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? ctx.ariaLabel\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget isMenuOpen() {\n\t\t\t\t// The menu is opened if either `click`, `hover` or `focus` is true.\n\t\t\t\treturn (\n\t\t\t\t\tObject.values( state.menuOpenedBy ).filter( Boolean )\n\t\t\t\t\t\t.length > 0\n\t\t\t\t);\n\t\t\t},\n\t\t\tget menuOpenedBy() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay'\n\t\t\t\t\t? ctx.overlayOpenedBy\n\t\t\t\t\t: ctx.submenuOpenedBy;\n\t\t\t},\n\t\t\tget isSubmenuOpen() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\t// Once the overlay itself is open, its styles always expand\n\t\t\t\t// every submenu regardless of hover/click/focus state, so the\n\t\t\t\t// toggle's `aria-expanded` should reflect that immediately\n\t\t\t\t// instead of waiting for a hover/click/focus interaction.\n\t\t\t\tconst isOverlayOpen =\n\t\t\t\t\tObject.values( ctx.overlayOpenedBy || {} ).filter( Boolean )\n\t\t\t\t\t\t.length > 0;\n\t\t\t\treturn isOverlayOpen || state.isMenuOpen;\n\t\t\t},\n\t\t},\n\t\tactions: {\n\t\t\topenMenuOnHover( event ) {\n\t\t\t\t// Pointer events from touch should not open the submenu on hover;\n\t\t\t\t// touch devices toggle via the click action instead.\n\t\t\t\tif ( event?.pointerType === 'touch' ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst { type } = getContext();\n\t\t\t\tif ( type === 'submenu' ) {\n\t\t\t\t\tactions.openMenu( 'hover' );\n\t\t\t\t}\n\t\t\t},\n\t\t\tcloseMenuOnHover( event ) {\n\t\t\t\tif ( event?.pointerType === 'touch' ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst { type } = getContext();\n\t\t\t\tif ( type === 'submenu' ) {\n\t\t\t\t\tactions.closeMenu( 'hover' );\n\t\t\t\t}\n\t\t\t},\n\t\t\topenMenuOnClick() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tctx.previousFocus = ref;\n\t\t\t\tactions.openMenu( 'click' );\n\t\t\t},\n\t\t\tcloseMenuOnClick() {\n\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t},\n\t\t\topenMenuOnFocus() {\n\t\t\t\tactions.openMenu( 'focus' );\n\t\t\t},\n\t\t\ttoggleMenuOnClick() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\t// Safari won't send focus to the clicked element, so we need to manually place it: https://bugs.webkit.org/show_bug.cgi?id=22261\n\t\t\t\tif ( window.document.activeElement !== ref ) {\n\t\t\t\t\tref.focus();\n\t\t\t\t}\n\t\t\t\tconst { menuOpenedBy } = state;\n\t\t\t\tif ( menuOpenedBy.click || menuOpenedBy.focus ) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t\t// Also clear hover in case it was set by a synthetic pointerenter\n\t\t\t\t\t// on touch (e.g. the browser-fired mouseenter-equivalent before\n\t\t\t\t\t// the click event), ensuring the submenu fully closes.\n\t\t\t\t\tactions.closeMenu( 'hover' );\n\t\t\t\t} else {\n\t\t\t\t\tctx.previousFocus = ref;\n\t\t\t\t\tactions.openMenu( 'click' );\n\t\t\t\t}\n\t\t\t},\n\t\t\thandleMenuKeydown: withSyncEvent( ( event ) => {\n\t\t\t\tconst { type, firstFocusableElement, lastFocusableElement } =\n\t\t\t\t\tgetContext();\n\t\t\t\tif ( state.menuOpenedBy.click ) {\n\t\t\t\t\t// If Escape close the menu.\n\t\t\t\t\tif ( event.key === 'Escape' ) {\n\t\t\t\t\t\tevent.stopPropagation(); // Keeps ancestor menus open.\n\t\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Trap focus if it is an overlay (main menu).\n\t\t\t\t\tif ( type === 'overlay' && event.key === 'Tab' ) {\n\t\t\t\t\t\t// If shift + tab it change the direction.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tevent.shiftKey &&\n\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\tfirstFocusableElement\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tlastFocusableElement.focus();\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t! event.shiftKey &&\n\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\tlastFocusableElement\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tfirstFocusableElement.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} ),\n\t\t\thandleMenuFocusout: withSyncEvent( ( event ) => {\n\t\t\t\tconst { modal, type } = getContext();\n\t\t\t\t// If focus is outside modal, and in the document, close menu\n\t\t\t\t// event.target === The element losing focus\n\t\t\t\t// event.relatedTarget === The element receiving focus (if any)\n\t\t\t\t// When focusout is outside the document,\n\t\t\t\t// `window.document.activeElement` doesn't change.\n\n\t\t\t\t// The event.relatedTarget is null when something outside the navigation menu is clicked. This is only necessary for Safari.\n\t\t\t\tif (\n\t\t\t\t\tevent.relatedTarget === null ||\n\t\t\t\t\t( ! modal?.contains( event.relatedTarget ) &&\n\t\t\t\t\t\tevent.target !== window.document.activeElement &&\n\t\t\t\t\t\ttype === 'submenu' )\n\t\t\t\t) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t}\n\t\t\t} ),\n\n\t\t\topenMenu( menuOpenedOn = 'click' ) {\n\t\t\t\tconst { type } = getContext();\n\t\t\t\tstate.menuOpenedBy[ menuOpenedOn ] = true;\n\t\t\t\tif ( type === 'overlay' ) {\n\t\t\t\t\t// Add a `has-modal-open` class to the <html> root.\n\t\t\t\t\tdocument.documentElement.classList.add( 'has-modal-open' );\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcloseMenu( menuClosedOn = 'click' ) {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tstate.menuOpenedBy[ menuClosedOn ] = false;\n\t\t\t\t// Check if the menu is still open or not.\n\t\t\t\tif ( ! state.isMenuOpen ) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tctx.modal?.contains( window.document.activeElement )\n\t\t\t\t\t) {\n\t\t\t\t\t\tctx.previousFocus?.focus();\n\t\t\t\t\t}\n\t\t\t\t\tctx.modal = null;\n\t\t\t\t\tctx.previousFocus = null;\n\t\t\t\t\tif ( ctx.type === 'overlay' ) {\n\t\t\t\t\t\tdocument.documentElement.classList.remove(\n\t\t\t\t\t\t\t'has-modal-open'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tcallbacks: {\n\t\t\tinitMenu() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\t\tconst focusableElements = getFocusableElements( ref );\n\t\t\t\t\tctx.modal = ref;\n\t\t\t\t\tctx.firstFocusableElement = focusableElements[ 0 ];\n\t\t\t\t\tctx.lastFocusableElement =\n\t\t\t\t\t\tfocusableElements[ focusableElements.length - 1 ];\n\t\t\t\t}\n\t\t\t},\n\t\t\tfocusFirstElement() {\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\t\tconst focusableElements = getFocusableElements( ref );\n\t\t\t\t\tfocusableElements?.[ 0 ]?.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\t{ lock: true }\n);\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -303,11 +303,11 @@ function NavigationLinkEdit({
303
303
  }),
304
304
  onMerge: mergeBlocks,
305
305
  onReplace,
306
- __unstableOnSplitAtEnd: () => insertBlocksAfter(
306
+ __unstableOnSplitAtEnd: insertBlocksAfter ? () => insertBlocksAfter(
307
307
  createBlock(
308
308
  "core/navigation-link"
309
309
  )
310
- ),
310
+ ) : void 0,
311
311
  "aria-label": __(
312
312
  "Navigation link text"
313
313
  ),
@@ -340,7 +340,7 @@ function NavigationLinkEdit({
340
340
  },
341
341
  onClose: () => {
342
342
  setIsLinkOpen(false);
343
- if (!url && !hasUrlBinding) {
343
+ if (!url && !hasUrlBinding && onReplace) {
344
344
  onReplace([]);
345
345
  return;
346
346
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/navigation-link/edit.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { ToolbarButton, ToolbarGroup } from '@wordpress/components';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tgetColorClassName,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\nimport { isURL, prependHTTP } from '@wordpress/url';\nimport { useState, useEffect, useRef, useCallback } from '@wordpress/element';\nimport { VisuallyHidden } from '@wordpress/ui';\nimport { link as linkIcon, addSubmenu } from '@wordpress/icons';\nimport { useMergeRefs, useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { getColors } from '../navigation/edit/utils';\nimport {\n\tControls,\n\tLinkUI,\n\tuseEntityBinding,\n\tgetInvalidLinkHelpText,\n\tuseHandleLinkChange,\n\tuseIsInvalidLink,\n\tInvalidDraftDisplay,\n\tuseEnableLinkStatusValidation,\n\tuseIsDraggingWithin,\n\tselectLabelText,\n} from './shared';\n\nconst DEFAULT_BLOCK = { name: 'core/navigation-link' };\nconst NESTING_BLOCK_NAMES = [\n\t'core/navigation-link',\n\t'core/navigation-submenu',\n];\n\nfunction getMissingText( type ) {\n\tlet missingText = '';\n\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\t\t/* translators: label for missing post in navigation link block */\n\t\t\tmissingText = __( 'Select post' );\n\t\t\tbreak;\n\t\tcase 'page':\n\t\t\t/* translators: label for missing page in navigation link block */\n\t\t\tmissingText = __( 'Select page' );\n\t\t\tbreak;\n\t\tcase 'category':\n\t\t\t/* translators: label for missing category in navigation link block */\n\t\t\tmissingText = __( 'Select category' );\n\t\t\tbreak;\n\t\tcase 'tag':\n\t\t\t/* translators: label for missing tag in navigation link block */\n\t\t\tmissingText = __( 'Select tag' );\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t/* translators: label for missing values in navigation link block */\n\t\t\tmissingText = __( 'Add link' );\n\t}\n\n\treturn missingText;\n}\n\nexport default function NavigationLinkEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst { id, label, type, url, description, kind, metadata } = attributes;\n\tconst { maxNestingLevel } = context;\n\n\tconst {\n\t\treplaceBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\t// Have the link editing ui open on mount when lacking a url and selected.\n\tconst [ isLinkOpen, setIsLinkOpen ] = useState( isSelected && ! url );\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst listItemRef = useRef( null );\n\tconst isDraggingWithin = useIsDraggingWithin( listItemRef );\n\tconst itemLabelPlaceholder = __( 'Add label…' );\n\tconst ref = useRef();\n\tconst linkUIref = useRef();\n\t// A link is \"new\" only if it has an undefined label\n\t// After the link is created, even if no label is provided, it's set to an empty string.\n\tconst isNewLink = useRef( label === undefined );\n\t// Track whether we should focus the submenu appender when closing the link UI\n\tconst shouldSelectSubmenuAppenderOnClose = useRef( false );\n\n\tconst {\n\t\tisAtMaxNesting,\n\t\tisTopLevelLink,\n\t\tisParentOfSelectedBlock,\n\t\thasChildren,\n\t\tparentBlockClientId,\n\t\tisSubmenu,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst parentBlockName = getBlockName( rootClientId );\n\t\t\tconst isTopLevel = parentBlockName === 'core/navigation';\n\t\t\tconst rootNavigationClientId = isTopLevel\n\t\t\t\t? rootClientId\n\t\t\t\t: getBlockParentsByBlockName(\n\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t'core/navigation'\n\t\t\t\t )[ 0 ];\n\n\t\t\t// Get the immediate parent - if it's a submenu, use it; otherwise use the navigation block\n\t\t\tconst parentBlockId =\n\t\t\t\tparentBlockName === 'core/navigation-submenu'\n\t\t\t\t\t? rootClientId\n\t\t\t\t\t: rootNavigationClientId;\n\n\t\t\treturn {\n\t\t\t\tisAtMaxNesting:\n\t\t\t\t\tgetBlockParentsByBlockName( clientId, NESTING_BLOCK_NAMES )\n\t\t\t\t\t\t.length >= maxNestingLevel,\n\t\t\t\tisTopLevelLink: isTopLevel,\n\t\t\t\tisParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\ttrue\n\t\t\t\t),\n\t\t\t\thasChildren: !! getBlockCount( clientId ),\n\t\t\t\tparentBlockClientId: parentBlockId,\n\t\t\t\tisSubmenu: parentBlockName === 'core/navigation-submenu',\n\t\t\t};\n\t\t},\n\t\t[ clientId, maxNestingLevel ]\n\t);\n\n\tconst validateLinkStatus = useEnableLinkStatusValidation( clientId );\n\tconst { getBlocks } = useSelect( blockEditorStore );\n\n\t// URL binding logic\n\tconst { hasUrlBinding, isBoundEntityAvailable, entityRecord } =\n\t\tuseEntityBinding( {\n\t\t\tclientId,\n\t\t\tattributes,\n\t\t} );\n\n\tconst handleLinkChange = useHandleLinkChange( {\n\t\tclientId,\n\t\tattributes,\n\t\tsetAttributes,\n\t\tallowTextUpdate: true,\n\t} );\n\n\tconst [ isInvalid, isDraft ] = useIsInvalidLink(\n\t\tkind,\n\t\ttype,\n\t\tid,\n\t\tvalidateLinkStatus\n\t);\n\n\t/**\n\t * Transform to submenu block.\n\t */\n\tconst transformToSubmenu = useCallback( () => {\n\t\tlet innerBlocks = getBlocks( clientId );\n\t\tif ( innerBlocks.length === 0 ) {\n\t\t\tinnerBlocks = [ createBlock( 'core/navigation-link' ) ];\n\t\t\tselectBlock( innerBlocks[ 0 ].clientId );\n\t\t}\n\t\tconst newSubmenu = createBlock(\n\t\t\t'core/navigation-submenu',\n\t\t\tattributes,\n\t\t\tinnerBlocks\n\t\t);\n\t\treplaceBlock( clientId, newSubmenu );\n\t}, [ getBlocks, clientId, selectBlock, replaceBlock, attributes ] );\n\n\t// On mount, if this is a new link without a URL and it's selected,\n\t// select the parent block (submenu or navigation) instead to keep the appender visible.\n\t// This helps us return focus to the appender if the user closes the link ui without creating a link.\n\t// If we leave focus on this block, then when we close the link without creating a link, focus will\n\t// be lost during the new block selection process.\n\tuseEffect( () => {\n\t\tif ( isNewLink.current && isSelected ) {\n\t\t\tselectBlock( parentBlockClientId );\n\t\t}\n\t}, [] ); // eslint-disable-line react-hooks/exhaustive-deps\n\n\tuseEffect( () => {\n\t\t// If block has inner blocks, transform to Submenu.\n\t\tif ( hasChildren ) {\n\t\t\t// This side-effect should not create an undo level as those should\n\t\t\t// only be created via user interactions.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\ttransformToSubmenu();\n\t\t}\n\t}, [\n\t\thasChildren,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\ttransformToSubmenu,\n\t] );\n\n\t// Handle link UI when a new link is created\n\tuseEffect( () => {\n\t\t// We know if a link was just created from our link UI if\n\t\t// 1. isNewLink.current is true\n\t\t// 2. url has a value\n\t\t// 3. isLinkOpen is true\n\t\tif ( ! isNewLink.current || ! url || ! isLinkOpen ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Ensure this only runs once\n\t\tisNewLink.current = false;\n\n\t\t// We just created a link and the block is now selected.\n\t\t// If the label looks like a URL, focus and select the label text.\n\t\tif ( isURL( prependHTTP( label ) ) && /^.+\\.[a-z]+/.test( label ) ) {\n\t\t\t// Focus and select the label text.\n\t\t\tselectLabelText( ref );\n\t\t} else {\n\t\t\t// If the link was just created, we want to select the block so the inspector controls\n\t\t\t// are accurate.\n\t\t\tselectBlock( clientId, null );\n\n\t\t\t// Edge case: When the created link is the first child of a submenu, the focus will have\n\t\t\t// originated from the add submenu toolbar button. In this case, we need to return focus\n\t\t\t// to the submenu appender if the user closes the link ui using the keyboard.\n\t\t\t// Check if this is the first and only child of a newly created submenu.\n\t\t\tif ( isSubmenu ) {\n\t\t\t\tconst parentBlocks = getBlocks( parentBlockClientId );\n\t\t\t\t// If this is the only child, then this is a new submenu.\n\t\t\t\t// Set the flag to select the submenu appender when the link ui is closed.\n\t\t\t\tif (\n\t\t\t\t\tparentBlocks.length === 1 &&\n\t\t\t\t\tparentBlocks[ 0 ].clientId === clientId\n\t\t\t\t) {\n\t\t\t\t\tshouldSelectSubmenuAppenderOnClose.current = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [ url, isLinkOpen, isNewLink, label ] );\n\n\t/**\n\t * Removes the current link if set.\n\t */\n\tfunction removeLink() {\n\t\t// Reset all attributes that comprise the link.\n\t\t// It is critical that all attributes are reset\n\t\t// to their default values otherwise this may\n\t\t// in advertently trigger side effects because\n\t\t// the values will have \"changed\".\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlabel: undefined,\n\t\t\tid: undefined,\n\t\t\tkind: undefined,\n\t\t\ttype: undefined,\n\t\t\topensInNewTab: false,\n\t\t} );\n\n\t\t// Close the link editing UI.\n\t\tsetIsLinkOpen( false );\n\t}\n\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t} = getColors( context, ! isTopLevelLink );\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\t// Required to prevent the command center from opening,\n\t\t\t// as it shares the CMD+K shortcut.\n\t\t\t// See https://github.com/WordPress/gutenberg/pull/59845.\n\t\t\tevent.preventDefault();\n\t\t\t// If this link is a child of a parent submenu item, the parent submenu item event will also open, closing this popover\n\t\t\tevent.stopPropagation();\n\t\t\tsetIsLinkOpen( true );\n\t\t}\n\t}\n\n\tconst instanceId = useInstanceId( NavigationLinkEdit );\n\tconst hasMissingEntity = hasUrlBinding && ! isBoundEntityAvailable;\n\tconst missingEntityDescriptionId = hasMissingEntity\n\t\t? sprintf( 'navigation-link-edit-%d-desc', instanceId )\n\t\t: undefined;\n\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, listItemRef ] ),\n\t\tclassName: clsx( 'wp-block-navigation-item', {\n\t\t\t'is-editing': isSelected || isParentOfSelectedBlock,\n\t\t\t'is-dragging-within': isDraggingWithin,\n\t\t\t'has-link': !! url,\n\t\t\t'has-child': hasChildren,\n\t\t\t'has-text-color': !! textColor || !! customTextColor,\n\t\t\t[ getColorClassName( 'color', textColor ) ]: !! textColor,\n\t\t\t'has-background': !! backgroundColor || customBackgroundColor,\n\t\t\t[ getColorClassName( 'background-color', backgroundColor ) ]:\n\t\t\t\t!! backgroundColor,\n\t\t} ),\n\t\t'aria-describedby': missingEntityDescriptionId,\n\t\t'aria-invalid': hasMissingEntity,\n\t\tstyle: {\n\t\t\tcolor: ! textColor && customTextColor,\n\t\t\tbackgroundColor: ! backgroundColor && customBackgroundColor,\n\t\t},\n\t\tonKeyDown,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'remove-outline', // Remove the outline from the inner blocks container.\n\t\t},\n\t\t{\n\t\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\t\tdirectInsert: true,\n\t\t\trenderAppender: false,\n\t\t}\n\t);\n\n\tconst needsValidLink =\n\t\t( ! url && ! ( hasUrlBinding && isBoundEntityAvailable ) ) ||\n\t\tisInvalid ||\n\t\tisDraft ||\n\t\t( hasUrlBinding && ! isBoundEntityAvailable );\n\n\tif ( needsValidLink ) {\n\t\tblockProps.onClick = () => {\n\t\t\tsetIsLinkOpen( true );\n\t\t};\n\t}\n\n\tconst classes = clsx( 'wp-block-navigation-item__content', {\n\t\t'wp-block-navigation-link__placeholder': needsValidLink,\n\t} );\n\n\tconst missingText = getMissingText( type );\n\tconst invalidLinkHelpText = getInvalidLinkHelpText();\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ () => {\n\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{ ! 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 group=\"content\">\n\t\t\t\t<Controls\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ hasMissingEntity && (\n\t\t\t\t\t<VisuallyHidden id={ missingEntityDescriptionId }>\n\t\t\t\t\t\t{ invalidLinkHelpText }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t) }\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 && ! metadata?.bindings?.url ? (\n\t\t\t\t\t\t<div className=\"wp-block-navigation-link__placeholder-text\">\n\t\t\t\t\t\t\t<span>{ missingText }</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isInvalid && ! isDraft && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( labelValue ) =>\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: labelValue,\n\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'core/navigation-link'\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t'Navigation link text'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ description && (\n\t\t\t\t\t\t\t\t\t\t<span className=\"wp-block-navigation-item__description\">\n\t\t\t\t\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ ( isInvalid || isDraft ) && (\n\t\t\t\t\t\t\t\t<InvalidDraftDisplay\n\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\tisInvalid={ isInvalid }\n\t\t\t\t\t\t\t\t\tisDraft={ isDraft }\n\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-link__label\"\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<LinkUI\n\t\t\t\t\t\t\tref={ linkUIref }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tlink={ attributes }\n\t\t\t\t\t\t\tentity={ {\n\t\t\t\t\t\t\t\tentityRecord,\n\t\t\t\t\t\t\t\thasBinding: hasUrlBinding,\n\t\t\t\t\t\t\t\tisEntityAvailable: isBoundEntityAvailable,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\t\tsetIsLinkOpen( false );\n\t\t\t\t\t\t\t\t// If there is no link and no binding, remove the auto-inserted block.\n\t\t\t\t\t\t\t\t// This avoids empty blocks which can provided a poor UX.\n\t\t\t\t\t\t\t\t// Don't remove if binding exists (even if entity is unavailable) so user can fix it.\n\t\t\t\t\t\t\t\tif ( ! url && ! hasUrlBinding ) {\n\t\t\t\t\t\t\t\t\tonReplace( [] );\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// Edge case: If this is the first child of a new submenu, focus the submenu's appender\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tshouldSelectSubmenuAppenderOnClose.current\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tshouldSelectSubmenuAppenderOnClose.current = false;\n\n\t\t\t\t\t\t\t\t\t// The appender is the next sibling in the DOM after the current block\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tlistItemRef.current?.nextElementSibling\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\tconst appenderButton =\n\t\t\t\t\t\t\t\t\t\t\tlistItemRef.current.nextElementSibling.querySelector(\n\t\t\t\t\t\t\t\t\t\t\t\t'.block-editor-button-block-appender'\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tif ( appenderButton ) {\n\t\t\t\t\t\t\t\t\t\t\tappenderButton.focus();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\t\tonRemove={ removeLink }\n\t\t\t\t\t\t\tonChange={ handleLinkChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</a>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport { createBlock } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { ToolbarButton, ToolbarGroup } from '@wordpress/components';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tgetColorClassName,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\nimport { isURL, prependHTTP } from '@wordpress/url';\nimport { useState, useEffect, useRef, useCallback } from '@wordpress/element';\nimport { VisuallyHidden } from '@wordpress/ui';\nimport { link as linkIcon, addSubmenu } from '@wordpress/icons';\nimport { useMergeRefs, useInstanceId } from '@wordpress/compose';\nimport { getColors } from '../navigation/edit/utils';\nimport {\n\tControls,\n\tLinkUI,\n\tuseEntityBinding,\n\tgetInvalidLinkHelpText,\n\tuseHandleLinkChange,\n\tuseIsInvalidLink,\n\tInvalidDraftDisplay,\n\tuseEnableLinkStatusValidation,\n\tuseIsDraggingWithin,\n\tselectLabelText,\n} from './shared';\n\nconst DEFAULT_BLOCK = { name: 'core/navigation-link' };\nconst NESTING_BLOCK_NAMES = [\n\t'core/navigation-link',\n\t'core/navigation-submenu',\n];\n\nfunction getMissingText( type ) {\n\tlet missingText = '';\n\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\t\t/* translators: label for missing post in navigation link block */\n\t\t\tmissingText = __( 'Select post' );\n\t\t\tbreak;\n\t\tcase 'page':\n\t\t\t/* translators: label for missing page in navigation link block */\n\t\t\tmissingText = __( 'Select page' );\n\t\t\tbreak;\n\t\tcase 'category':\n\t\t\t/* translators: label for missing category in navigation link block */\n\t\t\tmissingText = __( 'Select category' );\n\t\t\tbreak;\n\t\tcase 'tag':\n\t\t\t/* translators: label for missing tag in navigation link block */\n\t\t\tmissingText = __( 'Select tag' );\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t/* translators: label for missing values in navigation link block */\n\t\t\tmissingText = __( 'Add link' );\n\t}\n\n\treturn missingText;\n}\n\nexport default function NavigationLinkEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst { id, label, type, url, description, kind, metadata } = attributes;\n\tconst { maxNestingLevel } = context;\n\n\tconst {\n\t\treplaceBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\t// Have the link editing ui open on mount when lacking a url and selected.\n\tconst [ isLinkOpen, setIsLinkOpen ] = useState( isSelected && ! url );\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst listItemRef = useRef( null );\n\tconst isDraggingWithin = useIsDraggingWithin( listItemRef );\n\tconst itemLabelPlaceholder = __( 'Add label…' );\n\tconst ref = useRef();\n\tconst linkUIref = useRef();\n\t// A link is \"new\" only if it has an undefined label\n\t// After the link is created, even if no label is provided, it's set to an empty string.\n\tconst isNewLink = useRef( label === undefined );\n\t// Track whether we should focus the submenu appender when closing the link UI\n\tconst shouldSelectSubmenuAppenderOnClose = useRef( false );\n\n\tconst {\n\t\tisAtMaxNesting,\n\t\tisTopLevelLink,\n\t\tisParentOfSelectedBlock,\n\t\thasChildren,\n\t\tparentBlockClientId,\n\t\tisSubmenu,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst parentBlockName = getBlockName( rootClientId );\n\t\t\tconst isTopLevel = parentBlockName === 'core/navigation';\n\t\t\tconst rootNavigationClientId = isTopLevel\n\t\t\t\t? rootClientId\n\t\t\t\t: getBlockParentsByBlockName(\n\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t'core/navigation'\n\t\t\t\t )[ 0 ];\n\n\t\t\t// Get the immediate parent - if it's a submenu, use it; otherwise use the navigation block\n\t\t\tconst parentBlockId =\n\t\t\t\tparentBlockName === 'core/navigation-submenu'\n\t\t\t\t\t? rootClientId\n\t\t\t\t\t: rootNavigationClientId;\n\n\t\t\treturn {\n\t\t\t\tisAtMaxNesting:\n\t\t\t\t\tgetBlockParentsByBlockName( clientId, NESTING_BLOCK_NAMES )\n\t\t\t\t\t\t.length >= maxNestingLevel,\n\t\t\t\tisTopLevelLink: isTopLevel,\n\t\t\t\tisParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\ttrue\n\t\t\t\t),\n\t\t\t\thasChildren: !! getBlockCount( clientId ),\n\t\t\t\tparentBlockClientId: parentBlockId,\n\t\t\t\tisSubmenu: parentBlockName === 'core/navigation-submenu',\n\t\t\t};\n\t\t},\n\t\t[ clientId, maxNestingLevel ]\n\t);\n\n\tconst validateLinkStatus = useEnableLinkStatusValidation( clientId );\n\tconst { getBlocks } = useSelect( blockEditorStore );\n\n\t// URL binding logic\n\tconst { hasUrlBinding, isBoundEntityAvailable, entityRecord } =\n\t\tuseEntityBinding( {\n\t\t\tclientId,\n\t\t\tattributes,\n\t\t} );\n\n\tconst handleLinkChange = useHandleLinkChange( {\n\t\tclientId,\n\t\tattributes,\n\t\tsetAttributes,\n\t\tallowTextUpdate: true,\n\t} );\n\n\tconst [ isInvalid, isDraft ] = useIsInvalidLink(\n\t\tkind,\n\t\ttype,\n\t\tid,\n\t\tvalidateLinkStatus\n\t);\n\n\t/**\n\t * Transform to submenu block.\n\t */\n\tconst transformToSubmenu = useCallback( () => {\n\t\tlet innerBlocks = getBlocks( clientId );\n\t\tif ( innerBlocks.length === 0 ) {\n\t\t\tinnerBlocks = [ createBlock( 'core/navigation-link' ) ];\n\t\t\tselectBlock( innerBlocks[ 0 ].clientId );\n\t\t}\n\t\tconst newSubmenu = createBlock(\n\t\t\t'core/navigation-submenu',\n\t\t\tattributes,\n\t\t\tinnerBlocks\n\t\t);\n\t\treplaceBlock( clientId, newSubmenu );\n\t}, [ getBlocks, clientId, selectBlock, replaceBlock, attributes ] );\n\n\t// On mount, if this is a new link without a URL and it's selected,\n\t// select the parent block (submenu or navigation) instead to keep the appender visible.\n\t// This helps us return focus to the appender if the user closes the link ui without creating a link.\n\t// If we leave focus on this block, then when we close the link without creating a link, focus will\n\t// be lost during the new block selection process.\n\tuseEffect( () => {\n\t\tif ( isNewLink.current && isSelected ) {\n\t\t\tselectBlock( parentBlockClientId );\n\t\t}\n\t}, [] ); // eslint-disable-line react-hooks/exhaustive-deps\n\n\tuseEffect( () => {\n\t\t// If block has inner blocks, transform to Submenu.\n\t\tif ( hasChildren ) {\n\t\t\t// This side-effect should not create an undo level as those should\n\t\t\t// only be created via user interactions.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\ttransformToSubmenu();\n\t\t}\n\t}, [\n\t\thasChildren,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\ttransformToSubmenu,\n\t] );\n\n\t// Handle link UI when a new link is created\n\tuseEffect( () => {\n\t\t// We know if a link was just created from our link UI if\n\t\t// 1. isNewLink.current is true\n\t\t// 2. url has a value\n\t\t// 3. isLinkOpen is true\n\t\tif ( ! isNewLink.current || ! url || ! isLinkOpen ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Ensure this only runs once\n\t\tisNewLink.current = false;\n\n\t\t// We just created a link and the block is now selected.\n\t\t// If the label looks like a URL, focus and select the label text.\n\t\tif ( isURL( prependHTTP( label ) ) && /^.+\\.[a-z]+/.test( label ) ) {\n\t\t\t// Focus and select the label text.\n\t\t\tselectLabelText( ref );\n\t\t} else {\n\t\t\t// If the link was just created, we want to select the block so the inspector controls\n\t\t\t// are accurate.\n\t\t\tselectBlock( clientId, null );\n\n\t\t\t// Edge case: When the created link is the first child of a submenu, the focus will have\n\t\t\t// originated from the add submenu toolbar button. In this case, we need to return focus\n\t\t\t// to the submenu appender if the user closes the link ui using the keyboard.\n\t\t\t// Check if this is the first and only child of a newly created submenu.\n\t\t\tif ( isSubmenu ) {\n\t\t\t\tconst parentBlocks = getBlocks( parentBlockClientId );\n\t\t\t\t// If this is the only child, then this is a new submenu.\n\t\t\t\t// Set the flag to select the submenu appender when the link ui is closed.\n\t\t\t\tif (\n\t\t\t\t\tparentBlocks.length === 1 &&\n\t\t\t\t\tparentBlocks[ 0 ].clientId === clientId\n\t\t\t\t) {\n\t\t\t\t\tshouldSelectSubmenuAppenderOnClose.current = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [ url, isLinkOpen, isNewLink, label ] );\n\n\t/**\n\t * Removes the current link if set.\n\t */\n\tfunction removeLink() {\n\t\t// Reset all attributes that comprise the link.\n\t\t// It is critical that all attributes are reset\n\t\t// to their default values otherwise this may\n\t\t// in advertently trigger side effects because\n\t\t// the values will have \"changed\".\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlabel: undefined,\n\t\t\tid: undefined,\n\t\t\tkind: undefined,\n\t\t\ttype: undefined,\n\t\t\topensInNewTab: false,\n\t\t} );\n\n\t\t// Close the link editing UI.\n\t\tsetIsLinkOpen( false );\n\t}\n\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t} = getColors( context, ! isTopLevelLink );\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\t// Required to prevent the command center from opening,\n\t\t\t// as it shares the CMD+K shortcut.\n\t\t\t// See https://github.com/WordPress/gutenberg/pull/59845.\n\t\t\tevent.preventDefault();\n\t\t\t// If this link is a child of a parent submenu item, the parent submenu item event will also open, closing this popover\n\t\t\tevent.stopPropagation();\n\t\t\tsetIsLinkOpen( true );\n\t\t}\n\t}\n\n\tconst instanceId = useInstanceId( NavigationLinkEdit );\n\tconst hasMissingEntity = hasUrlBinding && ! isBoundEntityAvailable;\n\tconst missingEntityDescriptionId = hasMissingEntity\n\t\t? sprintf( 'navigation-link-edit-%d-desc', instanceId )\n\t\t: undefined;\n\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, listItemRef ] ),\n\t\tclassName: clsx( 'wp-block-navigation-item', {\n\t\t\t'is-editing': isSelected || isParentOfSelectedBlock,\n\t\t\t'is-dragging-within': isDraggingWithin,\n\t\t\t'has-link': !! url,\n\t\t\t'has-child': hasChildren,\n\t\t\t'has-text-color': !! textColor || !! customTextColor,\n\t\t\t[ getColorClassName( 'color', textColor ) ]: !! textColor,\n\t\t\t'has-background': !! backgroundColor || customBackgroundColor,\n\t\t\t[ getColorClassName( 'background-color', backgroundColor ) ]:\n\t\t\t\t!! backgroundColor,\n\t\t} ),\n\t\t'aria-describedby': missingEntityDescriptionId,\n\t\t'aria-invalid': hasMissingEntity,\n\t\tstyle: {\n\t\t\tcolor: ! textColor && customTextColor,\n\t\t\tbackgroundColor: ! backgroundColor && customBackgroundColor,\n\t\t},\n\t\tonKeyDown,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'remove-outline', // Remove the outline from the inner blocks container.\n\t\t},\n\t\t{\n\t\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\t\tdirectInsert: true,\n\t\t\trenderAppender: false,\n\t\t}\n\t);\n\n\tconst needsValidLink =\n\t\t( ! url && ! ( hasUrlBinding && isBoundEntityAvailable ) ) ||\n\t\tisInvalid ||\n\t\tisDraft ||\n\t\t( hasUrlBinding && ! isBoundEntityAvailable );\n\n\tif ( needsValidLink ) {\n\t\tblockProps.onClick = () => {\n\t\t\tsetIsLinkOpen( true );\n\t\t};\n\t}\n\n\tconst classes = clsx( 'wp-block-navigation-item__content', {\n\t\t'wp-block-navigation-link__placeholder': needsValidLink,\n\t} );\n\n\tconst missingText = getMissingText( type );\n\tconst invalidLinkHelpText = getInvalidLinkHelpText();\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ () => {\n\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{ ! 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 group=\"content\">\n\t\t\t\t<Controls\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ hasMissingEntity && (\n\t\t\t\t\t<VisuallyHidden id={ missingEntityDescriptionId }>\n\t\t\t\t\t\t{ invalidLinkHelpText }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t) }\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 && ! metadata?.bindings?.url ? (\n\t\t\t\t\t\t<div className=\"wp-block-navigation-link__placeholder-text\">\n\t\t\t\t\t\t\t<span>{ missingText }</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isInvalid && ! isDraft && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( labelValue ) =>\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: labelValue,\n\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\t\t\t\t\t__unstableOnSplitAtEnd={\n\t\t\t\t\t\t\t\t\t\t\tinsertBlocksAfter\n\t\t\t\t\t\t\t\t\t\t\t\t? () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'core/navigation-link'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t'Navigation link text'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ description && (\n\t\t\t\t\t\t\t\t\t\t<span className=\"wp-block-navigation-item__description\">\n\t\t\t\t\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ ( isInvalid || isDraft ) && (\n\t\t\t\t\t\t\t\t<InvalidDraftDisplay\n\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\tisInvalid={ isInvalid }\n\t\t\t\t\t\t\t\t\tisDraft={ isDraft }\n\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-link__label\"\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<LinkUI\n\t\t\t\t\t\t\tref={ linkUIref }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tlink={ attributes }\n\t\t\t\t\t\t\tentity={ {\n\t\t\t\t\t\t\t\tentityRecord,\n\t\t\t\t\t\t\t\thasBinding: hasUrlBinding,\n\t\t\t\t\t\t\t\tisEntityAvailable: isBoundEntityAvailable,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\t\tsetIsLinkOpen( false );\n\t\t\t\t\t\t\t\t// If there is no link and no binding, remove the auto-inserted block.\n\t\t\t\t\t\t\t\t// This avoids empty blocks which can provided a poor UX.\n\t\t\t\t\t\t\t\t// Don't remove if binding exists (even if entity is unavailable) so user can fix it.\n\t\t\t\t\t\t\t\t// `onReplace` is undefined when the block can't be removed.\n\t\t\t\t\t\t\t\tif ( ! url && ! hasUrlBinding && onReplace ) {\n\t\t\t\t\t\t\t\t\tonReplace( [] );\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// Edge case: If this is the first child of a new submenu, focus the submenu's appender\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tshouldSelectSubmenuAppenderOnClose.current\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tshouldSelectSubmenuAppenderOnClose.current = false;\n\n\t\t\t\t\t\t\t\t\t// The appender is the next sibling in the DOM after the current block\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tlistItemRef.current?.nextElementSibling\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\tconst appenderButton =\n\t\t\t\t\t\t\t\t\t\t\tlistItemRef.current.nextElementSibling.querySelector(\n\t\t\t\t\t\t\t\t\t\t\t\t'.block-editor-button-block-appender'\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tif ( appenderButton ) {\n\t\t\t\t\t\t\t\t\t\t\tappenderButton.focus();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\t\tonRemove={ removeLink }\n\t\t\t\t\t\t\tonChange={ handleLinkChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</a>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/navigation-link/hooks.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tcategory,\n\tpage,\n\tpostList,\n\ttag,\n\tcustomPostType,\n} from '@wordpress/icons';\n\nfunction getIcon( variationName ) {\n\tswitch ( variationName ) {\n\t\tcase 'post':\n\t\t\treturn postList;\n\t\tcase 'page':\n\t\t\treturn page;\n\t\tcase 'tag':\n\t\t\treturn tag;\n\t\tcase 'category':\n\t\t\treturn category;\n\t\tdefault:\n\t\t\treturn customPostType;\n\t}\n}\n\nexport function enhanceNavigationLinkVariations( settings, name ) {\n\tif ( name !== 'core/navigation-link' ) {\n\t\treturn settings;\n\t}\n\n\t// Otherwise decorate server passed variations with an icon and isActive function.\n\tif ( settings.variations ) {\n\t\tconst isActive = ( blockAttributes, variationAttributes ) => {\n\t\t\treturn blockAttributes.type === variationAttributes.type;\n\t\t};\n\t\tconst variations = settings.variations.map( ( variation ) => {\n\t\t\treturn {\n\t\t\t\t...variation,\n\t\t\t\t...( ! variation.icon && {\n\t\t\t\t\ticon: getIcon( variation.name ),\n\t\t\t\t} ),\n\t\t\t\t...( ! variation.isActive && {\n\t\t\t\t\tisActive,\n\t\t\t\t} ),\n\t\t\t};\n\t\t} );\n\t\treturn {\n\t\t\t...settings,\n\t\t\tvariations,\n\t\t};\n\t}\n\treturn settings;\n}\n"],
5
- "mappings": ";AAGA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAEP,SAAS,QAAS,eAAgB;AACjC,UAAS,eAAgB;AAAA,IACxB,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR;AACC,aAAO;AAAA,EACT;AACD;AAEO,SAAS,gCAAiC,UAAU,MAAO;AACjE,MAAK,SAAS,wBAAyB;AACtC,WAAO;AAAA,EACR;AAGA,MAAK,SAAS,YAAa;AAC1B,UAAM,WAAW,CAAE,iBAAiB,wBAAyB;AAC5D,aAAO,gBAAgB,SAAS,oBAAoB;AAAA,IACrD;AACA,UAAM,aAAa,SAAS,WAAW,IAAK,CAAE,cAAe;AAC5D,aAAO;AAAA,QACN,GAAG;AAAA,QACH,GAAK,CAAE,UAAU,QAAQ;AAAA,UACxB,MAAM,QAAS,UAAU,IAAK;AAAA,QAC/B;AAAA,QACA,GAAK,CAAE,UAAU,YAAY;AAAA,UAC5B;AAAA,QACD;AAAA,MACD;AAAA,IACD,CAAE;AACF,WAAO;AAAA,MACN,GAAG;AAAA,MACH;AAAA,IACD;AAAA,EACD;AACA,SAAO;AACR;",
4
+ "sourcesContent": ["import {\n\tcategory,\n\tpage,\n\tpostList,\n\ttag,\n\tcustomPostType,\n} from '@wordpress/icons';\n\nfunction getIcon( variationName ) {\n\tswitch ( variationName ) {\n\t\tcase 'post':\n\t\t\treturn postList;\n\t\tcase 'page':\n\t\t\treturn page;\n\t\tcase 'tag':\n\t\t\treturn tag;\n\t\tcase 'category':\n\t\t\treturn category;\n\t\tdefault:\n\t\t\treturn customPostType;\n\t}\n}\n\nexport function enhanceNavigationLinkVariations( settings, name ) {\n\tif ( name !== 'core/navigation-link' ) {\n\t\treturn settings;\n\t}\n\n\t// Otherwise decorate server passed variations with an icon and isActive function.\n\tif ( settings.variations ) {\n\t\tconst isActive = ( blockAttributes, variationAttributes ) => {\n\t\t\treturn blockAttributes.type === variationAttributes.type;\n\t\t};\n\t\tconst variations = settings.variations.map( ( variation ) => {\n\t\t\treturn {\n\t\t\t\t...variation,\n\t\t\t\t...( ! variation.icon && {\n\t\t\t\t\ticon: getIcon( variation.name ),\n\t\t\t\t} ),\n\t\t\t\t...( ! variation.isActive && {\n\t\t\t\t\tisActive,\n\t\t\t\t} ),\n\t\t\t};\n\t\t} );\n\t\treturn {\n\t\t\t...settings,\n\t\t\tvariations,\n\t\t};\n\t}\n\treturn settings;\n}\n"],
5
+ "mappings": ";AAAA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAEP,SAAS,QAAS,eAAgB;AACjC,UAAS,eAAgB;AAAA,IACxB,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR;AACC,aAAO;AAAA,EACT;AACD;AAEO,SAAS,gCAAiC,UAAU,MAAO;AACjE,MAAK,SAAS,wBAAyB;AACtC,WAAO;AAAA,EACR;AAGA,MAAK,SAAS,YAAa;AAC1B,UAAM,WAAW,CAAE,iBAAiB,wBAAyB;AAC5D,aAAO,gBAAgB,SAAS,oBAAoB;AAAA,IACrD;AACA,UAAM,aAAa,SAAS,WAAW,IAAK,CAAE,cAAe;AAC5D,aAAO;AAAA,QACN,GAAG;AAAA,QACH,GAAK,CAAE,UAAU,QAAQ;AAAA,UACxB,MAAM,QAAS,UAAU,IAAK;AAAA,QAC/B;AAAA,QACA,GAAK,CAAE,UAAU,YAAY;AAAA,UAC5B;AAAA,QACD;AAAA,MACD;AAAA,IACD,CAAE;AACF,WAAO;AAAA,MACN,GAAG;AAAA,MACH;AAAA,IACD;AAAA,EACD;AACA,SAAO;AACR;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/navigation-link/icons.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/components';\n\nexport const ItemSubmenuIcon = () => (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\twidth=\"12\"\n\t\theight=\"12\"\n\t\tviewBox=\"0 0 12 12\"\n\t\tfill=\"none\"\n\t>\n\t\t<Path d=\"M1.50002 4L6.00002 8L10.5 4\" strokeWidth=\"1.5\" />\n\t</SVG>\n);\n"],
5
- "mappings": ";AAGA,SAAS,MAAM,WAAW;AAUxB;AARK,IAAM,kBAAkB,MAC9B;AAAA,EAAC;AAAA;AAAA,IACA,OAAM;AAAA,IACN,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,MAAK;AAAA,IAEL,8BAAC,QAAK,GAAE,+BAA8B,aAAY,OAAM;AAAA;AACzD;",
4
+ "sourcesContent": ["import { Path, SVG } from '@wordpress/components';\n\nexport const ItemSubmenuIcon = () => (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\twidth=\"12\"\n\t\theight=\"12\"\n\t\tviewBox=\"0 0 12 12\"\n\t\tfill=\"none\"\n\t>\n\t\t<Path d=\"M1.50002 4L6.00002 8L10.5 4\" strokeWidth=\"1.5\" />\n\t</SVG>\n);\n"],
5
+ "mappings": ";AAAA,SAAS,MAAM,WAAW;AAUxB;AARK,IAAM,kBAAkB,MAC9B;AAAA,EAAC;AAAA;AAAA,IACA,OAAM;AAAA,IACN,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,MAAK;AAAA,IAEL,8BAAC,QAAK,GAAE,+BAA8B,aAAY,OAAM;AAAA;AACzD;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/navigation-link/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { _x, __, sprintf } from '@wordpress/i18n';\nimport { customLink as linkIcon } from '@wordpress/icons';\nimport { InnerBlocks } from '@wordpress/block-editor';\nimport { addFilter } from '@wordpress/hooks';\nimport { privateApis as blocksPrivateApis } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport { enhanceNavigationLinkVariations } from './hooks';\nimport transforms from './transforms';\nimport { unlock } from '../lock-unlock';\n\nconst { fieldsKey, formKey } = unlock( blocksPrivateApis );\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon: linkIcon,\n\n\t__experimentalLabel( attributes, { context } ) {\n\t\tif ( context === 'list-view' ) {\n\t\t\treturn attributes?.label;\n\t\t}\n\n\t\tif ( context === 'appender' ) {\n\t\t\tconst type = attributes?.type || 'link';\n\t\t\treturn sprintf(\n\t\t\t\t/* translators: %s: block type (e.g., 'page', 'post', 'category') */\n\t\t\t\t_x( 'Add %s', 'add default block type' ),\n\t\t\t\ttype\n\t\t\t);\n\t\t}\n\n\t\t// Backwards compatibility - return label for unknown contexts\n\t\treturn attributes?.label;\n\t},\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\nif ( window.__experimentalContentOnlyInspectorFields ) {\n\tsettings[ fieldsKey ] = [\n\t\t{\n\t\t\tid: 'label',\n\t\t\tlabel: __( 'Label' ),\n\t\t\ttype: 'text',\n\t\t\tEdit: 'rich-text',\n\t\t},\n\t\t{\n\t\t\tid: 'link',\n\t\t\tlabel: __( 'Link' ),\n\t\t\ttype: 'url',\n\t\t\tEdit: 'link',\n\t\t\tgetValue: ( { item } ) => ( {\n\t\t\t\turl: item.url,\n\t\t\t\trel: item.rel,\n\t\t\t} ),\n\t\t\tsetValue: ( { value } ) => ( {\n\t\t\t\turl: value.url,\n\t\t\t\trel: value.rel,\n\t\t\t} ),\n\t\t},\n\t];\n\tsettings[ formKey ] = {\n\t\tfields: [ 'label', 'link' ],\n\t};\n}\n\nexport const init = () => {\n\taddFilter(\n\t\t'blocks.registerBlockType',\n\t\t'core/navigation-link',\n\t\tenhanceNavigationLinkVariations\n\t);\n\n\treturn initBlock( { name, metadata, settings } );\n};\n"],
5
- "mappings": ";AAGA,SAAS,IAAI,IAAI,eAAe;AAChC,SAAS,cAAc,gBAAgB;AACvC,SAAS,mBAAmB;AAC5B,SAAS,iBAAiB;AAC1B,SAAS,eAAe,yBAAyB;AAKjD,OAAO,eAAe;AACtB,OAAO,cAAc;AACrB,OAAO,UAAU;AACjB,OAAO,UAAU;AACjB,SAAS,uCAAuC;AAChD,OAAO,gBAAgB;AACvB,SAAS,cAAc;AAsFZ;AApFX,IAAM,EAAE,WAAW,QAAQ,IAAI,OAAQ,iBAAkB;AAEzD,IAAM,EAAE,KAAK,IAAI;AAIV,IAAM,WAAW;AAAA,EACvB,MAAM;AAAA,EAEN,oBAAqB,YAAY,EAAE,QAAQ,GAAI;AAC9C,QAAK,YAAY,aAAc;AAC9B,aAAO,YAAY;AAAA,IACpB;AAEA,QAAK,YAAY,YAAa;AAC7B,YAAM,OAAO,YAAY,QAAQ;AACjC,aAAO;AAAA;AAAA,QAEN,GAAI,UAAU,wBAAyB;AAAA,QACvC;AAAA,MACD;AAAA,IACD;AAGA,WAAO,YAAY;AAAA,EACpB;AAAA,EAEA,MAAO,gBAAgB,EAAE,OAAO,aAAa,GAAG,GAAI;AACnD,WAAO;AAAA,MACN,GAAG;AAAA,MACH,OAAO,eAAe,QAAQ;AAAA,IAC/B;AAAA,EACD;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA,SAAS;AAAA,IACR,YAAY;AAAA,MACX,OAAO,GAAI,gBAAgB,iCAAkC;AAAA,MAC7D,KAAK;AAAA,IACN;AAAA,EACD;AAAA,EAEA,YAAY;AAAA,IACX;AAAA,MACC,WAAY,YAAa;AACxB,eAAO,WAAW;AAAA,MACnB;AAAA,MAEA,YAAY;AAAA,QACX,OAAO;AAAA,UACN,MAAM;AAAA,QACP;AAAA,QACA,MAAM;AAAA,UACL,MAAM;AAAA,QACP;AAAA,QACA,UAAU;AAAA,UACT,MAAM;AAAA,QACP;AAAA,QACA,aAAa;AAAA,UACZ,MAAM;AAAA,QACP;AAAA,QACA,IAAI;AAAA,UACH,MAAM;AAAA,QACP;AAAA,QACA,eAAe;AAAA,UACd,MAAM;AAAA,UACN,SAAS;AAAA,QACV;AAAA,QACA,KAAK;AAAA,UACJ,MAAM;AAAA,QACP;AAAA,MACD;AAAA,MAEA,QAAS,EAAE,UAAU,GAAG,KAAK,GAAI;AAChC,eAAO;AAAA,UACN,KAAK,WAAW,aAAa;AAAA,UAC7B,GAAG;AAAA,QACJ;AAAA,MACD;AAAA,MAEA,OAAO;AACN,eAAO,oBAAC,YAAY,SAAZ,EAAoB;AAAA,MAC7B;AAAA,IACD;AAAA,EACD;AAAA,EACA;AACD;AAEA,IAAK,OAAO,0CAA2C;AACtD,WAAU,SAAU,IAAI;AAAA,IACvB;AAAA,MACC,IAAI;AAAA,MACJ,OAAO,GAAI,OAAQ;AAAA,MACnB,MAAM;AAAA,MACN,MAAM;AAAA,IACP;AAAA,IACA;AAAA,MACC,IAAI;AAAA,MACJ,OAAO,GAAI,MAAO;AAAA,MAClB,MAAM;AAAA,MACN,MAAM;AAAA,MACN,UAAU,CAAE,EAAE,KAAK,OAAS;AAAA,QAC3B,KAAK,KAAK;AAAA,QACV,KAAK,KAAK;AAAA,MACX;AAAA,MACA,UAAU,CAAE,EAAE,MAAM,OAAS;AAAA,QAC5B,KAAK,MAAM;AAAA,QACX,KAAK,MAAM;AAAA,MACZ;AAAA,IACD;AAAA,EACD;AACA,WAAU,OAAQ,IAAI;AAAA,IACrB,QAAQ,CAAE,SAAS,MAAO;AAAA,EAC3B;AACD;AAEO,IAAM,OAAO,MAAM;AACzB;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,SAAO,UAAW,EAAE,MAAM,UAAU,SAAS,CAAE;AAChD;",
4
+ "sourcesContent": ["import { _x, __, sprintf } from '@wordpress/i18n';\nimport { customLink as linkIcon } from '@wordpress/icons';\nimport { InnerBlocks } from '@wordpress/block-editor';\nimport { addFilter } from '@wordpress/hooks';\nimport { privateApis as blocksPrivateApis } from '@wordpress/blocks';\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport { enhanceNavigationLinkVariations } from './hooks';\nimport transforms from './transforms';\nimport { unlock } from '../lock-unlock';\n\nconst { fieldsKey, formKey } = unlock( blocksPrivateApis );\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon: linkIcon,\n\n\t__experimentalLabel( attributes, { context } ) {\n\t\tif ( context === 'list-view' ) {\n\t\t\treturn attributes?.label;\n\t\t}\n\n\t\tif ( context === 'appender' ) {\n\t\t\tconst type = attributes?.type || 'link';\n\t\t\treturn sprintf(\n\t\t\t\t/* translators: %s: block type (e.g., 'page', 'post', 'category') */\n\t\t\t\t_x( 'Add %s', 'add default block type' ),\n\t\t\t\ttype\n\t\t\t);\n\t\t}\n\n\t\t// Backwards compatibility - return label for unknown contexts\n\t\treturn attributes?.label;\n\t},\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\nif ( window.__experimentalContentOnlyInspectorFields ) {\n\tsettings[ fieldsKey ] = [\n\t\t{\n\t\t\tid: 'label',\n\t\t\tlabel: __( 'Label' ),\n\t\t\ttype: 'text',\n\t\t\tEdit: 'rich-text',\n\t\t},\n\t\t{\n\t\t\tid: 'link',\n\t\t\tlabel: __( 'Link' ),\n\t\t\ttype: 'url',\n\t\t\tEdit: 'link',\n\t\t\tgetValue: ( { item } ) => ( {\n\t\t\t\turl: item.url,\n\t\t\t\trel: item.rel,\n\t\t\t} ),\n\t\t\tsetValue: ( { value } ) => ( {\n\t\t\t\turl: value.url,\n\t\t\t\trel: value.rel,\n\t\t\t} ),\n\t\t},\n\t];\n\tsettings[ formKey ] = {\n\t\tfields: [ 'label', 'link' ],\n\t};\n}\n\nexport const init = () => {\n\taddFilter(\n\t\t'blocks.registerBlockType',\n\t\t'core/navigation-link',\n\t\tenhanceNavigationLinkVariations\n\t);\n\n\treturn initBlock( { name, metadata, settings } );\n};\n"],
5
+ "mappings": ";AAAA,SAAS,IAAI,IAAI,eAAe;AAChC,SAAS,cAAc,gBAAgB;AACvC,SAAS,mBAAmB;AAC5B,SAAS,iBAAiB;AAC1B,SAAS,eAAe,yBAAyB;AACjD,OAAO,eAAe;AACtB,OAAO,cAAc;AACrB,OAAO,UAAU;AACjB,OAAO,UAAU;AACjB,SAAS,uCAAuC;AAChD,OAAO,gBAAgB;AACvB,SAAS,cAAc;AAsFZ;AApFX,IAAM,EAAE,WAAW,QAAQ,IAAI,OAAQ,iBAAkB;AAEzD,IAAM,EAAE,KAAK,IAAI;AAIV,IAAM,WAAW;AAAA,EACvB,MAAM;AAAA,EAEN,oBAAqB,YAAY,EAAE,QAAQ,GAAI;AAC9C,QAAK,YAAY,aAAc;AAC9B,aAAO,YAAY;AAAA,IACpB;AAEA,QAAK,YAAY,YAAa;AAC7B,YAAM,OAAO,YAAY,QAAQ;AACjC,aAAO;AAAA;AAAA,QAEN,GAAI,UAAU,wBAAyB;AAAA,QACvC;AAAA,MACD;AAAA,IACD;AAGA,WAAO,YAAY;AAAA,EACpB;AAAA,EAEA,MAAO,gBAAgB,EAAE,OAAO,aAAa,GAAG,GAAI;AACnD,WAAO;AAAA,MACN,GAAG;AAAA,MACH,OAAO,eAAe,QAAQ;AAAA,IAC/B;AAAA,EACD;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA,SAAS;AAAA,IACR,YAAY;AAAA,MACX,OAAO,GAAI,gBAAgB,iCAAkC;AAAA,MAC7D,KAAK;AAAA,IACN;AAAA,EACD;AAAA,EAEA,YAAY;AAAA,IACX;AAAA,MACC,WAAY,YAAa;AACxB,eAAO,WAAW;AAAA,MACnB;AAAA,MAEA,YAAY;AAAA,QACX,OAAO;AAAA,UACN,MAAM;AAAA,QACP;AAAA,QACA,MAAM;AAAA,UACL,MAAM;AAAA,QACP;AAAA,QACA,UAAU;AAAA,UACT,MAAM;AAAA,QACP;AAAA,QACA,aAAa;AAAA,UACZ,MAAM;AAAA,QACP;AAAA,QACA,IAAI;AAAA,UACH,MAAM;AAAA,QACP;AAAA,QACA,eAAe;AAAA,UACd,MAAM;AAAA,UACN,SAAS;AAAA,QACV;AAAA,QACA,KAAK;AAAA,UACJ,MAAM;AAAA,QACP;AAAA,MACD;AAAA,MAEA,QAAS,EAAE,UAAU,GAAG,KAAK,GAAI;AAChC,eAAO;AAAA,UACN,KAAK,WAAW,aAAa;AAAA,UAC7B,GAAG;AAAA,QACJ;AAAA,MACD;AAAA,MAEA,OAAO;AACN,eAAO,oBAAC,YAAY,SAAZ,EAAoB;AAAA,MAC7B;AAAA,IACD;AAAA,EACD;AAAA,EACA;AACD;AAEA,IAAK,OAAO,0CAA2C;AACtD,WAAU,SAAU,IAAI;AAAA,IACvB;AAAA,MACC,IAAI;AAAA,MACJ,OAAO,GAAI,OAAQ;AAAA,MACnB,MAAM;AAAA,MACN,MAAM;AAAA,IACP;AAAA,IACA;AAAA,MACC,IAAI;AAAA,MACJ,OAAO,GAAI,MAAO;AAAA,MAClB,MAAM;AAAA,MACN,MAAM;AAAA,MACN,UAAU,CAAE,EAAE,KAAK,OAAS;AAAA,QAC3B,KAAK,KAAK;AAAA,QACV,KAAK,KAAK;AAAA,MACX;AAAA,MACA,UAAU,CAAE,EAAE,MAAM,OAAS;AAAA,QAC5B,KAAK,MAAM;AAAA,QACX,KAAK,MAAM;AAAA,MACZ;AAAA,IACD;AAAA,EACD;AACA,WAAU,OAAQ,IAAI;AAAA,IACrB,QAAQ,CAAE,SAAS,MAAO;AAAA,EAC3B;AACD;AAEO,IAAM,OAAO,MAAM;AACzB;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,SAAO,UAAW,EAAE,MAAM,UAAU,SAAS,CAAE;AAChD;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/navigation-link/init.js"],
4
- "sourcesContent": ["/**\n * Internal dependencies\n */\nimport { init } from './';\n\nexport default init();\n"],
5
- "mappings": ";AAGA,SAAS,YAAY;AAErB,IAAO,eAAQ,KAAK;",
4
+ "sourcesContent": ["import { init } from './';\n\nexport default init();\n"],
5
+ "mappings": ";AAAA,SAAS,YAAY;AAErB,IAAO,eAAQ,KAAK;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/navigation-link/link-ui/block-inserter.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport DialogWrapper from './dialog-wrapper';\nimport { unlock } from '../../lock-unlock';\n\nconst { PrivateQuickInserter: QuickInserter } = unlock(\n\tblockEditorPrivateApis\n);\n\n/**\n * Component for inserting blocks within the Navigation Link UI.\n *\n * @param {Object} props Component props.\n * @param {string} props.clientId Client ID of the navigation link block.\n * @param {Function} props.onBack Callback when user wants to go back.\n * @param {Function} props.onBlockInsert Callback when a block is inserted.\n */\nfunction LinkUIBlockInserter( { clientId, onBack, onBlockInsert } ) {\n\tconst { rootBlockClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId } = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\trootBlockClientId: getBlockRootClientId( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tif ( ! clientId ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DialogWrapper\n\t\t\tclassName=\"link-ui-block-inserter\"\n\t\t\ttitle={ __( 'Add block' ) }\n\t\t\tdescription={ __( 'Choose a block to add to your Navigation.' ) }\n\t\t\tonBack={ onBack }\n\t\t>\n\t\t\t<QuickInserter\n\t\t\t\trootClientId={ rootBlockClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ false }\n\t\t\t\tprioritizePatterns={ false }\n\t\t\t\tselectBlockOnInsert={ ! onBlockInsert }\n\t\t\t\tonSelect={ onBlockInsert ? onBlockInsert : undefined }\n\t\t\t\thasSearch={ false }\n\t\t\t/>\n\t\t</DialogWrapper>\n\t);\n}\n\nexport default LinkUIBlockInserter;\n"],
5
- "mappings": ";AAGA,SAAS,UAAU;AACnB,SAAS,iBAAiB;AAC1B;AAAA,EACC,SAAS;AAAA,EACT,eAAe;AAAA,OACT;AAKP,OAAO,mBAAmB;AAC1B,SAAS,cAAc;AAqCpB;AAnCH,IAAM,EAAE,sBAAsB,cAAc,IAAI;AAAA,EAC/C;AACD;AAUA,SAAS,oBAAqB,EAAE,UAAU,QAAQ,cAAc,GAAI;AACnE,QAAM,EAAE,kBAAkB,IAAI;AAAA,IAC7B,CAAE,WAAY;AACb,YAAM,EAAE,qBAAqB,IAAI,OAAQ,gBAAiB;AAE1D,aAAO;AAAA,QACN,mBAAmB,qBAAsB,QAAS;AAAA,MACnD;AAAA,IACD;AAAA,IACA,CAAE,QAAS;AAAA,EACZ;AAEA,MAAK,CAAE,UAAW;AACjB,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,OAAQ,GAAI,WAAY;AAAA,MACxB,aAAc,GAAI,2CAA4C;AAAA,MAC9D;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACA,cAAe;AAAA,UACf;AAAA,UACA,YAAa;AAAA,UACb,oBAAqB;AAAA,UACrB,qBAAsB,CAAE;AAAA,UACxB,UAAW,gBAAgB,gBAAgB;AAAA,UAC3C,WAAY;AAAA;AAAA,MACb;AAAA;AAAA,EACD;AAEF;AAEA,IAAO,yBAAQ;",
4
+ "sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport DialogWrapper from './dialog-wrapper';\nimport { unlock } from '../../lock-unlock';\n\nconst { PrivateQuickInserter: QuickInserter } = unlock(\n\tblockEditorPrivateApis\n);\n\n/**\n * Component for inserting blocks within the Navigation Link UI.\n *\n * @param {Object} props Component props.\n * @param {string} props.clientId Client ID of the navigation link block.\n * @param {Function} props.onBack Callback when user wants to go back.\n * @param {Function} props.onBlockInsert Callback when a block is inserted.\n */\nfunction LinkUIBlockInserter( { clientId, onBack, onBlockInsert } ) {\n\tconst { rootBlockClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId } = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\trootBlockClientId: getBlockRootClientId( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tif ( ! clientId ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DialogWrapper\n\t\t\tclassName=\"link-ui-block-inserter\"\n\t\t\ttitle={ __( 'Add block' ) }\n\t\t\tdescription={ __( 'Choose a block to add to your Navigation.' ) }\n\t\t\tonBack={ onBack }\n\t\t>\n\t\t\t<QuickInserter\n\t\t\t\trootClientId={ rootBlockClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ false }\n\t\t\t\tprioritizePatterns={ false }\n\t\t\t\tselectBlockOnInsert={ ! onBlockInsert }\n\t\t\t\tonSelect={ onBlockInsert ? onBlockInsert : undefined }\n\t\t\t\thasSearch={ false }\n\t\t\t/>\n\t\t</DialogWrapper>\n\t);\n}\n\nexport default LinkUIBlockInserter;\n"],
5
+ "mappings": ";AAAA,SAAS,UAAU;AACnB,SAAS,iBAAiB;AAC1B;AAAA,EACC,SAAS;AAAA,EACT,eAAe;AAAA,OACT;AACP,OAAO,mBAAmB;AAC1B,SAAS,cAAc;AAqCpB;AAnCH,IAAM,EAAE,sBAAsB,cAAc,IAAI;AAAA,EAC/C;AACD;AAUA,SAAS,oBAAqB,EAAE,UAAU,QAAQ,cAAc,GAAI;AACnE,QAAM,EAAE,kBAAkB,IAAI;AAAA,IAC7B,CAAE,WAAY;AACb,YAAM,EAAE,qBAAqB,IAAI,OAAQ,gBAAiB;AAE1D,aAAO;AAAA,QACN,mBAAmB,qBAAsB,QAAS;AAAA,MACnD;AAAA,IACD;AAAA,IACA,CAAE,QAAS;AAAA,EACZ;AAEA,MAAK,CAAE,UAAW;AACjB,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,OAAQ,GAAI,WAAY;AAAA,MACxB,aAAc,GAAI,2CAA4C;AAAA,MAC9D;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACA,cAAe;AAAA,UACf;AAAA,UACA,YAAa;AAAA,UACb,oBAAqB;AAAA,UACrB,qBAAsB,CAAE;AAAA,UACxB,UAAW,gBAAgB,gBAAgB;AAAA,UAC3C,WAAY;AAAA;AAAA,MACb;AAAA;AAAA,EACD;AAEF;AAEA,IAAO,yBAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/navigation-link/link-ui/dialog-wrapper.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { chevronLeftSmall, chevronRightSmall } from '@wordpress/icons';\nimport { useInstanceId, useFocusOnMount } from '@wordpress/compose';\nimport { VisuallyHidden } from '@wordpress/ui';\n\n/**\n * Shared BackButton component for consistent navigation across LinkUI sub-components.\n *\n * @param {Object} props Component props.\n * @param {string} props.className CSS class name for the button.\n * @param {Function} props.onBack Callback when user wants to go back.\n */\nfunction BackButton( { className, onBack } ) {\n\treturn (\n\t\t<Button\n\t\t\tclassName={ className }\n\t\t\ticon={ isRTL() ? chevronRightSmall : chevronLeftSmall }\n\t\t\tonClick={ ( e ) => {\n\t\t\t\te.preventDefault();\n\t\t\t\tonBack();\n\t\t\t} }\n\t\t\tsize=\"small\"\n\t\t>\n\t\t\t{ __( 'Back' ) }\n\t\t</Button>\n\t);\n}\n\n/**\n * Shared DialogWrapper component for consistent dialog structure across LinkUI sub-components.\n *\n * @param {Object} props Component props.\n * @param {string} props.className CSS class name for the dialog container.\n * @param {string} props.title Dialog title for accessibility.\n * @param {string} props.description Dialog description for accessibility.\n * @param {Function} props.onBack Callback when user wants to go back.\n * @param {Object} props.children Child components to render inside the dialog.\n */\nfunction DialogWrapper( { className, title, description, onBack, children } ) {\n\tconst dialogTitleId = useInstanceId(\n\t\tDialogWrapper,\n\t\t'link-ui-dialog-title'\n\t);\n\tconst dialogDescriptionId = useInstanceId(\n\t\tDialogWrapper,\n\t\t'link-ui-dialog-description'\n\t);\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\tconst backButtonClassName = `${ className }__back`;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ className }\n\t\t\trole=\"dialog\"\n\t\t\taria-labelledby={ dialogTitleId }\n\t\t\taria-describedby={ dialogDescriptionId }\n\t\t\tref={ focusOnMountRef }\n\t\t>\n\t\t\t<VisuallyHidden>\n\t\t\t\t<h2 id={ dialogTitleId }>{ title }</h2>\n\t\t\t\t<p id={ dialogDescriptionId }>{ description }</p>\n\t\t\t</VisuallyHidden>\n\n\t\t\t<BackButton className={ backButtonClassName } onBack={ onBack } />\n\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nexport default DialogWrapper;\n"],
5
- "mappings": ";AAGA,SAAS,cAAc;AACvB,SAAS,IAAI,aAAa;AAC1B,SAAS,kBAAkB,yBAAyB;AACpD,SAAS,eAAe,uBAAuB;AAC/C,SAAS,sBAAsB;AAW7B,cA4CC,YA5CD;AAFF,SAAS,WAAY,EAAE,WAAW,OAAO,GAAI;AAC5C,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA,MAAO,MAAM,IAAI,oBAAoB;AAAA,MACrC,SAAU,CAAE,MAAO;AAClB,UAAE,eAAe;AACjB,eAAO;AAAA,MACR;AAAA,MACA,MAAK;AAAA,MAEH,aAAI,MAAO;AAAA;AAAA,EACd;AAEF;AAYA,SAAS,cAAe,EAAE,WAAW,OAAO,aAAa,QAAQ,SAAS,GAAI;AAC7E,QAAM,gBAAgB;AAAA,IACrB;AAAA,IACA;AAAA,EACD;AACA,QAAM,sBAAsB;AAAA,IAC3B;AAAA,IACA;AAAA,EACD;AACA,QAAM,kBAAkB,gBAAiB,cAAe;AACxD,QAAM,sBAAsB,GAAI,SAAU;AAE1C,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA,MAAK;AAAA,MACL,mBAAkB;AAAA,MAClB,oBAAmB;AAAA,MACnB,KAAM;AAAA,MAEN;AAAA,6BAAC,kBACA;AAAA,8BAAC,QAAG,IAAK,eAAkB,iBAAO;AAAA,UAClC,oBAAC,OAAE,IAAK,qBAAwB,uBAAa;AAAA,WAC9C;AAAA,QAEA,oBAAC,cAAW,WAAY,qBAAsB,QAAkB;AAAA,QAE9D;AAAA;AAAA;AAAA,EACH;AAEF;AAEA,IAAO,yBAAQ;",
4
+ "sourcesContent": ["import { Button } from '@wordpress/components';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { chevronLeftSmall, chevronRightSmall } from '@wordpress/icons';\nimport { useInstanceId, useFocusOnMount } from '@wordpress/compose';\nimport { VisuallyHidden } from '@wordpress/ui';\n\n/**\n * Shared BackButton component for consistent navigation across LinkUI sub-components.\n *\n * @param {Object} props Component props.\n * @param {string} props.className CSS class name for the button.\n * @param {Function} props.onBack Callback when user wants to go back.\n */\nfunction BackButton( { className, onBack } ) {\n\treturn (\n\t\t<Button\n\t\t\tclassName={ className }\n\t\t\ticon={ isRTL() ? chevronRightSmall : chevronLeftSmall }\n\t\t\tonClick={ ( e ) => {\n\t\t\t\te.preventDefault();\n\t\t\t\tonBack();\n\t\t\t} }\n\t\t\tsize=\"small\"\n\t\t>\n\t\t\t{ __( 'Back' ) }\n\t\t</Button>\n\t);\n}\n\n/**\n * Shared DialogWrapper component for consistent dialog structure across LinkUI sub-components.\n *\n * @param {Object} props Component props.\n * @param {string} props.className CSS class name for the dialog container.\n * @param {string} props.title Dialog title for accessibility.\n * @param {string} props.description Dialog description for accessibility.\n * @param {Function} props.onBack Callback when user wants to go back.\n * @param {Object} props.children Child components to render inside the dialog.\n */\nfunction DialogWrapper( { className, title, description, onBack, children } ) {\n\tconst dialogTitleId = useInstanceId(\n\t\tDialogWrapper,\n\t\t'link-ui-dialog-title'\n\t);\n\tconst dialogDescriptionId = useInstanceId(\n\t\tDialogWrapper,\n\t\t'link-ui-dialog-description'\n\t);\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\tconst backButtonClassName = `${ className }__back`;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ className }\n\t\t\trole=\"dialog\"\n\t\t\taria-labelledby={ dialogTitleId }\n\t\t\taria-describedby={ dialogDescriptionId }\n\t\t\tref={ focusOnMountRef }\n\t\t>\n\t\t\t<VisuallyHidden>\n\t\t\t\t<h2 id={ dialogTitleId }>{ title }</h2>\n\t\t\t\t<p id={ dialogDescriptionId }>{ description }</p>\n\t\t\t</VisuallyHidden>\n\n\t\t\t<BackButton className={ backButtonClassName } onBack={ onBack } />\n\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nexport default DialogWrapper;\n"],
5
+ "mappings": ";AAAA,SAAS,cAAc;AACvB,SAAS,IAAI,aAAa;AAC1B,SAAS,kBAAkB,yBAAyB;AACpD,SAAS,eAAe,uBAAuB;AAC/C,SAAS,sBAAsB;AAW7B,cA4CC,YA5CD;AAFF,SAAS,WAAY,EAAE,WAAW,OAAO,GAAI;AAC5C,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA,MAAO,MAAM,IAAI,oBAAoB;AAAA,MACrC,SAAU,CAAE,MAAO;AAClB,UAAE,eAAe;AACjB,eAAO;AAAA,MACR;AAAA,MACA,MAAK;AAAA,MAEH,aAAI,MAAO;AAAA;AAAA,EACd;AAEF;AAYA,SAAS,cAAe,EAAE,WAAW,OAAO,aAAa,QAAQ,SAAS,GAAI;AAC7E,QAAM,gBAAgB;AAAA,IACrB;AAAA,IACA;AAAA,EACD;AACA,QAAM,sBAAsB;AAAA,IAC3B;AAAA,IACA;AAAA,EACD;AACA,QAAM,kBAAkB,gBAAiB,cAAe;AACxD,QAAM,sBAAsB,GAAI,SAAU;AAE1C,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA,MAAK;AAAA,MACL,mBAAkB;AAAA,MAClB,oBAAmB;AAAA,MACnB,KAAM;AAAA,MAEN;AAAA,6BAAC,kBACA;AAAA,8BAAC,QAAG,IAAK,eAAkB,iBAAO;AAAA,UAClC,oBAAC,OAAE,IAAK,qBAAwB,uBAAa;AAAA,WAC9C;AAAA,QAEA,oBAAC,cAAW,WAAY,qBAAsB,QAAkB;AAAA,QAE9D;AAAA;AAAA;AAAA,EACH;AAEF;AAEA,IAAO,yBAAQ;",
6
6
  "names": []
7
7
  }
@@ -196,8 +196,8 @@ function UnforwardedLinkUI(props, ref) {
196
196
  setAddingPage: () => {
197
197
  setAddingPage(true);
198
198
  },
199
- canAddPage: permissions?.canCreate && type === "page",
200
- canAddBlock: blockEditingMode === "default"
199
+ canAddPage: blockEditingMode !== "disabled" && permissions?.canCreate && type === "page",
200
+ canAddBlock: blockEditingMode !== "disabled"
201
201
  }
202
202
  );
203
203
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/navigation-link/link-ui/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __unstableStripHTML as stripHTML, focus } from '@wordpress/dom';\nimport {\n\tPopover,\n\tButton,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { LinkControl, useBlockEditingMode } from '@wordpress/block-editor';\nimport {\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tuseEffect,\n\tforwardRef,\n} from '@wordpress/element';\nimport { useResourcePermissions } from '@wordpress/core-data';\nimport { plus } from '@wordpress/icons';\nimport { useInstanceId } from '@wordpress/compose';\nimport { VisuallyHidden } from '@wordpress/ui';\nimport { isURL } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { LinkUIPageCreator } from './page-creator';\nimport LinkUIBlockInserter from './block-inserter';\nimport { useEntityBinding, useLinkPreview } from '../shared';\n\n/**\n * Given the Link block's type attribute, return the query params to give to\n * /wp/v2/search.\n *\n * @param {string} type Link block's type attribute.\n * @param {string} kind Link block's entity of kind (post-type|taxonomy)\n * @return {{ type?: string, subtype?: string }} Search query params.\n */\nexport function getSuggestionsQuery( type, kind ) {\n\t// How many results to show initially and per search.\n\tconst perPage = 20;\n\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\tcase 'page':\n\t\t\treturn { type: 'post', subtype: type, perPage };\n\t\tcase 'category':\n\t\t\treturn { type: 'term', subtype: 'category', perPage };\n\t\tcase 'tag':\n\t\t\treturn { type: 'term', subtype: 'post_tag', perPage };\n\t\tcase 'post_format':\n\t\t\treturn { type: 'post-format', perPage };\n\t\tdefault:\n\t\t\tif ( kind === 'taxonomy' ) {\n\t\t\t\treturn { type: 'term', subtype: type, perPage };\n\t\t\t}\n\t\t\tif ( kind === 'post-type' ) {\n\t\t\t\treturn { type: 'post', subtype: type, perPage };\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t// for custom link which has no type\n\t\t\t\t// always show pages as initial suggestions\n\t\t\t\tinitialSuggestionsSearchOptions: {\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tsubtype: 'page',\n\t\t\t\t\tperPage,\n\t\t\t\t},\n\t\t\t};\n\t}\n}\n\nfunction UnforwardedLinkUI( props, ref ) {\n\tconst { label, url, opensInNewTab, type, kind, id } = props.link;\n\n\tconst { entityRecord, hasBinding, isEntityAvailable } = props.entity || {};\n\n\tconst { image, badges } = useLinkPreview( {\n\t\turl,\n\t\tentityRecord,\n\t\ttype,\n\t\thasBinding,\n\t\tisEntityAvailable,\n\t} );\n\n\tconst { clientId } = props;\n\tconst postType = type || 'page';\n\n\tconst [ addingBlock, setAddingBlock ] = useState( false );\n\tconst [ addingPage, setAddingPage ] = useState( false );\n\tconst [ shouldFocusPane, setShouldFocusPane ] = useState( null );\n\t// Stable initial value for LinkControl's uncontrolled inputValue prop.\n\t// We track the search with the searchInputValueRef, then update the\n\t// initialSearchValue state with the observed searchInputValueRef\n\t// when mounting the LinkControl. If LinkControl becomes a fully\n\t// controlled component, then we can remove this extra complexity.\n\tconst [ initialSearchValue, setInitialSearchValue ] = useState( '' );\n\t// Tracks the live search input between renders without causing re-renders.\n\tconst searchInputValueRef = useRef( '' );\n\t// Call this instead of setting searchInputValueRef.current and\n\t// setInitialSearchValue separately, to keep both in sync.\n\tconst updateSearchValue = ( value ) => {\n\t\tsearchInputValueRef.current = value;\n\t\tsetInitialSearchValue( value );\n\t};\n\tconst linkControlWrapperRef = useRef();\n\tconst addPageButtonRef = useRef();\n\tconst addBlockButtonRef = useRef();\n\tconst permissions = useResourcePermissions( {\n\t\tkind: 'postType',\n\t\tname: postType,\n\t} );\n\n\t// Use the entity binding hook to get binding status\n\tconst { isBoundEntityAvailable } = useEntityBinding( {\n\t\tclientId,\n\t\tattributes: props.link,\n\t} );\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/50976#issuecomment-1568226407.\n\tconst link = useMemo(\n\t\t() => ( {\n\t\t\turl,\n\t\t\topensInNewTab,\n\t\t\ttitle: label && stripHTML( label ),\n\t\t\tentityTitle: entityRecord?.title?.rendered || entityRecord?.name,\n\t\t\tkind,\n\t\t\ttype,\n\t\t\tid,\n\t\t\timage,\n\t\t\tbadges,\n\t\t} ),\n\t\t[\n\t\t\tlabel,\n\t\t\topensInNewTab,\n\t\t\turl,\n\t\t\tkind,\n\t\t\ttype,\n\t\t\tid,\n\t\t\timage,\n\t\t\tbadges,\n\t\t\tentityRecord,\n\t\t]\n\t);\n\n\tconst handlePageCreated = ( pageLink ) => {\n\t\t// Set the new page as the current link\n\t\tprops.onChange( pageLink );\n\t\t// Return to main Link UI and focus the first focusable element\n\t\tsetAddingPage( false );\n\t\tsetShouldFocusPane( true );\n\t\t// Clear search input value\n\t\tupdateSearchValue( '' );\n\t};\n\n\tconst dialogTitleId = useInstanceId(\n\t\tLinkUI,\n\t\t'link-ui-link-control__title'\n\t);\n\tconst dialogDescriptionId = useInstanceId(\n\t\tLinkUI,\n\t\t'link-ui-link-control__description'\n\t);\n\n\t// Focus management when transitioning between panes\n\tuseEffect( () => {\n\t\tif ( shouldFocusPane && linkControlWrapperRef.current ) {\n\t\t\t// If we have a specific element to focus, focus it\n\t\t\tif ( shouldFocusPane?.current ) {\n\t\t\t\t// Focus the specific element passed\n\t\t\t\tshouldFocusPane.current.focus();\n\t\t\t} else {\n\t\t\t\t// Focus the first tabbable element (keyboard-accessible, excluding tabindex=\"-1\")\n\t\t\t\tconst tabbableElements = focus.tabbable.find(\n\t\t\t\t\tlinkControlWrapperRef.current\n\t\t\t\t);\n\t\t\t\tconst nextFocusTarget =\n\t\t\t\t\ttabbableElements[ 0 ] || linkControlWrapperRef.current;\n\t\t\t\tnextFocusTarget.focus();\n\t\t\t}\n\n\t\t\t// Reset the state\n\t\t\tsetShouldFocusPane( false );\n\t\t}\n\t}, [ shouldFocusPane ] );\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\treturn (\n\t\t<Popover\n\t\t\tref={ ref }\n\t\t\tplacement=\"bottom\"\n\t\t\tonClose={ props.onClose }\n\t\t\tanchor={ props.anchor }\n\t\t\tshift\n\t\t>\n\t\t\t{ ! addingBlock && ! addingPage && (\n\t\t\t\t<div\n\t\t\t\t\tref={ linkControlWrapperRef }\n\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\taria-labelledby={ dialogTitleId }\n\t\t\t\t\taria-describedby={ dialogDescriptionId }\n\t\t\t\t>\n\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t<h2 id={ dialogTitleId }>{ __( 'Add link' ) }</h2>\n\n\t\t\t\t\t\t<p id={ dialogDescriptionId }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Search for and add a link to your Navigation.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t<LinkControl\n\t\t\t\t\t\thasTextControl\n\t\t\t\t\t\thasRichPreviews\n\t\t\t\t\t\tvalue={ link }\n\t\t\t\t\t\tshowInitialSuggestions\n\t\t\t\t\t\twithCreateSuggestion={ false }\n\t\t\t\t\t\tnoDirectEntry={ !! type }\n\t\t\t\t\t\tnoURLSuggestion={ !! type }\n\t\t\t\t\t\tsuggestionsQuery={ getSuggestionsQuery( type, kind ) }\n\t\t\t\t\t\tonChange={ props.onChange }\n\t\t\t\t\t\tonInputChange={ ( value ) => {\n\t\t\t\t\t\t\t// Observe the input value so we can pass the value to the page creator\n\t\t\t\t\t\t\t// and restore it on back button click\n\t\t\t\t\t\t\tsearchInputValueRef.current = value;\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tinputValue={ initialSearchValue }\n\t\t\t\t\t\tonRemove={ props.onRemove }\n\t\t\t\t\t\tonCancel={ props.onCancel }\n\t\t\t\t\t\thandleEntities={ isBoundEntityAvailable }\n\t\t\t\t\t\tforceIsEditingLink={ link?.url ? false : undefined }\n\t\t\t\t\t\trenderControlBottom={ () => {\n\t\t\t\t\t\t\t// Don't show the tools when there is submitted link (preview state).\n\t\t\t\t\t\t\tif ( link?.url?.length ) {\n\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<LinkUITools\n\t\t\t\t\t\t\t\t\taddPageButtonRef={ addPageButtonRef }\n\t\t\t\t\t\t\t\t\taddBlockButtonRef={ addBlockButtonRef }\n\t\t\t\t\t\t\t\t\tsetAddingBlock={ () => {\n\t\t\t\t\t\t\t\t\t\tsetAddingBlock( true );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tsetAddingPage={ () => {\n\t\t\t\t\t\t\t\t\t\tsetAddingPage( true );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tcanAddPage={\n\t\t\t\t\t\t\t\t\t\tpermissions?.canCreate &&\n\t\t\t\t\t\t\t\t\t\ttype === 'page'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcanAddBlock={\n\t\t\t\t\t\t\t\t\t\tblockEditingMode === 'default'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ addingBlock && (\n\t\t\t\t<LinkUIBlockInserter\n\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\tonBack={ () => {\n\t\t\t\t\t\tsetAddingBlock( false );\n\t\t\t\t\t\tsetShouldFocusPane( addBlockButtonRef );\n\t\t\t\t\t\tupdateSearchValue( searchInputValueRef.current );\n\t\t\t\t\t} }\n\t\t\t\t\tonBlockInsert={ props?.onBlockInsert }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ addingPage && (\n\t\t\t\t<LinkUIPageCreator\n\t\t\t\t\tpostType={ postType }\n\t\t\t\t\tonBack={ () => {\n\t\t\t\t\t\tsetAddingPage( false );\n\t\t\t\t\t\tsetShouldFocusPane( addPageButtonRef );\n\t\t\t\t\t\tupdateSearchValue( searchInputValueRef.current );\n\t\t\t\t\t} }\n\t\t\t\t\tonPageCreated={ handlePageCreated }\n\t\t\t\t\tinitialTitle={\n\t\t\t\t\t\tsearchInputValueRef.current &&\n\t\t\t\t\t\t! isURL( searchInputValueRef.current )\n\t\t\t\t\t\t\t? searchInputValueRef.current\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Popover>\n\t);\n}\n\nexport const LinkUI = forwardRef( UnforwardedLinkUI );\n\nconst LinkUITools = ( {\n\taddPageButtonRef,\n\taddBlockButtonRef,\n\tsetAddingBlock,\n\tsetAddingPage,\n\tcanAddPage,\n\tcanAddBlock,\n} ) => {\n\tconst blockInserterAriaRole = 'listbox';\n\n\t// Don't render anything if neither button should be shown\n\tif ( ! canAddPage && ! canAddBlock ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<VStack spacing={ 0 } className=\"link-ui-tools\">\n\t\t\t{ canAddPage && (\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tref={ addPageButtonRef }\n\t\t\t\t\ticon={ plus }\n\t\t\t\t\tonClick={ ( e ) => {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tsetAddingPage( true );\n\t\t\t\t\t} }\n\t\t\t\t\taria-haspopup={ blockInserterAriaRole }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Create page' ) }\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t\t{ canAddBlock && (\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tref={ addBlockButtonRef }\n\t\t\t\t\ticon={ plus }\n\t\t\t\t\tonClick={ ( e ) => {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tsetAddingBlock( true );\n\t\t\t\t\t} }\n\t\t\t\t\taria-haspopup={ blockInserterAriaRole }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Add block' ) }\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t</VStack>\n\t);\n};\n\nexport default LinkUITools;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { __unstableStripHTML as stripHTML, focus } from '@wordpress/dom';\nimport {\n\tPopover,\n\tButton,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { LinkControl, useBlockEditingMode } from '@wordpress/block-editor';\nimport {\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tuseEffect,\n\tforwardRef,\n} from '@wordpress/element';\nimport { useResourcePermissions } from '@wordpress/core-data';\nimport { plus } from '@wordpress/icons';\nimport { useInstanceId } from '@wordpress/compose';\nimport { VisuallyHidden } from '@wordpress/ui';\nimport { isURL } from '@wordpress/url';\nimport { LinkUIPageCreator } from './page-creator';\nimport LinkUIBlockInserter from './block-inserter';\nimport { useEntityBinding, useLinkPreview } from '../shared';\n\n/**\n * Given the Link block's type attribute, return the query params to give to\n * /wp/v2/search.\n *\n * @param {string} type Link block's type attribute.\n * @param {string} kind Link block's entity of kind (post-type|taxonomy)\n * @return {{ type?: string, subtype?: string }} Search query params.\n */\nexport function getSuggestionsQuery( type, kind ) {\n\t// How many results to show initially and per search.\n\tconst perPage = 20;\n\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\tcase 'page':\n\t\t\treturn { type: 'post', subtype: type, perPage };\n\t\tcase 'category':\n\t\t\treturn { type: 'term', subtype: 'category', perPage };\n\t\tcase 'tag':\n\t\t\treturn { type: 'term', subtype: 'post_tag', perPage };\n\t\tcase 'post_format':\n\t\t\treturn { type: 'post-format', perPage };\n\t\tdefault:\n\t\t\tif ( kind === 'taxonomy' ) {\n\t\t\t\treturn { type: 'term', subtype: type, perPage };\n\t\t\t}\n\t\t\tif ( kind === 'post-type' ) {\n\t\t\t\treturn { type: 'post', subtype: type, perPage };\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t// for custom link which has no type\n\t\t\t\t// always show pages as initial suggestions\n\t\t\t\tinitialSuggestionsSearchOptions: {\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tsubtype: 'page',\n\t\t\t\t\tperPage,\n\t\t\t\t},\n\t\t\t};\n\t}\n}\n\nfunction UnforwardedLinkUI( props, ref ) {\n\tconst { label, url, opensInNewTab, type, kind, id } = props.link;\n\n\tconst { entityRecord, hasBinding, isEntityAvailable } = props.entity || {};\n\n\tconst { image, badges } = useLinkPreview( {\n\t\turl,\n\t\tentityRecord,\n\t\ttype,\n\t\thasBinding,\n\t\tisEntityAvailable,\n\t} );\n\n\tconst { clientId } = props;\n\tconst postType = type || 'page';\n\n\tconst [ addingBlock, setAddingBlock ] = useState( false );\n\tconst [ addingPage, setAddingPage ] = useState( false );\n\tconst [ shouldFocusPane, setShouldFocusPane ] = useState( null );\n\t// Stable initial value for LinkControl's uncontrolled inputValue prop.\n\t// We track the search with the searchInputValueRef, then update the\n\t// initialSearchValue state with the observed searchInputValueRef\n\t// when mounting the LinkControl. If LinkControl becomes a fully\n\t// controlled component, then we can remove this extra complexity.\n\tconst [ initialSearchValue, setInitialSearchValue ] = useState( '' );\n\t// Tracks the live search input between renders without causing re-renders.\n\tconst searchInputValueRef = useRef( '' );\n\t// Call this instead of setting searchInputValueRef.current and\n\t// setInitialSearchValue separately, to keep both in sync.\n\tconst updateSearchValue = ( value ) => {\n\t\tsearchInputValueRef.current = value;\n\t\tsetInitialSearchValue( value );\n\t};\n\tconst linkControlWrapperRef = useRef();\n\tconst addPageButtonRef = useRef();\n\tconst addBlockButtonRef = useRef();\n\tconst permissions = useResourcePermissions( {\n\t\tkind: 'postType',\n\t\tname: postType,\n\t} );\n\n\t// Use the entity binding hook to get binding status\n\tconst { isBoundEntityAvailable } = useEntityBinding( {\n\t\tclientId,\n\t\tattributes: props.link,\n\t} );\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/50976#issuecomment-1568226407.\n\tconst link = useMemo(\n\t\t() => ( {\n\t\t\turl,\n\t\t\topensInNewTab,\n\t\t\ttitle: label && stripHTML( label ),\n\t\t\tentityTitle: entityRecord?.title?.rendered || entityRecord?.name,\n\t\t\tkind,\n\t\t\ttype,\n\t\t\tid,\n\t\t\timage,\n\t\t\tbadges,\n\t\t} ),\n\t\t[\n\t\t\tlabel,\n\t\t\topensInNewTab,\n\t\t\turl,\n\t\t\tkind,\n\t\t\ttype,\n\t\t\tid,\n\t\t\timage,\n\t\t\tbadges,\n\t\t\tentityRecord,\n\t\t]\n\t);\n\n\tconst handlePageCreated = ( pageLink ) => {\n\t\t// Set the new page as the current link\n\t\tprops.onChange( pageLink );\n\t\t// Return to main Link UI and focus the first focusable element\n\t\tsetAddingPage( false );\n\t\tsetShouldFocusPane( true );\n\t\t// Clear search input value\n\t\tupdateSearchValue( '' );\n\t};\n\n\tconst dialogTitleId = useInstanceId(\n\t\tLinkUI,\n\t\t'link-ui-link-control__title'\n\t);\n\tconst dialogDescriptionId = useInstanceId(\n\t\tLinkUI,\n\t\t'link-ui-link-control__description'\n\t);\n\n\t// Focus management when transitioning between panes\n\tuseEffect( () => {\n\t\tif ( shouldFocusPane && linkControlWrapperRef.current ) {\n\t\t\t// If we have a specific element to focus, focus it\n\t\t\tif ( shouldFocusPane?.current ) {\n\t\t\t\t// Focus the specific element passed\n\t\t\t\tshouldFocusPane.current.focus();\n\t\t\t} else {\n\t\t\t\t// Focus the first tabbable element (keyboard-accessible, excluding tabindex=\"-1\")\n\t\t\t\tconst tabbableElements = focus.tabbable.find(\n\t\t\t\t\tlinkControlWrapperRef.current\n\t\t\t\t);\n\t\t\t\tconst nextFocusTarget =\n\t\t\t\t\ttabbableElements[ 0 ] || linkControlWrapperRef.current;\n\t\t\t\tnextFocusTarget.focus();\n\t\t\t}\n\n\t\t\t// Reset the state\n\t\t\tsetShouldFocusPane( false );\n\t\t}\n\t}, [ shouldFocusPane ] );\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\treturn (\n\t\t<Popover\n\t\t\tref={ ref }\n\t\t\tplacement=\"bottom\"\n\t\t\tonClose={ props.onClose }\n\t\t\tanchor={ props.anchor }\n\t\t\tshift\n\t\t>\n\t\t\t{ ! addingBlock && ! addingPage && (\n\t\t\t\t<div\n\t\t\t\t\tref={ linkControlWrapperRef }\n\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\taria-labelledby={ dialogTitleId }\n\t\t\t\t\taria-describedby={ dialogDescriptionId }\n\t\t\t\t>\n\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t<h2 id={ dialogTitleId }>{ __( 'Add link' ) }</h2>\n\n\t\t\t\t\t\t<p id={ dialogDescriptionId }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Search for and add a link to your Navigation.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t<LinkControl\n\t\t\t\t\t\thasTextControl\n\t\t\t\t\t\thasRichPreviews\n\t\t\t\t\t\tvalue={ link }\n\t\t\t\t\t\tshowInitialSuggestions\n\t\t\t\t\t\twithCreateSuggestion={ false }\n\t\t\t\t\t\tnoDirectEntry={ !! type }\n\t\t\t\t\t\tnoURLSuggestion={ !! type }\n\t\t\t\t\t\tsuggestionsQuery={ getSuggestionsQuery( type, kind ) }\n\t\t\t\t\t\tonChange={ props.onChange }\n\t\t\t\t\t\tonInputChange={ ( value ) => {\n\t\t\t\t\t\t\t// Observe the input value so we can pass the value to the page creator\n\t\t\t\t\t\t\t// and restore it on back button click\n\t\t\t\t\t\t\tsearchInputValueRef.current = value;\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tinputValue={ initialSearchValue }\n\t\t\t\t\t\tonRemove={ props.onRemove }\n\t\t\t\t\t\tonCancel={ props.onCancel }\n\t\t\t\t\t\thandleEntities={ isBoundEntityAvailable }\n\t\t\t\t\t\tforceIsEditingLink={ link?.url ? false : undefined }\n\t\t\t\t\t\trenderControlBottom={ () => {\n\t\t\t\t\t\t\t// Don't show the tools when there is submitted link (preview state).\n\t\t\t\t\t\t\tif ( link?.url?.length ) {\n\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<LinkUITools\n\t\t\t\t\t\t\t\t\taddPageButtonRef={ addPageButtonRef }\n\t\t\t\t\t\t\t\t\taddBlockButtonRef={ addBlockButtonRef }\n\t\t\t\t\t\t\t\t\tsetAddingBlock={ () => {\n\t\t\t\t\t\t\t\t\t\tsetAddingBlock( true );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tsetAddingPage={ () => {\n\t\t\t\t\t\t\t\t\t\tsetAddingPage( true );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tcanAddPage={\n\t\t\t\t\t\t\t\t\t\tblockEditingMode !== 'disabled' &&\n\t\t\t\t\t\t\t\t\t\tpermissions?.canCreate &&\n\t\t\t\t\t\t\t\t\t\ttype === 'page'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcanAddBlock={\n\t\t\t\t\t\t\t\t\t\tblockEditingMode !== 'disabled'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ addingBlock && (\n\t\t\t\t<LinkUIBlockInserter\n\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\tonBack={ () => {\n\t\t\t\t\t\tsetAddingBlock( false );\n\t\t\t\t\t\tsetShouldFocusPane( addBlockButtonRef );\n\t\t\t\t\t\tupdateSearchValue( searchInputValueRef.current );\n\t\t\t\t\t} }\n\t\t\t\t\tonBlockInsert={ props?.onBlockInsert }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ addingPage && (\n\t\t\t\t<LinkUIPageCreator\n\t\t\t\t\tpostType={ postType }\n\t\t\t\t\tonBack={ () => {\n\t\t\t\t\t\tsetAddingPage( false );\n\t\t\t\t\t\tsetShouldFocusPane( addPageButtonRef );\n\t\t\t\t\t\tupdateSearchValue( searchInputValueRef.current );\n\t\t\t\t\t} }\n\t\t\t\t\tonPageCreated={ handlePageCreated }\n\t\t\t\t\tinitialTitle={\n\t\t\t\t\t\tsearchInputValueRef.current &&\n\t\t\t\t\t\t! isURL( searchInputValueRef.current )\n\t\t\t\t\t\t\t? searchInputValueRef.current\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Popover>\n\t);\n}\n\nexport const LinkUI = forwardRef( UnforwardedLinkUI );\n\nconst LinkUITools = ( {\n\taddPageButtonRef,\n\taddBlockButtonRef,\n\tsetAddingBlock,\n\tsetAddingPage,\n\tcanAddPage,\n\tcanAddBlock,\n} ) => {\n\tconst blockInserterAriaRole = 'listbox';\n\n\t// Don't render anything if neither button should be shown\n\tif ( ! canAddPage && ! canAddBlock ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<VStack spacing={ 0 } className=\"link-ui-tools\">\n\t\t\t{ canAddPage && (\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tref={ addPageButtonRef }\n\t\t\t\t\ticon={ plus }\n\t\t\t\t\tonClick={ ( e ) => {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tsetAddingPage( true );\n\t\t\t\t\t} }\n\t\t\t\t\taria-haspopup={ blockInserterAriaRole }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Create page' ) }\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t\t{ canAddBlock && (\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tref={ addBlockButtonRef }\n\t\t\t\t\ticon={ plus }\n\t\t\t\t\tonClick={ ( e ) => {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tsetAddingBlock( true );\n\t\t\t\t\t} }\n\t\t\t\t\taria-haspopup={ blockInserterAriaRole }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Add block' ) }\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t</VStack>\n\t);\n};\n\nexport default LinkUITools;\n"],
5
+ "mappings": ";AAAA,SAAS,uBAAuB,WAAW,aAAa;AACxD;AAAA,EACC;AAAA,EACA;AAAA,EACA,wBAAwB;AAAA,OAClB;AACP,SAAS,UAAU;AACnB,SAAS,aAAa,2BAA2B;AACjD;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,SAAS,8BAA8B;AACvC,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAC/B,SAAS,aAAa;AACtB,SAAS,yBAAyB;AAClC,OAAO,yBAAyB;AAChC,SAAS,kBAAkB,sBAAsB;AA+K5C,SACC,KADD;AArKE,SAAS,oBAAqB,MAAM,MAAO;AAEjD,QAAM,UAAU;AAEhB,UAAS,MAAO;AAAA,IACf,KAAK;AAAA,IACL,KAAK;AACJ,aAAO,EAAE,MAAM,QAAQ,SAAS,MAAM,QAAQ;AAAA,IAC/C,KAAK;AACJ,aAAO,EAAE,MAAM,QAAQ,SAAS,YAAY,QAAQ;AAAA,IACrD,KAAK;AACJ,aAAO,EAAE,MAAM,QAAQ,SAAS,YAAY,QAAQ;AAAA,IACrD,KAAK;AACJ,aAAO,EAAE,MAAM,eAAe,QAAQ;AAAA,IACvC;AACC,UAAK,SAAS,YAAa;AAC1B,eAAO,EAAE,MAAM,QAAQ,SAAS,MAAM,QAAQ;AAAA,MAC/C;AACA,UAAK,SAAS,aAAc;AAC3B,eAAO,EAAE,MAAM,QAAQ,SAAS,MAAM,QAAQ;AAAA,MAC/C;AACA,aAAO;AAAA;AAAA;AAAA,QAGN,iCAAiC;AAAA,UAChC,MAAM;AAAA,UACN,SAAS;AAAA,UACT;AAAA,QACD;AAAA,MACD;AAAA,EACF;AACD;AAEA,SAAS,kBAAmB,OAAO,KAAM;AACxC,QAAM,EAAE,OAAO,KAAK,eAAe,MAAM,MAAM,GAAG,IAAI,MAAM;AAE5D,QAAM,EAAE,cAAc,YAAY,kBAAkB,IAAI,MAAM,UAAU,CAAC;AAEzE,QAAM,EAAE,OAAO,OAAO,IAAI,eAAgB;AAAA,IACzC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAE;AAEF,QAAM,EAAE,SAAS,IAAI;AACrB,QAAM,WAAW,QAAQ;AAEzB,QAAM,CAAE,aAAa,cAAe,IAAI,SAAU,KAAM;AACxD,QAAM,CAAE,YAAY,aAAc,IAAI,SAAU,KAAM;AACtD,QAAM,CAAE,iBAAiB,kBAAmB,IAAI,SAAU,IAAK;AAM/D,QAAM,CAAE,oBAAoB,qBAAsB,IAAI,SAAU,EAAG;AAEnE,QAAM,sBAAsB,OAAQ,EAAG;AAGvC,QAAM,oBAAoB,CAAE,UAAW;AACtC,wBAAoB,UAAU;AAC9B,0BAAuB,KAAM;AAAA,EAC9B;AACA,QAAM,wBAAwB,OAAO;AACrC,QAAM,mBAAmB,OAAO;AAChC,QAAM,oBAAoB,OAAO;AACjC,QAAM,cAAc,uBAAwB;AAAA,IAC3C,MAAM;AAAA,IACN,MAAM;AAAA,EACP,CAAE;AAGF,QAAM,EAAE,uBAAuB,IAAI,iBAAkB;AAAA,IACpD;AAAA,IACA,YAAY,MAAM;AAAA,EACnB,CAAE;AAIF,QAAM,OAAO;AAAA,IACZ,OAAQ;AAAA,MACP;AAAA,MACA;AAAA,MACA,OAAO,SAAS,UAAW,KAAM;AAAA,MACjC,aAAa,cAAc,OAAO,YAAY,cAAc;AAAA,MAC5D;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,QAAM,oBAAoB,CAAE,aAAc;AAEzC,UAAM,SAAU,QAAS;AAEzB,kBAAe,KAAM;AACrB,uBAAoB,IAAK;AAEzB,sBAAmB,EAAG;AAAA,EACvB;AAEA,QAAM,gBAAgB;AAAA,IACrB;AAAA,IACA;AAAA,EACD;AACA,QAAM,sBAAsB;AAAA,IAC3B;AAAA,IACA;AAAA,EACD;AAGA,YAAW,MAAM;AAChB,QAAK,mBAAmB,sBAAsB,SAAU;AAEvD,UAAK,iBAAiB,SAAU;AAE/B,wBAAgB,QAAQ,MAAM;AAAA,MAC/B,OAAO;AAEN,cAAM,mBAAmB,MAAM,SAAS;AAAA,UACvC,sBAAsB;AAAA,QACvB;AACA,cAAM,kBACL,iBAAkB,CAAE,KAAK,sBAAsB;AAChD,wBAAgB,MAAM;AAAA,MACvB;AAGA,yBAAoB,KAAM;AAAA,IAC3B;AAAA,EACD,GAAG,CAAE,eAAgB,CAAE;AAEvB,QAAM,mBAAmB,oBAAoB;AAE7C,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA,WAAU;AAAA,MACV,SAAU,MAAM;AAAA,MAChB,QAAS,MAAM;AAAA,MACf,OAAK;AAAA,MAEH;AAAA,SAAE,eAAe,CAAE,cACpB;AAAA,UAAC;AAAA;AAAA,YACA,KAAM;AAAA,YACN,MAAK;AAAA,YACL,mBAAkB;AAAA,YAClB,oBAAmB;AAAA,YAEnB;AAAA,mCAAC,kBACA;AAAA,oCAAC,QAAG,IAAK,eAAkB,aAAI,UAAW,GAAG;AAAA,gBAE7C,oBAAC,OAAE,IAAK,qBACL;AAAA,kBACD;AAAA,gBACD,GACD;AAAA,iBACD;AAAA,cACA;AAAA,gBAAC;AAAA;AAAA,kBACA,gBAAc;AAAA,kBACd,iBAAe;AAAA,kBACf,OAAQ;AAAA,kBACR,wBAAsB;AAAA,kBACtB,sBAAuB;AAAA,kBACvB,eAAgB,CAAC,CAAE;AAAA,kBACnB,iBAAkB,CAAC,CAAE;AAAA,kBACrB,kBAAmB,oBAAqB,MAAM,IAAK;AAAA,kBACnD,UAAW,MAAM;AAAA,kBACjB,eAAgB,CAAE,UAAW;AAG5B,wCAAoB,UAAU;AAAA,kBAC/B;AAAA,kBACA,YAAa;AAAA,kBACb,UAAW,MAAM;AAAA,kBACjB,UAAW,MAAM;AAAA,kBACjB,gBAAiB;AAAA,kBACjB,oBAAqB,MAAM,MAAM,QAAQ;AAAA,kBACzC,qBAAsB,MAAM;AAE3B,wBAAK,MAAM,KAAK,QAAS;AACxB,6BAAO;AAAA,oBACR;AAEA,2BACC;AAAA,sBAAC;AAAA;AAAA,wBACA;AAAA,wBACA;AAAA,wBACA,gBAAiB,MAAM;AACtB,yCAAgB,IAAK;AAAA,wBACtB;AAAA,wBACA,eAAgB,MAAM;AACrB,wCAAe,IAAK;AAAA,wBACrB;AAAA,wBACA,YACC,qBAAqB,cACrB,aAAa,aACb,SAAS;AAAA,wBAEV,aACC,qBAAqB;AAAA;AAAA,oBAEvB;AAAA,kBAEF;AAAA;AAAA,cACD;AAAA;AAAA;AAAA,QACD;AAAA,QAGC,eACD;AAAA,UAAC;AAAA;AAAA,YACA,UAAW,MAAM;AAAA,YACjB,QAAS,MAAM;AACd,6BAAgB,KAAM;AACtB,iCAAoB,iBAAkB;AACtC,gCAAmB,oBAAoB,OAAQ;AAAA,YAChD;AAAA,YACA,eAAgB,OAAO;AAAA;AAAA,QACxB;AAAA,QAGC,cACD;AAAA,UAAC;AAAA;AAAA,YACA;AAAA,YACA,QAAS,MAAM;AACd,4BAAe,KAAM;AACrB,iCAAoB,gBAAiB;AACrC,gCAAmB,oBAAoB,OAAQ;AAAA,YAChD;AAAA,YACA,eAAgB;AAAA,YAChB,cACC,oBAAoB,WACpB,CAAE,MAAO,oBAAoB,OAAQ,IAClC,oBAAoB,UACpB;AAAA;AAAA,QAEL;AAAA;AAAA;AAAA,EAEF;AAEF;AAEO,IAAM,SAAS,WAAY,iBAAkB;AAEpD,IAAM,cAAc,CAAE;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAAO;AACN,QAAM,wBAAwB;AAG9B,MAAK,CAAE,cAAc,CAAE,aAAc;AACpC,WAAO;AAAA,EACR;AAEA,SACC,qBAAC,UAAO,SAAU,GAAI,WAAU,iBAC7B;AAAA,kBACD;AAAA,MAAC;AAAA;AAAA,QACA,uBAAqB;AAAA,QACrB,KAAM;AAAA,QACN,MAAO;AAAA,QACP,SAAU,CAAE,MAAO;AAClB,YAAE,eAAe;AACjB,wBAAe,IAAK;AAAA,QACrB;AAAA,QACA,iBAAgB;AAAA,QAEd,aAAI,aAAc;AAAA;AAAA,IACrB;AAAA,IAEC,eACD;AAAA,MAAC;AAAA;AAAA,QACA,uBAAqB;AAAA,QACrB,KAAM;AAAA,QACN,MAAO;AAAA,QACP,SAAU,CAAE,MAAO;AAClB,YAAE,eAAe;AACjB,yBAAgB,IAAK;AAAA,QACtB;AAAA,QACA,iBAAgB;AAAA,QAEd,aAAI,WAAY;AAAA;AAAA,IACnB;AAAA,KAEF;AAEF;AAEA,IAAO,kBAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/navigation-link/link-ui/page-creator.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tTextControl,\n\tNotice,\n\tCheckboxControl,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport DialogWrapper from './dialog-wrapper';\n\n/**\n * Component for creating new pages within the Navigation Link UI.\n *\n * @param {Object} props Component props.\n * @param {string} props.postType The post type to create.\n * @param {Function} props.onBack Callback when user wants to go back.\n * @param {Function} props.onPageCreated Callback when page is successfully created.\n * @param {string} [props.initialTitle] Initial title to pre-fill the form.\n */\nexport function LinkUIPageCreator( {\n\tpostType,\n\tonBack,\n\tonPageCreated,\n\tinitialTitle = '',\n} ) {\n\tconst [ title, setTitle ] = useState( initialTitle );\n\tconst [ shouldPublish, setShouldPublish ] = useState( true );\n\n\t// Check if the title is valid for submission\n\tconst isTitleValid = title.trim().length > 0;\n\n\t// Get the last created entity record (without ID) to track creation state\n\tconst { lastError, isSaving } = useSelect(\n\t\t( select ) => ( {\n\t\t\tlastError: select( coreStore ).getLastEntitySaveError(\n\t\t\t\t'postType',\n\t\t\t\tpostType\n\t\t\t),\n\t\t\tisSaving: select( coreStore ).isSavingEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType\n\t\t\t),\n\t\t} ),\n\t\t[ postType ]\n\t);\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tasync function createPage( event ) {\n\t\tevent.preventDefault();\n\t\tif ( isSaving || ! isTitleValid ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst savedRecord = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\t{\n\t\t\t\t\ttitle,\n\t\t\t\t\tstatus: shouldPublish ? 'publish' : 'draft',\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tif ( savedRecord ) {\n\t\t\t\t// Create the page link object from the saved record\n\t\t\t\tconst pageLink = {\n\t\t\t\t\tid: savedRecord.id,\n\t\t\t\t\ttype: postType,\n\t\t\t\t\ttitle: decodeEntities( savedRecord.title.rendered ),\n\t\t\t\t\turl: savedRecord.link,\n\t\t\t\t\tkind: 'post-type',\n\t\t\t\t};\n\n\t\t\t\t// Show success notice\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// translators: %s: the name of the new page being created.\n\t\t\t\t\t\t__( '%s page created successfully.' ),\n\t\t\t\t\t\tdecodeEntities( savedRecord.title.rendered )\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: 'page-created-success',\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tonPageCreated( pageLink );\n\t\t\t}\n\t\t} catch {\n\t\t\t// Show error notice\n\t\t\tcreateErrorNotice(\n\t\t\t\t__( 'Failed to create page. Please try again.' ),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'page-created-error',\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\tconst isSubmitDisabled = isSaving || ! isTitleValid;\n\n\treturn (\n\t\t<DialogWrapper\n\t\t\tclassName=\"link-ui-page-creator\"\n\t\t\ttitle={ __( 'Create page' ) }\n\t\t\tdescription={ __( 'Create a new page to add to your Navigation.' ) }\n\t\t\tonBack={ onBack }\n\t\t>\n\t\t\t<VStack className=\"link-ui-page-creator__inner\" spacing={ 4 }>\n\t\t\t\t<form onSubmit={ createPage }>\n\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\tlabel={ __( 'Title' ) }\n\t\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\t\tplaceholder={ __( 'No title' ) }\n\t\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\tlabel={ __( 'Publish' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\"Turn off to save as a draft. Drafts won't appear on your site until published.\"\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tchecked={ shouldPublish }\n\t\t\t\t\t\t\tonChange={ setShouldPublish }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t{ lastError && (\n\t\t\t\t\t\t\t<Notice status=\"error\" isDismissible={ false }>\n\t\t\t\t\t\t\t\t{ lastError.message }\n\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t<HStack spacing={ 2 } justify=\"flex-end\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tonClick={ onBack }\n\t\t\t\t\t\t\t\tdisabled={ isSaving }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\t\t\t\taria-disabled={ isSubmitDisabled }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Create page' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</VStack>\n\t\t\t\t</form>\n\t\t\t</VStack>\n\t\t</DialogWrapper>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n\tButton,\n\tTextControl,\n\tNotice,\n\tCheckboxControl,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState } from '@wordpress/element';\nimport DialogWrapper from './dialog-wrapper';\n\n/**\n * Component for creating new pages within the Navigation Link UI.\n *\n * @param {Object} props Component props.\n * @param {string} props.postType The post type to create.\n * @param {Function} props.onBack Callback when user wants to go back.\n * @param {Function} props.onPageCreated Callback when page is successfully created.\n * @param {string} [props.initialTitle] Initial title to pre-fill the form.\n */\nexport function LinkUIPageCreator( {\n\tpostType,\n\tonBack,\n\tonPageCreated,\n\tinitialTitle = '',\n} ) {\n\tconst [ title, setTitle ] = useState( initialTitle );\n\tconst [ shouldPublish, setShouldPublish ] = useState( true );\n\n\t// Check if the title is valid for submission\n\tconst isTitleValid = title.trim().length > 0;\n\n\t// Get the last created entity record (without ID) to track creation state\n\tconst { lastError, isSaving } = useSelect(\n\t\t( select ) => ( {\n\t\t\tlastError: select( coreStore ).getLastEntitySaveError(\n\t\t\t\t'postType',\n\t\t\t\tpostType\n\t\t\t),\n\t\t\tisSaving: select( coreStore ).isSavingEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType\n\t\t\t),\n\t\t} ),\n\t\t[ postType ]\n\t);\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tasync function createPage( event ) {\n\t\tevent.preventDefault();\n\t\tif ( isSaving || ! isTitleValid ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst savedRecord = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\t{\n\t\t\t\t\ttitle,\n\t\t\t\t\tstatus: shouldPublish ? 'publish' : 'draft',\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tif ( savedRecord ) {\n\t\t\t\t// Create the page link object from the saved record\n\t\t\t\tconst pageLink = {\n\t\t\t\t\tid: savedRecord.id,\n\t\t\t\t\ttype: postType,\n\t\t\t\t\ttitle: decodeEntities( savedRecord.title.rendered ),\n\t\t\t\t\turl: savedRecord.link,\n\t\t\t\t\tkind: 'post-type',\n\t\t\t\t};\n\n\t\t\t\t// Show success notice\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// translators: %s: the name of the new page being created.\n\t\t\t\t\t\t__( '%s page created successfully.' ),\n\t\t\t\t\t\tdecodeEntities( savedRecord.title.rendered )\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: 'page-created-success',\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tonPageCreated( pageLink );\n\t\t\t}\n\t\t} catch {\n\t\t\t// Show error notice\n\t\t\tcreateErrorNotice(\n\t\t\t\t__( 'Failed to create page. Please try again.' ),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'page-created-error',\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\tconst isSubmitDisabled = isSaving || ! isTitleValid;\n\n\treturn (\n\t\t<DialogWrapper\n\t\t\tclassName=\"link-ui-page-creator\"\n\t\t\ttitle={ __( 'Create page' ) }\n\t\t\tdescription={ __( 'Create a new page to add to your Navigation.' ) }\n\t\t\tonBack={ onBack }\n\t\t>\n\t\t\t<VStack className=\"link-ui-page-creator__inner\" spacing={ 4 }>\n\t\t\t\t<form onSubmit={ createPage }>\n\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\tlabel={ __( 'Title' ) }\n\t\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\t\tplaceholder={ __( 'No title' ) }\n\t\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\tlabel={ __( 'Publish' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\"Turn off to save as a draft. Drafts won't appear on your site until published.\"\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tchecked={ shouldPublish }\n\t\t\t\t\t\t\tonChange={ setShouldPublish }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t{ lastError && (\n\t\t\t\t\t\t\t<Notice status=\"error\" isDismissible={ false }>\n\t\t\t\t\t\t\t\t{ lastError.message }\n\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t<HStack spacing={ 2 } justify=\"flex-end\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tonClick={ onBack }\n\t\t\t\t\t\t\t\tdisabled={ isSaving }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\t\t\t\taria-disabled={ isSubmitDisabled }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Create page' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</VStack>\n\t\t\t\t</form>\n\t\t\t</VStack>\n\t\t</DialogWrapper>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/navigation-link/save.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { InnerBlocks } from '@wordpress/block-editor';\n\nexport default function save() {\n\treturn <InnerBlocks.Content />;\n}\n"],
5
- "mappings": ";AAGA,SAAS,mBAAmB;AAGpB;AADO,SAAR,OAAwB;AAC9B,SAAO,oBAAC,YAAY,SAAZ,EAAoB;AAC7B;",
4
+ "sourcesContent": ["import { InnerBlocks } from '@wordpress/block-editor';\n\nexport default function save() {\n\treturn <InnerBlocks.Content />;\n}\n"],
5
+ "mappings": ";AAAA,SAAS,mBAAmB;AAGpB;AADO,SAAR,OAAwB;AAC9B,SAAO,oBAAC,YAAY,SAAZ,EAAoB;AAC7B;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/navigation-link/shared/controls.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tCheckboxControl,\n\tTextControl,\n\tTextareaControl,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { external } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../../utils/hooks';\nimport { useHandleLinkChange } from './use-handle-link-change';\nimport { useEntityBinding } from './use-entity-binding';\nimport { getSuggestionsQuery } from '../link-ui';\nimport { useLinkPreview } from './use-link-preview';\nimport { useIsInvalidLink } from './use-is-invalid-link';\nimport { unlock } from '../../lock-unlock';\n\nconst { LinkPicker, isHashLink, isRelativePath } = unlock(\n\tblockEditorPrivateApis\n);\n\n/**\n * Get a human-readable entity type name.\n *\n * @param {string} type - The entity type\n * @param {string} kind - The entity kind\n * @return {string} Human-readable entity type name\n */\nfunction getEntityTypeName( type, kind ) {\n\tif ( kind === 'post-type' ) {\n\t\tswitch ( type ) {\n\t\t\tcase 'post':\n\t\t\t\treturn __( 'post' );\n\t\t\tcase 'page':\n\t\t\t\treturn __( 'page' );\n\t\t\tdefault:\n\t\t\t\treturn type || __( 'post' );\n\t\t}\n\t}\n\tif ( kind === 'taxonomy' ) {\n\t\tswitch ( type ) {\n\t\t\tcase 'category':\n\t\t\t\treturn __( 'category' );\n\t\t\tcase 'tag':\n\t\t\t\treturn __( 'tag' );\n\t\t\tdefault:\n\t\t\t\treturn type || __( 'term' );\n\t\t}\n\t}\n\treturn type || __( 'item' );\n}\n\n/**\n * Shared Controls component for Navigation Link and Navigation Submenu blocks.\n *\n * This component provides the inspector controls (ToolsPanel) that are identical\n * between both navigation blocks.\n *\n * @param {Object} props - Component props\n * @param {Object} props.attributes - Block attributes\n * @param {Function} props.setAttributes - Function to update block attributes\n * @param {string} props.clientId - Block client ID\n * @param {boolean} props.isLinkEditable - Whether link editing should be allowed\n */\nexport function Controls( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisLinkEditable = true,\n} ) {\n\tconst { label, url, description, rel, opensInNewTab } = attributes;\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t// Use the entity binding hook for UI state (help text, link preview, etc.)\n\tconst { hasUrlBinding, isBoundEntityAvailable, entityRecord } =\n\t\tuseEntityBinding( {\n\t\t\tclientId,\n\t\t\tattributes,\n\t\t} );\n\n\tconst [ isInvalid, isDraft ] = useIsInvalidLink(\n\t\tattributes.kind,\n\t\tattributes.type,\n\t\tentityRecord?.id,\n\t\thasUrlBinding\n\t);\n\n\tlet helpText = '';\n\n\tif ( isInvalid || ( hasUrlBinding && ! isBoundEntityAvailable ) ) {\n\t\t// Show invalid link help text for:\n\t\t// 1. Invalid post-type links (trashed/deleted posts/pages) - via useIsInvalidLink\n\t\t// 2. Missing bound taxonomy entities (deleted categories/tags) - useIsInvalidLink only checks post-types\n\t\thelpText = getInvalidLinkHelpText();\n\t} else if ( isDraft ) {\n\t\thelpText = getDraftHelpText( {\n\t\t\ttype: attributes.type,\n\t\t\tkind: attributes.kind,\n\t\t} );\n\t}\n\t// Get the link change handler with built-in binding management\n\tconst handleLinkChange = useHandleLinkChange( {\n\t\tclientId,\n\t\tattributes,\n\t\tsetAttributes,\n\t} );\n\n\tconst onNavigateToEntityRecord = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().onNavigateToEntityRecord,\n\t\t[]\n\t);\n\n\tconst homeUrl = useSelect( ( select ) => {\n\t\treturn select( coreStore ).getEntityRecord( 'root', '__unstableBase' )\n\t\t\t?.home;\n\t}, [] );\n\n\tconst blockEditingMode = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlockEditingMode( clientId ),\n\t\t[ clientId ]\n\t);\n\n\tconst isContentOnly = blockEditingMode === 'contentOnly';\n\n\tconst preview = useLinkPreview( {\n\t\turl,\n\t\tentityRecord,\n\t\ttype: attributes.type,\n\t\thasBinding: hasUrlBinding,\n\t\tisEntityAvailable: isBoundEntityAvailable,\n\t} );\n\n\t// Check if URL is viewable (not hash link or other relative path like ./ or ../)\n\tconst isViewableUrl =\n\t\t!! url &&\n\t\t( ! isHashLink( url ) ||\n\t\t\t( isRelativePath( url ) && ! url.startsWith( '/' ) ) );\n\n\t// Construct full URL for viewing (prepend home URL for absolute paths starting with /)\n\tconst viewUrl =\n\t\tisViewableUrl && url.startsWith( '/' ) && homeUrl ? homeUrl + url : url;\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Settings' ) }\n\t\t\tresetAll={ () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tlabel: '',\n\t\t\t\t\turl: '',\n\t\t\t\t\tdescription: '',\n\t\t\t\t\trel: '',\n\t\t\t\t\topensInNewTab: false,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! label }\n\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { label: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\tvalue={ label ? stripHTML( label ) : '' }\n\t\t\t\t\tonChange={ ( labelValue ) => {\n\t\t\t\t\t\tsetAttributes( { label: labelValue } );\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t{ isLinkEditable && (\n\t\t\t\t<>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! url }\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\turl: undefined,\n\t\t\t\t\t\t\t\tid: undefined,\n\t\t\t\t\t\t\t\tkind: undefined,\n\t\t\t\t\t\t\t\ttype: undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<LinkPicker\n\t\t\t\t\t\t\tpreview={ preview }\n\t\t\t\t\t\t\tonSelect={ handleLinkChange }\n\t\t\t\t\t\t\tsuggestionsQuery={ getSuggestionsQuery(\n\t\t\t\t\t\t\t\tattributes.type,\n\t\t\t\t\t\t\t\tattributes.kind\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\t\thelp={ helpText ? helpText : undefined }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! opensInNewTab }\n\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { opensInNewTab: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tchecked={ opensInNewTab }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { opensInNewTab: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t{ !! url &&\n\t\t\t\t\t\thasUrlBinding &&\n\t\t\t\t\t\tisBoundEntityAvailable &&\n\t\t\t\t\t\tentityRecord?.id &&\n\t\t\t\t\t\tattributes.kind === 'post-type' &&\n\t\t\t\t\t\tonNavigateToEntityRecord && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonNavigateToEntityRecord( {\n\t\t\t\t\t\t\t\t\t\tpostId: entityRecord.id,\n\t\t\t\t\t\t\t\t\t\tpostType: attributes.type,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tclassName=\"navigation-link-to__action-button\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t{ isViewableUrl && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\thref={ viewUrl }\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\ticonPosition=\"right\"\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName=\"navigation-link-to__action-button\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'View' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! description }\n\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { description: '' } ) }\n\t\t\t\tisShownByDefault={ ! isContentOnly }\n\t\t\t>\n\t\t\t\t<TextareaControl\n\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\tvalue={ description || '' }\n\t\t\t\t\tonChange={ ( descriptionValue ) => {\n\t\t\t\t\t\tsetAttributes( { description: descriptionValue } );\n\t\t\t\t\t} }\n\t\t\t\t\thelp={ __(\n\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) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! rel }\n\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { rel: '' } ) }\n\t\t\t\tisShownByDefault={ ! isContentOnly }\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ ( relValue ) => {\n\t\t\t\t\t\tsetAttributes( { rel: relValue } );\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'The relationship of the linked URL as space-separated link types.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t</ToolsPanel>\n\t);\n}\n/**\n * Returns help text for invalid links.\n *\n * @return {string} Error help text string (empty string if valid).\n */\nexport function getInvalidLinkHelpText() {\n\treturn __(\n\t\t'This link is invalid and will not appear on your site. Please update the link.'\n\t);\n}\n\n/**\n * Returns the help text for links to draft entities\n *\n * @param {Object} props - Function props\n * @param {string} props.type - The entity type\n * @param {string} props.kind - The entity kind\n * @return {string} Draft help text\n */\nfunction getDraftHelpText( { type, kind } ) {\n\tconst entityType = getEntityTypeName( type, kind );\n\treturn sprintf(\n\t\t/* translators: %1$s is the entity type (e.g., \"page\", \"post\", \"category\") */\n\t\t__(\n\t\t\t'This link is to a draft %1$s and will not appear on your site until the %1$s is published.'\n\t\t),\n\t\tentityType\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n\tButton,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tCheckboxControl,\n\tTextControl,\n\tTextareaControl,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { external } from '@wordpress/icons';\nimport { useToolsPanelDropdownMenuProps } from '../../utils/hooks';\nimport { useHandleLinkChange } from './use-handle-link-change';\nimport { useEntityBinding } from './use-entity-binding';\nimport { getSuggestionsQuery } from '../link-ui';\nimport { useLinkPreview } from './use-link-preview';\nimport { useIsInvalidLink } from './use-is-invalid-link';\nimport { unlock } from '../../lock-unlock';\n\nconst { LinkPicker, isHashLink, isRelativePath } = unlock(\n\tblockEditorPrivateApis\n);\n\n/**\n * Get a human-readable entity type name.\n *\n * @param {string} type - The entity type\n * @param {string} kind - The entity kind\n * @return {string} Human-readable entity type name\n */\nfunction getEntityTypeName( type, kind ) {\n\tif ( kind === 'post-type' ) {\n\t\tswitch ( type ) {\n\t\t\tcase 'post':\n\t\t\t\treturn __( 'post' );\n\t\t\tcase 'page':\n\t\t\t\treturn __( 'page' );\n\t\t\tdefault:\n\t\t\t\treturn type || __( 'post' );\n\t\t}\n\t}\n\tif ( kind === 'taxonomy' ) {\n\t\tswitch ( type ) {\n\t\t\tcase 'category':\n\t\t\t\treturn __( 'category' );\n\t\t\tcase 'tag':\n\t\t\t\treturn __( 'tag' );\n\t\t\tdefault:\n\t\t\t\treturn type || __( 'term' );\n\t\t}\n\t}\n\treturn type || __( 'item' );\n}\n\n/**\n * Shared Controls component for Navigation Link and Navigation Submenu blocks.\n *\n * This component provides the inspector controls (ToolsPanel) that are identical\n * between both navigation blocks.\n *\n * @param {Object} props - Component props\n * @param {Object} props.attributes - Block attributes\n * @param {Function} props.setAttributes - Function to update block attributes\n * @param {string} props.clientId - Block client ID\n * @param {boolean} props.isLinkEditable - Whether link editing should be allowed\n */\nexport function Controls( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisLinkEditable = true,\n} ) {\n\tconst { label, url, description, rel, opensInNewTab } = attributes;\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t// Use the entity binding hook for UI state (help text, link preview, etc.)\n\tconst { hasUrlBinding, isBoundEntityAvailable, entityRecord } =\n\t\tuseEntityBinding( {\n\t\t\tclientId,\n\t\t\tattributes,\n\t\t} );\n\n\tconst [ isInvalid, isDraft ] = useIsInvalidLink(\n\t\tattributes.kind,\n\t\tattributes.type,\n\t\tentityRecord?.id,\n\t\thasUrlBinding\n\t);\n\n\tlet helpText = '';\n\n\tif ( isInvalid || ( hasUrlBinding && ! isBoundEntityAvailable ) ) {\n\t\t// Show invalid link help text for:\n\t\t// 1. Invalid post-type links (trashed/deleted posts/pages) - via useIsInvalidLink\n\t\t// 2. Missing bound taxonomy entities (deleted categories/tags) - useIsInvalidLink only checks post-types\n\t\thelpText = getInvalidLinkHelpText();\n\t} else if ( isDraft ) {\n\t\thelpText = getDraftHelpText( {\n\t\t\ttype: attributes.type,\n\t\t\tkind: attributes.kind,\n\t\t} );\n\t}\n\t// Get the link change handler with built-in binding management\n\tconst handleLinkChange = useHandleLinkChange( {\n\t\tclientId,\n\t\tattributes,\n\t\tsetAttributes,\n\t} );\n\n\tconst onNavigateToEntityRecord = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().onNavigateToEntityRecord,\n\t\t[]\n\t);\n\n\tconst homeUrl = useSelect( ( select ) => {\n\t\treturn select( coreStore ).getEntityRecord( 'root', '__unstableBase' )\n\t\t\t?.home;\n\t}, [] );\n\n\tconst blockEditingMode = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlockEditingMode( clientId ),\n\t\t[ clientId ]\n\t);\n\n\tconst isContentOnly = blockEditingMode === 'contentOnly';\n\n\tconst preview = useLinkPreview( {\n\t\turl,\n\t\tentityRecord,\n\t\ttype: attributes.type,\n\t\thasBinding: hasUrlBinding,\n\t\tisEntityAvailable: isBoundEntityAvailable,\n\t} );\n\n\t// Check if URL is viewable (not hash link or other relative path like ./ or ../)\n\tconst isViewableUrl =\n\t\t!! url &&\n\t\t( ! isHashLink( url ) ||\n\t\t\t( isRelativePath( url ) && ! url.startsWith( '/' ) ) );\n\n\t// Construct full URL for viewing (prepend home URL for absolute paths starting with /)\n\tconst viewUrl =\n\t\tisViewableUrl && url.startsWith( '/' ) && homeUrl ? homeUrl + url : url;\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Settings' ) }\n\t\t\tresetAll={ () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tlabel: '',\n\t\t\t\t\turl: '',\n\t\t\t\t\tdescription: '',\n\t\t\t\t\trel: '',\n\t\t\t\t\topensInNewTab: false,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! label }\n\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { label: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\tvalue={ label ? stripHTML( label ) : '' }\n\t\t\t\t\tonChange={ ( labelValue ) => {\n\t\t\t\t\t\tsetAttributes( { label: labelValue } );\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t{ isLinkEditable && (\n\t\t\t\t<>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! url }\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\turl: undefined,\n\t\t\t\t\t\t\t\tid: undefined,\n\t\t\t\t\t\t\t\tkind: undefined,\n\t\t\t\t\t\t\t\ttype: undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<LinkPicker\n\t\t\t\t\t\t\tpreview={ preview }\n\t\t\t\t\t\t\tonSelect={ handleLinkChange }\n\t\t\t\t\t\t\tsuggestionsQuery={ getSuggestionsQuery(\n\t\t\t\t\t\t\t\tattributes.type,\n\t\t\t\t\t\t\t\tattributes.kind\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\t\thelp={ helpText ? helpText : undefined }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! opensInNewTab }\n\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { opensInNewTab: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tchecked={ opensInNewTab }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { opensInNewTab: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t{ !! url &&\n\t\t\t\t\t\thasUrlBinding &&\n\t\t\t\t\t\tisBoundEntityAvailable &&\n\t\t\t\t\t\tentityRecord?.id &&\n\t\t\t\t\t\tattributes.kind === 'post-type' &&\n\t\t\t\t\t\tonNavigateToEntityRecord && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonNavigateToEntityRecord( {\n\t\t\t\t\t\t\t\t\t\tpostId: entityRecord.id,\n\t\t\t\t\t\t\t\t\t\tpostType: attributes.type,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tclassName=\"navigation-link-to__action-button\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t{ isViewableUrl && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\thref={ viewUrl }\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\ticonPosition=\"right\"\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName=\"navigation-link-to__action-button\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'View' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! description }\n\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { description: '' } ) }\n\t\t\t\tisShownByDefault={ ! isContentOnly }\n\t\t\t>\n\t\t\t\t<TextareaControl\n\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\tvalue={ description || '' }\n\t\t\t\t\tonChange={ ( descriptionValue ) => {\n\t\t\t\t\t\tsetAttributes( { description: descriptionValue } );\n\t\t\t\t\t} }\n\t\t\t\t\thelp={ __(\n\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) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! rel }\n\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { rel: '' } ) }\n\t\t\t\tisShownByDefault={ ! isContentOnly }\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ ( relValue ) => {\n\t\t\t\t\t\tsetAttributes( { rel: relValue } );\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'The relationship of the linked URL as space-separated link types.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t</ToolsPanel>\n\t);\n}\n/**\n * Returns help text for invalid links.\n *\n * @return {string} Error help text string (empty string if valid).\n */\nexport function getInvalidLinkHelpText() {\n\treturn __(\n\t\t'This link is invalid and will not appear on your site. Please update the link.'\n\t);\n}\n\n/**\n * Returns the help text for links to draft entities\n *\n * @param {Object} props - Function props\n * @param {string} props.type - The entity type\n * @param {string} props.kind - The entity kind\n * @return {string} Draft help text\n */\nfunction getDraftHelpText( { type, kind } ) {\n\tconst entityType = getEntityTypeName( type, kind );\n\treturn sprintf(\n\t\t/* translators: %1$s is the entity type (e.g., \"page\", \"post\", \"category\") */\n\t\t__(\n\t\t\t'This link is to a draft %1$s and will not appear on your site until the %1$s is published.'\n\t\t),\n\t\tentityType\n\t);\n}\n"],
5
+ "mappings": ";AAAA;AAAA,EACC;AAAA,EACA,4BAA4B;AAAA,EAC5B,gCAAgC;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,SAAS,IAAI,eAAe;AAC5B,SAAS,uBAAuB,iBAAiB;AACjD;AAAA,EACC,eAAe;AAAA,EACf,SAAS;AAAA,OACH;AACP,SAAS,iBAAiB;AAC1B,SAAS,SAAS,iBAAiB;AACnC,SAAS,gBAAgB;AACzB,SAAS,sCAAsC;AAC/C,SAAS,2BAA2B;AACpC,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AACpC,SAAS,sBAAsB;AAC/B,SAAS,wBAAwB;AACjC,SAAS,cAAc;AAqJnB,SAWA,UAXA,KAWA,YAXA;AAnJJ,IAAM,EAAE,YAAY,YAAY,eAAe,IAAI;AAAA,EAClD;AACD;AASA,SAAS,kBAAmB,MAAM,MAAO;AACxC,MAAK,SAAS,aAAc;AAC3B,YAAS,MAAO;AAAA,MACf,KAAK;AACJ,eAAO,GAAI,MAAO;AAAA,MACnB,KAAK;AACJ,eAAO,GAAI,MAAO;AAAA,MACnB;AACC,eAAO,QAAQ,GAAI,MAAO;AAAA,IAC5B;AAAA,EACD;AACA,MAAK,SAAS,YAAa;AAC1B,YAAS,MAAO;AAAA,MACf,KAAK;AACJ,eAAO,GAAI,UAAW;AAAA,MACvB,KAAK;AACJ,eAAO,GAAI,KAAM;AAAA,MAClB;AACC,eAAO,QAAQ,GAAI,MAAO;AAAA,IAC5B;AAAA,EACD;AACA,SAAO,QAAQ,GAAI,MAAO;AAC3B;AAcO,SAAS,SAAU;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AAClB,GAAI;AACH,QAAM,EAAE,OAAO,KAAK,aAAa,KAAK,cAAc,IAAI;AACxD,QAAM,oBAAoB,+BAA+B;AAGzD,QAAM,EAAE,eAAe,wBAAwB,aAAa,IAC3D,iBAAkB;AAAA,IACjB;AAAA,IACA;AAAA,EACD,CAAE;AAEH,QAAM,CAAE,WAAW,OAAQ,IAAI;AAAA,IAC9B,WAAW;AAAA,IACX,WAAW;AAAA,IACX,cAAc;AAAA,IACd;AAAA,EACD;AAEA,MAAI,WAAW;AAEf,MAAK,aAAe,iBAAiB,CAAE,wBAA2B;AAIjE,eAAW,uBAAuB;AAAA,EACnC,WAAY,SAAU;AACrB,eAAW,iBAAkB;AAAA,MAC5B,MAAM,WAAW;AAAA,MACjB,MAAM,WAAW;AAAA,IAClB,CAAE;AAAA,EACH;AAEA,QAAM,mBAAmB,oBAAqB;AAAA,IAC7C;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAE;AAEF,QAAM,2BAA2B;AAAA,IAChC,CAAE,WACD,OAAQ,gBAAiB,EAAE,YAAY,EAAE;AAAA,IAC1C,CAAC;AAAA,EACF;AAEA,QAAM,UAAU,UAAW,CAAE,WAAY;AACxC,WAAO,OAAQ,SAAU,EAAE,gBAAiB,QAAQ,gBAAiB,GAClE;AAAA,EACJ,GAAG,CAAC,CAAE;AAEN,QAAM,mBAAmB;AAAA,IACxB,CAAE,WACD,OAAQ,gBAAiB,EAAE,oBAAqB,QAAS;AAAA,IAC1D,CAAE,QAAS;AAAA,EACZ;AAEA,QAAM,gBAAgB,qBAAqB;AAE3C,QAAM,UAAU,eAAgB;AAAA,IAC/B;AAAA,IACA;AAAA,IACA,MAAM,WAAW;AAAA,IACjB,YAAY;AAAA,IACZ,mBAAmB;AAAA,EACpB,CAAE;AAGF,QAAM,gBACL,CAAC,CAAE,QACD,CAAE,WAAY,GAAI,KACjB,eAAgB,GAAI,KAAK,CAAE,IAAI,WAAY,GAAI;AAGnD,QAAM,UACL,iBAAiB,IAAI,WAAY,GAAI,KAAK,UAAU,UAAU,MAAM;AAErE,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAQ,GAAI,UAAW;AAAA,MACvB,UAAW,MAAM;AAChB,sBAAe;AAAA,UACd,OAAO;AAAA,UACP,KAAK;AAAA,UACL,aAAa;AAAA,UACb,KAAK;AAAA,UACL,eAAe;AAAA,QAChB,CAAE;AAAA,MACH;AAAA,MACA;AAAA,MAEA;AAAA;AAAA,UAAC;AAAA;AAAA,YACA,UAAW,MAAM,CAAC,CAAE;AAAA,YACpB,OAAQ,GAAI,MAAO;AAAA,YACnB,YAAa,MAAM,cAAe,EAAE,OAAO,GAAG,CAAE;AAAA,YAChD,kBAAgB;AAAA,YAEhB;AAAA,cAAC;AAAA;AAAA,gBACA,OAAQ,GAAI,MAAO;AAAA,gBACnB,OAAQ,QAAQ,UAAW,KAAM,IAAI;AAAA,gBACrC,UAAW,CAAE,eAAgB;AAC5B,gCAAe,EAAE,OAAO,WAAW,CAAE;AAAA,gBACtC;AAAA,gBACA,cAAa;AAAA;AAAA,YACd;AAAA;AAAA,QACD;AAAA,QAEE,kBACD,iCACC;AAAA;AAAA,YAAC;AAAA;AAAA,cACA,UAAW,MAAM,CAAC,CAAE;AAAA,cACpB,OAAQ,GAAI,SAAU;AAAA,cACtB,YAAa,MACZ,cAAe;AAAA,gBACd,KAAK;AAAA,gBACL,IAAI;AAAA,gBACJ,MAAM;AAAA,gBACN,MAAM;AAAA,cACP,CAAE;AAAA,cAEH,kBAAgB;AAAA,cAEhB;AAAA,gBAAC;AAAA;AAAA,kBACA;AAAA,kBACA,UAAW;AAAA,kBACX,kBAAmB;AAAA,oBAClB,WAAW;AAAA,oBACX,WAAW;AAAA,kBACZ;AAAA,kBACA,OAAQ,GAAI,SAAU;AAAA,kBACtB,MAAO,WAAW,WAAW;AAAA;AAAA,cAC9B;AAAA;AAAA,UACD;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACA,UAAW,MAAM,CAAC,CAAE;AAAA,cACpB,OAAQ,GAAI,iBAAkB;AAAA,cAC9B,YAAa,MACZ,cAAe,EAAE,eAAe,MAAM,CAAE;AAAA,cAEzC,kBAAgB;AAAA,cAEhB;AAAA,gBAAC;AAAA;AAAA,kBACA,OAAQ,GAAI,iBAAkB;AAAA,kBAC9B,SAAU;AAAA,kBACV,UAAW,CAAE,UACZ,cAAe,EAAE,eAAe,MAAM,CAAE;AAAA;AAAA,cAE1C;AAAA;AAAA,UACD;AAAA,UAEE,CAAC,CAAE,OACJ,iBACA,0BACA,cAAc,MACd,WAAW,SAAS,eACpB,4BACC;AAAA,YAAC;AAAA;AAAA,cACA,SAAQ;AAAA,cACR,SAAU,MAAM;AACf,yCAA0B;AAAA,kBACzB,QAAQ,aAAa;AAAA,kBACrB,UAAU,WAAW;AAAA,gBACtB,CAAE;AAAA,cACH;AAAA,cACA,uBAAqB;AAAA,cACrB,WAAU;AAAA,cAER,aAAI,MAAO;AAAA;AAAA,UACd;AAAA,UAEA,iBACD;AAAA,YAAC;AAAA;AAAA,cACA,SAAQ;AAAA,cACR,MAAO;AAAA,cACP,QAAO;AAAA,cACP,MAAO;AAAA,cACP,cAAa;AAAA,cACb,uBAAqB;AAAA,cACrB,WAAU;AAAA,cAER,aAAI,MAAO;AAAA;AAAA,UACd;AAAA,WAEF;AAAA,QAGD;AAAA,UAAC;AAAA;AAAA,YACA,UAAW,MAAM,CAAC,CAAE;AAAA,YACpB,OAAQ,GAAI,aAAc;AAAA,YAC1B,YAAa,MAAM,cAAe,EAAE,aAAa,GAAG,CAAE;AAAA,YACtD,kBAAmB,CAAE;AAAA,YAErB;AAAA,cAAC;AAAA;AAAA,gBACA,OAAQ,GAAI,aAAc;AAAA,gBAC1B,OAAQ,eAAe;AAAA,gBACvB,UAAW,CAAE,qBAAsB;AAClC,gCAAe,EAAE,aAAa,iBAAiB,CAAE;AAAA,gBAClD;AAAA,gBACA,MAAO;AAAA,kBACN;AAAA,gBACD;AAAA;AAAA,YACD;AAAA;AAAA,QACD;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACA,UAAW,MAAM,CAAC,CAAE;AAAA,YACpB,OAAQ,GAAI,eAAgB;AAAA,YAC5B,YAAa,MAAM,cAAe,EAAE,KAAK,GAAG,CAAE;AAAA,YAC9C,kBAAmB,CAAE;AAAA,YAErB;AAAA,cAAC;AAAA;AAAA,gBACA,OAAQ,GAAI,eAAgB;AAAA,gBAC5B,OAAQ,OAAO;AAAA,gBACf,UAAW,CAAE,aAAc;AAC1B,gCAAe,EAAE,KAAK,SAAS,CAAE;AAAA,gBAClC;AAAA,gBACA,cAAa;AAAA,gBACb,MAAO;AAAA,kBACN;AAAA,gBACD;AAAA;AAAA,YACD;AAAA;AAAA,QACD;AAAA;AAAA;AAAA,EACD;AAEF;AAMO,SAAS,yBAAyB;AACxC,SAAO;AAAA,IACN;AAAA,EACD;AACD;AAUA,SAAS,iBAAkB,EAAE,MAAM,KAAK,GAAI;AAC3C,QAAM,aAAa,kBAAmB,MAAM,IAAK;AACjD,SAAO;AAAA;AAAA,IAEN;AAAA,MACC;AAAA,IACD;AAAA,IACA;AAAA,EACD;AACD;",
6
6
  "names": []
7
7
  }