@wordpress/block-library 8.11.0 → 8.12.1

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 (2129) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/archives/edit.js +6 -6
  3. package/build/archives/edit.js.map +1 -1
  4. package/build/archives/index.js +1 -2
  5. package/build/archives/index.js.map +1 -1
  6. package/build/audio/deprecated.js +3 -4
  7. package/build/audio/deprecated.js.map +1 -1
  8. package/build/audio/edit.js +13 -15
  9. package/build/audio/edit.js.map +1 -1
  10. package/build/audio/edit.native.js +22 -26
  11. package/build/audio/edit.native.js.map +1 -1
  12. package/build/audio/index.js +1 -1
  13. package/build/audio/save.js +5 -5
  14. package/build/audio/save.js.map +1 -1
  15. package/build/audio/transforms.js +25 -29
  16. package/build/audio/transforms.js.map +1 -1
  17. package/build/avatar/edit.js +68 -73
  18. package/build/avatar/edit.js.map +1 -1
  19. package/build/avatar/hooks.js +12 -16
  20. package/build/avatar/hooks.js.map +1 -1
  21. package/build/avatar/index.js +1 -2
  22. package/build/avatar/index.js.map +1 -1
  23. package/build/avatar/user-control.js +4 -5
  24. package/build/avatar/user-control.js.map +1 -1
  25. package/build/block/edit-title.native.js +4 -5
  26. package/build/block/edit-title.native.js.map +1 -1
  27. package/build/block/edit.js +15 -12
  28. package/build/block/edit.js.map +1 -1
  29. package/build/block/edit.native.js +7 -8
  30. package/build/block/edit.native.js.map +1 -1
  31. package/build/block/index.js +2 -2
  32. package/build/button/color-background.native.js +5 -6
  33. package/build/button/color-background.native.js.map +1 -1
  34. package/build/button/deprecated.js +75 -95
  35. package/build/button/deprecated.js.map +1 -1
  36. package/build/button/edit.js +14 -27
  37. package/build/button/edit.js.map +1 -1
  38. package/build/button/edit.native.js +38 -41
  39. package/build/button/edit.native.js.map +1 -1
  40. package/build/button/index.js +6 -9
  41. package/build/button/index.js.map +1 -1
  42. package/build/button/save.js +10 -12
  43. package/build/button/save.js.map +1 -1
  44. package/build/buttons/deprecated.js +19 -23
  45. package/build/buttons/deprecated.js.map +1 -1
  46. package/build/buttons/edit.js +8 -12
  47. package/build/buttons/edit.js.map +1 -1
  48. package/build/buttons/edit.native.js +19 -22
  49. package/build/buttons/edit.native.js.map +1 -1
  50. package/build/buttons/index.js +2 -2
  51. package/build/buttons/save.js +7 -9
  52. package/build/buttons/save.js.map +1 -1
  53. package/build/buttons/transforms.js +3 -3
  54. package/build/buttons/transforms.js.map +1 -1
  55. package/build/calendar/edit.js +8 -7
  56. package/build/calendar/edit.js.map +1 -1
  57. package/build/calendar/index.js +1 -2
  58. package/build/calendar/index.js.map +1 -1
  59. package/build/categories/edit.js +21 -24
  60. package/build/categories/edit.js.map +1 -1
  61. package/build/categories/index.js +1 -2
  62. package/build/categories/index.js.map +1 -1
  63. package/build/code/edit.js +7 -7
  64. package/build/code/edit.js.map +1 -1
  65. package/build/code/edit.native.js +1 -1
  66. package/build/code/edit.native.js.map +1 -1
  67. package/build/code/index.js +1 -1
  68. package/build/code/save.js +5 -5
  69. package/build/code/save.js.map +1 -1
  70. package/build/code/transforms.js +6 -8
  71. package/build/code/transforms.js.map +1 -1
  72. package/build/column/column-preview.native.js +9 -11
  73. package/build/column/column-preview.native.js.map +1 -1
  74. package/build/column/deprecated.js +6 -8
  75. package/build/column/deprecated.js.map +1 -1
  76. package/build/column/edit.js +12 -12
  77. package/build/column/edit.js.map +1 -1
  78. package/build/column/edit.native.js +20 -24
  79. package/build/column/edit.native.js.map +1 -1
  80. package/build/column/index.js +2 -2
  81. package/build/column/save.js +6 -6
  82. package/build/column/save.js.map +1 -1
  83. package/build/columns/columnCalculations.native.js +13 -8
  84. package/build/columns/columnCalculations.native.js.map +1 -1
  85. package/build/columns/deprecated.js +9 -12
  86. package/build/columns/deprecated.js.map +1 -1
  87. package/build/columns/edit.js +21 -24
  88. package/build/columns/edit.js.map +1 -1
  89. package/build/columns/edit.native.js +16 -20
  90. package/build/columns/edit.native.js.map +1 -1
  91. package/build/columns/index.js +2 -2
  92. package/build/columns/save.js +5 -5
  93. package/build/columns/save.js.map +1 -1
  94. package/build/columns/transforms.js +11 -16
  95. package/build/columns/transforms.js.map +1 -1
  96. package/build/columns/utils.js +6 -13
  97. package/build/columns/utils.js.map +1 -1
  98. package/build/comment-author-avatar/edit.js +14 -17
  99. package/build/comment-author-avatar/edit.js.map +1 -1
  100. package/build/comment-author-avatar/index.js +1 -2
  101. package/build/comment-author-avatar/index.js.map +1 -1
  102. package/build/comment-author-name/deprecated.js +4 -7
  103. package/build/comment-author-name/deprecated.js.map +1 -1
  104. package/build/comment-author-name/edit.js +15 -15
  105. package/build/comment-author-name/edit.js.map +1 -1
  106. package/build/comment-author-name/index.js +1 -2
  107. package/build/comment-author-name/index.js.map +1 -1
  108. package/build/comment-content/edit.js +13 -12
  109. package/build/comment-content/edit.js.map +1 -1
  110. package/build/comment-content/index.js +1 -2
  111. package/build/comment-content/index.js.map +1 -1
  112. package/build/comment-date/deprecated.js +4 -7
  113. package/build/comment-date/deprecated.js.map +1 -1
  114. package/build/comment-date/edit.js +12 -12
  115. package/build/comment-date/edit.js.map +1 -1
  116. package/build/comment-date/index.js +1 -2
  117. package/build/comment-date/index.js.map +1 -1
  118. package/build/comment-edit-link/edit.js +9 -9
  119. package/build/comment-edit-link/edit.js.map +1 -1
  120. package/build/comment-edit-link/index.js +1 -2
  121. package/build/comment-edit-link/index.js.map +1 -1
  122. package/build/comment-reply-link/edit.js +8 -8
  123. package/build/comment-reply-link/edit.js.map +1 -1
  124. package/build/comment-reply-link/index.js +1 -2
  125. package/build/comment-reply-link/index.js.map +1 -1
  126. package/build/comment-template/edit.js +67 -81
  127. package/build/comment-template/edit.js.map +1 -1
  128. package/build/comment-template/hooks.js +14 -17
  129. package/build/comment-template/hooks.js.map +1 -1
  130. package/build/comment-template/index.js +1 -2
  131. package/build/comment-template/index.js.map +1 -1
  132. package/build/comment-template/util.js +1 -3
  133. package/build/comment-template/util.js.map +1 -1
  134. package/build/comments/deprecated.js +10 -11
  135. package/build/comments/deprecated.js.map +1 -1
  136. package/build/comments/edit/comments-inspector-controls.js +6 -7
  137. package/build/comments/edit/comments-inspector-controls.js.map +1 -1
  138. package/build/comments/edit/comments-legacy.js +10 -10
  139. package/build/comments/edit/comments-legacy.js.map +1 -1
  140. package/build/comments/edit/index.js +4 -2
  141. package/build/comments/edit/index.js.map +1 -1
  142. package/build/comments/edit/placeholder.js +4 -5
  143. package/build/comments/edit/placeholder.js.map +1 -1
  144. package/build/comments/index.js +1 -2
  145. package/build/comments/index.js.map +1 -1
  146. package/build/comments/save.js +8 -9
  147. package/build/comments/save.js.map +1 -1
  148. package/build/comments-pagination/comments-pagination-arrow-controls.js +4 -5
  149. package/build/comments-pagination/comments-pagination-arrow-controls.js.map +1 -1
  150. package/build/comments-pagination/edit.js +11 -11
  151. package/build/comments-pagination/edit.js.map +1 -1
  152. package/build/comments-pagination/index.js +2 -3
  153. package/build/comments-pagination/index.js.map +1 -1
  154. package/build/comments-pagination-next/edit.js +13 -17
  155. package/build/comments-pagination-next/edit.js.map +1 -1
  156. package/build/comments-pagination-next/index.js +1 -2
  157. package/build/comments-pagination-next/index.js.map +1 -1
  158. package/build/comments-pagination-numbers/edit.js +13 -15
  159. package/build/comments-pagination-numbers/edit.js.map +1 -1
  160. package/build/comments-pagination-numbers/index.js +1 -2
  161. package/build/comments-pagination-numbers/index.js.map +1 -1
  162. package/build/comments-pagination-previous/edit.js +13 -17
  163. package/build/comments-pagination-previous/edit.js.map +1 -1
  164. package/build/comments-pagination-previous/index.js +1 -2
  165. package/build/comments-pagination-previous/index.js.map +1 -1
  166. package/build/comments-title/deprecated.js +5 -8
  167. package/build/comments-title/deprecated.js.map +1 -1
  168. package/build/comments-title/edit.js +17 -23
  169. package/build/comments-title/edit.js.map +1 -1
  170. package/build/comments-title/index.js +1 -1
  171. package/build/cover/controls.native.js +92 -101
  172. package/build/cover/controls.native.js.map +1 -1
  173. package/build/cover/deprecated.js +79 -80
  174. package/build/cover/deprecated.js.map +1 -1
  175. package/build/cover/edit/block-controls.js +7 -8
  176. package/build/cover/edit/block-controls.js.map +1 -1
  177. package/build/cover/edit/cover-placeholder.js +8 -9
  178. package/build/cover/edit/cover-placeholder.js.map +1 -1
  179. package/build/cover/edit/index.js +24 -26
  180. package/build/cover/edit/index.js.map +1 -1
  181. package/build/cover/edit/inspector-controls.js +18 -23
  182. package/build/cover/edit/inspector-controls.js.map +1 -1
  183. package/build/cover/edit/resizable-cover-popover.js +18 -20
  184. package/build/cover/edit/resizable-cover-popover.js.map +1 -1
  185. package/build/cover/edit/use-cover-is-dark.js +1 -3
  186. package/build/cover/edit/use-cover-is-dark.js.map +1 -1
  187. package/build/cover/edit.native.js +134 -156
  188. package/build/cover/edit.native.js.map +1 -1
  189. package/build/cover/focal-point-settings-button.native.js +6 -7
  190. package/build/cover/focal-point-settings-button.native.js.map +1 -1
  191. package/build/cover/index.js +2 -2
  192. package/build/cover/overlay-color-settings.native.js +8 -9
  193. package/build/cover/overlay-color-settings.native.js.map +1 -1
  194. package/build/cover/save.js +12 -11
  195. package/build/cover/save.js.map +1 -1
  196. package/build/cover/shared.js +5 -6
  197. package/build/cover/shared.js.map +1 -1
  198. package/build/cover/transforms.js +117 -147
  199. package/build/cover/transforms.js.map +1 -1
  200. package/build/cover/use-cover-is-dark.native.js +1 -5
  201. package/build/cover/use-cover-is-dark.native.js.map +1 -1
  202. package/build/details/edit.js +8 -13
  203. package/build/details/edit.js.map +1 -1
  204. package/build/details/index.js +2 -3
  205. package/build/details/index.js.map +1 -1
  206. package/build/details/init.js +16 -0
  207. package/build/details/init.js.map +1 -0
  208. package/build/details/save.js +5 -10
  209. package/build/details/save.js.map +1 -1
  210. package/build/embed/deprecated.js +16 -18
  211. package/build/embed/deprecated.js.map +1 -1
  212. package/build/embed/edit.js +10 -9
  213. package/build/embed/edit.js.map +1 -1
  214. package/build/embed/edit.native.js +10 -7
  215. package/build/embed/edit.native.js.map +1 -1
  216. package/build/embed/embed-controls.js +22 -25
  217. package/build/embed/embed-controls.js.map +1 -1
  218. package/build/embed/embed-controls.native.js +9 -10
  219. package/build/embed/embed-controls.native.js.map +1 -1
  220. package/build/embed/embed-link-settings.native.js +9 -10
  221. package/build/embed/embed-link-settings.native.js.map +1 -1
  222. package/build/embed/embed-no-preview.native.js +8 -9
  223. package/build/embed/embed-no-preview.native.js.map +1 -1
  224. package/build/embed/embed-placeholder.js +10 -11
  225. package/build/embed/embed-placeholder.js.map +1 -1
  226. package/build/embed/embed-placeholder.native.js +11 -14
  227. package/build/embed/embed-placeholder.native.js.map +1 -1
  228. package/build/embed/embed-preview.native.js +16 -17
  229. package/build/embed/embed-preview.native.js.map +1 -1
  230. package/build/embed/index.js +1 -1
  231. package/build/embed/save.js +7 -7
  232. package/build/embed/save.js.map +1 -1
  233. package/build/embed/transforms.js +10 -18
  234. package/build/embed/transforms.js.map +1 -1
  235. package/build/embed/util.js +20 -51
  236. package/build/embed/util.js.map +1 -1
  237. package/build/embed/wp-embed-preview.js +18 -25
  238. package/build/embed/wp-embed-preview.js.map +1 -1
  239. package/build/embed/wp-embed-preview.native.js +8 -12
  240. package/build/embed/wp-embed-preview.native.js.map +1 -1
  241. package/build/file/deprecated.js +15 -15
  242. package/build/file/deprecated.js.map +1 -1
  243. package/build/file/edit.js +15 -18
  244. package/build/file/edit.js.map +1 -1
  245. package/build/file/edit.native.js +20 -25
  246. package/build/file/edit.native.js.map +1 -1
  247. package/build/file/index.js +1 -1
  248. package/build/file/inspector.js +12 -13
  249. package/build/file/inspector.js.map +1 -1
  250. package/build/file/save.js +5 -5
  251. package/build/file/save.js.map +1 -1
  252. package/build/file/transforms.js +9 -15
  253. package/build/file/transforms.js.map +1 -1
  254. package/build/footnotes/edit.js +57 -0
  255. package/build/footnotes/edit.js.map +1 -0
  256. package/build/footnotes/format.js +142 -0
  257. package/build/footnotes/format.js.map +1 -0
  258. package/build/footnotes/index.js +67 -0
  259. package/build/footnotes/index.js.map +1 -0
  260. package/build/freeform/convert-to-blocks-button.js +3 -4
  261. package/build/freeform/convert-to-blocks-button.js.map +1 -1
  262. package/build/freeform/edit.js +16 -16
  263. package/build/freeform/edit.js.map +1 -1
  264. package/build/freeform/edit.native.js +2 -4
  265. package/build/freeform/edit.native.js.map +1 -1
  266. package/build/freeform/index.js +2 -2
  267. package/build/freeform/modal.js +5 -5
  268. package/build/freeform/modal.js.map +1 -1
  269. package/build/freeform/save.js +3 -4
  270. package/build/freeform/save.js.map +1 -1
  271. package/build/gallery/deprecated.js +46 -58
  272. package/build/gallery/deprecated.js.map +1 -1
  273. package/build/gallery/edit-wrapper.js +4 -2
  274. package/build/gallery/edit-wrapper.js.map +1 -1
  275. package/build/gallery/edit.js +39 -64
  276. package/build/gallery/edit.js.map +1 -1
  277. package/build/gallery/gallery.js +2 -4
  278. package/build/gallery/gallery.js.map +1 -1
  279. package/build/gallery/gallery.native.js +3 -2
  280. package/build/gallery/gallery.native.js.map +1 -1
  281. package/build/gallery/gap-styles.js +6 -7
  282. package/build/gallery/gap-styles.js.map +1 -1
  283. package/build/gallery/index.js +2 -2
  284. package/build/gallery/save.js +5 -6
  285. package/build/gallery/save.js.map +1 -1
  286. package/build/gallery/shared-icon.native.js +7 -9
  287. package/build/gallery/shared-icon.native.js.map +1 -1
  288. package/build/gallery/shared.js +4 -10
  289. package/build/gallery/shared.js.map +1 -1
  290. package/build/gallery/transforms.js +103 -142
  291. package/build/gallery/transforms.js.map +1 -1
  292. package/build/gallery/use-get-media.native.js +8 -15
  293. package/build/gallery/use-get-media.native.js.map +1 -1
  294. package/build/gallery/use-get-new-images.js +2 -2
  295. package/build/gallery/use-get-new-images.js.map +1 -1
  296. package/build/gallery/use-image-sizes.js +11 -19
  297. package/build/gallery/use-image-sizes.js.map +1 -1
  298. package/build/gallery/utils.js +2 -2
  299. package/build/gallery/utils.js.map +1 -1
  300. package/build/gallery/v1/edit.js +38 -69
  301. package/build/gallery/v1/edit.js.map +1 -1
  302. package/build/gallery/v1/gallery.js +10 -11
  303. package/build/gallery/v1/gallery.js.map +1 -1
  304. package/build/gallery/v1/save.js +8 -8
  305. package/build/gallery/v1/save.js.map +1 -1
  306. package/build/gallery/v1/shared.js +4 -10
  307. package/build/gallery/v1/shared.js.map +1 -1
  308. package/build/group/deprecated.js +25 -31
  309. package/build/group/deprecated.js.map +1 -1
  310. package/build/group/edit.js +18 -19
  311. package/build/group/edit.js.map +1 -1
  312. package/build/group/edit.native.js +14 -18
  313. package/build/group/edit.native.js.map +1 -1
  314. package/build/group/index.js +2 -2
  315. package/build/group/placeholder.js +18 -20
  316. package/build/group/placeholder.js.map +1 -1
  317. package/build/group/save.js +7 -7
  318. package/build/group/save.js.map +1 -1
  319. package/build/group/variations.js +8 -23
  320. package/build/group/variations.js.map +1 -1
  321. package/build/heading/deprecated.js +26 -32
  322. package/build/heading/deprecated.js.map +1 -1
  323. package/build/heading/edit.js +17 -20
  324. package/build/heading/edit.js.map +1 -1
  325. package/build/heading/heading-level-icon.js +4 -5
  326. package/build/heading/heading-level-icon.js.map +1 -1
  327. package/build/heading/index.js +4 -5
  328. package/build/heading/index.js.map +1 -1
  329. package/build/heading/save.js +7 -7
  330. package/build/heading/save.js.map +1 -1
  331. package/build/heading/transforms.js +21 -28
  332. package/build/heading/transforms.js.map +1 -1
  333. package/build/home-link/edit.js +12 -16
  334. package/build/home-link/edit.js.map +1 -1
  335. package/build/home-link/index.js +1 -2
  336. package/build/home-link/index.js.map +1 -1
  337. package/build/html/edit.js +9 -9
  338. package/build/html/edit.js.map +1 -1
  339. package/build/html/index.js +1 -1
  340. package/build/html/preview.js +5 -8
  341. package/build/html/preview.js.map +1 -1
  342. package/build/html/save.js +3 -4
  343. package/build/html/save.js.map +1 -1
  344. package/build/html/transforms.js +3 -4
  345. package/build/html/transforms.js.map +1 -1
  346. package/build/image/deprecated.js +29 -32
  347. package/build/image/deprecated.js.map +1 -1
  348. package/build/image/edit.js +20 -28
  349. package/build/image/edit.js.map +1 -1
  350. package/build/image/edit.native.js +48 -63
  351. package/build/image/edit.native.js.map +1 -1
  352. package/build/image/image.js +48 -59
  353. package/build/image/image.js.map +1 -1
  354. package/build/image/index.js +7 -9
  355. package/build/image/index.js.map +1 -1
  356. package/build/image/interactivity.js +140 -30
  357. package/build/image/interactivity.js.map +1 -1
  358. package/build/image/save.js +7 -7
  359. package/build/image/save.js.map +1 -1
  360. package/build/image/transforms.js +36 -46
  361. package/build/image/transforms.js.map +1 -1
  362. package/build/image/use-client-width.js +1 -3
  363. package/build/image/use-client-width.js.map +1 -1
  364. package/build/image/utils.js +4 -7
  365. package/build/image/utils.js.map +1 -1
  366. package/build/index.js +22 -44
  367. package/build/index.js.map +1 -1
  368. package/build/index.native.js +3 -6
  369. package/build/index.native.js.map +1 -1
  370. package/build/latest-comments/edit.js +7 -7
  371. package/build/latest-comments/edit.js.map +1 -1
  372. package/build/latest-comments/index.js +1 -2
  373. package/build/latest-comments/index.js.map +1 -1
  374. package/build/latest-posts/deprecated.js +4 -8
  375. package/build/latest-posts/deprecated.js.map +1 -1
  376. package/build/latest-posts/edit.js +38 -41
  377. package/build/latest-posts/edit.js.map +1 -1
  378. package/build/latest-posts/edit.native.js +8 -10
  379. package/build/latest-posts/edit.native.js.map +1 -1
  380. package/build/latest-posts/index.js +1 -2
  381. package/build/latest-posts/index.js.map +1 -1
  382. package/build/list/deprecated.js +22 -25
  383. package/build/list/deprecated.js.map +1 -1
  384. package/build/list/edit.js +13 -16
  385. package/build/list/edit.js.map +1 -1
  386. package/build/list/index.js +1 -1
  387. package/build/list/ordered-list-settings.js +55 -34
  388. package/build/list/ordered-list-settings.js.map +1 -1
  389. package/build/list/save.js +9 -9
  390. package/build/list/save.js.map +1 -1
  391. package/build/list/tag-name.js +4 -7
  392. package/build/list/tag-name.js.map +1 -1
  393. package/build/list/tag-name.native.js +4 -7
  394. package/build/list/tag-name.native.js.map +1 -1
  395. package/build/list/transforms.js +11 -15
  396. package/build/list/transforms.js.map +1 -1
  397. package/build/list/utils.js +1 -1
  398. package/build/list/utils.js.map +1 -1
  399. package/build/list-item/edit.js +13 -18
  400. package/build/list-item/edit.js.map +1 -1
  401. package/build/list-item/edit.native.js +17 -24
  402. package/build/list-item/edit.native.js.map +1 -1
  403. package/build/list-item/hooks/use-enter.js +1 -3
  404. package/build/list-item/hooks/use-enter.js.map +1 -1
  405. package/build/list-item/hooks/use-enter.native.js +1 -3
  406. package/build/list-item/hooks/use-enter.native.js.map +1 -1
  407. package/build/list-item/hooks/use-indent-list-item.js +1 -3
  408. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  409. package/build/list-item/hooks/use-merge.js +1 -1
  410. package/build/list-item/hooks/use-outdent-list-item.js +2 -4
  411. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  412. package/build/list-item/index.js +1 -1
  413. package/build/list-item/list-style-type.native.js +29 -34
  414. package/build/list-item/list-style-type.native.js.map +1 -1
  415. package/build/list-item/save.js +5 -5
  416. package/build/list-item/save.js.map +1 -1
  417. package/build/list-item/transforms.js +1 -4
  418. package/build/list-item/transforms.js.map +1 -1
  419. package/build/list-item/utils.js +4 -4
  420. package/build/list-item/utils.js.map +1 -1
  421. package/build/{private-apis.js → lock-unlock.js} +1 -1
  422. package/build/lock-unlock.js.map +1 -0
  423. package/build/loginout/edit.js +8 -8
  424. package/build/loginout/edit.js.map +1 -1
  425. package/build/loginout/index.js +1 -2
  426. package/build/loginout/index.js.map +1 -1
  427. package/build/media-text/deprecated.js +65 -64
  428. package/build/media-text/deprecated.js.map +1 -1
  429. package/build/media-text/edit.js +32 -43
  430. package/build/media-text/edit.js.map +1 -1
  431. package/build/media-text/edit.native.js +9 -13
  432. package/build/media-text/edit.native.js.map +1 -1
  433. package/build/media-text/index.js +1 -1
  434. package/build/media-text/media-container.js +23 -25
  435. package/build/media-text/media-container.js.map +1 -1
  436. package/build/media-text/media-container.native.js +12 -13
  437. package/build/media-text/media-container.native.js.map +1 -1
  438. package/build/media-text/save.js +20 -17
  439. package/build/media-text/save.js.map +1 -1
  440. package/build/media-text/transforms.js +73 -91
  441. package/build/media-text/transforms.js.map +1 -1
  442. package/build/missing/edit.js +13 -14
  443. package/build/missing/edit.js.map +1 -1
  444. package/build/missing/edit.native.js +7 -8
  445. package/build/missing/edit.native.js.map +1 -1
  446. package/build/missing/index.js +4 -6
  447. package/build/missing/index.js.map +1 -1
  448. package/build/missing/save.js +3 -4
  449. package/build/missing/save.js.map +1 -1
  450. package/build/more/edit.js +13 -16
  451. package/build/more/edit.js.map +1 -1
  452. package/build/more/edit.native.js +4 -10
  453. package/build/more/edit.native.js.map +1 -1
  454. package/build/more/index.js +4 -6
  455. package/build/more/index.js.map +1 -1
  456. package/build/more/save.js +6 -7
  457. package/build/more/save.js.map +1 -1
  458. package/build/navigation/constants.js +8 -1
  459. package/build/navigation/constants.js.map +1 -1
  460. package/build/navigation/deprecated.js +17 -28
  461. package/build/navigation/deprecated.js.map +1 -1
  462. package/build/navigation/edit/are-blocks-dirty.js +1 -1
  463. package/build/navigation/edit/are-blocks-dirty.js.map +1 -1
  464. package/build/navigation/edit/deleted-navigation-warning.js +3 -4
  465. package/build/navigation/edit/deleted-navigation-warning.js.map +1 -1
  466. package/build/navigation/edit/index.js +68 -61
  467. package/build/navigation/edit/index.js.map +1 -1
  468. package/build/navigation/edit/inner-blocks.js +12 -15
  469. package/build/navigation/edit/inner-blocks.js.map +1 -1
  470. package/build/navigation/edit/leaf-more-menu.js +38 -46
  471. package/build/navigation/edit/leaf-more-menu.js.map +1 -1
  472. package/build/navigation/edit/manage-menus-button.js +5 -6
  473. package/build/navigation/edit/manage-menus-button.js.map +1 -1
  474. package/build/navigation/edit/menu-inspector-controls.js +52 -52
  475. package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
  476. package/build/navigation/edit/navigation-menu-delete-control.js +3 -4
  477. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  478. package/build/navigation/edit/navigation-menu-selector.js +63 -61
  479. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  480. package/build/navigation/edit/overlay-menu-icon.js +3 -5
  481. package/build/navigation/edit/overlay-menu-icon.js.map +1 -1
  482. package/build/navigation/edit/overlay-menu-preview.js +5 -6
  483. package/build/navigation/edit/overlay-menu-preview.js.map +1 -1
  484. package/build/navigation/edit/placeholder/index.js +10 -11
  485. package/build/navigation/edit/placeholder/index.js.map +1 -1
  486. package/build/navigation/edit/placeholder/placeholder-preview.js +3 -4
  487. package/build/navigation/edit/placeholder/placeholder-preview.js.map +1 -1
  488. package/build/navigation/edit/responsive-wrapper.js +20 -21
  489. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  490. package/build/navigation/edit/unsaved-inner-blocks.js +13 -19
  491. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  492. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +2 -3
  493. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  494. package/build/navigation/edit/use-create-navigation-menu.js +3 -7
  495. package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
  496. package/build/navigation/edit/use-generate-default-navigation-title.js +1 -5
  497. package/build/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  498. package/build/navigation/edit/use-inner-blocks.js +1 -1
  499. package/build/navigation/edit/use-inner-blocks.js.map +1 -1
  500. package/build/navigation/edit/use-navigation-notice.js +4 -5
  501. package/build/navigation/edit/use-navigation-notice.js.map +1 -1
  502. package/build/navigation/edit/utils.js +2 -4
  503. package/build/navigation/edit/utils.js.map +1 -1
  504. package/build/navigation/index.js +2 -3
  505. package/build/navigation/index.js.map +1 -1
  506. package/build/navigation/interactivity.js +97 -87
  507. package/build/navigation/interactivity.js.map +1 -1
  508. package/build/navigation/menu-items-to-blocks.js +25 -34
  509. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  510. package/build/navigation/save.js +3 -5
  511. package/build/navigation/save.js.map +1 -1
  512. package/build/navigation/use-navigation-entities.js +2 -2
  513. package/build/navigation/use-navigation-entities.js.map +1 -1
  514. package/build/navigation/use-navigation-menu.js +10 -8
  515. package/build/navigation/use-navigation-menu.js.map +1 -1
  516. package/build/navigation/use-template-part-area-label.js +3 -5
  517. package/build/navigation/use-template-part-area-label.js.map +1 -1
  518. package/build/navigation/view-modal.js +2 -4
  519. package/build/navigation/view-modal.js.map +1 -1
  520. package/build/navigation/view.js +1 -1
  521. package/build/navigation/view.js.map +1 -1
  522. package/build/navigation-link/edit.js +18 -23
  523. package/build/navigation-link/edit.js.map +1 -1
  524. package/build/navigation-link/hooks.js +1 -1
  525. package/build/navigation-link/hooks.js.map +1 -1
  526. package/build/navigation-link/index.js +11 -16
  527. package/build/navigation-link/index.js.map +1 -1
  528. package/build/navigation-link/link-ui.js +9 -8
  529. package/build/navigation-link/link-ui.js.map +1 -1
  530. package/build/navigation-link/update-attributes.js +1 -4
  531. package/build/navigation-link/update-attributes.js.map +1 -1
  532. package/build/navigation-submenu/edit.js +17 -18
  533. package/build/navigation-submenu/edit.js.map +1 -1
  534. package/build/navigation-submenu/index.js +7 -12
  535. package/build/navigation-submenu/index.js.map +1 -1
  536. package/build/navigation-submenu/transforms.js +6 -30
  537. package/build/navigation-submenu/transforms.js.map +1 -1
  538. package/build/nextpage/edit.js +2 -1
  539. package/build/nextpage/edit.js.map +1 -1
  540. package/build/nextpage/edit.native.js +9 -10
  541. package/build/nextpage/edit.native.js.map +1 -1
  542. package/build/nextpage/index.js +1 -1
  543. package/build/page-list/convert-to-links-modal.js +5 -6
  544. package/build/page-list/convert-to-links-modal.js.map +1 -1
  545. package/build/page-list/edit.js +35 -41
  546. package/build/page-list/edit.js.map +1 -1
  547. package/build/page-list/index.js +1 -2
  548. package/build/page-list/index.js.map +1 -1
  549. package/build/page-list/use-convert-to-navigation-links.js +16 -21
  550. package/build/page-list/use-convert-to-navigation-links.js.map +1 -1
  551. package/build/page-list-item/edit.js +7 -7
  552. package/build/page-list-item/edit.js.map +1 -1
  553. package/build/page-list-item/index.js +4 -7
  554. package/build/page-list-item/index.js.map +1 -1
  555. package/build/paragraph/deprecated.js +23 -28
  556. package/build/paragraph/deprecated.js.map +1 -1
  557. package/build/paragraph/edit.js +16 -20
  558. package/build/paragraph/edit.js.map +1 -1
  559. package/build/paragraph/edit.native.js +13 -16
  560. package/build/paragraph/edit.native.js.map +1 -1
  561. package/build/paragraph/index.js +4 -6
  562. package/build/paragraph/index.js.map +1 -1
  563. package/build/paragraph/save.js +8 -8
  564. package/build/paragraph/save.js.map +1 -1
  565. package/build/paragraph/transforms.js +10 -13
  566. package/build/paragraph/transforms.js.map +1 -1
  567. package/build/pattern/edit.js +11 -39
  568. package/build/pattern/edit.js.map +1 -1
  569. package/build/pattern/index.js +7 -14
  570. package/build/pattern/index.js.map +1 -1
  571. package/build/post-author/edit.js +22 -24
  572. package/build/post-author/edit.js.map +1 -1
  573. package/build/post-author/index.js +1 -2
  574. package/build/post-author/index.js.map +1 -1
  575. package/build/post-author-biography/edit.js +14 -19
  576. package/build/post-author-biography/edit.js.map +1 -1
  577. package/build/post-author-biography/index.js +1 -2
  578. package/build/post-author-biography/index.js.map +1 -1
  579. package/build/post-author-name/edit.js +16 -18
  580. package/build/post-author-name/edit.js.map +1 -1
  581. package/build/post-author-name/index.js +1 -2
  582. package/build/post-author-name/index.js.map +1 -1
  583. package/build/post-author-name/transforms.js +10 -16
  584. package/build/post-author-name/transforms.js.map +1 -1
  585. package/build/post-comment/edit.js +10 -9
  586. package/build/post-comment/edit.js.map +1 -1
  587. package/build/post-comment/index.js +1 -1
  588. package/build/post-comment/save.js +2 -1
  589. package/build/post-comment/save.js.map +1 -1
  590. package/build/post-comments-count/edit.js +8 -13
  591. package/build/post-comments-count/edit.js.map +1 -1
  592. package/build/post-comments-count/index.js +1 -2
  593. package/build/post-comments-count/index.js.map +1 -1
  594. package/build/post-comments-form/edit.js +7 -7
  595. package/build/post-comments-form/edit.js.map +1 -1
  596. package/build/post-comments-form/form.js +5 -10
  597. package/build/post-comments-form/form.js.map +1 -1
  598. package/build/post-comments-form/index.js +1 -2
  599. package/build/post-comments-form/index.js.map +1 -1
  600. package/build/post-comments-link/edit.js +7 -7
  601. package/build/post-comments-link/edit.js.map +1 -1
  602. package/build/post-comments-link/index.js +1 -2
  603. package/build/post-comments-link/index.js.map +1 -1
  604. package/build/post-content/edit.js +37 -32
  605. package/build/post-content/edit.js.map +1 -1
  606. package/build/post-content/index.js +2 -3
  607. package/build/post-content/index.js.map +1 -1
  608. package/build/post-date/deprecated.js +4 -7
  609. package/build/post-date/deprecated.js.map +1 -1
  610. package/build/post-date/edit.js +29 -34
  611. package/build/post-date/edit.js.map +1 -1
  612. package/build/post-date/index.js +1 -2
  613. package/build/post-date/index.js.map +1 -1
  614. package/build/post-excerpt/edit.js +25 -25
  615. package/build/post-excerpt/edit.js.map +1 -1
  616. package/build/post-excerpt/index.js +3 -4
  617. package/build/post-excerpt/index.js.map +1 -1
  618. package/build/post-featured-image/dimension-controls.js +12 -13
  619. package/build/post-featured-image/dimension-controls.js.map +1 -1
  620. package/build/post-featured-image/edit.js +31 -39
  621. package/build/post-featured-image/edit.js.map +1 -1
  622. package/build/post-featured-image/index.js +1 -2
  623. package/build/post-featured-image/index.js.map +1 -1
  624. package/build/post-featured-image/overlay.js +11 -13
  625. package/build/post-featured-image/overlay.js.map +1 -1
  626. package/build/post-navigation-link/edit.js +13 -13
  627. package/build/post-navigation-link/edit.js.map +1 -1
  628. package/build/post-navigation-link/index.js +1 -2
  629. package/build/post-navigation-link/index.js.map +1 -1
  630. package/build/post-template/edit.js +107 -88
  631. package/build/post-template/edit.js.map +1 -1
  632. package/build/post-template/index.js +10 -5
  633. package/build/post-template/index.js.map +1 -1
  634. package/build/post-terms/edit.js +13 -22
  635. package/build/post-terms/edit.js.map +1 -1
  636. package/build/post-terms/hooks.js +9 -5
  637. package/build/post-terms/hooks.js.map +1 -1
  638. package/build/post-terms/index.js +1 -2
  639. package/build/post-terms/index.js.map +1 -1
  640. package/build/post-terms/use-post-terms.js +7 -12
  641. package/build/post-terms/use-post-terms.js.map +1 -1
  642. package/build/post-time-to-read/edit.js +7 -7
  643. package/build/post-time-to-read/edit.js.map +1 -1
  644. package/build/post-time-to-read/index.js +1 -1
  645. package/build/post-time-to-read/init.js +16 -0
  646. package/build/post-time-to-read/init.js.map +1 -0
  647. package/build/post-title/deprecated.js +4 -7
  648. package/build/post-title/deprecated.js.map +1 -1
  649. package/build/post-title/edit.js +40 -34
  650. package/build/post-title/edit.js.map +1 -1
  651. package/build/post-title/index.js +2 -3
  652. package/build/post-title/index.js.map +1 -1
  653. package/build/preformatted/edit.js +11 -16
  654. package/build/preformatted/edit.js.map +1 -1
  655. package/build/preformatted/edit.native.js +7 -8
  656. package/build/preformatted/edit.native.js.map +1 -1
  657. package/build/preformatted/index.js +1 -1
  658. package/build/preformatted/save.js +5 -5
  659. package/build/preformatted/save.js.map +1 -1
  660. package/build/preformatted/transforms.js +14 -20
  661. package/build/preformatted/transforms.js.map +1 -1
  662. package/build/pullquote/deprecated.js +71 -81
  663. package/build/pullquote/deprecated.js.map +1 -1
  664. package/build/pullquote/edit.js +8 -8
  665. package/build/pullquote/edit.js.map +1 -1
  666. package/build/pullquote/edit.native.js +15 -22
  667. package/build/pullquote/edit.native.js.map +1 -1
  668. package/build/pullquote/figure.native.js +5 -6
  669. package/build/pullquote/figure.native.js.map +1 -1
  670. package/build/pullquote/index.js +1 -1
  671. package/build/pullquote/save.js +8 -8
  672. package/build/pullquote/save.js.map +1 -1
  673. package/build/pullquote/transforms.js +17 -24
  674. package/build/pullquote/transforms.js.map +1 -1
  675. package/build/query/deprecated.js +211 -87
  676. package/build/query/deprecated.js.map +1 -1
  677. package/build/query/edit/index.js +2 -4
  678. package/build/query/edit/index.js.map +1 -1
  679. package/build/query/edit/inspector-controls/author-control.js +5 -8
  680. package/build/query/edit/inspector-controls/author-control.js.map +1 -1
  681. package/build/query/edit/inspector-controls/create-new-post-link.js +6 -7
  682. package/build/query/edit/inspector-controls/create-new-post-link.js.map +1 -1
  683. package/build/query/edit/inspector-controls/index.js +8 -9
  684. package/build/query/edit/inspector-controls/index.js.map +1 -1
  685. package/build/query/edit/inspector-controls/order-control.js +5 -6
  686. package/build/query/edit/inspector-controls/order-control.js.map +1 -1
  687. package/build/query/edit/inspector-controls/parent-control.js +10 -13
  688. package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
  689. package/build/query/edit/inspector-controls/sticky-control.js +4 -5
  690. package/build/query/edit/inspector-controls/sticky-control.js.map +1 -1
  691. package/build/query/edit/inspector-controls/taxonomy-controls.js +15 -19
  692. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  693. package/build/query/edit/pattern-selection-modal.js +5 -6
  694. package/build/query/edit/pattern-selection-modal.js.map +1 -1
  695. package/build/query/edit/query-content.js +27 -15
  696. package/build/query/edit/query-content.js.map +1 -1
  697. package/build/query/edit/query-placeholder.js +20 -22
  698. package/build/query/edit/query-placeholder.js.map +1 -1
  699. package/build/query/edit/query-toolbar.js +17 -41
  700. package/build/query/edit/query-toolbar.js.map +1 -1
  701. package/build/query/index.js +2 -9
  702. package/build/query/index.js.map +1 -1
  703. package/build/query/save.js +7 -8
  704. package/build/query/save.js.map +1 -1
  705. package/build/query/utils.js +25 -62
  706. package/build/query/utils.js.map +1 -1
  707. package/build/query-no-results/edit.js +2 -1
  708. package/build/query-no-results/edit.js.map +1 -1
  709. package/build/query-no-results/index.js +1 -2
  710. package/build/query-no-results/index.js.map +1 -1
  711. package/build/query-pagination/deprecated.js +2 -1
  712. package/build/query-pagination/deprecated.js.map +1 -1
  713. package/build/query-pagination/edit.js +30 -12
  714. package/build/query-pagination/edit.js.map +1 -1
  715. package/build/query-pagination/index.js +8 -4
  716. package/build/query-pagination/index.js.map +1 -1
  717. package/build/query-pagination/query-pagination-arrow-controls.js +4 -5
  718. package/build/query-pagination/query-pagination-arrow-controls.js.map +1 -1
  719. package/build/query-pagination/query-pagination-label-control.js +29 -0
  720. package/build/query-pagination/query-pagination-label-control.js.map +1 -0
  721. package/build/query-pagination-next/edit.js +14 -17
  722. package/build/query-pagination-next/edit.js.map +1 -1
  723. package/build/query-pagination-next/index.js +2 -3
  724. package/build/query-pagination-next/index.js.map +1 -1
  725. package/build/query-pagination-numbers/edit.js +5 -8
  726. package/build/query-pagination-numbers/edit.js.map +1 -1
  727. package/build/query-pagination-numbers/index.js +1 -2
  728. package/build/query-pagination-numbers/index.js.map +1 -1
  729. package/build/query-pagination-previous/edit.js +15 -18
  730. package/build/query-pagination-previous/edit.js.map +1 -1
  731. package/build/query-pagination-previous/index.js +2 -3
  732. package/build/query-pagination-previous/index.js.map +1 -1
  733. package/build/query-title/deprecated.js +4 -7
  734. package/build/query-title/deprecated.js.map +1 -1
  735. package/build/query-title/edit.js +18 -22
  736. package/build/query-title/edit.js.map +1 -1
  737. package/build/query-title/index.js +1 -2
  738. package/build/query-title/index.js.map +1 -1
  739. package/build/quote/deprecated.js +21 -27
  740. package/build/quote/deprecated.js.map +1 -1
  741. package/build/quote/edit.js +15 -16
  742. package/build/quote/edit.js.map +1 -1
  743. package/build/quote/index.js +1 -1
  744. package/build/quote/save.js +7 -7
  745. package/build/quote/save.js.map +1 -1
  746. package/build/quote/transforms.js +37 -57
  747. package/build/quote/transforms.js.map +1 -1
  748. package/build/read-more/edit.js +12 -16
  749. package/build/read-more/edit.js.map +1 -1
  750. package/build/read-more/index.js +1 -2
  751. package/build/read-more/index.js.map +1 -1
  752. package/build/rss/edit.js +8 -7
  753. package/build/rss/edit.js.map +1 -1
  754. package/build/rss/index.js +1 -2
  755. package/build/rss/index.js.map +1 -1
  756. package/build/search/edit.js +77 -34
  757. package/build/search/edit.js.map +1 -1
  758. package/build/search/edit.native.js +45 -43
  759. package/build/search/edit.native.js.map +1 -1
  760. package/build/search/index.js +9 -2
  761. package/build/search/index.js.map +1 -1
  762. package/build/search/view.js +67 -0
  763. package/build/search/view.js.map +1 -0
  764. package/build/separator/deprecated.js +8 -8
  765. package/build/separator/deprecated.js.map +1 -1
  766. package/build/separator/edit.js +11 -13
  767. package/build/separator/edit.js.map +1 -1
  768. package/build/separator/index.js +1 -1
  769. package/build/separator/save.js +10 -12
  770. package/build/separator/save.js.map +1 -1
  771. package/build/shortcode/edit.js +8 -8
  772. package/build/shortcode/edit.js.map +1 -1
  773. package/build/shortcode/index.js +2 -2
  774. package/build/shortcode/save.js +3 -4
  775. package/build/shortcode/save.js.map +1 -1
  776. package/build/shortcode/transforms.js +3 -4
  777. package/build/shortcode/transforms.js.map +1 -1
  778. package/build/site-logo/edit.js +68 -84
  779. package/build/site-logo/edit.js.map +1 -1
  780. package/build/site-logo/index.js +1 -2
  781. package/build/site-logo/index.js.map +1 -1
  782. package/build/site-logo/transforms.js +4 -5
  783. package/build/site-logo/transforms.js.map +1 -1
  784. package/build/site-tagline/deprecated.js +4 -7
  785. package/build/site-tagline/deprecated.js.map +1 -1
  786. package/build/site-tagline/edit.js +11 -12
  787. package/build/site-tagline/edit.js.map +1 -1
  788. package/build/site-tagline/icon.js +0 -3
  789. package/build/site-tagline/icon.js.map +1 -1
  790. package/build/site-tagline/index.js +1 -2
  791. package/build/site-tagline/index.js.map +1 -1
  792. package/build/site-title/deprecated.js +4 -7
  793. package/build/site-title/deprecated.js.map +1 -1
  794. package/build/site-title/edit/index.js +14 -16
  795. package/build/site-title/edit/index.js.map +1 -1
  796. package/build/site-title/index.js +1 -2
  797. package/build/site-title/index.js.map +1 -1
  798. package/build/site-title/transforms.js +4 -5
  799. package/build/site-title/transforms.js.map +1 -1
  800. package/build/social-link/edit.js +21 -18
  801. package/build/social-link/edit.js.map +1 -1
  802. package/build/social-link/edit.native.js +11 -13
  803. package/build/social-link/edit.native.js.map +1 -1
  804. package/build/social-link/index.js +2 -3
  805. package/build/social-link/index.js.map +1 -1
  806. package/build/social-links/deprecated.js +7 -8
  807. package/build/social-links/deprecated.js.map +1 -1
  808. package/build/social-links/edit.js +39 -45
  809. package/build/social-links/edit.js.map +1 -1
  810. package/build/social-links/edit.native.js +18 -25
  811. package/build/social-links/edit.native.js.map +1 -1
  812. package/build/social-links/index.js +4 -2
  813. package/build/social-links/index.js.map +1 -1
  814. package/build/social-links/save.js +2 -1
  815. package/build/social-links/save.js.map +1 -1
  816. package/build/spacer/controls.js +18 -21
  817. package/build/spacer/controls.js.map +1 -1
  818. package/build/spacer/controls.native.js +7 -8
  819. package/build/spacer/controls.native.js.map +1 -1
  820. package/build/spacer/deprecated.js +11 -11
  821. package/build/spacer/deprecated.js.map +1 -1
  822. package/build/spacer/edit.js +30 -33
  823. package/build/spacer/edit.js.map +1 -1
  824. package/build/spacer/edit.native.js +11 -13
  825. package/build/spacer/edit.native.js.map +1 -1
  826. package/build/spacer/index.js +1 -1
  827. package/build/spacer/save.js +23 -14
  828. package/build/spacer/save.js.map +1 -1
  829. package/build/spacer/save.native.js +14 -14
  830. package/build/spacer/save.native.js.map +1 -1
  831. package/build/table/deprecated.js +83 -104
  832. package/build/table/deprecated.js.map +1 -1
  833. package/build/table/edit.js +51 -63
  834. package/build/table/edit.js.map +1 -1
  835. package/build/table/index.js +1 -1
  836. package/build/table/save.js +35 -41
  837. package/build/table/save.js.map +1 -1
  838. package/build/table/state.js +32 -59
  839. package/build/table/state.js.map +1 -1
  840. package/build/table/transforms.js +17 -20
  841. package/build/table/transforms.js.map +1 -1
  842. package/build/table-of-contents/edit.js +13 -12
  843. package/build/table-of-contents/edit.js.map +1 -1
  844. package/build/table-of-contents/index.js +1 -1
  845. package/build/table-of-contents/list.js +3 -4
  846. package/build/table-of-contents/list.js.map +1 -1
  847. package/build/table-of-contents/save.js +7 -8
  848. package/build/table-of-contents/save.js.map +1 -1
  849. package/build/table-of-contents/utils.js +1 -3
  850. package/build/table-of-contents/utils.js.map +1 -1
  851. package/build/tag-cloud/edit.js +8 -9
  852. package/build/tag-cloud/edit.js.map +1 -1
  853. package/build/tag-cloud/index.js +1 -2
  854. package/build/tag-cloud/index.js.map +1 -1
  855. package/build/template-part/edit/advanced-controls.js +15 -19
  856. package/build/template-part/edit/advanced-controls.js.map +1 -1
  857. package/build/template-part/edit/import-controls.js +7 -11
  858. package/build/template-part/edit/import-controls.js.map +1 -1
  859. package/build/template-part/edit/index.js +15 -12
  860. package/build/template-part/edit/index.js.map +1 -1
  861. package/build/template-part/edit/inner-blocks.js +11 -13
  862. package/build/template-part/edit/inner-blocks.js.map +1 -1
  863. package/build/template-part/edit/placeholder.js +7 -8
  864. package/build/template-part/edit/placeholder.js.map +1 -1
  865. package/build/template-part/edit/selection-modal.js +8 -11
  866. package/build/template-part/edit/selection-modal.js.map +1 -1
  867. package/build/template-part/edit/title-modal.js +5 -6
  868. package/build/template-part/edit/title-modal.js.map +1 -1
  869. package/build/template-part/edit/utils/hooks.js +4 -6
  870. package/build/template-part/edit/utils/hooks.js.map +1 -1
  871. package/build/template-part/edit/utils/transformers.js +3 -6
  872. package/build/template-part/edit/utils/transformers.js.map +1 -1
  873. package/build/template-part/index.js +11 -20
  874. package/build/template-part/index.js.map +1 -1
  875. package/build/template-part/variations.js +2 -2
  876. package/build/template-part/variations.js.map +1 -1
  877. package/build/term-description/edit.js +7 -7
  878. package/build/term-description/edit.js.map +1 -1
  879. package/build/term-description/index.js +1 -2
  880. package/build/term-description/index.js.map +1 -1
  881. package/build/text-columns/edit.js +9 -11
  882. package/build/text-columns/edit.js.map +1 -1
  883. package/build/text-columns/index.js +1 -1
  884. package/build/text-columns/save.js +14 -18
  885. package/build/text-columns/save.js.map +1 -1
  886. package/build/text-columns/transforms.js +14 -20
  887. package/build/text-columns/transforms.js.map +1 -1
  888. package/build/utils/init-block.native.js +1 -3
  889. package/build/utils/init-block.native.js.map +1 -1
  890. package/build/utils/interactivity/constants.js +1 -1
  891. package/build/utils/interactivity/constants.js.map +1 -1
  892. package/build/utils/interactivity/directives.js +79 -93
  893. package/build/utils/interactivity/directives.js.map +1 -1
  894. package/build/utils/interactivity/hooks.js +29 -46
  895. package/build/utils/interactivity/hooks.js.map +1 -1
  896. package/build/utils/interactivity/hydration.js +1 -1
  897. package/build/utils/interactivity/hydration.js.map +1 -1
  898. package/build/utils/interactivity/index.js +1 -3
  899. package/build/utils/interactivity/index.js.map +1 -1
  900. package/build/utils/interactivity/store.js +4 -5
  901. package/build/utils/interactivity/store.js.map +1 -1
  902. package/build/utils/interactivity/vdom.js +14 -4
  903. package/build/utils/interactivity/vdom.js.map +1 -1
  904. package/build/utils/migrate-font-family.js +3 -5
  905. package/build/utils/migrate-font-family.js.map +1 -1
  906. package/build/utils/search-patterns.js +5 -19
  907. package/build/utils/search-patterns.js.map +1 -1
  908. package/build/utils/transformation-categories.native.js +1 -4
  909. package/build/utils/transformation-categories.native.js.map +1 -1
  910. package/build/verse/deprecated.js +14 -18
  911. package/build/verse/deprecated.js.map +1 -1
  912. package/build/verse/edit.js +11 -14
  913. package/build/verse/edit.js.map +1 -1
  914. package/build/verse/index.js +1 -1
  915. package/build/verse/save.js +7 -7
  916. package/build/verse/save.js.map +1 -1
  917. package/build/video/deprecated.js +6 -6
  918. package/build/video/deprecated.js.map +1 -1
  919. package/build/video/edit-common-settings.js +4 -5
  920. package/build/video/edit-common-settings.js.map +1 -1
  921. package/build/video/edit.js +22 -29
  922. package/build/video/edit.js.map +1 -1
  923. package/build/video/edit.native.js +26 -32
  924. package/build/video/edit.native.js.map +1 -1
  925. package/build/video/index.js +1 -1
  926. package/build/video/save.js +5 -5
  927. package/build/video/save.js.map +1 -1
  928. package/build/video/tracks-editor.js +39 -51
  929. package/build/video/tracks-editor.js.map +1 -1
  930. package/build/video/tracks.js +7 -11
  931. package/build/video/tracks.js.map +1 -1
  932. package/build/video/transforms.js +30 -35
  933. package/build/video/transforms.js.map +1 -1
  934. package/build-module/archives/edit.js +6 -6
  935. package/build-module/archives/edit.js.map +1 -1
  936. package/build-module/archives/index.js +1 -2
  937. package/build-module/archives/index.js.map +1 -1
  938. package/build-module/audio/deprecated.js +3 -4
  939. package/build-module/audio/deprecated.js.map +1 -1
  940. package/build-module/audio/edit.js +13 -15
  941. package/build-module/audio/edit.js.map +1 -1
  942. package/build-module/audio/edit.native.js +22 -26
  943. package/build-module/audio/edit.native.js.map +1 -1
  944. package/build-module/audio/index.js +1 -1
  945. package/build-module/audio/save.js +5 -5
  946. package/build-module/audio/save.js.map +1 -1
  947. package/build-module/audio/transforms.js +25 -29
  948. package/build-module/audio/transforms.js.map +1 -1
  949. package/build-module/avatar/edit.js +67 -72
  950. package/build-module/avatar/edit.js.map +1 -1
  951. package/build-module/avatar/hooks.js +12 -16
  952. package/build-module/avatar/hooks.js.map +1 -1
  953. package/build-module/avatar/index.js +1 -2
  954. package/build-module/avatar/index.js.map +1 -1
  955. package/build-module/avatar/user-control.js +4 -5
  956. package/build-module/avatar/user-control.js.map +1 -1
  957. package/build-module/block/edit-title.native.js +4 -5
  958. package/build-module/block/edit-title.native.js.map +1 -1
  959. package/build-module/block/edit.js +15 -12
  960. package/build-module/block/edit.js.map +1 -1
  961. package/build-module/block/edit.native.js +7 -8
  962. package/build-module/block/edit.native.js.map +1 -1
  963. package/build-module/block/index.js +2 -2
  964. package/build-module/button/color-background.native.js +5 -6
  965. package/build-module/button/color-background.native.js.map +1 -1
  966. package/build-module/button/deprecated.js +75 -95
  967. package/build-module/button/deprecated.js.map +1 -1
  968. package/build-module/button/edit.js +14 -26
  969. package/build-module/button/edit.js.map +1 -1
  970. package/build-module/button/edit.native.js +26 -41
  971. package/build-module/button/edit.native.js.map +1 -1
  972. package/build-module/button/index.js +6 -9
  973. package/build-module/button/index.js.map +1 -1
  974. package/build-module/button/save.js +10 -12
  975. package/build-module/button/save.js.map +1 -1
  976. package/build-module/buttons/deprecated.js +19 -23
  977. package/build-module/buttons/deprecated.js.map +1 -1
  978. package/build-module/buttons/edit.js +8 -12
  979. package/build-module/buttons/edit.js.map +1 -1
  980. package/build-module/buttons/edit.native.js +19 -22
  981. package/build-module/buttons/edit.native.js.map +1 -1
  982. package/build-module/buttons/index.js +2 -2
  983. package/build-module/buttons/save.js +7 -9
  984. package/build-module/buttons/save.js.map +1 -1
  985. package/build-module/buttons/transforms.js +3 -3
  986. package/build-module/buttons/transforms.js.map +1 -1
  987. package/build-module/calendar/edit.js +8 -7
  988. package/build-module/calendar/edit.js.map +1 -1
  989. package/build-module/calendar/index.js +1 -2
  990. package/build-module/calendar/index.js.map +1 -1
  991. package/build-module/categories/edit.js +21 -24
  992. package/build-module/categories/edit.js.map +1 -1
  993. package/build-module/categories/index.js +1 -2
  994. package/build-module/categories/index.js.map +1 -1
  995. package/build-module/code/edit.js +7 -7
  996. package/build-module/code/edit.js.map +1 -1
  997. package/build-module/code/edit.native.js +1 -1
  998. package/build-module/code/edit.native.js.map +1 -1
  999. package/build-module/code/index.js +1 -1
  1000. package/build-module/code/save.js +5 -5
  1001. package/build-module/code/save.js.map +1 -1
  1002. package/build-module/code/transforms.js +6 -8
  1003. package/build-module/code/transforms.js.map +1 -1
  1004. package/build-module/column/column-preview.native.js +9 -11
  1005. package/build-module/column/column-preview.native.js.map +1 -1
  1006. package/build-module/column/deprecated.js +6 -8
  1007. package/build-module/column/deprecated.js.map +1 -1
  1008. package/build-module/column/edit.js +12 -12
  1009. package/build-module/column/edit.js.map +1 -1
  1010. package/build-module/column/edit.native.js +20 -24
  1011. package/build-module/column/edit.native.js.map +1 -1
  1012. package/build-module/column/index.js +2 -2
  1013. package/build-module/column/save.js +6 -6
  1014. package/build-module/column/save.js.map +1 -1
  1015. package/build-module/columns/columnCalculations.native.js +6 -9
  1016. package/build-module/columns/columnCalculations.native.js.map +1 -1
  1017. package/build-module/columns/deprecated.js +9 -12
  1018. package/build-module/columns/deprecated.js.map +1 -1
  1019. package/build-module/columns/edit.js +21 -24
  1020. package/build-module/columns/edit.js.map +1 -1
  1021. package/build-module/columns/edit.native.js +16 -19
  1022. package/build-module/columns/edit.native.js.map +1 -1
  1023. package/build-module/columns/index.js +2 -2
  1024. package/build-module/columns/save.js +5 -5
  1025. package/build-module/columns/save.js.map +1 -1
  1026. package/build-module/columns/transforms.js +11 -16
  1027. package/build-module/columns/transforms.js.map +1 -1
  1028. package/build-module/columns/utils.js +6 -13
  1029. package/build-module/columns/utils.js.map +1 -1
  1030. package/build-module/comment-author-avatar/edit.js +14 -14
  1031. package/build-module/comment-author-avatar/edit.js.map +1 -1
  1032. package/build-module/comment-author-avatar/index.js +1 -2
  1033. package/build-module/comment-author-avatar/index.js.map +1 -1
  1034. package/build-module/comment-author-name/deprecated.js +4 -7
  1035. package/build-module/comment-author-name/deprecated.js.map +1 -1
  1036. package/build-module/comment-author-name/edit.js +15 -15
  1037. package/build-module/comment-author-name/edit.js.map +1 -1
  1038. package/build-module/comment-author-name/index.js +1 -2
  1039. package/build-module/comment-author-name/index.js.map +1 -1
  1040. package/build-module/comment-content/edit.js +13 -12
  1041. package/build-module/comment-content/edit.js.map +1 -1
  1042. package/build-module/comment-content/index.js +1 -2
  1043. package/build-module/comment-content/index.js.map +1 -1
  1044. package/build-module/comment-date/deprecated.js +4 -7
  1045. package/build-module/comment-date/deprecated.js.map +1 -1
  1046. package/build-module/comment-date/edit.js +12 -12
  1047. package/build-module/comment-date/edit.js.map +1 -1
  1048. package/build-module/comment-date/index.js +1 -2
  1049. package/build-module/comment-date/index.js.map +1 -1
  1050. package/build-module/comment-edit-link/edit.js +9 -9
  1051. package/build-module/comment-edit-link/edit.js.map +1 -1
  1052. package/build-module/comment-edit-link/index.js +1 -2
  1053. package/build-module/comment-edit-link/index.js.map +1 -1
  1054. package/build-module/comment-reply-link/edit.js +8 -8
  1055. package/build-module/comment-reply-link/edit.js.map +1 -1
  1056. package/build-module/comment-reply-link/index.js +1 -2
  1057. package/build-module/comment-reply-link/index.js.map +1 -1
  1058. package/build-module/comment-template/edit.js +66 -77
  1059. package/build-module/comment-template/edit.js.map +1 -1
  1060. package/build-module/comment-template/hooks.js +14 -17
  1061. package/build-module/comment-template/hooks.js.map +1 -1
  1062. package/build-module/comment-template/index.js +1 -2
  1063. package/build-module/comment-template/index.js.map +1 -1
  1064. package/build-module/comment-template/util.js +1 -3
  1065. package/build-module/comment-template/util.js.map +1 -1
  1066. package/build-module/comments/deprecated.js +10 -10
  1067. package/build-module/comments/deprecated.js.map +1 -1
  1068. package/build-module/comments/edit/comments-inspector-controls.js +6 -7
  1069. package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
  1070. package/build-module/comments/edit/comments-legacy.js +10 -10
  1071. package/build-module/comments/edit/comments-legacy.js.map +1 -1
  1072. package/build-module/comments/edit/index.js +4 -2
  1073. package/build-module/comments/edit/index.js.map +1 -1
  1074. package/build-module/comments/edit/placeholder.js +4 -5
  1075. package/build-module/comments/edit/placeholder.js.map +1 -1
  1076. package/build-module/comments/index.js +1 -2
  1077. package/build-module/comments/index.js.map +1 -1
  1078. package/build-module/comments/save.js +8 -8
  1079. package/build-module/comments/save.js.map +1 -1
  1080. package/build-module/comments-pagination/comments-pagination-arrow-controls.js +4 -5
  1081. package/build-module/comments-pagination/comments-pagination-arrow-controls.js.map +1 -1
  1082. package/build-module/comments-pagination/edit.js +11 -11
  1083. package/build-module/comments-pagination/edit.js.map +1 -1
  1084. package/build-module/comments-pagination/index.js +2 -3
  1085. package/build-module/comments-pagination/index.js.map +1 -1
  1086. package/build-module/comments-pagination-next/edit.js +13 -14
  1087. package/build-module/comments-pagination-next/edit.js.map +1 -1
  1088. package/build-module/comments-pagination-next/index.js +1 -2
  1089. package/build-module/comments-pagination-next/index.js.map +1 -1
  1090. package/build-module/comments-pagination-numbers/edit.js +13 -15
  1091. package/build-module/comments-pagination-numbers/edit.js.map +1 -1
  1092. package/build-module/comments-pagination-numbers/index.js +1 -2
  1093. package/build-module/comments-pagination-numbers/index.js.map +1 -1
  1094. package/build-module/comments-pagination-previous/edit.js +13 -14
  1095. package/build-module/comments-pagination-previous/edit.js.map +1 -1
  1096. package/build-module/comments-pagination-previous/index.js +1 -2
  1097. package/build-module/comments-pagination-previous/index.js.map +1 -1
  1098. package/build-module/comments-title/deprecated.js +5 -8
  1099. package/build-module/comments-title/deprecated.js.map +1 -1
  1100. package/build-module/comments-title/edit.js +17 -22
  1101. package/build-module/comments-title/edit.js.map +1 -1
  1102. package/build-module/comments-title/index.js +1 -1
  1103. package/build-module/cover/controls.native.js +92 -101
  1104. package/build-module/cover/controls.native.js.map +1 -1
  1105. package/build-module/cover/deprecated.js +79 -80
  1106. package/build-module/cover/deprecated.js.map +1 -1
  1107. package/build-module/cover/edit/block-controls.js +7 -8
  1108. package/build-module/cover/edit/block-controls.js.map +1 -1
  1109. package/build-module/cover/edit/cover-placeholder.js +8 -9
  1110. package/build-module/cover/edit/cover-placeholder.js.map +1 -1
  1111. package/build-module/cover/edit/index.js +24 -25
  1112. package/build-module/cover/edit/index.js.map +1 -1
  1113. package/build-module/cover/edit/inspector-controls.js +18 -20
  1114. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  1115. package/build-module/cover/edit/resizable-cover-popover.js +17 -18
  1116. package/build-module/cover/edit/resizable-cover-popover.js.map +1 -1
  1117. package/build-module/cover/edit/use-cover-is-dark.js +1 -3
  1118. package/build-module/cover/edit/use-cover-is-dark.js.map +1 -1
  1119. package/build-module/cover/edit.native.js +134 -155
  1120. package/build-module/cover/edit.native.js.map +1 -1
  1121. package/build-module/cover/focal-point-settings-button.native.js +6 -7
  1122. package/build-module/cover/focal-point-settings-button.native.js.map +1 -1
  1123. package/build-module/cover/index.js +2 -2
  1124. package/build-module/cover/overlay-color-settings.native.js +8 -9
  1125. package/build-module/cover/overlay-color-settings.native.js.map +1 -1
  1126. package/build-module/cover/save.js +12 -11
  1127. package/build-module/cover/save.js.map +1 -1
  1128. package/build-module/cover/shared.js +5 -6
  1129. package/build-module/cover/shared.js.map +1 -1
  1130. package/build-module/cover/transforms.js +116 -146
  1131. package/build-module/cover/transforms.js.map +1 -1
  1132. package/build-module/cover/use-cover-is-dark.native.js +1 -5
  1133. package/build-module/cover/use-cover-is-dark.native.js.map +1 -1
  1134. package/build-module/details/edit.js +8 -10
  1135. package/build-module/details/edit.js.map +1 -1
  1136. package/build-module/details/index.js +2 -3
  1137. package/build-module/details/index.js.map +1 -1
  1138. package/build-module/details/init.js +6 -0
  1139. package/build-module/details/init.js.map +1 -0
  1140. package/build-module/details/save.js +5 -7
  1141. package/build-module/details/save.js.map +1 -1
  1142. package/build-module/embed/deprecated.js +16 -18
  1143. package/build-module/embed/deprecated.js.map +1 -1
  1144. package/build-module/embed/edit.js +10 -9
  1145. package/build-module/embed/edit.js.map +1 -1
  1146. package/build-module/embed/edit.native.js +10 -7
  1147. package/build-module/embed/edit.native.js.map +1 -1
  1148. package/build-module/embed/embed-controls.js +22 -25
  1149. package/build-module/embed/embed-controls.js.map +1 -1
  1150. package/build-module/embed/embed-controls.native.js +9 -10
  1151. package/build-module/embed/embed-controls.native.js.map +1 -1
  1152. package/build-module/embed/embed-link-settings.native.js +9 -10
  1153. package/build-module/embed/embed-link-settings.native.js.map +1 -1
  1154. package/build-module/embed/embed-no-preview.native.js +8 -9
  1155. package/build-module/embed/embed-no-preview.native.js.map +1 -1
  1156. package/build-module/embed/embed-placeholder.js +10 -11
  1157. package/build-module/embed/embed-placeholder.js.map +1 -1
  1158. package/build-module/embed/embed-placeholder.native.js +11 -14
  1159. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  1160. package/build-module/embed/embed-preview.native.js +16 -17
  1161. package/build-module/embed/embed-preview.native.js.map +1 -1
  1162. package/build-module/embed/index.js +1 -1
  1163. package/build-module/embed/save.js +7 -7
  1164. package/build-module/embed/save.js.map +1 -1
  1165. package/build-module/embed/transforms.js +10 -18
  1166. package/build-module/embed/transforms.js.map +1 -1
  1167. package/build-module/embed/util.js +20 -51
  1168. package/build-module/embed/util.js.map +1 -1
  1169. package/build-module/embed/wp-embed-preview.js +18 -22
  1170. package/build-module/embed/wp-embed-preview.js.map +1 -1
  1171. package/build-module/embed/wp-embed-preview.native.js +8 -9
  1172. package/build-module/embed/wp-embed-preview.native.js.map +1 -1
  1173. package/build-module/file/deprecated.js +15 -15
  1174. package/build-module/file/deprecated.js.map +1 -1
  1175. package/build-module/file/edit.js +15 -18
  1176. package/build-module/file/edit.js.map +1 -1
  1177. package/build-module/file/edit.native.js +20 -25
  1178. package/build-module/file/edit.native.js.map +1 -1
  1179. package/build-module/file/index.js +1 -1
  1180. package/build-module/file/inspector.js +12 -13
  1181. package/build-module/file/inspector.js.map +1 -1
  1182. package/build-module/file/save.js +5 -5
  1183. package/build-module/file/save.js.map +1 -1
  1184. package/build-module/file/transforms.js +9 -15
  1185. package/build-module/file/transforms.js.map +1 -1
  1186. package/build-module/footnotes/edit.js +48 -0
  1187. package/build-module/footnotes/edit.js.map +1 -0
  1188. package/build-module/footnotes/format.js +126 -0
  1189. package/build-module/footnotes/format.js.map +1 -0
  1190. package/build-module/footnotes/index.js +48 -0
  1191. package/build-module/footnotes/index.js.map +1 -0
  1192. package/build-module/freeform/convert-to-blocks-button.js +3 -4
  1193. package/build-module/freeform/convert-to-blocks-button.js.map +1 -1
  1194. package/build-module/freeform/edit.js +16 -16
  1195. package/build-module/freeform/edit.js.map +1 -1
  1196. package/build-module/freeform/edit.native.js +2 -3
  1197. package/build-module/freeform/edit.native.js.map +1 -1
  1198. package/build-module/freeform/index.js +2 -2
  1199. package/build-module/freeform/modal.js +5 -5
  1200. package/build-module/freeform/modal.js.map +1 -1
  1201. package/build-module/freeform/save.js +3 -4
  1202. package/build-module/freeform/save.js.map +1 -1
  1203. package/build-module/gallery/deprecated.js +46 -58
  1204. package/build-module/gallery/deprecated.js.map +1 -1
  1205. package/build-module/gallery/edit-wrapper.js +4 -2
  1206. package/build-module/gallery/edit-wrapper.js.map +1 -1
  1207. package/build-module/gallery/edit.js +39 -63
  1208. package/build-module/gallery/edit.js.map +1 -1
  1209. package/build-module/gallery/gallery.js +2 -3
  1210. package/build-module/gallery/gallery.js.map +1 -1
  1211. package/build-module/gallery/gallery.native.js +3 -2
  1212. package/build-module/gallery/gallery.native.js.map +1 -1
  1213. package/build-module/gallery/gap-styles.js +6 -7
  1214. package/build-module/gallery/gap-styles.js.map +1 -1
  1215. package/build-module/gallery/index.js +2 -2
  1216. package/build-module/gallery/save.js +5 -6
  1217. package/build-module/gallery/save.js.map +1 -1
  1218. package/build-module/gallery/shared-icon.native.js +7 -8
  1219. package/build-module/gallery/shared-icon.native.js.map +1 -1
  1220. package/build-module/gallery/shared.js +4 -10
  1221. package/build-module/gallery/shared.js.map +1 -1
  1222. package/build-module/gallery/transforms.js +103 -142
  1223. package/build-module/gallery/transforms.js.map +1 -1
  1224. package/build-module/gallery/use-get-media.native.js +8 -15
  1225. package/build-module/gallery/use-get-media.native.js.map +1 -1
  1226. package/build-module/gallery/use-get-new-images.js +2 -2
  1227. package/build-module/gallery/use-get-new-images.js.map +1 -1
  1228. package/build-module/gallery/use-image-sizes.js +11 -19
  1229. package/build-module/gallery/use-image-sizes.js.map +1 -1
  1230. package/build-module/gallery/utils.js +2 -2
  1231. package/build-module/gallery/utils.js.map +1 -1
  1232. package/build-module/gallery/v1/edit.js +38 -68
  1233. package/build-module/gallery/v1/edit.js.map +1 -1
  1234. package/build-module/gallery/v1/gallery.js +10 -10
  1235. package/build-module/gallery/v1/gallery.js.map +1 -1
  1236. package/build-module/gallery/v1/save.js +8 -8
  1237. package/build-module/gallery/v1/save.js.map +1 -1
  1238. package/build-module/gallery/v1/shared.js +4 -10
  1239. package/build-module/gallery/v1/shared.js.map +1 -1
  1240. package/build-module/group/deprecated.js +25 -31
  1241. package/build-module/group/deprecated.js.map +1 -1
  1242. package/build-module/group/edit.js +18 -19
  1243. package/build-module/group/edit.js.map +1 -1
  1244. package/build-module/group/edit.native.js +14 -18
  1245. package/build-module/group/edit.native.js.map +1 -1
  1246. package/build-module/group/index.js +2 -2
  1247. package/build-module/group/placeholder.js +18 -20
  1248. package/build-module/group/placeholder.js.map +1 -1
  1249. package/build-module/group/save.js +7 -7
  1250. package/build-module/group/save.js.map +1 -1
  1251. package/build-module/group/variations.js +5 -23
  1252. package/build-module/group/variations.js.map +1 -1
  1253. package/build-module/heading/deprecated.js +26 -32
  1254. package/build-module/heading/deprecated.js.map +1 -1
  1255. package/build-module/heading/edit.js +17 -18
  1256. package/build-module/heading/edit.js.map +1 -1
  1257. package/build-module/heading/heading-level-icon.js +4 -5
  1258. package/build-module/heading/heading-level-icon.js.map +1 -1
  1259. package/build-module/heading/index.js +4 -5
  1260. package/build-module/heading/index.js.map +1 -1
  1261. package/build-module/heading/save.js +7 -7
  1262. package/build-module/heading/save.js.map +1 -1
  1263. package/build-module/heading/transforms.js +21 -28
  1264. package/build-module/heading/transforms.js.map +1 -1
  1265. package/build-module/home-link/edit.js +12 -16
  1266. package/build-module/home-link/edit.js.map +1 -1
  1267. package/build-module/home-link/index.js +1 -2
  1268. package/build-module/home-link/index.js.map +1 -1
  1269. package/build-module/html/edit.js +9 -9
  1270. package/build-module/html/edit.js.map +1 -1
  1271. package/build-module/html/index.js +1 -1
  1272. package/build-module/html/preview.js +5 -8
  1273. package/build-module/html/preview.js.map +1 -1
  1274. package/build-module/html/save.js +3 -4
  1275. package/build-module/html/save.js.map +1 -1
  1276. package/build-module/html/transforms.js +3 -4
  1277. package/build-module/html/transforms.js.map +1 -1
  1278. package/build-module/image/deprecated.js +29 -31
  1279. package/build-module/image/deprecated.js.map +1 -1
  1280. package/build-module/image/edit.js +19 -27
  1281. package/build-module/image/edit.js.map +1 -1
  1282. package/build-module/image/edit.native.js +48 -62
  1283. package/build-module/image/edit.native.js.map +1 -1
  1284. package/build-module/image/image.js +49 -60
  1285. package/build-module/image/image.js.map +1 -1
  1286. package/build-module/image/index.js +7 -9
  1287. package/build-module/image/index.js.map +1 -1
  1288. package/build-module/image/interactivity.js +140 -30
  1289. package/build-module/image/interactivity.js.map +1 -1
  1290. package/build-module/image/save.js +7 -7
  1291. package/build-module/image/save.js.map +1 -1
  1292. package/build-module/image/transforms.js +36 -46
  1293. package/build-module/image/transforms.js.map +1 -1
  1294. package/build-module/image/use-client-width.js +1 -3
  1295. package/build-module/image/use-client-width.js.map +1 -1
  1296. package/build-module/image/utils.js +4 -7
  1297. package/build-module/image/utils.js.map +1 -1
  1298. package/build-module/index.js +21 -44
  1299. package/build-module/index.js.map +1 -1
  1300. package/build-module/index.native.js +3 -6
  1301. package/build-module/index.native.js.map +1 -1
  1302. package/build-module/latest-comments/edit.js +7 -7
  1303. package/build-module/latest-comments/edit.js.map +1 -1
  1304. package/build-module/latest-comments/index.js +1 -2
  1305. package/build-module/latest-comments/index.js.map +1 -1
  1306. package/build-module/latest-posts/deprecated.js +4 -8
  1307. package/build-module/latest-posts/deprecated.js.map +1 -1
  1308. package/build-module/latest-posts/edit.js +39 -41
  1309. package/build-module/latest-posts/edit.js.map +1 -1
  1310. package/build-module/latest-posts/edit.native.js +8 -9
  1311. package/build-module/latest-posts/edit.native.js.map +1 -1
  1312. package/build-module/latest-posts/index.js +1 -2
  1313. package/build-module/latest-posts/index.js.map +1 -1
  1314. package/build-module/list/deprecated.js +22 -25
  1315. package/build-module/list/deprecated.js.map +1 -1
  1316. package/build-module/list/edit.js +13 -15
  1317. package/build-module/list/edit.js.map +1 -1
  1318. package/build-module/list/index.js +1 -1
  1319. package/build-module/list/ordered-list-settings.js +56 -35
  1320. package/build-module/list/ordered-list-settings.js.map +1 -1
  1321. package/build-module/list/save.js +9 -9
  1322. package/build-module/list/save.js.map +1 -1
  1323. package/build-module/list/tag-name.js +4 -4
  1324. package/build-module/list/tag-name.js.map +1 -1
  1325. package/build-module/list/tag-name.native.js +4 -4
  1326. package/build-module/list/tag-name.native.js.map +1 -1
  1327. package/build-module/list/transforms.js +11 -15
  1328. package/build-module/list/transforms.js.map +1 -1
  1329. package/build-module/list/utils.js +1 -1
  1330. package/build-module/list/utils.js.map +1 -1
  1331. package/build-module/list-item/edit.js +13 -18
  1332. package/build-module/list-item/edit.js.map +1 -1
  1333. package/build-module/list-item/edit.native.js +17 -24
  1334. package/build-module/list-item/edit.native.js.map +1 -1
  1335. package/build-module/list-item/hooks/use-enter.js +1 -3
  1336. package/build-module/list-item/hooks/use-enter.js.map +1 -1
  1337. package/build-module/list-item/hooks/use-enter.native.js +1 -3
  1338. package/build-module/list-item/hooks/use-enter.native.js.map +1 -1
  1339. package/build-module/list-item/hooks/use-indent-list-item.js +1 -3
  1340. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  1341. package/build-module/list-item/hooks/use-merge.js +1 -1
  1342. package/build-module/list-item/hooks/use-outdent-list-item.js +2 -4
  1343. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  1344. package/build-module/list-item/index.js +1 -1
  1345. package/build-module/list-item/list-style-type.native.js +29 -34
  1346. package/build-module/list-item/list-style-type.native.js.map +1 -1
  1347. package/build-module/list-item/save.js +5 -5
  1348. package/build-module/list-item/save.js.map +1 -1
  1349. package/build-module/list-item/transforms.js +1 -4
  1350. package/build-module/list-item/transforms.js.map +1 -1
  1351. package/build-module/list-item/utils.js +4 -4
  1352. package/build-module/list-item/utils.js.map +1 -1
  1353. package/build-module/{private-apis.js → lock-unlock.js} +1 -1
  1354. package/build-module/lock-unlock.js.map +1 -0
  1355. package/build-module/loginout/edit.js +8 -8
  1356. package/build-module/loginout/edit.js.map +1 -1
  1357. package/build-module/loginout/index.js +1 -2
  1358. package/build-module/loginout/index.js.map +1 -1
  1359. package/build-module/media-text/deprecated.js +65 -64
  1360. package/build-module/media-text/deprecated.js.map +1 -1
  1361. package/build-module/media-text/edit.js +31 -42
  1362. package/build-module/media-text/edit.js.map +1 -1
  1363. package/build-module/media-text/edit.native.js +9 -13
  1364. package/build-module/media-text/edit.native.js.map +1 -1
  1365. package/build-module/media-text/index.js +1 -1
  1366. package/build-module/media-text/media-container.js +23 -24
  1367. package/build-module/media-text/media-container.js.map +1 -1
  1368. package/build-module/media-text/media-container.native.js +12 -12
  1369. package/build-module/media-text/media-container.native.js.map +1 -1
  1370. package/build-module/media-text/save.js +20 -17
  1371. package/build-module/media-text/save.js.map +1 -1
  1372. package/build-module/media-text/transforms.js +73 -91
  1373. package/build-module/media-text/transforms.js.map +1 -1
  1374. package/build-module/missing/edit.js +13 -14
  1375. package/build-module/missing/edit.js.map +1 -1
  1376. package/build-module/missing/edit.native.js +7 -8
  1377. package/build-module/missing/edit.native.js.map +1 -1
  1378. package/build-module/missing/index.js +4 -6
  1379. package/build-module/missing/index.js.map +1 -1
  1380. package/build-module/missing/save.js +3 -4
  1381. package/build-module/missing/save.js.map +1 -1
  1382. package/build-module/more/edit.js +13 -16
  1383. package/build-module/more/edit.js.map +1 -1
  1384. package/build-module/more/edit.native.js +3 -8
  1385. package/build-module/more/edit.native.js.map +1 -1
  1386. package/build-module/more/index.js +4 -6
  1387. package/build-module/more/index.js.map +1 -1
  1388. package/build-module/more/save.js +6 -7
  1389. package/build-module/more/save.js.map +1 -1
  1390. package/build-module/navigation/constants.js +6 -0
  1391. package/build-module/navigation/constants.js.map +1 -1
  1392. package/build-module/navigation/deprecated.js +17 -28
  1393. package/build-module/navigation/deprecated.js.map +1 -1
  1394. package/build-module/navigation/edit/are-blocks-dirty.js +1 -1
  1395. package/build-module/navigation/edit/are-blocks-dirty.js.map +1 -1
  1396. package/build-module/navigation/edit/deleted-navigation-warning.js +3 -4
  1397. package/build-module/navigation/edit/deleted-navigation-warning.js.map +1 -1
  1398. package/build-module/navigation/edit/index.js +68 -62
  1399. package/build-module/navigation/edit/index.js.map +1 -1
  1400. package/build-module/navigation/edit/inner-blocks.js +12 -15
  1401. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  1402. package/build-module/navigation/edit/leaf-more-menu.js +38 -43
  1403. package/build-module/navigation/edit/leaf-more-menu.js.map +1 -1
  1404. package/build-module/navigation/edit/manage-menus-button.js +5 -6
  1405. package/build-module/navigation/edit/manage-menus-button.js.map +1 -1
  1406. package/build-module/navigation/edit/menu-inspector-controls.js +52 -52
  1407. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
  1408. package/build-module/navigation/edit/navigation-menu-delete-control.js +3 -4
  1409. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  1410. package/build-module/navigation/edit/navigation-menu-selector.js +63 -61
  1411. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  1412. package/build-module/navigation/edit/overlay-menu-icon.js +3 -5
  1413. package/build-module/navigation/edit/overlay-menu-icon.js.map +1 -1
  1414. package/build-module/navigation/edit/overlay-menu-preview.js +5 -6
  1415. package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -1
  1416. package/build-module/navigation/edit/placeholder/index.js +10 -11
  1417. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  1418. package/build-module/navigation/edit/placeholder/placeholder-preview.js +3 -4
  1419. package/build-module/navigation/edit/placeholder/placeholder-preview.js.map +1 -1
  1420. package/build-module/navigation/edit/responsive-wrapper.js +20 -21
  1421. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  1422. package/build-module/navigation/edit/unsaved-inner-blocks.js +14 -20
  1423. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  1424. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +2 -3
  1425. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  1426. package/build-module/navigation/edit/use-create-navigation-menu.js +3 -7
  1427. package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
  1428. package/build-module/navigation/edit/use-generate-default-navigation-title.js +1 -5
  1429. package/build-module/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  1430. package/build-module/navigation/edit/use-inner-blocks.js +1 -1
  1431. package/build-module/navigation/edit/use-inner-blocks.js.map +1 -1
  1432. package/build-module/navigation/edit/use-navigation-notice.js +4 -5
  1433. package/build-module/navigation/edit/use-navigation-notice.js.map +1 -1
  1434. package/build-module/navigation/edit/utils.js +2 -4
  1435. package/build-module/navigation/edit/utils.js.map +1 -1
  1436. package/build-module/navigation/index.js +2 -3
  1437. package/build-module/navigation/index.js.map +1 -1
  1438. package/build-module/navigation/interactivity.js +97 -87
  1439. package/build-module/navigation/interactivity.js.map +1 -1
  1440. package/build-module/navigation/menu-items-to-blocks.js +25 -34
  1441. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  1442. package/build-module/navigation/save.js +3 -5
  1443. package/build-module/navigation/save.js.map +1 -1
  1444. package/build-module/navigation/use-navigation-entities.js +2 -2
  1445. package/build-module/navigation/use-navigation-entities.js.map +1 -1
  1446. package/build-module/navigation/use-navigation-menu.js +9 -8
  1447. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  1448. package/build-module/navigation/use-template-part-area-label.js +3 -5
  1449. package/build-module/navigation/use-template-part-area-label.js.map +1 -1
  1450. package/build-module/navigation/view-modal.js +2 -4
  1451. package/build-module/navigation/view-modal.js.map +1 -1
  1452. package/build-module/navigation/view.js +1 -1
  1453. package/build-module/navigation/view.js.map +1 -1
  1454. package/build-module/navigation-link/edit.js +19 -24
  1455. package/build-module/navigation-link/edit.js.map +1 -1
  1456. package/build-module/navigation-link/hooks.js +2 -2
  1457. package/build-module/navigation-link/hooks.js.map +1 -1
  1458. package/build-module/navigation-link/index.js +11 -16
  1459. package/build-module/navigation-link/index.js.map +1 -1
  1460. package/build-module/navigation-link/link-ui.js +10 -9
  1461. package/build-module/navigation-link/link-ui.js.map +1 -1
  1462. package/build-module/navigation-link/update-attributes.js +1 -4
  1463. package/build-module/navigation-link/update-attributes.js.map +1 -1
  1464. package/build-module/navigation-submenu/edit.js +17 -18
  1465. package/build-module/navigation-submenu/edit.js.map +1 -1
  1466. package/build-module/navigation-submenu/index.js +7 -12
  1467. package/build-module/navigation-submenu/index.js.map +1 -1
  1468. package/build-module/navigation-submenu/transforms.js +6 -30
  1469. package/build-module/navigation-submenu/transforms.js.map +1 -1
  1470. package/build-module/nextpage/edit.js +2 -1
  1471. package/build-module/nextpage/edit.js.map +1 -1
  1472. package/build-module/nextpage/edit.native.js +8 -9
  1473. package/build-module/nextpage/edit.native.js.map +1 -1
  1474. package/build-module/nextpage/index.js +1 -1
  1475. package/build-module/page-list/convert-to-links-modal.js +5 -6
  1476. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  1477. package/build-module/page-list/edit.js +35 -41
  1478. package/build-module/page-list/edit.js.map +1 -1
  1479. package/build-module/page-list/index.js +1 -2
  1480. package/build-module/page-list/index.js.map +1 -1
  1481. package/build-module/page-list/use-convert-to-navigation-links.js +16 -21
  1482. package/build-module/page-list/use-convert-to-navigation-links.js.map +1 -1
  1483. package/build-module/page-list-item/edit.js +7 -7
  1484. package/build-module/page-list-item/edit.js.map +1 -1
  1485. package/build-module/page-list-item/index.js +4 -7
  1486. package/build-module/page-list-item/index.js.map +1 -1
  1487. package/build-module/paragraph/deprecated.js +23 -28
  1488. package/build-module/paragraph/deprecated.js.map +1 -1
  1489. package/build-module/paragraph/edit.js +16 -19
  1490. package/build-module/paragraph/edit.js.map +1 -1
  1491. package/build-module/paragraph/edit.native.js +13 -16
  1492. package/build-module/paragraph/edit.native.js.map +1 -1
  1493. package/build-module/paragraph/index.js +4 -6
  1494. package/build-module/paragraph/index.js.map +1 -1
  1495. package/build-module/paragraph/save.js +8 -8
  1496. package/build-module/paragraph/save.js.map +1 -1
  1497. package/build-module/paragraph/transforms.js +10 -13
  1498. package/build-module/paragraph/transforms.js.map +1 -1
  1499. package/build-module/pattern/edit.js +12 -40
  1500. package/build-module/pattern/edit.js.map +1 -1
  1501. package/build-module/pattern/index.js +5 -14
  1502. package/build-module/pattern/index.js.map +1 -1
  1503. package/build-module/post-author/edit.js +22 -24
  1504. package/build-module/post-author/edit.js.map +1 -1
  1505. package/build-module/post-author/index.js +1 -2
  1506. package/build-module/post-author/index.js.map +1 -1
  1507. package/build-module/post-author-biography/edit.js +14 -18
  1508. package/build-module/post-author-biography/edit.js.map +1 -1
  1509. package/build-module/post-author-biography/index.js +1 -2
  1510. package/build-module/post-author-biography/index.js.map +1 -1
  1511. package/build-module/post-author-name/edit.js +16 -18
  1512. package/build-module/post-author-name/edit.js.map +1 -1
  1513. package/build-module/post-author-name/index.js +1 -2
  1514. package/build-module/post-author-name/index.js.map +1 -1
  1515. package/build-module/post-author-name/transforms.js +10 -16
  1516. package/build-module/post-author-name/transforms.js.map +1 -1
  1517. package/build-module/post-comment/edit.js +10 -9
  1518. package/build-module/post-comment/edit.js.map +1 -1
  1519. package/build-module/post-comment/index.js +1 -1
  1520. package/build-module/post-comment/save.js +2 -1
  1521. package/build-module/post-comment/save.js.map +1 -1
  1522. package/build-module/post-comments-count/edit.js +8 -12
  1523. package/build-module/post-comments-count/edit.js.map +1 -1
  1524. package/build-module/post-comments-count/index.js +1 -2
  1525. package/build-module/post-comments-count/index.js.map +1 -1
  1526. package/build-module/post-comments-form/edit.js +7 -7
  1527. package/build-module/post-comments-form/edit.js.map +1 -1
  1528. package/build-module/post-comments-form/form.js +5 -10
  1529. package/build-module/post-comments-form/form.js.map +1 -1
  1530. package/build-module/post-comments-form/index.js +1 -2
  1531. package/build-module/post-comments-form/index.js.map +1 -1
  1532. package/build-module/post-comments-link/edit.js +7 -7
  1533. package/build-module/post-comments-link/edit.js.map +1 -1
  1534. package/build-module/post-comments-link/index.js +1 -2
  1535. package/build-module/post-comments-link/index.js.map +1 -1
  1536. package/build-module/post-content/edit.js +37 -30
  1537. package/build-module/post-content/edit.js.map +1 -1
  1538. package/build-module/post-content/index.js +2 -3
  1539. package/build-module/post-content/index.js.map +1 -1
  1540. package/build-module/post-date/deprecated.js +4 -7
  1541. package/build-module/post-date/deprecated.js.map +1 -1
  1542. package/build-module/post-date/edit.js +29 -34
  1543. package/build-module/post-date/edit.js.map +1 -1
  1544. package/build-module/post-date/index.js +1 -2
  1545. package/build-module/post-date/index.js.map +1 -1
  1546. package/build-module/post-excerpt/edit.js +25 -25
  1547. package/build-module/post-excerpt/edit.js.map +1 -1
  1548. package/build-module/post-excerpt/index.js +3 -4
  1549. package/build-module/post-excerpt/index.js.map +1 -1
  1550. package/build-module/post-featured-image/dimension-controls.js +12 -13
  1551. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  1552. package/build-module/post-featured-image/edit.js +31 -39
  1553. package/build-module/post-featured-image/edit.js.map +1 -1
  1554. package/build-module/post-featured-image/index.js +1 -2
  1555. package/build-module/post-featured-image/index.js.map +1 -1
  1556. package/build-module/post-featured-image/overlay.js +11 -12
  1557. package/build-module/post-featured-image/overlay.js.map +1 -1
  1558. package/build-module/post-navigation-link/edit.js +13 -13
  1559. package/build-module/post-navigation-link/edit.js.map +1 -1
  1560. package/build-module/post-navigation-link/index.js +1 -2
  1561. package/build-module/post-navigation-link/index.js.map +1 -1
  1562. package/build-module/post-template/edit.js +109 -90
  1563. package/build-module/post-template/edit.js.map +1 -1
  1564. package/build-module/post-template/index.js +10 -5
  1565. package/build-module/post-template/index.js.map +1 -1
  1566. package/build-module/post-terms/edit.js +13 -22
  1567. package/build-module/post-terms/edit.js.map +1 -1
  1568. package/build-module/post-terms/hooks.js +9 -5
  1569. package/build-module/post-terms/hooks.js.map +1 -1
  1570. package/build-module/post-terms/index.js +1 -2
  1571. package/build-module/post-terms/index.js.map +1 -1
  1572. package/build-module/post-terms/use-post-terms.js +7 -12
  1573. package/build-module/post-terms/use-post-terms.js.map +1 -1
  1574. package/build-module/post-time-to-read/edit.js +7 -7
  1575. package/build-module/post-time-to-read/edit.js.map +1 -1
  1576. package/build-module/post-time-to-read/index.js +1 -1
  1577. package/build-module/post-time-to-read/init.js +6 -0
  1578. package/build-module/post-time-to-read/init.js.map +1 -0
  1579. package/build-module/post-title/deprecated.js +4 -7
  1580. package/build-module/post-title/deprecated.js.map +1 -1
  1581. package/build-module/post-title/edit.js +38 -32
  1582. package/build-module/post-title/edit.js.map +1 -1
  1583. package/build-module/post-title/index.js +2 -3
  1584. package/build-module/post-title/index.js.map +1 -1
  1585. package/build-module/preformatted/edit.js +11 -13
  1586. package/build-module/preformatted/edit.js.map +1 -1
  1587. package/build-module/preformatted/edit.native.js +7 -8
  1588. package/build-module/preformatted/edit.native.js.map +1 -1
  1589. package/build-module/preformatted/index.js +1 -1
  1590. package/build-module/preformatted/save.js +5 -5
  1591. package/build-module/preformatted/save.js.map +1 -1
  1592. package/build-module/preformatted/transforms.js +14 -20
  1593. package/build-module/preformatted/transforms.js.map +1 -1
  1594. package/build-module/pullquote/deprecated.js +71 -81
  1595. package/build-module/pullquote/deprecated.js.map +1 -1
  1596. package/build-module/pullquote/edit.js +8 -8
  1597. package/build-module/pullquote/edit.js.map +1 -1
  1598. package/build-module/pullquote/edit.native.js +15 -22
  1599. package/build-module/pullquote/edit.native.js.map +1 -1
  1600. package/build-module/pullquote/figure.native.js +5 -6
  1601. package/build-module/pullquote/figure.native.js.map +1 -1
  1602. package/build-module/pullquote/index.js +1 -1
  1603. package/build-module/pullquote/save.js +8 -8
  1604. package/build-module/pullquote/save.js.map +1 -1
  1605. package/build-module/pullquote/transforms.js +17 -24
  1606. package/build-module/pullquote/transforms.js.map +1 -1
  1607. package/build-module/query/deprecated.js +208 -83
  1608. package/build-module/query/deprecated.js.map +1 -1
  1609. package/build-module/query/edit/index.js +2 -3
  1610. package/build-module/query/edit/index.js.map +1 -1
  1611. package/build-module/query/edit/inspector-controls/author-control.js +5 -8
  1612. package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
  1613. package/build-module/query/edit/inspector-controls/create-new-post-link.js +6 -7
  1614. package/build-module/query/edit/inspector-controls/create-new-post-link.js.map +1 -1
  1615. package/build-module/query/edit/inspector-controls/index.js +7 -8
  1616. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  1617. package/build-module/query/edit/inspector-controls/order-control.js +5 -6
  1618. package/build-module/query/edit/inspector-controls/order-control.js.map +1 -1
  1619. package/build-module/query/edit/inspector-controls/parent-control.js +10 -13
  1620. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
  1621. package/build-module/query/edit/inspector-controls/sticky-control.js +4 -5
  1622. package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -1
  1623. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +15 -19
  1624. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  1625. package/build-module/query/edit/pattern-selection-modal.js +5 -6
  1626. package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
  1627. package/build-module/query/edit/query-content.js +26 -15
  1628. package/build-module/query/edit/query-content.js.map +1 -1
  1629. package/build-module/query/edit/query-placeholder.js +20 -22
  1630. package/build-module/query/edit/query-placeholder.js.map +1 -1
  1631. package/build-module/query/edit/query-toolbar.js +18 -42
  1632. package/build-module/query/edit/query-toolbar.js.map +1 -1
  1633. package/build-module/query/index.js +2 -9
  1634. package/build-module/query/index.js.map +1 -1
  1635. package/build-module/query/save.js +7 -7
  1636. package/build-module/query/save.js.map +1 -1
  1637. package/build-module/query/utils.js +25 -62
  1638. package/build-module/query/utils.js.map +1 -1
  1639. package/build-module/query-no-results/edit.js +2 -1
  1640. package/build-module/query-no-results/edit.js.map +1 -1
  1641. package/build-module/query-no-results/index.js +1 -2
  1642. package/build-module/query-no-results/index.js.map +1 -1
  1643. package/build-module/query-pagination/deprecated.js +2 -1
  1644. package/build-module/query-pagination/deprecated.js.map +1 -1
  1645. package/build-module/query-pagination/edit.js +30 -12
  1646. package/build-module/query-pagination/edit.js.map +1 -1
  1647. package/build-module/query-pagination/index.js +8 -4
  1648. package/build-module/query-pagination/index.js.map +1 -1
  1649. package/build-module/query-pagination/query-pagination-arrow-controls.js +4 -5
  1650. package/build-module/query-pagination/query-pagination-arrow-controls.js.map +1 -1
  1651. package/build-module/query-pagination/query-pagination-label-control.js +20 -0
  1652. package/build-module/query-pagination/query-pagination-label-control.js.map +1 -0
  1653. package/build-module/query-pagination-next/edit.js +14 -14
  1654. package/build-module/query-pagination-next/edit.js.map +1 -1
  1655. package/build-module/query-pagination-next/index.js +2 -3
  1656. package/build-module/query-pagination-next/index.js.map +1 -1
  1657. package/build-module/query-pagination-numbers/edit.js +5 -8
  1658. package/build-module/query-pagination-numbers/edit.js.map +1 -1
  1659. package/build-module/query-pagination-numbers/index.js +1 -2
  1660. package/build-module/query-pagination-numbers/index.js.map +1 -1
  1661. package/build-module/query-pagination-previous/edit.js +15 -15
  1662. package/build-module/query-pagination-previous/edit.js.map +1 -1
  1663. package/build-module/query-pagination-previous/index.js +2 -3
  1664. package/build-module/query-pagination-previous/index.js.map +1 -1
  1665. package/build-module/query-title/deprecated.js +4 -7
  1666. package/build-module/query-title/deprecated.js.map +1 -1
  1667. package/build-module/query-title/edit.js +18 -21
  1668. package/build-module/query-title/edit.js.map +1 -1
  1669. package/build-module/query-title/index.js +1 -2
  1670. package/build-module/query-title/index.js.map +1 -1
  1671. package/build-module/quote/deprecated.js +21 -27
  1672. package/build-module/quote/deprecated.js.map +1 -1
  1673. package/build-module/quote/edit.js +15 -15
  1674. package/build-module/quote/edit.js.map +1 -1
  1675. package/build-module/quote/index.js +1 -1
  1676. package/build-module/quote/save.js +7 -7
  1677. package/build-module/quote/save.js.map +1 -1
  1678. package/build-module/quote/transforms.js +37 -57
  1679. package/build-module/quote/transforms.js.map +1 -1
  1680. package/build-module/read-more/edit.js +12 -13
  1681. package/build-module/read-more/edit.js.map +1 -1
  1682. package/build-module/read-more/index.js +1 -2
  1683. package/build-module/read-more/index.js.map +1 -1
  1684. package/build-module/rss/edit.js +8 -7
  1685. package/build-module/rss/edit.js.map +1 -1
  1686. package/build-module/rss/index.js +1 -2
  1687. package/build-module/rss/index.js.map +1 -1
  1688. package/build-module/search/edit.js +77 -34
  1689. package/build-module/search/edit.js.map +1 -1
  1690. package/build-module/search/edit.native.js +34 -44
  1691. package/build-module/search/edit.native.js.map +1 -1
  1692. package/build-module/search/index.js +9 -2
  1693. package/build-module/search/index.js.map +1 -1
  1694. package/build-module/search/view.js +65 -0
  1695. package/build-module/search/view.js.map +1 -0
  1696. package/build-module/separator/deprecated.js +8 -8
  1697. package/build-module/separator/deprecated.js.map +1 -1
  1698. package/build-module/separator/edit.js +11 -13
  1699. package/build-module/separator/edit.js.map +1 -1
  1700. package/build-module/separator/index.js +1 -1
  1701. package/build-module/separator/save.js +10 -12
  1702. package/build-module/separator/save.js.map +1 -1
  1703. package/build-module/shortcode/edit.js +8 -8
  1704. package/build-module/shortcode/edit.js.map +1 -1
  1705. package/build-module/shortcode/index.js +2 -2
  1706. package/build-module/shortcode/save.js +3 -4
  1707. package/build-module/shortcode/save.js.map +1 -1
  1708. package/build-module/shortcode/transforms.js +3 -4
  1709. package/build-module/shortcode/transforms.js.map +1 -1
  1710. package/build-module/site-logo/edit.js +68 -83
  1711. package/build-module/site-logo/edit.js.map +1 -1
  1712. package/build-module/site-logo/index.js +1 -2
  1713. package/build-module/site-logo/index.js.map +1 -1
  1714. package/build-module/site-logo/transforms.js +4 -5
  1715. package/build-module/site-logo/transforms.js.map +1 -1
  1716. package/build-module/site-tagline/deprecated.js +4 -7
  1717. package/build-module/site-tagline/deprecated.js.map +1 -1
  1718. package/build-module/site-tagline/edit.js +11 -11
  1719. package/build-module/site-tagline/edit.js.map +1 -1
  1720. package/build-module/site-tagline/icon.js +0 -3
  1721. package/build-module/site-tagline/icon.js.map +1 -1
  1722. package/build-module/site-tagline/index.js +1 -2
  1723. package/build-module/site-tagline/index.js.map +1 -1
  1724. package/build-module/site-title/deprecated.js +4 -7
  1725. package/build-module/site-title/deprecated.js.map +1 -1
  1726. package/build-module/site-title/edit/index.js +15 -17
  1727. package/build-module/site-title/edit/index.js.map +1 -1
  1728. package/build-module/site-title/index.js +1 -2
  1729. package/build-module/site-title/index.js.map +1 -1
  1730. package/build-module/site-title/transforms.js +4 -5
  1731. package/build-module/site-title/transforms.js.map +1 -1
  1732. package/build-module/social-link/edit.js +21 -18
  1733. package/build-module/social-link/edit.js.map +1 -1
  1734. package/build-module/social-link/edit.native.js +11 -13
  1735. package/build-module/social-link/edit.native.js.map +1 -1
  1736. package/build-module/social-link/index.js +2 -3
  1737. package/build-module/social-link/index.js.map +1 -1
  1738. package/build-module/social-links/deprecated.js +7 -8
  1739. package/build-module/social-links/deprecated.js.map +1 -1
  1740. package/build-module/social-links/edit.js +39 -44
  1741. package/build-module/social-links/edit.js.map +1 -1
  1742. package/build-module/social-links/edit.native.js +18 -25
  1743. package/build-module/social-links/edit.native.js.map +1 -1
  1744. package/build-module/social-links/index.js +4 -2
  1745. package/build-module/social-links/index.js.map +1 -1
  1746. package/build-module/social-links/save.js +2 -1
  1747. package/build-module/social-links/save.js.map +1 -1
  1748. package/build-module/spacer/controls.js +18 -21
  1749. package/build-module/spacer/controls.js.map +1 -1
  1750. package/build-module/spacer/controls.native.js +7 -8
  1751. package/build-module/spacer/controls.native.js.map +1 -1
  1752. package/build-module/spacer/deprecated.js +11 -11
  1753. package/build-module/spacer/deprecated.js.map +1 -1
  1754. package/build-module/spacer/edit.js +30 -32
  1755. package/build-module/spacer/edit.js.map +1 -1
  1756. package/build-module/spacer/edit.native.js +11 -12
  1757. package/build-module/spacer/edit.native.js.map +1 -1
  1758. package/build-module/spacer/index.js +1 -1
  1759. package/build-module/spacer/save.js +23 -14
  1760. package/build-module/spacer/save.js.map +1 -1
  1761. package/build-module/spacer/save.native.js +14 -14
  1762. package/build-module/spacer/save.native.js.map +1 -1
  1763. package/build-module/table/deprecated.js +83 -104
  1764. package/build-module/table/deprecated.js.map +1 -1
  1765. package/build-module/table/edit.js +51 -63
  1766. package/build-module/table/edit.js.map +1 -1
  1767. package/build-module/table/index.js +1 -1
  1768. package/build-module/table/save.js +35 -41
  1769. package/build-module/table/save.js.map +1 -1
  1770. package/build-module/table/state.js +32 -59
  1771. package/build-module/table/state.js.map +1 -1
  1772. package/build-module/table/transforms.js +17 -20
  1773. package/build-module/table/transforms.js.map +1 -1
  1774. package/build-module/table-of-contents/edit.js +13 -12
  1775. package/build-module/table-of-contents/edit.js.map +1 -1
  1776. package/build-module/table-of-contents/index.js +1 -1
  1777. package/build-module/table-of-contents/list.js +3 -4
  1778. package/build-module/table-of-contents/list.js.map +1 -1
  1779. package/build-module/table-of-contents/save.js +7 -8
  1780. package/build-module/table-of-contents/save.js.map +1 -1
  1781. package/build-module/table-of-contents/utils.js +1 -3
  1782. package/build-module/table-of-contents/utils.js.map +1 -1
  1783. package/build-module/tag-cloud/edit.js +8 -9
  1784. package/build-module/tag-cloud/edit.js.map +1 -1
  1785. package/build-module/tag-cloud/index.js +1 -2
  1786. package/build-module/tag-cloud/index.js.map +1 -1
  1787. package/build-module/template-part/edit/advanced-controls.js +15 -19
  1788. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  1789. package/build-module/template-part/edit/import-controls.js +7 -11
  1790. package/build-module/template-part/edit/import-controls.js.map +1 -1
  1791. package/build-module/template-part/edit/index.js +15 -12
  1792. package/build-module/template-part/edit/index.js.map +1 -1
  1793. package/build-module/template-part/edit/inner-blocks.js +11 -13
  1794. package/build-module/template-part/edit/inner-blocks.js.map +1 -1
  1795. package/build-module/template-part/edit/placeholder.js +7 -8
  1796. package/build-module/template-part/edit/placeholder.js.map +1 -1
  1797. package/build-module/template-part/edit/selection-modal.js +8 -11
  1798. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  1799. package/build-module/template-part/edit/title-modal.js +5 -6
  1800. package/build-module/template-part/edit/title-modal.js.map +1 -1
  1801. package/build-module/template-part/edit/utils/hooks.js +4 -6
  1802. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  1803. package/build-module/template-part/edit/utils/transformers.js +3 -6
  1804. package/build-module/template-part/edit/utils/transformers.js.map +1 -1
  1805. package/build-module/template-part/index.js +11 -20
  1806. package/build-module/template-part/index.js.map +1 -1
  1807. package/build-module/template-part/variations.js +2 -2
  1808. package/build-module/template-part/variations.js.map +1 -1
  1809. package/build-module/term-description/edit.js +7 -7
  1810. package/build-module/term-description/edit.js.map +1 -1
  1811. package/build-module/term-description/index.js +1 -2
  1812. package/build-module/term-description/index.js.map +1 -1
  1813. package/build-module/text-columns/edit.js +9 -11
  1814. package/build-module/text-columns/edit.js.map +1 -1
  1815. package/build-module/text-columns/index.js +1 -1
  1816. package/build-module/text-columns/save.js +14 -18
  1817. package/build-module/text-columns/save.js.map +1 -1
  1818. package/build-module/text-columns/transforms.js +14 -20
  1819. package/build-module/text-columns/transforms.js.map +1 -1
  1820. package/build-module/utils/init-block.native.js +1 -3
  1821. package/build-module/utils/init-block.native.js.map +1 -1
  1822. package/build-module/utils/interactivity/constants.js +1 -1
  1823. package/build-module/utils/interactivity/constants.js.map +1 -1
  1824. package/build-module/utils/interactivity/directives.js +74 -85
  1825. package/build-module/utils/interactivity/directives.js.map +1 -1
  1826. package/build-module/utils/interactivity/hooks.js +29 -46
  1827. package/build-module/utils/interactivity/hooks.js.map +1 -1
  1828. package/build-module/utils/interactivity/hydration.js +1 -1
  1829. package/build-module/utils/interactivity/hydration.js.map +1 -1
  1830. package/build-module/utils/interactivity/index.js +1 -3
  1831. package/build-module/utils/interactivity/index.js.map +1 -1
  1832. package/build-module/utils/interactivity/store.js +4 -5
  1833. package/build-module/utils/interactivity/store.js.map +1 -1
  1834. package/build-module/utils/interactivity/vdom.js +14 -4
  1835. package/build-module/utils/interactivity/vdom.js.map +1 -1
  1836. package/build-module/utils/migrate-font-family.js +2 -4
  1837. package/build-module/utils/migrate-font-family.js.map +1 -1
  1838. package/build-module/utils/search-patterns.js +5 -19
  1839. package/build-module/utils/search-patterns.js.map +1 -1
  1840. package/build-module/utils/transformation-categories.native.js +1 -4
  1841. package/build-module/utils/transformation-categories.native.js.map +1 -1
  1842. package/build-module/verse/deprecated.js +14 -18
  1843. package/build-module/verse/deprecated.js.map +1 -1
  1844. package/build-module/verse/edit.js +11 -13
  1845. package/build-module/verse/edit.js.map +1 -1
  1846. package/build-module/verse/index.js +1 -1
  1847. package/build-module/verse/save.js +7 -7
  1848. package/build-module/verse/save.js.map +1 -1
  1849. package/build-module/video/deprecated.js +6 -6
  1850. package/build-module/video/deprecated.js.map +1 -1
  1851. package/build-module/video/edit-common-settings.js +4 -5
  1852. package/build-module/video/edit-common-settings.js.map +1 -1
  1853. package/build-module/video/edit.js +22 -29
  1854. package/build-module/video/edit.js.map +1 -1
  1855. package/build-module/video/edit.native.js +26 -31
  1856. package/build-module/video/edit.native.js.map +1 -1
  1857. package/build-module/video/index.js +1 -1
  1858. package/build-module/video/save.js +5 -5
  1859. package/build-module/video/save.js.map +1 -1
  1860. package/build-module/video/tracks-editor.js +39 -51
  1861. package/build-module/video/tracks-editor.js.map +1 -1
  1862. package/build-module/video/tracks.js +7 -8
  1863. package/build-module/video/tracks.js.map +1 -1
  1864. package/build-module/video/transforms.js +30 -35
  1865. package/build-module/video/transforms.js.map +1 -1
  1866. package/build-style/avatar/style-rtl.css +1 -0
  1867. package/build-style/avatar/style.css +1 -0
  1868. package/build-style/editor-rtl.css +0 -17
  1869. package/build-style/editor.css +0 -17
  1870. package/build-style/footnotes/style-rtl.css +106 -0
  1871. package/build-style/footnotes/style.css +106 -0
  1872. package/build-style/image/style-rtl.css +87 -17
  1873. package/build-style/image/style.css +87 -17
  1874. package/build-style/navigation/editor-rtl.css +0 -17
  1875. package/build-style/navigation/editor.css +0 -17
  1876. package/build-style/post-template/style-rtl.css +6 -0
  1877. package/build-style/post-template/style.css +6 -0
  1878. package/build-style/search/style-rtl.css +30 -0
  1879. package/build-style/search/style.css +30 -0
  1880. package/build-style/social-links/style-rtl.css +4 -0
  1881. package/build-style/social-links/style.css +4 -0
  1882. package/build-style/style-rtl.css +156 -18
  1883. package/build-style/style.css +156 -18
  1884. package/build-style/term-description/style-rtl.css +97 -0
  1885. package/build-style/term-description/style.css +97 -0
  1886. package/package.json +33 -32
  1887. package/src/archives/block.json +1 -2
  1888. package/src/audio/block.json +1 -1
  1889. package/src/avatar/block.json +1 -2
  1890. package/src/avatar/style.scss +1 -0
  1891. package/src/block/block.json +2 -2
  1892. package/src/block/edit.js +1 -0
  1893. package/src/block/test/__snapshots__/transforms.native.js.snap +2 -2
  1894. package/src/block/test/edit.native.js +5 -7
  1895. package/src/block/test/transforms.native.js +1 -1
  1896. package/src/button/block.json +1 -1
  1897. package/src/buttons/block.json +2 -2
  1898. package/src/buttons/edit.native.js +7 -6
  1899. package/src/buttons/test/__snapshots__/edit.native.js.snap +6 -0
  1900. package/src/buttons/test/edit.native.js +30 -2
  1901. package/src/calendar/block.json +1 -2
  1902. package/src/categories/block.json +1 -2
  1903. package/src/code/block.json +1 -1
  1904. package/src/column/block.json +2 -2
  1905. package/src/columns/block.json +2 -2
  1906. package/src/columns/test/__snapshots__/edit.native.js.snap +72 -0
  1907. package/src/columns/test/edit.native.js +61 -32
  1908. package/src/comment-author-avatar/block.json +1 -2
  1909. package/src/comment-author-name/block.json +1 -2
  1910. package/src/comment-content/block.json +1 -2
  1911. package/src/comment-date/block.json +1 -2
  1912. package/src/comment-edit-link/block.json +1 -2
  1913. package/src/comment-reply-link/block.json +1 -2
  1914. package/src/comment-template/block.json +1 -2
  1915. package/src/comment-template/index.php +13 -1
  1916. package/src/comments/block.json +1 -2
  1917. package/src/comments/deprecated.js +1 -1
  1918. package/src/comments-pagination/block.json +2 -3
  1919. package/src/comments-pagination-next/block.json +1 -2
  1920. package/src/comments-pagination-next/index.php +1 -1
  1921. package/src/comments-pagination-numbers/block.json +1 -2
  1922. package/src/comments-pagination-previous/block.json +1 -2
  1923. package/src/comments-pagination-previous/index.php +1 -1
  1924. package/src/comments-title/block.json +1 -1
  1925. package/src/comments-title/edit.js +2 -6
  1926. package/src/cover/block.json +2 -2
  1927. package/src/cover/edit/resizable-cover-popover.js +1 -1
  1928. package/src/cover/test/edit.native.js +45 -31
  1929. package/src/cover/transforms.js +1 -1
  1930. package/src/details/block.json +2 -3
  1931. package/src/details/edit.js +12 -9
  1932. package/src/details/init.js +6 -0
  1933. package/src/embed/block.json +1 -1
  1934. package/src/embed/test/index.native.js +38 -44
  1935. package/src/file/block.json +1 -1
  1936. package/src/file/index.php +47 -7
  1937. package/src/footnotes/block.json +18 -0
  1938. package/src/footnotes/edit.js +52 -0
  1939. package/src/footnotes/format.js +112 -0
  1940. package/src/footnotes/index.js +29 -0
  1941. package/src/footnotes/index.php +78 -0
  1942. package/src/footnotes/style.scss +18 -0
  1943. package/src/freeform/block.json +2 -2
  1944. package/src/gallery/block.json +2 -2
  1945. package/src/gallery/edit.js +4 -1
  1946. package/src/gallery/gallery.native.js +1 -1
  1947. package/src/gallery/test/__snapshots__/index.native.js.snap +6 -0
  1948. package/src/gallery/test/index.native.js +23 -1
  1949. package/src/gallery/v1/save.js +1 -1
  1950. package/src/group/block.json +2 -2
  1951. package/src/group/deprecated.js +1 -1
  1952. package/src/group/test/edit.native.js +2 -4
  1953. package/src/heading/block.json +1 -1
  1954. package/src/heading/edit.js +2 -2
  1955. package/src/home-link/block.json +1 -2
  1956. package/src/html/block.json +1 -1
  1957. package/src/image/block.json +4 -4
  1958. package/src/image/edit.js +1 -1
  1959. package/src/image/image.js +23 -11
  1960. package/src/image/index.php +0 -72
  1961. package/src/image/interactivity.js +160 -13
  1962. package/src/image/style.scss +97 -15
  1963. package/src/image/test/edit.native.js +3 -13
  1964. package/src/index.js +3 -3
  1965. package/src/latest-comments/block.json +1 -2
  1966. package/src/latest-posts/block.json +1 -2
  1967. package/src/latest-posts/edit.js +17 -9
  1968. package/src/latest-posts/index.php +8 -0
  1969. package/src/list/block.json +1 -1
  1970. package/src/list/ordered-list-settings.js +20 -2
  1971. package/src/list/test/edit.native.js +5 -0
  1972. package/src/list-item/block.json +1 -1
  1973. package/src/loginout/block.json +1 -2
  1974. package/src/media-text/block.json +1 -1
  1975. package/src/media-text/edit.js +1 -1
  1976. package/src/missing/block.json +1 -1
  1977. package/src/more/block.json +1 -1
  1978. package/src/more/edit.native.js +8 -15
  1979. package/src/navigation/block.json +2 -3
  1980. package/src/navigation/constants.js +11 -0
  1981. package/src/navigation/deprecated.js +1 -1
  1982. package/src/navigation/edit/index.js +15 -6
  1983. package/src/navigation/edit/leaf-more-menu.js +1 -2
  1984. package/src/navigation/edit/menu-inspector-controls.js +67 -76
  1985. package/src/navigation/edit/navigation-menu-selector.js +17 -7
  1986. package/src/navigation/edit/unsaved-inner-blocks.js +6 -6
  1987. package/src/navigation/editor.scss +0 -22
  1988. package/src/navigation/index.php +183 -32
  1989. package/src/navigation/interactivity.js +75 -57
  1990. package/src/navigation/test/use-navigation-menu.js +15 -3
  1991. package/src/navigation/use-navigation-menu.js +11 -8
  1992. package/src/navigation-link/block.json +1 -1
  1993. package/src/navigation-link/edit.js +1 -9
  1994. package/src/navigation-link/hooks.js +2 -2
  1995. package/src/navigation-link/link-ui.js +12 -6
  1996. package/src/navigation-link/test/__snapshots__/hooks.js.snap +2 -2
  1997. package/src/navigation-submenu/block.json +1 -1
  1998. package/src/nextpage/block.json +1 -1
  1999. package/src/nextpage/edit.native.js +2 -2
  2000. package/src/page-list/block.json +1 -2
  2001. package/src/page-list-item/block.json +1 -1
  2002. package/src/page-list-item/index.php +14 -0
  2003. package/src/paragraph/block.json +1 -1
  2004. package/src/paragraph/test/__snapshots__/edit.native.js.snap +39 -0
  2005. package/src/paragraph/test/edit.native.js +3 -3
  2006. package/src/pattern/block.json +2 -6
  2007. package/src/pattern/edit.js +14 -40
  2008. package/src/pattern/index.js +4 -5
  2009. package/src/pattern/index.php +1 -13
  2010. package/src/post-author/block.json +1 -2
  2011. package/src/post-author/edit.js +3 -3
  2012. package/src/post-author-biography/block.json +1 -2
  2013. package/src/post-author-name/block.json +1 -2
  2014. package/src/post-comment/block.json +1 -1
  2015. package/src/post-comments-count/block.json +1 -2
  2016. package/src/post-comments-form/block.json +1 -2
  2017. package/src/post-comments-link/block.json +1 -2
  2018. package/src/post-content/block.json +2 -3
  2019. package/src/post-content/edit.js +22 -2
  2020. package/src/post-date/block.json +1 -2
  2021. package/src/post-excerpt/block.json +3 -4
  2022. package/src/post-excerpt/edit.js +5 -14
  2023. package/src/post-excerpt/index.php +2 -2
  2024. package/src/post-featured-image/block.json +1 -2
  2025. package/src/post-navigation-link/block.json +1 -2
  2026. package/src/post-template/block.json +10 -5
  2027. package/src/post-template/edit.js +67 -30
  2028. package/src/post-template/index.php +15 -9
  2029. package/src/post-template/style.scss +8 -1
  2030. package/src/post-terms/block.json +1 -2
  2031. package/src/post-terms/edit.js +8 -7
  2032. package/src/post-terms/hooks.js +3 -3
  2033. package/src/post-time-to-read/block.json +1 -1
  2034. package/src/post-time-to-read/init.js +6 -0
  2035. package/src/post-title/block.json +2 -3
  2036. package/src/post-title/edit.js +24 -19
  2037. package/src/post-title/index.php +1 -1
  2038. package/src/preformatted/block.json +1 -1
  2039. package/src/preformatted/test/edit.native.js +1 -13
  2040. package/src/pullquote/block.json +1 -1
  2041. package/src/query/block.json +2 -9
  2042. package/src/query/deprecated.js +173 -26
  2043. package/src/query/edit/inspector-controls/index.js +5 -3
  2044. package/src/query/edit/query-content.js +13 -5
  2045. package/src/query/edit/query-toolbar.js +3 -22
  2046. package/src/query-no-results/block.json +1 -2
  2047. package/src/query-pagination/block.json +8 -4
  2048. package/src/query-pagination/edit.js +18 -2
  2049. package/src/query-pagination/query-pagination-label-control.js +19 -0
  2050. package/src/query-pagination-next/block.json +2 -3
  2051. package/src/query-pagination-next/edit.js +13 -11
  2052. package/src/query-pagination-next/index.php +7 -2
  2053. package/src/query-pagination-numbers/block.json +1 -2
  2054. package/src/query-pagination-previous/block.json +2 -3
  2055. package/src/query-pagination-previous/edit.js +13 -11
  2056. package/src/query-pagination-previous/index.php +7 -2
  2057. package/src/query-title/block.json +1 -2
  2058. package/src/query-title/edit.js +2 -6
  2059. package/src/quote/block.json +1 -1
  2060. package/src/read-more/block.json +1 -2
  2061. package/src/rss/block.json +1 -2
  2062. package/src/search/block.json +9 -2
  2063. package/src/search/edit.js +63 -5
  2064. package/src/search/index.php +50 -51
  2065. package/src/search/style.scss +39 -0
  2066. package/src/search/view.js +68 -0
  2067. package/src/separator/block.json +1 -1
  2068. package/src/shortcode/block.json +2 -2
  2069. package/src/site-logo/block.json +1 -2
  2070. package/src/site-logo/index.php +1 -1
  2071. package/src/site-tagline/block.json +1 -2
  2072. package/src/site-tagline/icon.js +0 -1
  2073. package/src/site-title/block.json +1 -2
  2074. package/src/site-title/edit/index.js +5 -6
  2075. package/src/social-link/block.json +3 -2
  2076. package/src/social-link/edit.js +10 -1
  2077. package/src/social-link/index.php +22 -1
  2078. package/src/social-links/block.json +4 -2
  2079. package/src/social-links/style.scss +10 -0
  2080. package/src/spacer/block.json +1 -1
  2081. package/src/spacer/controls.js +1 -0
  2082. package/src/spacer/save.js +7 -2
  2083. package/src/spacer/test/index.native.js +33 -29
  2084. package/src/style.scss +2 -0
  2085. package/src/table/block.json +1 -1
  2086. package/src/table-of-contents/block.json +1 -1
  2087. package/src/tag-cloud/block.json +1 -2
  2088. package/src/template-part/block.json +1 -2
  2089. package/src/template-part/edit/inner-blocks.js +1 -1
  2090. package/src/template-part/index.php +18 -11
  2091. package/src/term-description/block.json +1 -2
  2092. package/src/term-description/style.scss +11 -0
  2093. package/src/text-columns/block.json +1 -1
  2094. package/src/utils/interactivity/constants.js +1 -1
  2095. package/src/utils/interactivity/directives.js +5 -5
  2096. package/src/utils/interactivity/hydration.js +1 -1
  2097. package/src/utils/interactivity/index.js +0 -2
  2098. package/src/utils/interactivity/vdom.js +21 -4
  2099. package/src/utils/migrate-font-family.js +1 -1
  2100. package/src/verse/block.json +1 -1
  2101. package/src/video/block.json +1 -1
  2102. package/build/heading/heading-level-dropdown.js +0 -82
  2103. package/build/heading/heading-level-dropdown.js.map +0 -1
  2104. package/build/heading/heading-level-dropdown.native.js +0 -74
  2105. package/build/heading/heading-level-dropdown.native.js.map +0 -1
  2106. package/build/pattern/v1/edit.js +0 -57
  2107. package/build/pattern/v1/edit.js.map +0 -1
  2108. package/build/private-apis.js.map +0 -1
  2109. package/build/site-title/edit/level-icon.js +0 -41
  2110. package/build/site-title/edit/level-icon.js.map +0 -1
  2111. package/build/site-title/edit/level-toolbar.js +0 -52
  2112. package/build/site-title/edit/level-toolbar.js.map +0 -1
  2113. package/build-module/heading/heading-level-dropdown.js +0 -70
  2114. package/build-module/heading/heading-level-dropdown.js.map +0 -1
  2115. package/build-module/heading/heading-level-dropdown.native.js +0 -62
  2116. package/build-module/heading/heading-level-dropdown.native.js.map +0 -1
  2117. package/build-module/pattern/v1/edit.js +0 -48
  2118. package/build-module/pattern/v1/edit.js.map +0 -1
  2119. package/build-module/private-apis.js.map +0 -1
  2120. package/build-module/site-title/edit/level-icon.js +0 -32
  2121. package/build-module/site-title/edit/level-icon.js.map +0 -1
  2122. package/build-module/site-title/edit/level-toolbar.js +0 -40
  2123. package/build-module/site-title/edit/level-toolbar.js.map +0 -1
  2124. package/src/heading/heading-level-dropdown.js +0 -69
  2125. package/src/heading/heading-level-dropdown.native.js +0 -63
  2126. package/src/pattern/v1/edit.js +0 -57
  2127. package/src/site-title/edit/level-icon.js +0 -28
  2128. package/src/site-title/edit/level-toolbar.js +0 -34
  2129. /package/src/{private-apis.js → lock-unlock.js} +0 -0
@@ -9,11 +9,10 @@ const INHERITED_COLUMN_ATTRIBUTES = ['align'];
9
9
  * @return {Object} New table state.
10
10
  */
11
11
 
12
- export function createTable(_ref) {
13
- let {
14
- rowCount,
15
- columnCount
16
- } = _ref;
12
+ export function createTable({
13
+ rowCount,
14
+ columnCount
15
+ }) {
17
16
  return {
18
17
  body: Array.from({
19
18
  length: rowCount
@@ -59,14 +58,12 @@ export function getFirstRow(state) {
59
58
  */
60
59
 
61
60
  export function getCellAttribute(state, cellLocation, attributeName) {
62
- var _state$sectionName, _state$sectionName$ro, _state$sectionName$ro2, _state$sectionName$ro3;
63
-
64
61
  const {
65
62
  sectionName,
66
63
  rowIndex,
67
64
  columnIndex
68
65
  } = cellLocation;
69
- return (_state$sectionName = state[sectionName]) === null || _state$sectionName === void 0 ? void 0 : (_state$sectionName$ro = _state$sectionName[rowIndex]) === null || _state$sectionName$ro === void 0 ? void 0 : (_state$sectionName$ro2 = _state$sectionName$ro.cells) === null || _state$sectionName$ro2 === void 0 ? void 0 : (_state$sectionName$ro3 = _state$sectionName$ro2[columnIndex]) === null || _state$sectionName$ro3 === void 0 ? void 0 : _state$sectionName$ro3[attributeName];
66
+ return state[sectionName]?.[rowIndex]?.cells?.[columnIndex]?.[attributeName];
70
67
  }
71
68
  /**
72
69
  * Returns updated cell attributes after applying the `updateCell` function to the selection.
@@ -83,17 +80,12 @@ export function updateSelectedCell(state, selection, updateCell) {
83
80
  return state;
84
81
  }
85
82
 
86
- const tableSections = Object.fromEntries(Object.entries(state).filter(_ref2 => {
87
- let [key] = _ref2;
88
- return ['head', 'body', 'foot'].includes(key);
89
- }));
83
+ const tableSections = Object.fromEntries(Object.entries(state).filter(([key]) => ['head', 'body', 'foot'].includes(key)));
90
84
  const {
91
85
  sectionName: selectionSectionName,
92
86
  rowIndex: selectionRowIndex
93
87
  } = selection;
94
- return Object.fromEntries(Object.entries(tableSections).map(_ref3 => {
95
- let [sectionName, section] = _ref3;
96
-
88
+ return Object.fromEntries(Object.entries(tableSections).map(([sectionName, section]) => {
97
89
  if (selectionSectionName && selectionSectionName !== sectionName) {
98
90
  return [sectionName, section];
99
91
  }
@@ -155,16 +147,13 @@ export function isCellSelected(cellLocation, selection) {
155
147
  * @return {Object} New table state.
156
148
  */
157
149
 
158
- export function insertRow(state, _ref4) {
159
- var _firstRow$cells;
160
-
161
- let {
162
- sectionName,
163
- rowIndex,
164
- columnCount
165
- } = _ref4;
150
+ export function insertRow(state, {
151
+ sectionName,
152
+ rowIndex,
153
+ columnCount
154
+ }) {
166
155
  const firstRow = getFirstRow(state);
167
- const cellCount = columnCount === undefined ? firstRow === null || firstRow === void 0 ? void 0 : (_firstRow$cells = firstRow.cells) === null || _firstRow$cells === void 0 ? void 0 : _firstRow$cells.length : columnCount; // Bail early if the function cannot determine how many cells to add.
156
+ const cellCount = columnCount === undefined ? firstRow?.cells?.length : columnCount; // Bail early if the function cannot determine how many cells to add.
168
157
 
169
158
  if (!cellCount) {
170
159
  return state;
@@ -175,13 +164,10 @@ export function insertRow(state, _ref4) {
175
164
  cells: Array.from({
176
165
  length: cellCount
177
166
  }).map((_, index) => {
178
- var _firstRow$cells$index, _firstRow$cells2;
167
+ var _firstRow$cells$index;
179
168
 
180
- const firstCellInColumn = (_firstRow$cells$index = firstRow === null || firstRow === void 0 ? void 0 : (_firstRow$cells2 = firstRow.cells) === null || _firstRow$cells2 === void 0 ? void 0 : _firstRow$cells2[index]) !== null && _firstRow$cells$index !== void 0 ? _firstRow$cells$index : {};
181
- const inheritedAttributes = Object.fromEntries(Object.entries(firstCellInColumn).filter(_ref5 => {
182
- let [key] = _ref5;
183
- return INHERITED_COLUMN_ATTRIBUTES.includes(key);
184
- }));
169
+ const firstCellInColumn = (_firstRow$cells$index = firstRow?.cells?.[index]) !== null && _firstRow$cells$index !== void 0 ? _firstRow$cells$index : {};
170
+ const inheritedAttributes = Object.fromEntries(Object.entries(firstCellInColumn).filter(([key]) => INHERITED_COLUMN_ATTRIBUTES.includes(key)));
185
171
  return { ...inheritedAttributes,
186
172
  content: '',
187
173
  tag: sectionName === 'head' ? 'th' : 'td'
@@ -201,11 +187,10 @@ export function insertRow(state, _ref4) {
201
187
  * @return {Object} New table state.
202
188
  */
203
189
 
204
- export function deleteRow(state, _ref6) {
205
- let {
206
- sectionName,
207
- rowIndex
208
- } = _ref6;
190
+ export function deleteRow(state, {
191
+ sectionName,
192
+ rowIndex
193
+ }) {
209
194
  return {
210
195
  [sectionName]: state[sectionName].filter((row, index) => index !== rowIndex)
211
196
  };
@@ -220,17 +205,11 @@ export function deleteRow(state, _ref6) {
220
205
  * @return {Object} New table state.
221
206
  */
222
207
 
223
- export function insertColumn(state, _ref7) {
224
- let {
225
- columnIndex
226
- } = _ref7;
227
- const tableSections = Object.fromEntries(Object.entries(state).filter(_ref8 => {
228
- let [key] = _ref8;
229
- return ['head', 'body', 'foot'].includes(key);
230
- }));
231
- return Object.fromEntries(Object.entries(tableSections).map(_ref9 => {
232
- let [sectionName, section] = _ref9;
233
-
208
+ export function insertColumn(state, {
209
+ columnIndex
210
+ }) {
211
+ const tableSections = Object.fromEntries(Object.entries(state).filter(([key]) => ['head', 'body', 'foot'].includes(key)));
212
+ return Object.fromEntries(Object.entries(tableSections).map(([sectionName, section]) => {
234
213
  // Bail early if the table section is empty.
235
214
  if (isEmptyTableSection(section)) {
236
215
  return [sectionName, section];
@@ -262,17 +241,11 @@ export function insertColumn(state, _ref7) {
262
241
  * @return {Object} New table state.
263
242
  */
264
243
 
265
- export function deleteColumn(state, _ref10) {
266
- let {
267
- columnIndex
268
- } = _ref10;
269
- const tableSections = Object.fromEntries(Object.entries(state).filter(_ref11 => {
270
- let [key] = _ref11;
271
- return ['head', 'body', 'foot'].includes(key);
272
- }));
273
- return Object.fromEntries(Object.entries(tableSections).map(_ref12 => {
274
- let [sectionName, section] = _ref12;
275
-
244
+ export function deleteColumn(state, {
245
+ columnIndex
246
+ }) {
247
+ const tableSections = Object.fromEntries(Object.entries(state).filter(([key]) => ['head', 'body', 'foot'].includes(key)));
248
+ return Object.fromEntries(Object.entries(tableSections).map(([sectionName, section]) => {
276
249
  // Bail early if the table section is empty.
277
250
  if (isEmptyTableSection(section)) {
278
251
  return [sectionName, section];
@@ -293,7 +266,7 @@ export function deleteColumn(state, _ref10) {
293
266
  */
294
267
 
295
268
  export function toggleSection(state, sectionName) {
296
- var _state$body$0$cells$l, _state$body, _state$body$, _state$body$$cells;
269
+ var _state$body$0$cells$l;
297
270
 
298
271
  // Section exists, replace it with an empty row to remove it.
299
272
  if (!isEmptyTableSection(state[sectionName])) {
@@ -303,7 +276,7 @@ export function toggleSection(state, sectionName) {
303
276
  } // Get the length of the first row of the body to use when creating the header.
304
277
 
305
278
 
306
- const columnCount = (_state$body$0$cells$l = (_state$body = state.body) === null || _state$body === void 0 ? void 0 : (_state$body$ = _state$body[0]) === null || _state$body$ === void 0 ? void 0 : (_state$body$$cells = _state$body$.cells) === null || _state$body$$cells === void 0 ? void 0 : _state$body$$cells.length) !== null && _state$body$0$cells$l !== void 0 ? _state$body$0$cells$l : 1; // Section doesn't exist, insert an empty row to create the section.
279
+ const columnCount = (_state$body$0$cells$l = state.body?.[0]?.cells?.length) !== null && _state$body$0$cells$l !== void 0 ? _state$body$0$cells$l : 1; // Section doesn't exist, insert an empty row to create the section.
307
280
 
308
281
  return insertRow(state, {
309
282
  sectionName,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/table/state.js"],"names":["INHERITED_COLUMN_ATTRIBUTES","createTable","rowCount","columnCount","body","Array","from","length","map","cells","content","tag","getFirstRow","state","isEmptyTableSection","head","foot","getCellAttribute","cellLocation","attributeName","sectionName","rowIndex","columnIndex","updateSelectedCell","selection","updateCell","tableSections","Object","fromEntries","entries","filter","key","includes","selectionSectionName","selectionRowIndex","section","row","cellAttributes","isCellSelected","type","insertRow","firstRow","cellCount","undefined","slice","_","index","firstCellInColumn","inheritedAttributes","deleteRow","insertColumn","isEmptyRow","deleteColumn","cell","toggleSection","every"],"mappings":"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","sourcesContent":["const INHERITED_COLUMN_ATTRIBUTES = [ 'align' ];\n\n/**\n * Creates a table state.\n *\n * @param {Object} options\n * @param {number} options.rowCount Row count for the table to create.\n * @param {number} options.columnCount Column count for the table to create.\n *\n * @return {Object} New table state.\n */\nexport function createTable( { rowCount, columnCount } ) {\n\treturn {\n\t\tbody: Array.from( { length: rowCount } ).map( () => ( {\n\t\t\tcells: Array.from( { length: columnCount } ).map( () => ( {\n\t\t\t\tcontent: '',\n\t\t\t\ttag: 'td',\n\t\t\t} ) ),\n\t\t} ) ),\n\t};\n}\n\n/**\n * Returns the first row in the table.\n *\n * @param {Object} state Current table state.\n *\n * @return {Object | undefined} The first table row.\n */\nexport function getFirstRow( state ) {\n\tif ( ! isEmptyTableSection( state.head ) ) {\n\t\treturn state.head[ 0 ];\n\t}\n\tif ( ! isEmptyTableSection( state.body ) ) {\n\t\treturn state.body[ 0 ];\n\t}\n\tif ( ! isEmptyTableSection( state.foot ) ) {\n\t\treturn state.foot[ 0 ];\n\t}\n}\n\n/**\n * Gets an attribute for a cell.\n *\n * @param {Object} state Current table state.\n * @param {Object} cellLocation The location of the cell\n * @param {string} attributeName The name of the attribute to get the value of.\n *\n * @return {*} The attribute value.\n */\nexport function getCellAttribute( state, cellLocation, attributeName ) {\n\tconst { sectionName, rowIndex, columnIndex } = cellLocation;\n\treturn state[ sectionName ]?.[ rowIndex ]?.cells?.[ columnIndex ]?.[\n\t\tattributeName\n\t];\n}\n\n/**\n * Returns updated cell attributes after applying the `updateCell` function to the selection.\n *\n * @param {Object} state The block attributes.\n * @param {Object} selection The selection of cells to update.\n * @param {Function} updateCell A function to update the selected cell attributes.\n *\n * @return {Object} New table state including the updated cells.\n */\nexport function updateSelectedCell( state, selection, updateCell ) {\n\tif ( ! selection ) {\n\t\treturn state;\n\t}\n\n\tconst tableSections = Object.fromEntries(\n\t\tObject.entries( state ).filter( ( [ key ] ) =>\n\t\t\t[ 'head', 'body', 'foot' ].includes( key )\n\t\t)\n\t);\n\tconst { sectionName: selectionSectionName, rowIndex: selectionRowIndex } =\n\t\tselection;\n\n\treturn Object.fromEntries(\n\t\tObject.entries( tableSections ).map( ( [ sectionName, section ] ) => {\n\t\t\tif (\n\t\t\t\tselectionSectionName &&\n\t\t\t\tselectionSectionName !== sectionName\n\t\t\t) {\n\t\t\t\treturn [ sectionName, section ];\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\tsectionName,\n\t\t\t\tsection.map( ( row, rowIndex ) => {\n\t\t\t\t\tif ( selectionRowIndex && selectionRowIndex !== rowIndex ) {\n\t\t\t\t\t\treturn row;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcells: row.cells.map(\n\t\t\t\t\t\t\t( cellAttributes, columnIndex ) => {\n\t\t\t\t\t\t\t\tconst cellLocation = {\n\t\t\t\t\t\t\t\t\tsectionName,\n\t\t\t\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t! isCellSelected( cellLocation, selection )\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\treturn cellAttributes;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn updateCell( cellAttributes );\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}\n\n/**\n * Returns whether the cell at `cellLocation` is included in the selection `selection`.\n *\n * @param {Object} cellLocation An object containing cell location properties.\n * @param {Object} selection An object containing selection properties.\n *\n * @return {boolean} True if the cell is selected, false otherwise.\n */\nexport function isCellSelected( cellLocation, selection ) {\n\tif ( ! cellLocation || ! selection ) {\n\t\treturn false;\n\t}\n\n\tswitch ( selection.type ) {\n\t\tcase 'column':\n\t\t\treturn (\n\t\t\t\tselection.type === 'column' &&\n\t\t\t\tcellLocation.columnIndex === selection.columnIndex\n\t\t\t);\n\t\tcase 'cell':\n\t\t\treturn (\n\t\t\t\tselection.type === 'cell' &&\n\t\t\t\tcellLocation.sectionName === selection.sectionName &&\n\t\t\t\tcellLocation.columnIndex === selection.columnIndex &&\n\t\t\t\tcellLocation.rowIndex === selection.rowIndex\n\t\t\t);\n\t}\n}\n\n/**\n * Inserts a row in the table state.\n *\n * @param {Object} state Current table state.\n * @param {Object} options\n * @param {string} options.sectionName Section in which to insert the row.\n * @param {number} options.rowIndex Row index at which to insert the row.\n * @param {number} options.columnCount Column count for the table to create.\n *\n * @return {Object} New table state.\n */\nexport function insertRow( state, { sectionName, rowIndex, columnCount } ) {\n\tconst firstRow = getFirstRow( state );\n\tconst cellCount =\n\t\tcolumnCount === undefined ? firstRow?.cells?.length : columnCount;\n\n\t// Bail early if the function cannot determine how many cells to add.\n\tif ( ! cellCount ) {\n\t\treturn state;\n\t}\n\n\treturn {\n\t\t[ sectionName ]: [\n\t\t\t...state[ sectionName ].slice( 0, rowIndex ),\n\t\t\t{\n\t\t\t\tcells: Array.from( { length: cellCount } ).map(\n\t\t\t\t\t( _, index ) => {\n\t\t\t\t\t\tconst firstCellInColumn =\n\t\t\t\t\t\t\tfirstRow?.cells?.[ index ] ?? {};\n\n\t\t\t\t\t\tconst inheritedAttributes = Object.fromEntries(\n\t\t\t\t\t\t\tObject.entries( firstCellInColumn ).filter(\n\t\t\t\t\t\t\t\t( [ key ] ) =>\n\t\t\t\t\t\t\t\t\tINHERITED_COLUMN_ATTRIBUTES.includes( key )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...inheritedAttributes,\n\t\t\t\t\t\t\tcontent: '',\n\t\t\t\t\t\t\ttag: sectionName === 'head' ? 'th' : 'td',\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t),\n\t\t\t},\n\t\t\t...state[ sectionName ].slice( rowIndex ),\n\t\t],\n\t};\n}\n\n/**\n * Deletes a row from the table state.\n *\n * @param {Object} state Current table state.\n * @param {Object} options\n * @param {string} options.sectionName Section in which to delete the row.\n * @param {number} options.rowIndex Row index to delete.\n *\n * @return {Object} New table state.\n */\nexport function deleteRow( state, { sectionName, rowIndex } ) {\n\treturn {\n\t\t[ sectionName ]: state[ sectionName ].filter(\n\t\t\t( row, index ) => index !== rowIndex\n\t\t),\n\t};\n}\n\n/**\n * Inserts a column in the table state.\n *\n * @param {Object} state Current table state.\n * @param {Object} options\n * @param {number} options.columnIndex Column index at which to insert the column.\n *\n * @return {Object} New table state.\n */\nexport function insertColumn( state, { columnIndex } ) {\n\tconst tableSections = Object.fromEntries(\n\t\tObject.entries( state ).filter( ( [ key ] ) =>\n\t\t\t[ 'head', 'body', 'foot' ].includes( key )\n\t\t)\n\t);\n\n\treturn Object.fromEntries(\n\t\tObject.entries( tableSections ).map( ( [ sectionName, section ] ) => {\n\t\t\t// Bail early if the table section is empty.\n\t\t\tif ( isEmptyTableSection( section ) ) {\n\t\t\t\treturn [ sectionName, section ];\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\tsectionName,\n\t\t\t\tsection.map( ( row ) => {\n\t\t\t\t\t// Bail early if the row is empty or it's an attempt to insert past\n\t\t\t\t\t// the last possible index of the array.\n\t\t\t\t\tif ( isEmptyRow( row ) || row.cells.length < columnIndex ) {\n\t\t\t\t\t\treturn row;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcells: [\n\t\t\t\t\t\t\t...row.cells.slice( 0, columnIndex ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontent: '',\n\t\t\t\t\t\t\t\ttag: sectionName === 'head' ? 'th' : 'td',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t...row.cells.slice( columnIndex ),\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}\n\n/**\n * Deletes a column from the table state.\n *\n * @param {Object} state Current table state.\n * @param {Object} options\n * @param {number} options.columnIndex Column index to delete.\n *\n * @return {Object} New table state.\n */\nexport function deleteColumn( state, { columnIndex } ) {\n\tconst tableSections = Object.fromEntries(\n\t\tObject.entries( state ).filter( ( [ key ] ) =>\n\t\t\t[ 'head', 'body', 'foot' ].includes( key )\n\t\t)\n\t);\n\n\treturn Object.fromEntries(\n\t\tObject.entries( tableSections ).map( ( [ sectionName, section ] ) => {\n\t\t\t// Bail early if the table section is empty.\n\t\t\tif ( isEmptyTableSection( section ) ) {\n\t\t\t\treturn [ sectionName, section ];\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\tsectionName,\n\t\t\t\tsection\n\t\t\t\t\t.map( ( row ) => ( {\n\t\t\t\t\t\tcells:\n\t\t\t\t\t\t\trow.cells.length >= columnIndex\n\t\t\t\t\t\t\t\t? row.cells.filter(\n\t\t\t\t\t\t\t\t\t\t( cell, index ) => index !== columnIndex\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: row.cells,\n\t\t\t\t\t} ) )\n\t\t\t\t\t.filter( ( row ) => row.cells.length ),\n\t\t\t];\n\t\t} )\n\t);\n}\n\n/**\n * Toggles the existence of a section.\n *\n * @param {Object} state Current table state.\n * @param {string} sectionName Name of the section to toggle.\n *\n * @return {Object} New table state.\n */\nexport function toggleSection( state, sectionName ) {\n\t// Section exists, replace it with an empty row to remove it.\n\tif ( ! isEmptyTableSection( state[ sectionName ] ) ) {\n\t\treturn { [ sectionName ]: [] };\n\t}\n\n\t// Get the length of the first row of the body to use when creating the header.\n\tconst columnCount = state.body?.[ 0 ]?.cells?.length ?? 1;\n\n\t// Section doesn't exist, insert an empty row to create the section.\n\treturn insertRow( state, { sectionName, rowIndex: 0, columnCount } );\n}\n\n/**\n * Determines whether a table section is empty.\n *\n * @param {Object} section Table section state.\n *\n * @return {boolean} True if the table section is empty, false otherwise.\n */\nexport function isEmptyTableSection( section ) {\n\treturn ! section || ! section.length || section.every( isEmptyRow );\n}\n\n/**\n * Determines whether a table row is empty.\n *\n * @param {Object} row Table row state.\n *\n * @return {boolean} True if the table section is empty, false otherwise.\n */\nexport function isEmptyRow( row ) {\n\treturn ! ( row.cells && row.cells.length );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/table/state.js"],"names":["INHERITED_COLUMN_ATTRIBUTES","createTable","rowCount","columnCount","body","Array","from","length","map","cells","content","tag","getFirstRow","state","isEmptyTableSection","head","foot","getCellAttribute","cellLocation","attributeName","sectionName","rowIndex","columnIndex","updateSelectedCell","selection","updateCell","tableSections","Object","fromEntries","entries","filter","key","includes","selectionSectionName","selectionRowIndex","section","row","cellAttributes","isCellSelected","type","insertRow","firstRow","cellCount","undefined","slice","_","index","firstCellInColumn","inheritedAttributes","deleteRow","insertColumn","isEmptyRow","deleteColumn","cell","toggleSection","every"],"mappings":"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","sourcesContent":["const INHERITED_COLUMN_ATTRIBUTES = [ 'align' ];\n\n/**\n * Creates a table state.\n *\n * @param {Object} options\n * @param {number} options.rowCount Row count for the table to create.\n * @param {number} options.columnCount Column count for the table to create.\n *\n * @return {Object} New table state.\n */\nexport function createTable( { rowCount, columnCount } ) {\n\treturn {\n\t\tbody: Array.from( { length: rowCount } ).map( () => ( {\n\t\t\tcells: Array.from( { length: columnCount } ).map( () => ( {\n\t\t\t\tcontent: '',\n\t\t\t\ttag: 'td',\n\t\t\t} ) ),\n\t\t} ) ),\n\t};\n}\n\n/**\n * Returns the first row in the table.\n *\n * @param {Object} state Current table state.\n *\n * @return {Object | undefined} The first table row.\n */\nexport function getFirstRow( state ) {\n\tif ( ! isEmptyTableSection( state.head ) ) {\n\t\treturn state.head[ 0 ];\n\t}\n\tif ( ! isEmptyTableSection( state.body ) ) {\n\t\treturn state.body[ 0 ];\n\t}\n\tif ( ! isEmptyTableSection( state.foot ) ) {\n\t\treturn state.foot[ 0 ];\n\t}\n}\n\n/**\n * Gets an attribute for a cell.\n *\n * @param {Object} state Current table state.\n * @param {Object} cellLocation The location of the cell\n * @param {string} attributeName The name of the attribute to get the value of.\n *\n * @return {*} The attribute value.\n */\nexport function getCellAttribute( state, cellLocation, attributeName ) {\n\tconst { sectionName, rowIndex, columnIndex } = cellLocation;\n\treturn state[ sectionName ]?.[ rowIndex ]?.cells?.[ columnIndex ]?.[\n\t\tattributeName\n\t];\n}\n\n/**\n * Returns updated cell attributes after applying the `updateCell` function to the selection.\n *\n * @param {Object} state The block attributes.\n * @param {Object} selection The selection of cells to update.\n * @param {Function} updateCell A function to update the selected cell attributes.\n *\n * @return {Object} New table state including the updated cells.\n */\nexport function updateSelectedCell( state, selection, updateCell ) {\n\tif ( ! selection ) {\n\t\treturn state;\n\t}\n\n\tconst tableSections = Object.fromEntries(\n\t\tObject.entries( state ).filter( ( [ key ] ) =>\n\t\t\t[ 'head', 'body', 'foot' ].includes( key )\n\t\t)\n\t);\n\tconst { sectionName: selectionSectionName, rowIndex: selectionRowIndex } =\n\t\tselection;\n\n\treturn Object.fromEntries(\n\t\tObject.entries( tableSections ).map( ( [ sectionName, section ] ) => {\n\t\t\tif (\n\t\t\t\tselectionSectionName &&\n\t\t\t\tselectionSectionName !== sectionName\n\t\t\t) {\n\t\t\t\treturn [ sectionName, section ];\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\tsectionName,\n\t\t\t\tsection.map( ( row, rowIndex ) => {\n\t\t\t\t\tif ( selectionRowIndex && selectionRowIndex !== rowIndex ) {\n\t\t\t\t\t\treturn row;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcells: row.cells.map(\n\t\t\t\t\t\t\t( cellAttributes, columnIndex ) => {\n\t\t\t\t\t\t\t\tconst cellLocation = {\n\t\t\t\t\t\t\t\t\tsectionName,\n\t\t\t\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t! isCellSelected( cellLocation, selection )\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\treturn cellAttributes;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn updateCell( cellAttributes );\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}\n\n/**\n * Returns whether the cell at `cellLocation` is included in the selection `selection`.\n *\n * @param {Object} cellLocation An object containing cell location properties.\n * @param {Object} selection An object containing selection properties.\n *\n * @return {boolean} True if the cell is selected, false otherwise.\n */\nexport function isCellSelected( cellLocation, selection ) {\n\tif ( ! cellLocation || ! selection ) {\n\t\treturn false;\n\t}\n\n\tswitch ( selection.type ) {\n\t\tcase 'column':\n\t\t\treturn (\n\t\t\t\tselection.type === 'column' &&\n\t\t\t\tcellLocation.columnIndex === selection.columnIndex\n\t\t\t);\n\t\tcase 'cell':\n\t\t\treturn (\n\t\t\t\tselection.type === 'cell' &&\n\t\t\t\tcellLocation.sectionName === selection.sectionName &&\n\t\t\t\tcellLocation.columnIndex === selection.columnIndex &&\n\t\t\t\tcellLocation.rowIndex === selection.rowIndex\n\t\t\t);\n\t}\n}\n\n/**\n * Inserts a row in the table state.\n *\n * @param {Object} state Current table state.\n * @param {Object} options\n * @param {string} options.sectionName Section in which to insert the row.\n * @param {number} options.rowIndex Row index at which to insert the row.\n * @param {number} options.columnCount Column count for the table to create.\n *\n * @return {Object} New table state.\n */\nexport function insertRow( state, { sectionName, rowIndex, columnCount } ) {\n\tconst firstRow = getFirstRow( state );\n\tconst cellCount =\n\t\tcolumnCount === undefined ? firstRow?.cells?.length : columnCount;\n\n\t// Bail early if the function cannot determine how many cells to add.\n\tif ( ! cellCount ) {\n\t\treturn state;\n\t}\n\n\treturn {\n\t\t[ sectionName ]: [\n\t\t\t...state[ sectionName ].slice( 0, rowIndex ),\n\t\t\t{\n\t\t\t\tcells: Array.from( { length: cellCount } ).map(\n\t\t\t\t\t( _, index ) => {\n\t\t\t\t\t\tconst firstCellInColumn =\n\t\t\t\t\t\t\tfirstRow?.cells?.[ index ] ?? {};\n\n\t\t\t\t\t\tconst inheritedAttributes = Object.fromEntries(\n\t\t\t\t\t\t\tObject.entries( firstCellInColumn ).filter(\n\t\t\t\t\t\t\t\t( [ key ] ) =>\n\t\t\t\t\t\t\t\t\tINHERITED_COLUMN_ATTRIBUTES.includes( key )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...inheritedAttributes,\n\t\t\t\t\t\t\tcontent: '',\n\t\t\t\t\t\t\ttag: sectionName === 'head' ? 'th' : 'td',\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t),\n\t\t\t},\n\t\t\t...state[ sectionName ].slice( rowIndex ),\n\t\t],\n\t};\n}\n\n/**\n * Deletes a row from the table state.\n *\n * @param {Object} state Current table state.\n * @param {Object} options\n * @param {string} options.sectionName Section in which to delete the row.\n * @param {number} options.rowIndex Row index to delete.\n *\n * @return {Object} New table state.\n */\nexport function deleteRow( state, { sectionName, rowIndex } ) {\n\treturn {\n\t\t[ sectionName ]: state[ sectionName ].filter(\n\t\t\t( row, index ) => index !== rowIndex\n\t\t),\n\t};\n}\n\n/**\n * Inserts a column in the table state.\n *\n * @param {Object} state Current table state.\n * @param {Object} options\n * @param {number} options.columnIndex Column index at which to insert the column.\n *\n * @return {Object} New table state.\n */\nexport function insertColumn( state, { columnIndex } ) {\n\tconst tableSections = Object.fromEntries(\n\t\tObject.entries( state ).filter( ( [ key ] ) =>\n\t\t\t[ 'head', 'body', 'foot' ].includes( key )\n\t\t)\n\t);\n\n\treturn Object.fromEntries(\n\t\tObject.entries( tableSections ).map( ( [ sectionName, section ] ) => {\n\t\t\t// Bail early if the table section is empty.\n\t\t\tif ( isEmptyTableSection( section ) ) {\n\t\t\t\treturn [ sectionName, section ];\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\tsectionName,\n\t\t\t\tsection.map( ( row ) => {\n\t\t\t\t\t// Bail early if the row is empty or it's an attempt to insert past\n\t\t\t\t\t// the last possible index of the array.\n\t\t\t\t\tif ( isEmptyRow( row ) || row.cells.length < columnIndex ) {\n\t\t\t\t\t\treturn row;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcells: [\n\t\t\t\t\t\t\t...row.cells.slice( 0, columnIndex ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontent: '',\n\t\t\t\t\t\t\t\ttag: sectionName === 'head' ? 'th' : 'td',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t...row.cells.slice( columnIndex ),\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}\n\n/**\n * Deletes a column from the table state.\n *\n * @param {Object} state Current table state.\n * @param {Object} options\n * @param {number} options.columnIndex Column index to delete.\n *\n * @return {Object} New table state.\n */\nexport function deleteColumn( state, { columnIndex } ) {\n\tconst tableSections = Object.fromEntries(\n\t\tObject.entries( state ).filter( ( [ key ] ) =>\n\t\t\t[ 'head', 'body', 'foot' ].includes( key )\n\t\t)\n\t);\n\n\treturn Object.fromEntries(\n\t\tObject.entries( tableSections ).map( ( [ sectionName, section ] ) => {\n\t\t\t// Bail early if the table section is empty.\n\t\t\tif ( isEmptyTableSection( section ) ) {\n\t\t\t\treturn [ sectionName, section ];\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\tsectionName,\n\t\t\t\tsection\n\t\t\t\t\t.map( ( row ) => ( {\n\t\t\t\t\t\tcells:\n\t\t\t\t\t\t\trow.cells.length >= columnIndex\n\t\t\t\t\t\t\t\t? row.cells.filter(\n\t\t\t\t\t\t\t\t\t\t( cell, index ) => index !== columnIndex\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: row.cells,\n\t\t\t\t\t} ) )\n\t\t\t\t\t.filter( ( row ) => row.cells.length ),\n\t\t\t];\n\t\t} )\n\t);\n}\n\n/**\n * Toggles the existence of a section.\n *\n * @param {Object} state Current table state.\n * @param {string} sectionName Name of the section to toggle.\n *\n * @return {Object} New table state.\n */\nexport function toggleSection( state, sectionName ) {\n\t// Section exists, replace it with an empty row to remove it.\n\tif ( ! isEmptyTableSection( state[ sectionName ] ) ) {\n\t\treturn { [ sectionName ]: [] };\n\t}\n\n\t// Get the length of the first row of the body to use when creating the header.\n\tconst columnCount = state.body?.[ 0 ]?.cells?.length ?? 1;\n\n\t// Section doesn't exist, insert an empty row to create the section.\n\treturn insertRow( state, { sectionName, rowIndex: 0, columnCount } );\n}\n\n/**\n * Determines whether a table section is empty.\n *\n * @param {Object} section Table section state.\n *\n * @return {boolean} True if the table section is empty, false otherwise.\n */\nexport function isEmptyTableSection( section ) {\n\treturn ! section || ! section.length || section.every( isEmptyRow );\n}\n\n/**\n * Determines whether a table row is empty.\n *\n * @param {Object} row Table row state.\n *\n * @return {boolean} True if the table section is empty, false otherwise.\n */\nexport function isEmptyRow( row ) {\n\treturn ! ( row.cells && row.cells.length );\n}\n"]}
@@ -8,28 +8,25 @@ import { createBlock } from '@wordpress/blocks';
8
8
 
9
9
  import { normalizeRowColSpan } from './utils';
10
10
 
11
- const tableContentPasteSchema = _ref => {
12
- let {
13
- phrasingContentSchema
14
- } = _ref;
15
- return {
16
- tr: {
17
- allowEmpty: true,
18
- children: {
19
- th: {
20
- allowEmpty: true,
21
- children: phrasingContentSchema,
22
- attributes: ['scope', 'colspan', 'rowspan']
23
- },
24
- td: {
25
- allowEmpty: true,
26
- children: phrasingContentSchema,
27
- attributes: ['colspan', 'rowspan']
28
- }
11
+ const tableContentPasteSchema = ({
12
+ phrasingContentSchema
13
+ }) => ({
14
+ tr: {
15
+ allowEmpty: true,
16
+ children: {
17
+ th: {
18
+ allowEmpty: true,
19
+ children: phrasingContentSchema,
20
+ attributes: ['scope', 'colspan', 'rowspan']
21
+ },
22
+ td: {
23
+ allowEmpty: true,
24
+ children: phrasingContentSchema,
25
+ attributes: ['colspan', 'rowspan']
29
26
  }
30
27
  }
31
- };
32
- };
28
+ }
29
+ });
33
30
 
34
31
  const tablePasteSchema = args => ({
35
32
  table: {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/table/transforms.js"],"names":["createBlock","normalizeRowColSpan","tableContentPasteSchema","phrasingContentSchema","tr","allowEmpty","children","th","attributes","td","tablePasteSchema","args","table","thead","tfoot","tbody","transforms","from","type","selector","schema","transform","node","Array","reduce","sectionAcc","section","length","sectionName","nodeName","toLowerCase","slice","sectionAttributes","rowAcc","row","rowAttributes","colAcc","col","rowspan","getAttribute","colspan","push","tag","content","innerHTML","cells"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { normalizeRowColSpan } from './utils';\n\nconst tableContentPasteSchema = ( { phrasingContentSchema } ) => ( {\n\ttr: {\n\t\tallowEmpty: true,\n\t\tchildren: {\n\t\t\tth: {\n\t\t\t\tallowEmpty: true,\n\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t\tattributes: [ 'scope', 'colspan', 'rowspan' ],\n\t\t\t},\n\t\t\ttd: {\n\t\t\t\tallowEmpty: true,\n\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t\tattributes: [ 'colspan', 'rowspan' ],\n\t\t\t},\n\t\t},\n\t},\n} );\n\nconst tablePasteSchema = ( args ) => ( {\n\ttable: {\n\t\tchildren: {\n\t\t\tthead: {\n\t\t\t\tallowEmpty: true,\n\t\t\t\tchildren: tableContentPasteSchema( args ),\n\t\t\t},\n\t\t\ttfoot: {\n\t\t\t\tallowEmpty: true,\n\t\t\t\tchildren: tableContentPasteSchema( args ),\n\t\t\t},\n\t\t\ttbody: {\n\t\t\t\tallowEmpty: true,\n\t\t\t\tchildren: tableContentPasteSchema( args ),\n\t\t\t},\n\t\t},\n\t},\n} );\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tselector: 'table',\n\t\t\tschema: tablePasteSchema,\n\t\t\ttransform: ( node ) => {\n\t\t\t\tconst attributes = Array.from( node.children ).reduce(\n\t\t\t\t\t( sectionAcc, section ) => {\n\t\t\t\t\t\tif ( ! section.children.length ) {\n\t\t\t\t\t\t\treturn sectionAcc;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst sectionName = section.nodeName\n\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t.slice( 1 );\n\n\t\t\t\t\t\tconst sectionAttributes = Array.from(\n\t\t\t\t\t\t\tsection.children\n\t\t\t\t\t\t).reduce( ( rowAcc, row ) => {\n\t\t\t\t\t\t\tif ( ! row.children.length ) {\n\t\t\t\t\t\t\t\treturn rowAcc;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst rowAttributes = Array.from(\n\t\t\t\t\t\t\t\trow.children\n\t\t\t\t\t\t\t).reduce( ( colAcc, col ) => {\n\t\t\t\t\t\t\t\tconst rowspan = normalizeRowColSpan(\n\t\t\t\t\t\t\t\t\tcol.getAttribute( 'rowspan' )\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tconst colspan = normalizeRowColSpan(\n\t\t\t\t\t\t\t\t\tcol.getAttribute( 'colspan' )\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tcolAcc.push( {\n\t\t\t\t\t\t\t\t\ttag: col.nodeName.toLowerCase(),\n\t\t\t\t\t\t\t\t\tcontent: col.innerHTML,\n\t\t\t\t\t\t\t\t\trowspan,\n\t\t\t\t\t\t\t\t\tcolspan,\n\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\treturn colAcc;\n\t\t\t\t\t\t\t}, [] );\n\n\t\t\t\t\t\t\trowAcc.push( {\n\t\t\t\t\t\t\t\tcells: rowAttributes,\n\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\treturn rowAcc;\n\t\t\t\t\t\t}, [] );\n\n\t\t\t\t\t\tsectionAcc[ sectionName ] = sectionAttributes;\n\t\t\t\t\t\treturn sectionAcc;\n\t\t\t\t\t},\n\t\t\t\t\t{}\n\t\t\t\t);\n\n\t\t\t\treturn createBlock( 'core/table', attributes );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/table/transforms.js"],"names":["createBlock","normalizeRowColSpan","tableContentPasteSchema","phrasingContentSchema","tr","allowEmpty","children","th","attributes","td","tablePasteSchema","args","table","thead","tfoot","tbody","transforms","from","type","selector","schema","transform","node","Array","reduce","sectionAcc","section","length","sectionName","nodeName","toLowerCase","slice","sectionAttributes","rowAcc","row","rowAttributes","colAcc","col","rowspan","getAttribute","colspan","push","tag","content","innerHTML","cells"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { normalizeRowColSpan } from './utils';\n\nconst tableContentPasteSchema = ( { phrasingContentSchema } ) => ( {\n\ttr: {\n\t\tallowEmpty: true,\n\t\tchildren: {\n\t\t\tth: {\n\t\t\t\tallowEmpty: true,\n\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t\tattributes: [ 'scope', 'colspan', 'rowspan' ],\n\t\t\t},\n\t\t\ttd: {\n\t\t\t\tallowEmpty: true,\n\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t\tattributes: [ 'colspan', 'rowspan' ],\n\t\t\t},\n\t\t},\n\t},\n} );\n\nconst tablePasteSchema = ( args ) => ( {\n\ttable: {\n\t\tchildren: {\n\t\t\tthead: {\n\t\t\t\tallowEmpty: true,\n\t\t\t\tchildren: tableContentPasteSchema( args ),\n\t\t\t},\n\t\t\ttfoot: {\n\t\t\t\tallowEmpty: true,\n\t\t\t\tchildren: tableContentPasteSchema( args ),\n\t\t\t},\n\t\t\ttbody: {\n\t\t\t\tallowEmpty: true,\n\t\t\t\tchildren: tableContentPasteSchema( args ),\n\t\t\t},\n\t\t},\n\t},\n} );\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tselector: 'table',\n\t\t\tschema: tablePasteSchema,\n\t\t\ttransform: ( node ) => {\n\t\t\t\tconst attributes = Array.from( node.children ).reduce(\n\t\t\t\t\t( sectionAcc, section ) => {\n\t\t\t\t\t\tif ( ! section.children.length ) {\n\t\t\t\t\t\t\treturn sectionAcc;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst sectionName = section.nodeName\n\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t.slice( 1 );\n\n\t\t\t\t\t\tconst sectionAttributes = Array.from(\n\t\t\t\t\t\t\tsection.children\n\t\t\t\t\t\t).reduce( ( rowAcc, row ) => {\n\t\t\t\t\t\t\tif ( ! row.children.length ) {\n\t\t\t\t\t\t\t\treturn rowAcc;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst rowAttributes = Array.from(\n\t\t\t\t\t\t\t\trow.children\n\t\t\t\t\t\t\t).reduce( ( colAcc, col ) => {\n\t\t\t\t\t\t\t\tconst rowspan = normalizeRowColSpan(\n\t\t\t\t\t\t\t\t\tcol.getAttribute( 'rowspan' )\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tconst colspan = normalizeRowColSpan(\n\t\t\t\t\t\t\t\t\tcol.getAttribute( 'colspan' )\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tcolAcc.push( {\n\t\t\t\t\t\t\t\t\ttag: col.nodeName.toLowerCase(),\n\t\t\t\t\t\t\t\t\tcontent: col.innerHTML,\n\t\t\t\t\t\t\t\t\trowspan,\n\t\t\t\t\t\t\t\t\tcolspan,\n\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\treturn colAcc;\n\t\t\t\t\t\t\t}, [] );\n\n\t\t\t\t\t\t\trowAcc.push( {\n\t\t\t\t\t\t\t\tcells: rowAttributes,\n\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\treturn rowAcc;\n\t\t\t\t\t\t}, [] );\n\n\t\t\t\t\t\tsectionAcc[ sectionName ] = sectionAttributes;\n\t\t\t\t\t\treturn sectionAcc;\n\t\t\t\t\t},\n\t\t\t\t\t{}\n\t\t\t\t);\n\n\t\t\t\treturn createBlock( 'core/table', attributes );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
@@ -38,15 +38,14 @@ import { linearToNestedHeadingList } from './utils';
38
38
  * @return {WPComponent} The component.
39
39
  */
40
40
 
41
- export default function TableOfContentsEdit(_ref) {
42
- let {
43
- attributes: {
44
- headings = [],
45
- onlyIncludeCurrentPage
46
- },
47
- clientId,
48
- setAttributes
49
- } = _ref;
41
+ export default function TableOfContentsEdit({
42
+ attributes: {
43
+ headings = [],
44
+ onlyIncludeCurrentPage
45
+ },
46
+ clientId,
47
+ setAttributes
48
+ }) {
50
49
  const blockProps = useBlockProps();
51
50
  const canInsertList = useSelect(select => {
52
51
  const {
@@ -126,7 +125,7 @@ export default function TableOfContentsEdit(_ref) {
126
125
  * unavailable, this variable will be null.
127
126
  */
128
127
 
129
- const permalink = (_editorSelectors$getP = editorSelectors === null || editorSelectors === void 0 ? void 0 : editorSelectors.getPermalink()) !== null && _editorSelectors$getP !== void 0 ? _editorSelectors$getP : null;
128
+ const permalink = (_editorSelectors$getP = editorSelectors?.getPermalink()) !== null && _editorSelectors$getP !== void 0 ? _editorSelectors$getP : null;
130
129
  let headingPageLink = null; // If the core/editor store is available, we can add permalinks to the
131
130
  // generated table of contents.
132
131
 
@@ -212,7 +211,8 @@ export default function TableOfContentsEdit(_ref) {
212
211
  // "Convert to static list" option is useless to the placeholder state.
213
212
 
214
213
  if (headings.length === 0) {
215
- return createElement(Fragment, null, createElement("div", blockProps, createElement(Placeholder, {
214
+ return createElement(Fragment, null, createElement("div", { ...blockProps
215
+ }, createElement(Placeholder, {
216
216
  icon: createElement(BlockIcon, {
217
217
  icon: icon
218
218
  }),
@@ -221,7 +221,8 @@ export default function TableOfContentsEdit(_ref) {
221
221
  })), inspectorControls);
222
222
  }
223
223
 
224
- return createElement(Fragment, null, createElement("nav", blockProps, createElement("ol", {
224
+ return createElement(Fragment, null, createElement("nav", { ...blockProps
225
+ }, createElement("ol", {
225
226
  inert: "true"
226
227
  }, createElement(TableOfContentsList, {
227
228
  nestedHeadingList: headingTree
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/table-of-contents/edit.js"],"names":["fastDeepEqual","BlockControls","BlockIcon","InspectorControls","store","blockEditorStore","useBlockProps","createBlock","PanelBody","Placeholder","ToggleControl","ToolbarButton","ToolbarGroup","useDispatch","useSelect","__unstableStripHTML","stripHTML","renderToString","useEffect","__","addQueryArgs","removeQueryArgs","icon","TableOfContentsList","linearToNestedHeadingList","TableOfContentsEdit","attributes","headings","onlyIncludeCurrentPage","clientId","setAttributes","blockProps","canInsertList","select","getBlockRootClientId","canInsertBlockType","rootClientId","__unstableMarkNextChangeAsNotPersistent","replaceBlocks","latestHeadings","getBlockAttributes","getBlockName","getClientIdsWithDescendants","__experimentalGetGlobalBlocksByName","getGlobalBlocksByName","editorSelectors","pageBreakClientIds","isPaginated","length","allBlockClientIds","tocPage","tocIndex","indexOf","blockIndex","blockClientId","entries","_latestHeadings","headingPage","permalink","getPermalink","headingPageLink","page","blockName","headingAttributes","canBeLinked","anchor","push","content","replace","level","link","headingTree","toolbarControls","ordered","values","inspectorControls","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6';\n\n/**\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\tPanelBody,\n\tPlaceholder,\n\tToggleControl,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { renderToString, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { addQueryArgs, removeQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport icon from './icon';\nimport TableOfContentsList from './list';\nimport { linearToNestedHeadingList } from './utils';\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 A 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 {string} props.clientId\n * @param {(attributes: Object) => void} props.setAttributes\n *\n * @return {WPComponent} The component.\n */\nexport default function TableOfContentsEdit( {\n\tattributes: { headings = [], onlyIncludeCurrentPage },\n\tclientId,\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps();\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 { __unstableMarkNextChangeAsNotPersistent, replaceBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\n\t/**\n\t * The latest heading data, or null if the new data deeply equals the saved\n\t * headings attribute.\n\t *\n\t * Since useSelect forces a re-render when its return value is shallowly\n\t * inequal to its prior call, we would be re-rendering this block every time\n\t * the stores change, even if the latest headings were deeply equal to the\n\t * ones saved in the block attributes.\n\t *\n\t * By returning null when they're equal, we reduce that to 2 renders: one\n\t * when there are new latest headings (and so it returns them), and one when\n\t * they haven't changed (so it returns null). As long as the latest heading\n\t * data remains the same, further calls of the useSelect callback will\n\t * continue to return null, thus preventing any forced re-renders.\n\t */\n\tconst latestHeadings = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetClientIdsWithDescendants,\n\t\t\t\t__experimentalGetGlobalBlocksByName: getGlobalBlocksByName,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\t// FIXME: @wordpress/block-library should not depend on @wordpress/editor.\n\t\t\t// Blocks can be loaded into a *non-post* block editor, so to avoid\n\t\t\t// declaring @wordpress/editor as a dependency, we must access its\n\t\t\t// store by string. When the store is not available, editorSelectors\n\t\t\t// will be null, and the block's saved markup will lack permalinks.\n\t\t\t// eslint-disable-next-line @wordpress/data-no-store-string-literals\n\t\t\tconst editorSelectors = select( 'core/editor' );\n\n\t\t\tconst pageBreakClientIds = getGlobalBlocksByName( 'core/nextpage' );\n\n\t\t\tconst isPaginated = pageBreakClientIds.length !== 0;\n\n\t\t\t// Get the client ids of all blocks in the editor.\n\t\t\tconst allBlockClientIds = getClientIdsWithDescendants();\n\n\t\t\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\t\t\tlet tocPage = 1;\n\n\t\t\tif ( isPaginated && onlyIncludeCurrentPage ) {\n\t\t\t\t// We can't use getBlockIndex because it only returns the index\n\t\t\t\t// relative to sibling blocks.\n\t\t\t\tconst tocIndex = allBlockClientIds.indexOf( clientId );\n\n\t\t\t\tfor ( const [\n\t\t\t\t\tblockIndex,\n\t\t\t\t\tblockClientId,\n\t\t\t\t] of allBlockClientIds.entries() ) {\n\t\t\t\t\t// If we've reached blocks after the Table of Contents, we've\n\t\t\t\t\t// finished calculating which page the block is on.\n\t\t\t\t\tif ( blockIndex >= tocIndex ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif ( getBlockName( blockClientId ) === 'core/nextpage' ) {\n\t\t\t\t\t\ttocPage++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst _latestHeadings = [];\n\n\t\t\t/** The page (of a paginated post) a heading will be part of. */\n\t\t\tlet headingPage = 1;\n\n\t\t\t/**\n\t\t\t * A permalink to the current post. If the core/editor store is\n\t\t\t * unavailable, this variable will be null.\n\t\t\t */\n\t\t\tconst permalink = editorSelectors?.getPermalink() ?? null;\n\n\t\t\tlet headingPageLink = null;\n\n\t\t\t// If the core/editor store is available, we can add permalinks to the\n\t\t\t// generated table of contents.\n\t\t\tif ( typeof permalink === 'string' ) {\n\t\t\t\theadingPageLink = isPaginated\n\t\t\t\t\t? addQueryArgs( permalink, { page: headingPage } )\n\t\t\t\t\t: permalink;\n\t\t\t}\n\n\t\t\tfor ( const blockClientId of allBlockClientIds ) {\n\t\t\t\tconst blockName = getBlockName( blockClientId );\n\t\t\t\tif ( blockName === 'core/nextpage' ) {\n\t\t\t\t\theadingPage++;\n\n\t\t\t\t\t// If we're only including headings from the current page (of\n\t\t\t\t\t// a paginated post), then exit the loop if we've reached the\n\t\t\t\t\t// pages after the one with the Table of Contents block.\n\t\t\t\t\tif ( onlyIncludeCurrentPage && headingPage > tocPage ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( typeof permalink === 'string' ) {\n\t\t\t\t\t\theadingPageLink = addQueryArgs(\n\t\t\t\t\t\t\tremoveQueryArgs( permalink, [ 'page' ] ),\n\t\t\t\t\t\t\t{ page: headingPage }\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If we're including all headings or we've reached headings on\n\t\t\t\t// the same page as the Table of Contents block, add them to the\n\t\t\t\t// list.\n\t\t\t\telse if (\n\t\t\t\t\t! onlyIncludeCurrentPage ||\n\t\t\t\t\theadingPage === tocPage\n\t\t\t\t) {\n\t\t\t\t\tif ( blockName === 'core/heading' ) {\n\t\t\t\t\t\tconst headingAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( blockClientId );\n\n\t\t\t\t\t\tconst canBeLinked =\n\t\t\t\t\t\t\ttypeof headingPageLink === 'string' &&\n\t\t\t\t\t\t\ttypeof headingAttributes.anchor === 'string' &&\n\t\t\t\t\t\t\theadingAttributes.anchor !== '';\n\n\t\t\t\t\t\t_latestHeadings.push( {\n\t\t\t\t\t\t\t// Convert line breaks to spaces, and get rid of HTML tags in the headings.\n\t\t\t\t\t\t\tcontent: stripHTML(\n\t\t\t\t\t\t\t\theadingAttributes.content.replace(\n\t\t\t\t\t\t\t\t\t/(<br *\\/?>)+/g,\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\tlevel: headingAttributes.level,\n\t\t\t\t\t\t\tlink: canBeLinked\n\t\t\t\t\t\t\t\t? `${ headingPageLink }#${ headingAttributes.anchor }`\n\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( fastDeepEqual( headings, _latestHeadings ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn _latestHeadings;\n\t\t},\n\t\t[ clientId, onlyIncludeCurrentPage, headings ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( latestHeadings !== null ) {\n\t\t\t// This is required to keep undo working and not create 2 undo steps\n\t\t\t// for each heading change.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { headings: latestHeadings } );\n\t\t}\n\t}, [ latestHeadings ] );\n\n\tconst headingTree = linearToNestedHeadingList( headings );\n\n\tconst toolbarControls = canInsertList && (\n\t\t<BlockControls>\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlock( 'core/list', {\n\t\t\t\t\t\t\t\tordered: true,\n\t\t\t\t\t\t\t\tvalues: renderToString(\n\t\t\t\t\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\t\t\t\t\tnestedHeadingList={ headingTree }\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>\n\t\t\t\t\t{ __( 'Convert to static list' ) }\n\t\t\t\t</ToolbarButton>\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Only include current page' ) }\n\t\t\t\t\tchecked={ onlyIncludeCurrentPage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { onlyIncludeCurrentPage: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={\n\t\t\t\t\t\tonlyIncludeCurrentPage\n\t\t\t\t\t\t\t? __(\n\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 )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'Toggle to only include headings from the current page (if the post is paginated).'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\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\treturn (\n\t\t<>\n\t\t\t<nav { ...blockProps }>\n\t\t\t\t<ol inert=\"true\">\n\t\t\t\t\t<TableOfContentsList nestedHeadingList={ headingTree } />\n\t\t\t\t</ol>\n\t\t\t</nav>\n\t\t\t{ toolbarControls }\n\t\t\t{ inspectorControls }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/table-of-contents/edit.js"],"names":["fastDeepEqual","BlockControls","BlockIcon","InspectorControls","store","blockEditorStore","useBlockProps","createBlock","PanelBody","Placeholder","ToggleControl","ToolbarButton","ToolbarGroup","useDispatch","useSelect","__unstableStripHTML","stripHTML","renderToString","useEffect","__","addQueryArgs","removeQueryArgs","icon","TableOfContentsList","linearToNestedHeadingList","TableOfContentsEdit","attributes","headings","onlyIncludeCurrentPage","clientId","setAttributes","blockProps","canInsertList","select","getBlockRootClientId","canInsertBlockType","rootClientId","__unstableMarkNextChangeAsNotPersistent","replaceBlocks","latestHeadings","getBlockAttributes","getBlockName","getClientIdsWithDescendants","__experimentalGetGlobalBlocksByName","getGlobalBlocksByName","editorSelectors","pageBreakClientIds","isPaginated","length","allBlockClientIds","tocPage","tocIndex","indexOf","blockIndex","blockClientId","entries","_latestHeadings","headingPage","permalink","getPermalink","headingPageLink","page","blockName","headingAttributes","canBeLinked","anchor","push","content","replace","level","link","headingTree","toolbarControls","ordered","values","inspectorControls","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6';\n\n/**\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\tPanelBody,\n\tPlaceholder,\n\tToggleControl,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { renderToString, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { addQueryArgs, removeQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport icon from './icon';\nimport TableOfContentsList from './list';\nimport { linearToNestedHeadingList } from './utils';\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 A 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 {string} props.clientId\n * @param {(attributes: Object) => void} props.setAttributes\n *\n * @return {WPComponent} The component.\n */\nexport default function TableOfContentsEdit( {\n\tattributes: { headings = [], onlyIncludeCurrentPage },\n\tclientId,\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps();\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 { __unstableMarkNextChangeAsNotPersistent, replaceBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\n\t/**\n\t * The latest heading data, or null if the new data deeply equals the saved\n\t * headings attribute.\n\t *\n\t * Since useSelect forces a re-render when its return value is shallowly\n\t * inequal to its prior call, we would be re-rendering this block every time\n\t * the stores change, even if the latest headings were deeply equal to the\n\t * ones saved in the block attributes.\n\t *\n\t * By returning null when they're equal, we reduce that to 2 renders: one\n\t * when there are new latest headings (and so it returns them), and one when\n\t * they haven't changed (so it returns null). As long as the latest heading\n\t * data remains the same, further calls of the useSelect callback will\n\t * continue to return null, thus preventing any forced re-renders.\n\t */\n\tconst latestHeadings = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetClientIdsWithDescendants,\n\t\t\t\t__experimentalGetGlobalBlocksByName: getGlobalBlocksByName,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\t// FIXME: @wordpress/block-library should not depend on @wordpress/editor.\n\t\t\t// Blocks can be loaded into a *non-post* block editor, so to avoid\n\t\t\t// declaring @wordpress/editor as a dependency, we must access its\n\t\t\t// store by string. When the store is not available, editorSelectors\n\t\t\t// will be null, and the block's saved markup will lack permalinks.\n\t\t\t// eslint-disable-next-line @wordpress/data-no-store-string-literals\n\t\t\tconst editorSelectors = select( 'core/editor' );\n\n\t\t\tconst pageBreakClientIds = getGlobalBlocksByName( 'core/nextpage' );\n\n\t\t\tconst isPaginated = pageBreakClientIds.length !== 0;\n\n\t\t\t// Get the client ids of all blocks in the editor.\n\t\t\tconst allBlockClientIds = getClientIdsWithDescendants();\n\n\t\t\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\t\t\tlet tocPage = 1;\n\n\t\t\tif ( isPaginated && onlyIncludeCurrentPage ) {\n\t\t\t\t// We can't use getBlockIndex because it only returns the index\n\t\t\t\t// relative to sibling blocks.\n\t\t\t\tconst tocIndex = allBlockClientIds.indexOf( clientId );\n\n\t\t\t\tfor ( const [\n\t\t\t\t\tblockIndex,\n\t\t\t\t\tblockClientId,\n\t\t\t\t] of allBlockClientIds.entries() ) {\n\t\t\t\t\t// If we've reached blocks after the Table of Contents, we've\n\t\t\t\t\t// finished calculating which page the block is on.\n\t\t\t\t\tif ( blockIndex >= tocIndex ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif ( getBlockName( blockClientId ) === 'core/nextpage' ) {\n\t\t\t\t\t\ttocPage++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst _latestHeadings = [];\n\n\t\t\t/** The page (of a paginated post) a heading will be part of. */\n\t\t\tlet headingPage = 1;\n\n\t\t\t/**\n\t\t\t * A permalink to the current post. If the core/editor store is\n\t\t\t * unavailable, this variable will be null.\n\t\t\t */\n\t\t\tconst permalink = editorSelectors?.getPermalink() ?? null;\n\n\t\t\tlet headingPageLink = null;\n\n\t\t\t// If the core/editor store is available, we can add permalinks to the\n\t\t\t// generated table of contents.\n\t\t\tif ( typeof permalink === 'string' ) {\n\t\t\t\theadingPageLink = isPaginated\n\t\t\t\t\t? addQueryArgs( permalink, { page: headingPage } )\n\t\t\t\t\t: permalink;\n\t\t\t}\n\n\t\t\tfor ( const blockClientId of allBlockClientIds ) {\n\t\t\t\tconst blockName = getBlockName( blockClientId );\n\t\t\t\tif ( blockName === 'core/nextpage' ) {\n\t\t\t\t\theadingPage++;\n\n\t\t\t\t\t// If we're only including headings from the current page (of\n\t\t\t\t\t// a paginated post), then exit the loop if we've reached the\n\t\t\t\t\t// pages after the one with the Table of Contents block.\n\t\t\t\t\tif ( onlyIncludeCurrentPage && headingPage > tocPage ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( typeof permalink === 'string' ) {\n\t\t\t\t\t\theadingPageLink = addQueryArgs(\n\t\t\t\t\t\t\tremoveQueryArgs( permalink, [ 'page' ] ),\n\t\t\t\t\t\t\t{ page: headingPage }\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If we're including all headings or we've reached headings on\n\t\t\t\t// the same page as the Table of Contents block, add them to the\n\t\t\t\t// list.\n\t\t\t\telse if (\n\t\t\t\t\t! onlyIncludeCurrentPage ||\n\t\t\t\t\theadingPage === tocPage\n\t\t\t\t) {\n\t\t\t\t\tif ( blockName === 'core/heading' ) {\n\t\t\t\t\t\tconst headingAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( blockClientId );\n\n\t\t\t\t\t\tconst canBeLinked =\n\t\t\t\t\t\t\ttypeof headingPageLink === 'string' &&\n\t\t\t\t\t\t\ttypeof headingAttributes.anchor === 'string' &&\n\t\t\t\t\t\t\theadingAttributes.anchor !== '';\n\n\t\t\t\t\t\t_latestHeadings.push( {\n\t\t\t\t\t\t\t// Convert line breaks to spaces, and get rid of HTML tags in the headings.\n\t\t\t\t\t\t\tcontent: stripHTML(\n\t\t\t\t\t\t\t\theadingAttributes.content.replace(\n\t\t\t\t\t\t\t\t\t/(<br *\\/?>)+/g,\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\tlevel: headingAttributes.level,\n\t\t\t\t\t\t\tlink: canBeLinked\n\t\t\t\t\t\t\t\t? `${ headingPageLink }#${ headingAttributes.anchor }`\n\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( fastDeepEqual( headings, _latestHeadings ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn _latestHeadings;\n\t\t},\n\t\t[ clientId, onlyIncludeCurrentPage, headings ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( latestHeadings !== null ) {\n\t\t\t// This is required to keep undo working and not create 2 undo steps\n\t\t\t// for each heading change.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { headings: latestHeadings } );\n\t\t}\n\t}, [ latestHeadings ] );\n\n\tconst headingTree = linearToNestedHeadingList( headings );\n\n\tconst toolbarControls = canInsertList && (\n\t\t<BlockControls>\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlock( 'core/list', {\n\t\t\t\t\t\t\t\tordered: true,\n\t\t\t\t\t\t\t\tvalues: renderToString(\n\t\t\t\t\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\t\t\t\t\tnestedHeadingList={ headingTree }\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>\n\t\t\t\t\t{ __( 'Convert to static list' ) }\n\t\t\t\t</ToolbarButton>\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Only include current page' ) }\n\t\t\t\t\tchecked={ onlyIncludeCurrentPage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { onlyIncludeCurrentPage: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={\n\t\t\t\t\t\tonlyIncludeCurrentPage\n\t\t\t\t\t\t\t? __(\n\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 )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'Toggle to only include headings from the current page (if the post is paginated).'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\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\treturn (\n\t\t<>\n\t\t\t<nav { ...blockProps }>\n\t\t\t\t<ol inert=\"true\">\n\t\t\t\t\t<TableOfContentsList nestedHeadingList={ headingTree } />\n\t\t\t\t</ol>\n\t\t\t</nav>\n\t\t\t{ toolbarControls }\n\t\t\t{ inspectorControls }\n\t\t</>\n\t);\n}\n"]}
@@ -4,7 +4,7 @@
4
4
  import initBlock from '../utils/init-block';
5
5
  const metadata = {
6
6
  $schema: "https://schemas.wp.org/trunk/block.json",
7
- apiVersion: 2,
7
+ apiVersion: 3,
8
8
  __experimental: true,
9
9
  name: "core/table-of-contents",
10
10
  title: "Table of Contents",
@@ -8,10 +8,9 @@ import { createElement, Fragment } from "@wordpress/element";
8
8
  * Internal dependencies
9
9
  */
10
10
  const ENTRY_CLASS_NAME = 'wp-block-table-of-contents__entry';
11
- export default function TableOfContentsList(_ref) {
12
- let {
13
- nestedHeadingList
14
- } = _ref;
11
+ export default function TableOfContentsList({
12
+ nestedHeadingList
13
+ }) {
15
14
  return createElement(Fragment, null, nestedHeadingList.map((node, index) => {
16
15
  const {
17
16
  content,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/table-of-contents/list.tsx"],"names":["ENTRY_CLASS_NAME","TableOfContentsList","nestedHeadingList","map","node","index","content","link","heading","entry","children"],"mappings":";;AAAA;AACA;AACA;;AAGA;AACA;AACA;AAGA,MAAMA,gBAAgB,GAAG,mCAAzB;AAEA,eAAe,SAASC,mBAAT,OAIA;AAAA,MAJ8B;AAC5CC,IAAAA;AAD4C,GAI9B;AACd,SACC,8BACGA,iBAAiB,CAACC,GAAlB,CAAuB,CAAEC,IAAF,EAAQC,KAAR,KAAmB;AAC3C,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAAoBH,IAAI,CAACI,OAA/B;AAEA,UAAMC,KAAK,GAAGF,IAAI,GACjB;AAAG,MAAA,SAAS,EAAGP,gBAAf;AAAkC,MAAA,IAAI,EAAGO;AAAzC,OACGD,OADH,CADiB,GAKjB;AAAM,MAAA,SAAS,EAAGN;AAAlB,OAAuCM,OAAvC,CALD;AAQA,WACC;AAAI,MAAA,GAAG,EAAGD;AAAV,OACGI,KADH,EAEGL,IAAI,CAACM,QAAL,GACD,0BACC,cAAC,mBAAD;AACC,MAAA,iBAAiB,EAAGN,IAAI,CAACM;AAD1B,MADD,CADC,GAME,IARL,CADD;AAYA,GAvBC,CADH,CADD;AA4BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport type { WPElement } from '@wordpress/element';\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}: {\n\tnestedHeadingList: NestedHeadingData[];\n} ): WPElement {\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 className={ ENTRY_CLASS_NAME } href={ link }>\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\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<ol>\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/>\n\t\t\t\t\t\t\t</ol>\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"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/table-of-contents/list.tsx"],"names":["ENTRY_CLASS_NAME","TableOfContentsList","nestedHeadingList","map","node","index","content","link","heading","entry","children"],"mappings":";;AAAA;AACA;AACA;;AAGA;AACA;AACA;AAGA,MAAMA,gBAAgB,GAAG,mCAAzB;AAEA,eAAe,SAASC,mBAAT,CAA8B;AAC5CC,EAAAA;AAD4C,CAA9B,EAIA;AACd,SACC,8BACGA,iBAAiB,CAACC,GAAlB,CAAuB,CAAEC,IAAF,EAAQC,KAAR,KAAmB;AAC3C,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAAoBH,IAAI,CAACI,OAA/B;AAEA,UAAMC,KAAK,GAAGF,IAAI,GACjB;AAAG,MAAA,SAAS,EAAGP,gBAAf;AAAkC,MAAA,IAAI,EAAGO;AAAzC,OACGD,OADH,CADiB,GAKjB;AAAM,MAAA,SAAS,EAAGN;AAAlB,OAAuCM,OAAvC,CALD;AAQA,WACC;AAAI,MAAA,GAAG,EAAGD;AAAV,OACGI,KADH,EAEGL,IAAI,CAACM,QAAL,GACD,0BACC,cAAC,mBAAD;AACC,MAAA,iBAAiB,EAAGN,IAAI,CAACM;AAD1B,MADD,CADC,GAME,IARL,CADD;AAYA,GAvBC,CADH,CADD;AA4BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport type { WPElement } from '@wordpress/element';\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}: {\n\tnestedHeadingList: NestedHeadingData[];\n} ): WPElement {\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 className={ ENTRY_CLASS_NAME } href={ link }>\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\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<ol>\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/>\n\t\t\t\t\t\t\t</ol>\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"]}
@@ -10,18 +10,17 @@ import { useBlockProps } from '@wordpress/block-editor';
10
10
 
11
11
  import TableOfContentsList from './list';
12
12
  import { linearToNestedHeadingList } from './utils';
13
- export default function save(_ref) {
14
- let {
15
- attributes: {
16
- headings = []
17
- }
18
- } = _ref;
19
-
13
+ export default function save({
14
+ attributes: {
15
+ headings = []
16
+ }
17
+ }) {
20
18
  if (headings.length === 0) {
21
19
  return null;
22
20
  }
23
21
 
24
- return createElement("nav", useBlockProps.save(), createElement("ol", null, createElement(TableOfContentsList, {
22
+ return createElement("nav", { ...useBlockProps.save()
23
+ }, createElement("ol", null, createElement(TableOfContentsList, {
25
24
  nestedHeadingList: linearToNestedHeadingList(headings)
26
25
  })));
27
26
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/table-of-contents/save.js"],"names":["useBlockProps","TableOfContentsList","linearToNestedHeadingList","save","attributes","headings","length"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,aAAT,QAA8B,yBAA9B;AAEA;AACA;AACA;;AACA,OAAOC,mBAAP,MAAgC,QAAhC;AACA,SAASC,yBAAT,QAA0C,SAA1C;AAEA,eAAe,SAASC,IAAT,OAAmD;AAAA,MAApC;AAAEC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,QAAQ,GAAG;AAAb;AAAd,GAAoC;;AACjE,MAAKA,QAAQ,CAACC,MAAT,KAAoB,CAAzB,EAA6B;AAC5B,WAAO,IAAP;AACA;;AACD,SACC,qBAAUN,aAAa,CAACG,IAAd,EAAV,EACC,0BACC,cAAC,mBAAD;AACC,IAAA,iBAAiB,EAAGD,yBAAyB,CAAEG,QAAF;AAD9C,IADD,CADD,CADD;AASA","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( { attributes: { headings = [] } } ) {\n\tif ( headings.length === 0 ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<nav { ...useBlockProps.save() }>\n\t\t\t<ol>\n\t\t\t\t<TableOfContentsList\n\t\t\t\t\tnestedHeadingList={ linearToNestedHeadingList( headings ) }\n\t\t\t\t/>\n\t\t\t</ol>\n\t\t</nav>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/table-of-contents/save.js"],"names":["useBlockProps","TableOfContentsList","linearToNestedHeadingList","save","attributes","headings","length"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,aAAT,QAA8B,yBAA9B;AAEA;AACA;AACA;;AACA,OAAOC,mBAAP,MAAgC,QAAhC;AACA,SAASC,yBAAT,QAA0C,SAA1C;AAEA,eAAe,SAASC,IAAT,CAAe;AAAEC,EAAAA,UAAU,EAAE;AAAEC,IAAAA,QAAQ,GAAG;AAAb;AAAd,CAAf,EAAmD;AACjE,MAAKA,QAAQ,CAACC,MAAT,KAAoB,CAAzB,EAA6B;AAC5B,WAAO,IAAP;AACA;;AACD,SACC,0BAAUN,aAAa,CAACG,IAAd;AAAV,KACC,0BACC,cAAC,mBAAD;AACC,IAAA,iBAAiB,EAAGD,yBAAyB,CAAEG,QAAF;AAD9C,IADD,CADD,CADD;AASA","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( { attributes: { headings = [] } } ) {\n\tif ( headings.length === 0 ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<nav { ...useBlockProps.save() }>\n\t\t\t<ol>\n\t\t\t\t<TableOfContentsList\n\t\t\t\t\tnestedHeadingList={ linearToNestedHeadingList( headings ) }\n\t\t\t\t/>\n\t\t\t</ol>\n\t\t</nav>\n\t);\n}\n"]}
@@ -15,12 +15,10 @@ export function linearToNestedHeadingList(headingList) {
15
15
 
16
16
 
17
17
  if (heading.level === headingList[0].level) {
18
- var _headingList;
19
-
20
18
  // Check that the next iteration will return a value.
21
19
  // If it does and the next level is greater than the current level,
22
20
  // the next iteration becomes a child of the current iteration.
23
- if (((_headingList = headingList[key + 1]) === null || _headingList === void 0 ? void 0 : _headingList.level) > heading.level) {
21
+ if (headingList[key + 1]?.level > heading.level) {
24
22
  // We must calculate the last index before the next iteration that
25
23
  // has the same level (siblings). We then use this index to slice
26
24
  // the array for use in recursion. This prevents duplicate nodes.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/table-of-contents/utils.ts"],"names":["linearToNestedHeadingList","headingList","nestedHeadingList","forEach","heading","key","content","level","endOfSlice","length","i","push","children","slice"],"mappings":"AAgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,yBAAT,CACNC,WADM,EAEgB;AACtB,QAAMC,iBAAsC,GAAG,EAA/C;AAEAD,EAAAA,WAAW,CAACE,OAAZ,CAAqB,CAAEC,OAAF,EAAWC,GAAX,KAAoB;AACxC,QAAKD,OAAO,CAACE,OAAR,KAAoB,EAAzB,EAA8B;AAC7B;AACA,KAHuC,CAKxC;;;AACA,QAAKF,OAAO,CAACG,KAAR,KAAkBN,WAAW,CAAE,CAAF,CAAX,CAAiBM,KAAxC,EAAgD;AAAA;;AAC/C;AACA;AACA;AACA,UAAK,iBAAAN,WAAW,CAAEI,GAAG,GAAG,CAAR,CAAX,8DAAwBE,KAAxB,IAAgCH,OAAO,CAACG,KAA7C,EAAqD;AACpD;AACA;AACA;AACA,YAAIC,UAAU,GAAGP,WAAW,CAACQ,MAA7B;;AACA,aAAM,IAAIC,CAAC,GAAGL,GAAG,GAAG,CAApB,EAAuBK,CAAC,GAAGT,WAAW,CAACQ,MAAvC,EAA+CC,CAAC,EAAhD,EAAqD;AACpD,cAAKT,WAAW,CAAES,CAAF,CAAX,CAAiBH,KAAjB,KAA2BH,OAAO,CAACG,KAAxC,EAAgD;AAC/CC,YAAAA,UAAU,GAAGE,CAAb;AACA;AACA;AACD,SAVmD,CAYpD;AACA;;;AACAR,QAAAA,iBAAiB,CAACS,IAAlB,CAAwB;AACvBP,UAAAA,OADuB;AAEvBQ,UAAAA,QAAQ,EAAEZ,yBAAyB,CAClCC,WAAW,CAACY,KAAZ,CAAmBR,GAAG,GAAG,CAAzB,EAA4BG,UAA5B,CADkC;AAFZ,SAAxB;AAMA,OApBD,MAoBO;AACN;AACAN,QAAAA,iBAAiB,CAACS,IAAlB,CAAwB;AACvBP,UAAAA,OADuB;AAEvBQ,UAAAA,QAAQ,EAAE;AAFa,SAAxB;AAIA;AACD;AACD,GAtCD;AAwCA,SAAOV,iBAAP;AACA","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"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/table-of-contents/utils.ts"],"names":["linearToNestedHeadingList","headingList","nestedHeadingList","forEach","heading","key","content","level","endOfSlice","length","i","push","children","slice"],"mappings":"AAgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,yBAAT,CACNC,WADM,EAEgB;AACtB,QAAMC,iBAAsC,GAAG,EAA/C;AAEAD,EAAAA,WAAW,CAACE,OAAZ,CAAqB,CAAEC,OAAF,EAAWC,GAAX,KAAoB;AACxC,QAAKD,OAAO,CAACE,OAAR,KAAoB,EAAzB,EAA8B;AAC7B;AACA,KAHuC,CAKxC;;;AACA,QAAKF,OAAO,CAACG,KAAR,KAAkBN,WAAW,CAAE,CAAF,CAAX,CAAiBM,KAAxC,EAAgD;AAC/C;AACA;AACA;AACA,UAAKN,WAAW,CAAEI,GAAG,GAAG,CAAR,CAAX,EAAwBE,KAAxB,GAAgCH,OAAO,CAACG,KAA7C,EAAqD;AACpD;AACA;AACA;AACA,YAAIC,UAAU,GAAGP,WAAW,CAACQ,MAA7B;;AACA,aAAM,IAAIC,CAAC,GAAGL,GAAG,GAAG,CAApB,EAAuBK,CAAC,GAAGT,WAAW,CAACQ,MAAvC,EAA+CC,CAAC,EAAhD,EAAqD;AACpD,cAAKT,WAAW,CAAES,CAAF,CAAX,CAAiBH,KAAjB,KAA2BH,OAAO,CAACG,KAAxC,EAAgD;AAC/CC,YAAAA,UAAU,GAAGE,CAAb;AACA;AACA;AACD,SAVmD,CAYpD;AACA;;;AACAR,QAAAA,iBAAiB,CAACS,IAAlB,CAAwB;AACvBP,UAAAA,OADuB;AAEvBQ,UAAAA,QAAQ,EAAEZ,yBAAyB,CAClCC,WAAW,CAACY,KAAZ,CAAmBR,GAAG,GAAG,CAAzB,EAA4BG,UAA5B,CADkC;AAFZ,SAAxB;AAMA,OApBD,MAoBO;AACN;AACAN,QAAAA,iBAAiB,CAACS,IAAlB,CAAwB;AACvBP,UAAAA,OADuB;AAEvBQ,UAAAA,QAAQ,EAAE;AAFa,SAAxB;AAIA;AACD;AACD,GAtCD;AAwCA,SAAOV,iBAAP;AACA","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"]}