@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-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": "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",
6
6
  "names": ["blockEditorPrivateApis", "blockEditorStore", "coreStore", "ToolsPanel", "ToolsPanelItem", "stripHTML"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/navigation-link/shared/invalid-draft-display.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Displays a label with an \"(Invalid)\" or \"(Draft)\" indicator for navigation links.\n *\n * @param {Object} props Component props.\n * @param {string} props.label The label text to display.\n * @param {boolean} props.isInvalid Whether the link is invalid (deleted or trashed).\n * @param {boolean} props.isDraft Whether the link is a draft.\n * @param {string} props.className Optional additional CSS class for the label element.\n *\n * @return {Element} The invalid/draft display component.\n */\nexport function InvalidDraftDisplay( {\n\tlabel,\n\tisInvalid,\n\tisDraft,\n\tclassName = 'wp-block-navigation-link__label',\n} ) {\n\t// Only render if the link is invalid or a draft.\n\tif ( ! isInvalid && ! isDraft ) {\n\t\treturn null;\n\t}\n\n\tconst statusText = isInvalid\n\t\t? /* translators: Indicating that the navigation link is Invalid. */\n\t\t __( 'Invalid' )\n\t\t: /* translators: Indicating that the navigation link is a Draft. */\n\t\t __( 'Draft' );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx(\n\t\t\t\t'wp-block-navigation-link__placeholder-text',\n\t\t\t\tclassName,\n\t\t\t\t{\n\t\t\t\t\t'is-invalid': isInvalid,\n\t\t\t\t\t'is-draft': isDraft,\n\t\t\t\t}\n\t\t\t) }\n\t\t>\n\t\t\t<span>\n\t\t\t\t{\n\t\t\t\t\t// Some attributes are stored in an escaped form. It's a legacy issue.\n\t\t\t\t\t// Ideally they would be stored in a raw, unescaped form.\n\t\t\t\t\t// Unescape is used here to \"recover\" the escaped characters\n\t\t\t\t\t// so they display without encoding.\n\t\t\t\t\t// See `updateAttributes` for more details.\n\t\t\t\t\t`${ decodeEntities( label ) } (${ statusText })`.trim()\n\t\t\t\t}\n\t\t\t</span>\n\t\t</div>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAiB;AAKjB,kBAAmB;AACnB,2BAA+B;AAyC5B;AA5BI,SAAS,oBAAqB;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AACb,GAAI;AAEH,MAAK,CAAE,aAAa,CAAE,SAAU;AAC/B,WAAO;AAAA,EACR;AAEA,QAAM,aAAa;AAAA;AAAA,QAEhB,gBAAI,SAAU;AAAA;AAAA;AAAA,QAEd,gBAAI,OAAQ;AAAA;AAEf,SACC;AAAA,IAAC;AAAA;AAAA,MACA,eAAY,YAAAA;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,UACC,cAAc;AAAA,UACd,YAAY;AAAA,QACb;AAAA,MACD;AAAA,MAEA,sDAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAOC,iBAAI,qCAAgB,KAAM,CAAE,KAAM,UAAW,IAAI,KAAK;AAAA,OAExD;AAAA;AAAA,EACD;AAEF;",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport { __ } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Displays a label with an \"(Invalid)\" or \"(Draft)\" indicator for navigation links.\n *\n * @param {Object} props Component props.\n * @param {string} props.label The label text to display.\n * @param {boolean} props.isInvalid Whether the link is invalid (deleted or trashed).\n * @param {boolean} props.isDraft Whether the link is a draft.\n * @param {string} props.className Optional additional CSS class for the label element.\n *\n * @return {Element} The invalid/draft display component.\n */\nexport function InvalidDraftDisplay( {\n\tlabel,\n\tisInvalid,\n\tisDraft,\n\tclassName = 'wp-block-navigation-link__label',\n} ) {\n\t// Only render if the link is invalid or a draft.\n\tif ( ! isInvalid && ! isDraft ) {\n\t\treturn null;\n\t}\n\n\tconst statusText = isInvalid\n\t\t? /* translators: Indicating that the navigation link is Invalid. */\n\t\t __( 'Invalid' )\n\t\t: /* translators: Indicating that the navigation link is a Draft. */\n\t\t __( 'Draft' );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx(\n\t\t\t\t'wp-block-navigation-link__placeholder-text',\n\t\t\t\tclassName,\n\t\t\t\t{\n\t\t\t\t\t'is-invalid': isInvalid,\n\t\t\t\t\t'is-draft': isDraft,\n\t\t\t\t}\n\t\t\t) }\n\t\t>\n\t\t\t<span>\n\t\t\t\t{\n\t\t\t\t\t// Some attributes are stored in an escaped form. It's a legacy issue.\n\t\t\t\t\t// Ideally they would be stored in a raw, unescaped form.\n\t\t\t\t\t// Unescape is used here to \"recover\" the escaped characters\n\t\t\t\t\t// so they display without encoding.\n\t\t\t\t\t// See `updateAttributes` for more details.\n\t\t\t\t\t`${ decodeEntities( label ) } (${ statusText })`.trim()\n\t\t\t\t}\n\t\t\t</span>\n\t\t</div>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiB;AACjB,kBAAmB;AACnB,2BAA+B;AAyC5B;AA5BI,SAAS,oBAAqB;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AACb,GAAI;AAEH,MAAK,CAAE,aAAa,CAAE,SAAU;AAC/B,WAAO;AAAA,EACR;AAEA,QAAM,aAAa;AAAA;AAAA,QAEhB,gBAAI,SAAU;AAAA;AAAA;AAAA,QAEd,gBAAI,OAAQ;AAAA;AAEf,SACC;AAAA,IAAC;AAAA;AAAA,MACA,eAAY,YAAAA;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,UACC,cAAc;AAAA,UACd,YAAY;AAAA,QACb;AAAA,MACD;AAAA,MAEA,sDAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAOC,iBAAI,qCAAgB,KAAM,CAAE,KAAM,UAAW,IAAI,KAAK;AAAA,OAExD;AAAA;AAAA,EACD;AAEF;",
6
6
  "names": ["clsx"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/navigation-link/shared/update-attributes.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { escapeHTML } from '@wordpress/escape-html';\nimport { safeDecodeURI, getPath } from '@wordpress/url';\n\n/**\n * Determines if an entity link should be severed based on URL changes.\n *\n * @param {string} originalUrl - The original URL\n * @param {string} newUrl - The new URL\n * @return {boolean} True if the entity link should be severed\n */\nconst shouldSeverEntityLink = ( originalUrl, newUrl ) => {\n\tif ( ! originalUrl || ! newUrl ) {\n\t\treturn false;\n\t}\n\n\tconst normalizePath = ( path ) => {\n\t\tif ( ! path ) {\n\t\t\treturn '';\n\t\t}\n\t\treturn path.replace( /\\/+$/, '' ); // Remove trailing slashes\n\t};\n\n\t// Helper function to create URL objects with proper base handling\n\tconst createUrlObject = ( url, baseUrl = null ) => {\n\t\ttry {\n\t\t\t// Always provide a base URL - it will be ignored for absolute URLs\n\t\t\t// Use window.location.origin in browser, fallback for Node/tests\n\t\t\tconst base =\n\t\t\t\tbaseUrl ||\n\t\t\t\t( typeof window !== 'undefined'\n\t\t\t\t\t? window.location.origin\n\t\t\t\t\t: 'https://wordpress.org' );\n\t\t\treturn new URL( url, base );\n\t\t} catch {\n\t\t\t// If URL construction still fails, it's likely an invalid URL\n\t\t\t// and we should sever the entity link\n\t\t\treturn null;\n\t\t}\n\t};\n\n\tconst originalUrlObj = createUrlObject( originalUrl );\n\tif ( ! originalUrlObj ) {\n\t\treturn true;\n\t}\n\n\tconst newUrlObj = createUrlObject( newUrl, originalUrl );\n\tif ( ! newUrlObj ) {\n\t\treturn true;\n\t}\n\n\t// Move these declarations here, after the null checks\n\tconst originalHostname = originalUrlObj.hostname;\n\tconst newHostname = newUrlObj.hostname;\n\tconst originalPath = normalizePath( getPath( originalUrlObj.toString() ) );\n\tconst newPath = normalizePath( getPath( newUrlObj.toString() ) );\n\n\t// If hostname or path changed, sever the entity link\n\tif ( originalHostname !== newHostname || originalPath !== newPath ) {\n\t\treturn true;\n\t}\n\n\t// Special handling for plain permalinks (query string post IDs)\n\tconst originalP = originalUrlObj.searchParams.get( 'p' );\n\tconst newP = newUrlObj.searchParams.get( 'p' );\n\n\t// If both are plain permalinks (with ?p= or ?page_id=), compare the IDs\n\tif ( originalP && newP && originalP !== newP ) {\n\t\treturn true;\n\t}\n\n\tconst originalPageId = originalUrlObj.searchParams.get( 'page_id' );\n\tconst newPageId = newUrlObj.searchParams.get( 'page_id' );\n\n\tif ( originalPageId && newPageId && originalPageId !== newPageId ) {\n\t\treturn true;\n\t}\n\t// If switching between ?p= and ?page_id=, or one is missing, sever\n\tif ( ( originalP && newPageId ) || ( originalPageId && newP ) ) {\n\t\treturn true;\n\t}\n\n\t// If only query string or fragment changed, preserve the entity link\n\treturn false;\n};\n\n/**\n * @typedef {'post-type'|'custom'|'taxonomy'|'post-type-archive'} WPNavigationLinkKind\n */\n/**\n * Navigation Link Block Attributes\n *\n * @typedef {Object} WPNavigationLinkBlockAttributes\n *\n * @property {string} [label] Link text.\n * @property {WPNavigationLinkKind} [kind] Kind is used to differentiate between term and post ids to check post draft status.\n * @property {string} [type] The type such as post, page, tag, category and other custom types.\n * @property {string} [rel] The relationship of the linked URL.\n * @property {number} [id] A post or term id.\n * @property {boolean} [opensInNewTab] Sets link target to _blank when true.\n * @property {string} [url] Link href.\n * @property {string} [title] Link title attribute.\n */\n/**\n * Link Control onChange handler that updates block attributes when a setting is changed.\n *\n * @param {Object} updatedValue New block attributes to update.\n * @param {Function} setAttributes Block attribute update function.\n * @param {WPNavigationLinkBlockAttributes} blockAttributes Current block attributes.\n */\n\nexport const updateAttributes = (\n\tupdatedValue = {},\n\tsetAttributes,\n\tblockAttributes = {}\n) => {\n\tconst {\n\t\tlabel: originalLabel = '',\n\t\tkind: originalKind = '',\n\t\ttype: originalType = '',\n\t} = blockAttributes;\n\n\tconst {\n\t\ttitle: newLabel = '', // the title of any provided Post.\n\t\tlabel: newLabelFromLabel = '', // alternative to title\n\t\turl: newUrl,\n\t\topensInNewTab,\n\t\tid: newID,\n\t\tkind: newKind = originalKind,\n\t\ttype: newType = originalType,\n\t} = updatedValue;\n\n\t// Use title if provided, otherwise fall back to label\n\tconst finalNewLabel = newLabel || newLabelFromLabel;\n\n\tconst newLabelWithoutHttp = finalNewLabel.replace( /http(s?):\\/\\//gi, '' );\n\tconst newUrlWithoutHttp = newUrl?.replace( /http(s?):\\/\\//gi, '' ) ?? '';\n\n\tconst useNewLabel =\n\t\tfinalNewLabel &&\n\t\tfinalNewLabel !== originalLabel &&\n\t\t// LinkControl without the title field relies\n\t\t// on the check below. Specifically, it assumes that\n\t\t// the URL is the same as a title.\n\t\t// This logic a) looks suspicious and b) should really\n\t\t// live in the LinkControl and not here. It's a great\n\t\t// candidate for future refactoring.\n\t\tnewLabelWithoutHttp !== newUrlWithoutHttp;\n\n\t// Unfortunately this causes the escaping model to be inverted.\n\t// The escaped content is stored in the block attributes (and ultimately in the database),\n\t// and then the raw data is \"recovered\" when outputting into the DOM.\n\t// It would be preferable to store the **raw** data in the block attributes and escape it in JS.\n\t// Why? Because there isn't one way to escape data. Depending on the context, you need to do\n\t// different transforms. It doesn't make sense to me to choose one of them for the purposes of storage.\n\t// See also:\n\t// - https://github.com/WordPress/gutenberg/pull/41063\n\t// - https://github.com/WordPress/gutenberg/pull/18617.\n\tconst label = useNewLabel\n\t\t? escapeHTML( finalNewLabel )\n\t\t: originalLabel || escapeHTML( newUrlWithoutHttp );\n\n\t// In https://github.com/WordPress/gutenberg/pull/24670 we decided to use \"tag\" in favor of \"post_tag\"\n\tconst type = newType === 'post_tag' ? 'tag' : newType.replace( '-', '_' );\n\n\tconst isBuiltInType =\n\t\t[ 'post', 'page', 'tag', 'category' ].indexOf( type ) > -1;\n\n\tconst isCustomLink =\n\t\t( ! newKind && ! isBuiltInType ) || newKind === 'custom';\n\tconst kind = isCustomLink ? 'custom' : newKind;\n\n\tconst attributes = {\n\t\t// Passed `url` may already be encoded. To prevent double encoding, decodeURI is executed to revert to the original string.\n\t\t...( newUrl !== undefined\n\t\t\t? { url: newUrl ? encodeURI( safeDecodeURI( newUrl ) ) : newUrl }\n\t\t\t: {} ),\n\t\t...( label && { label } ),\n\t\t...( undefined !== opensInNewTab && { opensInNewTab } ),\n\t\t...( kind && { kind } ),\n\t\t...( type && type !== 'URL' && { type } ),\n\t};\n\n\t// If the block's id is set then the menu item is linking to an entity.\n\t// Therefore, if the URL is set but a new ID is not provided, check if\n\t// the entity link should be severed based on URL changes.\n\tif ( newUrl && ! newID && blockAttributes.id ) {\n\t\tconst shouldSever = shouldSeverEntityLink(\n\t\t\tblockAttributes.url,\n\t\t\tnewUrl\n\t\t);\n\n\t\tif ( shouldSever ) {\n\t\t\tattributes.id = undefined; // explicitly \"unset\" the ID.\n\t\t\t// When URL is manually changed in a way that severs the entity link,\n\t\t\t// update kind and type to \"custom\" to indicate this is now a custom link.\n\t\t\tattributes.kind = 'custom';\n\t\t\tattributes.type = 'custom';\n\t\t}\n\t} else if ( newID && Number.isInteger( newID ) ) {\n\t\tattributes.id = newID;\n\t} else if ( blockAttributes.id ) {\n\t\t// If we have an existing ID and no URL change, ensure kind and type are preserved\n\t\tattributes.kind = kind;\n\t\tattributes.type = type;\n\t}\n\n\tsetAttributes( attributes );\n\n\t// Return metadata about the final state for binding decisions.\n\t// We need to distinguish between:\n\t// 1. Property not set in attributes (use blockAttributes fallback)\n\t// 2. Property explicitly set to undefined (means \"remove this\")\n\t// Using 'in' operator checks if property exists, even if undefined.\n\t// This is critical for severing: attributes.id = undefined means \"remove the ID\",\n\t// not \"keep the old ID from blockAttributes\".\n\tconst finalId = 'id' in attributes ? attributes.id : blockAttributes.id;\n\tconst finalKind =\n\t\t'kind' in attributes ? attributes.kind : blockAttributes.kind;\n\n\treturn {\n\t\tisEntityLink: !! finalId && finalKind !== 'custom',\n\t\tattributes, // Return the computed attributes object\n\t};\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { escapeHTML } from '@wordpress/escape-html';\nimport { safeDecodeURI, getPath } from '@wordpress/url';\n\n/**\n * Determines if an entity link should be severed based on URL changes.\n *\n * @param {string} originalUrl - The original URL\n * @param {string} newUrl - The new URL\n * @return {boolean} True if the entity link should be severed\n */\nconst shouldSeverEntityLink = ( originalUrl, newUrl ) => {\n\tif ( ! originalUrl || ! newUrl ) {\n\t\treturn false;\n\t}\n\n\tconst normalizePath = ( path ) => {\n\t\tif ( ! path ) {\n\t\t\treturn '';\n\t\t}\n\t\treturn path.replace( /\\/+$/, '' ); // Remove trailing slashes\n\t};\n\n\t// Helper function to create URL objects with proper base handling\n\tconst createUrlObject = ( url, baseUrl = null ) => {\n\t\ttry {\n\t\t\t// Always provide a base URL - it will be ignored for absolute URLs\n\t\t\t// Use window.location.origin in browser, fallback for Node/tests\n\t\t\tconst base =\n\t\t\t\tbaseUrl ||\n\t\t\t\t( typeof window !== 'undefined'\n\t\t\t\t\t? window.location.origin\n\t\t\t\t\t: 'https://wordpress.org' );\n\t\t\treturn new URL( url, base );\n\t\t} catch {\n\t\t\t// If URL construction still fails, it's likely an invalid URL\n\t\t\t// and we should sever the entity link\n\t\t\treturn null;\n\t\t}\n\t};\n\n\tconst originalUrlObj = createUrlObject( originalUrl );\n\tif ( ! originalUrlObj ) {\n\t\treturn true;\n\t}\n\n\tconst newUrlObj = createUrlObject( newUrl, originalUrl );\n\tif ( ! newUrlObj ) {\n\t\treturn true;\n\t}\n\n\t// Move these declarations here, after the null checks\n\tconst originalHostname = originalUrlObj.hostname;\n\tconst newHostname = newUrlObj.hostname;\n\tconst originalPath = normalizePath( getPath( originalUrlObj.toString() ) );\n\tconst newPath = normalizePath( getPath( newUrlObj.toString() ) );\n\n\t// If hostname or path changed, sever the entity link\n\tif ( originalHostname !== newHostname || originalPath !== newPath ) {\n\t\treturn true;\n\t}\n\n\t// Special handling for plain permalinks (query string post IDs)\n\tconst originalP = originalUrlObj.searchParams.get( 'p' );\n\tconst newP = newUrlObj.searchParams.get( 'p' );\n\n\t// If both are plain permalinks (with ?p= or ?page_id=), compare the IDs\n\tif ( originalP && newP && originalP !== newP ) {\n\t\treturn true;\n\t}\n\n\tconst originalPageId = originalUrlObj.searchParams.get( 'page_id' );\n\tconst newPageId = newUrlObj.searchParams.get( 'page_id' );\n\n\tif ( originalPageId && newPageId && originalPageId !== newPageId ) {\n\t\treturn true;\n\t}\n\t// If switching between ?p= and ?page_id=, or one is missing, sever\n\tif ( ( originalP && newPageId ) || ( originalPageId && newP ) ) {\n\t\treturn true;\n\t}\n\n\t// If only query string or fragment changed, preserve the entity link\n\treturn false;\n};\n\n/**\n * @typedef {'post-type'|'custom'|'taxonomy'|'post-type-archive'} WPNavigationLinkKind\n */\n/**\n * Navigation Link Block Attributes\n *\n * @typedef {Object} WPNavigationLinkBlockAttributes\n *\n * @property {string} [label] Link text.\n * @property {WPNavigationLinkKind} [kind] Kind is used to differentiate between term and post ids to check post draft status.\n * @property {string} [type] The type such as post, page, tag, category and other custom types.\n * @property {string} [rel] The relationship of the linked URL.\n * @property {number} [id] A post or term id.\n * @property {boolean} [opensInNewTab] Sets link target to _blank when true.\n * @property {string} [url] Link href.\n * @property {string} [title] Link title attribute.\n */\n/**\n * Link Control onChange handler that updates block attributes when a setting is changed.\n *\n * @param {Object} updatedValue New block attributes to update.\n * @param {Function} setAttributes Block attribute update function.\n * @param {WPNavigationLinkBlockAttributes} blockAttributes Current block attributes.\n */\n\nexport const updateAttributes = (\n\tupdatedValue = {},\n\tsetAttributes,\n\tblockAttributes = {}\n) => {\n\tconst {\n\t\tlabel: originalLabel = '',\n\t\tkind: originalKind = '',\n\t\ttype: originalType = '',\n\t} = blockAttributes;\n\n\tconst {\n\t\ttitle: newLabel = '', // the title of any provided Post.\n\t\tlabel: newLabelFromLabel = '', // alternative to title\n\t\turl: newUrl,\n\t\topensInNewTab,\n\t\tid: newID,\n\t\tkind: newKind = originalKind,\n\t\ttype: newType = originalType,\n\t} = updatedValue;\n\n\t// Use title if provided, otherwise fall back to label\n\tconst finalNewLabel = newLabel || newLabelFromLabel;\n\n\tconst newLabelWithoutHttp = finalNewLabel.replace( /http(s?):\\/\\//gi, '' );\n\tconst newUrlWithoutHttp = newUrl?.replace( /http(s?):\\/\\//gi, '' ) ?? '';\n\n\tconst useNewLabel =\n\t\tfinalNewLabel &&\n\t\tfinalNewLabel !== originalLabel &&\n\t\t// LinkControl without the title field relies\n\t\t// on the check below. Specifically, it assumes that\n\t\t// the URL is the same as a title.\n\t\t// This logic a) looks suspicious and b) should really\n\t\t// live in the LinkControl and not here. It's a great\n\t\t// candidate for future refactoring.\n\t\tnewLabelWithoutHttp !== newUrlWithoutHttp;\n\n\t// Unfortunately this causes the escaping model to be inverted.\n\t// The escaped content is stored in the block attributes (and ultimately in the database),\n\t// and then the raw data is \"recovered\" when outputting into the DOM.\n\t// It would be preferable to store the **raw** data in the block attributes and escape it in JS.\n\t// Why? Because there isn't one way to escape data. Depending on the context, you need to do\n\t// different transforms. It doesn't make sense to me to choose one of them for the purposes of storage.\n\t// See also:\n\t// - https://github.com/WordPress/gutenberg/pull/41063\n\t// - https://github.com/WordPress/gutenberg/pull/18617.\n\tconst label = useNewLabel\n\t\t? escapeHTML( finalNewLabel )\n\t\t: originalLabel || escapeHTML( newUrlWithoutHttp );\n\n\t// In https://github.com/WordPress/gutenberg/pull/24670 we decided to use \"tag\" in favor of \"post_tag\"\n\tconst type = newType === 'post_tag' ? 'tag' : newType.replace( '-', '_' );\n\n\tconst isBuiltInType =\n\t\t[ 'post', 'page', 'tag', 'category' ].indexOf( type ) > -1;\n\n\tconst isCustomLink =\n\t\t( ! newKind && ! isBuiltInType ) || newKind === 'custom';\n\tconst kind = isCustomLink ? 'custom' : newKind;\n\n\tconst attributes = {\n\t\t// Passed `url` may already be encoded. To prevent double encoding, decodeURI is executed to revert to the original string.\n\t\t...( newUrl !== undefined\n\t\t\t? { url: newUrl ? encodeURI( safeDecodeURI( newUrl ) ) : newUrl }\n\t\t\t: {} ),\n\t\t...( label && { label } ),\n\t\t...( undefined !== opensInNewTab && { opensInNewTab } ),\n\t\t...( kind && { kind } ),\n\t\t...( type && type !== 'URL' && { type } ),\n\t};\n\n\t// If the block's id is set then the menu item is linking to an entity.\n\t// Therefore, if the URL is set but a new ID is not provided, check if\n\t// the entity link should be severed based on URL changes.\n\tif ( newUrl && ! newID && blockAttributes.id ) {\n\t\tconst shouldSever = shouldSeverEntityLink(\n\t\t\tblockAttributes.url,\n\t\t\tnewUrl\n\t\t);\n\n\t\tif ( shouldSever ) {\n\t\t\tattributes.id = undefined; // explicitly \"unset\" the ID.\n\t\t\t// When URL is manually changed in a way that severs the entity link,\n\t\t\t// update kind and type to \"custom\" to indicate this is now a custom link.\n\t\t\tattributes.kind = 'custom';\n\t\t\tattributes.type = 'custom';\n\t\t}\n\t} else if ( newID && Number.isInteger( newID ) ) {\n\t\tattributes.id = newID;\n\t} else if ( blockAttributes.id ) {\n\t\t// If we have an existing ID and no URL change, ensure kind and type are preserved\n\t\tattributes.kind = kind;\n\t\tattributes.type = type;\n\t}\n\n\tsetAttributes( attributes );\n\n\t// Return metadata about the final state for binding decisions.\n\t// We need to distinguish between:\n\t// 1. Property not set in attributes (use blockAttributes fallback)\n\t// 2. Property explicitly set to undefined (means \"remove this\")\n\t// Using 'in' operator checks if property exists, even if undefined.\n\t// This is critical for severing: attributes.id = undefined means \"remove the ID\",\n\t// not \"keep the old ID from blockAttributes\".\n\tconst finalId = 'id' in attributes ? attributes.id : blockAttributes.id;\n\tconst finalKind =\n\t\t'kind' in attributes ? attributes.kind : blockAttributes.kind;\n\n\treturn {\n\t\tisEntityLink: !! finalId && finalKind !== 'custom',\n\t\tattributes, // Return the computed attributes object\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/shared/use-enable-link-status-validation.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Hook to determine if link status validation should be enabled.\n *\n * Link status validation is enabled when the root Navigation block is selected\n * or any of its inner blocks are selected. This ensures validation only runs\n * when the user is actively working within the navigation structure.\n *\n * @param {string} clientId The client ID of the current block.\n * @return {boolean} Whether link status validation should be enabled.\n */\nexport function useEnableLinkStatusValidation( clientId ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst selectedBlockId = getSelectedBlockClientId();\n\t\t\tconst rootNavigationId = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/navigation'\n\t\t\t)[ 0 ];\n\n\t\t\t// Enable when the root Navigation block is selected or any of its inner blocks.\n\t\t\treturn (\n\t\t\t\tselectedBlockId === rootNavigationId ||\n\t\t\t\thasSelectedInnerBlock( rootNavigationId, true )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAA0B;AAC1B,0BAA0C;AAYnC,SAAS,8BAA+B,UAAW;AACzD,aAAO;AAAA,IACN,CAAE,WAAY;AACb,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACD,IAAI,OAAQ,oBAAAA,KAAiB;AAE7B,YAAM,kBAAkB,yBAAyB;AACjD,YAAM,mBAAmB;AAAA,QACxB;AAAA,QACA;AAAA,MACD,EAAG,CAAE;AAGL,aACC,oBAAoB,oBACpB,sBAAuB,kBAAkB,IAAK;AAAA,IAEhD;AAAA,IACA,CAAE,QAAS;AAAA,EACZ;AACD;",
4
+ "sourcesContent": ["import { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Hook to determine if link status validation should be enabled.\n *\n * Link status validation is enabled when the root Navigation block is selected\n * or any of its inner blocks are selected. This ensures validation only runs\n * when the user is actively working within the navigation structure.\n *\n * @param {string} clientId The client ID of the current block.\n * @return {boolean} Whether link status validation should be enabled.\n */\nexport function useEnableLinkStatusValidation( clientId ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst selectedBlockId = getSelectedBlockClientId();\n\t\t\tconst rootNavigationId = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/navigation'\n\t\t\t)[ 0 ];\n\n\t\t\t// Enable when the root Navigation block is selected or any of its inner blocks.\n\t\t\treturn (\n\t\t\t\tselectedBlockId === rootNavigationId ||\n\t\t\t\thasSelectedInnerBlock( rootNavigationId, true )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA0B;AAC1B,0BAA0C;AAYnC,SAAS,8BAA+B,UAAW;AACzD,aAAO;AAAA,IACN,CAAE,WAAY;AACb,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACD,IAAI,OAAQ,oBAAAA,KAAiB;AAE7B,YAAM,kBAAkB,yBAAyB;AACjD,YAAM,mBAAmB;AAAA,QACxB;AAAA,QACA;AAAA,MACD,EAAG,CAAE;AAGL,aACC,oBAAoB,oBACpB,sBAAuB,kBAAkB,IAAK;AAAA,IAEhD;AAAA,IACA,CAAE,QAAS;AAAA,EACZ;AACD;",
6
6
  "names": ["blockEditorStore"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/navigation-link/shared/use-entity-binding.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport {\n\tuseBlockBindingsUtils,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Builds entity binding configuration for navigation link URLs.\n * This function generates the structure used to bind navigation link URLs to their entity sources.\n *\n * Using a function instead of a constant allows for future enhancements where the binding\n * might need dynamic data (e.g., entity ID, context-specific arguments).\n *\n * @param {('post-type'|'taxonomy')} kind - The kind of entity. Only 'post-type' and 'taxonomy' are supported.\n * @return {Object} Entity binding configuration object\n * @throws {Error} If kind is not 'post-type' or 'taxonomy'\n */\nexport function buildNavigationLinkEntityBinding( kind ) {\n\t// Validate kind parameter exists.\n\tif ( kind === undefined ) {\n\t\tthrow new Error(\n\t\t\t'buildNavigationLinkEntityBinding requires a kind parameter. ' +\n\t\t\t\t'Only \"post-type\" and \"taxonomy\" are supported.'\n\t\t);\n\t}\n\n\t// Validate kind parameter value.\n\tif ( kind !== 'post-type' && kind !== 'taxonomy' ) {\n\t\tthrow new Error(\n\t\t\t`Invalid kind \"${ kind }\" provided to buildNavigationLinkEntityBinding. ` +\n\t\t\t\t`Only 'post-type' and 'taxonomy' are supported.`\n\t\t);\n\t}\n\n\tconst source = kind === 'taxonomy' ? 'core/term-data' : 'core/post-data';\n\n\treturn {\n\t\turl: {\n\t\t\tsource,\n\t\t\targs: {\n\t\t\t\tfield: 'link',\n\t\t\t},\n\t\t},\n\t};\n}\n\n/**\n * Shared hook for entity binding functionality in Navigation blocks.\n *\n * This hook provides common entity binding logic that can be used by both\n * Navigation Link and Navigation Submenu blocks to maintain feature parity.\n *\n * @param {Object} props - Hook parameters\n * @param {string} props.clientId - Block client ID\n * @param {Object} props.attributes - Block attributes\n * @return {Object} Hook return value\n */\nexport function useEntityBinding( { clientId, attributes } ) {\n\tconst { updateBlockBindings } = useBlockBindingsUtils( clientId );\n\tconst { metadata, id, kind, type } = attributes;\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst hasUrlBinding = !! metadata?.bindings?.url && !! id;\n\tconst expectedSource =\n\t\tkind === 'post-type' ? 'core/post-data' : 'core/term-data';\n\tconst hasCorrectBinding =\n\t\thasUrlBinding && metadata?.bindings?.url?.source === expectedSource;\n\n\t// Check if the bound entity is available (not deleted) and return the entity record.\n\tconst { isBoundEntityAvailable, entityRecord } = useSelect(\n\t\t( select ) => {\n\t\t\t// First check: metadata/binding must exist\n\t\t\tif ( ! hasCorrectBinding || ! id ) {\n\t\t\t\treturn { isBoundEntityAvailable: false, entityRecord: null };\n\t\t\t}\n\n\t\t\tconst isPostType = kind === 'post-type';\n\t\t\tconst isTaxonomy = kind === 'taxonomy';\n\n\t\t\t// Only check entity availability for post types and taxonomies.\n\t\t\tif ( ! isPostType && ! isTaxonomy ) {\n\t\t\t\treturn { isBoundEntityAvailable: false, entityRecord: null };\n\t\t\t}\n\n\t\t\t// Skip check in disabled contexts to avoid unnecessary requests.\n\t\t\tif ( blockEditingMode === 'disabled' ) {\n\t\t\t\treturn { isBoundEntityAvailable: true, entityRecord: null };\n\t\t\t}\n\n\t\t\t// Second check: entity must exist\n\t\t\tconst { getEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\n\t\t\t// Use the correct entity type based on kind.\n\t\t\tconst entityType = isTaxonomy ? 'taxonomy' : 'postType';\n\t\t\t// Convert 'tag' back to 'post_tag' for the API call\n\t\t\t// (it was converted from 'post_tag' to 'tag' for storage in updateAttributes)\n\t\t\tconst typeForAPI = type === 'tag' ? 'post_tag' : type;\n\t\t\tconst record = getEntityRecord( entityType, typeForAPI, id );\n\t\t\tconst hasResolved = hasFinishedResolution( 'getEntityRecord', [\n\t\t\t\tentityType,\n\t\t\t\ttypeForAPI,\n\t\t\t\tid,\n\t\t\t] );\n\n\t\t\t// If resolution has finished and entityRecord is undefined, the entity was deleted.\n\t\t\t// Return true if entity exists, false if deleted.\n\t\t\tconst isAvailable = hasResolved ? record !== undefined : true;\n\t\t\treturn {\n\t\t\t\tisBoundEntityAvailable: isAvailable,\n\t\t\t\tentityRecord: record || null,\n\t\t\t};\n\t\t},\n\t\t[ kind, type, id, hasCorrectBinding, blockEditingMode ]\n\t);\n\n\tconst clearBinding = useCallback( () => {\n\t\tif ( hasUrlBinding ) {\n\t\t\tupdateBlockBindings( { url: undefined } );\n\t\t}\n\t}, [ updateBlockBindings, hasUrlBinding ] );\n\n\tconst createBinding = useCallback(\n\t\t( updatedAttributes ) => {\n\t\t\t// Use updated attributes if provided, otherwise fall back to closure attributes.\n\t\t\t// updatedAttributes needed to access the most up-to-date data when called synchronously.\n\t\t\tconst kindToUse = updatedAttributes?.kind ?? kind;\n\n\t\t\t// Avoid creating binding if no kind is provided.\n\t\t\tif ( ! kindToUse ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst binding = buildNavigationLinkEntityBinding( kindToUse );\n\t\t\t\tupdateBlockBindings( binding );\n\t\t\t} catch ( error ) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'Failed to create entity binding:',\n\t\t\t\t\terror.message\n\t\t\t\t);\n\t\t\t\t// Don't create binding if validation fails.\n\t\t\t}\n\t\t},\n\t\t[ updateBlockBindings, kind ]\n\t);\n\n\treturn {\n\t\thasUrlBinding: hasCorrectBinding,\n\t\tisBoundEntityAvailable,\n\t\tentityRecord,\n\t\tclearBinding,\n\t\tcreateBinding,\n\t};\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAA4B;AAC5B,0BAGO;AACP,kBAA0B;AAC1B,uBAAmC;AAa5B,SAAS,iCAAkC,MAAO;AAExD,MAAK,SAAS,QAAY;AACzB,UAAM,IAAI;AAAA,MACT;AAAA,IAED;AAAA,EACD;AAGA,MAAK,SAAS,eAAe,SAAS,YAAa;AAClD,UAAM,IAAI;AAAA,MACT,iBAAkB,IAAK;AAAA,IAExB;AAAA,EACD;AAEA,QAAM,SAAS,SAAS,aAAa,mBAAmB;AAExD,SAAO;AAAA,IACN,KAAK;AAAA,MACJ;AAAA,MACA,MAAM;AAAA,QACL,OAAO;AAAA,MACR;AAAA,IACD;AAAA,EACD;AACD;AAaO,SAAS,iBAAkB,EAAE,UAAU,WAAW,GAAI;AAC5D,QAAM,EAAE,oBAAoB,QAAI,2CAAuB,QAAS;AAChE,QAAM,EAAE,UAAU,IAAI,MAAM,KAAK,IAAI;AACrC,QAAM,uBAAmB,yCAAoB;AAE7C,QAAM,gBAAgB,CAAC,CAAE,UAAU,UAAU,OAAO,CAAC,CAAE;AACvD,QAAM,iBACL,SAAS,cAAc,mBAAmB;AAC3C,QAAM,oBACL,iBAAiB,UAAU,UAAU,KAAK,WAAW;AAGtD,QAAM,EAAE,wBAAwB,aAAa,QAAI;AAAA,IAChD,CAAE,WAAY;AAEb,UAAK,CAAE,qBAAqB,CAAE,IAAK;AAClC,eAAO,EAAE,wBAAwB,OAAO,cAAc,KAAK;AAAA,MAC5D;AAEA,YAAM,aAAa,SAAS;AAC5B,YAAM,aAAa,SAAS;AAG5B,UAAK,CAAE,cAAc,CAAE,YAAa;AACnC,eAAO,EAAE,wBAAwB,OAAO,cAAc,KAAK;AAAA,MAC5D;AAGA,UAAK,qBAAqB,YAAa;AACtC,eAAO,EAAE,wBAAwB,MAAM,cAAc,KAAK;AAAA,MAC3D;AAGA,YAAM,EAAE,iBAAiB,sBAAsB,IAC9C,OAAQ,iBAAAA,KAAU;AAGnB,YAAM,aAAa,aAAa,aAAa;AAG7C,YAAM,aAAa,SAAS,QAAQ,aAAa;AACjD,YAAM,SAAS,gBAAiB,YAAY,YAAY,EAAG;AAC3D,YAAM,cAAc,sBAAuB,mBAAmB;AAAA,QAC7D;AAAA,QACA;AAAA,QACA;AAAA,MACD,CAAE;AAIF,YAAM,cAAc,cAAc,WAAW,SAAY;AACzD,aAAO;AAAA,QACN,wBAAwB;AAAA,QACxB,cAAc,UAAU;AAAA,MACzB;AAAA,IACD;AAAA,IACA,CAAE,MAAM,MAAM,IAAI,mBAAmB,gBAAiB;AAAA,EACvD;AAEA,QAAM,mBAAe,4BAAa,MAAM;AACvC,QAAK,eAAgB;AACpB,0BAAqB,EAAE,KAAK,OAAU,CAAE;AAAA,IACzC;AAAA,EACD,GAAG,CAAE,qBAAqB,aAAc,CAAE;AAE1C,QAAM,oBAAgB;AAAA,IACrB,CAAE,sBAAuB;AAGxB,YAAM,YAAY,mBAAmB,QAAQ;AAG7C,UAAK,CAAE,WAAY;AAClB;AAAA,MACD;AAEA,UAAI;AACH,cAAM,UAAU,iCAAkC,SAAU;AAC5D,4BAAqB,OAAQ;AAAA,MAC9B,SAAU,OAAQ;AAEjB,gBAAQ;AAAA,UACP;AAAA,UACA,MAAM;AAAA,QACP;AAAA,MAED;AAAA,IACD;AAAA,IACA,CAAE,qBAAqB,IAAK;AAAA,EAC7B;AAEA,SAAO;AAAA,IACN,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;",
4
+ "sourcesContent": ["import { useCallback } from '@wordpress/element';\nimport {\n\tuseBlockBindingsUtils,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Builds entity binding configuration for navigation link URLs.\n * This function generates the structure used to bind navigation link URLs to their entity sources.\n *\n * Using a function instead of a constant allows for future enhancements where the binding\n * might need dynamic data (e.g., entity ID, context-specific arguments).\n *\n * @param {('post-type'|'taxonomy')} kind - The kind of entity. Only 'post-type' and 'taxonomy' are supported.\n * @return {Object} Entity binding configuration object\n * @throws {Error} If kind is not 'post-type' or 'taxonomy'\n */\nexport function buildNavigationLinkEntityBinding( kind ) {\n\t// Validate kind parameter exists.\n\tif ( kind === undefined ) {\n\t\tthrow new Error(\n\t\t\t'buildNavigationLinkEntityBinding requires a kind parameter. ' +\n\t\t\t\t'Only \"post-type\" and \"taxonomy\" are supported.'\n\t\t);\n\t}\n\n\t// Validate kind parameter value.\n\tif ( kind !== 'post-type' && kind !== 'taxonomy' ) {\n\t\tthrow new Error(\n\t\t\t`Invalid kind \"${ kind }\" provided to buildNavigationLinkEntityBinding. ` +\n\t\t\t\t`Only 'post-type' and 'taxonomy' are supported.`\n\t\t);\n\t}\n\n\tconst source = kind === 'taxonomy' ? 'core/term-data' : 'core/post-data';\n\n\treturn {\n\t\turl: {\n\t\t\tsource,\n\t\t\targs: {\n\t\t\t\tfield: 'link',\n\t\t\t},\n\t\t},\n\t};\n}\n\n/**\n * Shared hook for entity binding functionality in Navigation blocks.\n *\n * This hook provides common entity binding logic that can be used by both\n * Navigation Link and Navigation Submenu blocks to maintain feature parity.\n *\n * @param {Object} props - Hook parameters\n * @param {string} props.clientId - Block client ID\n * @param {Object} props.attributes - Block attributes\n * @return {Object} Hook return value\n */\nexport function useEntityBinding( { clientId, attributes } ) {\n\tconst { updateBlockBindings } = useBlockBindingsUtils( clientId );\n\tconst { metadata, id, kind, type } = attributes;\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst hasUrlBinding = !! metadata?.bindings?.url && !! id;\n\tconst expectedSource =\n\t\tkind === 'post-type' ? 'core/post-data' : 'core/term-data';\n\tconst hasCorrectBinding =\n\t\thasUrlBinding && metadata?.bindings?.url?.source === expectedSource;\n\n\t// Check if the bound entity is available (not deleted) and return the entity record.\n\tconst { isBoundEntityAvailable, entityRecord } = useSelect(\n\t\t( select ) => {\n\t\t\t// First check: metadata/binding must exist\n\t\t\tif ( ! hasCorrectBinding || ! id ) {\n\t\t\t\treturn { isBoundEntityAvailable: false, entityRecord: null };\n\t\t\t}\n\n\t\t\tconst isPostType = kind === 'post-type';\n\t\t\tconst isTaxonomy = kind === 'taxonomy';\n\n\t\t\t// Only check entity availability for post types and taxonomies.\n\t\t\tif ( ! isPostType && ! isTaxonomy ) {\n\t\t\t\treturn { isBoundEntityAvailable: false, entityRecord: null };\n\t\t\t}\n\n\t\t\t// Skip check in disabled contexts to avoid unnecessary requests.\n\t\t\tif ( blockEditingMode === 'disabled' ) {\n\t\t\t\treturn { isBoundEntityAvailable: true, entityRecord: null };\n\t\t\t}\n\n\t\t\t// Second check: entity must exist\n\t\t\tconst { getEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\n\t\t\t// Use the correct entity type based on kind.\n\t\t\tconst entityType = isTaxonomy ? 'taxonomy' : 'postType';\n\t\t\t// Convert 'tag' back to 'post_tag' for the API call\n\t\t\t// (it was converted from 'post_tag' to 'tag' for storage in updateAttributes)\n\t\t\tconst typeForAPI = type === 'tag' ? 'post_tag' : type;\n\t\t\tconst record = getEntityRecord( entityType, typeForAPI, id );\n\t\t\tconst hasResolved = hasFinishedResolution( 'getEntityRecord', [\n\t\t\t\tentityType,\n\t\t\t\ttypeForAPI,\n\t\t\t\tid,\n\t\t\t] );\n\n\t\t\t// If resolution has finished and entityRecord is undefined, the entity was deleted.\n\t\t\t// Return true if entity exists, false if deleted.\n\t\t\tconst isAvailable = hasResolved ? record !== undefined : true;\n\t\t\treturn {\n\t\t\t\tisBoundEntityAvailable: isAvailable,\n\t\t\t\tentityRecord: record || null,\n\t\t\t};\n\t\t},\n\t\t[ kind, type, id, hasCorrectBinding, blockEditingMode ]\n\t);\n\n\tconst clearBinding = useCallback( () => {\n\t\tif ( hasUrlBinding ) {\n\t\t\tupdateBlockBindings( { url: undefined } );\n\t\t}\n\t}, [ updateBlockBindings, hasUrlBinding ] );\n\n\tconst createBinding = useCallback(\n\t\t( updatedAttributes ) => {\n\t\t\t// Use updated attributes if provided, otherwise fall back to closure attributes.\n\t\t\t// updatedAttributes needed to access the most up-to-date data when called synchronously.\n\t\t\tconst kindToUse = updatedAttributes?.kind ?? kind;\n\n\t\t\t// Avoid creating binding if no kind is provided.\n\t\t\tif ( ! kindToUse ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst binding = buildNavigationLinkEntityBinding( kindToUse );\n\t\t\t\tupdateBlockBindings( binding );\n\t\t\t} catch ( error ) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'Failed to create entity binding:',\n\t\t\t\t\terror.message\n\t\t\t\t);\n\t\t\t\t// Don't create binding if validation fails.\n\t\t\t}\n\t\t},\n\t\t[ updateBlockBindings, kind ]\n\t);\n\n\treturn {\n\t\thasUrlBinding: hasCorrectBinding,\n\t\tisBoundEntityAvailable,\n\t\tentityRecord,\n\t\tclearBinding,\n\t\tcreateBinding,\n\t};\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA4B;AAC5B,0BAGO;AACP,kBAA0B;AAC1B,uBAAmC;AAa5B,SAAS,iCAAkC,MAAO;AAExD,MAAK,SAAS,QAAY;AACzB,UAAM,IAAI;AAAA,MACT;AAAA,IAED;AAAA,EACD;AAGA,MAAK,SAAS,eAAe,SAAS,YAAa;AAClD,UAAM,IAAI;AAAA,MACT,iBAAkB,IAAK;AAAA,IAExB;AAAA,EACD;AAEA,QAAM,SAAS,SAAS,aAAa,mBAAmB;AAExD,SAAO;AAAA,IACN,KAAK;AAAA,MACJ;AAAA,MACA,MAAM;AAAA,QACL,OAAO;AAAA,MACR;AAAA,IACD;AAAA,EACD;AACD;AAaO,SAAS,iBAAkB,EAAE,UAAU,WAAW,GAAI;AAC5D,QAAM,EAAE,oBAAoB,QAAI,2CAAuB,QAAS;AAChE,QAAM,EAAE,UAAU,IAAI,MAAM,KAAK,IAAI;AACrC,QAAM,uBAAmB,yCAAoB;AAE7C,QAAM,gBAAgB,CAAC,CAAE,UAAU,UAAU,OAAO,CAAC,CAAE;AACvD,QAAM,iBACL,SAAS,cAAc,mBAAmB;AAC3C,QAAM,oBACL,iBAAiB,UAAU,UAAU,KAAK,WAAW;AAGtD,QAAM,EAAE,wBAAwB,aAAa,QAAI;AAAA,IAChD,CAAE,WAAY;AAEb,UAAK,CAAE,qBAAqB,CAAE,IAAK;AAClC,eAAO,EAAE,wBAAwB,OAAO,cAAc,KAAK;AAAA,MAC5D;AAEA,YAAM,aAAa,SAAS;AAC5B,YAAM,aAAa,SAAS;AAG5B,UAAK,CAAE,cAAc,CAAE,YAAa;AACnC,eAAO,EAAE,wBAAwB,OAAO,cAAc,KAAK;AAAA,MAC5D;AAGA,UAAK,qBAAqB,YAAa;AACtC,eAAO,EAAE,wBAAwB,MAAM,cAAc,KAAK;AAAA,MAC3D;AAGA,YAAM,EAAE,iBAAiB,sBAAsB,IAC9C,OAAQ,iBAAAA,KAAU;AAGnB,YAAM,aAAa,aAAa,aAAa;AAG7C,YAAM,aAAa,SAAS,QAAQ,aAAa;AACjD,YAAM,SAAS,gBAAiB,YAAY,YAAY,EAAG;AAC3D,YAAM,cAAc,sBAAuB,mBAAmB;AAAA,QAC7D;AAAA,QACA;AAAA,QACA;AAAA,MACD,CAAE;AAIF,YAAM,cAAc,cAAc,WAAW,SAAY;AACzD,aAAO;AAAA,QACN,wBAAwB;AAAA,QACxB,cAAc,UAAU;AAAA,MACzB;AAAA,IACD;AAAA,IACA,CAAE,MAAM,MAAM,IAAI,mBAAmB,gBAAiB;AAAA,EACvD;AAEA,QAAM,mBAAe,4BAAa,MAAM;AACvC,QAAK,eAAgB;AACpB,0BAAqB,EAAE,KAAK,OAAU,CAAE;AAAA,IACzC;AAAA,EACD,GAAG,CAAE,qBAAqB,aAAc,CAAE;AAE1C,QAAM,oBAAgB;AAAA,IACrB,CAAE,sBAAuB;AAGxB,YAAM,YAAY,mBAAmB,QAAQ;AAG7C,UAAK,CAAE,WAAY;AAClB;AAAA,MACD;AAEA,UAAI;AACH,cAAM,UAAU,iCAAkC,SAAU;AAC5D,4BAAqB,OAAQ;AAAA,MAC9B,SAAU,OAAQ;AAEjB,gBAAQ;AAAA,UACP;AAAA,UACA,MAAM;AAAA,QACP;AAAA,MAED;AAAA,IACD;AAAA,IACA,CAAE,qBAAqB,IAAK;AAAA,EAC7B;AAEA,SAAO;AAAA,IACN,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;",
6
6
  "names": ["coreStore"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/navigation-link/shared/use-handle-link-change.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { escapeHTML } from '@wordpress/escape-html';\n\n/**\n * Internal dependencies\n */\nimport { updateAttributes } from './update-attributes';\nimport { useEntityBinding } from './use-entity-binding';\n\n/**\n * Custom hook that returns a callback for handling link selection/change.\n * Manages the transition between entity links and custom links,\n * including proper binding creation and cleanup.\n *\n * @param {Object} options - Configuration options\n * @param {string} options.clientId - Block client ID\n * @param {Object} options.attributes - Current block attributes\n * @param {Function} options.setAttributes - Standard setAttribute function\n * @param {boolean} options.allowTextUpdate - Whether this control can update the link text\n * @return {Function} Callback function to handle link changes\n */\nexport function useHandleLinkChange( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tallowTextUpdate = false,\n} ) {\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst { hasUrlBinding, createBinding, clearBinding } = useEntityBinding( {\n\t\tclientId,\n\t\tattributes,\n\t} );\n\n\treturn useCallback(\n\t\t( updatedLink ) => {\n\t\t\tif ( ! updatedLink ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst attrs = {\n\t\t\t\turl: updatedLink.url,\n\t\t\t\tkind: updatedLink.kind,\n\t\t\t\ttype: updatedLink.type,\n\t\t\t\tid: updatedLink.id,\n\t\t\t};\n\n\t\t\tconst currentText = attributes.label\n\t\t\t\t? stripHTML( attributes.label )\n\t\t\t\t: '';\n\t\t\tconst updatedText = updatedLink.title ?? '';\n\t\t\tconst hasTextUpdate =\n\t\t\t\tallowTextUpdate &&\n\t\t\t\tupdatedLink.title !== undefined &&\n\t\t\t\tupdatedText !== currentText;\n\t\t\tconst textUpdateAttributes = hasTextUpdate\n\t\t\t\t? { label: escapeHTML( updatedText ) }\n\t\t\t\t: {};\n\n\t\t\tif (\n\t\t\t\t! attributes.label ||\n\t\t\t\tattributes.label === '' ||\n\t\t\t\thasTextUpdate\n\t\t\t) {\n\t\t\t\tattrs.title = updatedLink.title;\n\t\t\t}\n\t\t\t// Check if transitioning from entity to custom link\n\t\t\tconst willBeCustomLink = ! updatedLink.id && hasUrlBinding;\n\n\t\t\tif ( willBeCustomLink ) {\n\t\t\t\t// Clear the binding first\n\t\t\t\tclearBinding();\n\n\t\t\t\t// Use direct store dispatch to bypass setBoundAttributes wrapper\n\t\t\t\t// which prevents updates to bound attributes.\n\t\t\t\tupdateBlockAttributes( clientId, {\n\t\t\t\t\turl: updatedLink.url,\n\t\t\t\t\tkind: 'custom',\n\t\t\t\t\ttype: 'custom',\n\t\t\t\t\tid: undefined,\n\t\t\t\t\t...textUpdateAttributes,\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\t// Normal flow for entity links or unbound custom links\n\t\t\t\tconst { isEntityLink, attributes: updatedAttributes } =\n\t\t\t\t\tupdateAttributes( attrs, setAttributes, attributes );\n\n\t\t\t\t// Handle URL binding based on the final computed state\n\t\t\t\t// Only create bindings for entity links (posts, pages, taxonomies)\n\t\t\t\t// Never create bindings for custom links (manual URLs)\n\t\t\t\tif ( isEntityLink ) {\n\t\t\t\t\tcreateBinding( updatedAttributes );\n\t\t\t\t} else {\n\t\t\t\t\tclearBinding();\n\t\t\t\t}\n\n\t\t\t\tif ( Object.keys( textUpdateAttributes ).length ) {\n\t\t\t\t\tupdateBlockAttributes( clientId, textUpdateAttributes );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tattributes,\n\t\t\tallowTextUpdate,\n\t\t\tclientId,\n\t\t\thasUrlBinding,\n\t\t\tcreateBinding,\n\t\t\tclearBinding,\n\t\t\tsetAttributes,\n\t\t\tupdateBlockAttributes,\n\t\t]\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAA4B;AAC5B,kBAA4B;AAC5B,0BAA0C;AAC1C,iBAAiD;AACjD,yBAA2B;AAK3B,+BAAiC;AACjC,gCAAiC;AAc1B,SAAS,oBAAqB;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA,kBAAkB;AACnB,GAAI;AACH,QAAM,EAAE,sBAAsB,QAAI,yBAAa,oBAAAA,KAAiB;AAChE,QAAM,EAAE,eAAe,eAAe,aAAa,QAAI,4CAAkB;AAAA,IACxE;AAAA,IACA;AAAA,EACD,CAAE;AAEF,aAAO;AAAA,IACN,CAAE,gBAAiB;AAClB,UAAK,CAAE,aAAc;AACpB;AAAA,MACD;AAEA,YAAM,QAAQ;AAAA,QACb,KAAK,YAAY;AAAA,QACjB,MAAM,YAAY;AAAA,QAClB,MAAM,YAAY;AAAA,QAClB,IAAI,YAAY;AAAA,MACjB;AAEA,YAAM,cAAc,WAAW,YAC5B,WAAAC,qBAAW,WAAW,KAAM,IAC5B;AACH,YAAM,cAAc,YAAY,SAAS;AACzC,YAAM,gBACL,mBACA,YAAY,UAAU,UACtB,gBAAgB;AACjB,YAAM,uBAAuB,gBAC1B,EAAE,WAAO,+BAAY,WAAY,EAAE,IACnC,CAAC;AAEJ,UACC,CAAE,WAAW,SACb,WAAW,UAAU,MACrB,eACC;AACD,cAAM,QAAQ,YAAY;AAAA,MAC3B;AAEA,YAAM,mBAAmB,CAAE,YAAY,MAAM;AAE7C,UAAK,kBAAmB;AAEvB,qBAAa;AAIb,8BAAuB,UAAU;AAAA,UAChC,KAAK,YAAY;AAAA,UACjB,MAAM;AAAA,UACN,MAAM;AAAA,UACN,IAAI;AAAA,UACJ,GAAG;AAAA,QACJ,CAAE;AAAA,MACH,OAAO;AAEN,cAAM,EAAE,cAAc,YAAY,kBAAkB,QACnD,2CAAkB,OAAO,eAAe,UAAW;AAKpD,YAAK,cAAe;AACnB,wBAAe,iBAAkB;AAAA,QAClC,OAAO;AACN,uBAAa;AAAA,QACd;AAEA,YAAK,OAAO,KAAM,oBAAqB,EAAE,QAAS;AACjD,gCAAuB,UAAU,oBAAqB;AAAA,QACvD;AAAA,MACD;AAAA,IACD;AAAA,IACA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AACD;",
4
+ "sourcesContent": ["import { useCallback } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { escapeHTML } from '@wordpress/escape-html';\nimport { updateAttributes } from './update-attributes';\nimport { useEntityBinding } from './use-entity-binding';\n\n/**\n * Custom hook that returns a callback for handling link selection/change.\n * Manages the transition between entity links and custom links,\n * including proper binding creation and cleanup.\n *\n * @param {Object} options - Configuration options\n * @param {string} options.clientId - Block client ID\n * @param {Object} options.attributes - Current block attributes\n * @param {Function} options.setAttributes - Standard setAttribute function\n * @param {boolean} options.allowTextUpdate - Whether this control can update the link text\n * @return {Function} Callback function to handle link changes\n */\nexport function useHandleLinkChange( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tallowTextUpdate = false,\n} ) {\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst { hasUrlBinding, createBinding, clearBinding } = useEntityBinding( {\n\t\tclientId,\n\t\tattributes,\n\t} );\n\n\treturn useCallback(\n\t\t( updatedLink ) => {\n\t\t\tif ( ! updatedLink ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst attrs = {\n\t\t\t\turl: updatedLink.url,\n\t\t\t\tkind: updatedLink.kind,\n\t\t\t\ttype: updatedLink.type,\n\t\t\t\tid: updatedLink.id,\n\t\t\t};\n\n\t\t\tconst currentText = attributes.label\n\t\t\t\t? stripHTML( attributes.label )\n\t\t\t\t: '';\n\t\t\tconst updatedText = updatedLink.title ?? '';\n\t\t\tconst hasTextUpdate =\n\t\t\t\tallowTextUpdate &&\n\t\t\t\tupdatedLink.title !== undefined &&\n\t\t\t\tupdatedText !== currentText;\n\t\t\tconst textUpdateAttributes = hasTextUpdate\n\t\t\t\t? { label: escapeHTML( updatedText ) }\n\t\t\t\t: {};\n\n\t\t\tif (\n\t\t\t\t! attributes.label ||\n\t\t\t\tattributes.label === '' ||\n\t\t\t\thasTextUpdate\n\t\t\t) {\n\t\t\t\tattrs.title = updatedLink.title;\n\t\t\t}\n\t\t\t// Check if transitioning from entity to custom link\n\t\t\tconst willBeCustomLink = ! updatedLink.id && hasUrlBinding;\n\n\t\t\tif ( willBeCustomLink ) {\n\t\t\t\t// Clear the binding first\n\t\t\t\tclearBinding();\n\n\t\t\t\t// Use direct store dispatch to bypass setBoundAttributes wrapper\n\t\t\t\t// which prevents updates to bound attributes.\n\t\t\t\tupdateBlockAttributes( clientId, {\n\t\t\t\t\turl: updatedLink.url,\n\t\t\t\t\tkind: 'custom',\n\t\t\t\t\ttype: 'custom',\n\t\t\t\t\tid: undefined,\n\t\t\t\t\t...textUpdateAttributes,\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\t// Normal flow for entity links or unbound custom links\n\t\t\t\tconst { isEntityLink, attributes: updatedAttributes } =\n\t\t\t\t\tupdateAttributes( attrs, setAttributes, attributes );\n\n\t\t\t\t// Handle URL binding based on the final computed state\n\t\t\t\t// Only create bindings for entity links (posts, pages, taxonomies)\n\t\t\t\t// Never create bindings for custom links (manual URLs)\n\t\t\t\tif ( isEntityLink ) {\n\t\t\t\t\tcreateBinding( updatedAttributes );\n\t\t\t\t} else {\n\t\t\t\t\tclearBinding();\n\t\t\t\t}\n\n\t\t\t\tif ( Object.keys( textUpdateAttributes ).length ) {\n\t\t\t\t\tupdateBlockAttributes( clientId, textUpdateAttributes );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tattributes,\n\t\t\tallowTextUpdate,\n\t\t\tclientId,\n\t\t\thasUrlBinding,\n\t\t\tcreateBinding,\n\t\t\tclearBinding,\n\t\t\tsetAttributes,\n\t\t\tupdateBlockAttributes,\n\t\t]\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA4B;AAC5B,kBAA4B;AAC5B,0BAA0C;AAC1C,iBAAiD;AACjD,yBAA2B;AAC3B,+BAAiC;AACjC,gCAAiC;AAc1B,SAAS,oBAAqB;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA,kBAAkB;AACnB,GAAI;AACH,QAAM,EAAE,sBAAsB,QAAI,yBAAa,oBAAAA,KAAiB;AAChE,QAAM,EAAE,eAAe,eAAe,aAAa,QAAI,4CAAkB;AAAA,IACxE;AAAA,IACA;AAAA,EACD,CAAE;AAEF,aAAO;AAAA,IACN,CAAE,gBAAiB;AAClB,UAAK,CAAE,aAAc;AACpB;AAAA,MACD;AAEA,YAAM,QAAQ;AAAA,QACb,KAAK,YAAY;AAAA,QACjB,MAAM,YAAY;AAAA,QAClB,MAAM,YAAY;AAAA,QAClB,IAAI,YAAY;AAAA,MACjB;AAEA,YAAM,cAAc,WAAW,YAC5B,WAAAC,qBAAW,WAAW,KAAM,IAC5B;AACH,YAAM,cAAc,YAAY,SAAS;AACzC,YAAM,gBACL,mBACA,YAAY,UAAU,UACtB,gBAAgB;AACjB,YAAM,uBAAuB,gBAC1B,EAAE,WAAO,+BAAY,WAAY,EAAE,IACnC,CAAC;AAEJ,UACC,CAAE,WAAW,SACb,WAAW,UAAU,MACrB,eACC;AACD,cAAM,QAAQ,YAAY;AAAA,MAC3B;AAEA,YAAM,mBAAmB,CAAE,YAAY,MAAM;AAE7C,UAAK,kBAAmB;AAEvB,qBAAa;AAIb,8BAAuB,UAAU;AAAA,UAChC,KAAK,YAAY;AAAA,UACjB,MAAM;AAAA,UACN,MAAM;AAAA,UACN,IAAI;AAAA,UACJ,GAAG;AAAA,QACJ,CAAE;AAAA,MACH,OAAO;AAEN,cAAM,EAAE,cAAc,YAAY,kBAAkB,QACnD,2CAAkB,OAAO,eAAe,UAAW;AAKpD,YAAK,cAAe;AACnB,wBAAe,iBAAkB;AAAA,QAClC,OAAO;AACN,uBAAa;AAAA,QACd;AAEA,YAAK,OAAO,KAAM,oBAAqB,EAAE,QAAS;AACjD,gCAAuB,UAAU,oBAAqB;AAAA,QACvD;AAAA,MACD;AAAA,IACD;AAAA,IACA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AACD;",
6
6
  "names": ["blockEditorStore", "stripHTML"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/navigation-link/shared/use-is-dragging-within.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useState, useEffect } from '@wordpress/element';\n\n/**\n * A React hook to determine if it's dragging within the target element.\n *\n * @typedef {import('@wordpress/element').RefObject} RefObject\n *\n * @param {RefObject<HTMLElement>} elementRef The target elementRef object.\n *\n * @return {boolean} Is dragging within the target element.\n */\nexport const useIsDraggingWithin = ( elementRef ) => {\n\tconst [ isDraggingWithin, setIsDraggingWithin ] = useState( false );\n\n\tuseEffect( () => {\n\t\tconst { ownerDocument } = elementRef.current;\n\n\t\tfunction handleDragStart( event ) {\n\t\t\t// Check the first time when the dragging starts.\n\t\t\thandleDragEnter( event );\n\t\t}\n\n\t\t// Set to false whenever the user cancel the drag event by either releasing the mouse or press Escape.\n\t\tfunction handleDragEnd() {\n\t\t\tsetIsDraggingWithin( false );\n\t\t}\n\n\t\tfunction handleDragEnter( event ) {\n\t\t\t// Check if the current target is inside the item element.\n\t\t\tif ( elementRef.current.contains( event.target ) ) {\n\t\t\t\tsetIsDraggingWithin( true );\n\t\t\t} else {\n\t\t\t\tsetIsDraggingWithin( false );\n\t\t\t}\n\t\t}\n\n\t\t// Bind these events to the document to catch all drag events.\n\t\t// Ideally, we can also use `event.relatedTarget`, but sadly that\n\t\t// doesn't work in Safari.\n\t\townerDocument.addEventListener( 'dragstart', handleDragStart );\n\t\townerDocument.addEventListener( 'dragend', handleDragEnd );\n\t\townerDocument.addEventListener( 'dragenter', handleDragEnter );\n\n\t\treturn () => {\n\t\t\townerDocument.removeEventListener( 'dragstart', handleDragStart );\n\t\t\townerDocument.removeEventListener( 'dragend', handleDragEnd );\n\t\t\townerDocument.removeEventListener( 'dragenter', handleDragEnter );\n\t\t};\n\t}, [ elementRef ] );\n\n\treturn isDraggingWithin;\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAoC;AAW7B,IAAM,sBAAsB,CAAE,eAAgB;AACpD,QAAM,CAAE,kBAAkB,mBAAoB,QAAI,yBAAU,KAAM;AAElE,gCAAW,MAAM;AAChB,UAAM,EAAE,cAAc,IAAI,WAAW;AAErC,aAAS,gBAAiB,OAAQ;AAEjC,sBAAiB,KAAM;AAAA,IACxB;AAGA,aAAS,gBAAgB;AACxB,0BAAqB,KAAM;AAAA,IAC5B;AAEA,aAAS,gBAAiB,OAAQ;AAEjC,UAAK,WAAW,QAAQ,SAAU,MAAM,MAAO,GAAI;AAClD,4BAAqB,IAAK;AAAA,MAC3B,OAAO;AACN,4BAAqB,KAAM;AAAA,MAC5B;AAAA,IACD;AAKA,kBAAc,iBAAkB,aAAa,eAAgB;AAC7D,kBAAc,iBAAkB,WAAW,aAAc;AACzD,kBAAc,iBAAkB,aAAa,eAAgB;AAE7D,WAAO,MAAM;AACZ,oBAAc,oBAAqB,aAAa,eAAgB;AAChE,oBAAc,oBAAqB,WAAW,aAAc;AAC5D,oBAAc,oBAAqB,aAAa,eAAgB;AAAA,IACjE;AAAA,EACD,GAAG,CAAE,UAAW,CAAE;AAElB,SAAO;AACR;",
4
+ "sourcesContent": ["import { useState, useEffect } from '@wordpress/element';\n\n/**\n * A React hook to determine if it's dragging within the target element.\n *\n * @typedef {import('@wordpress/element').RefObject} RefObject\n *\n * @param {RefObject<HTMLElement>} elementRef The target elementRef object.\n *\n * @return {boolean} Is dragging within the target element.\n */\nexport const useIsDraggingWithin = ( elementRef ) => {\n\tconst [ isDraggingWithin, setIsDraggingWithin ] = useState( false );\n\n\tuseEffect( () => {\n\t\tconst { ownerDocument } = elementRef.current;\n\n\t\tfunction handleDragStart( event ) {\n\t\t\t// Check the first time when the dragging starts.\n\t\t\thandleDragEnter( event );\n\t\t}\n\n\t\t// Set to false whenever the user cancel the drag event by either releasing the mouse or press Escape.\n\t\tfunction handleDragEnd() {\n\t\t\tsetIsDraggingWithin( false );\n\t\t}\n\n\t\tfunction handleDragEnter( event ) {\n\t\t\t// Check if the current target is inside the item element.\n\t\t\tif ( elementRef.current.contains( event.target ) ) {\n\t\t\t\tsetIsDraggingWithin( true );\n\t\t\t} else {\n\t\t\t\tsetIsDraggingWithin( false );\n\t\t\t}\n\t\t}\n\n\t\t// Bind these events to the document to catch all drag events.\n\t\t// Ideally, we can also use `event.relatedTarget`, but sadly that\n\t\t// doesn't work in Safari.\n\t\townerDocument.addEventListener( 'dragstart', handleDragStart );\n\t\townerDocument.addEventListener( 'dragend', handleDragEnd );\n\t\townerDocument.addEventListener( 'dragenter', handleDragEnter );\n\n\t\treturn () => {\n\t\t\townerDocument.removeEventListener( 'dragstart', handleDragStart );\n\t\t\townerDocument.removeEventListener( 'dragend', handleDragEnd );\n\t\t\townerDocument.removeEventListener( 'dragenter', handleDragEnter );\n\t\t};\n\t}, [ elementRef ] );\n\n\treturn isDraggingWithin;\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAoC;AAW7B,IAAM,sBAAsB,CAAE,eAAgB;AACpD,QAAM,CAAE,kBAAkB,mBAAoB,QAAI,yBAAU,KAAM;AAElE,gCAAW,MAAM;AAChB,UAAM,EAAE,cAAc,IAAI,WAAW;AAErC,aAAS,gBAAiB,OAAQ;AAEjC,sBAAiB,KAAM;AAAA,IACxB;AAGA,aAAS,gBAAgB;AACxB,0BAAqB,KAAM;AAAA,IAC5B;AAEA,aAAS,gBAAiB,OAAQ;AAEjC,UAAK,WAAW,QAAQ,SAAU,MAAM,MAAO,GAAI;AAClD,4BAAqB,IAAK;AAAA,MAC3B,OAAO;AACN,4BAAqB,KAAM;AAAA,MAC5B;AAAA,IACD;AAKA,kBAAc,iBAAkB,aAAa,eAAgB;AAC7D,kBAAc,iBAAkB,WAAW,aAAc;AACzD,kBAAc,iBAAkB,aAAa,eAAgB;AAE7D,WAAO,MAAM;AACZ,oBAAc,oBAAqB,aAAa,eAAgB;AAChE,oBAAc,oBAAqB,WAAW,aAAc;AAC5D,oBAAc,oBAAqB,aAAa,eAAgB;AAAA,IACjE;AAAA,EACD,GAAG,CAAE,UAAW,CAAE;AAElB,SAAO;AACR;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/navigation-link/shared/use-is-invalid-link.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useBlockEditingMode } from '@wordpress/block-editor';\n\n/**\n * A React hook to determine if a navigation link or submenu's parent link is invalid.\n *\n * @param {string} kind The kind of link (post-type, custom, taxonomy, etc).\n * @param {string} type The type of post (post, page, etc).\n * @param {number} id The post or term id.\n * @param {boolean} enabled Whether to enable the validation check.\n *\n * @return {Array} Array containing [isInvalid, isDraft] booleans.\n */\nexport const useIsInvalidLink = ( kind, type, id, enabled ) => {\n\tconst isPostType =\n\t\tkind === 'post-type' || type === 'post' || type === 'page';\n\tconst hasId = Number.isInteger( id );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst { postStatus, isDeleted } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isPostType ) {\n\t\t\t\treturn { postStatus: null, isDeleted: false };\n\t\t\t}\n\n\t\t\t// Fetching the posts status is an \"expensive\" operation. Especially for sites with large navigations.\n\t\t\t// When the block is rendered in a template or other disabled contexts we can skip this check in order\n\t\t\t// to avoid all these additional requests that don't really add any value in that mode.\n\t\t\tif ( blockEditingMode === 'disabled' || ! enabled ) {\n\t\t\t\treturn { postStatus: null, isDeleted: false };\n\t\t\t}\n\n\t\t\tconst { getEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst entityRecord = getEntityRecord( 'postType', type, id );\n\t\t\tconst hasResolved = hasFinishedResolution( 'getEntityRecord', [\n\t\t\t\t'postType',\n\t\t\t\ttype,\n\t\t\t\tid,\n\t\t\t] );\n\n\t\t\t// If resolution has finished and entityRecord is undefined, the entity was deleted.\n\t\t\tconst deleted = hasResolved && entityRecord === undefined;\n\n\t\t\treturn {\n\t\t\t\tpostStatus: entityRecord?.status,\n\t\t\t\tisDeleted: deleted,\n\t\t\t};\n\t\t},\n\t\t[ isPostType, blockEditingMode, enabled, type, id ]\n\t);\n\n\t// Check Navigation Link validity if:\n\t// 1. Link is 'post-type'.\n\t// 2. It has an id.\n\t// 3. It's neither null, nor undefined, as valid items might be either of those while loading.\n\t// If those conditions are met, check if\n\t// 1. The post status is trash (trashed).\n\t// 2. The entity doesn't exist (deleted).\n\t// If either of those is true, invalidate.\n\tconst isInvalid =\n\t\tisPostType &&\n\t\thasId &&\n\t\t( isDeleted || ( postStatus && 'trash' === postStatus ) );\n\tconst isDraft = 'draft' === postStatus;\n\n\treturn [ isInvalid, isDraft ];\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAA0B;AAC1B,uBAAmC;AACnC,0BAAoC;AAY7B,IAAM,mBAAmB,CAAE,MAAM,MAAM,IAAI,YAAa;AAC9D,QAAM,aACL,SAAS,eAAe,SAAS,UAAU,SAAS;AACrD,QAAM,QAAQ,OAAO,UAAW,EAAG;AACnC,QAAM,uBAAmB,yCAAoB;AAE7C,QAAM,EAAE,YAAY,UAAU,QAAI;AAAA,IACjC,CAAE,WAAY;AACb,UAAK,CAAE,YAAa;AACnB,eAAO,EAAE,YAAY,MAAM,WAAW,MAAM;AAAA,MAC7C;AAKA,UAAK,qBAAqB,cAAc,CAAE,SAAU;AACnD,eAAO,EAAE,YAAY,MAAM,WAAW,MAAM;AAAA,MAC7C;AAEA,YAAM,EAAE,iBAAiB,sBAAsB,IAC9C,OAAQ,iBAAAA,KAAU;AACnB,YAAM,eAAe,gBAAiB,YAAY,MAAM,EAAG;AAC3D,YAAM,cAAc,sBAAuB,mBAAmB;AAAA,QAC7D;AAAA,QACA;AAAA,QACA;AAAA,MACD,CAAE;AAGF,YAAM,UAAU,eAAe,iBAAiB;AAEhD,aAAO;AAAA,QACN,YAAY,cAAc;AAAA,QAC1B,WAAW;AAAA,MACZ;AAAA,IACD;AAAA,IACA,CAAE,YAAY,kBAAkB,SAAS,MAAM,EAAG;AAAA,EACnD;AAUA,QAAM,YACL,cACA,UACE,aAAe,cAAc,YAAY;AAC5C,QAAM,UAAU,YAAY;AAE5B,SAAO,CAAE,WAAW,OAAQ;AAC7B;",
4
+ "sourcesContent": ["import { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useBlockEditingMode } from '@wordpress/block-editor';\n\n/**\n * A React hook to determine if a navigation link or submenu's parent link is invalid.\n *\n * @param {string} kind The kind of link (post-type, custom, taxonomy, etc).\n * @param {string} type The type of post (post, page, etc).\n * @param {number} id The post or term id.\n * @param {boolean} enabled Whether to enable the validation check.\n *\n * @return {Array} Array containing [isInvalid, isDraft] booleans.\n */\nexport const useIsInvalidLink = ( kind, type, id, enabled ) => {\n\tconst isPostType =\n\t\tkind === 'post-type' || type === 'post' || type === 'page';\n\tconst hasId = Number.isInteger( id );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst { postStatus, isDeleted } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isPostType ) {\n\t\t\t\treturn { postStatus: null, isDeleted: false };\n\t\t\t}\n\n\t\t\t// Fetching the posts status is an \"expensive\" operation. Especially for sites with large navigations.\n\t\t\t// When the block is rendered in a template or other disabled contexts we can skip this check in order\n\t\t\t// to avoid all these additional requests that don't really add any value in that mode.\n\t\t\tif ( blockEditingMode === 'disabled' || ! enabled ) {\n\t\t\t\treturn { postStatus: null, isDeleted: false };\n\t\t\t}\n\n\t\t\tconst { getEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst entityRecord = getEntityRecord( 'postType', type, id );\n\t\t\tconst hasResolved = hasFinishedResolution( 'getEntityRecord', [\n\t\t\t\t'postType',\n\t\t\t\ttype,\n\t\t\t\tid,\n\t\t\t] );\n\n\t\t\t// If resolution has finished and entityRecord is undefined, the entity was deleted.\n\t\t\tconst deleted = hasResolved && entityRecord === undefined;\n\n\t\t\treturn {\n\t\t\t\tpostStatus: entityRecord?.status,\n\t\t\t\tisDeleted: deleted,\n\t\t\t};\n\t\t},\n\t\t[ isPostType, blockEditingMode, enabled, type, id ]\n\t);\n\n\t// Check Navigation Link validity if:\n\t// 1. Link is 'post-type'.\n\t// 2. It has an id.\n\t// 3. It's neither null, nor undefined, as valid items might be either of those while loading.\n\t// If those conditions are met, check if\n\t// 1. The post status is trash (trashed).\n\t// 2. The entity doesn't exist (deleted).\n\t// If either of those is true, invalidate.\n\tconst isInvalid =\n\t\tisPostType &&\n\t\thasId &&\n\t\t( isDeleted || ( postStatus && 'trash' === postStatus ) );\n\tconst isDraft = 'draft' === postStatus;\n\n\treturn [ isInvalid, isDraft ];\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA0B;AAC1B,uBAAmC;AACnC,0BAAoC;AAY7B,IAAM,mBAAmB,CAAE,MAAM,MAAM,IAAI,YAAa;AAC9D,QAAM,aACL,SAAS,eAAe,SAAS,UAAU,SAAS;AACrD,QAAM,QAAQ,OAAO,UAAW,EAAG;AACnC,QAAM,uBAAmB,yCAAoB;AAE7C,QAAM,EAAE,YAAY,UAAU,QAAI;AAAA,IACjC,CAAE,WAAY;AACb,UAAK,CAAE,YAAa;AACnB,eAAO,EAAE,YAAY,MAAM,WAAW,MAAM;AAAA,MAC7C;AAKA,UAAK,qBAAqB,cAAc,CAAE,SAAU;AACnD,eAAO,EAAE,YAAY,MAAM,WAAW,MAAM;AAAA,MAC7C;AAEA,YAAM,EAAE,iBAAiB,sBAAsB,IAC9C,OAAQ,iBAAAA,KAAU;AACnB,YAAM,eAAe,gBAAiB,YAAY,MAAM,EAAG;AAC3D,YAAM,cAAc,sBAAuB,mBAAmB;AAAA,QAC7D;AAAA,QACA;AAAA,QACA;AAAA,MACD,CAAE;AAGF,YAAM,UAAU,eAAe,iBAAiB;AAEhD,aAAO;AAAA,QACN,YAAY,cAAc;AAAA,QAC1B,WAAW;AAAA,MACZ;AAAA,IACD;AAAA,IACA,CAAE,YAAY,kBAAkB,SAAS,MAAM,EAAG;AAAA,EACnD;AAUA,QAAM,YACL,cACA,UACE,aAAe,cAAc,YAAY;AAC5C,QAAM,UAAU,YAAY;AAE5B,SAAO,CAAE,WAAW,OAAQ;AAC7B;",
6
6
  "names": ["coreStore"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/navigation-link/shared/use-link-preview.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { safeDecodeURI } from '@wordpress/url';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreDataStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useRemoteUrlData, isHashLink, isRelativePath } = unlock(\n\tblockEditorPrivateApis\n);\n\n/**\n * Capitalize the first letter of a string.\n *\n * @param {string} str - The string to capitalize\n * @return {string} Capitalized string\n */\nfunction capitalize( str ) {\n\treturn str.charAt( 0 ).toUpperCase() + str.slice( 1 );\n}\n\n/**\n * Check if a URL points to the site homepage.\n * Handles protocol (http/https) and trailing slash variations.\n * Does not match subdomains unless they are the site URL.\n *\n * @param {string} url - The URL to check\n * @param {string} homeUrl - The WordPress site URL\n * @return {boolean} True if url is the homepage\n */\nexport function isHomepage( url, homeUrl ) {\n\tif ( url === '/' ) {\n\t\treturn true;\n\t}\n\tif ( ! url || ! homeUrl ) {\n\t\treturn false;\n\t}\n\ttry {\n\t\tconst urlParsed = new URL( url, homeUrl );\n\t\tconst homeParsed = new URL( homeUrl );\n\n\t\t// Same host, i.e. sub.homepage.com or homepage.com\n\t\tif ( urlParsed.hostname !== homeParsed.hostname ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Path must match site root (normalize trailing slash)\n\t\tconst urlPath = urlParsed.pathname.replace( /\\/$/, '' );\n\t\tconst homePath = homeParsed.pathname.replace( /\\/$/, '' );\n\n\t\treturn urlPath === homePath;\n\t} catch {\n\t\treturn false;\n\t}\n}\n\n/**\n * Compute display URL - strips site URL if internal, shows full URL if external.\n *\n * @param {Object} options - Parameters object\n * @param {string} options.linkUrl - The URL to process\n * @param {string} options.homeUrl - The WordPress site URL (required for internal/external detection)\n * @return {Object} Object with displayUrl and isExternal flag\n */\nexport function computeDisplayUrl( { linkUrl, homeUrl } = {} ) {\n\tif ( ! linkUrl ) {\n\t\treturn { displayUrl: '', isExternal: false };\n\t}\n\n\tlet displayUrl = safeDecodeURI( linkUrl );\n\tlet isExternal = false;\n\n\t// Check hash links and relative paths first - these are always internal\n\tif ( isRelativePath( linkUrl ) || isHashLink( linkUrl ) ) {\n\t\treturn { displayUrl, isExternal: false };\n\t}\n\n\t// Try to parse as a full URL to determine if it's actually external\n\t// This must happen before trusting the type attribute\n\ttry {\n\t\tconst parsedUrl = new URL( linkUrl );\n\t\t// Compare by host (not origin) so http/https to same site both count as internal\n\t\tconst siteHost = new URL( homeUrl ).host;\n\n\t\tif ( parsedUrl.host === siteHost ) {\n\t\t\t// Show only the pathname (and search/hash if present)\n\t\t\tlet path = parsedUrl.pathname + parsedUrl.search + parsedUrl.hash;\n\t\t\t// Remove trailing slash\n\t\t\tif ( path.endsWith( '/' ) && path.length > 1 ) {\n\t\t\t\tpath = path.slice( 0, -1 );\n\t\t\t}\n\t\t\tdisplayUrl = path;\n\t\t} else {\n\t\t\t// Different host - this is an external link\n\t\t\tisExternal = true;\n\t\t}\n\t} catch {\n\t\t// URL parsing failed - treat as external (e.g. no homeUrl, or URL without protocol)\n\t\tisExternal = true;\n\t}\n\n\treturn { displayUrl, isExternal };\n}\n\n/**\n * Compute badges for the link preview.\n *\n * @param {Object} options - Options object\n * @param {string} options.url - Link URL\n * @param {string} options.homeUrl - WordPress site URL (for homepage detection)\n * @param {string} options.type - Entity type (page, post, etc.)\n * @param {boolean} options.isExternal - Whether link is external\n * @param {string} options.entityStatus - Entity status (publish, draft, etc.)\n * @param {boolean} options.hasBinding - Whether link has entity binding\n * @param {boolean} options.isEntityAvailable - Whether bound entity exists\n * @return {Array} Array of badge objects with label and intent\n */\nexport function computeBadges( {\n\turl,\n\thomeUrl,\n\ttype,\n\tisExternal,\n\tentityStatus,\n\thasBinding,\n\tisEntityAvailable,\n} ) {\n\tconst badges = [];\n\t// Kind badge\n\tif ( url ) {\n\t\tif ( isExternal ) {\n\t\t\tbadges.push( {\n\t\t\t\tlabel: __( 'External link' ),\n\t\t\t\tintent: 'default',\n\t\t\t} );\n\t\t} else if ( isHashLink( url ) ) {\n\t\t\t// Hash links should be detected before type check\n\t\t\t// because they're not entity links even if type is set\n\t\t\tbadges.push( {\n\t\t\t\tlabel: __( 'Internal link' ),\n\t\t\t\tintent: 'default',\n\t\t\t} );\n\t\t} else if ( isHomepage( url, homeUrl ) ) {\n\t\t\tbadges.push( {\n\t\t\t\tlabel: __( 'Homepage' ),\n\t\t\t\tintent: 'default',\n\t\t\t} );\n\t\t} else if ( type && type !== 'custom' ) {\n\t\t\t// Show entity type badge (page, post, category, etc.)\n\t\t\t// but not 'custom' since that's just a manual link\n\t\t\tbadges.push( { label: capitalize( type ), intent: 'default' } );\n\t\t} else {\n\t\t\t// Internal link (not external, not hash, not entity)\n\t\t\tbadges.push( {\n\t\t\t\tlabel: __( 'Page' ),\n\t\t\t\tintent: 'default',\n\t\t\t} );\n\t\t}\n\t}\n\n\t// Status badge\n\tif ( hasBinding && ! isEntityAvailable ) {\n\t\tbadges.push( {\n\t\t\tlabel: sprintf(\n\t\t\t\t/* translators: %s is the entity type (e.g., \"page\", \"post\", \"category\") */\n\t\t\t\t__( 'Missing %s' ),\n\t\t\t\ttype\n\t\t\t),\n\t\t\tintent: 'error',\n\t\t} );\n\t} else if ( ! url ) {\n\t\tbadges.push( { label: __( 'No link selected' ), intent: 'error' } );\n\t} else if ( entityStatus ) {\n\t\tconst statusMap = {\n\t\t\tpublish: { label: __( 'Published' ), intent: 'success' },\n\t\t\tfuture: { label: __( 'Scheduled' ), intent: 'warning' },\n\t\t\tdraft: { label: __( 'Draft' ), intent: 'warning' },\n\t\t\tpending: { label: __( 'Pending' ), intent: 'warning' },\n\t\t\tprivate: { label: __( 'Private' ), intent: 'default' },\n\t\t\ttrash: { label: __( 'Trash' ), intent: 'error' },\n\t\t};\n\t\tconst badge = statusMap[ entityStatus ];\n\t\tif ( badge ) {\n\t\t\tbadges.push( badge );\n\t\t}\n\t}\n\n\treturn badges;\n}\n\n/**\n * Returns an entity record's display title: the rendered title, \"(no title)\"\n * for an untitled entity, or the record's name.\n *\n * @param {Object} entityRecord The entity record.\n * @return {string|undefined} The display title.\n */\nfunction getEntityTitle( entityRecord ) {\n\tconst title = entityRecord?.title;\n\n\t// Some entity types use a plain string for the title.\n\tif ( typeof title === 'string' ) {\n\t\treturn title;\n\t}\n\n\t// Posts and pages expose `title` as a { raw, rendered } object.\n\tif ( title && 'rendered' in title ) {\n\t\treturn title.rendered || __( '(no title)' );\n\t}\n\n\treturn entityRecord?.name;\n}\n\n/**\n * Hook to compute link preview data for display.\n *\n * This hook takes raw link data and entity information and computes\n * presentation-ready preview data including formatted title, URL, and badges.\n *\n * @param {Object} options - Options object\n * @param {string} options.url - Link URL\n * @param {string} options.type - Entity type (page, post, etc.)\n * @param {Object} options.entityRecord - Entity record\n * @param {boolean} options.hasBinding - Whether link has entity binding\n * @param {boolean} options.isEntityAvailable - Whether bound entity exists\n * @return {Object} Preview data object with title, url, image, and badges\n */\nexport function useLinkPreview( {\n\turl,\n\tentityRecord,\n\ttype,\n\thasBinding,\n\tisEntityAvailable,\n} ) {\n\t// Get the WordPress homepage URL from settings\n\tconst homeUrl = useSelect( ( select ) => {\n\t\treturn select( coreDataStore ).getEntityRecord(\n\t\t\t'root',\n\t\t\t'__unstableBase'\n\t\t)?.home;\n\t}, [] );\n\n\tconst title = getEntityTitle( entityRecord );\n\n\t// Fetch rich URL data if we don't have a title. Internal links should have passed a title.\n\tconst { richData } = useRemoteUrlData( title ? null : url );\n\n\t// Compute display URL and external flag\n\tconst { displayUrl, isExternal } = computeDisplayUrl( {\n\t\tlinkUrl: url,\n\t\thomeUrl,\n\t} );\n\n\tconst image = useSelect(\n\t\t( select ) => {\n\t\t\t// Only fetch for post-type entities with featured media\n\t\t\tif ( ! entityRecord?.featured_media ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst { getEntityRecord } = select( coreDataStore );\n\n\t\t\t// Get the media entity to fetch the image URL\n\t\t\tconst media = getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'attachment',\n\t\t\t\tentityRecord.featured_media\n\t\t\t);\n\n\t\t\t// Return the thumbnail or medium size URL, fallback to source_url\n\t\t\treturn (\n\t\t\t\tmedia?.media_details?.sizes?.thumbnail?.source_url ||\n\t\t\t\tmedia?.media_details?.sizes?.medium?.source_url ||\n\t\t\t\tmedia?.source_url ||\n\t\t\t\tnull\n\t\t\t);\n\t\t},\n\t\t[ entityRecord?.featured_media ]\n\t);\n\n\t// Compute badges\n\tconst badges = computeBadges( {\n\t\turl,\n\t\thomeUrl,\n\t\ttype,\n\t\tisExternal,\n\t\tentityStatus: entityRecord?.status,\n\t\thasBinding,\n\t\tisEntityAvailable,\n\t} );\n\n\t// Get display title - use provided title, fallback to rich data, or URL\n\tconst displayTitle = url\n\t\t? title || richData?.title || safeDecodeURI( url )\n\t\t: __( 'Add link' );\n\n\treturn {\n\t\ttitle: displayTitle,\n\t\turl: displayUrl,\n\t\timage,\n\t\tbadges,\n\t};\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { __, sprintf } from '@wordpress/i18n';\nimport { safeDecodeURI } from '@wordpress/url';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { unlock } from '../../lock-unlock';\n\nconst { useRemoteUrlData, isHashLink, isRelativePath } = unlock(\n\tblockEditorPrivateApis\n);\n\n/**\n * Capitalize the first letter of a string.\n *\n * @param {string} str - The string to capitalize\n * @return {string} Capitalized string\n */\nfunction capitalize( str ) {\n\treturn str.charAt( 0 ).toUpperCase() + str.slice( 1 );\n}\n\n/**\n * Check if a URL points to the site homepage.\n * Handles protocol (http/https) and trailing slash variations.\n * Does not match subdomains unless they are the site URL.\n *\n * @param {string} url - The URL to check\n * @param {string} homeUrl - The WordPress site URL\n * @return {boolean} True if url is the homepage\n */\nexport function isHomepage( url, homeUrl ) {\n\tif ( url === '/' ) {\n\t\treturn true;\n\t}\n\tif ( ! url || ! homeUrl ) {\n\t\treturn false;\n\t}\n\ttry {\n\t\tconst urlParsed = new URL( url, homeUrl );\n\t\tconst homeParsed = new URL( homeUrl );\n\n\t\t// Same host, i.e. sub.homepage.com or homepage.com\n\t\tif ( urlParsed.hostname !== homeParsed.hostname ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Path must match site root (normalize trailing slash)\n\t\tconst urlPath = urlParsed.pathname.replace( /\\/$/, '' );\n\t\tconst homePath = homeParsed.pathname.replace( /\\/$/, '' );\n\n\t\treturn urlPath === homePath;\n\t} catch {\n\t\treturn false;\n\t}\n}\n\n/**\n * Compute display URL - strips site URL if internal, shows full URL if external.\n *\n * @param {Object} options - Parameters object\n * @param {string} options.linkUrl - The URL to process\n * @param {string} options.homeUrl - The WordPress site URL (required for internal/external detection)\n * @return {Object} Object with displayUrl and isExternal flag\n */\nexport function computeDisplayUrl( { linkUrl, homeUrl } = {} ) {\n\tif ( ! linkUrl ) {\n\t\treturn { displayUrl: '', isExternal: false };\n\t}\n\n\tlet displayUrl = safeDecodeURI( linkUrl );\n\tlet isExternal = false;\n\n\t// Check hash links and relative paths first - these are always internal\n\tif ( isRelativePath( linkUrl ) || isHashLink( linkUrl ) ) {\n\t\treturn { displayUrl, isExternal: false };\n\t}\n\n\t// Try to parse as a full URL to determine if it's actually external\n\t// This must happen before trusting the type attribute\n\ttry {\n\t\tconst parsedUrl = new URL( linkUrl );\n\t\t// Compare by host (not origin) so http/https to same site both count as internal\n\t\tconst siteHost = new URL( homeUrl ).host;\n\n\t\tif ( parsedUrl.host === siteHost ) {\n\t\t\t// Show only the pathname (and search/hash if present)\n\t\t\tlet path = parsedUrl.pathname + parsedUrl.search + parsedUrl.hash;\n\t\t\t// Remove trailing slash\n\t\t\tif ( path.endsWith( '/' ) && path.length > 1 ) {\n\t\t\t\tpath = path.slice( 0, -1 );\n\t\t\t}\n\t\t\tdisplayUrl = path;\n\t\t} else {\n\t\t\t// Different host - this is an external link\n\t\t\tisExternal = true;\n\t\t}\n\t} catch {\n\t\t// URL parsing failed - treat as external (e.g. no homeUrl, or URL without protocol)\n\t\tisExternal = true;\n\t}\n\n\treturn { displayUrl, isExternal };\n}\n\n/**\n * Compute badges for the link preview.\n *\n * @param {Object} options - Options object\n * @param {string} options.url - Link URL\n * @param {string} options.homeUrl - WordPress site URL (for homepage detection)\n * @param {string} options.type - Entity type (page, post, etc.)\n * @param {boolean} options.isExternal - Whether link is external\n * @param {string} options.entityStatus - Entity status (publish, draft, etc.)\n * @param {boolean} options.hasBinding - Whether link has entity binding\n * @param {boolean} options.isEntityAvailable - Whether bound entity exists\n * @return {Array} Array of badge objects with label and intent\n */\nexport function computeBadges( {\n\turl,\n\thomeUrl,\n\ttype,\n\tisExternal,\n\tentityStatus,\n\thasBinding,\n\tisEntityAvailable,\n} ) {\n\tconst badges = [];\n\t// Kind badge\n\tif ( url ) {\n\t\tif ( isExternal ) {\n\t\t\tbadges.push( {\n\t\t\t\tlabel: __( 'External link' ),\n\t\t\t\tintent: 'default',\n\t\t\t} );\n\t\t} else if ( isHashLink( url ) ) {\n\t\t\t// Hash links should be detected before type check\n\t\t\t// because they're not entity links even if type is set\n\t\t\tbadges.push( {\n\t\t\t\tlabel: __( 'Internal link' ),\n\t\t\t\tintent: 'default',\n\t\t\t} );\n\t\t} else if ( isHomepage( url, homeUrl ) ) {\n\t\t\tbadges.push( {\n\t\t\t\tlabel: __( 'Homepage' ),\n\t\t\t\tintent: 'default',\n\t\t\t} );\n\t\t} else if ( type && type !== 'custom' ) {\n\t\t\t// Show entity type badge (page, post, category, etc.)\n\t\t\t// but not 'custom' since that's just a manual link\n\t\t\tbadges.push( { label: capitalize( type ), intent: 'default' } );\n\t\t} else {\n\t\t\t// Internal link (not external, not hash, not entity)\n\t\t\tbadges.push( {\n\t\t\t\tlabel: __( 'Page' ),\n\t\t\t\tintent: 'default',\n\t\t\t} );\n\t\t}\n\t}\n\n\t// Status badge\n\tif ( hasBinding && ! isEntityAvailable ) {\n\t\tbadges.push( {\n\t\t\tlabel: sprintf(\n\t\t\t\t/* translators: %s is the entity type (e.g., \"page\", \"post\", \"category\") */\n\t\t\t\t__( 'Missing %s' ),\n\t\t\t\ttype\n\t\t\t),\n\t\t\tintent: 'error',\n\t\t} );\n\t} else if ( ! url ) {\n\t\tbadges.push( { label: __( 'No link selected' ), intent: 'error' } );\n\t} else if ( entityStatus ) {\n\t\tconst statusMap = {\n\t\t\tpublish: { label: __( 'Published' ), intent: 'success' },\n\t\t\tfuture: { label: __( 'Scheduled' ), intent: 'warning' },\n\t\t\tdraft: { label: __( 'Draft' ), intent: 'warning' },\n\t\t\tpending: { label: __( 'Pending' ), intent: 'warning' },\n\t\t\tprivate: { label: __( 'Private' ), intent: 'default' },\n\t\t\ttrash: { label: __( 'Trash' ), intent: 'error' },\n\t\t};\n\t\tconst badge = statusMap[ entityStatus ];\n\t\tif ( badge ) {\n\t\t\tbadges.push( badge );\n\t\t}\n\t}\n\n\treturn badges;\n}\n\n/**\n * Returns an entity record's display title: the rendered title, \"(no title)\"\n * for an untitled entity, or the record's name.\n *\n * @param {Object} entityRecord The entity record.\n * @return {string|undefined} The display title.\n */\nfunction getEntityTitle( entityRecord ) {\n\tconst title = entityRecord?.title;\n\n\t// Some entity types use a plain string for the title.\n\tif ( typeof title === 'string' ) {\n\t\treturn title;\n\t}\n\n\t// Posts and pages expose `title` as a { raw, rendered } object.\n\tif ( title && 'rendered' in title ) {\n\t\treturn title.rendered || __( '(no title)' );\n\t}\n\n\treturn entityRecord?.name;\n}\n\n/**\n * Hook to compute link preview data for display.\n *\n * This hook takes raw link data and entity information and computes\n * presentation-ready preview data including formatted title, URL, and badges.\n *\n * @param {Object} options - Options object\n * @param {string} options.url - Link URL\n * @param {string} options.type - Entity type (page, post, etc.)\n * @param {Object} options.entityRecord - Entity record\n * @param {boolean} options.hasBinding - Whether link has entity binding\n * @param {boolean} options.isEntityAvailable - Whether bound entity exists\n * @return {Object} Preview data object with title, url, image, and badges\n */\nexport function useLinkPreview( {\n\turl,\n\tentityRecord,\n\ttype,\n\thasBinding,\n\tisEntityAvailable,\n} ) {\n\t// Get the WordPress homepage URL from settings\n\tconst homeUrl = useSelect( ( select ) => {\n\t\treturn select( coreDataStore ).getEntityRecord(\n\t\t\t'root',\n\t\t\t'__unstableBase'\n\t\t)?.home;\n\t}, [] );\n\n\tconst title = getEntityTitle( entityRecord );\n\n\t// Fetch rich URL data if we don't have a title. Internal links should have passed a title.\n\tconst { richData } = useRemoteUrlData( title ? null : url );\n\n\t// Compute display URL and external flag\n\tconst { displayUrl, isExternal } = computeDisplayUrl( {\n\t\tlinkUrl: url,\n\t\thomeUrl,\n\t} );\n\n\tconst image = useSelect(\n\t\t( select ) => {\n\t\t\t// Only fetch for post-type entities with featured media\n\t\t\tif ( ! entityRecord?.featured_media ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst { getEntityRecord } = select( coreDataStore );\n\n\t\t\t// Get the media entity to fetch the image URL\n\t\t\tconst media = getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'attachment',\n\t\t\t\tentityRecord.featured_media\n\t\t\t);\n\n\t\t\t// Return the thumbnail or medium size URL, fallback to source_url\n\t\t\treturn (\n\t\t\t\tmedia?.media_details?.sizes?.thumbnail?.source_url ||\n\t\t\t\tmedia?.media_details?.sizes?.medium?.source_url ||\n\t\t\t\tmedia?.source_url ||\n\t\t\t\tnull\n\t\t\t);\n\t\t},\n\t\t[ entityRecord?.featured_media ]\n\t);\n\n\t// Compute badges\n\tconst badges = computeBadges( {\n\t\turl,\n\t\thomeUrl,\n\t\ttype,\n\t\tisExternal,\n\t\tentityStatus: entityRecord?.status,\n\t\thasBinding,\n\t\tisEntityAvailable,\n\t} );\n\n\t// Get display title - use provided title, fallback to rich data, or URL\n\tconst displayTitle = url\n\t\t? title || richData?.title || safeDecodeURI( url )\n\t\t: __( 'Add link' );\n\n\treturn {\n\t\ttitle: displayTitle,\n\t\turl: displayUrl,\n\t\timage,\n\t\tbadges,\n\t};\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["blockEditorPrivateApis", "coreDataStore"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/navigation-link/transforms.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/site-logo' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/navigation-link' );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/spacer' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/navigation-link' );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/home-link' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/navigation-link' );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/social-links' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/navigation-link' );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/search' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/navigation-link' );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/page-list' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/navigation-link' );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/buttons' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/navigation-link' );\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/navigation-submenu' ],\n\t\t\ttransform: ( attributes, innerBlocks ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/navigation-submenu',\n\t\t\t\t\tattributes,\n\t\t\t\t\tinnerBlocks\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/spacer' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/spacer' );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/site-logo' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/site-logo' );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/home-link' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/home-link' );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/social-links' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/social-links' );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/search' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/search', {\n\t\t\t\t\tshowLabel: false,\n\t\t\t\t\tbuttonUseIcon: true,\n\t\t\t\t\tbuttonPosition: 'button-inside',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/page-list' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/page-list' );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/buttons' ],\n\t\t\ttransform: ( { label, url, rel, title, opensInNewTab } ) => {\n\t\t\t\treturn createBlock( 'core/buttons', {}, [\n\t\t\t\t\tcreateBlock( 'core/button', {\n\t\t\t\t\t\ttext: label,\n\t\t\t\t\t\turl,\n\t\t\t\t\t\trel,\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\tlinkTarget: opensInNewTab ? '_blank' : undefined,\n\t\t\t\t\t} ),\n\t\t\t\t] );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { createBlock } from '@wordpress/blocks';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/site-logo' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/navigation-link' );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/spacer' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/navigation-link' );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/home-link' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/navigation-link' );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/social-links' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/navigation-link' );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/search' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/navigation-link' );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/page-list' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/navigation-link' );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/buttons' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/navigation-link' );\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/navigation-submenu' ],\n\t\t\ttransform: ( attributes, innerBlocks ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/navigation-submenu',\n\t\t\t\t\tattributes,\n\t\t\t\t\tinnerBlocks\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/spacer' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/spacer' );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/site-logo' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/site-logo' );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/home-link' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/home-link' );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/social-links' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/social-links' );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/search' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/search', {\n\t\t\t\t\tshowLabel: false,\n\t\t\t\t\tbuttonUseIcon: true,\n\t\t\t\t\tbuttonPosition: 'button-inside',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/page-list' ],\n\t\t\ttransform: () => {\n\t\t\t\treturn createBlock( 'core/page-list' );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/buttons' ],\n\t\t\ttransform: ( { label, url, rel, title, opensInNewTab } ) => {\n\t\t\t\treturn createBlock( 'core/buttons', {}, [\n\t\t\t\t\tcreateBlock( 'core/button', {\n\t\t\t\t\t\ttext: label,\n\t\t\t\t\t\turl,\n\t\t\t\t\t\trel,\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\tlinkTarget: opensInNewTab ? '_blank' : undefined,\n\t\t\t\t\t} ),\n\t\t\t\t] );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\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-overlay-close/edit.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRichText,\n} from '@wordpress/block-editor';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { Icon, close } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function NavigationOverlayCloseEdit( {\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst { displayMode, text } = attributes;\n\tconst showIcon = displayMode === 'icon' || displayMode === 'both';\n\tconst showText = displayMode === 'text' || displayMode === 'both';\n\n\t// Use translated default if text is empty\n\tconst displayText = text || __( 'Close' );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: 'wp-block-navigation-overlay-close',\n\t} );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => setAttributes( { displayMode: 'icon' } ) }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Display Mode' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => displayMode !== 'icon' }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayMode: 'icon' } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\tlabel={ __( 'Display Mode' ) }\n\t\t\t\t\t\t\tvalue={ displayMode }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { displayMode: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"icon\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Icon' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"text\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"both\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Both' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<button\n\t\t\t\t{ ...blockProps }\n\t\t\t\ttype=\"button\"\n\t\t\t\taria-label={ ! showText ? __( 'Close' ) : undefined }\n\t\t\t>\n\t\t\t\t{ showIcon && <Icon icon={ close } /> }\n\t\t\t\t{ showText && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t\t\tvalue={ displayText }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { text: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\tclassName=\"wp-block-navigation-overlay-close__text\"\n\t\t\t\t\t\tallowedFormats={ [ 'core/bold', 'core/italic' ] }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</button>\n\t\t</>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAIO;AACP,wBAKO;AACP,kBAAmB;AACnB,mBAA4B;AAK5B,mBAA+C;AAoB7C;AAlBa,SAAR,2BAA6C;AAAA,EACnD;AAAA,EACA;AACD,GAAI;AACH,QAAM,EAAE,aAAa,KAAK,IAAI;AAC9B,QAAM,WAAW,gBAAgB,UAAU,gBAAgB;AAC3D,QAAM,WAAW,gBAAgB,UAAU,gBAAgB;AAG3D,QAAM,cAAc,YAAQ,gBAAI,OAAQ;AAExC,QAAM,iBAAa,mCAAe;AAAA,IACjC,WAAW;AAAA,EACZ,CAAE;AAEF,QAAM,wBAAoB,6CAA+B;AAEzD,SACC,4EACC;AAAA,gDAAC,yCACA;AAAA,MAAC,kBAAAA;AAAA,MAAA;AAAA,QACA,WAAQ,gBAAI,UAAW;AAAA,QACvB,UAAW,MAAM,cAAe,EAAE,aAAa,OAAO,CAAE;AAAA,QACxD;AAAA,QAEA;AAAA,UAAC,kBAAAC;AAAA,UAAA;AAAA,YACA,WAAQ,gBAAI,cAAe;AAAA,YAC3B,kBAAgB;AAAA,YAChB,UAAW,MAAM,gBAAgB;AAAA,YACjC,YAAa,MACZ,cAAe,EAAE,aAAa,OAAO,CAAE;AAAA,YAGxC;AAAA,cAAC,kBAAAC;AAAA,cAAA;AAAA,gBACA,WAAQ,gBAAI,cAAe;AAAA,gBAC3B,OAAQ;AAAA,gBACR,UAAW,CAAE,UACZ,cAAe,EAAE,aAAa,MAAM,CAAE;AAAA,gBAEvC,SAAO;AAAA,gBAEP;AAAA;AAAA,oBAAC,kBAAAC;AAAA,oBAAA;AAAA,sBACA,OAAM;AAAA,sBACN,WAAQ,gBAAI,MAAO;AAAA;AAAA,kBACpB;AAAA,kBACA;AAAA,oBAAC,kBAAAA;AAAA,oBAAA;AAAA,sBACA,OAAM;AAAA,sBACN,WAAQ,gBAAI,MAAO;AAAA;AAAA,kBACpB;AAAA,kBACA;AAAA,oBAAC,kBAAAA;AAAA,oBAAA;AAAA,sBACA,OAAM;AAAA,sBACN,WAAQ,gBAAI,MAAO;AAAA;AAAA,kBACpB;AAAA;AAAA;AAAA,YACD;AAAA;AAAA,QACD;AAAA;AAAA,IACD,GACD;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACL,MAAK;AAAA,QACL,cAAa,CAAE,eAAW,gBAAI,OAAQ,IAAI;AAAA,QAExC;AAAA,sBAAY,4CAAC,qBAAK,MAAO,oBAAQ;AAAA,UACjC,YACD;AAAA,YAAC;AAAA;AAAA,cACA,YAAW;AAAA,cACX,OAAQ;AAAA,cACR,UAAW,CAAE,UACZ,cAAe,EAAE,MAAM,MAAM,CAAE;AAAA,cAEhC,SAAQ;AAAA,cACR,WAAU;AAAA,cACV,gBAAiB,CAAE,aAAa,aAAc;AAAA;AAAA,UAC/C;AAAA;AAAA;AAAA,IAEF;AAAA,KACD;AAEF;",
4
+ "sourcesContent": ["import {\n\tInspectorControls,\n\tuseBlockProps,\n\tRichText,\n} from '@wordpress/block-editor';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { Icon, close } from '@wordpress/icons';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function NavigationOverlayCloseEdit( {\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst { displayMode, text } = attributes;\n\tconst showIcon = displayMode === 'icon' || displayMode === 'both';\n\tconst showText = displayMode === 'text' || displayMode === 'both';\n\n\t// Use translated default if text is empty\n\tconst displayText = text || __( 'Close' );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: 'wp-block-navigation-overlay-close',\n\t} );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => setAttributes( { displayMode: 'icon' } ) }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Display Mode' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => displayMode !== 'icon' }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayMode: 'icon' } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\tlabel={ __( 'Display Mode' ) }\n\t\t\t\t\t\t\tvalue={ displayMode }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { displayMode: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"icon\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Icon' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"text\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"both\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Both' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<button\n\t\t\t\t{ ...blockProps }\n\t\t\t\ttype=\"button\"\n\t\t\t\taria-label={ ! showText ? __( 'Close' ) : undefined }\n\t\t\t>\n\t\t\t\t{ showIcon && <Icon icon={ close } /> }\n\t\t\t\t{ showText && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t\t\tvalue={ displayText }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { text: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\tclassName=\"wp-block-navigation-overlay-close__text\"\n\t\t\t\t\t\tallowedFormats={ [ 'core/bold', 'core/italic' ] }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</button>\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAIO;AACP,wBAKO;AACP,kBAAmB;AACnB,mBAA4B;AAC5B,mBAA+C;AAoB7C;AAlBa,SAAR,2BAA6C;AAAA,EACnD;AAAA,EACA;AACD,GAAI;AACH,QAAM,EAAE,aAAa,KAAK,IAAI;AAC9B,QAAM,WAAW,gBAAgB,UAAU,gBAAgB;AAC3D,QAAM,WAAW,gBAAgB,UAAU,gBAAgB;AAG3D,QAAM,cAAc,YAAQ,gBAAI,OAAQ;AAExC,QAAM,iBAAa,mCAAe;AAAA,IACjC,WAAW;AAAA,EACZ,CAAE;AAEF,QAAM,wBAAoB,6CAA+B;AAEzD,SACC,4EACC;AAAA,gDAAC,yCACA;AAAA,MAAC,kBAAAA;AAAA,MAAA;AAAA,QACA,WAAQ,gBAAI,UAAW;AAAA,QACvB,UAAW,MAAM,cAAe,EAAE,aAAa,OAAO,CAAE;AAAA,QACxD;AAAA,QAEA;AAAA,UAAC,kBAAAC;AAAA,UAAA;AAAA,YACA,WAAQ,gBAAI,cAAe;AAAA,YAC3B,kBAAgB;AAAA,YAChB,UAAW,MAAM,gBAAgB;AAAA,YACjC,YAAa,MACZ,cAAe,EAAE,aAAa,OAAO,CAAE;AAAA,YAGxC;AAAA,cAAC,kBAAAC;AAAA,cAAA;AAAA,gBACA,WAAQ,gBAAI,cAAe;AAAA,gBAC3B,OAAQ;AAAA,gBACR,UAAW,CAAE,UACZ,cAAe,EAAE,aAAa,MAAM,CAAE;AAAA,gBAEvC,SAAO;AAAA,gBAEP;AAAA;AAAA,oBAAC,kBAAAC;AAAA,oBAAA;AAAA,sBACA,OAAM;AAAA,sBACN,WAAQ,gBAAI,MAAO;AAAA;AAAA,kBACpB;AAAA,kBACA;AAAA,oBAAC,kBAAAA;AAAA,oBAAA;AAAA,sBACA,OAAM;AAAA,sBACN,WAAQ,gBAAI,MAAO;AAAA;AAAA,kBACpB;AAAA,kBACA;AAAA,oBAAC,kBAAAA;AAAA,oBAAA;AAAA,sBACA,OAAM;AAAA,sBACN,WAAQ,gBAAI,MAAO;AAAA;AAAA,kBACpB;AAAA;AAAA;AAAA,YACD;AAAA;AAAA,QACD;AAAA;AAAA,IACD,GACD;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACL,MAAK;AAAA,QACL,cAAa,CAAE,eAAW,gBAAI,OAAQ,IAAI;AAAA,QAExC;AAAA,sBAAY,4CAAC,qBAAK,MAAO,oBAAQ;AAAA,UACjC,YACD;AAAA,YAAC;AAAA;AAAA,cACA,YAAW;AAAA,cACX,OAAQ;AAAA,cACR,UAAW,CAAE,UACZ,cAAe,EAAE,MAAM,MAAM,CAAE;AAAA,cAEhC,SAAQ;AAAA,cACR,WAAU;AAAA,cACV,gBAAiB,CAAE,aAAa,aAAc;AAAA;AAAA,UAC/C;AAAA;AAAA;AAAA,IAEF;AAAA,KACD;AAEF;",
6
6
  "names": ["ToolsPanel", "ToolsPanelItem", "ToggleGroupControl", "ToggleGroupControlOption"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/navigation-overlay-close/icon.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nexport default (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2Zm.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12ZM15 8l-3 3-3-3-1.1 1.1 3 3-3 3L9 16.2l3-3 3 3 1.1-1.1-3-3 3-3L15 8Z\" />\n\t</SVG>\n);\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAA0B;AAIxB;AAFF,IAAO,eACN,4CAAC,yBAAI,OAAM,8BAA6B,SAAQ,aAC/C,sDAAC,0BAAK,GAAE,kOAAiO,GAC1O;",
4
+ "sourcesContent": ["import { SVG, Path } from '@wordpress/primitives';\n\nexport default (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2Zm.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12ZM15 8l-3 3-3-3-1.1 1.1 3 3-3 3L9 16.2l3-3 3 3 1.1-1.1-3-3 3-3L15 8Z\" />\n\t</SVG>\n);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAA0B;AAIxB;AAFF,IAAO,eACN,4CAAC,yBAAI,OAAM,8BAA6B,SAAQ,aAC/C,sDAAC,0BAAK,GAAE,kOAAiO,GAC1O;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/navigation-overlay-close/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport { isWithinNavigationOverlay } from '../utils/is-within-overlay';\nimport edit from './edit';\nimport metadata from './block.json';\nimport icon from './icon';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n\nexport const init = () => {\n\taddFilter(\n\t\t'blockEditor.__unstableCanInsertBlockType',\n\t\t'core/navigation-overlay-close/restrict-to-overlay-template-parts',\n\t\t( canInsert, blockType ) => {\n\t\t\tif ( blockType.name !== 'core/navigation-overlay-close' ) {\n\t\t\t\treturn canInsert;\n\t\t\t}\n\n\t\t\tif ( ! canInsert ) {\n\t\t\t\treturn canInsert;\n\t\t\t}\n\n\t\t\treturn isWithinNavigationOverlay();\n\t\t}\n\t);\n\n\treturn initBlock( { name, metadata, settings } );\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,mBAA0B;AAK1B,wBAAsB;AACtB,+BAA0C;AAC1C,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AAEjB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAIV,IAAM,WAAW;AAAA,EACvB,kBAAAC;AAAA,EACA,kBAAAC;AACD;AAEO,IAAM,OAAO,MAAM;AACzB;AAAA,IACC;AAAA,IACA;AAAA,IACA,CAAE,WAAW,cAAe;AAC3B,UAAK,UAAU,SAAS,iCAAkC;AACzD,eAAO;AAAA,MACR;AAEA,UAAK,CAAE,WAAY;AAClB,eAAO;AAAA,MACR;AAEA,iBAAO,oDAA0B;AAAA,IAClC;AAAA,EACD;AAEA,aAAO,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;AAChD;",
4
+ "sourcesContent": ["import { addFilter } from '@wordpress/hooks';\nimport initBlock from '../utils/init-block';\nimport { isWithinNavigationOverlay } from '../utils/is-within-overlay';\nimport edit from './edit';\nimport metadata from './block.json';\nimport icon from './icon';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n\nexport const init = () => {\n\taddFilter(\n\t\t'blockEditor.__unstableCanInsertBlockType',\n\t\t'core/navigation-overlay-close/restrict-to-overlay-template-parts',\n\t\t( canInsert, blockType ) => {\n\t\t\tif ( blockType.name !== 'core/navigation-overlay-close' ) {\n\t\t\t\treturn canInsert;\n\t\t\t}\n\n\t\t\tif ( ! canInsert ) {\n\t\t\t\treturn canInsert;\n\t\t\t}\n\n\t\t\treturn isWithinNavigationOverlay();\n\t\t}\n\t);\n\n\treturn initBlock( { name, metadata, settings } );\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAC1B,wBAAsB;AACtB,+BAA0C;AAC1C,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AAEjB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAIV,IAAM,WAAW;AAAA,EACvB,kBAAAC;AAAA,EACA,kBAAAC;AACD;AAEO,IAAM,OAAO,MAAM;AACzB;AAAA,IACC;AAAA,IACA;AAAA,IACA,CAAE,WAAW,cAAe;AAC3B,UAAK,UAAU,SAAS,iCAAkC;AACzD,eAAO;AAAA,MACR;AAEA,UAAK,CAAE,WAAY;AAClB,eAAO;AAAA,MACR;AAEA,iBAAO,oDAA0B;AAAA,IAClC;AAAA,EACD;AAEA,aAAO,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;AAChD;",
6
6
  "names": ["metadata", "icon", "edit", "initBlock", "metadata"]
7
7
  }