@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/table-of-contents/edit.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tPlaceholder,\n\tToggleControl,\n\tSelectControl,\n\tToolbarButton,\n\tToolbarGroup,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { renderToString } from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as noticeStore } from '@wordpress/notices';\nimport {\n\ttableOfContents as icon,\n\tformatListBullets,\n\tformatListBulletsRTL,\n\tformatListNumbered,\n\tformatListNumberedRTL,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport TableOfContentsList from './list';\nimport { linearToNestedHeadingList } from './utils';\nimport { useObserveHeadings } from './hooks';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n/** @typedef {import('./utils').HeadingData} HeadingData */\n\n/**\n * Table of Contents block edit component.\n *\n * @param {Object} props The props.\n * @param {Object} props.attributes The block attributes.\n * @param {HeadingData[]} props.attributes.headings The list of data for each heading in the post.\n * @param {boolean} props.attributes.onlyIncludeCurrentPage Whether to only include headings from the current page (if the post is paginated).\n * @param {number|undefined} props.attributes.maxLevel The maximum heading level to include, or null to include all levels.\n * @param {boolean} props.attributes.ordered Whether to display as an ordered list (true) or unordered list (false).\n * @param {string} props.clientId The client id.\n * @param {(attributes: Object) => void} props.setAttributes The set attributes function.\n *\n * @return {Component} The component.\n */\nexport default function TableOfContentsEdit( {\n\tattributes: {\n\t\theadings = [],\n\t\tonlyIncludeCurrentPage,\n\t\tmaxLevel,\n\t\tordered = true,\n\t},\n\tclientId,\n\tsetAttributes,\n} ) {\n\tuseObserveHeadings( clientId );\n\n\tconst blockProps = useBlockProps();\n\tconst instanceId = useInstanceId(\n\t\tTableOfContentsEdit,\n\t\t'table-of-contents'\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\n\tconst { createWarningNotice } = useDispatch( noticeStore );\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: `block-library/core/table-of-contents/redirection-prevented/${ instanceId }`,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst canInsertList = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, canInsertBlockType } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\treturn canInsertBlockType( 'core/list', rootClientId );\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst headingTree = linearToNestedHeadingList( headings );\n\n\tconst toolbarControls = (\n\t\t<BlockControls>\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ isRTL() ? formatListBulletsRTL : formatListBullets }\n\t\t\t\t\ttitle={ __( 'Unordered' ) }\n\t\t\t\t\tdescription={ __( 'Convert to unordered list' ) }\n\t\t\t\t\tonClick={ () => setAttributes( { ordered: false } ) }\n\t\t\t\t\tisActive={ ordered === false }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={\n\t\t\t\t\t\tisRTL() ? formatListNumberedRTL : formatListNumbered\n\t\t\t\t\t}\n\t\t\t\t\ttitle={ __( 'Ordered' ) }\n\t\t\t\t\tdescription={ __( 'Convert to ordered list' ) }\n\t\t\t\t\tonClick={ () => setAttributes( { ordered: true } ) }\n\t\t\t\t\tisActive={ ordered === true }\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t\t{ canInsertList && (\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\tcreateBlock( 'core/list', {\n\t\t\t\t\t\t\t\t\tordered,\n\t\t\t\t\t\t\t\t\tvalues: renderToString(\n\t\t\t\t\t\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\t\t\t\t\t\tnestedHeadingList={ headingTree }\n\t\t\t\t\t\t\t\t\t\t\tordered={ ordered }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Convert to static list' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</ToolbarGroup>\n\t\t\t) }\n\t\t</BlockControls>\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\tresetAll={ () => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tonlyIncludeCurrentPage: false,\n\t\t\t\t\t\tmaxLevel: undefined,\n\t\t\t\t\t\tordered: true,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! onlyIncludeCurrentPage }\n\t\t\t\t\tlabel={ __( 'Only include current page' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { onlyIncludeCurrentPage: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Only include current page' ) }\n\t\t\t\t\t\tchecked={ onlyIncludeCurrentPage }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { onlyIncludeCurrentPage: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\tonlyIncludeCurrentPage\n\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t'Only including headings from the current page (if the post is paginated).'\n\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\t\t'Include headings from all pages (if the post is paginated).'\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! maxLevel }\n\t\t\t\t\tlabel={ __( 'Limit heading levels' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { maxLevel: undefined } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Include headings down to level' ) }\n\t\t\t\t\t\tvalue={ maxLevel || '' }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'All levels' ) },\n\t\t\t\t\t\t\t{ value: '1', label: __( 'Heading 1' ) },\n\t\t\t\t\t\t\t{ value: '2', label: __( 'Heading 2' ) },\n\t\t\t\t\t\t\t{ value: '3', label: __( 'Heading 3' ) },\n\t\t\t\t\t\t\t{ value: '4', label: __( 'Heading 4' ) },\n\t\t\t\t\t\t\t{ value: '5', label: __( 'Heading 5' ) },\n\t\t\t\t\t\t\t{ value: '6', label: __( 'Heading 6' ) },\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tmaxLevel: value ? parseInt( value ) : undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t! maxLevel\n\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t'Including all heading levels in the table of contents.'\n\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\t\t'Only include headings up to and including this level.'\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n\n\t// If there are no headings or the only heading is empty.\n\t// Note that the toolbar controls are intentionally omitted since the\n\t// \"Convert to static list\" option is useless to the placeholder state.\n\tif ( headings.length === 0 ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\t\tlabel={ __( 'Table of Contents' ) }\n\t\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t\t'Start adding Heading blocks to create a table of contents. Headings with HTML anchors will be linked here.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{ inspectorControls }\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst ListTag = ordered ? 'ol' : 'ul';\n\n\treturn (\n\t\t<>\n\t\t\t<nav { ...blockProps }>\n\t\t\t\t<ListTag>\n\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\tnestedHeadingList={ headingTree }\n\t\t\t\t\t\tdisableLinkActivation\n\t\t\t\t\t\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t\tordered={ ordered }\n\t\t\t\t\t/>\n\t\t\t\t</ListTag>\n\t\t\t</nav>\n\t\t\t{ toolbarControls }\n\t\t\t{ inspectorControls }\n\t\t</>\n\t);\n}\n"],
5
- "mappings": "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",
6
- "names": ["import_hooks", "noticeStore", "blockEditorStore", "TableOfContentsList", "ToolsPanel", "ToolsPanelItem", "icon"]
4
+ "sourcesContent": ["import {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tPlaceholder,\n\tToggleControl,\n\tSelectControl,\n\tToolbarButton,\n\tToolbarGroup,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as noticeStore } from '@wordpress/notices';\nimport {\n\ttableOfContents as icon,\n\tformatListBullets,\n\tformatListBulletsRTL,\n\tformatListNumbered,\n\tformatListNumberedRTL,\n} from '@wordpress/icons';\nimport TableOfContentsList from './list';\nimport { createListItemBlocks, linearToNestedHeadingList } from './utils';\nimport { useObserveHeadings } from './hooks';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n/** @typedef {import('./utils').HeadingData} HeadingData */\n\nfunction TableOfContentsToolbar( {\n\tclientId,\n\theadingTree,\n\tordered,\n\tsetAttributes,\n} ) {\n\tconst canInsertList = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, canInsertBlockType } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\treturn canInsertBlockType( 'core/list', rootClientId );\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst [ isConfirmingDetach, setIsConfirmingDetach ] = useState( false );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\tisRTL() ? formatListBulletsRTL : formatListBullets\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttitle={ __( 'Unordered' ) }\n\t\t\t\t\t\tdescription={ __( 'Convert to unordered list' ) }\n\t\t\t\t\t\tonClick={ () => setAttributes( { ordered: false } ) }\n\t\t\t\t\t\tisActive={ ordered === false }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\tisRTL() ? formatListNumberedRTL : formatListNumbered\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttitle={ __( 'Ordered' ) }\n\t\t\t\t\t\tdescription={ __( 'Convert to ordered list' ) }\n\t\t\t\t\t\tonClick={ () => setAttributes( { ordered: true } ) }\n\t\t\t\t\t\tisActive={ ordered === true }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t\t{ canInsertList && (\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ () => setIsConfirmingDetach( true ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Detach' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isConfirmingDetach && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tisOpen\n\t\t\t\t\ttitle={ __( 'Detach Table of Contents' ) }\n\t\t\t\t\t__experimentalHideHeader={ false }\n\t\t\t\t\tconfirmButtonText={ __( 'Detach' ) }\n\t\t\t\t\tonConfirm={ () => {\n\t\t\t\t\t\tsetIsConfirmingDetach( false );\n\t\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t\t'core/list',\n\t\t\t\t\t\t\t\t{ ordered },\n\t\t\t\t\t\t\t\tcreateListItemBlocks( headingTree, ordered )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t\tonCancel={ () => setIsConfirmingDetach( false ) }\n\t\t\t\t\tsize=\"medium\"\n\t\t\t\t>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'The Table of Contents block lists the headings in the post. Detaching will enable you to edit, reorder, or remove entries. However, new headings will no longer be added automatically.'\n\t\t\t\t\t) }\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default function TableOfContentsEdit( {\n\tattributes: {\n\t\theadings = [],\n\t\tonlyIncludeCurrentPage,\n\t\tmaxLevel,\n\t\tordered = true,\n\t},\n\tclientId,\n\tsetAttributes,\n} ) {\n\tuseObserveHeadings( clientId );\n\n\tconst blockProps = useBlockProps();\n\tconst instanceId = useInstanceId(\n\t\tTableOfContentsEdit,\n\t\t'table-of-contents'\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\n\tconst { createWarningNotice } = useDispatch( noticeStore );\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: `block-library/core/table-of-contents/redirection-prevented/${ instanceId }`,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst headingTree = linearToNestedHeadingList( headings );\n\n\tconst toolbarControls = (\n\t\t<TableOfContentsToolbar\n\t\t\tclientId={ clientId }\n\t\t\theadingTree={ headingTree }\n\t\t\tordered={ ordered }\n\t\t\tsetAttributes={ setAttributes }\n\t\t/>\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\tresetAll={ () => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tonlyIncludeCurrentPage: false,\n\t\t\t\t\t\tmaxLevel: undefined,\n\t\t\t\t\t\tordered: true,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! onlyIncludeCurrentPage }\n\t\t\t\t\tlabel={ __( 'Only include current page' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { onlyIncludeCurrentPage: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Only include current page' ) }\n\t\t\t\t\t\tchecked={ onlyIncludeCurrentPage }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { onlyIncludeCurrentPage: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\tonlyIncludeCurrentPage\n\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t'Only including headings from the current page (if the post is paginated).'\n\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\t\t'Include headings from all pages (if the post is paginated).'\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! maxLevel }\n\t\t\t\t\tlabel={ __( 'Limit heading levels' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { maxLevel: undefined } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Include headings down to level' ) }\n\t\t\t\t\t\tvalue={ maxLevel || '' }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'All levels' ) },\n\t\t\t\t\t\t\t{ value: '1', label: __( 'Heading 1' ) },\n\t\t\t\t\t\t\t{ value: '2', label: __( 'Heading 2' ) },\n\t\t\t\t\t\t\t{ value: '3', label: __( 'Heading 3' ) },\n\t\t\t\t\t\t\t{ value: '4', label: __( 'Heading 4' ) },\n\t\t\t\t\t\t\t{ value: '5', label: __( 'Heading 5' ) },\n\t\t\t\t\t\t\t{ value: '6', label: __( 'Heading 6' ) },\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tmaxLevel: value ? parseInt( value ) : undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t! maxLevel\n\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t'Including all heading levels in the table of contents.'\n\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\t\t'Only include headings up to and including this level.'\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n\n\t// If there are no headings or the only heading is empty.\n\t// Note that the toolbar controls are intentionally omitted since the\n\t// \"Detach\" option is useless to the placeholder state.\n\tif ( headings.length === 0 ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\t\tlabel={ __( 'Table of Contents' ) }\n\t\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t\t'Start adding Heading blocks to create a table of contents. Headings with HTML anchors will be linked here.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{ inspectorControls }\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst ListTag = ordered ? 'ol' : 'ul';\n\n\treturn (\n\t\t<>\n\t\t\t<nav { ...blockProps }>\n\t\t\t\t<ListTag>\n\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\tnestedHeadingList={ headingTree }\n\t\t\t\t\t\tdisableLinkActivation\n\t\t\t\t\t\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t\tordered={ ordered }\n\t\t\t\t\t/>\n\t\t\t\t</ListTag>\n\t\t\t</nav>\n\t\t\t{ toolbarControls }\n\t\t\t{ inspectorControls }\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["import_hooks", "blockEditorStore", "ConfirmDialog", "noticeStore", "ToolsPanel", "ToolsPanelItem", "icon", "TableOfContentsList"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/table-of-contents/hooks.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6/index.js';\n\n/**\n * WordPress dependencies\n */\nimport { useRegistry } from '@wordpress/data';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { useEffect } from '@wordpress/element';\nimport { addQueryArgs, removeQueryArgs } from '@wordpress/url';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\nfunction getLatestHeadings( select, clientId ) {\n\tconst {\n\t\tgetBlockAttributes,\n\t\tgetBlockName,\n\t\tgetBlocksByName,\n\t\tgetClientIdsOfDescendants,\n\t} = select( blockEditorStore );\n\n\t// FIXME: @wordpress/block-library should not depend on @wordpress/editor.\n\t// Blocks can be loaded into a *non-post* block editor, so to avoid\n\t// declaring @wordpress/editor as a dependency, we must access its\n\t// store by string. When the store is not available, editorSelectors\n\t// will be null, and the block's saved markup will lack permalinks.\n\tconst permalink = select( 'core/editor' ).getPermalink() ?? null;\n\n\tconst isPaginated = getBlocksByName( 'core/nextpage' ).length !== 0;\n\tconst { onlyIncludeCurrentPage, maxLevel } =\n\t\tgetBlockAttributes( clientId ) ?? {};\n\n\t// Get post-content block client ID.\n\tconst [ postContentClientId = '' ] = getBlocksByName( 'core/post-content' );\n\n\t// Get the client ids of all blocks in the editor.\n\tconst allBlockClientIds = getClientIdsOfDescendants( postContentClientId );\n\n\t// If onlyIncludeCurrentPage is true, calculate the page (of a paginated post) this block is part of, so we know which headings to include; otherwise, skip the calculation.\n\tlet tocPage = 1;\n\n\tif ( isPaginated && onlyIncludeCurrentPage ) {\n\t\t// We can't use getBlockIndex because it only returns the index\n\t\t// relative to sibling blocks.\n\t\tconst tocIndex = allBlockClientIds.indexOf( clientId );\n\n\t\tfor ( const [\n\t\t\tblockIndex,\n\t\t\tblockClientId,\n\t\t] of allBlockClientIds.entries() ) {\n\t\t\t// If we've reached blocks after the Table of Contents, we've\n\t\t\t// finished calculating which page the block is on.\n\t\t\tif ( blockIndex >= tocIndex ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( getBlockName( blockClientId ) === 'core/nextpage' ) {\n\t\t\t\ttocPage++;\n\t\t\t}\n\t\t}\n\t}\n\n\tconst latestHeadings = [];\n\n\t/** The page (of a paginated post) a heading will be part of. */\n\tlet headingPage = 1;\n\tlet headingPageLink = null;\n\n\t// If the core/editor store is available, we can add permalinks to the\n\t// generated table of contents.\n\tif ( typeof permalink === 'string' ) {\n\t\theadingPageLink = isPaginated\n\t\t\t? addQueryArgs( permalink, { page: headingPage } )\n\t\t\t: permalink;\n\t}\n\n\tfor ( const blockClientId of allBlockClientIds ) {\n\t\tconst blockName = getBlockName( blockClientId );\n\t\tif ( blockName === 'core/nextpage' ) {\n\t\t\theadingPage++;\n\n\t\t\t// If we're only including headings from the current page (of\n\t\t\t// a paginated post), then exit the loop if we've reached the\n\t\t\t// pages after the one with the Table of Contents block.\n\t\t\tif ( onlyIncludeCurrentPage && headingPage > tocPage ) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif ( typeof permalink === 'string' ) {\n\t\t\t\theadingPageLink = addQueryArgs(\n\t\t\t\t\tremoveQueryArgs( permalink, [ 'page' ] ),\n\t\t\t\t\t{ page: headingPage }\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\t// If we're including all headings or we've reached headings on\n\t\t// the same page as the Table of Contents block, add them to the\n\t\t// list.\n\t\telse if ( ! onlyIncludeCurrentPage || headingPage === tocPage ) {\n\t\t\tif ( blockName === 'core/heading' ) {\n\t\t\t\tconst headingAttributes = getBlockAttributes( blockClientId );\n\n\t\t\t\t// Skip headings that are deeper than maxLevel\n\t\t\t\tif ( maxLevel && headingAttributes.level > maxLevel ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tconst canBeLinked =\n\t\t\t\t\ttypeof headingPageLink === 'string' &&\n\t\t\t\t\ttypeof headingAttributes.anchor === 'string' &&\n\t\t\t\t\theadingAttributes.anchor !== '';\n\n\t\t\t\tlatestHeadings.push( {\n\t\t\t\t\t// Convert line breaks to spaces, and get rid of HTML tags in the headings.\n\t\t\t\t\tcontent: stripHTML(\n\t\t\t\t\t\theadingAttributes.content.replace(\n\t\t\t\t\t\t\t/(<br *\\/?>)+/g,\n\t\t\t\t\t\t\t' '\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\tlevel: headingAttributes.level,\n\t\t\t\t\tlink: canBeLinked\n\t\t\t\t\t\t? `${ headingPageLink }#${ headingAttributes.anchor }`\n\t\t\t\t\t\t: null,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn latestHeadings;\n}\n\nfunction observeCallback( select, dispatch, clientId ) {\n\tconst { getBlockAttributes } = select( blockEditorStore );\n\tconst { updateBlockAttributes, __unstableMarkNextChangeAsNotPersistent } =\n\t\tdispatch( blockEditorStore );\n\n\t/**\n\t * If the block no longer exists in the store, skip the update.\n\t * The \"undo\" action recreates the block and provides a new `clientId`.\n\t * The hook still might be observing the changes while the old block unmounts.\n\t */\n\tconst attributes = getBlockAttributes( clientId );\n\tif ( attributes === null ) {\n\t\treturn;\n\t}\n\n\tconst headings = getLatestHeadings( select, clientId );\n\tif ( ! fastDeepEqual( headings, attributes.headings ) ) {\n\t\t// Executing the update in a microtask ensures that the non-persistent marker doesn't affect an attribute triggering the change.\n\t\twindow.queueMicrotask( () => {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( clientId, { headings } );\n\t\t} );\n\t}\n}\n\nexport function useObserveHeadings( clientId ) {\n\tconst registry = useRegistry();\n\tuseEffect( () => {\n\t\t// Todo: Limit subscription to block editor store when data no longer depends on `getPermalink`.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/45513\n\t\treturn registry.subscribe( () =>\n\t\t\tobserveCallback( registry.select, registry.dispatch, clientId )\n\t\t);\n\t}, [ registry, clientId ] );\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import fastDeepEqual from 'fast-deep-equal/es6/index.js';\nimport { useRegistry } from '@wordpress/data';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { useEffect } from '@wordpress/element';\nimport { addQueryArgs, removeQueryArgs } from '@wordpress/url';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\nfunction getLatestHeadings( select, clientId ) {\n\tconst {\n\t\tgetBlockAttributes,\n\t\tgetBlockName,\n\t\tgetBlocksByName,\n\t\tgetClientIdsOfDescendants,\n\t} = select( blockEditorStore );\n\n\t// FIXME: @wordpress/block-library should not depend on @wordpress/editor.\n\t// Blocks can be loaded into a *non-post* block editor, so to avoid\n\t// declaring @wordpress/editor as a dependency, we must access its\n\t// store by string. When the store is not available, editorSelectors\n\t// will be null, and the block's saved markup will lack permalinks.\n\tconst permalink = select( 'core/editor' ).getPermalink() ?? null;\n\n\tconst isPaginated = getBlocksByName( 'core/nextpage' ).length !== 0;\n\tconst { onlyIncludeCurrentPage, maxLevel } =\n\t\tgetBlockAttributes( clientId ) ?? {};\n\n\t// Get post-content block client ID.\n\tconst [ postContentClientId = '' ] = getBlocksByName( 'core/post-content' );\n\n\t// Get the client ids of all blocks in the editor.\n\tconst allBlockClientIds = getClientIdsOfDescendants( postContentClientId );\n\n\t// If onlyIncludeCurrentPage is true, calculate the page (of a paginated post) this block is part of, so we know which headings to include; otherwise, skip the calculation.\n\tlet tocPage = 1;\n\n\tif ( isPaginated && onlyIncludeCurrentPage ) {\n\t\t// We can't use getBlockIndex because it only returns the index\n\t\t// relative to sibling blocks.\n\t\tconst tocIndex = allBlockClientIds.indexOf( clientId );\n\n\t\tfor ( const [\n\t\t\tblockIndex,\n\t\t\tblockClientId,\n\t\t] of allBlockClientIds.entries() ) {\n\t\t\t// If we've reached blocks after the Table of Contents, we've\n\t\t\t// finished calculating which page the block is on.\n\t\t\tif ( blockIndex >= tocIndex ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( getBlockName( blockClientId ) === 'core/nextpage' ) {\n\t\t\t\ttocPage++;\n\t\t\t}\n\t\t}\n\t}\n\n\tconst latestHeadings = [];\n\n\t/** The page (of a paginated post) a heading will be part of. */\n\tlet headingPage = 1;\n\tlet headingPageLink = null;\n\n\t// If the core/editor store is available, we can add permalinks to the\n\t// generated table of contents.\n\tif ( typeof permalink === 'string' ) {\n\t\theadingPageLink = isPaginated\n\t\t\t? addQueryArgs( permalink, { page: headingPage } )\n\t\t\t: permalink;\n\t}\n\n\tfor ( const blockClientId of allBlockClientIds ) {\n\t\tconst blockName = getBlockName( blockClientId );\n\t\tif ( blockName === 'core/nextpage' ) {\n\t\t\theadingPage++;\n\n\t\t\t// If we're only including headings from the current page (of\n\t\t\t// a paginated post), then exit the loop if we've reached the\n\t\t\t// pages after the one with the Table of Contents block.\n\t\t\tif ( onlyIncludeCurrentPage && headingPage > tocPage ) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif ( typeof permalink === 'string' ) {\n\t\t\t\theadingPageLink = addQueryArgs(\n\t\t\t\t\tremoveQueryArgs( permalink, [ 'page' ] ),\n\t\t\t\t\t{ page: headingPage }\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\t// If we're including all headings or we've reached headings on\n\t\t// the same page as the Table of Contents block, add them to the\n\t\t// list.\n\t\telse if ( ! onlyIncludeCurrentPage || headingPage === tocPage ) {\n\t\t\tif ( blockName === 'core/heading' ) {\n\t\t\t\tconst headingAttributes = getBlockAttributes( blockClientId );\n\n\t\t\t\t// Skip headings that are deeper than maxLevel\n\t\t\t\tif ( maxLevel && headingAttributes.level > maxLevel ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tconst canBeLinked =\n\t\t\t\t\ttypeof headingPageLink === 'string' &&\n\t\t\t\t\ttypeof headingAttributes.anchor === 'string' &&\n\t\t\t\t\theadingAttributes.anchor !== '';\n\n\t\t\t\tlatestHeadings.push( {\n\t\t\t\t\t// Convert line breaks to spaces, and get rid of HTML tags in the headings.\n\t\t\t\t\tcontent: stripHTML(\n\t\t\t\t\t\theadingAttributes.content.replace(\n\t\t\t\t\t\t\t/(<br *\\/?>)+/g,\n\t\t\t\t\t\t\t' '\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\tlevel: headingAttributes.level,\n\t\t\t\t\tlink: canBeLinked\n\t\t\t\t\t\t? `${ headingPageLink }#${ headingAttributes.anchor }`\n\t\t\t\t\t\t: null,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn latestHeadings;\n}\n\nfunction observeCallback( select, dispatch, clientId ) {\n\tconst { getBlockAttributes } = select( blockEditorStore );\n\tconst { updateBlockAttributes, __unstableMarkNextChangeAsNotPersistent } =\n\t\tdispatch( blockEditorStore );\n\n\t/**\n\t * If the block no longer exists in the store, skip the update.\n\t * The \"undo\" action recreates the block and provides a new `clientId`.\n\t * The hook still might be observing the changes while the old block unmounts.\n\t */\n\tconst attributes = getBlockAttributes( clientId );\n\tif ( attributes === null ) {\n\t\treturn;\n\t}\n\n\tconst headings = getLatestHeadings( select, clientId );\n\tif ( ! fastDeepEqual( headings, attributes.headings ) ) {\n\t\t// Executing the update in a microtask ensures that the non-persistent marker doesn't affect an attribute triggering the change.\n\t\twindow.queueMicrotask( () => {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( clientId, { headings } );\n\t\t} );\n\t}\n}\n\nexport function useObserveHeadings( clientId ) {\n\tconst registry = useRegistry();\n\tuseEffect( () => {\n\t\t// Todo: Limit subscription to block editor store when data no longer depends on `getPermalink`.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/45513\n\t\treturn registry.subscribe( () =>\n\t\t\tobserveCallback( registry.select, registry.dispatch, clientId )\n\t\t);\n\t}, [ registry, clientId ] );\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAA0B;AAC1B,kBAA4B;AAC5B,iBAAiD;AACjD,qBAA0B;AAC1B,iBAA8C;AAC9C,0BAA0C;AAE1C,SAAS,kBAAmB,QAAQ,UAAW;AAC9C,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI,OAAQ,oBAAAA,KAAiB;AAO7B,QAAM,YAAY,OAAQ,aAAc,EAAE,aAAa,KAAK;AAE5D,QAAM,cAAc,gBAAiB,eAAgB,EAAE,WAAW;AAClE,QAAM,EAAE,wBAAwB,SAAS,IACxC,mBAAoB,QAAS,KAAK,CAAC;AAGpC,QAAM,CAAE,sBAAsB,EAAG,IAAI,gBAAiB,mBAAoB;AAG1E,QAAM,oBAAoB,0BAA2B,mBAAoB;AAGzE,MAAI,UAAU;AAEd,MAAK,eAAe,wBAAyB;AAG5C,UAAM,WAAW,kBAAkB,QAAS,QAAS;AAErD,eAAY;AAAA,MACX;AAAA,MACA;AAAA,IACD,KAAK,kBAAkB,QAAQ,GAAI;AAGlC,UAAK,cAAc,UAAW;AAC7B;AAAA,MACD;AACA,UAAK,aAAc,aAAc,MAAM,iBAAkB;AACxD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAEA,QAAM,iBAAiB,CAAC;AAGxB,MAAI,cAAc;AAClB,MAAI,kBAAkB;AAItB,MAAK,OAAO,cAAc,UAAW;AACpC,sBAAkB,kBACf,yBAAc,WAAW,EAAE,MAAM,YAAY,CAAE,IAC/C;AAAA,EACJ;AAEA,aAAY,iBAAiB,mBAAoB;AAChD,UAAM,YAAY,aAAc,aAAc;AAC9C,QAAK,cAAc,iBAAkB;AACpC;AAKA,UAAK,0BAA0B,cAAc,SAAU;AACtD;AAAA,MACD;AAEA,UAAK,OAAO,cAAc,UAAW;AACpC,8BAAkB;AAAA,cACjB,4BAAiB,WAAW,CAAE,MAAO,CAAE;AAAA,UACvC,EAAE,MAAM,YAAY;AAAA,QACrB;AAAA,MACD;AAAA,IACD,WAIU,CAAE,0BAA0B,gBAAgB,SAAU;AAC/D,UAAK,cAAc,gBAAiB;AACnC,cAAM,oBAAoB,mBAAoB,aAAc;AAG5D,YAAK,YAAY,kBAAkB,QAAQ,UAAW;AACrD;AAAA,QACD;AAEA,cAAM,cACL,OAAO,oBAAoB,YAC3B,OAAO,kBAAkB,WAAW,YACpC,kBAAkB,WAAW;AAE9B,uBAAe,KAAM;AAAA;AAAA,UAEpB,aAAS,WAAAC;AAAA,YACR,kBAAkB,QAAQ;AAAA,cACzB;AAAA,cACA;AAAA,YACD;AAAA,UACD;AAAA,UACA,OAAO,kBAAkB;AAAA,UACzB,MAAM,cACH,GAAI,eAAgB,IAAK,kBAAkB,MAAO,KAClD;AAAA,QACJ,CAAE;AAAA,MACH;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AACR;AAEA,SAAS,gBAAiB,QAAQ,UAAU,UAAW;AACtD,QAAM,EAAE,mBAAmB,IAAI,OAAQ,oBAAAD,KAAiB;AACxD,QAAM,EAAE,uBAAuB,wCAAwC,IACtE,SAAU,oBAAAA,KAAiB;AAO5B,QAAM,aAAa,mBAAoB,QAAS;AAChD,MAAK,eAAe,MAAO;AAC1B;AAAA,EACD;AAEA,QAAM,WAAW,kBAAmB,QAAQ,QAAS;AACrD,MAAK,KAAE,WAAAE,SAAe,UAAU,WAAW,QAAS,GAAI;AAEvD,WAAO,eAAgB,MAAM;AAC5B,8CAAwC;AACxC,4BAAuB,UAAU,EAAE,SAAS,CAAE;AAAA,IAC/C,CAAE;AAAA,EACH;AACD;AAEO,SAAS,mBAAoB,UAAW;AAC9C,QAAM,eAAW,yBAAY;AAC7B,gCAAW,MAAM;AAGhB,WAAO,SAAS;AAAA,MAAW,MAC1B,gBAAiB,SAAS,QAAQ,SAAS,UAAU,QAAS;AAAA,IAC/D;AAAA,EACD,GAAG,CAAE,UAAU,QAAS,CAAE;AAC3B;",
6
6
  "names": ["blockEditorStore", "stripHTML", "fastDeepEqual"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/table-of-contents/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { tableOfContents as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\texample: {\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/heading',\n\t\t\t\tattributes: {\n\t\t\t\t\tlevel: 2,\n\t\t\t\t\tcontent: __( 'Heading' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/heading',\n\t\t\t\tattributes: {\n\t\t\t\t\tlevel: 3,\n\t\t\t\t\tcontent: __( 'Subheading' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/heading',\n\t\t\t\tattributes: {\n\t\t\t\t\tlevel: 2,\n\t\t\t\t\tcontent: __( 'Heading' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/heading',\n\t\t\t\tattributes: {\n\t\t\t\t\tlevel: 3,\n\t\t\t\t\tcontent: __( 'Subheading' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tattributes: {\n\t\t\theadings: [\n\t\t\t\t{\n\t\t\t\t\tcontent: __( 'Heading' ),\n\t\t\t\t\tlevel: 2,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: __( 'Subheading' ),\n\t\t\t\t\tlevel: 3,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: __( 'Heading' ),\n\t\t\t\t\tlevel: 2,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: __( 'Subheading' ),\n\t\t\t\t\tlevel: 3,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,mBAAwC;AAKxC,wBAAsB;AACtB,mBAAqB;AACrB,kBAAiB;AACjB,kBAAiB;AAEjB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,SAAS;AAAA,IACR,aAAa;AAAA,MACZ;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,OAAO;AAAA,UACP,aAAS,gBAAI,SAAU;AAAA,QACxB;AAAA,MACD;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,OAAO;AAAA,UACP,aAAS,gBAAI,YAAa;AAAA,QAC3B;AAAA,MACD;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,OAAO;AAAA,UACP,aAAS,gBAAI,SAAU;AAAA,QACxB;AAAA,MACD;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,OAAO;AAAA,UACP,aAAS,gBAAI,YAAa;AAAA,QAC3B;AAAA,MACD;AAAA,IACD;AAAA,IACA,YAAY;AAAA,MACX,UAAU;AAAA,QACT;AAAA,UACC,aAAS,gBAAI,SAAU;AAAA,UACvB,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,aAAS,gBAAI,YAAa;AAAA,UAC1B,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,aAAS,gBAAI,SAAU;AAAA,UACvB,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,aAAS,gBAAI,YAAa;AAAA,UAC1B,OAAO;AAAA,QACR;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
4
+ "sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport { tableOfContents as icon } from '@wordpress/icons';\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\texample: {\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/heading',\n\t\t\t\tattributes: {\n\t\t\t\t\tlevel: 2,\n\t\t\t\t\tcontent: __( 'Heading' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/heading',\n\t\t\t\tattributes: {\n\t\t\t\t\tlevel: 3,\n\t\t\t\t\tcontent: __( 'Subheading' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/heading',\n\t\t\t\tattributes: {\n\t\t\t\t\tlevel: 2,\n\t\t\t\t\tcontent: __( 'Heading' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/heading',\n\t\t\t\tattributes: {\n\t\t\t\t\tlevel: 3,\n\t\t\t\t\tcontent: __( 'Subheading' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tattributes: {\n\t\t\theadings: [\n\t\t\t\t{\n\t\t\t\t\tcontent: __( 'Heading' ),\n\t\t\t\t\tlevel: 2,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: __( 'Subheading' ),\n\t\t\t\t\tlevel: 3,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: __( 'Heading' ),\n\t\t\t\t\tlevel: 2,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: __( 'Subheading' ),\n\t\t\t\t\tlevel: 3,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,kBAAmB;AACnB,mBAAwC;AACxC,wBAAsB;AACtB,mBAAqB;AACrB,kBAAiB;AACjB,kBAAiB;AAEjB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,SAAS;AAAA,IACR,aAAa;AAAA,MACZ;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,OAAO;AAAA,UACP,aAAS,gBAAI,SAAU;AAAA,QACxB;AAAA,MACD;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,OAAO;AAAA,UACP,aAAS,gBAAI,YAAa;AAAA,QAC3B;AAAA,MACD;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,OAAO;AAAA,UACP,aAAS,gBAAI,SAAU;AAAA,QACxB;AAAA,MACD;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,OAAO;AAAA,UACP,aAAS,gBAAI,YAAa;AAAA,QAC3B;AAAA,MACD;AAAA,IACD;AAAA,IACA,YAAY;AAAA,MACX,UAAU;AAAA,QACT;AAAA,UACC,aAAS,gBAAI,SAAU;AAAA,UACvB,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,aAAS,gBAAI,YAAa;AAAA,UAC1B,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,aAAS,gBAAI,SAAU;AAAA,UACvB,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,aAAS,gBAAI,YAAa;AAAA,UAC1B,OAAO;AAAA,QACR;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
6
6
  "names": ["metadata", "icon", "edit", "save", "initBlock", "metadata"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/table-of-contents/init.js"],
4
- "sourcesContent": ["/**\n * Internal dependencies\n */\nimport { init } from './';\n\nexport default init();\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,eAAqB;AAErB,IAAO,mBAAQ,eAAK;",
4
+ "sourcesContent": ["import { init } from './';\n\nexport default init();\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAAqB;AAErB,IAAO,mBAAQ,eAAK;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/table-of-contents/list.tsx"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport type { MouseEvent, ReactElement } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { NestedHeadingData } from './utils';\n\nconst ENTRY_CLASS_NAME = 'wp-block-table-of-contents__entry';\n\nexport default function TableOfContentsList( {\n\tnestedHeadingList,\n\tdisableLinkActivation,\n\tonClick,\n\tordered = true,\n}: {\n\tnestedHeadingList: NestedHeadingData[];\n\tdisableLinkActivation?: boolean;\n\tonClick?: ( event: MouseEvent< HTMLAnchorElement > ) => void;\n\tordered?: boolean;\n} ): ReactElement {\n\treturn (\n\t\t<>\n\t\t\t{ nestedHeadingList.map( ( node, index ) => {\n\t\t\t\tconst { content, link } = node.heading;\n\n\t\t\t\tconst entry = link ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ ENTRY_CLASS_NAME }\n\t\t\t\t\t\thref={ link }\n\t\t\t\t\t\taria-disabled={ disableLinkActivation || undefined }\n\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\tdisableLinkActivation &&\n\t\t\t\t\t\t\t'function' === typeof onClick\n\t\t\t\t\t\t\t\t? onClick\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ content }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\t<span className={ ENTRY_CLASS_NAME }>{ content }</span>\n\t\t\t\t);\n\n\t\t\t\tconst NestedListTag = ordered ? 'ol' : 'ul';\n\n\t\t\t\treturn (\n\t\t\t\t\t<li key={ index }>\n\t\t\t\t\t\t{ entry }\n\t\t\t\t\t\t{ node.children ? (\n\t\t\t\t\t\t\t<NestedListTag>\n\t\t\t\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\t\t\t\tnestedHeadingList={ node.children }\n\t\t\t\t\t\t\t\t\tdisableLinkActivation={\n\t\t\t\t\t\t\t\t\t\tdisableLinkActivation\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\tdisableLinkActivation &&\n\t\t\t\t\t\t\t\t\t\t'function' === typeof onClick\n\t\t\t\t\t\t\t\t\t\t\t? onClick\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tordered={ ordered }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</NestedListTag>\n\t\t\t\t\t\t) : null }\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAwBE;AAdF,IAAM,mBAAmB;AAEV,SAAR,oBAAsC;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AACX,GAKkB;AACjB,SACC,2EACG,4BAAkB,IAAK,CAAE,MAAM,UAAW;AAC3C,UAAM,EAAE,SAAS,KAAK,IAAI,KAAK;AAE/B,UAAM,QAAQ,OACb;AAAA,MAAC;AAAA;AAAA,QACA,WAAY;AAAA,QACZ,MAAO;AAAA,QACP,iBAAgB,yBAAyB;AAAA,QACzC,SACC,yBACA,eAAe,OAAO,UACnB,UACA;AAAA,QAGF;AAAA;AAAA,IACH,IAEA,4CAAC,UAAK,WAAY,kBAAqB,mBAAS;AAGjD,UAAM,gBAAgB,UAAU,OAAO;AAEvC,WACC,6CAAC,QACE;AAAA;AAAA,MACA,KAAK,WACN,4CAAC,iBACA;AAAA,QAAC;AAAA;AAAA,UACA,mBAAoB,KAAK;AAAA,UACzB;AAAA,UAGA,SACC,yBACA,eAAe,OAAO,UACnB,UACA;AAAA,UAEJ;AAAA;AAAA,MACD,GACD,IACG;AAAA,SAlBK,KAmBV;AAAA,EAEF,CAAE,GACH;AAEF;",
4
+ "sourcesContent": ["import type { MouseEvent, ReactElement } from 'react';\nimport type { NestedHeadingData } from './utils';\n\nconst ENTRY_CLASS_NAME = 'wp-block-table-of-contents__entry';\n\nexport default function TableOfContentsList( {\n\tnestedHeadingList,\n\tdisableLinkActivation,\n\tonClick,\n\tordered = true,\n}: {\n\tnestedHeadingList: NestedHeadingData[];\n\tdisableLinkActivation?: boolean;\n\tonClick?: ( event: MouseEvent< HTMLAnchorElement > ) => void;\n\tordered?: boolean;\n} ): ReactElement {\n\treturn (\n\t\t<>\n\t\t\t{ nestedHeadingList.map( ( node, index ) => {\n\t\t\t\tconst { content, link } = node.heading;\n\n\t\t\t\tconst entry = link ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ ENTRY_CLASS_NAME }\n\t\t\t\t\t\thref={ link }\n\t\t\t\t\t\taria-disabled={ disableLinkActivation || undefined }\n\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\tdisableLinkActivation &&\n\t\t\t\t\t\t\t'function' === typeof onClick\n\t\t\t\t\t\t\t\t? onClick\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ content }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\t<span className={ ENTRY_CLASS_NAME }>{ content }</span>\n\t\t\t\t);\n\n\t\t\t\tconst NestedListTag = ordered ? 'ol' : 'ul';\n\n\t\t\t\treturn (\n\t\t\t\t\t<li key={ index }>\n\t\t\t\t\t\t{ entry }\n\t\t\t\t\t\t{ node.children ? (\n\t\t\t\t\t\t\t<NestedListTag>\n\t\t\t\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\t\t\t\tnestedHeadingList={ node.children }\n\t\t\t\t\t\t\t\t\tdisableLinkActivation={\n\t\t\t\t\t\t\t\t\t\tdisableLinkActivation\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\tdisableLinkActivation &&\n\t\t\t\t\t\t\t\t\t\t'function' === typeof onClick\n\t\t\t\t\t\t\t\t\t\t\t? onClick\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tordered={ ordered }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</NestedListTag>\n\t\t\t\t\t\t) : null }\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBE;AAdF,IAAM,mBAAmB;AAEV,SAAR,oBAAsC;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AACX,GAKkB;AACjB,SACC,2EACG,4BAAkB,IAAK,CAAE,MAAM,UAAW;AAC3C,UAAM,EAAE,SAAS,KAAK,IAAI,KAAK;AAE/B,UAAM,QAAQ,OACb;AAAA,MAAC;AAAA;AAAA,QACA,WAAY;AAAA,QACZ,MAAO;AAAA,QACP,iBAAgB,yBAAyB;AAAA,QACzC,SACC,yBACA,eAAe,OAAO,UACnB,UACA;AAAA,QAGF;AAAA;AAAA,IACH,IAEA,4CAAC,UAAK,WAAY,kBAAqB,mBAAS;AAGjD,UAAM,gBAAgB,UAAU,OAAO;AAEvC,WACC,6CAAC,QACE;AAAA;AAAA,MACA,KAAK,WACN,4CAAC,iBACA;AAAA,QAAC;AAAA;AAAA,UACA,mBAAoB,KAAK;AAAA,UACzB;AAAA,UAGA,SACC,yBACA,eAAe,OAAO,UACnB,UACA;AAAA,UAEJ;AAAA;AAAA,MACD,GACD,IACG;AAAA,SAlBK,KAmBV;AAAA,EAEF,CAAE,GACH;AAEF;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/table-of-contents/save.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useBlockProps } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport TableOfContentsList from './list';\nimport { linearToNestedHeadingList } from './utils';\n\nexport default function save( {\n\tattributes: { headings = [], ordered = true },\n} ) {\n\tif ( headings.length === 0 ) {\n\t\treturn null;\n\t}\n\tconst ListTag = ordered ? 'ol' : 'ul';\n\treturn (\n\t\t<nav { ...useBlockProps.save() }>\n\t\t\t<ListTag>\n\t\t\t\t<TableOfContentsList\n\t\t\t\t\tnestedHeadingList={ linearToNestedHeadingList( headings ) }\n\t\t\t\t\tordered={ ordered }\n\t\t\t\t/>\n\t\t\t</ListTag>\n\t\t</nav>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAA8B;AAK9B,kBAAgC;AAChC,mBAA0C;AAYtC;AAVW,SAAR,KAAuB;AAAA,EAC7B,YAAY,EAAE,WAAW,CAAC,GAAG,UAAU,KAAK;AAC7C,GAAI;AACH,MAAK,SAAS,WAAW,GAAI;AAC5B,WAAO;AAAA,EACR;AACA,QAAM,UAAU,UAAU,OAAO;AACjC,SACC,4CAAC,SAAM,GAAG,kCAAc,KAAK,GAC5B,sDAAC,WACA;AAAA,IAAC,YAAAA;AAAA,IAAA;AAAA,MACA,uBAAoB,wCAA2B,QAAS;AAAA,MACxD;AAAA;AAAA,EACD,GACD,GACD;AAEF;",
4
+ "sourcesContent": ["import { useBlockProps } from '@wordpress/block-editor';\nimport TableOfContentsList from './list';\nimport { linearToNestedHeadingList } from './utils';\n\nexport default function save( {\n\tattributes: { headings = [], ordered = true },\n} ) {\n\tif ( headings.length === 0 ) {\n\t\treturn null;\n\t}\n\tconst ListTag = ordered ? 'ol' : 'ul';\n\treturn (\n\t\t<nav { ...useBlockProps.save() }>\n\t\t\t<ListTag>\n\t\t\t\t<TableOfContentsList\n\t\t\t\t\tnestedHeadingList={ linearToNestedHeadingList( headings ) }\n\t\t\t\t\tordered={ ordered }\n\t\t\t\t/>\n\t\t\t</ListTag>\n\t\t</nav>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA8B;AAC9B,kBAAgC;AAChC,mBAA0C;AAYtC;AAVW,SAAR,KAAuB;AAAA,EAC7B,YAAY,EAAE,WAAW,CAAC,GAAG,UAAU,KAAK;AAC7C,GAAI;AACH,MAAK,SAAS,WAAW,GAAI;AAC5B,WAAO;AAAA,EACR;AACA,QAAM,UAAU,UAAU,OAAO;AACjC,SACC,4CAAC,SAAM,GAAG,kCAAc,KAAK,GAC5B,sDAAC,WACA;AAAA,IAAC,YAAAA;AAAA,IAAA;AAAA,MACA,uBAAoB,wCAA2B,QAAS;AAAA,MACxD;AAAA;AAAA,EACD,GACD,GACD;AAEF;",
6
6
  "names": ["TableOfContentsList"]
7
7
  }
@@ -20,9 +20,12 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // packages/block-library/src/table-of-contents/utils.ts
21
21
  var utils_exports = {};
22
22
  __export(utils_exports, {
23
+ createListItemBlocks: () => createListItemBlocks,
23
24
  linearToNestedHeadingList: () => linearToNestedHeadingList
24
25
  });
25
26
  module.exports = __toCommonJS(utils_exports);
27
+ var import_blocks = require("@wordpress/blocks");
28
+ var import_escape_html = require("@wordpress/escape-html");
26
29
  function linearToNestedHeadingList(headingList) {
27
30
  const nestedHeadingList = [];
28
31
  headingList.forEach((heading, key) => {
@@ -54,8 +57,30 @@ function linearToNestedHeadingList(headingList) {
54
57
  });
55
58
  return nestedHeadingList;
56
59
  }
60
+ function createListItemBlocks(nestedHeadingList, ordered) {
61
+ return nestedHeadingList.map(
62
+ ({ heading: { content, link }, children }) => (0, import_blocks.createBlock)(
63
+ "core/list-item",
64
+ {
65
+ // Headings are plain text, and links can carry query args on
66
+ // paginated posts, so both need escaping to become markup.
67
+ content: link ? `<a href="${(0, import_escape_html.escapeAttribute)(
68
+ link
69
+ )}">${(0, import_escape_html.escapeEditableHTML)(content)}</a>` : (0, import_escape_html.escapeEditableHTML)(content)
70
+ },
71
+ children?.length ? [
72
+ (0, import_blocks.createBlock)(
73
+ "core/list",
74
+ { ordered },
75
+ createListItemBlocks(children, ordered)
76
+ )
77
+ ] : []
78
+ )
79
+ );
80
+ }
57
81
  // Annotate the CommonJS export names for ESM import in node:
58
82
  0 && (module.exports = {
83
+ createListItemBlocks,
59
84
  linearToNestedHeadingList
60
85
  });
61
86
  //# sourceMappingURL=utils.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/table-of-contents/utils.ts"],
4
- "sourcesContent": ["export interface HeadingData {\n\t/** The plain text content of the heading. */\n\tcontent: string;\n\t/** The heading level. */\n\tlevel: number;\n\t/** Link to the heading. */\n\tlink: string;\n}\n\nexport interface NestedHeadingData {\n\t/** The heading content, level, and link. */\n\theading: HeadingData;\n\t/** The sub-headings of this heading, if any. */\n\tchildren: NestedHeadingData[] | null;\n}\n\n/**\n * Takes a flat list of heading parameters and nests them based on each header's\n * immediate parent's level.\n *\n * @param headingList The flat list of headings to nest.\n *\n * @return The nested list of headings.\n */\nexport function linearToNestedHeadingList(\n\theadingList: HeadingData[]\n): NestedHeadingData[] {\n\tconst nestedHeadingList: NestedHeadingData[] = [];\n\n\theadingList.forEach( ( heading, key ) => {\n\t\tif ( heading.content === '' ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make sure we are only working with the same level as the first iteration in our set.\n\t\tif ( heading.level === headingList[ 0 ].level ) {\n\t\t\t// Check that the next iteration will return a value.\n\t\t\t// If it does and the next level is greater than the current level,\n\t\t\t// the next iteration becomes a child of the current iteration.\n\t\t\tif ( headingList[ key + 1 ]?.level > heading.level ) {\n\t\t\t\t// We must calculate the last index before the next iteration that\n\t\t\t\t// has the same level (siblings). We then use this index to slice\n\t\t\t\t// the array for use in recursion. This prevents duplicate nodes.\n\t\t\t\tlet endOfSlice = headingList.length;\n\t\t\t\tfor ( let i = key + 1; i < headingList.length; i++ ) {\n\t\t\t\t\tif ( headingList[ i ].level === heading.level ) {\n\t\t\t\t\t\tendOfSlice = i;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// We found a child node: Push a new node onto the return array\n\t\t\t\t// with children.\n\t\t\t\tnestedHeadingList.push( {\n\t\t\t\t\theading,\n\t\t\t\t\tchildren: linearToNestedHeadingList(\n\t\t\t\t\t\theadingList.slice( key + 1, endOfSlice )\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\t// No child node: Push a new node onto the return array.\n\t\t\t\tnestedHeadingList.push( {\n\t\t\t\t\theading,\n\t\t\t\t\tchildren: null,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t} );\n\n\treturn nestedHeadingList;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAwBO,SAAS,0BACf,aACsB;AACtB,QAAM,oBAAyC,CAAC;AAEhD,cAAY,QAAS,CAAE,SAAS,QAAS;AACxC,QAAK,QAAQ,YAAY,IAAK;AAC7B;AAAA,IACD;AAGA,QAAK,QAAQ,UAAU,YAAa,CAAE,EAAE,OAAQ;AAI/C,UAAK,YAAa,MAAM,CAAE,GAAG,QAAQ,QAAQ,OAAQ;AAIpD,YAAI,aAAa,YAAY;AAC7B,iBAAU,IAAI,MAAM,GAAG,IAAI,YAAY,QAAQ,KAAM;AACpD,cAAK,YAAa,CAAE,EAAE,UAAU,QAAQ,OAAQ;AAC/C,yBAAa;AACb;AAAA,UACD;AAAA,QACD;AAIA,0BAAkB,KAAM;AAAA,UACvB;AAAA,UACA,UAAU;AAAA,YACT,YAAY,MAAO,MAAM,GAAG,UAAW;AAAA,UACxC;AAAA,QACD,CAAE;AAAA,MACH,OAAO;AAEN,0BAAkB,KAAM;AAAA,UACvB;AAAA,UACA,UAAU;AAAA,QACX,CAAE;AAAA,MACH;AAAA,IACD;AAAA,EACD,CAAE;AAEF,SAAO;AACR;",
4
+ "sourcesContent": ["import { createBlock } from '@wordpress/blocks';\nimport type { Block } from '@wordpress/blocks';\nimport { escapeAttribute, escapeEditableHTML } from '@wordpress/escape-html';\n\nexport interface HeadingData {\n\t/** The plain text content of the heading. */\n\tcontent: string;\n\t/** The heading level. */\n\tlevel: number;\n\t/** Link to the heading. */\n\tlink: string;\n}\n\nexport interface NestedHeadingData {\n\t/** The heading content, level, and link. */\n\theading: HeadingData;\n\t/** The sub-headings of this heading, if any. */\n\tchildren: NestedHeadingData[] | null;\n}\n\n/**\n * Takes a flat list of heading parameters and nests them based on each header's\n * immediate parent's level.\n *\n * @param headingList The flat list of headings to nest.\n *\n * @return The nested list of headings.\n */\nexport function linearToNestedHeadingList(\n\theadingList: HeadingData[]\n): NestedHeadingData[] {\n\tconst nestedHeadingList: NestedHeadingData[] = [];\n\n\theadingList.forEach( ( heading, key ) => {\n\t\tif ( heading.content === '' ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make sure we are only working with the same level as the first iteration in our set.\n\t\tif ( heading.level === headingList[ 0 ].level ) {\n\t\t\t// Check that the next iteration will return a value.\n\t\t\t// If it does and the next level is greater than the current level,\n\t\t\t// the next iteration becomes a child of the current iteration.\n\t\t\tif ( headingList[ key + 1 ]?.level > heading.level ) {\n\t\t\t\t// We must calculate the last index before the next iteration that\n\t\t\t\t// has the same level (siblings). We then use this index to slice\n\t\t\t\t// the array for use in recursion. This prevents duplicate nodes.\n\t\t\t\tlet endOfSlice = headingList.length;\n\t\t\t\tfor ( let i = key + 1; i < headingList.length; i++ ) {\n\t\t\t\t\tif ( headingList[ i ].level === heading.level ) {\n\t\t\t\t\t\tendOfSlice = i;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// We found a child node: Push a new node onto the return array\n\t\t\t\t// with children.\n\t\t\t\tnestedHeadingList.push( {\n\t\t\t\t\theading,\n\t\t\t\t\tchildren: linearToNestedHeadingList(\n\t\t\t\t\t\theadingList.slice( key + 1, endOfSlice )\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\t// No child node: Push a new node onto the return array.\n\t\t\t\tnestedHeadingList.push( {\n\t\t\t\t\theading,\n\t\t\t\t\tchildren: null,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t} );\n\n\treturn nestedHeadingList;\n}\n\n/**\n * Converts a nested heading list into `core/list-item` blocks, with\n * sub-headings nested in a `core/list` block inside their parent item.\n *\n * @param nestedHeadingList The nested list of headings.\n * @param ordered Whether nested lists are ordered.\n *\n * @return The list item blocks.\n */\nexport function createListItemBlocks(\n\tnestedHeadingList: NestedHeadingData[],\n\tordered: boolean\n): Block[] {\n\treturn nestedHeadingList.map(\n\t\t( { heading: { content, link }, children } ) =>\n\t\t\tcreateBlock(\n\t\t\t\t'core/list-item',\n\t\t\t\t{\n\t\t\t\t\t// Headings are plain text, and links can carry query args on\n\t\t\t\t\t// paginated posts, so both need escaping to become markup.\n\t\t\t\t\tcontent: link\n\t\t\t\t\t\t? `<a href=\"${ escapeAttribute(\n\t\t\t\t\t\t\t\tlink\n\t\t\t\t\t\t ) }\">${ escapeEditableHTML( content ) }</a>`\n\t\t\t\t\t\t: escapeEditableHTML( content ),\n\t\t\t\t},\n\t\t\t\tchildren?.length\n\t\t\t\t\t? [\n\t\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t\t'core/list',\n\t\t\t\t\t\t\t\t{ ordered },\n\t\t\t\t\t\t\t\tcreateListItemBlocks( children, ordered )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t ]\n\t\t\t\t\t: []\n\t\t\t)\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA4B;AAE5B,yBAAoD;AA0B7C,SAAS,0BACf,aACsB;AACtB,QAAM,oBAAyC,CAAC;AAEhD,cAAY,QAAS,CAAE,SAAS,QAAS;AACxC,QAAK,QAAQ,YAAY,IAAK;AAC7B;AAAA,IACD;AAGA,QAAK,QAAQ,UAAU,YAAa,CAAE,EAAE,OAAQ;AAI/C,UAAK,YAAa,MAAM,CAAE,GAAG,QAAQ,QAAQ,OAAQ;AAIpD,YAAI,aAAa,YAAY;AAC7B,iBAAU,IAAI,MAAM,GAAG,IAAI,YAAY,QAAQ,KAAM;AACpD,cAAK,YAAa,CAAE,EAAE,UAAU,QAAQ,OAAQ;AAC/C,yBAAa;AACb;AAAA,UACD;AAAA,QACD;AAIA,0BAAkB,KAAM;AAAA,UACvB;AAAA,UACA,UAAU;AAAA,YACT,YAAY,MAAO,MAAM,GAAG,UAAW;AAAA,UACxC;AAAA,QACD,CAAE;AAAA,MACH,OAAO;AAEN,0BAAkB,KAAM;AAAA,UACvB;AAAA,UACA,UAAU;AAAA,QACX,CAAE;AAAA,MACH;AAAA,IACD;AAAA,EACD,CAAE;AAEF,SAAO;AACR;AAWO,SAAS,qBACf,mBACA,SACU;AACV,SAAO,kBAAkB;AAAA,IACxB,CAAE,EAAE,SAAS,EAAE,SAAS,KAAK,GAAG,SAAS,UACxC;AAAA,MACC;AAAA,MACA;AAAA;AAAA;AAAA,QAGC,SAAS,OACN,gBAAa;AAAA,UACb;AAAA,QACA,CAAE,SAAM,uCAAoB,OAAQ,CAAE,aACtC,uCAAoB,OAAQ;AAAA,MAChC;AAAA,MACA,UAAU,SACP;AAAA,YACA;AAAA,UACC;AAAA,UACA,EAAE,QAAQ;AAAA,UACV,qBAAsB,UAAU,OAAQ;AAAA,QACzC;AAAA,MACA,IACA,CAAC;AAAA,IACL;AAAA,EACF;AACD;",
6
6
  "names": []
7
7
  }
@@ -37,13 +37,11 @@ var import_block_editor = require("@wordpress/block-editor");
37
37
  var import_tab_toolbar_controls = __toESM(require("./tab-toolbar-controls.cjs"));
38
38
  var import_use_tab_list_items_sync = __toESM(require("./use-tab-list-items-sync.cjs"));
39
39
  var import_jsx_runtime = require("react/jsx-runtime");
40
- var TABS_TEMPLATE = [["core/tab-list"], ["core/tab-panels"]];
41
40
  function Edit({ clientId }) {
42
41
  (0, import_use_tab_list_items_sync.default)(clientId);
43
42
  const blockProps = (0, import_block_editor.useBlockProps)();
44
43
  const innerBlockProps = (0, import_block_editor.useInnerBlocksProps)(blockProps, {
45
44
  __experimentalCaptureToolbars: true,
46
- template: TABS_TEMPLATE,
47
45
  templateLock: "all",
48
46
  renderAppender: false
49
47
  });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/tabs/edit.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport TabToolbarControls from './tab-toolbar-controls';\nimport useTabListItemsSync from './use-tab-list-items-sync';\n\n/**\n * Only the two structural child blocks are specified here — without inner\n * block entries for core/tab-list or core/tab-panels.\n *\n * If inner blocks were included in this template, `synchronizeBlocksWithTemplate`\n * (called whenever templateLock === 'all') would recurse into the containers and\n * truncate them to the template count, causing data loss when a saved block with\n * more than two tabs is re-opened in the editor.\n *\n * Initial tab/panel creation is delegated to the tab-panels template in\n * tab-panels/edit.js (templateLock: false, applied only when empty).\n */\nconst TABS_TEMPLATE = [ [ 'core/tab-list' ], [ 'core/tab-panels' ] ];\n\nfunction Edit( { clientId } ) {\n\tuseTabListItemsSync( clientId );\n\n\tconst blockProps = useBlockProps();\n\n\tconst innerBlockProps = useInnerBlocksProps( blockProps, {\n\t\t__experimentalCaptureToolbars: true,\n\t\ttemplate: TABS_TEMPLATE,\n\t\ttemplateLock: 'all',\n\t\trenderAppender: false,\n\t} );\n\n\treturn (\n\t\t<div { ...innerBlockProps }>\n\t\t\t<TabToolbarControls tabsClientId={ clientId } />\n\t\t\t{ innerBlockProps.children }\n\t\t</div>\n\t);\n}\n\nexport default Edit;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAAmD;AAKnD,kCAA+B;AAC/B,qCAAgC;AA6B9B;AAfF,IAAM,gBAAgB,CAAE,CAAE,eAAgB,GAAG,CAAE,iBAAkB,CAAE;AAEnE,SAAS,KAAM,EAAE,SAAS,GAAI;AAC7B,qCAAAA,SAAqB,QAAS;AAE9B,QAAM,iBAAa,mCAAc;AAEjC,QAAM,sBAAkB,yCAAqB,YAAY;AAAA,IACxD,+BAA+B;AAAA,IAC/B,UAAU;AAAA,IACV,cAAc;AAAA,IACd,gBAAgB;AAAA,EACjB,CAAE;AAEF,SACC,6CAAC,SAAM,GAAG,iBACT;AAAA,gDAAC,4BAAAC,SAAA,EAAmB,cAAe,UAAW;AAAA,IAC5C,gBAAgB;AAAA,KACnB;AAEF;AAEA,IAAO,eAAQ;",
4
+ "sourcesContent": ["import { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\nimport TabToolbarControls from './tab-toolbar-controls';\nimport useTabListItemsSync from './use-tab-list-items-sync';\n\nfunction Edit( { clientId } ) {\n\tuseTabListItemsSync( clientId );\n\n\tconst blockProps = useBlockProps();\n\n\t// The template in the block type settings only specifies the two\n\t// structural child blocks, without inner block entries for\n\t// core/tab-list or core/tab-panels.\n\t//\n\t// If inner blocks were included in that template,\n\t// `synchronizeBlocksWithTemplate` (called whenever templateLock === 'all')\n\t// would recurse into the containers and truncate them to the template\n\t// count, causing data loss when a saved block with more than two tabs is\n\t// re-opened in the editor.\n\t//\n\t// Initial tab/panel creation is delegated to the tab-panels template\n\t// (templateLock: false, applied only when empty).\n\tconst innerBlockProps = useInnerBlocksProps( blockProps, {\n\t\t__experimentalCaptureToolbars: true,\n\t\ttemplateLock: 'all',\n\t\trenderAppender: false,\n\t} );\n\n\treturn (\n\t\t<div { ...innerBlockProps }>\n\t\t\t<TabToolbarControls tabsClientId={ clientId } />\n\t\t\t{ innerBlockProps.children }\n\t\t</div>\n\t);\n}\n\nexport default Edit;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAmD;AACnD,kCAA+B;AAC/B,qCAAgC;AA0B9B;AAxBF,SAAS,KAAM,EAAE,SAAS,GAAI;AAC7B,qCAAAA,SAAqB,QAAS;AAE9B,QAAM,iBAAa,mCAAc;AAcjC,QAAM,sBAAkB,yCAAqB,YAAY;AAAA,IACxD,+BAA+B;AAAA,IAC/B,cAAc;AAAA,IACd,gBAAgB;AAAA,EACjB,CAAE;AAEF,SACC,6CAAC,SAAM,GAAG,iBACT;AAAA,gDAAC,4BAAAC,SAAA,EAAmB,cAAe,UAAW;AAAA,IAC5C,gBAAgB;AAAA,KACnB;AAEF;AAEA,IAAO,eAAQ;",
6
6
  "names": ["useTabListItemsSync", "TabToolbarControls"]
7
7
  }
@@ -43,6 +43,7 @@ var import_edit = __toESM(require("./edit.cjs"));
43
43
  var import_save = __toESM(require("./save.cjs"));
44
44
  var import_block = __toESM(require("./block.json"));
45
45
  var { name } = import_block.default;
46
+ var TEMPLATE = [["core/tab-list"], ["core/tab-panels"]];
46
47
  var settings = {
47
48
  icon: import_icons.tabs,
48
49
  example: {
@@ -82,6 +83,8 @@ var settings = {
82
83
  }
83
84
  ]
84
85
  },
86
+ // Initial tab/panel creation is delegated to the tab-panels template, applied when its inner blocks are empty.
87
+ template: TEMPLATE,
85
88
  edit: import_edit.default,
86
89
  save: import_save.default
87
90
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/tabs/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { tabs as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport edit from './edit';\nimport save from './save';\nimport metadata from './block.json';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/tab-list',\n\t\t\t\tattributes: {\n\t\t\t\t\ttabs: [\n\t\t\t\t\t\t{ label: __( 'Tab 1' ) },\n\t\t\t\t\t\t{ label: __( 'Tab 2' ) },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/tab-panels',\n\t\t\t\tinnerBlocks: [ 1, 2 ].map( ( index ) => ( {\n\t\t\t\t\tname: 'core/tab-panel',\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\tanchor: `tab-${ index }`,\n\t\t\t\t\t\tlabel: sprintf(\n\t\t\t\t\t\t\t/** translators: %s: tab index number */\n\t\t\t\t\t\t\t__( 'Tab %s' ),\n\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t\tinnerBlocks: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t\t'In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing.'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t} ) ),\n\t\t\t},\n\t\t],\n\t},\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,kBAA4B;AAC5B,mBAA6B;AAK7B,wBAAsB;AACtB,kBAAiB;AACjB,kBAAiB;AACjB,mBAAqB;AAErB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAC;AAAA,EACA,SAAS;AAAA,IACR,aAAa;AAAA,MACZ;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,MAAM;AAAA,YACL,EAAE,WAAO,gBAAI,OAAQ,EAAE;AAAA,YACvB,EAAE,WAAO,gBAAI,OAAQ,EAAE;AAAA,UACxB;AAAA,QACD;AAAA,MACD;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,aAAa,CAAE,GAAG,CAAE,EAAE,IAAK,CAAE,WAAa;AAAA,UACzC,MAAM;AAAA,UACN,YAAY;AAAA,YACX,QAAQ,OAAQ,KAAM;AAAA,YACtB,WAAO;AAAA;AAAA,kBAEN,gBAAI,QAAS;AAAA,cACb;AAAA,YACD;AAAA,UACD;AAAA,UACA,aAAa;AAAA,YACZ;AAAA,cACC,MAAM;AAAA,cACN,YAAY;AAAA,gBACX,aAAS;AAAA,kBACR;AAAA,gBACD;AAAA,cACD;AAAA,YACD;AAAA,UACD;AAAA,QACD,EAAI;AAAA,MACL;AAAA,IACD;AAAA,EACD;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
4
+ "sourcesContent": ["import { __, sprintf } from '@wordpress/i18n';\nimport { tabs as icon } from '@wordpress/icons';\nimport initBlock from '../utils/init-block';\nimport edit from './edit';\nimport save from './save';\nimport metadata from './block.json';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nconst TEMPLATE = [ [ 'core/tab-list' ], [ 'core/tab-panels' ] ];\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/tab-list',\n\t\t\t\tattributes: {\n\t\t\t\t\ttabs: [\n\t\t\t\t\t\t{ label: __( 'Tab 1' ) },\n\t\t\t\t\t\t{ label: __( 'Tab 2' ) },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/tab-panels',\n\t\t\t\tinnerBlocks: [ 1, 2 ].map( ( index ) => ( {\n\t\t\t\t\tname: 'core/tab-panel',\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\tanchor: `tab-${ index }`,\n\t\t\t\t\t\tlabel: sprintf(\n\t\t\t\t\t\t\t/** translators: %s: tab index number */\n\t\t\t\t\t\t\t__( 'Tab %s' ),\n\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t\tinnerBlocks: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t\t'In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing.'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t} ) ),\n\t\t\t},\n\t\t],\n\t},\n\t// Initial tab/panel creation is delegated to the tab-panels template, applied when its inner blocks are empty.\n\ttemplate: TEMPLATE,\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,kBAA4B;AAC5B,mBAA6B;AAC7B,wBAAsB;AACtB,kBAAiB;AACjB,kBAAiB;AACjB,mBAAqB;AAErB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAIjB,IAAM,WAAW,CAAE,CAAE,eAAgB,GAAG,CAAE,iBAAkB,CAAE;AAEvD,IAAM,WAAW;AAAA,EACvB,mBAAAC;AAAA,EACA,SAAS;AAAA,IACR,aAAa;AAAA,MACZ;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,MAAM;AAAA,YACL,EAAE,WAAO,gBAAI,OAAQ,EAAE;AAAA,YACvB,EAAE,WAAO,gBAAI,OAAQ,EAAE;AAAA,UACxB;AAAA,QACD;AAAA,MACD;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,aAAa,CAAE,GAAG,CAAE,EAAE,IAAK,CAAE,WAAa;AAAA,UACzC,MAAM;AAAA,UACN,YAAY;AAAA,YACX,QAAQ,OAAQ,KAAM;AAAA,YACtB,WAAO;AAAA;AAAA,kBAEN,gBAAI,QAAS;AAAA,cACb;AAAA,YACD;AAAA,UACD;AAAA,UACA,aAAa;AAAA,YACZ;AAAA,cACC,MAAM;AAAA,cACN,YAAY;AAAA,gBACX,aAAS;AAAA,kBACR;AAAA,gBACD;AAAA,cACD;AAAA,YACD;AAAA,UACD;AAAA,QACD,EAAI;AAAA,MACL;AAAA,IACD;AAAA,EACD;AAAA;AAAA,EAEA,UAAU;AAAA,EACV,kBAAAC;AAAA,EACA,kBAAAC;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
6
6
  "names": ["metadata", "icon", "edit", "save", "initBlock", "metadata"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/tabs/init.js"],
4
- "sourcesContent": ["/**\n * Internal dependencies\n */\nimport { init } from './';\n\nexport default init();\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,eAAqB;AAErB,IAAO,mBAAQ,eAAK;",
4
+ "sourcesContent": ["import { init } from './';\n\nexport default init();\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAAqB;AAErB,IAAO,mBAAQ,eAAK;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/tabs/save.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\n\nexport default function save() {\n\tconst blockProps = useBlockProps.save();\n\tconst innerBlocksProps = useInnerBlocksProps.save( blockProps );\n\n\treturn <div { ...innerBlocksProps } />;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAAmD;AAM3C;AAJO,SAAR,OAAwB;AAC9B,QAAM,aAAa,kCAAc,KAAK;AACtC,QAAM,mBAAmB,wCAAoB,KAAM,UAAW;AAE9D,SAAO,4CAAC,SAAM,GAAG,kBAAmB;AACrC;",
4
+ "sourcesContent": ["import { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\n\nexport default function save() {\n\tconst blockProps = useBlockProps.save();\n\tconst innerBlocksProps = useInnerBlocksProps.save( blockProps );\n\n\treturn <div { ...innerBlocksProps } />;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAmD;AAM3C;AAJO,SAAR,OAAwB;AAC9B,QAAM,aAAa,kCAAc,KAAK;AACtC,QAAM,mBAAmB,wCAAoB,KAAM,UAAW;AAE9D,SAAO,4CAAC,SAAM,GAAG,kBAAmB;AACrC;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/tabs/tab-toolbar-controls.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { ToolbarGroup, ToolbarButton } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport useTabActions from './use-tab-actions';\n\n/**\n * \"Add tab\" and \"Remove tab\" buttons in the block toolbar for the tabs block.\n * Inserts or removes a core/tab-panel. The tab-list items attribute is kept\n * in sync automatically via useTabListItemsSync.\n *\n * @param {Object} props\n * @param {string} props.tabsClientId The client ID of the parent tabs block.\n * @return {React.JSX.Element} The toolbar control element.\n */\nexport default function TabToolbarControls( { tabsClientId } ) {\n\tconst { insertTab, removeTab } = useTabActions( tabsClientId );\n\tconst isRemoveDisabled = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! tabsClientId ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tconst tabPanels = select( blockEditorStore )\n\t\t\t\t.getBlocks( tabsClientId )\n\t\t\t\t.find( ( block ) => block.name === 'core/tab-panels' );\n\t\t\treturn ( tabPanels?.innerBlocks.length ?? 0 ) <= 1;\n\t\t},\n\t\t[ tabsClientId ]\n\t);\n\n\treturn (\n\t\t<BlockControls group=\"other\">\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tclassName=\"components-toolbar__control\"\n\t\t\t\t\tonClick={ () => insertTab() }\n\t\t\t\t\ttext={ __( 'Add tab' ) }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tclassName=\"components-toolbar__control\"\n\t\t\t\t\tonClick={ () => removeTab() }\n\t\t\t\t\ttext={ __( 'Remove tab' ) }\n\t\t\t\t\tdisabled={ isRemoveDisabled }\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,0BAGO;AACP,wBAA4C;AAC5C,kBAA0B;AAK1B,6BAA0B;AA4BvB;AAjBY,SAAR,mBAAqC,EAAE,aAAa,GAAI;AAC9D,QAAM,EAAE,WAAW,UAAU,QAAI,uBAAAA,SAAe,YAAa;AAC7D,QAAM,uBAAmB;AAAA,IACxB,CAAE,WAAY;AACb,UAAK,CAAE,cAAe;AACrB,eAAO;AAAA,MACR;AACA,YAAM,YAAY,OAAQ,oBAAAC,KAAiB,EACzC,UAAW,YAAa,EACxB,KAAM,CAAE,UAAW,MAAM,SAAS,iBAAkB;AACtD,cAAS,WAAW,YAAY,UAAU,MAAO;AAAA,IAClD;AAAA,IACA,CAAE,YAAa;AAAA,EAChB;AAEA,SACC,4CAAC,qCAAc,OAAM,SACpB,uDAAC,kCACA;AAAA;AAAA,MAAC;AAAA;AAAA,QACA,WAAU;AAAA,QACV,SAAU,MAAM,UAAU;AAAA,QAC1B,UAAO,gBAAI,SAAU;AAAA;AAAA,IACtB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACA,WAAU;AAAA,QACV,SAAU,MAAM,UAAU;AAAA,QAC1B,UAAO,gBAAI,YAAa;AAAA,QACxB,UAAW;AAAA;AAAA,IACZ;AAAA,KACD,GACD;AAEF;",
4
+ "sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { ToolbarGroup, ToolbarButton } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport useTabActions from './use-tab-actions';\n\n/**\n * \"Add tab\" and \"Remove tab\" buttons in the block toolbar for the tabs block.\n * Inserts or removes a core/tab-panel. The tab-list items attribute is kept\n * in sync automatically via useTabListItemsSync.\n *\n * @param {Object} props\n * @param {string} props.tabsClientId The client ID of the parent tabs block.\n * @return {React.JSX.Element} The toolbar control element.\n */\nexport default function TabToolbarControls( { tabsClientId } ) {\n\tconst { insertTab, removeTab } = useTabActions( tabsClientId );\n\tconst isRemoveDisabled = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! tabsClientId ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tconst tabPanels = select( blockEditorStore )\n\t\t\t\t.getBlocks( tabsClientId )\n\t\t\t\t.find( ( block ) => block.name === 'core/tab-panels' );\n\t\t\treturn ( tabPanels?.innerBlocks.length ?? 0 ) <= 1;\n\t\t},\n\t\t[ tabsClientId ]\n\t);\n\n\treturn (\n\t\t<BlockControls group=\"other\">\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tclassName=\"components-toolbar__control\"\n\t\t\t\t\tonClick={ () => insertTab() }\n\t\t\t\t\ttext={ __( 'Add tab' ) }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tclassName=\"components-toolbar__control\"\n\t\t\t\t\tonClick={ () => removeTab() }\n\t\t\t\t\ttext={ __( 'Remove tab' ) }\n\t\t\t\t\tdisabled={ isRemoveDisabled }\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAmB;AACnB,0BAGO;AACP,wBAA4C;AAC5C,kBAA0B;AAC1B,6BAA0B;AA4BvB;AAjBY,SAAR,mBAAqC,EAAE,aAAa,GAAI;AAC9D,QAAM,EAAE,WAAW,UAAU,QAAI,uBAAAA,SAAe,YAAa;AAC7D,QAAM,uBAAmB;AAAA,IACxB,CAAE,WAAY;AACb,UAAK,CAAE,cAAe;AACrB,eAAO;AAAA,MACR;AACA,YAAM,YAAY,OAAQ,oBAAAC,KAAiB,EACzC,UAAW,YAAa,EACxB,KAAM,CAAE,UAAW,MAAM,SAAS,iBAAkB;AACtD,cAAS,WAAW,YAAY,UAAU,MAAO;AAAA,IAClD;AAAA,IACA,CAAE,YAAa;AAAA,EAChB;AAEA,SACC,4CAAC,qCAAc,OAAM,SACpB,uDAAC,kCACA;AAAA;AAAA,MAAC;AAAA;AAAA,QACA,WAAU;AAAA,QACV,SAAU,MAAM,UAAU;AAAA,QAC1B,UAAO,gBAAI,SAAU;AAAA;AAAA,IACtB;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACA,WAAU;AAAA,QACV,SAAU,MAAM,UAAU;AAAA,QAC1B,UAAO,gBAAI,YAAa;AAAA,QACxB,UAAW;AAAA;AAAA,IACZ;AAAA,KACD,GACD;AAEF;",
6
6
  "names": ["useTabActions", "blockEditorStore"]
7
7
  }
@@ -23,7 +23,6 @@ __export(use_tab_actions_exports, {
23
23
  default: () => useTabActions
24
24
  });
25
25
  module.exports = __toCommonJS(use_tab_actions_exports);
26
- var import_i18n = require("@wordpress/i18n");
27
26
  var import_blocks = require("@wordpress/blocks");
28
27
  var import_block_editor = require("@wordpress/block-editor");
29
28
  var import_data = require("@wordpress/data");
@@ -32,6 +31,7 @@ function useTabActions(tabsClientId) {
32
31
  const {
33
32
  insertBlock,
34
33
  removeBlock,
34
+ moveBlocksToPosition,
35
35
  updateBlockAttributes,
36
36
  __unstableMarkNextChangeAsNotPersistent
37
37
  } = (0, import_data.useDispatch)(import_block_editor.store);
@@ -54,7 +54,7 @@ function useTabActions(tabsClientId) {
54
54
  }
55
55
  const newIndex = atIndex ?? tabPanelBlocks.length;
56
56
  insertBlock(
57
- (0, import_blocks.createBlock)("core/tab-panel", { label: (0, import_i18n.__)("Tab") }),
57
+ (0, import_blocks.createBlock)("core/tab-panel"),
58
58
  newIndex,
59
59
  tabPanelsClientId,
60
60
  false
@@ -82,6 +82,27 @@ function useTabActions(tabsClientId) {
82
82
  });
83
83
  removeBlock(target.clientId, false);
84
84
  };
85
- return { insertTab, removeTab };
85
+ const moveTab = (direction) => {
86
+ const { tabPanelsClientId, tabPanelBlocks, activeIndex } = getTabsState();
87
+ if (!tabPanelsClientId) {
88
+ return;
89
+ }
90
+ const toIndex = activeIndex + direction;
91
+ const target = tabPanelBlocks[activeIndex];
92
+ if (!target || toIndex < 0 || toIndex >= tabPanelBlocks.length) {
93
+ return;
94
+ }
95
+ __unstableMarkNextChangeAsNotPersistent();
96
+ updateBlockAttributes(tabsClientId, {
97
+ editorActiveTabIndex: toIndex
98
+ });
99
+ moveBlocksToPosition(
100
+ [target.clientId],
101
+ tabPanelsClientId,
102
+ tabPanelsClientId,
103
+ toIndex
104
+ );
105
+ };
106
+ return { insertTab, removeTab, moveTab };
86
107
  }
87
108
  //# sourceMappingURL=use-tab-actions.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/tabs/use-tab-actions.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { createBlock } from '@wordpress/blocks';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useDispatch, useRegistry } from '@wordpress/data';\n\n/**\n * Provides callbacks to insert and remove tabs for a tabs block.\n *\n * The hook intentionally avoids subscribing to the store: all data is derived\n * lazily inside the callbacks via `registry.select`, so consumers don't\n * re-render when the tab structure changes.\n *\n * @param {string|null} tabsClientId The client ID of the parent tabs block.\n * @return {{ insertTab: Function, removeTab: Function }} Tab action callbacks.\n */\nexport default function useTabActions( tabsClientId ) {\n\tconst registry = useRegistry();\n\tconst {\n\t\tinsertBlock,\n\t\tremoveBlock,\n\t\tupdateBlockAttributes,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\t// Derive the current tabs state at call time without subscribing.\n\tconst getTabsState = () => {\n\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\tregistry.select( blockEditorStore );\n\n\t\tconst tabsAttributes = tabsClientId\n\t\t\t? getBlockAttributes( tabsClientId )\n\t\t\t: undefined;\n\t\tconst tabPanels = tabsClientId\n\t\t\t? getBlocks( tabsClientId ).find(\n\t\t\t\t\t( block ) => block.name === 'core/tab-panels'\n\t\t\t )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\ttabPanelsClientId: tabPanels?.clientId ?? null,\n\t\t\ttabPanelBlocks: tabPanels?.innerBlocks ?? [],\n\t\t\tactiveIndex:\n\t\t\t\ttabsAttributes?.editorActiveTabIndex ??\n\t\t\t\ttabsAttributes?.activeTabIndex ??\n\t\t\t\t0,\n\t\t};\n\t};\n\n\t// Insert a new tab and make it active. Defaults to appending at the end.\n\tconst insertTab = ( atIndex ) => {\n\t\tconst { tabPanelsClientId, tabPanelBlocks } = getTabsState();\n\t\tif ( ! tabPanelsClientId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst newIndex = atIndex ?? tabPanelBlocks.length;\n\t\tinsertBlock(\n\t\t\tcreateBlock( 'core/tab-panel', { label: __( 'Tab' ) } ),\n\t\t\tnewIndex,\n\t\t\ttabPanelsClientId,\n\t\t\tfalse\n\t\t);\n\n\t\t// Switch editor active tab to the new tab.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tupdateBlockAttributes( tabsClientId, {\n\t\t\teditorActiveTabIndex: newIndex,\n\t\t} );\n\t};\n\n\t// Remove a tab and move the active tab to an adjacent one. Defaults to the\n\t// currently active tab.\n\tconst removeTab = ( atIndex ) => {\n\t\tconst { tabPanelBlocks, activeIndex } = getTabsState();\n\t\tconst tabCount = tabPanelBlocks.length;\n\t\tif ( tabCount <= 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst removeIndex = atIndex ?? activeIndex;\n\t\tconst target = tabPanelBlocks[ removeIndex ];\n\t\tif ( ! target ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Calculate new active index after removal.\n\t\tconst newActiveIndex =\n\t\t\tremoveIndex >= tabCount - 1 ? tabCount - 2 : removeIndex;\n\n\t\t// Switch editor to the adjacent tab and remove the current one.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tupdateBlockAttributes( tabsClientId, {\n\t\t\teditorActiveTabIndex: newActiveIndex,\n\t\t} );\n\t\tremoveBlock( target.clientId, false );\n\t};\n\n\treturn { insertTab, removeTab };\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,oBAA4B;AAC5B,0BAA0C;AAC1C,kBAAyC;AAY1B,SAAR,cAAgC,cAAe;AACrD,QAAM,eAAW,yBAAY;AAC7B,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,QAAI,yBAAa,oBAAAA,KAAiB;AAGlC,QAAM,eAAe,MAAM;AAC1B,UAAM,EAAE,WAAW,mBAAmB,IACrC,SAAS,OAAQ,oBAAAA,KAAiB;AAEnC,UAAM,iBAAiB,eACpB,mBAAoB,YAAa,IACjC;AACH,UAAM,YAAY,eACf,UAAW,YAAa,EAAE;AAAA,MAC1B,CAAE,UAAW,MAAM,SAAS;AAAA,IAC5B,IACA;AAEH,WAAO;AAAA,MACN,mBAAmB,WAAW,YAAY;AAAA,MAC1C,gBAAgB,WAAW,eAAe,CAAC;AAAA,MAC3C,aACC,gBAAgB,wBAChB,gBAAgB,kBAChB;AAAA,IACF;AAAA,EACD;AAGA,QAAM,YAAY,CAAE,YAAa;AAChC,UAAM,EAAE,mBAAmB,eAAe,IAAI,aAAa;AAC3D,QAAK,CAAE,mBAAoB;AAC1B;AAAA,IACD;AAEA,UAAM,WAAW,WAAW,eAAe;AAC3C;AAAA,UACC,2BAAa,kBAAkB,EAAE,WAAO,gBAAI,KAAM,EAAE,CAAE;AAAA,MACtD;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAGA,4CAAwC;AACxC,0BAAuB,cAAc;AAAA,MACpC,sBAAsB;AAAA,IACvB,CAAE;AAAA,EACH;AAIA,QAAM,YAAY,CAAE,YAAa;AAChC,UAAM,EAAE,gBAAgB,YAAY,IAAI,aAAa;AACrD,UAAM,WAAW,eAAe;AAChC,QAAK,YAAY,GAAI;AACpB;AAAA,IACD;AAEA,UAAM,cAAc,WAAW;AAC/B,UAAM,SAAS,eAAgB,WAAY;AAC3C,QAAK,CAAE,QAAS;AACf;AAAA,IACD;AAGA,UAAM,iBACL,eAAe,WAAW,IAAI,WAAW,IAAI;AAG9C,4CAAwC;AACxC,0BAAuB,cAAc;AAAA,MACpC,sBAAsB;AAAA,IACvB,CAAE;AACF,gBAAa,OAAO,UAAU,KAAM;AAAA,EACrC;AAEA,SAAO,EAAE,WAAW,UAAU;AAC/B;",
4
+ "sourcesContent": ["import { createBlock } from '@wordpress/blocks';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useDispatch, useRegistry } from '@wordpress/data';\n\n/**\n * Provides callbacks to insert, remove and move tabs for a tabs block.\n *\n * The hook intentionally avoids subscribing to the store: all data is derived\n * lazily inside the callbacks via `registry.select`, so consumers don't\n * re-render when the tab structure changes.\n *\n * @param {string|null} tabsClientId The client ID of the parent tabs block.\n * @return {{ insertTab: Function, removeTab: Function, moveTab: Function }} Tab action callbacks.\n */\nexport default function useTabActions( tabsClientId ) {\n\tconst registry = useRegistry();\n\tconst {\n\t\tinsertBlock,\n\t\tremoveBlock,\n\t\tmoveBlocksToPosition,\n\t\tupdateBlockAttributes,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\t// Derive the current tabs state at call time without subscribing.\n\tconst getTabsState = () => {\n\t\tconst { getBlocks, getBlockAttributes } =\n\t\t\tregistry.select( blockEditorStore );\n\n\t\tconst tabsAttributes = tabsClientId\n\t\t\t? getBlockAttributes( tabsClientId )\n\t\t\t: undefined;\n\t\tconst tabPanels = tabsClientId\n\t\t\t? getBlocks( tabsClientId ).find(\n\t\t\t\t\t( block ) => block.name === 'core/tab-panels'\n\t\t\t )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\ttabPanelsClientId: tabPanels?.clientId ?? null,\n\t\t\ttabPanelBlocks: tabPanels?.innerBlocks ?? [],\n\t\t\tactiveIndex:\n\t\t\t\ttabsAttributes?.editorActiveTabIndex ??\n\t\t\t\ttabsAttributes?.activeTabIndex ??\n\t\t\t\t0,\n\t\t};\n\t};\n\n\t// Insert a new tab and make it active. Defaults to appending at the end.\n\tconst insertTab = ( atIndex ) => {\n\t\tconst { tabPanelsClientId, tabPanelBlocks } = getTabsState();\n\t\tif ( ! tabPanelsClientId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst newIndex = atIndex ?? tabPanelBlocks.length;\n\t\tinsertBlock(\n\t\t\tcreateBlock( 'core/tab-panel' ),\n\t\t\tnewIndex,\n\t\t\ttabPanelsClientId,\n\t\t\tfalse\n\t\t);\n\n\t\t// Switch editor active tab to the new tab.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tupdateBlockAttributes( tabsClientId, {\n\t\t\teditorActiveTabIndex: newIndex,\n\t\t} );\n\t};\n\n\t// Remove a tab and move the active tab to an adjacent one. Defaults to the\n\t// currently active tab.\n\tconst removeTab = ( atIndex ) => {\n\t\tconst { tabPanelBlocks, activeIndex } = getTabsState();\n\t\tconst tabCount = tabPanelBlocks.length;\n\t\tif ( tabCount <= 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst removeIndex = atIndex ?? activeIndex;\n\t\tconst target = tabPanelBlocks[ removeIndex ];\n\t\tif ( ! target ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Calculate new active index after removal.\n\t\tconst newActiveIndex =\n\t\t\tremoveIndex >= tabCount - 1 ? tabCount - 2 : removeIndex;\n\n\t\t// Switch editor to the adjacent tab and remove the current one.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tupdateBlockAttributes( tabsClientId, {\n\t\t\teditorActiveTabIndex: newActiveIndex,\n\t\t} );\n\t\tremoveBlock( target.clientId, false );\n\t};\n\n\t// Move the active tab one position left or right by reordering the\n\t// underlying tab-panel. The tab-list labels follow their panel\n\t// automatically via useTabListItemsSync.\n\tconst moveTab = ( direction ) => {\n\t\tconst { tabPanelsClientId, tabPanelBlocks, activeIndex } =\n\t\t\tgetTabsState();\n\t\tif ( ! tabPanelsClientId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst toIndex = activeIndex + direction;\n\t\tconst target = tabPanelBlocks[ activeIndex ];\n\t\tif ( ! target || toIndex < 0 || toIndex >= tabPanelBlocks.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tupdateBlockAttributes( tabsClientId, {\n\t\t\teditorActiveTabIndex: toIndex,\n\t\t} );\n\t\tmoveBlocksToPosition(\n\t\t\t[ target.clientId ],\n\t\t\ttabPanelsClientId,\n\t\t\ttabPanelsClientId,\n\t\t\ttoIndex\n\t\t);\n\t};\n\n\treturn { insertTab, removeTab, moveTab };\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA4B;AAC5B,0BAA0C;AAC1C,kBAAyC;AAY1B,SAAR,cAAgC,cAAe;AACrD,QAAM,eAAW,yBAAY;AAC7B,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,QAAI,yBAAa,oBAAAA,KAAiB;AAGlC,QAAM,eAAe,MAAM;AAC1B,UAAM,EAAE,WAAW,mBAAmB,IACrC,SAAS,OAAQ,oBAAAA,KAAiB;AAEnC,UAAM,iBAAiB,eACpB,mBAAoB,YAAa,IACjC;AACH,UAAM,YAAY,eACf,UAAW,YAAa,EAAE;AAAA,MAC1B,CAAE,UAAW,MAAM,SAAS;AAAA,IAC5B,IACA;AAEH,WAAO;AAAA,MACN,mBAAmB,WAAW,YAAY;AAAA,MAC1C,gBAAgB,WAAW,eAAe,CAAC;AAAA,MAC3C,aACC,gBAAgB,wBAChB,gBAAgB,kBAChB;AAAA,IACF;AAAA,EACD;AAGA,QAAM,YAAY,CAAE,YAAa;AAChC,UAAM,EAAE,mBAAmB,eAAe,IAAI,aAAa;AAC3D,QAAK,CAAE,mBAAoB;AAC1B;AAAA,IACD;AAEA,UAAM,WAAW,WAAW,eAAe;AAC3C;AAAA,UACC,2BAAa,gBAAiB;AAAA,MAC9B;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAGA,4CAAwC;AACxC,0BAAuB,cAAc;AAAA,MACpC,sBAAsB;AAAA,IACvB,CAAE;AAAA,EACH;AAIA,QAAM,YAAY,CAAE,YAAa;AAChC,UAAM,EAAE,gBAAgB,YAAY,IAAI,aAAa;AACrD,UAAM,WAAW,eAAe;AAChC,QAAK,YAAY,GAAI;AACpB;AAAA,IACD;AAEA,UAAM,cAAc,WAAW;AAC/B,UAAM,SAAS,eAAgB,WAAY;AAC3C,QAAK,CAAE,QAAS;AACf;AAAA,IACD;AAGA,UAAM,iBACL,eAAe,WAAW,IAAI,WAAW,IAAI;AAG9C,4CAAwC;AACxC,0BAAuB,cAAc;AAAA,MACpC,sBAAsB;AAAA,IACvB,CAAE;AACF,gBAAa,OAAO,UAAU,KAAM;AAAA,EACrC;AAKA,QAAM,UAAU,CAAE,cAAe;AAChC,UAAM,EAAE,mBAAmB,gBAAgB,YAAY,IACtD,aAAa;AACd,QAAK,CAAE,mBAAoB;AAC1B;AAAA,IACD;AAEA,UAAM,UAAU,cAAc;AAC9B,UAAM,SAAS,eAAgB,WAAY;AAC3C,QAAK,CAAE,UAAU,UAAU,KAAK,WAAW,eAAe,QAAS;AAClE;AAAA,IACD;AAEA,4CAAwC;AACxC,0BAAuB,cAAc;AAAA,MACpC,sBAAsB;AAAA,IACvB,CAAE;AACF;AAAA,MACC,CAAE,OAAO,QAAS;AAAA,MAClB;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAEA,SAAO,EAAE,WAAW,WAAW,QAAQ;AACxC;",
6
6
  "names": ["blockEditorStore"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/tabs/use-tab-list-items-sync.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\n\nconst EMPTY_ARRAY = [];\n\n/**\n * Keep the tab-list block's `tabs` attribute in sync with the tab-panel blocks.\n *\n * Whenever the list of core/tab-panel blocks changes (add, remove, reorder, or\n * label edit), this hook updates the `tabs` attribute on the core/tab-list\n * block so that save.js can render the correct buttons.\n *\n * @param {string} tabsClientId Client ID of the core/tabs block.\n */\nexport default function useTabListItemsSync( tabsClientId ) {\n\tconst { tabPanels, tabListClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\tconst innerBlocks = getBlocks( tabsClientId );\n\n\t\t\tconst tabPanelsBlock = innerBlocks.find(\n\t\t\t\t( block ) => block.name === 'core/tab-panels'\n\t\t\t);\n\t\t\tconst tabList = innerBlocks.find(\n\t\t\t\t( block ) => block.name === 'core/tab-list'\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\ttabPanels: tabPanelsBlock?.innerBlocks ?? EMPTY_ARRAY,\n\t\t\t\ttabListClientId: tabList?.clientId ?? null,\n\t\t\t};\n\t\t},\n\t\t[ tabsClientId ]\n\t);\n\n\tconst { updateBlockAttributes, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { getBlockAttributes } = useSelect( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( ! tabListClientId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst newTabs = tabPanels.map( ( tab ) => ( {\n\t\t\tlabel: tab.attributes.label || '',\n\t\t} ) );\n\n\t\t// Skip the update when the stored tabs already match the derived ones.\n\t\tconst currentTabs = getBlockAttributes( tabListClientId )?.tabs ?? [];\n\t\tif ( JSON.stringify( newTabs ) === JSON.stringify( currentTabs ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tupdateBlockAttributes( tabListClientId, { tabs: newTabs } );\n\t}, [\n\t\ttabPanels,\n\t\ttabListClientId,\n\t\tgetBlockAttributes,\n\t\tupdateBlockAttributes,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAA0C;AAC1C,kBAAuC;AACvC,qBAA0B;AAE1B,IAAM,cAAc,CAAC;AAWN,SAAR,oBAAsC,cAAe;AAC3D,QAAM,EAAE,WAAW,gBAAgB,QAAI;AAAA,IACtC,CAAE,WAAY;AACb,YAAM,EAAE,UAAU,IAAI,OAAQ,oBAAAA,KAAiB;AAC/C,YAAM,cAAc,UAAW,YAAa;AAE5C,YAAM,iBAAiB,YAAY;AAAA,QAClC,CAAE,UAAW,MAAM,SAAS;AAAA,MAC7B;AACA,YAAM,UAAU,YAAY;AAAA,QAC3B,CAAE,UAAW,MAAM,SAAS;AAAA,MAC7B;AAEA,aAAO;AAAA,QACN,WAAW,gBAAgB,eAAe;AAAA,QAC1C,iBAAiB,SAAS,YAAY;AAAA,MACvC;AAAA,IACD;AAAA,IACA,CAAE,YAAa;AAAA,EAChB;AAEA,QAAM,EAAE,uBAAuB,wCAAwC,QACtE,yBAAa,oBAAAA,KAAiB;AAC/B,QAAM,EAAE,mBAAmB,QAAI,uBAAW,oBAAAA,KAAiB;AAE3D,gCAAW,MAAM;AAChB,QAAK,CAAE,iBAAkB;AACxB;AAAA,IACD;AAEA,UAAM,UAAU,UAAU,IAAK,CAAE,SAAW;AAAA,MAC3C,OAAO,IAAI,WAAW,SAAS;AAAA,IAChC,EAAI;AAGJ,UAAM,cAAc,mBAAoB,eAAgB,GAAG,QAAQ,CAAC;AACpE,QAAK,KAAK,UAAW,OAAQ,MAAM,KAAK,UAAW,WAAY,GAAI;AAClE;AAAA,IACD;AAEA,4CAAwC;AACxC,0BAAuB,iBAAiB,EAAE,MAAM,QAAQ,CAAE;AAAA,EAC3D,GAAG;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAE;AACH;",
4
+ "sourcesContent": ["import { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\n\nconst EMPTY_ARRAY = [];\n\n/**\n * Keep the tab-list block's `tabs` attribute in sync with the tab-panel blocks.\n *\n * Whenever the list of core/tab-panel blocks changes (add, remove, reorder, or\n * label edit), this hook updates the `tabs` attribute on the core/tab-list\n * block so that save.js can render the correct buttons.\n *\n * @param {string} tabsClientId Client ID of the core/tabs block.\n */\nexport default function useTabListItemsSync( tabsClientId ) {\n\tconst { tabPanels, tabListClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\tconst innerBlocks = getBlocks( tabsClientId );\n\n\t\t\tconst tabPanelsBlock = innerBlocks.find(\n\t\t\t\t( block ) => block.name === 'core/tab-panels'\n\t\t\t);\n\t\t\tconst tabList = innerBlocks.find(\n\t\t\t\t( block ) => block.name === 'core/tab-list'\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\ttabPanels: tabPanelsBlock?.innerBlocks ?? EMPTY_ARRAY,\n\t\t\t\ttabListClientId: tabList?.clientId ?? null,\n\t\t\t};\n\t\t},\n\t\t[ tabsClientId ]\n\t);\n\n\tconst { updateBlockAttributes, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { getBlockAttributes } = useSelect( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( ! tabListClientId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst newTabs = tabPanels.map( ( tab ) => ( {\n\t\t\tlabel: tab.attributes.label || '',\n\t\t} ) );\n\n\t\t// Skip the update when the stored tabs already match the derived ones.\n\t\tconst currentTabs = getBlockAttributes( tabListClientId )?.tabs ?? [];\n\t\tif ( JSON.stringify( newTabs ) === JSON.stringify( currentTabs ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tupdateBlockAttributes( tabListClientId, { tabs: newTabs } );\n\t}, [\n\t\ttabPanels,\n\t\ttabListClientId,\n\t\tgetBlockAttributes,\n\t\tupdateBlockAttributes,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA0C;AAC1C,kBAAuC;AACvC,qBAA0B;AAE1B,IAAM,cAAc,CAAC;AAWN,SAAR,oBAAsC,cAAe;AAC3D,QAAM,EAAE,WAAW,gBAAgB,QAAI;AAAA,IACtC,CAAE,WAAY;AACb,YAAM,EAAE,UAAU,IAAI,OAAQ,oBAAAA,KAAiB;AAC/C,YAAM,cAAc,UAAW,YAAa;AAE5C,YAAM,iBAAiB,YAAY;AAAA,QAClC,CAAE,UAAW,MAAM,SAAS;AAAA,MAC7B;AACA,YAAM,UAAU,YAAY;AAAA,QAC3B,CAAE,UAAW,MAAM,SAAS;AAAA,MAC7B;AAEA,aAAO;AAAA,QACN,WAAW,gBAAgB,eAAe;AAAA,QAC1C,iBAAiB,SAAS,YAAY;AAAA,MACvC;AAAA,IACD;AAAA,IACA,CAAE,YAAa;AAAA,EAChB;AAEA,QAAM,EAAE,uBAAuB,wCAAwC,QACtE,yBAAa,oBAAAA,KAAiB;AAC/B,QAAM,EAAE,mBAAmB,QAAI,uBAAW,oBAAAA,KAAiB;AAE3D,gCAAW,MAAM;AAChB,QAAK,CAAE,iBAAkB;AACxB;AAAA,IACD;AAEA,UAAM,UAAU,UAAU,IAAK,CAAE,SAAW;AAAA,MAC3C,OAAO,IAAI,WAAW,SAAS;AAAA,IAChC,EAAI;AAGJ,UAAM,cAAc,mBAAoB,eAAgB,GAAG,QAAQ,CAAC;AACpE,QAAK,KAAK,UAAW,OAAQ,MAAM,KAAK,UAAW,WAAY,GAAI;AAClE;AAAA,IACD;AAEA,4CAAwC;AACxC,0BAAuB,iBAAiB,EAAE,MAAM,QAAQ,CAAE;AAAA,EAC3D,GAAG;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAE;AACH;",
6
6
  "names": ["blockEditorStore"]
7
7
  }
@@ -60,7 +60,7 @@ var { actions, state } = (0, import_interactivity.store)(
60
60
  * @param {KeyboardEvent} event The keydown event.
61
61
  */
62
62
  handleTabKeyDown: (0, import_interactivity.withSyncEvent)((event) => {
63
- const { tabIndex } = state;
63
+ const { tabIndex, tabsList } = state;
64
64
  if (tabIndex === null) {
65
65
  return;
66
66
  }
@@ -70,6 +70,12 @@ var { actions, state } = (0, import_interactivity.store)(
70
70
  } else if (event.key === "ArrowLeft") {
71
71
  event.preventDefault();
72
72
  actions.moveFocus(tabIndex - 1);
73
+ } else if (event.key === "Home") {
74
+ event.preventDefault();
75
+ actions.moveFocus(0);
76
+ } else if (event.key === "End") {
77
+ event.preventDefault();
78
+ actions.moveFocus(tabsList.length - 1);
73
79
  }
74
80
  }),
75
81
  /**
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/tabs/view.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tstore,\n\tgetContext,\n\tgetElement,\n\twithSyncEvent,\n} from '@wordpress/interactivity';\n\nconst { actions, state } = store(\n\t'core/tabs',\n\t{\n\t\tstate: {\n\t\t\t/**\n\t\t\t * Gets a contextually aware list of tabs for the current tabs block.\n\t\t\t *\n\t\t\t * @type {Array}\n\t\t\t */\n\t\t\tget tabsList() {\n\t\t\t\tconst context = getContext();\n\t\t\t\tconst tabsId = context?.tabsId;\n\t\t\t\tconst tabsList = state[ tabsId ];\n\t\t\t\treturn tabsList;\n\t\t\t},\n\t\t\t/**\n\t\t\t * Gets the index of the active tab element whether it\n\t\t\t * is a tab label or tab panel.\n\t\t\t *\n\t\t\t * @type {number|null}\n\t\t\t */\n\t\t\tget tabIndex() {\n\t\t\t\tconst { attributes } = getElement();\n\t\t\t\tconst tabId = attributes?.id?.replace( 'tab__', '' ) || null;\n\t\t\t\tif ( ! tabId ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tconst { tabsList } = state;\n\t\t\t\tconst tabIndex = tabsList.findIndex( ( t ) => t === tabId );\n\t\t\t\treturn tabIndex;\n\t\t\t},\n\t\t\t/**\n\t\t\t * Whether the tab panel or tab label is the active tab.\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tget isActiveTab() {\n\t\t\t\tconst { activeTabIndex } = getContext();\n\t\t\t\tconst { tabIndex } = state;\n\t\t\t\treturn activeTabIndex === tabIndex;\n\t\t\t},\n\t\t\t/**\n\t\t\t * The value of the tabindex attribute for tab buttons.\n\t\t\t * Only the active tab should be in the tab sequence.\n\t\t\t *\n\t\t\t * @type {number}\n\t\t\t */\n\t\t\tget tabIndexAttribute() {\n\t\t\t\treturn state.isActiveTab ? 0 : -1;\n\t\t\t},\n\t\t},\n\t\tactions: {\n\t\t\t/**\n\t\t\t * Handles the keydown events for the tab label and tabs controller.\n\t\t\t *\n\t\t\t * @param {KeyboardEvent} event The keydown event.\n\t\t\t */\n\t\t\thandleTabKeyDown: withSyncEvent( ( event ) => {\n\t\t\t\tconst { tabIndex } = state;\n\n\t\t\t\tif ( tabIndex === null ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( event.key === 'ArrowRight' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tactions.moveFocus( tabIndex + 1 );\n\t\t\t\t} else if ( event.key === 'ArrowLeft' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tactions.moveFocus( tabIndex - 1 );\n\t\t\t\t}\n\t\t\t} ),\n\t\t\t/**\n\t\t\t * Handles the click event for the tab label.\n\t\t\t *\n\t\t\t * @param {MouseEvent} event The click event.\n\t\t\t */\n\t\t\thandleTabClick: withSyncEvent( ( event ) => {\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\tconst { tabIndex } = state;\n\t\t\t\tif ( tabIndex !== null ) {\n\t\t\t\t\tactions.setActiveTab( tabIndex );\n\t\t\t\t}\n\t\t\t} ),\n\t\t\t/**\n\t\t\t * Moves focus to a specific tab without activating it.\n\t\t\t *\n\t\t\t * @param {number} tabIndex The index to move focus to.\n\t\t\t */\n\t\t\tmoveFocus: ( tabIndex ) => {\n\t\t\t\tconst { tabsList } = state;\n\n\t\t\t\tif ( ! tabsList || tabsList.length === 0 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet newIndex = tabIndex;\n\t\t\t\tif ( newIndex < 0 ) {\n\t\t\t\t\tnewIndex = tabsList.length - 1;\n\t\t\t\t} else if ( newIndex >= tabsList.length ) {\n\t\t\t\t\tnewIndex = 0;\n\t\t\t\t}\n\n\t\t\t\tconst tabId = tabsList[ newIndex ];\n\t\t\t\tconst tabElement = document.getElementById( 'tab__' + tabId );\n\t\t\t\tif ( tabElement ) {\n\t\t\t\t\ttabElement.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\t/**\n\t\t\t * Sets the active tab index.\n\t\t\t *\n\t\t\t * @param {number} tabIndex The index of the active tab.\n\t\t\t * @param {boolean} scrollToTab Whether to scroll to the tab element.\n\t\t\t */\n\t\t\tsetActiveTab: ( tabIndex, scrollToTab = false ) => {\n\t\t\t\tconst { tabsList } = state;\n\n\t\t\t\tif ( ! tabsList || tabsList.length === 0 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet newIndex = tabIndex;\n\t\t\t\tif ( newIndex < 0 ) {\n\t\t\t\t\tnewIndex = 0;\n\t\t\t\t} else if ( newIndex >= tabsList.length ) {\n\t\t\t\t\tnewIndex = tabsList.length - 1;\n\t\t\t\t}\n\n\t\t\t\tconst context = getContext();\n\t\t\t\tcontext.activeTabIndex = newIndex;\n\n\t\t\t\tif ( scrollToTab ) {\n\t\t\t\t\tconst tabId = tabsList[ newIndex ];\n\t\t\t\t\tconst tabElement = document.getElementById( tabId );\n\t\t\t\t\tif ( tabElement ) {\n\t\t\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t\t\ttabElement.scrollIntoView( { behavior: 'smooth' } );\n\t\t\t\t\t\t}, 100 );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tcallbacks: {\n\t\t\t/**\n\t\t\t * When the tabs are initialized, we need to check if there is a hash in the url and if so if it exists in the current tabsList, set the active tab to that index.\n\t\t\t *\n\t\t\t */\n\t\t\tonTabsInit: () => {\n\t\t\t\tconst { tabsList } = state;\n\t\t\t\tif ( tabsList.length === 0 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst { hash } = window.location;\n\t\t\t\tconst tabId = hash.replace( '#', '' );\n\t\t\t\tconst tabIndex = tabsList.findIndex( ( t ) => t === tabId );\n\t\t\t\t// Check if tabIndex is a positive number and if so we'll auto activate that tab.\n\t\t\t\tif ( tabIndex >= 0 ) {\n\t\t\t\t\tactions.setActiveTab( tabIndex, true );\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\t{\n\t\tlock: true,\n\t}\n);\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n\tstore,\n\tgetContext,\n\tgetElement,\n\twithSyncEvent,\n} from '@wordpress/interactivity';\n\nconst { actions, state } = store(\n\t'core/tabs',\n\t{\n\t\tstate: {\n\t\t\t/**\n\t\t\t * Gets a contextually aware list of tabs for the current tabs block.\n\t\t\t *\n\t\t\t * @type {Array}\n\t\t\t */\n\t\t\tget tabsList() {\n\t\t\t\tconst context = getContext();\n\t\t\t\tconst tabsId = context?.tabsId;\n\t\t\t\tconst tabsList = state[ tabsId ];\n\t\t\t\treturn tabsList;\n\t\t\t},\n\t\t\t/**\n\t\t\t * Gets the index of the active tab element whether it\n\t\t\t * is a tab label or tab panel.\n\t\t\t *\n\t\t\t * @type {number|null}\n\t\t\t */\n\t\t\tget tabIndex() {\n\t\t\t\tconst { attributes } = getElement();\n\t\t\t\tconst tabId = attributes?.id?.replace( 'tab__', '' ) || null;\n\t\t\t\tif ( ! tabId ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tconst { tabsList } = state;\n\t\t\t\tconst tabIndex = tabsList.findIndex( ( t ) => t === tabId );\n\t\t\t\treturn tabIndex;\n\t\t\t},\n\t\t\t/**\n\t\t\t * Whether the tab panel or tab label is the active tab.\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tget isActiveTab() {\n\t\t\t\tconst { activeTabIndex } = getContext();\n\t\t\t\tconst { tabIndex } = state;\n\t\t\t\treturn activeTabIndex === tabIndex;\n\t\t\t},\n\t\t\t/**\n\t\t\t * The value of the tabindex attribute for tab buttons.\n\t\t\t * Only the active tab should be in the tab sequence.\n\t\t\t *\n\t\t\t * @type {number}\n\t\t\t */\n\t\t\tget tabIndexAttribute() {\n\t\t\t\treturn state.isActiveTab ? 0 : -1;\n\t\t\t},\n\t\t},\n\t\tactions: {\n\t\t\t/**\n\t\t\t * Handles the keydown events for the tab label and tabs controller.\n\t\t\t *\n\t\t\t * @param {KeyboardEvent} event The keydown event.\n\t\t\t */\n\t\t\thandleTabKeyDown: withSyncEvent( ( event ) => {\n\t\t\t\tconst { tabIndex, tabsList } = state;\n\n\t\t\t\tif ( tabIndex === null ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( event.key === 'ArrowRight' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tactions.moveFocus( tabIndex + 1 );\n\t\t\t\t} else if ( event.key === 'ArrowLeft' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tactions.moveFocus( tabIndex - 1 );\n\t\t\t\t} else if ( event.key === 'Home' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tactions.moveFocus( 0 );\n\t\t\t\t} else if ( event.key === 'End' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tactions.moveFocus( tabsList.length - 1 );\n\t\t\t\t}\n\t\t\t} ),\n\t\t\t/**\n\t\t\t * Handles the click event for the tab label.\n\t\t\t *\n\t\t\t * @param {MouseEvent} event The click event.\n\t\t\t */\n\t\t\thandleTabClick: withSyncEvent( ( event ) => {\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\tconst { tabIndex } = state;\n\t\t\t\tif ( tabIndex !== null ) {\n\t\t\t\t\tactions.setActiveTab( tabIndex );\n\t\t\t\t}\n\t\t\t} ),\n\t\t\t/**\n\t\t\t * Moves focus to a specific tab without activating it.\n\t\t\t *\n\t\t\t * @param {number} tabIndex The index to move focus to.\n\t\t\t */\n\t\t\tmoveFocus: ( tabIndex ) => {\n\t\t\t\tconst { tabsList } = state;\n\n\t\t\t\tif ( ! tabsList || tabsList.length === 0 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet newIndex = tabIndex;\n\t\t\t\tif ( newIndex < 0 ) {\n\t\t\t\t\tnewIndex = tabsList.length - 1;\n\t\t\t\t} else if ( newIndex >= tabsList.length ) {\n\t\t\t\t\tnewIndex = 0;\n\t\t\t\t}\n\n\t\t\t\tconst tabId = tabsList[ newIndex ];\n\t\t\t\tconst tabElement = document.getElementById( 'tab__' + tabId );\n\t\t\t\tif ( tabElement ) {\n\t\t\t\t\ttabElement.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\t/**\n\t\t\t * Sets the active tab index.\n\t\t\t *\n\t\t\t * @param {number} tabIndex The index of the active tab.\n\t\t\t * @param {boolean} scrollToTab Whether to scroll to the tab element.\n\t\t\t */\n\t\t\tsetActiveTab: ( tabIndex, scrollToTab = false ) => {\n\t\t\t\tconst { tabsList } = state;\n\n\t\t\t\tif ( ! tabsList || tabsList.length === 0 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet newIndex = tabIndex;\n\t\t\t\tif ( newIndex < 0 ) {\n\t\t\t\t\tnewIndex = 0;\n\t\t\t\t} else if ( newIndex >= tabsList.length ) {\n\t\t\t\t\tnewIndex = tabsList.length - 1;\n\t\t\t\t}\n\n\t\t\t\tconst context = getContext();\n\t\t\t\tcontext.activeTabIndex = newIndex;\n\n\t\t\t\tif ( scrollToTab ) {\n\t\t\t\t\tconst tabId = tabsList[ newIndex ];\n\t\t\t\t\tconst tabElement = document.getElementById( tabId );\n\t\t\t\t\tif ( tabElement ) {\n\t\t\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t\t\ttabElement.scrollIntoView( { behavior: 'smooth' } );\n\t\t\t\t\t\t}, 100 );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tcallbacks: {\n\t\t\t/**\n\t\t\t * When the tabs are initialized, we need to check if there is a hash in the url and if so if it exists in the current tabsList, set the active tab to that index.\n\t\t\t *\n\t\t\t */\n\t\t\tonTabsInit: () => {\n\t\t\t\tconst { tabsList } = state;\n\t\t\t\tif ( tabsList.length === 0 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst { hash } = window.location;\n\t\t\t\tconst tabId = hash.replace( '#', '' );\n\t\t\t\tconst tabIndex = tabsList.findIndex( ( t ) => t === tabId );\n\t\t\t\t// Check if tabIndex is a positive number and if so we'll auto activate that tab.\n\t\t\t\tif ( tabIndex >= 0 ) {\n\t\t\t\t\tactions.setActiveTab( tabIndex, true );\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\t{\n\t\tlock: true,\n\t}\n);\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }