@wordpress/block-library 10.1.0 → 10.1.1-next.v.202607070741.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (722) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/build/accordion/edit.cjs +0 -1
  3. package/build/accordion/edit.cjs.map +2 -2
  4. package/build/accordion/view.cjs +23 -0
  5. package/build/accordion/view.cjs.map +2 -2
  6. package/build/accordion-heading/deprecated.cjs +121 -1
  7. package/build/accordion-heading/deprecated.cjs.map +2 -2
  8. package/build/accordion-heading/edit.cjs +18 -1
  9. package/build/accordion-heading/edit.cjs.map +3 -3
  10. package/build/accordion-heading/save.cjs +18 -1
  11. package/build/accordion-heading/save.cjs.map +3 -3
  12. package/build/accordion-panel/edit.cjs +1 -1
  13. package/build/accordion-panel/edit.cjs.map +2 -2
  14. package/build/archives/edit.cjs +0 -1
  15. package/build/archives/edit.cjs.map +2 -2
  16. package/build/audio/edit.cjs +0 -1
  17. package/build/audio/edit.cjs.map +2 -2
  18. package/build/avatar/edit.cjs +0 -1
  19. package/build/avatar/edit.cjs.map +2 -2
  20. package/build/avatar/user-control.cjs +0 -1
  21. package/build/avatar/user-control.cjs.map +2 -2
  22. package/build/categories/edit.cjs +0 -1
  23. package/build/categories/edit.cjs.map +2 -2
  24. package/build/code/transforms.cjs +5 -3
  25. package/build/code/transforms.cjs.map +2 -2
  26. package/build/column/edit.cjs +0 -1
  27. package/build/column/edit.cjs.map +2 -2
  28. package/build/columns/edit.cjs +0 -1
  29. package/build/columns/edit.cjs.map +2 -2
  30. package/build/columns/transforms.cjs +9 -2
  31. package/build/columns/transforms.cjs.map +2 -2
  32. package/build/comment-author-avatar/edit.cjs +0 -1
  33. package/build/comment-author-avatar/edit.cjs.map +2 -2
  34. package/build/comments-pagination/comments-pagination-arrow-controls.cjs +0 -1
  35. package/build/comments-pagination/comments-pagination-arrow-controls.cjs.map +2 -2
  36. package/build/cover/edit/inspector-controls.cjs +1 -3
  37. package/build/cover/edit/inspector-controls.cjs.map +2 -2
  38. package/build/details/transforms.cjs +3 -1
  39. package/build/details/transforms.cjs.map +2 -2
  40. package/build/embed/edit.cjs +2 -3
  41. package/build/embed/edit.cjs.map +2 -2
  42. package/build/embed/embed-placeholder.cjs +20 -20
  43. package/build/embed/embed-placeholder.cjs.map +3 -3
  44. package/build/file/inspector.cjs +0 -2
  45. package/build/file/inspector.cjs.map +2 -2
  46. package/build/form/edit.cjs +0 -2
  47. package/build/form/edit.cjs.map +2 -2
  48. package/build/freeform/convert-to-blocks-button.cjs +52 -0
  49. package/build/freeform/convert-to-blocks-button.cjs.map +7 -0
  50. package/build/freeform/edit.cjs +14 -33
  51. package/build/freeform/edit.cjs.map +3 -3
  52. package/build/freeform/index.cjs +1 -7
  53. package/build/freeform/index.cjs.map +3 -3
  54. package/build/gallery/block.json +4 -1
  55. package/build/gallery/dynamic-gallery.cjs +263 -0
  56. package/build/gallery/dynamic-gallery.cjs.map +7 -0
  57. package/build/gallery/dynamic-source.cjs +85 -0
  58. package/build/gallery/dynamic-source.cjs.map +7 -0
  59. package/build/gallery/edit.cjs +285 -205
  60. package/build/gallery/edit.cjs.map +3 -3
  61. package/build/gallery/gallery.cjs +0 -3
  62. package/build/gallery/gallery.cjs.map +2 -2
  63. package/build/gallery/index.cjs +2 -0
  64. package/build/gallery/index.cjs.map +3 -3
  65. package/build/gallery/save.cjs +16 -12
  66. package/build/gallery/save.cjs.map +2 -2
  67. package/build/gallery/use-dynamic-gallery.cjs +181 -0
  68. package/build/gallery/use-dynamic-gallery.cjs.map +7 -0
  69. package/build/gallery/variations.cjs +54 -0
  70. package/build/gallery/variations.cjs.map +7 -0
  71. package/build/group/edit.cjs +1 -2
  72. package/build/group/edit.cjs.map +2 -2
  73. package/build/group/transforms.cjs +3 -7
  74. package/build/group/transforms.cjs.map +2 -2
  75. package/build/heading/edit.cjs +10 -3
  76. package/build/heading/edit.cjs.map +2 -2
  77. package/build/html/block.json +2 -2
  78. package/build/html/edit.cjs +65 -23
  79. package/build/html/edit.cjs.map +3 -3
  80. package/build/html/index.cjs +3 -3
  81. package/build/html/index.cjs.map +2 -2
  82. package/build/html/modal.cjs +4 -8
  83. package/build/html/modal.cjs.map +2 -2
  84. package/build/html/save.cjs +2 -4
  85. package/build/html/save.cjs.map +2 -2
  86. package/build/html/transforms.cjs +7 -5
  87. package/build/html/transforms.cjs.map +2 -2
  88. package/build/image/animated-gif-convert-control.cjs +105 -0
  89. package/build/image/animated-gif-convert-control.cjs.map +7 -0
  90. package/build/image/edit.cjs +34 -0
  91. package/build/image/edit.cjs.map +2 -2
  92. package/build/image/image.cjs +38 -66
  93. package/build/image/image.cjs.map +3 -3
  94. package/build/index.cjs.map +2 -2
  95. package/build/latest-comments/edit.cjs +0 -2
  96. package/build/latest-comments/edit.cjs.map +2 -2
  97. package/build/latest-posts/block.json +8 -9
  98. package/build/latest-posts/constants.cjs +0 -3
  99. package/build/latest-posts/constants.cjs.map +2 -2
  100. package/build/latest-posts/deprecated.cjs +100 -8
  101. package/build/latest-posts/deprecated.cjs.map +2 -2
  102. package/build/latest-posts/edit.cjs +62 -76
  103. package/build/latest-posts/edit.cjs.map +2 -2
  104. package/build/list/ordered-list-settings.cjs +0 -1
  105. package/build/list/ordered-list-settings.cjs.map +2 -2
  106. package/build/media-text/edit.cjs +0 -1
  107. package/build/media-text/edit.cjs.map +2 -2
  108. package/build/missing/edit.cjs +1 -3
  109. package/build/missing/edit.cjs.map +2 -2
  110. package/build/navigation/edit/index.cjs +0 -1
  111. package/build/navigation/edit/index.cjs.map +2 -2
  112. package/build/navigation/edit/overlay-menu-preview-controls.cjs +0 -1
  113. package/build/navigation/edit/overlay-menu-preview-controls.cjs.map +2 -2
  114. package/build/navigation/edit/overlay-menu-preview.cjs +0 -1
  115. package/build/navigation/edit/overlay-menu-preview.cjs.map +2 -2
  116. package/build/navigation/edit/overlay-template-part-selector.cjs +0 -1
  117. package/build/navigation/edit/overlay-template-part-selector.cjs.map +2 -2
  118. package/build/navigation/edit/overlay-visibility-control.cjs +0 -1
  119. package/build/navigation/edit/overlay-visibility-control.cjs.map +2 -2
  120. package/build/navigation-link/shared/use-link-preview.cjs +11 -1
  121. package/build/navigation-link/shared/use-link-preview.cjs.map +2 -2
  122. package/build/navigation-overlay-close/edit.cjs +0 -1
  123. package/build/navigation-overlay-close/edit.cjs.map +2 -2
  124. package/build/page-list/edit.cjs +0 -1
  125. package/build/page-list/edit.cjs.map +2 -2
  126. package/build/playlist/block.json +1 -7
  127. package/build/playlist/context.cjs +36 -0
  128. package/build/playlist/context.cjs.map +7 -0
  129. package/build/playlist/edit.cjs +43 -69
  130. package/build/playlist/edit.cjs.map +3 -3
  131. package/build/playlist/utils.cjs +0 -3
  132. package/build/playlist/utils.cjs.map +3 -3
  133. package/build/playlist/view.cjs +4 -4
  134. package/build/playlist/view.cjs.map +2 -2
  135. package/build/playlist-track/block.json +1 -4
  136. package/build/playlist-track/edit.cjs +22 -8
  137. package/build/playlist-track/edit.cjs.map +3 -3
  138. package/build/post-author/edit.cjs +0 -2
  139. package/build/post-author/edit.cjs.map +2 -2
  140. package/build/post-excerpt/edit.cjs +0 -1
  141. package/build/post-excerpt/edit.cjs.map +2 -2
  142. package/build/post-featured-image/overlay-controls.cjs +1 -2
  143. package/build/post-featured-image/overlay-controls.cjs.map +2 -2
  144. package/build/post-navigation-link/edit.cjs +0 -2
  145. package/build/post-navigation-link/edit.cjs.map +2 -2
  146. package/build/query/edit/inspector-controls/author-control.cjs +1 -2
  147. package/build/query/edit/inspector-controls/author-control.cjs.map +2 -2
  148. package/build/query/edit/inspector-controls/format-controls.cjs +1 -2
  149. package/build/query/edit/inspector-controls/format-controls.cjs.map +2 -2
  150. package/build/query/edit/inspector-controls/index.cjs +0 -3
  151. package/build/query/edit/inspector-controls/index.cjs.map +2 -2
  152. package/build/query/edit/inspector-controls/order-control.cjs +0 -1
  153. package/build/query/edit/inspector-controls/order-control.cjs.map +2 -2
  154. package/build/query/edit/inspector-controls/parent-control.cjs +0 -1
  155. package/build/query/edit/inspector-controls/parent-control.cjs.map +2 -2
  156. package/build/query/edit/inspector-controls/per-page-control.cjs +0 -1
  157. package/build/query/edit/inspector-controls/per-page-control.cjs.map +2 -2
  158. package/build/query/edit/inspector-controls/sticky-control.cjs +0 -1
  159. package/build/query/edit/inspector-controls/sticky-control.cjs.map +2 -2
  160. package/build/query/edit/inspector-controls/taxonomy-controls.cjs +1 -2
  161. package/build/query/edit/inspector-controls/taxonomy-controls.cjs.map +2 -2
  162. package/build/query-pagination/query-pagination-arrow-controls.cjs +0 -1
  163. package/build/query-pagination/query-pagination-arrow-controls.cjs.map +2 -2
  164. package/build/query-pagination-numbers/edit.cjs +0 -1
  165. package/build/query-pagination-numbers/edit.cjs.map +2 -2
  166. package/build/quote/transforms.cjs +1 -5
  167. package/build/quote/transforms.cjs.map +2 -2
  168. package/build/rss/edit.cjs +0 -3
  169. package/build/rss/edit.cjs.map +2 -2
  170. package/build/search/edit.cjs +0 -4
  171. package/build/search/edit.cjs.map +2 -2
  172. package/build/separator/edit.cjs +1 -2
  173. package/build/separator/edit.cjs.map +2 -2
  174. package/build/site-logo/edit.cjs +34 -63
  175. package/build/site-logo/edit.cjs.map +3 -3
  176. package/build/social-links/edit.cjs +0 -1
  177. package/build/social-links/edit.cjs.map +2 -2
  178. package/build/spacer/controls.cjs +2 -4
  179. package/build/spacer/controls.cjs.map +2 -2
  180. package/build/spacer/edit.cjs +1 -2
  181. package/build/spacer/edit.cjs.map +2 -2
  182. package/build/tab-list/block.json +3 -2
  183. package/build/tab-list/edit.cjs +38 -51
  184. package/build/tab-list/edit.cjs.map +3 -3
  185. package/build/tab-list/save.cjs +4 -3
  186. package/build/tab-list/save.cjs.map +2 -2
  187. package/build/tab-panel/controls.cjs +2 -4
  188. package/build/tab-panel/controls.cjs.map +3 -3
  189. package/build/tab-panels/edit.cjs +2 -4
  190. package/build/tab-panels/edit.cjs.map +3 -3
  191. package/build/table-of-contents/edit.cjs +0 -1
  192. package/build/table-of-contents/edit.cjs.map +2 -2
  193. package/build/tabs/edit.cjs +2 -2
  194. package/build/tabs/edit.cjs.map +3 -3
  195. package/build/tabs/tab-toolbar-controls.cjs +74 -0
  196. package/build/tabs/tab-toolbar-controls.cjs.map +7 -0
  197. package/build/tabs/use-tab-actions.cjs +87 -0
  198. package/build/tabs/use-tab-actions.cjs.map +7 -0
  199. package/build/tabs/use-tab-list-items-sync.cjs +4 -4
  200. package/build/tabs/use-tab-list-items-sync.cjs.map +2 -2
  201. package/build/tag-cloud/edit.cjs +2 -6
  202. package/build/tag-cloud/edit.cjs.map +2 -2
  203. package/build/template-part/edit/advanced-controls.cjs +0 -1
  204. package/build/template-part/edit/advanced-controls.cjs.map +2 -2
  205. package/build/template-part/edit/import-controls.cjs +1 -2
  206. package/build/template-part/edit/import-controls.cjs.map +2 -2
  207. package/build/terms-query/edit/inspector-controls/include-control.cjs +0 -1
  208. package/build/terms-query/edit/inspector-controls/include-control.cjs.map +2 -2
  209. package/build/terms-query/edit/inspector-controls/inherit-control.cjs +0 -1
  210. package/build/terms-query/edit/inspector-controls/inherit-control.cjs.map +2 -2
  211. package/build/terms-query/edit/inspector-controls/max-terms-control.cjs +0 -1
  212. package/build/terms-query/edit/inspector-controls/max-terms-control.cjs.map +2 -2
  213. package/build/terms-query/edit/inspector-controls/order-control.cjs +0 -1
  214. package/build/terms-query/edit/inspector-controls/order-control.cjs.map +2 -2
  215. package/build/terms-query/edit/inspector-controls/taxonomy-control.cjs +0 -1
  216. package/build/terms-query/edit/inspector-controls/taxonomy-control.cjs.map +2 -2
  217. package/build/text-columns/edit.cjs +0 -1
  218. package/build/text-columns/edit.cjs.map +2 -2
  219. package/build/utils/gif-conversion-attributes.cjs +40 -0
  220. package/build/utils/gif-conversion-attributes.cjs.map +7 -0
  221. package/build/verse/block.json +3 -1
  222. package/build/video/block.json +6 -0
  223. package/build/video/edit-common-settings.cjs +0 -1
  224. package/build/video/edit-common-settings.cjs.map +2 -2
  225. package/build/video/edit.cjs +28 -3
  226. package/build/video/edit.cjs.map +3 -3
  227. package/build/video/gif-restore-control.cjs +73 -0
  228. package/build/video/gif-restore-control.cjs.map +7 -0
  229. package/build/video/index.cjs +2 -0
  230. package/build/video/index.cjs.map +3 -3
  231. package/build/video/save.cjs +7 -1
  232. package/build/video/save.cjs.map +2 -2
  233. package/build/video/tracks-editor.cjs +0 -1
  234. package/build/video/tracks-editor.cjs.map +2 -2
  235. package/build/video/variations.cjs +75 -0
  236. package/build/video/variations.cjs.map +7 -0
  237. package/build-module/accordion/edit.mjs +0 -1
  238. package/build-module/accordion/edit.mjs.map +2 -2
  239. package/build-module/accordion/view.mjs +23 -0
  240. package/build-module/accordion/view.mjs.map +2 -2
  241. package/build-module/accordion-heading/deprecated.mjs +121 -1
  242. package/build-module/accordion-heading/deprecated.mjs.map +2 -2
  243. package/build-module/accordion-heading/edit.mjs +8 -1
  244. package/build-module/accordion-heading/edit.mjs.map +2 -2
  245. package/build-module/accordion-heading/save.mjs +8 -1
  246. package/build-module/accordion-heading/save.mjs.map +2 -2
  247. package/build-module/accordion-panel/edit.mjs +1 -1
  248. package/build-module/accordion-panel/edit.mjs.map +2 -2
  249. package/build-module/archives/edit.mjs +0 -1
  250. package/build-module/archives/edit.mjs.map +2 -2
  251. package/build-module/audio/edit.mjs +0 -1
  252. package/build-module/audio/edit.mjs.map +2 -2
  253. package/build-module/avatar/edit.mjs +0 -1
  254. package/build-module/avatar/edit.mjs.map +2 -2
  255. package/build-module/avatar/user-control.mjs +0 -1
  256. package/build-module/avatar/user-control.mjs.map +2 -2
  257. package/build-module/categories/edit.mjs +0 -1
  258. package/build-module/categories/edit.mjs.map +2 -2
  259. package/build-module/code/transforms.mjs +6 -4
  260. package/build-module/code/transforms.mjs.map +2 -2
  261. package/build-module/column/edit.mjs +0 -1
  262. package/build-module/column/edit.mjs.map +2 -2
  263. package/build-module/columns/edit.mjs +0 -1
  264. package/build-module/columns/edit.mjs.map +2 -2
  265. package/build-module/columns/transforms.mjs +9 -2
  266. package/build-module/columns/transforms.mjs.map +2 -2
  267. package/build-module/comment-author-avatar/edit.mjs +0 -1
  268. package/build-module/comment-author-avatar/edit.mjs.map +2 -2
  269. package/build-module/comments-pagination/comments-pagination-arrow-controls.mjs +0 -1
  270. package/build-module/comments-pagination/comments-pagination-arrow-controls.mjs.map +2 -2
  271. package/build-module/cover/edit/inspector-controls.mjs +1 -3
  272. package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
  273. package/build-module/details/transforms.mjs +7 -2
  274. package/build-module/details/transforms.mjs.map +2 -2
  275. package/build-module/embed/edit.mjs +2 -3
  276. package/build-module/embed/edit.mjs.map +2 -2
  277. package/build-module/embed/embed-placeholder.mjs +20 -23
  278. package/build-module/embed/embed-placeholder.mjs.map +2 -2
  279. package/build-module/file/inspector.mjs +0 -2
  280. package/build-module/file/inspector.mjs.map +2 -2
  281. package/build-module/form/edit.mjs +0 -2
  282. package/build-module/form/edit.mjs.map +2 -2
  283. package/build-module/freeform/convert-to-blocks-button.mjs +31 -0
  284. package/build-module/freeform/convert-to-blocks-button.mjs.map +7 -0
  285. package/build-module/freeform/edit.mjs +15 -34
  286. package/build-module/freeform/edit.mjs.map +2 -2
  287. package/build-module/freeform/index.mjs +1 -7
  288. package/build-module/freeform/index.mjs.map +2 -2
  289. package/build-module/gallery/block.json +4 -1
  290. package/build-module/gallery/dynamic-gallery.mjs +253 -0
  291. package/build-module/gallery/dynamic-gallery.mjs.map +7 -0
  292. package/build-module/gallery/dynamic-source.mjs +55 -0
  293. package/build-module/gallery/dynamic-source.mjs.map +7 -0
  294. package/build-module/gallery/edit.mjs +288 -206
  295. package/build-module/gallery/edit.mjs.map +2 -2
  296. package/build-module/gallery/gallery.mjs +0 -3
  297. package/build-module/gallery/gallery.mjs.map +2 -2
  298. package/build-module/gallery/index.mjs +2 -0
  299. package/build-module/gallery/index.mjs.map +2 -2
  300. package/build-module/gallery/save.mjs +16 -12
  301. package/build-module/gallery/save.mjs.map +2 -2
  302. package/build-module/gallery/use-dynamic-gallery.mjs +167 -0
  303. package/build-module/gallery/use-dynamic-gallery.mjs.map +7 -0
  304. package/build-module/gallery/variations.mjs +33 -0
  305. package/build-module/gallery/variations.mjs.map +7 -0
  306. package/build-module/group/edit.mjs +1 -2
  307. package/build-module/group/edit.mjs.map +2 -2
  308. package/build-module/group/transforms.mjs +7 -8
  309. package/build-module/group/transforms.mjs.map +2 -2
  310. package/build-module/heading/edit.mjs +11 -4
  311. package/build-module/heading/edit.mjs.map +2 -2
  312. package/build-module/html/block.json +2 -2
  313. package/build-module/html/edit.mjs +69 -25
  314. package/build-module/html/edit.mjs.map +2 -2
  315. package/build-module/html/index.mjs +3 -3
  316. package/build-module/html/index.mjs.map +2 -2
  317. package/build-module/html/modal.mjs +4 -8
  318. package/build-module/html/modal.mjs.map +2 -2
  319. package/build-module/html/save.mjs +2 -4
  320. package/build-module/html/save.mjs.map +2 -2
  321. package/build-module/html/transforms.mjs +8 -6
  322. package/build-module/html/transforms.mjs.map +2 -2
  323. package/build-module/image/animated-gif-convert-control.mjs +87 -0
  324. package/build-module/image/animated-gif-convert-control.mjs.map +7 -0
  325. package/build-module/image/edit.mjs +34 -0
  326. package/build-module/image/edit.mjs.map +2 -2
  327. package/build-module/image/image.mjs +28 -67
  328. package/build-module/image/image.mjs.map +2 -2
  329. package/build-module/index.mjs.map +2 -2
  330. package/build-module/latest-comments/edit.mjs +0 -2
  331. package/build-module/latest-comments/edit.mjs.map +2 -2
  332. package/build-module/latest-posts/block.json +8 -9
  333. package/build-module/latest-posts/constants.mjs +0 -2
  334. package/build-module/latest-posts/constants.mjs.map +2 -2
  335. package/build-module/latest-posts/deprecated.mjs +100 -8
  336. package/build-module/latest-posts/deprecated.mjs.map +2 -2
  337. package/build-module/latest-posts/edit.mjs +62 -77
  338. package/build-module/latest-posts/edit.mjs.map +2 -2
  339. package/build-module/list/ordered-list-settings.mjs +0 -1
  340. package/build-module/list/ordered-list-settings.mjs.map +2 -2
  341. package/build-module/media-text/edit.mjs +0 -1
  342. package/build-module/media-text/edit.mjs.map +2 -2
  343. package/build-module/missing/edit.mjs +1 -3
  344. package/build-module/missing/edit.mjs.map +2 -2
  345. package/build-module/navigation/edit/index.mjs +0 -1
  346. package/build-module/navigation/edit/index.mjs.map +2 -2
  347. package/build-module/navigation/edit/overlay-menu-preview-controls.mjs +0 -1
  348. package/build-module/navigation/edit/overlay-menu-preview-controls.mjs.map +2 -2
  349. package/build-module/navigation/edit/overlay-menu-preview.mjs +0 -1
  350. package/build-module/navigation/edit/overlay-menu-preview.mjs.map +2 -2
  351. package/build-module/navigation/edit/overlay-template-part-selector.mjs +0 -1
  352. package/build-module/navigation/edit/overlay-template-part-selector.mjs.map +2 -2
  353. package/build-module/navigation/edit/overlay-visibility-control.mjs +0 -1
  354. package/build-module/navigation/edit/overlay-visibility-control.mjs.map +2 -2
  355. package/build-module/navigation-link/shared/use-link-preview.mjs +11 -1
  356. package/build-module/navigation-link/shared/use-link-preview.mjs.map +2 -2
  357. package/build-module/navigation-overlay-close/edit.mjs +0 -1
  358. package/build-module/navigation-overlay-close/edit.mjs.map +2 -2
  359. package/build-module/page-list/edit.mjs +0 -1
  360. package/build-module/page-list/edit.mjs.map +2 -2
  361. package/build-module/playlist/block.json +1 -7
  362. package/build-module/playlist/context.mjs +11 -0
  363. package/build-module/playlist/context.mjs.map +7 -0
  364. package/build-module/playlist/edit.mjs +44 -70
  365. package/build-module/playlist/edit.mjs.map +2 -2
  366. package/build-module/playlist/utils.mjs +0 -3
  367. package/build-module/playlist/utils.mjs.map +2 -2
  368. package/build-module/playlist/view.mjs +4 -4
  369. package/build-module/playlist/view.mjs.map +2 -2
  370. package/build-module/playlist-track/block.json +1 -4
  371. package/build-module/playlist-track/edit.mjs +23 -9
  372. package/build-module/playlist-track/edit.mjs.map +2 -2
  373. package/build-module/post-author/edit.mjs +0 -2
  374. package/build-module/post-author/edit.mjs.map +2 -2
  375. package/build-module/post-excerpt/edit.mjs +0 -1
  376. package/build-module/post-excerpt/edit.mjs.map +2 -2
  377. package/build-module/post-featured-image/overlay-controls.mjs +1 -2
  378. package/build-module/post-featured-image/overlay-controls.mjs.map +2 -2
  379. package/build-module/post-navigation-link/edit.mjs +0 -2
  380. package/build-module/post-navigation-link/edit.mjs.map +2 -2
  381. package/build-module/query/edit/inspector-controls/author-control.mjs +1 -2
  382. package/build-module/query/edit/inspector-controls/author-control.mjs.map +2 -2
  383. package/build-module/query/edit/inspector-controls/format-controls.mjs +1 -2
  384. package/build-module/query/edit/inspector-controls/format-controls.mjs.map +2 -2
  385. package/build-module/query/edit/inspector-controls/index.mjs +0 -3
  386. package/build-module/query/edit/inspector-controls/index.mjs.map +2 -2
  387. package/build-module/query/edit/inspector-controls/order-control.mjs +0 -1
  388. package/build-module/query/edit/inspector-controls/order-control.mjs.map +2 -2
  389. package/build-module/query/edit/inspector-controls/parent-control.mjs +0 -1
  390. package/build-module/query/edit/inspector-controls/parent-control.mjs.map +2 -2
  391. package/build-module/query/edit/inspector-controls/per-page-control.mjs +0 -1
  392. package/build-module/query/edit/inspector-controls/per-page-control.mjs.map +2 -2
  393. package/build-module/query/edit/inspector-controls/sticky-control.mjs +0 -1
  394. package/build-module/query/edit/inspector-controls/sticky-control.mjs.map +2 -2
  395. package/build-module/query/edit/inspector-controls/taxonomy-controls.mjs +1 -2
  396. package/build-module/query/edit/inspector-controls/taxonomy-controls.mjs.map +2 -2
  397. package/build-module/query-pagination/query-pagination-arrow-controls.mjs +0 -1
  398. package/build-module/query-pagination/query-pagination-arrow-controls.mjs.map +2 -2
  399. package/build-module/query-pagination-numbers/edit.mjs +0 -1
  400. package/build-module/query-pagination-numbers/edit.mjs.map +2 -2
  401. package/build-module/quote/transforms.mjs +6 -6
  402. package/build-module/quote/transforms.mjs.map +2 -2
  403. package/build-module/rss/edit.mjs +0 -3
  404. package/build-module/rss/edit.mjs.map +2 -2
  405. package/build-module/search/edit.mjs +0 -4
  406. package/build-module/search/edit.mjs.map +2 -2
  407. package/build-module/separator/edit.mjs +1 -2
  408. package/build-module/separator/edit.mjs.map +2 -2
  409. package/build-module/site-logo/edit.mjs +34 -64
  410. package/build-module/site-logo/edit.mjs.map +2 -2
  411. package/build-module/social-links/edit.mjs +0 -1
  412. package/build-module/social-links/edit.mjs.map +2 -2
  413. package/build-module/spacer/controls.mjs +2 -4
  414. package/build-module/spacer/controls.mjs.map +2 -2
  415. package/build-module/spacer/edit.mjs +1 -2
  416. package/build-module/spacer/edit.mjs.map +2 -2
  417. package/build-module/tab-list/block.json +3 -2
  418. package/build-module/tab-list/edit.mjs +39 -52
  419. package/build-module/tab-list/edit.mjs.map +2 -2
  420. package/build-module/tab-list/save.mjs +5 -3
  421. package/build-module/tab-list/save.mjs.map +2 -2
  422. package/build-module/tab-panel/controls.mjs +2 -4
  423. package/build-module/tab-panel/controls.mjs.map +2 -2
  424. package/build-module/tab-panels/edit.mjs +2 -4
  425. package/build-module/tab-panels/edit.mjs.map +2 -2
  426. package/build-module/table-of-contents/edit.mjs +0 -1
  427. package/build-module/table-of-contents/edit.mjs.map +2 -2
  428. package/build-module/tabs/edit.mjs +2 -2
  429. package/build-module/tabs/edit.mjs.map +2 -2
  430. package/build-module/tabs/tab-toolbar-controls.mjs +46 -0
  431. package/build-module/tabs/tab-toolbar-controls.mjs.map +7 -0
  432. package/build-module/tabs/use-tab-actions.mjs +66 -0
  433. package/build-module/tabs/use-tab-actions.mjs.map +7 -0
  434. package/build-module/tabs/use-tab-list-items-sync.mjs +6 -6
  435. package/build-module/tabs/use-tab-list-items-sync.mjs.map +2 -2
  436. package/build-module/tag-cloud/edit.mjs +2 -6
  437. package/build-module/tag-cloud/edit.mjs.map +2 -2
  438. package/build-module/template-part/edit/advanced-controls.mjs +0 -1
  439. package/build-module/template-part/edit/advanced-controls.mjs.map +2 -2
  440. package/build-module/template-part/edit/import-controls.mjs +1 -2
  441. package/build-module/template-part/edit/import-controls.mjs.map +2 -2
  442. package/build-module/terms-query/edit/inspector-controls/include-control.mjs +0 -1
  443. package/build-module/terms-query/edit/inspector-controls/include-control.mjs.map +2 -2
  444. package/build-module/terms-query/edit/inspector-controls/inherit-control.mjs +0 -1
  445. package/build-module/terms-query/edit/inspector-controls/inherit-control.mjs.map +2 -2
  446. package/build-module/terms-query/edit/inspector-controls/max-terms-control.mjs +0 -1
  447. package/build-module/terms-query/edit/inspector-controls/max-terms-control.mjs.map +2 -2
  448. package/build-module/terms-query/edit/inspector-controls/order-control.mjs +0 -1
  449. package/build-module/terms-query/edit/inspector-controls/order-control.mjs.map +2 -2
  450. package/build-module/terms-query/edit/inspector-controls/taxonomy-control.mjs +0 -1
  451. package/build-module/terms-query/edit/inspector-controls/taxonomy-control.mjs.map +2 -2
  452. package/build-module/text-columns/edit.mjs +0 -1
  453. package/build-module/text-columns/edit.mjs.map +2 -2
  454. package/build-module/utils/gif-conversion-attributes.mjs +15 -0
  455. package/build-module/utils/gif-conversion-attributes.mjs.map +7 -0
  456. package/build-module/verse/block.json +3 -1
  457. package/build-module/video/block.json +6 -0
  458. package/build-module/video/edit-common-settings.mjs +0 -1
  459. package/build-module/video/edit-common-settings.mjs.map +2 -2
  460. package/build-module/video/edit.mjs +28 -3
  461. package/build-module/video/edit.mjs.map +2 -2
  462. package/build-module/video/gif-restore-control.mjs +55 -0
  463. package/build-module/video/gif-restore-control.mjs.map +7 -0
  464. package/build-module/video/index.mjs +2 -0
  465. package/build-module/video/index.mjs.map +2 -2
  466. package/build-module/video/save.mjs +7 -1
  467. package/build-module/video/save.mjs.map +2 -2
  468. package/build-module/video/tracks-editor.mjs +0 -1
  469. package/build-module/video/tracks-editor.mjs.map +2 -2
  470. package/build-module/video/variations.mjs +50 -0
  471. package/build-module/video/variations.mjs.map +7 -0
  472. package/build-style/accordion-panel/style-rtl.css +1 -2
  473. package/build-style/accordion-panel/style.css +1 -2
  474. package/build-style/audio/style-rtl.css +6 -0
  475. package/build-style/audio/style.css +6 -0
  476. package/build-style/audio/theme-rtl.css +6 -0
  477. package/build-style/audio/theme.css +6 -0
  478. package/build-style/columns/style-rtl.css +6 -0
  479. package/build-style/columns/style.css +6 -0
  480. package/build-style/common-rtl.css +6 -4
  481. package/build-style/common.css +6 -4
  482. package/build-style/editor-rtl.css +38 -3
  483. package/build-style/editor.css +38 -3
  484. package/build-style/embed/style-rtl.css +6 -0
  485. package/build-style/embed/style.css +6 -0
  486. package/build-style/embed/theme-rtl.css +6 -0
  487. package/build-style/embed/theme.css +6 -0
  488. package/build-style/freeform/editor-rtl.css +6 -0
  489. package/build-style/freeform/editor.css +6 -0
  490. package/build-style/gallery/editor-rtl.css +27 -3
  491. package/build-style/gallery/editor.css +27 -3
  492. package/build-style/gallery/style-rtl.css +6 -0
  493. package/build-style/gallery/style.css +6 -0
  494. package/build-style/gallery/theme-rtl.css +6 -0
  495. package/build-style/gallery/theme.css +6 -0
  496. package/build-style/html/editor-rtl.css +13 -0
  497. package/build-style/html/editor.css +13 -0
  498. package/build-style/image/editor-rtl.css +10 -0
  499. package/build-style/image/editor.css +10 -0
  500. package/build-style/image/style-rtl.css +6 -1
  501. package/build-style/image/style.css +6 -1
  502. package/build-style/image/theme-rtl.css +6 -0
  503. package/build-style/image/theme.css +6 -0
  504. package/build-style/latest-posts/style-rtl.css +26 -15
  505. package/build-style/latest-posts/style.css +26 -15
  506. package/build-style/navigation/editor-rtl.css +6 -0
  507. package/build-style/navigation/editor.css +6 -0
  508. package/build-style/navigation/style-rtl.css +6 -0
  509. package/build-style/navigation/style.css +6 -0
  510. package/build-style/navigation-submenu/editor-rtl.css +6 -0
  511. package/build-style/navigation-submenu/editor.css +6 -0
  512. package/build-style/page-list/editor-rtl.css +6 -0
  513. package/build-style/page-list/editor.css +6 -0
  514. package/build-style/playlist/style-rtl.css +121 -19
  515. package/build-style/playlist/style.css +121 -19
  516. package/build-style/post-template/style-rtl.css +6 -0
  517. package/build-style/post-template/style.css +6 -0
  518. package/build-style/query/editor-rtl.css +6 -0
  519. package/build-style/query/editor.css +6 -0
  520. package/build-style/rss/style-rtl.css +6 -0
  521. package/build-style/rss/style.css +6 -0
  522. package/build-style/shortcode/editor-rtl.css +6 -0
  523. package/build-style/shortcode/editor.css +6 -0
  524. package/build-style/style-rtl.css +145 -38
  525. package/build-style/style.css +145 -38
  526. package/build-style/table/editor-rtl.css +6 -0
  527. package/build-style/table/editor.css +6 -0
  528. package/build-style/table/theme-rtl.css +6 -0
  529. package/build-style/table/theme.css +6 -0
  530. package/build-style/template-part/editor-rtl.css +6 -0
  531. package/build-style/template-part/editor.css +6 -0
  532. package/build-style/theme-rtl.css +6 -0
  533. package/build-style/theme.css +6 -0
  534. package/build-style/video/style-rtl.css +6 -0
  535. package/build-style/video/style.css +6 -0
  536. package/build-style/video/theme-rtl.css +6 -0
  537. package/build-style/video/theme.css +6 -0
  538. package/package.json +43 -41
  539. package/src/accordion/README.md +1 -1
  540. package/src/accordion/edit.js +0 -1
  541. package/src/accordion/view.js +24 -0
  542. package/src/accordion-heading/README.md +1 -1
  543. package/src/accordion-heading/deprecated.js +122 -1
  544. package/src/accordion-heading/edit.js +12 -1
  545. package/src/accordion-heading/save.js +12 -1
  546. package/src/accordion-item/README.md +1 -1
  547. package/src/accordion-item/index.php +2 -1
  548. package/src/accordion-panel/edit.js +1 -1
  549. package/src/accordion-panel/style.scss +1 -4
  550. package/src/archives/edit.js +0 -1
  551. package/src/audio/edit.js +0 -1
  552. package/src/avatar/edit.js +0 -1
  553. package/src/avatar/user-control.js +0 -1
  554. package/src/categories/edit.js +0 -1
  555. package/src/code/transforms.js +6 -4
  556. package/src/column/edit.js +0 -1
  557. package/src/columns/edit.js +0 -1
  558. package/src/columns/transforms.js +9 -2
  559. package/src/comment-author-avatar/edit.js +0 -1
  560. package/src/comments-pagination/comments-pagination-arrow-controls.js +0 -1
  561. package/src/common.scss +0 -4
  562. package/src/cover/edit/inspector-controls.js +0 -2
  563. package/src/cover/test/edit.js +4 -4
  564. package/src/details/transforms.js +7 -2
  565. package/src/embed/edit.js +4 -5
  566. package/src/embed/embed-placeholder.js +16 -19
  567. package/src/file/inspector.js +0 -2
  568. package/src/form/edit.js +0 -2
  569. package/src/freeform/convert-to-blocks-button.js +33 -0
  570. package/src/freeform/edit.js +11 -21
  571. package/src/freeform/index.js +1 -9
  572. package/src/gallery/README.md +3 -0
  573. package/src/gallery/block.json +4 -1
  574. package/src/gallery/dynamic-gallery.js +384 -0
  575. package/src/gallery/dynamic-source.js +117 -0
  576. package/src/gallery/edit.js +152 -46
  577. package/src/gallery/editor.scss +32 -4
  578. package/src/gallery/gallery.js +0 -7
  579. package/src/gallery/index.js +2 -0
  580. package/src/gallery/index.php +277 -0
  581. package/src/gallery/save.js +22 -11
  582. package/src/gallery/test/dynamic-source.js +90 -0
  583. package/src/gallery/use-dynamic-gallery.js +275 -0
  584. package/src/gallery/variations.js +37 -0
  585. package/src/group/edit.js +2 -3
  586. package/src/group/transforms.js +7 -8
  587. package/src/heading/edit.js +19 -14
  588. package/src/home-link/index.php +1 -1
  589. package/src/html/README.md +2 -1
  590. package/src/html/block.json +2 -2
  591. package/src/html/edit.js +86 -14
  592. package/src/html/editor.scss +10 -0
  593. package/src/html/index.js +3 -4
  594. package/src/html/modal.js +5 -9
  595. package/src/html/save.js +4 -7
  596. package/src/html/test/index.js +143 -0
  597. package/src/html/transforms.js +11 -6
  598. package/src/icon/index.php +38 -45
  599. package/src/image/animated-gif-convert-control.js +135 -0
  600. package/src/image/edit.js +52 -0
  601. package/src/image/editor.scss +9 -0
  602. package/src/image/image.js +121 -180
  603. package/src/image/style.scss +0 -1
  604. package/src/image/test/animated-gif-convert-control.js +276 -0
  605. package/src/image/test/use-open-image-media-editor-modal.js +19 -4
  606. package/src/index.js +0 -2
  607. package/src/latest-comments/edit.js +0 -2
  608. package/src/latest-posts/README.md +2 -2
  609. package/src/latest-posts/block.json +8 -9
  610. package/src/latest-posts/constants.js +0 -1
  611. package/src/latest-posts/deprecated.js +112 -9
  612. package/src/latest-posts/edit.js +33 -45
  613. package/src/latest-posts/index.php +14 -3
  614. package/src/latest-posts/style.scss +12 -2
  615. package/src/latest-posts/test/deprecated.js +153 -0
  616. package/src/list/ordered-list-settings.js +0 -1
  617. package/src/media-text/edit.js +0 -1
  618. package/src/missing/edit.js +1 -3
  619. package/src/navigation/edit/index.js +0 -1
  620. package/src/navigation/edit/overlay-menu-preview-controls.js +0 -1
  621. package/src/navigation/edit/overlay-menu-preview.js +0 -1
  622. package/src/navigation/edit/overlay-template-part-selector.js +0 -1
  623. package/src/navigation/edit/overlay-visibility-control.js +0 -1
  624. package/src/navigation-link/shared/test/controls.js +0 -4
  625. package/src/navigation-link/shared/test/use-entity-binding.js +8 -12
  626. package/src/navigation-link/shared/test/use-handle-link-change.test.js +0 -4
  627. package/src/navigation-link/shared/test/use-link-preview.test.js +17 -4
  628. package/src/navigation-link/shared/use-link-preview.js +24 -4
  629. package/src/navigation-overlay-close/edit.js +0 -1
  630. package/src/page-list/edit.js +0 -1
  631. package/src/page-list/index.php +1 -1
  632. package/src/playlist/README.md +0 -2
  633. package/src/playlist/block.json +1 -7
  634. package/src/playlist/context.js +9 -0
  635. package/src/playlist/edit.js +51 -82
  636. package/src/playlist/index.php +37 -26
  637. package/src/playlist/style.scss +0 -5
  638. package/src/playlist/test/edit.js +0 -10
  639. package/src/playlist/utils.js +0 -6
  640. package/src/playlist/view.js +4 -4
  641. package/src/playlist-track/README.md +0 -2
  642. package/src/playlist-track/block.json +1 -4
  643. package/src/playlist-track/edit.js +25 -16
  644. package/src/playlist-track/index.php +4 -11
  645. package/src/post-author/edit.js +0 -2
  646. package/src/post-excerpt/edit.js +0 -1
  647. package/src/post-featured-image/overlay-controls.js +0 -1
  648. package/src/post-navigation-link/edit.js +0 -2
  649. package/src/query/edit/inspector-controls/author-control.js +0 -1
  650. package/src/query/edit/inspector-controls/format-controls.js +0 -1
  651. package/src/query/edit/inspector-controls/index.js +0 -3
  652. package/src/query/edit/inspector-controls/order-control.js +0 -1
  653. package/src/query/edit/inspector-controls/parent-control.js +0 -1
  654. package/src/query/edit/inspector-controls/per-page-control.js +0 -1
  655. package/src/query/edit/inspector-controls/sticky-control.js +0 -1
  656. package/src/query/edit/inspector-controls/taxonomy-controls.js +0 -1
  657. package/src/query-pagination/query-pagination-arrow-controls.js +0 -1
  658. package/src/query-pagination-numbers/edit.js +0 -1
  659. package/src/quote/transforms.js +6 -6
  660. package/src/rss/edit.js +0 -3
  661. package/src/search/edit.js +0 -4
  662. package/src/separator/edit.js +0 -1
  663. package/src/site-logo/edit.js +38 -78
  664. package/src/social-links/edit.js +0 -1
  665. package/src/spacer/controls.js +2 -4
  666. package/src/spacer/edit.js +2 -3
  667. package/src/tab-list/block.json +3 -2
  668. package/src/tab-list/edit.js +53 -55
  669. package/src/tab-list/save.js +5 -4
  670. package/src/tab-panel/controls.js +2 -4
  671. package/src/tab-panels/edit.js +2 -4
  672. package/src/table-of-contents/edit.js +0 -1
  673. package/src/tabs/edit.js +2 -2
  674. package/src/tabs/tab-toolbar-controls.js +58 -0
  675. package/src/tabs/use-tab-actions.js +102 -0
  676. package/src/tabs/use-tab-list-items-sync.js +7 -8
  677. package/src/tag-cloud/edit.js +0 -4
  678. package/src/tag-cloud/index.php +1 -1
  679. package/src/template-part/edit/advanced-controls.js +0 -1
  680. package/src/template-part/edit/import-controls.js +0 -1
  681. package/src/terms-query/edit/inspector-controls/include-control.js +0 -1
  682. package/src/terms-query/edit/inspector-controls/inherit-control.js +0 -1
  683. package/src/terms-query/edit/inspector-controls/max-terms-control.js +0 -1
  684. package/src/terms-query/edit/inspector-controls/order-control.js +0 -1
  685. package/src/terms-query/edit/inspector-controls/taxonomy-control.js +0 -1
  686. package/src/text-columns/edit.js +0 -1
  687. package/src/utils/gif-conversion-attributes.js +30 -0
  688. package/src/utils/test/gif-conversion-attributes.js +60 -0
  689. package/src/utils/test/waveform-player.js +0 -4
  690. package/src/utils/test/waveform-utils.js +0 -4
  691. package/src/verse/README.md +1 -0
  692. package/src/verse/block.json +3 -1
  693. package/src/video/README.md +2 -0
  694. package/src/video/block.json +6 -0
  695. package/src/video/edit-common-settings.js +0 -1
  696. package/src/video/edit.js +38 -1
  697. package/src/video/gif-restore-control.js +92 -0
  698. package/src/video/index.js +2 -0
  699. package/src/video/save.js +12 -0
  700. package/src/video/test/variations.js +65 -0
  701. package/src/video/tracks-editor.js +0 -1
  702. package/src/video/variations.js +65 -0
  703. package/build/freeform/migration-notice.cjs +0 -58
  704. package/build/freeform/migration-notice.cjs.map +0 -7
  705. package/build/tab-panel/add-tab-toolbar-control.cjs +0 -90
  706. package/build/tab-panel/add-tab-toolbar-control.cjs.map +0 -7
  707. package/build/tab-panel/remove-tab-toolbar-control.cjs +0 -99
  708. package/build/tab-panel/remove-tab-toolbar-control.cjs.map +0 -7
  709. package/build/tabs/controls.cjs +0 -45
  710. package/build/tabs/controls.cjs.map +0 -7
  711. package/build-module/freeform/migration-notice.mjs +0 -37
  712. package/build-module/freeform/migration-notice.mjs.map +0 -7
  713. package/build-module/tab-panel/add-tab-toolbar-control.mjs +0 -72
  714. package/build-module/tab-panel/add-tab-toolbar-control.mjs.map +0 -7
  715. package/build-module/tab-panel/remove-tab-toolbar-control.mjs +0 -81
  716. package/build-module/tab-panel/remove-tab-toolbar-control.mjs.map +0 -7
  717. package/build-module/tabs/controls.mjs +0 -14
  718. package/build-module/tabs/controls.mjs.map +0 -7
  719. package/src/freeform/migration-notice.js +0 -49
  720. package/src/tab-panel/add-tab-toolbar-control.js +0 -90
  721. package/src/tab-panel/remove-tab-toolbar-control.js +0 -110
  722. package/src/tabs/controls.js +0 -14
@@ -2,12 +2,11 @@
2
2
  * External dependencies
3
3
  */
4
4
  import clsx from 'clsx';
5
- import { v4 as uuid } from 'uuid';
6
5
 
7
6
  /**
8
7
  * WordPress dependencies
9
8
  */
10
- import { useCallback, useEffect } from '@wordpress/element';
9
+ import { useCallback, useEffect, useMemo, useState } from '@wordpress/element';
11
10
  import {
12
11
  store as blockEditorStore,
13
12
  MediaPlaceholder,
@@ -38,6 +37,7 @@ import { createBlock } from '@wordpress/blocks';
38
37
  import { Caption } from '../utils/caption';
39
38
  import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
40
39
  import { WaveformPlayer } from '../utils/waveform-player';
40
+ import { PlaylistContext } from './context';
41
41
  import { getTrackAttributes } from './utils';
42
42
 
43
43
  const ALLOWED_MEDIA_TYPES = [ 'audio' ];
@@ -56,21 +56,19 @@ const PlaylistEdit = ( {
56
56
  showImages,
57
57
  showArtists,
58
58
  showTrackLength,
59
- currentTrack,
60
59
  } = attributes;
61
60
 
62
61
  // Extract the waveform style from the block style variation class.
63
62
  const waveformStyle =
64
63
  attributes.className?.match( /is-style-([\w-]+)/ )?.[ 1 ] || 'bars';
65
64
  const blockProps = useBlockProps();
66
- const { replaceInnerBlocks, __unstableMarkNextChangeAsNotPersistent } =
67
- useDispatch( blockEditorStore );
65
+ const { replaceInnerBlocks } = useDispatch( blockEditorStore );
68
66
  const { createErrorNotice } = useDispatch( noticesStore );
69
67
  const dropdownMenuProps = useToolsPanelDropdownMenuProps();
70
68
  function onUploadError( message ) {
71
69
  createErrorNotice( message, { type: 'snackbar' } );
72
70
  }
73
- const { updateBlockAttributes } = useDispatch( blockEditorStore );
71
+ const [ currentTrackClientId, setCurrentTrackClientId ] = useState( null );
74
72
 
75
73
  const { innerBlockTracks } = useSelect(
76
74
  ( select ) => {
@@ -82,61 +80,44 @@ const PlaylistEdit = ( {
82
80
  [ clientId ]
83
81
  );
84
82
 
85
- // Ensure that each inner block has a unique ID,
86
- // even if a track is duplicated.
87
- useEffect( () => {
88
- const seen = new Set();
89
- let hasDuplicates = false;
90
- const updatedBlocks = innerBlockTracks.map( ( block ) => {
91
- if ( seen.has( block.attributes.uniqueId ) ) {
92
- hasDuplicates = true;
93
- return {
94
- ...block,
95
- attributes: {
96
- ...block.attributes,
97
- uniqueId: uuid(),
98
- },
99
- };
100
- }
101
- seen.add( block.attributes.uniqueId );
102
- return block;
103
- } );
104
- if ( hasDuplicates ) {
105
- replaceInnerBlocks( clientId, updatedBlocks );
106
- }
107
- }, [ innerBlockTracks, clientId, replaceInnerBlocks ] );
108
-
109
83
  // Create a list of tracks from the inner blocks,
110
- // but skip blocks that do not have a uniqueId attribute, such as the media placeholder.
111
- const validTracks = innerBlockTracks.filter(
112
- ( block ) => !! block.attributes.uniqueId
84
+ // but skip blocks that do not have a source, such as the media placeholder.
85
+ const validTracks = useMemo(
86
+ () =>
87
+ innerBlockTracks.filter(
88
+ ( block ) => !! block.attributes.src || !! block.attributes.blob
89
+ ),
90
+ [ innerBlockTracks ]
91
+ );
92
+ const tracks = useMemo(
93
+ () =>
94
+ validTracks.map( ( block ) => ( {
95
+ ...block.attributes,
96
+ clientId: block.clientId,
97
+ } ) ),
98
+ [ validTracks ]
113
99
  );
114
- const tracks = validTracks.map( ( block ) => block.attributes );
115
- const firstTrackId = validTracks[ 0 ]?.attributes?.uniqueId;
116
100
 
117
- // updateBlockAttributes is used to force updating the parent playlist block
118
- // when the currentTrack changes. Using setAttributes directly does not update
119
- // the currentTrack when multiple tracks are moved at the same time.
120
101
  useEffect( () => {
121
- if ( tracks.length === 0 ) {
122
- // If there are no tracks but currentTrack is set, set it to null.
123
- if ( currentTrack !== null ) {
124
- updateBlockAttributes( clientId, { currentTrack: null } );
102
+ if ( validTracks.length === 0 ) {
103
+ if ( currentTrackClientId !== null ) {
104
+ setCurrentTrackClientId( null );
125
105
  }
126
- } else if (
127
- // If the currentTrack is not the first track, update it to the first track.
128
- firstTrackId &&
129
- firstTrackId !== currentTrack
130
- ) {
131
- updateBlockAttributes( clientId, { currentTrack: firstTrackId } );
106
+ return;
132
107
  }
133
- }, [
134
- tracks,
135
- currentTrack,
136
- firstTrackId,
137
- clientId,
138
- updateBlockAttributes,
139
- ] );
108
+
109
+ const currentTrackExists = validTracks.some(
110
+ ( block ) => block.clientId === currentTrackClientId
111
+ );
112
+ if ( ! currentTrackExists ) {
113
+ setCurrentTrackClientId( validTracks[ 0 ].clientId );
114
+ }
115
+ }, [ currentTrackClientId, setCurrentTrackClientId, validTracks ] );
116
+
117
+ const playlistContext = useMemo(
118
+ () => ( { currentTrackClientId, setCurrentTrackClientId } ),
119
+ [ currentTrackClientId, setCurrentTrackClientId ]
120
+ );
140
121
 
141
122
  const onSelectTracks = useCallback(
142
123
  ( media ) => {
@@ -149,41 +130,32 @@ const PlaylistEdit = ( {
149
130
  }
150
131
 
151
132
  const trackList = media.map( getTrackAttributes );
152
- __unstableMarkNextChangeAsNotPersistent();
153
- setAttributes( {
154
- currentTrack:
155
- trackList.length > 0 ? trackList[ 0 ].uniqueId : null,
156
- } );
157
133
 
158
134
  const newBlocks = trackList.map( ( track ) =>
159
135
  createBlock( 'core/playlist-track', track )
160
136
  );
137
+ setCurrentTrackClientId( newBlocks[ 0 ]?.clientId ?? null );
161
138
  // Replace the inner blocks with the new tracks.
162
139
  replaceInnerBlocks( clientId, newBlocks );
163
140
  },
164
- [
165
- __unstableMarkNextChangeAsNotPersistent,
166
- setAttributes,
167
- replaceInnerBlocks,
168
- clientId,
169
- ]
141
+ [ replaceInnerBlocks, clientId, setCurrentTrackClientId ]
170
142
  );
171
143
 
172
- // Get current track data by finding the track with matching uniqueId.
173
- const currentTrackData = tracks.find(
174
- ( track ) => track.uniqueId === currentTrack
175
- );
144
+ // Get current track data by finding the track with matching client ID.
145
+ const currentTrackData =
146
+ tracks.find( ( track ) => track.clientId === currentTrackClientId ) ??
147
+ tracks[ 0 ];
176
148
 
177
149
  // Handle track end - advance to next track or loop to first.
178
150
  const onTrackEnded = useCallback( () => {
179
151
  const currentIndex = tracks.findIndex(
180
- ( track ) => track.uniqueId === currentTrack
152
+ ( track ) => track.clientId === currentTrackClientId
181
153
  );
182
154
  const nextTrack = tracks[ currentIndex + 1 ] || tracks[ 0 ];
183
- if ( nextTrack?.uniqueId ) {
184
- setAttributes( { currentTrack: nextTrack.uniqueId } );
155
+ if ( nextTrack?.clientId ) {
156
+ setCurrentTrackClientId( nextTrack.clientId );
185
157
  }
186
- }, [ currentTrack, tracks, setAttributes ] );
158
+ }, [ currentTrackClientId, setCurrentTrackClientId, tracks ] );
187
159
 
188
160
  const onChangeOrder = useCallback(
189
161
  ( trackOrder ) => {
@@ -196,22 +168,18 @@ const PlaylistEdit = ( {
196
168
  }
197
169
  return titleB.localeCompare( titleA );
198
170
  } );
199
- const firstUniqueId = sortedBlocks[ 0 ]?.attributes?.uniqueId;
200
171
  replaceInnerBlocks( clientId, sortedBlocks );
172
+ setCurrentTrackClientId( sortedBlocks[ 0 ]?.clientId ?? null );
201
173
  setAttributes( {
202
174
  order: trackOrder,
203
- currentTrack:
204
- firstUniqueId && firstUniqueId !== currentTrack
205
- ? firstUniqueId
206
- : currentTrack,
207
175
  } );
208
176
  },
209
177
  [
210
178
  clientId,
211
- currentTrack,
212
179
  innerBlockTracks,
213
180
  replaceInnerBlocks,
214
181
  setAttributes,
182
+ setCurrentTrackClientId,
215
183
  ]
216
184
  );
217
185
 
@@ -379,7 +347,6 @@ const PlaylistEdit = ( {
379
347
  onDeselect={ () => setAttributes( { order: 'asc' } ) }
380
348
  >
381
349
  <SelectControl
382
- __next40pxDefaultSize
383
350
  label={ __( 'Order' ) }
384
351
  value={ order }
385
352
  options={ [
@@ -411,7 +378,9 @@ const PlaylistEdit = ( {
411
378
  ! showTrackLength,
412
379
  } ) }
413
380
  >
414
- { innerBlocksProps.children }
381
+ <PlaylistContext.Provider value={ playlistContext }>
382
+ { innerBlocksProps.children }
383
+ </PlaylistContext.Provider>
415
384
  </ol>
416
385
  ) }
417
386
  <Caption
@@ -17,28 +17,23 @@
17
17
  * @return string Returns the Playlist.
18
18
  */
19
19
  function render_block_core_playlist( $attributes, $content, $block ) {
20
- if ( empty( $attributes['currentTrack'] ) ) {
21
- return '';
22
- }
23
-
24
- $current_media_id = $attributes['currentTrack'];
25
- $playlist_id = wp_unique_id( 'playlist-' );
26
- $playlist_tracks = array();
27
- $tracks_data = array();
28
- $current_unique_id = null;
20
+ $playlist_id = wp_unique_id( 'playlist-' );
21
+ $playlist_tracks = array();
22
+ $tracks_data = array();
29
23
 
30
24
  // Parse inner blocks to extract track data.
31
25
  // This approach avoids duplicating track data in the HTML output.
32
26
  if ( ! empty( $block->inner_blocks ) ) {
33
27
  foreach ( $block->inner_blocks as $inner_block ) {
34
28
  if ( 'core/playlist-track' === $inner_block->name ) {
35
- $inner_block->context['playlistId'] = $playlist_id;
29
+ $track_attributes = $inner_block->attributes;
36
30
 
37
- $track_attributes = $inner_block->attributes;
38
- $unique_id = $track_attributes['uniqueId'] ?? wp_unique_id( 'playlist-track-' );
39
- $playlist_tracks[] = $unique_id;
31
+ if ( empty( $track_attributes['id'] ) ) {
32
+ continue;
33
+ }
40
34
 
41
- $inner_block->attributes['uniqueId'] = $unique_id;
35
+ $track_id = 'track-' . count( $playlist_tracks );
36
+ $playlist_tracks[] = $track_id;
42
37
 
43
38
  // Extract track metadata from block attributes.
44
39
  $title = isset( $track_attributes['title'] ) && ! empty( $track_attributes['title'] ) ? $track_attributes['title'] : __( 'Unknown title' );
@@ -61,7 +56,7 @@ function render_block_core_playlist( $attributes, $content, $block ) {
61
56
  // Data is passed to wp_interactivity_state() which JSON-encodes it,
62
57
  // so we use wp_strip_all_tags() instead of esc_html() to prevent
63
58
  // HTML injection without double-encoding. URLs still use esc_url().
64
- $tracks_data[ $unique_id ] = array(
59
+ $tracks_data[ $track_id ] = array(
65
60
  'url' => esc_url( $url ),
66
61
  'title' => wp_strip_all_tags( $title ),
67
62
  'artist' => wp_strip_all_tags( $artist ),
@@ -69,18 +64,11 @@ function render_block_core_playlist( $attributes, $content, $block ) {
69
64
  'image' => esc_url( $image ),
70
65
  'ariaLabel' => wp_strip_all_tags( $aria_label ),
71
66
  );
72
-
73
- if ( $unique_id === $current_media_id ) {
74
- $current_unique_id = $unique_id;
75
- }
76
67
  }
77
68
  }
78
69
  }
79
70
 
80
- // If there are no tracks but there is a currentTrack set, do not render the block.
81
- // This can happen for example if the currentTrack was not deleted correctly
82
- // or if the block is manually edited in the code editor mode.
83
- if ( empty( $playlist_tracks ) || ! in_array( $current_media_id, $playlist_tracks, true ) ) {
71
+ if ( empty( $playlist_tracks ) ) {
84
72
  return '';
85
73
  }
86
74
 
@@ -108,7 +96,7 @@ function render_block_core_playlist( $attributes, $content, $block ) {
108
96
  data-label-pause="' . $label_pause . '"
109
97
  ></div>';
110
98
 
111
- // Add the HTML for the current track inside the figure.
99
+ // Add the waveform player container inside the figure.
112
100
  $figure = null;
113
101
  preg_match( '/<figure[^>]*>/', $content, $figure );
114
102
  if ( ! empty( $figure[0] ) ) {
@@ -126,16 +114,39 @@ function render_block_core_playlist( $attributes, $content, $block ) {
126
114
 
127
115
  $processor->set_attribute(
128
116
  'data-wp-context',
129
- json_encode(
117
+ wp_json_encode(
130
118
  array(
131
119
  'playlistId' => $playlist_id,
132
- 'currentId' => $current_unique_id,
120
+ 'currentId' => $playlist_tracks[0],
133
121
  'tracks' => $playlist_tracks,
134
122
  'waveformStyle' => $waveform_style,
135
123
  )
136
124
  )
137
125
  );
138
126
 
127
+ // Track IDs are render-time only. Add them after inner blocks have rendered
128
+ // so track buttons can update the Interactivity API state without storing
129
+ // persistent unique IDs in post content.
130
+ $track_index = 0;
131
+ while ( $processor->next_tag( array( 'class_name' => 'wp-block-playlist-track__button' ) ) ) {
132
+ $track_id = $playlist_tracks[ $track_index ] ?? null;
133
+
134
+ if ( null === $track_id ) {
135
+ break;
136
+ }
137
+
138
+ $processor->set_attribute(
139
+ 'data-wp-context',
140
+ wp_json_encode(
141
+ array(
142
+ 'trackId' => $track_id,
143
+ )
144
+ )
145
+ );
146
+
147
+ ++$track_index;
148
+ }
149
+
139
150
  return $processor->get_updated_html();
140
151
  }
141
152
 
@@ -4,11 +4,6 @@
4
4
  $waveform-player-height: 100px;
5
5
 
6
6
  .wp-block-playlist {
7
- // Clip content to respect border-radius.
8
- // `overflow: hidden` is a fallback for browsers that don't support `overflow: clip`.
9
- overflow: hidden;
10
- overflow: clip;
11
-
12
7
  // Main waveform player container.
13
8
  .wp-block-playlist__waveform-player {
14
9
  width: 100%;
@@ -1,17 +1,8 @@
1
- /**
2
- * @jest-environment jsdom
3
- */
4
-
5
1
  /**
6
2
  * Internal dependencies
7
3
  */
8
4
  import { getTrackAttributes } from '../utils';
9
5
 
10
- // Mock uuid to return predictable values.
11
- jest.mock( 'uuid', () => ( {
12
- v4: jest.fn( () => 'mock-uuid-1234' ),
13
- } ) );
14
-
15
6
  describe( 'Playlist block edit utilities', () => {
16
7
  describe( 'getTrackAttributes', () => {
17
8
  it( 'should transform media object to track attributes', () => {
@@ -29,7 +20,6 @@ describe( 'Playlist block edit utilities', () => {
29
20
 
30
21
  expect( result ).toEqual( {
31
22
  id: 123,
32
- uniqueId: 'mock-uuid-1234',
33
23
  src: 'https://example.com/song.mp3',
34
24
  title: 'My Song',
35
25
  artist: 'The Artist',
@@ -1,8 +1,3 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { v4 as uuid } from 'uuid';
5
-
6
1
  /**
7
2
  * WordPress dependencies
8
3
  */
@@ -17,7 +12,6 @@ import { __ } from '@wordpress/i18n';
17
12
  export function getTrackAttributes( media ) {
18
13
  return {
19
14
  id: media.id || media.url, // Attachment ID or URL.
20
- uniqueId: uuid(), // Unique ID for the track.
21
15
  src: media.url,
22
16
  title: media.title,
23
17
  artist:
@@ -19,14 +19,14 @@ const { state } = store(
19
19
  state: {
20
20
  playlists: {},
21
21
  get isCurrentTrack() {
22
- const { currentId, uniqueId } = getContext();
23
- return currentId === uniqueId;
22
+ const { currentId, trackId } = getContext();
23
+ return currentId === trackId;
24
24
  },
25
25
  },
26
26
  actions: {
27
27
  changeTrack() {
28
28
  const context = getContext();
29
- context.currentId = context.uniqueId;
29
+ context.currentId = context.trackId;
30
30
  },
31
31
  },
32
32
  callbacks: {
@@ -109,7 +109,7 @@ function initPlayer( ref, track, shouldAutoPlay, context ) {
109
109
  onEnded: () => {
110
110
  // Advance to next track (autoPlay handles playback).
111
111
  const currentIndex = context.tracks.findIndex(
112
- ( uniqueId ) => uniqueId === context.currentId
112
+ ( trackId ) => trackId === context.currentId
113
113
  );
114
114
  const nextTrack = context.tracks[ currentIndex + 1 ];
115
115
  if ( nextTrack ) {
@@ -24,7 +24,6 @@ _Defined via the [`attributes`](https://developer.wordpress.org/block-editor/ref
24
24
  |-----------|------|---------|-------------|
25
25
  | `blob` | `string` | — | [Role](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-attributes/#role): `local` |
26
26
  | `id` | `number` | — | — |
27
- | `uniqueId` | `string` | — | — |
28
27
  | `src` | `string` | — | — |
29
28
  | `type` | `string` | `"audio"` | — |
30
29
  | `album` | `string` | — | — |
@@ -49,7 +48,6 @@ _Defined via the [`usesContext` and `providesContext`](https://developer.wordpre
49
48
  **Uses context:**
50
49
 
51
50
  - `showArtists`
52
- - `currentTrack`
53
51
 
54
52
  ## Block Markup
55
53
 
@@ -9,7 +9,7 @@
9
9
  "description": "Playlist track.",
10
10
  "keywords": [ "music", "sound" ],
11
11
  "textdomain": "default",
12
- "usesContext": [ "showArtists", "currentTrack" ],
12
+ "usesContext": [ "showArtists" ],
13
13
  "attributes": {
14
14
  "blob": {
15
15
  "type": "string",
@@ -18,9 +18,6 @@
18
18
  "id": {
19
19
  "type": "number"
20
20
  },
21
- "uniqueId": {
22
- "type": "string"
23
- },
24
21
  "src": {
25
22
  "type": "string"
26
23
  },
@@ -1,13 +1,8 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { v4 as uuid } from 'uuid';
5
-
6
1
  /**
7
2
  * WordPress dependencies
8
3
  */
9
4
  import { isBlobURL } from '@wordpress/blob';
10
- import { useRef, useState } from '@wordpress/element';
5
+ import { useContext, useEffect, useRef, useState } from '@wordpress/element';
11
6
  import {
12
7
  MediaPlaceholder,
13
8
  MediaReplaceFlow,
@@ -35,26 +30,42 @@ import { __unstableStripHTML as stripHTML } from '@wordpress/dom';
35
30
  /**
36
31
  * Internal dependencies
37
32
  */
33
+ import { PlaylistContext } from '../playlist/context';
38
34
  import { useUploadMediaFromBlobURL } from '../utils/hooks';
39
35
 
40
36
  const ALLOWED_MEDIA_TYPES = [ 'audio' ];
41
37
  const ALBUM_COVER_ALLOWED_MEDIA_TYPES = [ 'image' ];
42
38
 
43
- const PlaylistTrackEdit = ( { attributes, setAttributes, context } ) => {
44
- // Note that 'id' is the media attachment ID, while 'uniqueId' is a unique identifier.
45
- // This is to make sure that the same media can be used in more than one track.
46
- const { id, uniqueId, src, album, artist, image, length, title } =
47
- attributes;
39
+ const PlaylistTrackEdit = ( {
40
+ attributes,
41
+ setAttributes,
42
+ context,
43
+ clientId,
44
+ isSelected,
45
+ } ) => {
46
+ const { id, src, album, artist, image, length, title } = attributes;
48
47
  const [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );
49
48
  const showArtists = context?.showArtists;
50
- const currentTrack = context?.currentTrack;
51
49
  const imageButton = useRef();
52
50
  const blockProps = useBlockProps();
51
+ const { currentTrackClientId, setCurrentTrackClientId } =
52
+ useContext( PlaylistContext );
53
53
  const { createErrorNotice } = useDispatch( noticesStore );
54
54
  function onUploadError( message ) {
55
55
  createErrorNotice( message, { type: 'snackbar' } );
56
56
  }
57
57
 
58
+ useEffect( () => {
59
+ if ( isSelected && currentTrackClientId !== clientId ) {
60
+ setCurrentTrackClientId( clientId );
61
+ }
62
+ }, [
63
+ isSelected,
64
+ clientId,
65
+ currentTrackClientId,
66
+ setCurrentTrackClientId,
67
+ ] );
68
+
58
69
  useUploadMediaFromBlobURL( {
59
70
  src: temporaryURL,
60
71
  allowedTypes: ALLOWED_MEDIA_TYPES,
@@ -69,7 +80,6 @@ const PlaylistTrackEdit = ( { attributes, setAttributes, context } ) => {
69
80
  setAttributes( {
70
81
  blob: undefined,
71
82
  id: undefined,
72
- uniqueId: undefined,
73
83
  artist: undefined,
74
84
  album: undefined,
75
85
  image: undefined,
@@ -89,7 +99,6 @@ const PlaylistTrackEdit = ( { attributes, setAttributes, context } ) => {
89
99
  setAttributes( {
90
100
  blob: undefined,
91
101
  id: media.id,
92
- uniqueId: uuid(),
93
102
  src: media.url,
94
103
  artist:
95
104
  media.artist ||
@@ -228,9 +237,9 @@ const PlaylistTrackEdit = ( { attributes, setAttributes, context } ) => {
228
237
  { !! temporaryURL && <Spinner /> }
229
238
  <button
230
239
  className="wp-block-playlist-track__button"
231
- data-wp-context={ JSON.stringify( { uniqueId } ) }
240
+ onClick={ () => setCurrentTrackClientId( clientId ) }
232
241
  aria-current={
233
- currentTrack === uniqueId ? 'true' : 'false'
242
+ currentTrackClientId === clientId ? 'true' : 'false'
234
243
  }
235
244
  >
236
245
  <span className="wp-block-playlist-track__content">
@@ -21,19 +21,12 @@ function render_block_core_playlist_track( $attributes ) {
21
21
 
22
22
  $wrapper_attributes = get_block_wrapper_attributes();
23
23
 
24
- $unique_id = $attributes['uniqueId'] ?? wp_unique_id( 'playlist-track-' );
25
- $artist = $attributes['artist'] ?? '';
26
- $length = $attributes['length'] ?? '';
27
- $title = isset( $attributes['title'] ) && ! empty( $attributes['title'] ) ? $attributes['title'] : __( 'Unknown title' );
28
-
29
- $context = wp_interactivity_data_wp_context(
30
- array(
31
- 'uniqueId' => $unique_id,
32
- )
33
- );
24
+ $artist = $attributes['artist'] ?? '';
25
+ $length = $attributes['length'] ?? '';
26
+ $title = isset( $attributes['title'] ) && ! empty( $attributes['title'] ) ? $attributes['title'] : __( 'Unknown title' );
34
27
 
35
28
  $html = '<li ' . $wrapper_attributes . '>';
36
- $html .= '<button ' . $context . 'data-wp-on--click="actions.changeTrack" data-wp-bind--aria-current="state.isCurrentTrack" class="wp-block-playlist-track__button">';
29
+ $html .= '<button data-wp-on--click="actions.changeTrack" data-wp-bind--aria-current="state.isCurrentTrack" class="wp-block-playlist-track__button">';
37
30
 
38
31
  $html .= '<span class="wp-block-playlist-track__content">';
39
32
  if ( $title ) {
@@ -107,7 +107,6 @@ function AuthorCombobox( { value, onChange } ) {
107
107
 
108
108
  return (
109
109
  <ComboboxControl
110
- __next40pxDefaultSize
111
110
  label={ __( 'Author' ) }
112
111
  options={ authorOptions }
113
112
  value={ value?.id }
@@ -268,7 +267,6 @@ function PostAuthorEdit( {
268
267
  }
269
268
  >
270
269
  <SelectControl
271
- __next40pxDefaultSize
272
270
  label={ __( 'Avatar size' ) }
273
271
  value={ avatarSize }
274
272
  options={ avatarSizes }
@@ -248,7 +248,6 @@ export default function PostExcerptEditor( props ) {
248
248
  isShownByDefault
249
249
  >
250
250
  <RangeControl
251
- __next40pxDefaultSize
252
251
  label={ __( 'Max number of words' ) }
253
252
  value={ excerptLength }
254
253
  onChange={ ( value ) => {
@@ -75,7 +75,6 @@ const Overlay = ( {
75
75
  max={ 100 }
76
76
  step={ 10 }
77
77
  required
78
- __next40pxDefaultSize
79
78
  />
80
79
  </ToolsPanelItem>
81
80
  </>
@@ -145,7 +145,6 @@ export default function PostNavigationLinkEdit( {
145
145
  onDeselect={ () => setAttributes( { arrow: 'none' } ) }
146
146
  >
147
147
  <ToggleGroupControl
148
- __next40pxDefaultSize
149
148
  label={ __( 'Arrow' ) }
150
149
  value={ arrow }
151
150
  onChange={ ( value ) => {
@@ -183,7 +182,6 @@ export default function PostNavigationLinkEdit( {
183
182
  </InspectorControls>
184
183
  <InspectorControls group="advanced">
185
184
  <SelectControl
186
- __next40pxDefaultSize
187
185
  label={ __( 'Filter by taxonomy' ) }
188
186
  value={ taxonomy }
189
187
  options={ getTaxonomyOptions() }
@@ -76,7 +76,6 @@ function AuthorControl( { value, onChange } ) {
76
76
  suggestions={ authorsInfo.names }
77
77
  onChange={ onAuthorChange }
78
78
  help=""
79
- __next40pxDefaultSize
80
79
  />
81
80
  );
82
81
  }
@@ -83,7 +83,6 @@ export default function FormatControls( { onChange, query: { format } } ) {
83
83
  } }
84
84
  help=""
85
85
  __experimentalExpandOnFocus
86
- __next40pxDefaultSize
87
86
  />
88
87
  );
89
88
  }
@@ -218,7 +218,6 @@ export default function QueryInspectorControls( props ) {
218
218
  >
219
219
  <VStack spacing={ 4 }>
220
220
  <ToggleGroupControl
221
- __next40pxDefaultSize
222
221
  label={ __( 'Query type' ) }
223
222
  isBlock
224
223
  onChange={ ( value ) => {
@@ -269,7 +268,6 @@ export default function QueryInspectorControls( props ) {
269
268
  >
270
269
  { postTypesSelectOptions.length > 2 ? (
271
270
  <SelectControl
272
- __next40pxDefaultSize
273
271
  options={ postTypesSelectOptions }
274
272
  value={ postType }
275
273
  label={ postTypeControlLabel }
@@ -278,7 +276,6 @@ export default function QueryInspectorControls( props ) {
278
276
  />
279
277
  ) : (
280
278
  <ToggleGroupControl
281
- __next40pxDefaultSize
282
279
  isBlock
283
280
  value={ postType }
284
281
  label={ postTypeControlLabel }