@wordpress/block-library 11.0.0 → 11.1.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 (811) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +7 -7
  3. package/build/accordion/block.json +4 -1
  4. package/build/accordion-item/block.json +7 -1
  5. package/build/accordion-panel/block.json +9 -1
  6. package/build/archives/block.json +9 -0
  7. package/build/archives/edit.cjs.map +3 -3
  8. package/build/audio/block.json +8 -0
  9. package/build/audio/edit.cjs.map +3 -3
  10. package/build/avatar/hooks.cjs.map +2 -2
  11. package/build/breadcrumbs/block.json +3 -0
  12. package/build/breadcrumbs/edit.cjs.map +3 -3
  13. package/build/button/edit.cjs.map +2 -2
  14. package/build/buttons/block.json +9 -0
  15. package/build/categories/block.json +12 -1
  16. package/build/categories/edit.cjs.map +3 -3
  17. package/build/code/block.json +10 -0
  18. package/build/code/save.cjs.map +2 -2
  19. package/build/column/block.json +9 -0
  20. package/build/columns/block.json +9 -0
  21. package/build/comment-author-name/block.json +3 -0
  22. package/build/comment-content/block.json +5 -0
  23. package/build/comment-date/block.json +3 -0
  24. package/build/comment-edit-link/block.json +3 -0
  25. package/build/comment-reply-link/block.json +3 -0
  26. package/build/comment-template/hooks.cjs.map +2 -2
  27. package/build/comments/block.json +10 -0
  28. package/build/comments-pagination/block.json +3 -0
  29. package/build/comments-pagination-next/block.json +3 -0
  30. package/build/comments-pagination-numbers/block.json +3 -0
  31. package/build/comments-pagination-previous/block.json +6 -0
  32. package/build/comments-title/block.json +3 -0
  33. package/build/cover/edit/index.cjs +4 -1
  34. package/build/cover/edit/index.cjs.map +2 -2
  35. package/build/cover/edit/inspector-controls.cjs +52 -13
  36. package/build/cover/edit/inspector-controls.cjs.map +2 -2
  37. package/build/cover/transforms.cjs.map +2 -2
  38. package/build/details/block.json +12 -0
  39. package/build/details/index.cjs.map +2 -2
  40. package/build/embed/embed-controls.cjs.map +2 -2
  41. package/build/file/block.json +9 -0
  42. package/build/file/deprecated.cjs.map +2 -2
  43. package/build/file/edit.cjs.map +2 -2
  44. package/build/file/inspector.cjs.map +3 -3
  45. package/build/file/save.cjs.map +2 -2
  46. package/build/footnotes/block.json +10 -0
  47. package/build/footnotes/edit.cjs.map +2 -2
  48. package/build/gallery/block.json +9 -0
  49. package/build/gallery/dynamic-gallery.cjs.map +3 -3
  50. package/build/gallery/edit.cjs +65 -39
  51. package/build/gallery/edit.cjs.map +3 -3
  52. package/build/gallery/{flex-styles.cjs → gallery-styles.cjs} +31 -32
  53. package/build/gallery/gallery-styles.cjs.map +7 -0
  54. package/build/gallery/responsive-styles.cjs +27 -5
  55. package/build/gallery/responsive-styles.cjs.map +2 -2
  56. package/build/group/block.json +1 -0
  57. package/build/heading/block.json +11 -0
  58. package/build/heading/index.cjs.map +2 -2
  59. package/build/home-link/block.json +18 -0
  60. package/build/home-link/edit.cjs.map +3 -3
  61. package/build/html/modal.cjs +3 -6
  62. package/build/html/modal.cjs.map +2 -2
  63. package/build/image/edit.cjs.map +2 -2
  64. package/build/image/image.cjs +10 -8
  65. package/build/image/image.cjs.map +3 -3
  66. package/build/image/use-open-image-media-editor-modal.cjs +20 -0
  67. package/build/image/use-open-image-media-editor-modal.cjs.map +2 -2
  68. package/build/index.cjs.map +2 -2
  69. package/build/latest-comments/block.json +10 -0
  70. package/build/latest-comments/edit.cjs.map +3 -3
  71. package/build/latest-posts/block.json +10 -0
  72. package/build/latest-posts/edit.cjs.map +2 -2
  73. package/build/list/ordered-list-settings.cjs.map +3 -3
  74. package/build/list-item/hooks/use-enter.cjs.map +2 -2
  75. package/build/loginout/block.json +10 -0
  76. package/build/math/block.json +12 -0
  77. package/build/math/deprecated.cjs +29 -12
  78. package/build/math/deprecated.cjs.map +2 -2
  79. package/build/math/edit.cjs +67 -46
  80. package/build/math/edit.cjs.map +2 -2
  81. package/build/math/save.cjs +2 -2
  82. package/build/math/save.cjs.map +2 -2
  83. package/build/media-text/block.json +1 -0
  84. package/build/media-text/constants.cjs +3 -0
  85. package/build/media-text/constants.cjs.map +2 -2
  86. package/build/media-text/deprecated.cjs.map +2 -2
  87. package/build/media-text/edit.cjs +40 -0
  88. package/build/media-text/edit.cjs.map +3 -3
  89. package/build/media-text/image-fill.cjs.map +2 -2
  90. package/build/media-text/media-container.cjs +3 -3
  91. package/build/media-text/media-container.cjs.map +2 -2
  92. package/build/navigation/edit/index.cjs +1 -4
  93. package/build/navigation/edit/index.cjs.map +2 -2
  94. package/build/navigation/edit/menu-inspector-controls.cjs.map +2 -2
  95. package/build/navigation/edit/overlay-template-part-selector.cjs.map +3 -3
  96. package/build/navigation/edit/responsive-wrapper.cjs.map +2 -2
  97. package/build/navigation/edit/use-generate-default-navigation-title.cjs.map +2 -2
  98. package/build/navigation/view.cjs +2 -2
  99. package/build/navigation/view.cjs.map +2 -2
  100. package/build/navigation-link/edit.cjs.map +2 -2
  101. package/build/navigation-link/link-ui/page-creator.cjs.map +3 -3
  102. package/build/navigation-link/shared/controls.cjs.map +3 -3
  103. package/build/navigation-link/shared/invalid-draft-display.cjs.map +2 -2
  104. package/build/navigation-link/shared/use-link-preview.cjs +13 -13
  105. package/build/navigation-link/shared/use-link-preview.cjs.map +2 -2
  106. package/build/navigation-overlay-close/block.json +7 -0
  107. package/build/navigation-submenu/block.json +6 -0
  108. package/build/navigation-submenu/edit.cjs +9 -1
  109. package/build/navigation-submenu/edit.cjs.map +3 -3
  110. package/build/page-list/block.json +10 -0
  111. package/build/paragraph/block.json +1 -0
  112. package/build/paragraph/edit.cjs +1 -2
  113. package/build/paragraph/edit.cjs.map +2 -2
  114. package/build/paragraph/index.cjs +6 -0
  115. package/build/paragraph/index.cjs.map +3 -3
  116. package/build/playlist/block.json +1 -0
  117. package/build/playlist/edit.cjs +2 -1
  118. package/build/playlist/edit.cjs.map +3 -3
  119. package/build/post-author/edit.cjs.map +3 -3
  120. package/build/post-author-biography/block.json +4 -0
  121. package/build/post-author-name/block.json +5 -0
  122. package/build/post-author-name/edit.cjs.map +2 -2
  123. package/build/post-comments-count/block.json +3 -0
  124. package/build/post-comments-form/block.json +10 -0
  125. package/build/post-content/block.json +3 -0
  126. package/build/post-date/block.json +3 -0
  127. package/build/post-date/edit.cjs.map +2 -2
  128. package/build/post-excerpt/block.json +6 -0
  129. package/build/post-excerpt/edit.cjs.map +2 -2
  130. package/build/post-featured-image/edit.cjs +11 -9
  131. package/build/post-featured-image/edit.cjs.map +2 -2
  132. package/build/post-navigation-link/block.json +30 -0
  133. package/build/post-navigation-link/edit.cjs +13 -2
  134. package/build/post-navigation-link/edit.cjs.map +3 -3
  135. package/build/post-template/block.json +13 -1
  136. package/build/post-terms/block.json +6 -0
  137. package/build/post-time-to-read/block.json +6 -0
  138. package/build/post-time-to-read/edit.cjs.map +2 -2
  139. package/build/post-title/block.json +10 -0
  140. package/build/preformatted/block.json +7 -0
  141. package/build/pullquote/block.json +1 -0
  142. package/build/pullquote/deprecated.cjs.map +2 -2
  143. package/build/query/deprecated.cjs.map +2 -2
  144. package/build/query/edit/inspector-controls/index.cjs.map +3 -3
  145. package/build/query/edit/inspector-controls/order-control.cjs.map +3 -3
  146. package/build/query/edit/inspector-controls/sticky-control.cjs.map +3 -3
  147. package/build/query/view.cjs.map +2 -2
  148. package/build/query-no-results/block.json +10 -2
  149. package/build/query-pagination/block.json +3 -0
  150. package/build/query-pagination-next/block.json +3 -0
  151. package/build/query-pagination-numbers/block.json +3 -0
  152. package/build/query-pagination-previous/block.json +3 -0
  153. package/build/query-title/block.json +3 -0
  154. package/build/query-title/use-archive-label.cjs.map +2 -2
  155. package/build/query-total/block.json +6 -0
  156. package/build/quote/block.json +1 -0
  157. package/build/quote/deprecated.cjs.map +2 -2
  158. package/build/quote/transforms.cjs.map +2 -2
  159. package/build/read-more/block.json +6 -0
  160. package/build/rss/block.json +6 -0
  161. package/build/search/edit.cjs.map +3 -3
  162. package/build/separator/edit.cjs.map +3 -3
  163. package/build/site-tagline/block.json +8 -1
  164. package/build/site-title/block.json +7 -1
  165. package/build/social-links/block.json +3 -0
  166. package/build/social-links/edit.cjs +2 -3
  167. package/build/social-links/edit.cjs.map +3 -3
  168. package/build/tab-panel/block.json +25 -0
  169. package/build/tab-panel/controls.cjs.map +3 -3
  170. package/build/tab-panels/block.json +18 -1
  171. package/build/table/state.cjs.map +2 -2
  172. package/build/table-of-contents/block.json +7 -0
  173. package/build/table-of-contents/edit.cjs.map +3 -3
  174. package/build/table-of-contents/utils.cjs.map +2 -2
  175. package/build/tabs/block.json +24 -1
  176. package/build/tabs/use-tab-actions.cjs.map +2 -2
  177. package/build/tag-cloud/block.json +19 -0
  178. package/build/tag-cloud/edit.cjs.map +3 -3
  179. package/build/template-part/edit/advanced-controls.cjs.map +3 -3
  180. package/build/template-part/edit/import-controls.cjs.map +3 -3
  181. package/build/template-part/edit/index.cjs.map +2 -2
  182. package/build/template-part/edit/inner-blocks.cjs.map +2 -2
  183. package/build/template-part/edit/placeholder.cjs.map +2 -2
  184. package/build/template-part/edit/selection-modal.cjs.map +1 -1
  185. package/build/term-count/block.json +7 -0
  186. package/build/term-count/use-term-count.cjs.map +2 -2
  187. package/build/term-description/block.json +9 -0
  188. package/build/term-description/use-term-description.cjs.map +2 -2
  189. package/build/term-name/block.json +10 -0
  190. package/build/term-name/use-term-name.cjs.map +2 -2
  191. package/build/term-template/block.json +10 -1
  192. package/build/terms-query/edit/inspector-controls/index.cjs.map +2 -2
  193. package/build/terms-query/edit/inspector-controls/inherit-control.cjs.map +2 -2
  194. package/build/terms-query/edit/inspector-controls/order-control.cjs.map +3 -3
  195. package/build/terms-query/edit/inspector-controls/taxonomy-control.cjs.map +3 -3
  196. package/build/utils/hooks.cjs.map +2 -2
  197. package/build/utils/media-control.cjs +5 -1
  198. package/build/utils/media-control.cjs.map +2 -2
  199. package/build/utils/poster-image.cjs.map +2 -2
  200. package/build/utils/search-patterns.cjs +7 -43
  201. package/build/utils/search-patterns.cjs.map +3 -3
  202. package/build/utils/style-state.cjs +4 -6
  203. package/build/utils/style-state.cjs.map +2 -2
  204. package/build/verse/block.json +1 -0
  205. package/build/video/block.json +6 -0
  206. package/build/video/edit-common-settings.cjs.map +3 -3
  207. package/build/video/edit.cjs +23 -15
  208. package/build/video/edit.cjs.map +3 -3
  209. package/build/video/index.cjs +0 -2
  210. package/build/video/index.cjs.map +3 -3
  211. package/build/video/save.cjs +5 -1
  212. package/build/video/save.cjs.map +3 -3
  213. package/build/video/tracks-editor.cjs.map +3 -3
  214. package/build-module/accordion/block.json +4 -1
  215. package/build-module/accordion-item/block.json +7 -1
  216. package/build-module/accordion-panel/block.json +9 -1
  217. package/build-module/archives/block.json +9 -0
  218. package/build-module/archives/edit.mjs +2 -2
  219. package/build-module/archives/edit.mjs.map +2 -2
  220. package/build-module/audio/block.json +8 -0
  221. package/build-module/audio/edit.mjs +2 -2
  222. package/build-module/audio/edit.mjs.map +2 -2
  223. package/build-module/avatar/hooks.mjs.map +2 -2
  224. package/build-module/breadcrumbs/block.json +3 -0
  225. package/build-module/breadcrumbs/edit.mjs +3 -3
  226. package/build-module/breadcrumbs/edit.mjs.map +2 -2
  227. package/build-module/button/edit.mjs.map +2 -2
  228. package/build-module/buttons/block.json +9 -0
  229. package/build-module/categories/block.json +12 -1
  230. package/build-module/categories/edit.mjs +2 -2
  231. package/build-module/categories/edit.mjs.map +2 -2
  232. package/build-module/code/block.json +10 -0
  233. package/build-module/code/save.mjs.map +2 -2
  234. package/build-module/column/block.json +9 -0
  235. package/build-module/columns/block.json +9 -0
  236. package/build-module/comment-author-name/block.json +3 -0
  237. package/build-module/comment-content/block.json +5 -0
  238. package/build-module/comment-date/block.json +3 -0
  239. package/build-module/comment-edit-link/block.json +3 -0
  240. package/build-module/comment-reply-link/block.json +3 -0
  241. package/build-module/comment-template/hooks.mjs.map +2 -2
  242. package/build-module/comments/block.json +10 -0
  243. package/build-module/comments-pagination/block.json +3 -0
  244. package/build-module/comments-pagination-next/block.json +3 -0
  245. package/build-module/comments-pagination-numbers/block.json +3 -0
  246. package/build-module/comments-pagination-previous/block.json +6 -0
  247. package/build-module/comments-title/block.json +3 -0
  248. package/build-module/cover/edit/index.mjs +4 -1
  249. package/build-module/cover/edit/index.mjs.map +2 -2
  250. package/build-module/cover/edit/inspector-controls.mjs +57 -14
  251. package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
  252. package/build-module/cover/transforms.mjs.map +2 -2
  253. package/build-module/details/block.json +12 -0
  254. package/build-module/details/index.mjs.map +2 -2
  255. package/build-module/embed/embed-controls.mjs.map +2 -2
  256. package/build-module/file/block.json +9 -0
  257. package/build-module/file/deprecated.mjs.map +2 -2
  258. package/build-module/file/edit.mjs.map +2 -2
  259. package/build-module/file/inspector.mjs +2 -2
  260. package/build-module/file/inspector.mjs.map +2 -2
  261. package/build-module/file/save.mjs.map +2 -2
  262. package/build-module/footnotes/block.json +10 -0
  263. package/build-module/footnotes/edit.mjs.map +2 -2
  264. package/build-module/gallery/block.json +9 -0
  265. package/build-module/gallery/dynamic-gallery.mjs +2 -2
  266. package/build-module/gallery/dynamic-gallery.mjs.map +2 -2
  267. package/build-module/gallery/edit.mjs +68 -42
  268. package/build-module/gallery/edit.mjs.map +2 -2
  269. package/build-module/gallery/{flex-styles.mjs → gallery-styles.mjs} +29 -30
  270. package/build-module/gallery/gallery-styles.mjs.map +7 -0
  271. package/build-module/gallery/responsive-styles.mjs +25 -4
  272. package/build-module/gallery/responsive-styles.mjs.map +2 -2
  273. package/build-module/group/block.json +1 -0
  274. package/build-module/heading/block.json +11 -0
  275. package/build-module/heading/index.mjs.map +2 -2
  276. package/build-module/home-link/block.json +18 -0
  277. package/build-module/home-link/edit.mjs +2 -2
  278. package/build-module/home-link/edit.mjs.map +2 -2
  279. package/build-module/html/modal.mjs +3 -6
  280. package/build-module/html/modal.mjs.map +2 -2
  281. package/build-module/image/edit.mjs.map +2 -2
  282. package/build-module/image/image.mjs +12 -10
  283. package/build-module/image/image.mjs.map +2 -2
  284. package/build-module/image/use-open-image-media-editor-modal.mjs +20 -0
  285. package/build-module/image/use-open-image-media-editor-modal.mjs.map +2 -2
  286. package/build-module/index.mjs.map +2 -2
  287. package/build-module/latest-comments/block.json +10 -0
  288. package/build-module/latest-comments/edit.mjs +2 -2
  289. package/build-module/latest-comments/edit.mjs.map +2 -2
  290. package/build-module/latest-posts/block.json +10 -0
  291. package/build-module/latest-posts/edit.mjs.map +2 -2
  292. package/build-module/list/ordered-list-settings.mjs +2 -2
  293. package/build-module/list/ordered-list-settings.mjs.map +2 -2
  294. package/build-module/list-item/hooks/use-enter.mjs.map +2 -2
  295. package/build-module/loginout/block.json +10 -0
  296. package/build-module/math/block.json +12 -0
  297. package/build-module/math/deprecated.mjs +29 -12
  298. package/build-module/math/deprecated.mjs.map +2 -2
  299. package/build-module/math/edit.mjs +68 -47
  300. package/build-module/math/edit.mjs.map +2 -2
  301. package/build-module/math/save.mjs +2 -2
  302. package/build-module/math/save.mjs.map +2 -2
  303. package/build-module/media-text/block.json +1 -0
  304. package/build-module/media-text/constants.mjs +2 -0
  305. package/build-module/media-text/constants.mjs.map +2 -2
  306. package/build-module/media-text/deprecated.mjs.map +2 -2
  307. package/build-module/media-text/edit.mjs +42 -1
  308. package/build-module/media-text/edit.mjs.map +2 -2
  309. package/build-module/media-text/image-fill.mjs.map +2 -2
  310. package/build-module/media-text/media-container.mjs +1 -1
  311. package/build-module/media-text/media-container.mjs.map +2 -2
  312. package/build-module/navigation/edit/index.mjs +1 -4
  313. package/build-module/navigation/edit/index.mjs.map +2 -2
  314. package/build-module/navigation/edit/menu-inspector-controls.mjs.map +2 -2
  315. package/build-module/navigation/edit/overlay-template-part-selector.mjs +2 -2
  316. package/build-module/navigation/edit/overlay-template-part-selector.mjs.map +2 -2
  317. package/build-module/navigation/edit/responsive-wrapper.mjs.map +2 -2
  318. package/build-module/navigation/edit/use-generate-default-navigation-title.mjs.map +2 -2
  319. package/build-module/navigation/view.mjs +2 -2
  320. package/build-module/navigation/view.mjs.map +2 -2
  321. package/build-module/navigation-link/edit.mjs.map +2 -2
  322. package/build-module/navigation-link/link-ui/page-creator.mjs +2 -2
  323. package/build-module/navigation-link/link-ui/page-creator.mjs.map +2 -2
  324. package/build-module/navigation-link/shared/controls.mjs +2 -2
  325. package/build-module/navigation-link/shared/controls.mjs.map +2 -2
  326. package/build-module/navigation-link/shared/invalid-draft-display.mjs.map +2 -2
  327. package/build-module/navigation-link/shared/use-link-preview.mjs +13 -13
  328. package/build-module/navigation-link/shared/use-link-preview.mjs.map +2 -2
  329. package/build-module/navigation-overlay-close/block.json +7 -0
  330. package/build-module/navigation-submenu/block.json +6 -0
  331. package/build-module/navigation-submenu/edit.mjs +11 -2
  332. package/build-module/navigation-submenu/edit.mjs.map +2 -2
  333. package/build-module/page-list/block.json +10 -0
  334. package/build-module/paragraph/block.json +1 -0
  335. package/build-module/paragraph/edit.mjs +1 -2
  336. package/build-module/paragraph/edit.mjs.map +2 -2
  337. package/build-module/paragraph/index.mjs +6 -0
  338. package/build-module/paragraph/index.mjs.map +2 -2
  339. package/build-module/playlist/block.json +1 -0
  340. package/build-module/playlist/edit.mjs +5 -4
  341. package/build-module/playlist/edit.mjs.map +2 -2
  342. package/build-module/post-author/edit.mjs +2 -2
  343. package/build-module/post-author/edit.mjs.map +2 -2
  344. package/build-module/post-author-biography/block.json +4 -0
  345. package/build-module/post-author-name/block.json +5 -0
  346. package/build-module/post-author-name/edit.mjs.map +2 -2
  347. package/build-module/post-comments-count/block.json +3 -0
  348. package/build-module/post-comments-form/block.json +10 -0
  349. package/build-module/post-content/block.json +3 -0
  350. package/build-module/post-date/block.json +3 -0
  351. package/build-module/post-date/edit.mjs.map +2 -2
  352. package/build-module/post-excerpt/block.json +6 -0
  353. package/build-module/post-excerpt/edit.mjs.map +2 -2
  354. package/build-module/post-featured-image/edit.mjs +11 -9
  355. package/build-module/post-featured-image/edit.mjs.map +2 -2
  356. package/build-module/post-navigation-link/block.json +30 -0
  357. package/build-module/post-navigation-link/edit.mjs +19 -5
  358. package/build-module/post-navigation-link/edit.mjs.map +2 -2
  359. package/build-module/post-template/block.json +13 -1
  360. package/build-module/post-terms/block.json +6 -0
  361. package/build-module/post-time-to-read/block.json +6 -0
  362. package/build-module/post-time-to-read/edit.mjs.map +2 -2
  363. package/build-module/post-title/block.json +10 -0
  364. package/build-module/preformatted/block.json +7 -0
  365. package/build-module/pullquote/block.json +1 -0
  366. package/build-module/pullquote/deprecated.mjs.map +2 -2
  367. package/build-module/query/deprecated.mjs.map +2 -2
  368. package/build-module/query/edit/inspector-controls/index.mjs +2 -2
  369. package/build-module/query/edit/inspector-controls/index.mjs.map +2 -2
  370. package/build-module/query/edit/inspector-controls/order-control.mjs +2 -2
  371. package/build-module/query/edit/inspector-controls/order-control.mjs.map +2 -2
  372. package/build-module/query/edit/inspector-controls/sticky-control.mjs +2 -2
  373. package/build-module/query/edit/inspector-controls/sticky-control.mjs.map +2 -2
  374. package/build-module/query/view.mjs.map +2 -2
  375. package/build-module/query-no-results/block.json +10 -2
  376. package/build-module/query-pagination/block.json +3 -0
  377. package/build-module/query-pagination-next/block.json +3 -0
  378. package/build-module/query-pagination-numbers/block.json +3 -0
  379. package/build-module/query-pagination-previous/block.json +3 -0
  380. package/build-module/query-title/block.json +3 -0
  381. package/build-module/query-title/use-archive-label.mjs.map +2 -2
  382. package/build-module/query-total/block.json +6 -0
  383. package/build-module/quote/block.json +1 -0
  384. package/build-module/quote/deprecated.mjs.map +2 -2
  385. package/build-module/quote/transforms.mjs.map +2 -2
  386. package/build-module/read-more/block.json +6 -0
  387. package/build-module/rss/block.json +6 -0
  388. package/build-module/search/edit.mjs +3 -3
  389. package/build-module/search/edit.mjs.map +2 -2
  390. package/build-module/separator/edit.mjs +5 -2
  391. package/build-module/separator/edit.mjs.map +2 -2
  392. package/build-module/site-tagline/block.json +8 -1
  393. package/build-module/site-title/block.json +7 -1
  394. package/build-module/social-links/block.json +3 -0
  395. package/build-module/social-links/edit.mjs +4 -5
  396. package/build-module/social-links/edit.mjs.map +2 -2
  397. package/build-module/tab-panel/block.json +25 -0
  398. package/build-module/tab-panel/controls.mjs +2 -2
  399. package/build-module/tab-panel/controls.mjs.map +2 -2
  400. package/build-module/tab-panels/block.json +18 -1
  401. package/build-module/table/state.mjs.map +2 -2
  402. package/build-module/table-of-contents/block.json +7 -0
  403. package/build-module/table-of-contents/edit.mjs +2 -2
  404. package/build-module/table-of-contents/edit.mjs.map +2 -2
  405. package/build-module/table-of-contents/utils.mjs.map +2 -2
  406. package/build-module/tabs/block.json +24 -1
  407. package/build-module/tabs/use-tab-actions.mjs.map +2 -2
  408. package/build-module/tag-cloud/block.json +19 -0
  409. package/build-module/tag-cloud/edit.mjs +2 -2
  410. package/build-module/tag-cloud/edit.mjs.map +2 -2
  411. package/build-module/template-part/edit/advanced-controls.mjs +5 -2
  412. package/build-module/template-part/edit/advanced-controls.mjs.map +2 -2
  413. package/build-module/template-part/edit/import-controls.mjs +2 -2
  414. package/build-module/template-part/edit/import-controls.mjs.map +2 -2
  415. package/build-module/template-part/edit/index.mjs.map +2 -2
  416. package/build-module/template-part/edit/inner-blocks.mjs.map +2 -2
  417. package/build-module/template-part/edit/placeholder.mjs.map +2 -2
  418. package/build-module/template-part/edit/selection-modal.mjs.map +1 -1
  419. package/build-module/term-count/block.json +7 -0
  420. package/build-module/term-count/use-term-count.mjs.map +2 -2
  421. package/build-module/term-description/block.json +9 -0
  422. package/build-module/term-description/use-term-description.mjs.map +2 -2
  423. package/build-module/term-name/block.json +10 -0
  424. package/build-module/term-name/use-term-name.mjs.map +2 -2
  425. package/build-module/term-template/block.json +10 -1
  426. package/build-module/terms-query/edit/inspector-controls/index.mjs.map +2 -2
  427. package/build-module/terms-query/edit/inspector-controls/inherit-control.mjs.map +2 -2
  428. package/build-module/terms-query/edit/inspector-controls/order-control.mjs +2 -2
  429. package/build-module/terms-query/edit/inspector-controls/order-control.mjs.map +2 -2
  430. package/build-module/terms-query/edit/inspector-controls/taxonomy-control.mjs +2 -2
  431. package/build-module/terms-query/edit/inspector-controls/taxonomy-control.mjs.map +2 -2
  432. package/build-module/utils/hooks.mjs.map +2 -2
  433. package/build-module/utils/media-control.mjs +5 -1
  434. package/build-module/utils/media-control.mjs.map +2 -2
  435. package/build-module/utils/poster-image.mjs.map +2 -2
  436. package/build-module/utils/search-patterns.mjs +7 -32
  437. package/build-module/utils/search-patterns.mjs.map +2 -2
  438. package/build-module/utils/style-state.mjs +6 -4
  439. package/build-module/utils/style-state.mjs.map +2 -2
  440. package/build-module/verse/block.json +1 -0
  441. package/build-module/video/block.json +6 -0
  442. package/build-module/video/edit-common-settings.mjs +2 -2
  443. package/build-module/video/edit-common-settings.mjs.map +2 -2
  444. package/build-module/video/edit.mjs +25 -16
  445. package/build-module/video/edit.mjs.map +2 -2
  446. package/build-module/video/index.mjs +0 -2
  447. package/build-module/video/index.mjs.map +2 -2
  448. package/build-module/video/save.mjs +7 -2
  449. package/build-module/video/save.mjs.map +2 -2
  450. package/build-module/video/tracks-editor.mjs +2 -2
  451. package/build-module/video/tracks-editor.mjs.map +2 -2
  452. package/build-style/button/style-rtl.css +2 -1
  453. package/build-style/button/style.css +2 -1
  454. package/build-style/columns/style-rtl.css +1 -1
  455. package/build-style/columns/style.css +1 -1
  456. package/build-style/comments/editor-rtl.css +1 -1
  457. package/build-style/comments/editor.css +1 -1
  458. package/build-style/comments/style-rtl.css +1 -1
  459. package/build-style/comments/style.css +1 -1
  460. package/build-style/common-rtl.css +1 -1
  461. package/build-style/common.css +1 -1
  462. package/build-style/cover/style-rtl.css +6 -0
  463. package/build-style/cover/style.css +6 -0
  464. package/build-style/editor-rtl.css +21 -7
  465. package/build-style/editor.css +21 -7
  466. package/build-style/embed/editor-rtl.css +2 -1
  467. package/build-style/embed/editor.css +2 -1
  468. package/build-style/gallery/style-rtl.css +1 -2
  469. package/build-style/gallery/style.css +1 -2
  470. package/build-style/image/editor-rtl.css +6 -0
  471. package/build-style/image/editor.css +6 -0
  472. package/build-style/image/style-rtl.css +6 -9
  473. package/build-style/image/style.css +6 -9
  474. package/build-style/math/editor-rtl.css +5 -0
  475. package/build-style/math/editor.css +5 -0
  476. package/build-style/navigation/editor-rtl.css +1 -0
  477. package/build-style/navigation/editor.css +1 -0
  478. package/build-style/navigation/style-rtl.css +19 -4
  479. package/build-style/navigation/style.css +19 -4
  480. package/build-style/navigation-link/editor-rtl.css +3 -1
  481. package/build-style/navigation-link/editor.css +3 -1
  482. package/build-style/navigation-overlay-close/style-rtl.css +1 -1
  483. package/build-style/navigation-overlay-close/style.css +1 -1
  484. package/build-style/navigation-submenu/editor-rtl.css +3 -1
  485. package/build-style/navigation-submenu/editor.css +3 -1
  486. package/build-style/post-navigation-link/style-rtl.css +3 -0
  487. package/build-style/post-navigation-link/style.css +3 -0
  488. package/build-style/post-title/style-rtl.css +2 -2
  489. package/build-style/post-title/style.css +2 -2
  490. package/build-style/query-pagination/editor-rtl.css +0 -3
  491. package/build-style/query-pagination/editor.css +0 -3
  492. package/build-style/search/theme-rtl.css +1 -1
  493. package/build-style/search/theme.css +1 -1
  494. package/build-style/style-rtl.css +47 -23
  495. package/build-style/style.css +47 -23
  496. package/build-style/tab-panel/style-rtl.css +2 -0
  497. package/build-style/tab-panel/style.css +2 -0
  498. package/build-style/theme-rtl.css +1 -1
  499. package/build-style/theme.css +1 -1
  500. package/build-style/verse/style-rtl.css +2 -1
  501. package/build-style/verse/style.css +2 -1
  502. package/package.json +42 -43
  503. package/src/accordion/README.md +3 -0
  504. package/src/accordion/block.json +4 -1
  505. package/src/accordion-item/README.md +5 -0
  506. package/src/accordion-item/block.json +7 -1
  507. package/src/accordion-panel/README.md +7 -0
  508. package/src/accordion-panel/block.json +9 -1
  509. package/src/archives/README.md +4 -0
  510. package/src/archives/block.json +9 -0
  511. package/src/archives/edit.jsx +2 -2
  512. package/src/audio/README.md +4 -0
  513. package/src/audio/block.json +8 -0
  514. package/src/audio/edit.jsx +2 -2
  515. package/src/avatar/hooks.js +2 -2
  516. package/src/breadcrumbs/README.md +2 -0
  517. package/src/breadcrumbs/block.json +3 -0
  518. package/src/breadcrumbs/edit.jsx +3 -3
  519. package/src/breadcrumbs/index.php +1 -1
  520. package/src/button/edit.jsx +1 -1
  521. package/src/button/style.scss +2 -2
  522. package/src/buttons/README.md +4 -0
  523. package/src/buttons/block.json +9 -0
  524. package/src/calendar/index.php +1 -1
  525. package/src/categories/README.md +6 -0
  526. package/src/categories/block.json +12 -1
  527. package/src/categories/edit.jsx +2 -2
  528. package/src/code/README.md +5 -0
  529. package/src/code/block.json +10 -0
  530. package/src/code/save.jsx +1 -1
  531. package/src/column/README.md +4 -0
  532. package/src/column/block.json +9 -0
  533. package/src/columns/README.md +4 -0
  534. package/src/columns/block.json +9 -0
  535. package/src/columns/style.scss +2 -3
  536. package/src/comment-author-name/README.md +2 -0
  537. package/src/comment-author-name/block.json +3 -0
  538. package/src/comment-content/README.md +4 -0
  539. package/src/comment-content/block.json +5 -0
  540. package/src/comment-date/README.md +2 -0
  541. package/src/comment-date/block.json +3 -0
  542. package/src/comment-edit-link/README.md +2 -0
  543. package/src/comment-edit-link/block.json +3 -0
  544. package/src/comment-reply-link/README.md +2 -0
  545. package/src/comment-reply-link/block.json +3 -0
  546. package/src/comment-template/hooks.js +1 -1
  547. package/src/comments/README.md +5 -0
  548. package/src/comments/block.json +10 -0
  549. package/src/comments/style.scss +1 -1
  550. package/src/comments-pagination/README.md +2 -0
  551. package/src/comments-pagination/block.json +3 -0
  552. package/src/comments-pagination-next/README.md +2 -0
  553. package/src/comments-pagination-next/block.json +3 -0
  554. package/src/comments-pagination-numbers/README.md +2 -0
  555. package/src/comments-pagination-numbers/block.json +3 -0
  556. package/src/comments-pagination-previous/README.md +2 -0
  557. package/src/comments-pagination-previous/block.json +6 -0
  558. package/src/comments-title/README.md +2 -0
  559. package/src/comments-title/block.json +3 -0
  560. package/src/common.scss +1 -2
  561. package/src/cover/edit/index.jsx +5 -2
  562. package/src/cover/edit/inspector-controls.jsx +66 -15
  563. package/src/cover/style.scss +10 -0
  564. package/src/cover/test/{edit.jsdom.test.js → edit.browser.test.js} +122 -147
  565. package/src/cover/transforms.js +3 -3
  566. package/src/details/README.md +7 -0
  567. package/src/details/block.json +12 -0
  568. package/src/details/index.js +1 -1
  569. package/src/embed/editor.scss +2 -2
  570. package/src/embed/embed-controls.jsx +2 -2
  571. package/src/file/README.md +4 -0
  572. package/src/file/block.json +9 -0
  573. package/src/file/deprecated.jsx +3 -3
  574. package/src/file/edit.jsx +5 -3
  575. package/src/file/inspector.jsx +3 -3
  576. package/src/file/save.jsx +2 -2
  577. package/src/footnotes/README.md +5 -0
  578. package/src/footnotes/block.json +10 -0
  579. package/src/footnotes/edit.jsx +1 -1
  580. package/src/gallery/README.md +4 -0
  581. package/src/gallery/block.json +9 -0
  582. package/src/gallery/dynamic-gallery.jsx +4 -4
  583. package/src/gallery/edit.jsx +122 -70
  584. package/src/gallery/gallery-styles.js +117 -0
  585. package/src/gallery/index.php +181 -67
  586. package/src/gallery/responsive-styles.js +59 -5
  587. package/src/gallery/test/edit.jsdom.test.js +71 -3
  588. package/src/gallery/test/responsive-styles.js +59 -5
  589. package/src/group/README.md +1 -0
  590. package/src/group/block.json +1 -0
  591. package/src/heading/README.md +6 -0
  592. package/src/heading/block.json +11 -0
  593. package/src/heading/index.js +2 -2
  594. package/src/home-link/README.md +5 -0
  595. package/src/home-link/block.json +18 -0
  596. package/src/home-link/edit.jsx +2 -2
  597. package/src/html/modal.jsx +0 -3
  598. package/src/icon/index.php +9 -0
  599. package/src/image/edit.jsx +1 -1
  600. package/src/image/editor.scss +8 -0
  601. package/src/image/image.jsx +20 -18
  602. package/src/image/index.php +10 -4
  603. package/src/image/style.scss +1 -0
  604. package/src/image/test/use-open-image-media-editor-modal.jsdom.test.js +140 -1
  605. package/src/image/use-open-image-media-editor-modal.js +37 -0
  606. package/src/index.jsx +1 -1
  607. package/src/latest-comments/README.md +5 -0
  608. package/src/latest-comments/block.json +10 -0
  609. package/src/latest-comments/edit.jsx +2 -2
  610. package/src/latest-posts/README.md +5 -0
  611. package/src/latest-posts/block.json +10 -0
  612. package/src/latest-posts/edit.jsx +1 -1
  613. package/src/list/ordered-list-settings.jsx +2 -2
  614. package/src/list-item/hooks/use-enter.js +1 -1
  615. package/src/loginout/README.md +5 -0
  616. package/src/loginout/block.json +10 -0
  617. package/src/math/README.md +7 -2
  618. package/src/math/block.json +12 -0
  619. package/src/math/deprecated.jsx +38 -12
  620. package/src/math/edit.jsx +49 -20
  621. package/src/math/editor.scss +5 -0
  622. package/src/math/save.jsx +20 -4
  623. package/src/media-text/README.md +1 -0
  624. package/src/media-text/block.json +1 -0
  625. package/src/media-text/constants.js +1 -0
  626. package/src/media-text/deprecated.jsx +3 -3
  627. package/src/media-text/edit.jsx +48 -3
  628. package/src/media-text/image-fill.js +2 -2
  629. package/src/media-text/media-container.jsx +1 -1
  630. package/src/navigation/edit/index.jsx +3 -5
  631. package/src/navigation/edit/menu-inspector-controls.jsx +2 -2
  632. package/src/navigation/edit/overlay-template-part-selector.jsx +3 -3
  633. package/src/navigation/edit/responsive-wrapper.jsx +1 -1
  634. package/src/navigation/edit/use-generate-default-navigation-title.js +2 -2
  635. package/src/navigation/editor.scss +1 -0
  636. package/src/navigation/index.php +12 -0
  637. package/src/navigation/style.scss +41 -5
  638. package/src/navigation/test/use-navigation-menu.jsdom.test.js +6 -28
  639. package/src/navigation/test/view.jsdom.test.js +23 -0
  640. package/src/navigation/view.js +9 -6
  641. package/src/navigation-link/edit.jsx +1 -1
  642. package/src/navigation-link/editor.scss +6 -1
  643. package/src/navigation-link/link-ui/page-creator.jsx +2 -2
  644. package/src/navigation-link/shared/controls.jsx +2 -2
  645. package/src/navigation-link/shared/invalid-draft-display.jsx +2 -2
  646. package/src/navigation-link/shared/test/use-link-preview.jsdom.test.js +22 -22
  647. package/src/navigation-link/shared/use-link-preview.js +15 -14
  648. package/src/navigation-link/test/__snapshots__/hooks.jsdom.test.js.snap +41 -11
  649. package/src/navigation-overlay-close/README.md +1 -0
  650. package/src/navigation-overlay-close/block.json +7 -0
  651. package/src/navigation-overlay-close/style.scss +1 -1
  652. package/src/navigation-submenu/README.md +7 -0
  653. package/src/navigation-submenu/block.json +6 -0
  654. package/src/navigation-submenu/edit.jsx +12 -2
  655. package/src/navigation-submenu/editor.scss +6 -1
  656. package/src/navigation-submenu/index.php +11 -0
  657. package/src/page-list/README.md +5 -0
  658. package/src/page-list/block.json +10 -0
  659. package/src/paragraph/README.md +1 -0
  660. package/src/paragraph/block.json +1 -0
  661. package/src/paragraph/edit.jsx +2 -4
  662. package/src/paragraph/index.js +7 -0
  663. package/src/pattern/index.php +2 -2
  664. package/src/playlist/README.md +1 -0
  665. package/src/playlist/block.json +1 -0
  666. package/src/playlist/edit.jsx +6 -4
  667. package/src/playlist-track/test/edit.jsdom.test.jsx +2 -3
  668. package/src/post-author/edit.jsx +2 -2
  669. package/src/post-author-biography/README.md +3 -0
  670. package/src/post-author-biography/block.json +4 -0
  671. package/src/post-author-name/README.md +4 -0
  672. package/src/post-author-name/block.json +5 -0
  673. package/src/post-author-name/edit.jsx +1 -1
  674. package/src/post-comments-count/README.md +2 -0
  675. package/src/post-comments-count/block.json +3 -0
  676. package/src/post-comments-form/README.md +5 -0
  677. package/src/post-comments-form/block.json +10 -0
  678. package/src/post-content/README.md +3 -0
  679. package/src/post-content/block.json +3 -0
  680. package/src/post-date/README.md +2 -0
  681. package/src/post-date/block.json +3 -0
  682. package/src/post-date/edit.jsx +2 -2
  683. package/src/post-excerpt/README.md +5 -0
  684. package/src/post-excerpt/block.json +6 -0
  685. package/src/post-excerpt/edit.jsx +1 -1
  686. package/src/post-featured-image/edit.jsx +13 -11
  687. package/src/post-navigation-link/README.md +12 -0
  688. package/src/post-navigation-link/block.json +30 -0
  689. package/src/post-navigation-link/edit.jsx +27 -6
  690. package/src/post-navigation-link/index.php +94 -5
  691. package/src/post-navigation-link/style.scss +2 -0
  692. package/src/post-template/README.md +7 -0
  693. package/src/post-template/block.json +13 -1
  694. package/src/post-terms/README.md +5 -0
  695. package/src/post-terms/block.json +6 -0
  696. package/src/post-time-to-read/README.md +5 -0
  697. package/src/post-time-to-read/block.json +6 -0
  698. package/src/post-time-to-read/edit.jsx +2 -2
  699. package/src/post-title/README.md +5 -0
  700. package/src/post-title/block.json +10 -0
  701. package/src/post-title/style.scss +2 -3
  702. package/src/preformatted/README.md +6 -0
  703. package/src/preformatted/block.json +7 -0
  704. package/src/pullquote/README.md +1 -0
  705. package/src/pullquote/block.json +1 -0
  706. package/src/pullquote/deprecated.jsx +1 -1
  707. package/src/query/deprecated.jsx +1 -1
  708. package/src/query/edit/inspector-controls/index.jsx +4 -4
  709. package/src/query/edit/inspector-controls/order-control.jsx +2 -2
  710. package/src/query/edit/inspector-controls/sticky-control.jsx +2 -2
  711. package/src/query/view.js +6 -9
  712. package/src/query-no-results/README.md +7 -0
  713. package/src/query-no-results/block.json +10 -2
  714. package/src/query-pagination/README.md +2 -0
  715. package/src/query-pagination/block.json +3 -0
  716. package/src/query-pagination/editor.scss +0 -3
  717. package/src/query-pagination-next/README.md +2 -0
  718. package/src/query-pagination-next/block.json +3 -0
  719. package/src/query-pagination-numbers/README.md +2 -0
  720. package/src/query-pagination-numbers/block.json +3 -0
  721. package/src/query-pagination-previous/README.md +2 -0
  722. package/src/query-pagination-previous/block.json +3 -0
  723. package/src/query-title/README.md +2 -0
  724. package/src/query-title/block.json +3 -0
  725. package/src/query-title/use-archive-label.js +1 -1
  726. package/src/query-total/README.md +5 -0
  727. package/src/query-total/block.json +6 -0
  728. package/src/quote/README.md +1 -0
  729. package/src/quote/block.json +1 -0
  730. package/src/quote/deprecated.jsx +2 -2
  731. package/src/quote/transforms.js +3 -3
  732. package/src/read-more/README.md +5 -0
  733. package/src/read-more/block.json +6 -0
  734. package/src/rss/README.md +5 -0
  735. package/src/rss/block.json +6 -0
  736. package/src/search/edit.jsx +6 -6
  737. package/src/search/theme.scss +1 -1
  738. package/src/separator/edit.jsx +7 -4
  739. package/src/site-tagline/README.md +6 -0
  740. package/src/site-tagline/block.json +8 -1
  741. package/src/site-title/README.md +5 -0
  742. package/src/site-title/block.json +7 -1
  743. package/src/social-links/README.md +2 -0
  744. package/src/social-links/block.json +3 -0
  745. package/src/social-links/edit.jsx +4 -5
  746. package/src/tab-panel/README.md +9 -0
  747. package/src/tab-panel/block.json +25 -0
  748. package/src/tab-panel/controls.jsx +2 -2
  749. package/src/tab-panel/style.scss +5 -2
  750. package/src/tab-panels/README.md +7 -0
  751. package/src/tab-panels/block.json +18 -1
  752. package/src/table/state.js +1 -1
  753. package/src/table-of-contents/README.md +6 -0
  754. package/src/table-of-contents/block.json +7 -0
  755. package/src/table-of-contents/edit.jsx +6 -6
  756. package/src/table-of-contents/utils.ts +2 -2
  757. package/src/tabs/README.md +9 -0
  758. package/src/tabs/block.json +24 -1
  759. package/src/tabs/use-tab-actions.js +1 -1
  760. package/src/tag-cloud/README.md +9 -0
  761. package/src/tag-cloud/block.json +19 -0
  762. package/src/tag-cloud/edit.jsx +2 -2
  763. package/src/template-part/edit/advanced-controls.jsx +5 -2
  764. package/src/template-part/edit/import-controls.jsx +2 -2
  765. package/src/template-part/edit/index.jsx +2 -2
  766. package/src/template-part/edit/inner-blocks.jsx +1 -1
  767. package/src/template-part/edit/placeholder.jsx +2 -2
  768. package/src/template-part/edit/selection-modal.jsx +1 -1
  769. package/src/term-count/README.md +6 -0
  770. package/src/term-count/block.json +7 -0
  771. package/src/term-count/use-term-count.js +1 -1
  772. package/src/term-description/README.md +5 -0
  773. package/src/term-description/block.json +9 -0
  774. package/src/term-description/use-term-description.js +1 -1
  775. package/src/term-name/README.md +5 -0
  776. package/src/term-name/block.json +10 -0
  777. package/src/term-name/index.php +1 -1
  778. package/src/term-name/use-term-name.js +1 -1
  779. package/src/term-template/README.md +5 -0
  780. package/src/term-template/block.json +10 -1
  781. package/src/terms-query/edit/inspector-controls/index.jsx +2 -2
  782. package/src/terms-query/edit/inspector-controls/inherit-control.jsx +1 -1
  783. package/src/terms-query/edit/inspector-controls/order-control.jsx +2 -2
  784. package/src/terms-query/edit/inspector-controls/taxonomy-control.jsx +2 -2
  785. package/src/utils/hooks.js +1 -1
  786. package/src/utils/media-control.jsx +16 -10
  787. package/src/utils/poster-image.jsx +2 -2
  788. package/src/utils/search-patterns.js +9 -53
  789. package/src/utils/style-state.js +6 -4
  790. package/src/utils/test/{search-patterns.js → search-patterns.jsdom.test.js} +1 -22
  791. package/src/utils/test/waveform-player.jsdom.test.jsx +36 -38
  792. package/src/utils/test/{waveform-utils.jsdom.test.js → waveform-utils.browser.test.js} +64 -44
  793. package/src/verse/README.md +1 -0
  794. package/src/verse/block.json +1 -0
  795. package/src/verse/style.scss +2 -2
  796. package/src/video/README.md +7 -0
  797. package/src/video/block.json +6 -0
  798. package/src/video/edit-common-settings.jsx +3 -3
  799. package/src/video/edit.jsx +56 -51
  800. package/src/video/index.js +0 -2
  801. package/src/video/save.jsx +10 -1
  802. package/src/video/tracks-editor.jsx +2 -2
  803. package/build/gallery/flex-styles.cjs.map +0 -7
  804. package/build/video/variations.cjs +0 -75
  805. package/build/video/variations.cjs.map +0 -7
  806. package/build-module/gallery/flex-styles.mjs.map +0 -7
  807. package/build-module/video/variations.mjs +0 -50
  808. package/build-module/video/variations.mjs.map +0 -7
  809. package/src/gallery/flex-styles.js +0 -99
  810. package/src/video/test/variations.js +0 -63
  811. package/src/video/variations.js +0 -62
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/style-state.js"],
4
- "sourcesContent": ["import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { unlock } from '../lock-unlock';\n\nconst { cleanEmptyObject, getStyleForState, setStyleForState } = unlock(\n\tblockEditorPrivateApis\n);\n\nfunction getStateStyle( style, selectedState ) {\n\treturn getStyleForState( style, selectedState ) || {};\n}\n\nfunction getMappedDimensions( dimensions, dimensionKeyMap = {} ) {\n\treturn Object.fromEntries(\n\t\tObject.entries( dimensions ).map( ( [ key, value ] ) => [\n\t\t\tdimensionKeyMap[ key ] || key,\n\t\t\tvalue,\n\t\t] )\n\t);\n}\n\nfunction getControlledDimensions( dimensions, dimensionKeys ) {\n\tif ( ! dimensionKeys ) {\n\t\treturn dimensions;\n\t}\n\n\treturn Object.fromEntries(\n\t\tdimensionKeys.map( ( key ) => [ key, dimensions[ key ] ] )\n\t);\n}\n\nexport function getStyleStateKey( selectedState ) {\n\treturn [\n\t\tselectedState?.viewport || 'default',\n\t\tselectedState?.pseudo || 'default',\n\t].join( ':' );\n}\n\nexport function getStateDimensions( style, selectedState ) {\n\treturn getStateStyle( style, selectedState )?.dimensions || {};\n}\n\nexport function getActiveDimensionValue( options = {} ) {\n\tconst {\n\t\tattributes = {},\n\t\tstyle = attributes?.style,\n\t\tselectedState,\n\t\thasSelectedStyleState,\n\t\tattributeKey,\n\t\tstyleKey = attributeKey,\n\t\trootValue,\n\t} = options;\n\n\tif ( hasSelectedStyleState ) {\n\t\treturn getStateDimensions( style, selectedState )?.[ styleKey ];\n\t}\n\n\tif ( Object.hasOwn( options, 'rootValue' ) ) {\n\t\treturn rootValue;\n\t}\n\n\treturn attributes?.[ attributeKey ];\n}\n\nexport function setStateDimensions( style, selectedState, nextDimensions ) {\n\tconst stateStyle = getStateStyle( style, selectedState );\n\n\treturn setStyleForState(\n\t\tstyle,\n\t\tselectedState,\n\t\tcleanEmptyObject( {\n\t\t\t...stateStyle,\n\t\t\tdimensions: cleanEmptyObject( {\n\t\t\t\t...stateStyle?.dimensions,\n\t\t\t\t...nextDimensions,\n\t\t\t} ),\n\t\t} )\n\t);\n}\n\nexport function getDimensionUpdateAttributes( {\n\tstyle,\n\tselectedState,\n\thasSelectedStyleState,\n\tnextDimensions,\n\tdimensionKeyMap,\n\tdimensionKeys,\n} ) {\n\tconst controlledDimensions = getControlledDimensions(\n\t\tnextDimensions,\n\t\tdimensionKeys\n\t);\n\n\tif ( ! hasSelectedStyleState ) {\n\t\treturn controlledDimensions;\n\t}\n\n\treturn {\n\t\tstyle: setStateDimensions(\n\t\t\tstyle,\n\t\t\tselectedState,\n\t\t\tgetMappedDimensions( controlledDimensions, dimensionKeyMap )\n\t\t),\n\t};\n}\n\nexport function resetDimensions( style, keys ) {\n\tconst dimensionsReset = Object.fromEntries(\n\t\tkeys.map( ( key ) => [ key, undefined ] )\n\t);\n\n\treturn cleanEmptyObject( {\n\t\t...style,\n\t\tdimensions: cleanEmptyObject( {\n\t\t\t...style?.dimensions,\n\t\t\t...dimensionsReset,\n\t\t} ),\n\t} );\n}\n\nexport function resetStateDimensions( style, selectedState, keys ) {\n\treturn setStyleForState(\n\t\tstyle,\n\t\tselectedState,\n\t\tresetDimensions( getStateStyle( style, selectedState ), keys )\n\t);\n}\n\nexport function getDimensionResetAttributes( {\n\tattributes = {},\n\tstyle = attributes?.style,\n\tselectedState,\n\thasSelectedStyleState,\n\tkeys,\n\tdefaultAttributes = {},\n} ) {\n\treturn {\n\t\t...( hasSelectedStyleState\n\t\t\t? {}\n\t\t\t: { ...attributes, ...defaultAttributes } ),\n\t\tstyle: hasSelectedStyleState\n\t\t\t? resetStateDimensions( style, selectedState, keys )\n\t\t\t: resetDimensions( style, keys ),\n\t};\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n\tgetStyleForState,\n\tsetStyleForState,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { unlock } from '../lock-unlock';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nfunction getStateStyle( style, selectedState ) {\n\treturn getStyleForState( style, selectedState ) || {};\n}\n\nfunction getMappedDimensions( dimensions, dimensionKeyMap = {} ) {\n\treturn Object.fromEntries(\n\t\tObject.entries( dimensions ).map( ( [ key, value ] ) => [\n\t\t\tdimensionKeyMap[ key ] || key,\n\t\t\tvalue,\n\t\t] )\n\t);\n}\n\nfunction getControlledDimensions( dimensions, dimensionKeys ) {\n\tif ( ! dimensionKeys ) {\n\t\treturn dimensions;\n\t}\n\n\treturn Object.fromEntries(\n\t\tdimensionKeys.map( ( key ) => [ key, dimensions[ key ] ] )\n\t);\n}\n\nexport function getStyleStateKey( selectedState ) {\n\treturn [\n\t\tselectedState?.viewport || 'default',\n\t\tselectedState?.pseudo || 'default',\n\t].join( ':' );\n}\n\nexport function getStateDimensions( style, selectedState ) {\n\treturn getStateStyle( style, selectedState )?.dimensions || {};\n}\n\nexport function getActiveDimensionValue( options = {} ) {\n\tconst {\n\t\tattributes = {},\n\t\tstyle = attributes?.style,\n\t\tselectedState,\n\t\thasSelectedStyleState,\n\t\tattributeKey,\n\t\tstyleKey = attributeKey,\n\t\trootValue,\n\t} = options;\n\n\tif ( hasSelectedStyleState ) {\n\t\treturn getStateDimensions( style, selectedState )?.[ styleKey ];\n\t}\n\n\tif ( Object.hasOwn( options, 'rootValue' ) ) {\n\t\treturn rootValue;\n\t}\n\n\treturn attributes?.[ attributeKey ];\n}\n\nexport function setStateDimensions( style, selectedState, nextDimensions ) {\n\tconst stateStyle = getStateStyle( style, selectedState );\n\n\treturn setStyleForState(\n\t\tstyle,\n\t\tselectedState,\n\t\tcleanEmptyObject( {\n\t\t\t...stateStyle,\n\t\t\tdimensions: cleanEmptyObject( {\n\t\t\t\t...stateStyle?.dimensions,\n\t\t\t\t...nextDimensions,\n\t\t\t} ),\n\t\t} )\n\t);\n}\n\nexport function getDimensionUpdateAttributes( {\n\tstyle,\n\tselectedState,\n\thasSelectedStyleState,\n\tnextDimensions,\n\tdimensionKeyMap,\n\tdimensionKeys,\n} ) {\n\tconst controlledDimensions = getControlledDimensions(\n\t\tnextDimensions,\n\t\tdimensionKeys\n\t);\n\n\tif ( ! hasSelectedStyleState ) {\n\t\treturn controlledDimensions;\n\t}\n\n\treturn {\n\t\tstyle: setStateDimensions(\n\t\t\tstyle,\n\t\t\tselectedState,\n\t\t\tgetMappedDimensions( controlledDimensions, dimensionKeyMap )\n\t\t),\n\t};\n}\n\nexport function resetDimensions( style, keys ) {\n\tconst dimensionsReset = Object.fromEntries(\n\t\tkeys.map( ( key ) => [ key, undefined ] )\n\t);\n\n\treturn cleanEmptyObject( {\n\t\t...style,\n\t\tdimensions: cleanEmptyObject( {\n\t\t\t...style?.dimensions,\n\t\t\t...dimensionsReset,\n\t\t} ),\n\t} );\n}\n\nexport function resetStateDimensions( style, selectedState, keys ) {\n\treturn setStyleForState(\n\t\tstyle,\n\t\tselectedState,\n\t\tresetDimensions( getStateStyle( style, selectedState ), keys )\n\t);\n}\n\nexport function getDimensionResetAttributes( {\n\tattributes = {},\n\tstyle = attributes?.style,\n\tselectedState,\n\thasSelectedStyleState,\n\tkeys,\n\tdefaultAttributes = {},\n} ) {\n\treturn {\n\t\t...( hasSelectedStyleState\n\t\t\t? {}\n\t\t\t: { ...attributes, ...defaultAttributes } ),\n\t\tstyle: hasSelectedStyleState\n\t\t\t? resetStateDimensions( style, selectedState, keys )\n\t\t\t: resetDimensions( style, keys ),\n\t};\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -56,6 +56,7 @@
56
56
  "fontSize": true
57
57
  }
58
58
  },
59
+ "shadow": true,
59
60
  "spacing": {
60
61
  "margin": true,
61
62
  "padding": true,
@@ -101,8 +101,14 @@
101
101
  },
102
102
  "interactivity": {
103
103
  "clientNavigation": true
104
+ },
105
+ "shadow": {
106
+ "__experimentalSkipSerialization": true
104
107
  }
105
108
  },
109
+ "selectors": {
110
+ "shadow": ".wp-block-video video"
111
+ },
106
112
  "editorStyle": "wp-block-video-editor",
107
113
  "style": "wp-block-video"
108
114
  }
@@ -2,7 +2,7 @@
2
2
  import { __, _x } from "@wordpress/i18n";
3
3
  import {
4
4
  ToggleControl,
5
- SelectControl,
5
+ SelectControl as WCSelectControl,
6
6
  __experimentalToolsPanelItem as ToolsPanelItem
7
7
  } from "@wordpress/components";
8
8
  import { useMemo, useCallback } from "@wordpress/element";
@@ -158,7 +158,7 @@ var VideoSettings = ({ setAttributes, attributes }) => {
158
158
  setAttributes({ preload: "metadata" });
159
159
  },
160
160
  children: /* @__PURE__ */ jsx(
161
- SelectControl,
161
+ WCSelectControl,
162
162
  {
163
163
  label: __("Preload"),
164
164
  value: preload,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/video/edit-common-settings.jsx"],
4
- "sourcesContent": ["import { __, _x } from '@wordpress/i18n';\nimport {\n\tToggleControl,\n\tSelectControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useMemo, useCallback } from '@wordpress/element';\n\nconst options = [\n\t{ value: 'auto', label: __( 'Auto' ) },\n\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t{ value: 'none', label: _x( 'None', 'Preload value' ) },\n];\n\nconst VideoSettings = ( { setAttributes, attributes } ) => {\n\tconst { autoplay, controls, loop, muted, playsInline, preload } =\n\t\tattributes;\n\n\tconst autoPlayHelpText = __(\n\t\t'Autoplay may cause usability issues for some users.'\n\t);\n\n\tconst getAutoplayHelp = useCallback( ( checked ) => {\n\t\treturn checked ? autoPlayHelpText : null;\n\t}, [] );\n\n\tconst toggleFactory = useMemo( () => {\n\t\tconst toggleAttribute = ( attribute ) => {\n\t\t\treturn ( newValue ) => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\t[ attribute ]: newValue,\n\t\t\t\t\t// Set muted and playsInLine when autoplay changes\n\t\t\t\t\t// playsInline is set to true when autoplay is true to support iOS devices\n\t\t\t\t\t...( attribute === 'autoplay' && {\n\t\t\t\t\t\tmuted: newValue,\n\t\t\t\t\t\tplaysInline: newValue,\n\t\t\t\t\t} ),\n\t\t\t\t} );\n\t\t\t};\n\t\t};\n\n\t\treturn {\n\t\t\tautoplay: toggleAttribute( 'autoplay' ),\n\t\t\tloop: toggleAttribute( 'loop' ),\n\t\t\tmuted: toggleAttribute( 'muted' ),\n\t\t\tcontrols: toggleAttribute( 'controls' ),\n\t\t\tplaysInline: toggleAttribute( 'playsInline' ),\n\t\t};\n\t}, [] );\n\n\tconst onChangePreload = useCallback( ( value ) => {\n\t\tsetAttributes( { preload: value } );\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => !! autoplay }\n\t\t\t\tonDeselect={ () => {\n\t\t\t\t\tsetAttributes( { autoplay: false, muted: false } );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\tonChange={ toggleFactory.autoplay }\n\t\t\t\t\tchecked={ !! autoplay }\n\t\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => !! loop }\n\t\t\t\tonDeselect={ () => {\n\t\t\t\t\tsetAttributes( { loop: false } );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\tonChange={ toggleFactory.loop }\n\t\t\t\t\tchecked={ !! loop }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Muted' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => !! muted }\n\t\t\t\tonDeselect={ () => {\n\t\t\t\t\tsetAttributes( { muted: false } );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Muted' ) }\n\t\t\t\t\tonChange={ toggleFactory.muted }\n\t\t\t\t\tchecked={ !! muted }\n\t\t\t\t\tdisabled={ autoplay }\n\t\t\t\t\thelp={\n\t\t\t\t\t\tautoplay ? __( 'Muted because of Autoplay.' ) : null\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Playback controls' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => ! controls }\n\t\t\t\tonDeselect={ () => {\n\t\t\t\t\tsetAttributes( { controls: true } );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Playback controls' ) }\n\t\t\t\t\tonChange={ toggleFactory.controls }\n\t\t\t\t\tchecked={ !! controls }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Play inline' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => !! playsInline }\n\t\t\t\tonDeselect={ () => {\n\t\t\t\t\tsetAttributes( { playsInline: false } );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t/* translators: Setting to play videos within the webpage on mobile browsers rather than opening in a fullscreen player. */\n\t\t\t\t\tlabel={ __( 'Play inline' ) }\n\t\t\t\t\tonChange={ toggleFactory.playsInline }\n\t\t\t\t\tchecked={ !! playsInline }\n\t\t\t\t\tdisabled={ autoplay }\n\t\t\t\t\thelp={\n\t\t\t\t\t\tautoplay\n\t\t\t\t\t\t\t? __( 'Play inline enabled because of Autoplay.' )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'When enabled, videos will play directly within the webpage on mobile browsers, instead of opening in a fullscreen player.'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Preload' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => preload !== 'metadata' }\n\t\t\t\tonDeselect={ () => {\n\t\t\t\t\tsetAttributes( { preload: 'metadata' } );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ __( 'Preload' ) }\n\t\t\t\t\tvalue={ preload }\n\t\t\t\t\tonChange={ onChangePreload }\n\t\t\t\t\toptions={ options }\n\t\t\t\t\thideCancelButton\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t</>\n\t);\n};\n\nexport default VideoSettings;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { __, _x } from '@wordpress/i18n';\nimport {\n\tToggleControl,\n\tSelectControl as WCSelectControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useMemo, useCallback } from '@wordpress/element';\n\nconst options = [\n\t{ value: 'auto', label: __( 'Auto' ) },\n\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t{ value: 'none', label: _x( 'None', 'Preload value' ) },\n];\n\nconst VideoSettings = ( { setAttributes, attributes } ) => {\n\tconst { autoplay, controls, loop, muted, playsInline, preload } =\n\t\tattributes;\n\n\tconst autoPlayHelpText = __(\n\t\t'Autoplay may cause usability issues for some users.'\n\t);\n\n\tconst getAutoplayHelp = useCallback( ( checked ) => {\n\t\treturn checked ? autoPlayHelpText : null;\n\t}, [] );\n\n\tconst toggleFactory = useMemo( () => {\n\t\tconst toggleAttribute = ( attribute ) => {\n\t\t\treturn ( newValue ) => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\t[ attribute ]: newValue,\n\t\t\t\t\t// Set muted and playsInLine when autoplay changes\n\t\t\t\t\t// playsInline is set to true when autoplay is true to support iOS devices\n\t\t\t\t\t...( attribute === 'autoplay' && {\n\t\t\t\t\t\tmuted: newValue,\n\t\t\t\t\t\tplaysInline: newValue,\n\t\t\t\t\t} ),\n\t\t\t\t} );\n\t\t\t};\n\t\t};\n\n\t\treturn {\n\t\t\tautoplay: toggleAttribute( 'autoplay' ),\n\t\t\tloop: toggleAttribute( 'loop' ),\n\t\t\tmuted: toggleAttribute( 'muted' ),\n\t\t\tcontrols: toggleAttribute( 'controls' ),\n\t\t\tplaysInline: toggleAttribute( 'playsInline' ),\n\t\t};\n\t}, [] );\n\n\tconst onChangePreload = useCallback( ( value ) => {\n\t\tsetAttributes( { preload: value } );\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => !! autoplay }\n\t\t\t\tonDeselect={ () => {\n\t\t\t\t\tsetAttributes( { autoplay: false, muted: false } );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\tonChange={ toggleFactory.autoplay }\n\t\t\t\t\tchecked={ !! autoplay }\n\t\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => !! loop }\n\t\t\t\tonDeselect={ () => {\n\t\t\t\t\tsetAttributes( { loop: false } );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\tonChange={ toggleFactory.loop }\n\t\t\t\t\tchecked={ !! loop }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Muted' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => !! muted }\n\t\t\t\tonDeselect={ () => {\n\t\t\t\t\tsetAttributes( { muted: false } );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Muted' ) }\n\t\t\t\t\tonChange={ toggleFactory.muted }\n\t\t\t\t\tchecked={ !! muted }\n\t\t\t\t\tdisabled={ autoplay }\n\t\t\t\t\thelp={\n\t\t\t\t\t\tautoplay ? __( 'Muted because of Autoplay.' ) : null\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Playback controls' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => ! controls }\n\t\t\t\tonDeselect={ () => {\n\t\t\t\t\tsetAttributes( { controls: true } );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Playback controls' ) }\n\t\t\t\t\tonChange={ toggleFactory.controls }\n\t\t\t\t\tchecked={ !! controls }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Play inline' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => !! playsInline }\n\t\t\t\tonDeselect={ () => {\n\t\t\t\t\tsetAttributes( { playsInline: false } );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t/* translators: Setting to play videos within the webpage on mobile browsers rather than opening in a fullscreen player. */\n\t\t\t\t\tlabel={ __( 'Play inline' ) }\n\t\t\t\t\tonChange={ toggleFactory.playsInline }\n\t\t\t\t\tchecked={ !! playsInline }\n\t\t\t\t\tdisabled={ autoplay }\n\t\t\t\t\thelp={\n\t\t\t\t\t\tautoplay\n\t\t\t\t\t\t\t? __( 'Play inline enabled because of Autoplay.' )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'When enabled, videos will play directly within the webpage on mobile browsers, instead of opening in a fullscreen player.'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Preload' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => preload !== 'metadata' }\n\t\t\t\tonDeselect={ () => {\n\t\t\t\t\tsetAttributes( { preload: 'metadata' } );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<WCSelectControl\n\t\t\t\t\tlabel={ __( 'Preload' ) }\n\t\t\t\t\tvalue={ preload }\n\t\t\t\t\tonChange={ onChangePreload }\n\t\t\t\t\toptions={ options }\n\t\t\t\t\thideCancelButton\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t</>\n\t);\n};\n\nexport default VideoSettings;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -13,7 +13,8 @@ import {
13
13
  MediaPlaceholder,
14
14
  MediaReplaceFlow,
15
15
  useBlockProps,
16
- useBlockEditingMode
16
+ useBlockEditingMode,
17
+ __experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles
17
18
  } from "@wordpress/block-editor";
18
19
  import { useRef, useEffect, useState } from "@wordpress/element";
19
20
  import { __ } from "@wordpress/i18n";
@@ -31,7 +32,6 @@ import TracksEditor from "./tracks-editor.mjs";
31
32
  import Tracks from "./tracks.mjs";
32
33
  import { Caption } from "../utils/caption.mjs";
33
34
  import PosterImage from "../utils/poster-image.mjs";
34
- import { isGifVariation } from "./variations.mjs";
35
35
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
36
36
  var ALLOWED_MEDIA_TYPES = ["video"];
37
37
  function VideoEdit({
@@ -43,9 +43,24 @@ function VideoEdit({
43
43
  onReplace
44
44
  }) {
45
45
  const videoPlayer = useRef();
46
- const { id, controls, poster, src, tracks, width, height } = attributes;
47
- const isGif = isGifVariation(attributes);
46
+ const {
47
+ id,
48
+ controls,
49
+ poster,
50
+ src,
51
+ tracks,
52
+ width,
53
+ height,
54
+ autoplay,
55
+ loop,
56
+ muted,
57
+ playsInline
58
+ } = attributes;
48
59
  const aspectRatio = width && height ? `${width} / ${height}` : void 0;
60
+ const videoStyle = {
61
+ ...aspectRatio && { aspectRatio },
62
+ ...getShadowClassesAndStyles(attributes).style
63
+ };
49
64
  const [temporaryURL, setTemporaryURL] = useState(attributes.blob);
50
65
  const dropdownMenuProps = useToolsPanelDropdownMenuProps();
51
66
  const blockEditingMode = useBlockEditingMode();
@@ -61,12 +76,6 @@ function VideoEdit({
61
76
  videoPlayer.current.load();
62
77
  }
63
78
  }, [poster]);
64
- useEffect(() => {
65
- if (isGif) {
66
- videoPlayer.current?.play().catch(() => {
67
- });
68
- }
69
- }, [isGif, src, poster]);
70
79
  function onSelectVideo(media) {
71
80
  if (!media || !media.url) {
72
81
  setAttributes({
@@ -177,7 +186,7 @@ function VideoEdit({
177
186
  }
178
187
  ) })
179
188
  ] }),
180
- !isGif && /* @__PURE__ */ jsx(InspectorControls, { children: /* @__PURE__ */ jsxs(
189
+ /* @__PURE__ */ jsx(InspectorControls, { children: /* @__PURE__ */ jsxs(
181
190
  ToolsPanel,
182
191
  {
183
192
  label: __("Settings"),
@@ -222,13 +231,13 @@ function VideoEdit({
222
231
  poster,
223
232
  src: src || temporaryURL,
224
233
  ref: videoPlayer,
225
- autoPlay: isGif,
226
- loop: isGif,
227
- muted: isGif,
228
- playsInline: isGif,
234
+ autoPlay: autoplay,
235
+ loop,
236
+ muted,
237
+ playsInline,
229
238
  width,
230
239
  height,
231
- style: aspectRatio ? { aspectRatio } : void 0,
240
+ style: Object.keys(videoStyle).length ? videoStyle : void 0,
232
241
  children: /* @__PURE__ */ jsx(Tracks, { tracks })
233
242
  }
234
243
  ),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/video/edit.jsx"],
4
- "sourcesContent": ["import clsx from 'clsx';\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tSpinner,\n\tPlaceholder,\n\t__experimentalToolsPanel as ToolsPanel,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { video as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { prependHTTPS } from '@wordpress/url';\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport {\n\tuseUploadMediaFromBlobURL,\n\tuseToolsPanelDropdownMenuProps,\n} from '../utils/hooks';\nimport VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\nimport { Caption } from '../utils/caption';\nimport PosterImage from '../utils/poster-image';\nimport { isGifVariation } from './variations';\n\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\n\nfunction VideoEdit( {\n\tisSelected: isSingleSelected,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n} ) {\n\tconst videoPlayer = useRef();\n\tconst { id, controls, poster, src, tracks, width, height } = attributes;\n\tconst isGif = isGifVariation( attributes );\n\t// Give the <video> an explicit (non-`auto`) aspect ratio derived from the\n\t// stored dimensions. The width/height attributes alone only yield\n\t// `aspect-ratio: auto W/H`, whose `auto` keyword defers to the element's\n\t// natural ratio while the poster/metadata load - during which Chrome briefly\n\t// computes a runaway height (tens of thousands of pixels) before settling.\n\t// That spike is what reads as a duplicated image during the GIF-to-video\n\t// swap. A non-`auto` ratio governs the box height throughout the load.\n\tconst aspectRatio =\n\t\twidth && height ? `${ width } / ${ height }` : undefined;\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst hasNonContentControls = blockEditingMode === 'default';\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectVideo,\n\t\tonError: onUploadError,\n\t} );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\n\t// The GIF variation plays like an animated GIF in the editor (the playback\n\t// attributes are applied to the preview <video> below). Regular videos do\n\t// not autoplay in the editor, so only nudge GIFs into playing after a\n\t// source change in case the muted autoplay did not start on its own.\n\tuseEffect( () => {\n\t\tif ( isGif ) {\n\t\t\t// Browsers allow muted videos to be played programmatically.\n\t\t\tvideoPlayer.current?.play().catch( () => {} );\n\t\t}\n\t}, [ isGif, src, poster ] );\n\n\t// TODO: Whether the video was obtained from the media library or was provided by URL, obtain the `videoWidth` and `videoHeight` of the video once its metadata has loaded and persist in the block attributes.\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t\tblob: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media.\n\t\tsetAttributes( {\n\t\t\tblob: undefined,\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tposter:\n\t\t\t\tmedia.image?.src !== media.icon ? media.image?.src : undefined,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\tconst url = prependHTTPS( newSrc );\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( {\n\t\t\t\tblob: undefined,\n\t\t\t\tsrc: url,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName=\"block-editor-media-placeholder\"\n\t\t\t\twithIllustration={ ! isSingleSelected }\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ __( 'Video' ) }\n\t\t\t\tinstructions={ __(\n\t\t\t\t\t'Drag and drop a video, upload, or choose from your library.'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = clsx( className, {\n\t\t'is-transient': !! temporaryURL,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src && ! temporaryURL ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<TracksEditor\n\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\tonChange={ ( newTracks ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { tracks: newTracks } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\t\tonReset={ () => onSelectVideo( undefined ) }\n\t\t\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ ! isGif && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tautoplay: false,\n\t\t\t\t\t\t\t\tcontrols: true,\n\t\t\t\t\t\t\t\tloop: false,\n\t\t\t\t\t\t\t\tmuted: false,\n\t\t\t\t\t\t\t\tplaysInline: false,\n\t\t\t\t\t\t\t\tpreload: 'metadata',\n\t\t\t\t\t\t\t\tposter: undefined,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<PosterImage\n\t\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\t\tonChange={ ( posterImage ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tposter: posterImage?.url,\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</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t<video\n\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\tinert={ ! isSingleSelected ? 'true' : undefined }\n\t\t\t\t\tposter={ poster }\n\t\t\t\t\tsrc={ src || temporaryURL }\n\t\t\t\t\tref={ videoPlayer }\n\t\t\t\t\tautoPlay={ isGif }\n\t\t\t\t\tloop={ isGif }\n\t\t\t\t\tmuted={ isGif }\n\t\t\t\t\tplaysInline={ isGif }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\theight={ height }\n\t\t\t\t\tstyle={ aspectRatio ? { aspectRatio } : undefined }\n\t\t\t\t>\n\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t</video>\n\t\t\t\t{ !! temporaryURL && <Spinner /> }\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Video caption text' ) }\n\t\t\t\t\tshowToolbarButton={\n\t\t\t\t\t\tisSingleSelected && hasNonContentControls\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default VideoEdit;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tSpinner,\n\tPlaceholder,\n\t__experimentalToolsPanel as ToolsPanel,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tuseBlockEditingMode,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { video as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { prependHTTPS } from '@wordpress/url';\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport {\n\tuseUploadMediaFromBlobURL,\n\tuseToolsPanelDropdownMenuProps,\n} from '../utils/hooks';\nimport VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\nimport { Caption } from '../utils/caption';\nimport PosterImage from '../utils/poster-image';\n\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\n\nfunction VideoEdit( {\n\tisSelected: isSingleSelected,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n} ) {\n\tconst videoPlayer = useRef();\n\tconst {\n\t\tid,\n\t\tcontrols,\n\t\tposter,\n\t\tsrc,\n\t\ttracks,\n\t\twidth,\n\t\theight,\n\t\tautoplay,\n\t\tloop,\n\t\tmuted,\n\t\tplaysInline,\n\t} = attributes;\n\t// Give the <video> an explicit (non-`auto`) aspect ratio derived from the\n\t// stored dimensions. The width/height attributes alone only yield\n\t// `aspect-ratio: auto W/H`, whose `auto` keyword defers to the element's\n\t// natural ratio while the poster/metadata load - during which Chrome briefly\n\t// computes a runaway height (tens of thousands of pixels) before settling.\n\t// That spike is what reads as a duplicated image during the GIF-to-video\n\t// swap. A non-`auto` ratio governs the box height throughout the load.\n\tconst aspectRatio =\n\t\twidth && height ? `${ width } / ${ height }` : undefined;\n\tconst videoStyle = {\n\t\t...( aspectRatio && { aspectRatio } ),\n\t\t...getShadowClassesAndStyles( attributes ).style,\n\t};\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst hasNonContentControls = blockEditingMode === 'default';\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectVideo,\n\t\tonError: onUploadError,\n\t} );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\t// TODO: Whether the video was obtained from the media library or was provided by URL, obtain the `videoWidth` and `videoHeight` of the video once its metadata has loaded and persist in the block attributes.\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t\tblob: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media.\n\t\tsetAttributes( {\n\t\t\tblob: undefined,\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tposter:\n\t\t\t\tmedia.image?.src !== media.icon ? media.image?.src : undefined,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\tconst url = prependHTTPS( newSrc );\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( {\n\t\t\t\tblob: undefined,\n\t\t\t\tsrc: url,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName=\"block-editor-media-placeholder\"\n\t\t\t\twithIllustration={ ! isSingleSelected }\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ __( 'Video' ) }\n\t\t\t\tinstructions={ __(\n\t\t\t\t\t'Drag and drop a video, upload, or choose from your library.'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = clsx( className, {\n\t\t'is-transient': !! temporaryURL,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src && ! temporaryURL ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<TracksEditor\n\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\tonChange={ ( newTracks ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { tracks: newTracks } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\t\tonReset={ () => onSelectVideo( undefined ) }\n\t\t\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tautoplay: false,\n\t\t\t\t\t\t\tcontrols: true,\n\t\t\t\t\t\t\tloop: false,\n\t\t\t\t\t\t\tmuted: false,\n\t\t\t\t\t\t\tplaysInline: false,\n\t\t\t\t\t\t\tpreload: 'metadata',\n\t\t\t\t\t\t\tposter: undefined,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t\t<PosterImage\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tonChange={ ( posterImage ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tposter: posterImage?.url,\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</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t<video\n\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\tinert={ ! isSingleSelected ? 'true' : undefined }\n\t\t\t\t\tposter={ poster }\n\t\t\t\t\tsrc={ src || temporaryURL }\n\t\t\t\t\tref={ videoPlayer }\n\t\t\t\t\tautoPlay={ autoplay }\n\t\t\t\t\tloop={ loop }\n\t\t\t\t\tmuted={ muted }\n\t\t\t\t\tplaysInline={ playsInline }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\theight={ height }\n\t\t\t\t\tstyle={\n\t\t\t\t\t\tObject.keys( videoStyle ).length\n\t\t\t\t\t\t\t? videoStyle\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t</video>\n\t\t\t\t{ !! temporaryURL && <Spinner /> }\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Video caption text' ) }\n\t\t\t\t\tshowToolbarButton={\n\t\t\t\t\t\tisSingleSelected && hasNonContentControls\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default VideoEdit;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -7,7 +7,6 @@ import edit from "./edit.mjs";
7
7
  import metadata from "./block.json";
8
8
  import save from "./save.mjs";
9
9
  import transforms from "./transforms.mjs";
10
- import variations from "./variations.mjs";
11
10
  var { name } = metadata;
12
11
  var settings = {
13
12
  icon,
@@ -19,7 +18,6 @@ var settings = {
19
18
  }
20
19
  },
21
20
  transforms,
22
- variations,
23
21
  deprecated,
24
22
  edit,
25
23
  save
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/video/index.js"],
4
- "sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport { video as icon } from '@wordpress/icons';\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tsrc: 'https://upload.wikimedia.org/wikipedia/commons/c/ca/Wood_thrush_in_Central_Park_switch_sides_%2816510%29.webm',\n\t\t\t// translators: Caption accompanying a video of the wood thrush singing, which serves as an example for the Video block.\n\t\t\tcaption: __( 'Wood thrush singing in Central Park, NYC.' ),\n\t\t},\n\t},\n\ttransforms,\n\tvariations,\n\tdeprecated,\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
- "mappings": ";AAAA,SAAS,UAAU;AACnB,SAAS,SAAS,YAAY;AAC9B,OAAO,eAAe;AACtB,OAAO,gBAAgB;AACvB,OAAO,UAAU;AACjB,OAAO,cAAc;AACrB,OAAO,UAAU;AACjB,OAAO,gBAAgB;AACvB,OAAO,gBAAgB;AAEvB,IAAM,EAAE,KAAK,IAAI;AAIV,IAAM,WAAW;AAAA,EACvB;AAAA,EACA,SAAS;AAAA,IACR,YAAY;AAAA,MACX,KAAK;AAAA;AAAA,MAEL,SAAS,GAAI,2CAA4C;AAAA,IAC1D;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEO,IAAM,OAAO,MAAM,UAAW,EAAE,MAAM,UAAU,SAAS,CAAE;",
4
+ "sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport { video as icon } from '@wordpress/icons';\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tsrc: 'https://upload.wikimedia.org/wikipedia/commons/c/ca/Wood_thrush_in_Central_Park_switch_sides_%2816510%29.webm',\n\t\t\t// translators: Caption accompanying a video of the wood thrush singing, which serves as an example for the Video block.\n\t\t\tcaption: __( 'Wood thrush singing in Central Park, NYC.' ),\n\t\t},\n\t},\n\ttransforms,\n\tdeprecated,\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
+ "mappings": ";AAAA,SAAS,UAAU;AACnB,SAAS,SAAS,YAAY;AAC9B,OAAO,eAAe;AACtB,OAAO,gBAAgB;AACvB,OAAO,UAAU;AACjB,OAAO,cAAc;AACrB,OAAO,UAAU;AACjB,OAAO,gBAAgB;AAEvB,IAAM,EAAE,KAAK,IAAI;AAIV,IAAM,WAAW;AAAA,EACvB;AAAA,EACA,SAAS;AAAA,IACR,YAAY;AAAA,MACX,KAAK;AAAA;AAAA,MAEL,SAAS,GAAI,2CAA4C;AAAA,IAC1D;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEO,IAAM,OAAO,MAAM,UAAW,EAAE,MAAM,UAAU,SAAS,CAAE;",
6
6
  "names": []
7
7
  }
@@ -2,7 +2,8 @@
2
2
  import {
3
3
  RichText,
4
4
  useBlockProps,
5
- __experimentalGetElementClassName
5
+ __experimentalGetElementClassName,
6
+ __experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles
6
7
  } from "@wordpress/block-editor";
7
8
  import Tracks from "./tracks.mjs";
8
9
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -22,6 +23,10 @@ function save({ attributes }) {
22
23
  height
23
24
  } = attributes;
24
25
  const aspectRatio = width && height ? `${width} / ${height}` : void 0;
26
+ const videoStyle = {
27
+ ...aspectRatio && { aspectRatio },
28
+ ...getShadowClassesAndStyles(attributes).style
29
+ };
25
30
  return /* @__PURE__ */ jsxs("figure", { ...useBlockProps.save(), children: [
26
31
  src && /* @__PURE__ */ jsx(
27
32
  "video",
@@ -36,7 +41,7 @@ function save({ attributes }) {
36
41
  playsInline,
37
42
  width,
38
43
  height,
39
- style: aspectRatio ? { aspectRatio } : void 0,
44
+ style: Object.keys(videoStyle).length ? videoStyle : void 0,
40
45
  children: /* @__PURE__ */ jsx(Tracks, { tracks })
41
46
  }
42
47
  ),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/video/save.jsx"],
4
- "sourcesContent": ["import {\n\tRichText,\n\tuseBlockProps,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport Tracks from './tracks';\n\nexport default function save( { attributes } ) {\n\tconst {\n\t\tautoplay,\n\t\tcaption,\n\t\tcontrols,\n\t\tloop,\n\t\tmuted,\n\t\tposter,\n\t\tpreload,\n\t\tsrc,\n\t\tplaysInline,\n\t\ttracks,\n\t\twidth,\n\t\theight,\n\t} = attributes;\n\t// Match the editor: an explicit (non-`auto`) aspect ratio keeps the\n\t// converted GIF video from briefly blowing up to a runaway height while the\n\t// poster/metadata load, which would otherwise flash on the front end and\n\t// cause layout shift. The width/height attributes only yield\n\t// `aspect-ratio: auto W/H`, whose `auto` keyword is unreliable during load.\n\tconst aspectRatio =\n\t\twidth && height ? `${ width } / ${ height }` : undefined;\n\treturn (\n\t\t<figure { ...useBlockProps.save() }>\n\t\t\t{ src && (\n\t\t\t\t<video\n\t\t\t\t\tautoPlay={ autoplay }\n\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\tloop={ loop }\n\t\t\t\t\tmuted={ muted }\n\t\t\t\t\tposter={ poster }\n\t\t\t\t\tpreload={ preload !== 'metadata' ? preload : undefined }\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tplaysInline={ playsInline }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\theight={ height }\n\t\t\t\t\tstyle={ aspectRatio ? { aspectRatio } : undefined }\n\t\t\t\t>\n\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t</video>\n\t\t\t) }\n\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t<RichText.Content\n\t\t\t\t\tclassName={ __experimentalGetElementClassName( 'caption' ) }\n\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\tvalue={ caption }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</figure>\n\t);\n}\n"],
5
- "mappings": ";AAAA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,OAAO,YAAY;AAyBjB,SAeG,KAfH;AAvBa,SAAR,KAAuB,EAAE,WAAW,GAAI;AAC9C,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI;AAMJ,QAAM,cACL,SAAS,SAAS,GAAI,KAAM,MAAO,MAAO,KAAK;AAChD,SACC,qBAAC,YAAS,GAAG,cAAc,KAAK,GAC7B;AAAA,WACD;AAAA,MAAC;AAAA;AAAA,QACA,UAAW;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAU,YAAY,aAAa,UAAU;AAAA,QAC7C;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAQ,cAAc,EAAE,YAAY,IAAI;AAAA,QAExC,8BAAC,UAAO,QAAkB;AAAA;AAAA,IAC3B;AAAA,IAEC,CAAE,SAAS,QAAS,OAAQ,KAC7B;AAAA,MAAC,SAAS;AAAA,MAAT;AAAA,QACA,WAAY,kCAAmC,SAAU;AAAA,QACzD,SAAQ;AAAA,QACR,OAAQ;AAAA;AAAA,IACT;AAAA,KAEF;AAEF;",
4
+ "sourcesContent": ["import {\n\tRichText,\n\tuseBlockProps,\n\t__experimentalGetElementClassName,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n} from '@wordpress/block-editor';\nimport Tracks from './tracks';\n\nexport default function save( { attributes } ) {\n\tconst {\n\t\tautoplay,\n\t\tcaption,\n\t\tcontrols,\n\t\tloop,\n\t\tmuted,\n\t\tposter,\n\t\tpreload,\n\t\tsrc,\n\t\tplaysInline,\n\t\ttracks,\n\t\twidth,\n\t\theight,\n\t} = attributes;\n\t// Match the editor: an explicit (non-`auto`) aspect ratio keeps the\n\t// converted GIF video from briefly blowing up to a runaway height while the\n\t// poster/metadata load, which would otherwise flash on the front end and\n\t// cause layout shift. The width/height attributes only yield\n\t// `aspect-ratio: auto W/H`, whose `auto` keyword is unreliable during load.\n\tconst aspectRatio =\n\t\twidth && height ? `${ width } / ${ height }` : undefined;\n\tconst videoStyle = {\n\t\t...( aspectRatio && { aspectRatio } ),\n\t\t...getShadowClassesAndStyles( attributes ).style,\n\t};\n\treturn (\n\t\t<figure { ...useBlockProps.save() }>\n\t\t\t{ src && (\n\t\t\t\t<video\n\t\t\t\t\tautoPlay={ autoplay }\n\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\tloop={ loop }\n\t\t\t\t\tmuted={ muted }\n\t\t\t\t\tposter={ poster }\n\t\t\t\t\tpreload={ preload !== 'metadata' ? preload : undefined }\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tplaysInline={ playsInline }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\theight={ height }\n\t\t\t\t\tstyle={\n\t\t\t\t\t\tObject.keys( videoStyle ).length\n\t\t\t\t\t\t\t? videoStyle\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t</video>\n\t\t\t) }\n\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t<RichText.Content\n\t\t\t\t\tclassName={ __experimentalGetElementClassName( 'caption' ) }\n\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\tvalue={ caption }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</figure>\n\t);\n}\n"],
5
+ "mappings": ";AAAA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA,2CAA2C;AAAA,OACrC;AACP,OAAO,YAAY;AA6BjB,SAmBG,KAnBH;AA3Ba,SAAR,KAAuB,EAAE,WAAW,GAAI;AAC9C,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI;AAMJ,QAAM,cACL,SAAS,SAAS,GAAI,KAAM,MAAO,MAAO,KAAK;AAChD,QAAM,aAAa;AAAA,IAClB,GAAK,eAAe,EAAE,YAAY;AAAA,IAClC,GAAG,0BAA2B,UAAW,EAAE;AAAA,EAC5C;AACA,SACC,qBAAC,YAAS,GAAG,cAAc,KAAK,GAC7B;AAAA,WACD;AAAA,MAAC;AAAA;AAAA,QACA,UAAW;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAU,YAAY,aAAa,UAAU;AAAA,QAC7C;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,OACC,OAAO,KAAM,UAAW,EAAE,SACvB,aACA;AAAA,QAGJ,8BAAC,UAAO,QAAkB;AAAA;AAAA,IAC3B;AAAA,IAEC,CAAE,SAAS,QAAS,OAAQ,KAC7B;AAAA,MAAC,SAAS;AAAA,MAAT;AAAA,QACA,WAAY,kCAAmC,SAAU;AAAA,QACzD,SAAQ;AAAA,QACR,OAAQ;AAAA;AAAA,IACT;AAAA,KAEF;AAEF;",
6
6
  "names": []
7
7
  }
@@ -10,7 +10,7 @@ import {
10
10
  Dropdown,
11
11
  Button,
12
12
  TextControl,
13
- SelectControl,
13
+ SelectControl as WCSelectControl,
14
14
  ToggleControl,
15
15
  __experimentalGrid as Grid,
16
16
  __experimentalHStack as HStack,
@@ -135,7 +135,7 @@ function SingleTrackEditor({
135
135
  ] }),
136
136
  /* @__PURE__ */ jsxs(VStack, { spacing: "4", children: [
137
137
  /* @__PURE__ */ jsx(
138
- SelectControl,
138
+ WCSelectControl,
139
139
  {
140
140
  className: "block-library-video-tracks-editor__single-track-editor-kind-select",
141
141
  options: KIND_OPTIONS,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/video/tracks-editor.jsx"],
4
- "sourcesContent": ["import { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tNavigableMenu,\n\tMenuItem,\n\tFormFileUpload,\n\tMenuGroup,\n\tToolbarGroup,\n\tToolbarButton,\n\tDropdown,\n\tButton,\n\tTextControl,\n\tSelectControl,\n\tToggleControl,\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { Badge } from '@wordpress/ui';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { upload, media } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef, useEffect } from '@wordpress/element';\nimport { getFilename } from '@wordpress/url';\n\nconst ALLOWED_TYPES = [ 'text/vtt' ];\n\nconst DEFAULT_KIND = 'subtitles';\n\nconst KIND_OPTIONS = [\n\t{ label: __( 'Subtitles' ), value: 'subtitles' },\n\t{ label: __( 'Captions' ), value: 'captions' },\n\t{ label: __( 'Descriptions' ), value: 'descriptions' },\n\t{ label: __( 'Chapters' ), value: 'chapters' },\n\t{ label: __( 'Metadata' ), value: 'metadata' },\n];\n\nconst DEFAULT_TRACK = {\n\tsrc: '',\n\tlabel: '',\n\tsrcLang: 'en',\n\tkind: DEFAULT_KIND,\n\tdefault: false,\n};\n\nfunction TrackList( { tracks, onEditPress } ) {\n\tconst content = tracks.map( ( track, index ) => {\n\t\treturn (\n\t\t\t<HStack\n\t\t\t\tkey={ track.id ?? track.src }\n\t\t\t\tclassName=\"block-library-video-tracks-editor__track-list-track\"\n\t\t\t>\n\t\t\t\t<span>{ track.label }</span>\n\t\t\t\t<HStack justify=\"flex-end\">\n\t\t\t\t\t{ track.default && (\n\t\t\t\t\t\t<Badge intent=\"none\">{ __( 'Default' ) }</Badge>\n\t\t\t\t\t) }\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => onEditPress( index ) }\n\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the video text track e.g: \"French subtitles\". */\n\t\t\t\t\t\t\t_x( 'Edit %s', 'text tracks' ),\n\t\t\t\t\t\t\ttrack.label\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t);\n\t} );\n\n\treturn (\n\t\t<MenuGroup\n\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\tclassName=\"block-library-video-tracks-editor__track-list\"\n\t\t>\n\t\t\t{ content }\n\t\t</MenuGroup>\n\t);\n}\n\nfunction SingleTrackEditor( {\n\ttrack,\n\tonChange,\n\tonClose,\n\tonRemove,\n\tallowSettingDefault,\n} ) {\n\tconst [ trackState, setTrackState ] = useState( {\n\t\t...DEFAULT_TRACK,\n\t\t...track,\n\t} );\n\n\tconst { src, label, srcLang, kind, default: isDefaultTrack } = trackState;\n\tconst fileName = src.startsWith( 'blob:' ) ? '' : getFilename( src ) || '';\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor\"\n\t\t\tspacing=\"4\"\n\t\t>\n\t\t\t<span className=\"block-library-video-tracks-editor__single-track-editor-edit-track-label\">\n\t\t\t\t{ __( 'Edit track' ) }\n\t\t\t</span>\n\t\t\t<span>\n\t\t\t\t{ __( 'File' ) }: <b>{ fileName }</b>\n\t\t\t</span>\n\t\t\t<Grid columns={ 2 } gap={ 4 }>\n\t\t\t\t<TextControl\n\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\tsetTrackState( ( prevTrackState ) => ( {\n\t\t\t\t\t\t\t...prevTrackState,\n\t\t\t\t\t\t\tlabel: newLabel,\n\t\t\t\t\t\t} ) )\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\thelp={ __( 'Title of track' ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tonChange={ ( newSrcLang ) =>\n\t\t\t\t\t\tsetTrackState( ( prevTrackState ) => ( {\n\t\t\t\t\t\t\t...prevTrackState,\n\t\t\t\t\t\t\tsrcLang: newSrcLang,\n\t\t\t\t\t\t} ) )\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'Source language' ) }\n\t\t\t\t\tvalue={ srcLang }\n\t\t\t\t\thelp={ __( 'Language tag (en, fr, etc.)' ) }\n\t\t\t\t/>\n\t\t\t</Grid>\n\t\t\t<VStack spacing=\"4\">\n\t\t\t\t<SelectControl\n\t\t\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor-kind-select\"\n\t\t\t\t\toptions={ KIND_OPTIONS }\n\t\t\t\t\tvalue={ kind }\n\t\t\t\t\tlabel={ __( 'Kind' ) }\n\t\t\t\t\tonChange={ ( newKind ) =>\n\t\t\t\t\t\tsetTrackState( ( prevTrackState ) => ( {\n\t\t\t\t\t\t\t...prevTrackState,\n\t\t\t\t\t\t\tkind: newKind,\n\t\t\t\t\t\t} ) )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Set as default track' ) }\n\t\t\t\t\tchecked={ isDefaultTrack }\n\t\t\t\t\tdisabled={ ! allowSettingDefault }\n\t\t\t\t\tonChange={ ( defaultTrack ) =>\n\t\t\t\t\t\tsetTrackState( ( prevTrackState ) => ( {\n\t\t\t\t\t\t\t...prevTrackState,\n\t\t\t\t\t\t\tdefault: defaultTrack,\n\t\t\t\t\t\t} ) )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<HStack className=\"block-library-video-tracks-editor__single-track-editor-buttons-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Remove track' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonChange( trackState );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Apply' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</VStack>\n\t);\n}\n\nexport default function TracksEditor( { tracks = [], onChange } ) {\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst [ trackBeingEdited, setTrackBeingEdited ] = useState( null );\n\tconst dropdownPopoverRef = useRef();\n\n\tconst handleTrackSelect = ( selectedTracks = [], appendTracks = false ) => {\n\t\tconst existingTracksMap = new Map(\n\t\t\ttracks.map( ( track ) => [ track.id, track ] )\n\t\t);\n\t\tconst tracksToAdd = selectedTracks.map( ( { id, title, url } ) => {\n\t\t\t// Reuse existing tracks to preserve user-configured metadata.\n\t\t\tif ( existingTracksMap.has( id ) ) {\n\t\t\t\treturn existingTracksMap.get( id );\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...DEFAULT_TRACK,\n\t\t\t\tid,\n\t\t\t\tlabel: title || '',\n\t\t\t\tsrc: url,\n\t\t\t};\n\t\t} );\n\n\t\tif ( tracksToAdd.length === 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tonChange( [ ...( appendTracks ? tracks : [] ), ...tracksToAdd ] );\n\t};\n\n\tfunction uploadFiles( event ) {\n\t\tconst files = event.target.files;\n\t\tmediaUpload( {\n\t\t\tallowedTypes: ALLOWED_TYPES,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: ( selectedTracks ) => {\n\t\t\t\tif ( ! Array.isArray( selectedTracks ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Wait until the track has been uploaded.\n\t\t\t\tconst uploadedTracks = selectedTracks.filter(\n\t\t\t\t\t( track ) => !! track?.id\n\t\t\t\t);\n\n\t\t\t\tif ( ! uploadedTracks.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\thandleTrackSelect( uploadedTracks, true );\n\t\t\t},\n\t\t} );\n\t}\n\n\tuseEffect( () => {\n\t\tdropdownPopoverRef.current?.focus();\n\t}, [ trackBeingEdited ] );\n\n\tif ( ! mediaUpload ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"block-library-video-tracks-editor\"\n\t\t\tfocusOnMount\n\t\t\tpopoverProps={ {\n\t\t\t\tref: dropdownPopoverRef,\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\tconst handleOnToggle = () => {\n\t\t\t\t\tif ( ! isOpen ) {\n\t\t\t\t\t\t// When the Popover opens make sure the initial view is\n\t\t\t\t\t\t// always the track list rather than the edit track UI.\n\t\t\t\t\t\tsetTrackBeingEdited( null );\n\t\t\t\t\t}\n\t\t\t\t\tonToggle();\n\t\t\t\t};\n\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\tonClick={ handleOnToggle }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => {\n\t\t\t\tif ( trackBeingEdited !== null ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SingleTrackEditor\n\t\t\t\t\t\t\ttrack={ tracks[ trackBeingEdited ] }\n\t\t\t\t\t\t\tonChange={ ( newTrack ) => {\n\t\t\t\t\t\t\t\tconst newTracks = [ ...tracks ];\n\t\t\t\t\t\t\t\tnewTracks[ trackBeingEdited ] = newTrack;\n\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonClose={ () => setTrackBeingEdited( null ) }\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\ttracks.filter(\n\t\t\t\t\t\t\t\t\t\t( _track, index ) =>\n\t\t\t\t\t\t\t\t\t\t\tindex !== trackBeingEdited\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\tsetTrackBeingEdited( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tallowSettingDefault={\n\t\t\t\t\t\t\t\t! tracks.some( ( track ) => track.default ) ||\n\t\t\t\t\t\t\t\ttracks[ trackBeingEdited ].default\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\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ tracks.length === 0 && (\n\t\t\t\t\t\t\t<div className=\"block-library-video-tracks-editor__tracks-informative-message\">\n\t\t\t\t\t\t\t\t<h2 className=\"block-library-video-tracks-editor__tracks-informative-message-title\">\n\t\t\t\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t<p className=\"block-library-video-tracks-editor__tracks-informative-message-description\">\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'Tracks can be subtitles, captions, chapters, or descriptions. They help make your content more accessible to a wider range of users.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<NavigableMenu>\n\t\t\t\t\t\t\t<TrackList\n\t\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\t\tonEditPress={ setTrackBeingEdited }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<MenuGroup\n\t\t\t\t\t\t\t\tclassName=\"block-library-video-tracks-editor__add-tracks-container\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Add tracks' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\t\t\tonSelect={ handleTrackSelect }\n\t\t\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_TYPES }\n\t\t\t\t\t\t\t\t\t\tvalue={ tracks.map( ( { id } ) => id ) }\n\t\t\t\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ media }\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\t\t\tonChange={ uploadFiles }\n\t\t\t\t\t\t\t\t\t\taccept=\".vtt,text/vtt\"\n\t\t\t\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ _x( 'Upload', 'verb' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tNavigableMenu,\n\tMenuItem,\n\tFormFileUpload,\n\tMenuGroup,\n\tToolbarGroup,\n\tToolbarButton,\n\tDropdown,\n\tButton,\n\tTextControl,\n\tSelectControl as WCSelectControl,\n\tToggleControl,\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { Badge } from '@wordpress/ui';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { upload, media } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef, useEffect } from '@wordpress/element';\nimport { getFilename } from '@wordpress/url';\n\nconst ALLOWED_TYPES = [ 'text/vtt' ];\n\nconst DEFAULT_KIND = 'subtitles';\n\nconst KIND_OPTIONS = [\n\t{ label: __( 'Subtitles' ), value: 'subtitles' },\n\t{ label: __( 'Captions' ), value: 'captions' },\n\t{ label: __( 'Descriptions' ), value: 'descriptions' },\n\t{ label: __( 'Chapters' ), value: 'chapters' },\n\t{ label: __( 'Metadata' ), value: 'metadata' },\n];\n\nconst DEFAULT_TRACK = {\n\tsrc: '',\n\tlabel: '',\n\tsrcLang: 'en',\n\tkind: DEFAULT_KIND,\n\tdefault: false,\n};\n\nfunction TrackList( { tracks, onEditPress } ) {\n\tconst content = tracks.map( ( track, index ) => {\n\t\treturn (\n\t\t\t<HStack\n\t\t\t\tkey={ track.id ?? track.src }\n\t\t\t\tclassName=\"block-library-video-tracks-editor__track-list-track\"\n\t\t\t>\n\t\t\t\t<span>{ track.label }</span>\n\t\t\t\t<HStack justify=\"flex-end\">\n\t\t\t\t\t{ track.default && (\n\t\t\t\t\t\t<Badge intent=\"none\">{ __( 'Default' ) }</Badge>\n\t\t\t\t\t) }\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => onEditPress( index ) }\n\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the video text track e.g: \"French subtitles\". */\n\t\t\t\t\t\t\t_x( 'Edit %s', 'text tracks' ),\n\t\t\t\t\t\t\ttrack.label\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t);\n\t} );\n\n\treturn (\n\t\t<MenuGroup\n\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\tclassName=\"block-library-video-tracks-editor__track-list\"\n\t\t>\n\t\t\t{ content }\n\t\t</MenuGroup>\n\t);\n}\n\nfunction SingleTrackEditor( {\n\ttrack,\n\tonChange,\n\tonClose,\n\tonRemove,\n\tallowSettingDefault,\n} ) {\n\tconst [ trackState, setTrackState ] = useState( {\n\t\t...DEFAULT_TRACK,\n\t\t...track,\n\t} );\n\n\tconst { src, label, srcLang, kind, default: isDefaultTrack } = trackState;\n\tconst fileName = src.startsWith( 'blob:' ) ? '' : getFilename( src ) || '';\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor\"\n\t\t\tspacing=\"4\"\n\t\t>\n\t\t\t<span className=\"block-library-video-tracks-editor__single-track-editor-edit-track-label\">\n\t\t\t\t{ __( 'Edit track' ) }\n\t\t\t</span>\n\t\t\t<span>\n\t\t\t\t{ __( 'File' ) }: <b>{ fileName }</b>\n\t\t\t</span>\n\t\t\t<Grid columns={ 2 } gap={ 4 }>\n\t\t\t\t<TextControl\n\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\tsetTrackState( ( prevTrackState ) => ( {\n\t\t\t\t\t\t\t...prevTrackState,\n\t\t\t\t\t\t\tlabel: newLabel,\n\t\t\t\t\t\t} ) )\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\thelp={ __( 'Title of track' ) }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tonChange={ ( newSrcLang ) =>\n\t\t\t\t\t\tsetTrackState( ( prevTrackState ) => ( {\n\t\t\t\t\t\t\t...prevTrackState,\n\t\t\t\t\t\t\tsrcLang: newSrcLang,\n\t\t\t\t\t\t} ) )\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'Source language' ) }\n\t\t\t\t\tvalue={ srcLang }\n\t\t\t\t\thelp={ __( 'Language tag (en, fr, etc.)' ) }\n\t\t\t\t/>\n\t\t\t</Grid>\n\t\t\t<VStack spacing=\"4\">\n\t\t\t\t<WCSelectControl\n\t\t\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor-kind-select\"\n\t\t\t\t\toptions={ KIND_OPTIONS }\n\t\t\t\t\tvalue={ kind }\n\t\t\t\t\tlabel={ __( 'Kind' ) }\n\t\t\t\t\tonChange={ ( newKind ) =>\n\t\t\t\t\t\tsetTrackState( ( prevTrackState ) => ( {\n\t\t\t\t\t\t\t...prevTrackState,\n\t\t\t\t\t\t\tkind: newKind,\n\t\t\t\t\t\t} ) )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Set as default track' ) }\n\t\t\t\t\tchecked={ isDefaultTrack }\n\t\t\t\t\tdisabled={ ! allowSettingDefault }\n\t\t\t\t\tonChange={ ( defaultTrack ) =>\n\t\t\t\t\t\tsetTrackState( ( prevTrackState ) => ( {\n\t\t\t\t\t\t\t...prevTrackState,\n\t\t\t\t\t\t\tdefault: defaultTrack,\n\t\t\t\t\t\t} ) )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<HStack className=\"block-library-video-tracks-editor__single-track-editor-buttons-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Remove track' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonChange( trackState );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Apply' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</VStack>\n\t);\n}\n\nexport default function TracksEditor( { tracks = [], onChange } ) {\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst [ trackBeingEdited, setTrackBeingEdited ] = useState( null );\n\tconst dropdownPopoverRef = useRef();\n\n\tconst handleTrackSelect = ( selectedTracks = [], appendTracks = false ) => {\n\t\tconst existingTracksMap = new Map(\n\t\t\ttracks.map( ( track ) => [ track.id, track ] )\n\t\t);\n\t\tconst tracksToAdd = selectedTracks.map( ( { id, title, url } ) => {\n\t\t\t// Reuse existing tracks to preserve user-configured metadata.\n\t\t\tif ( existingTracksMap.has( id ) ) {\n\t\t\t\treturn existingTracksMap.get( id );\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...DEFAULT_TRACK,\n\t\t\t\tid,\n\t\t\t\tlabel: title || '',\n\t\t\t\tsrc: url,\n\t\t\t};\n\t\t} );\n\n\t\tif ( tracksToAdd.length === 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tonChange( [ ...( appendTracks ? tracks : [] ), ...tracksToAdd ] );\n\t};\n\n\tfunction uploadFiles( event ) {\n\t\tconst files = event.target.files;\n\t\tmediaUpload( {\n\t\t\tallowedTypes: ALLOWED_TYPES,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: ( selectedTracks ) => {\n\t\t\t\tif ( ! Array.isArray( selectedTracks ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Wait until the track has been uploaded.\n\t\t\t\tconst uploadedTracks = selectedTracks.filter(\n\t\t\t\t\t( track ) => !! track?.id\n\t\t\t\t);\n\n\t\t\t\tif ( ! uploadedTracks.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\thandleTrackSelect( uploadedTracks, true );\n\t\t\t},\n\t\t} );\n\t}\n\n\tuseEffect( () => {\n\t\tdropdownPopoverRef.current?.focus();\n\t}, [ trackBeingEdited ] );\n\n\tif ( ! mediaUpload ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"block-library-video-tracks-editor\"\n\t\t\tfocusOnMount\n\t\t\tpopoverProps={ {\n\t\t\t\tref: dropdownPopoverRef,\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\tconst handleOnToggle = () => {\n\t\t\t\t\tif ( ! isOpen ) {\n\t\t\t\t\t\t// When the Popover opens make sure the initial view is\n\t\t\t\t\t\t// always the track list rather than the edit track UI.\n\t\t\t\t\t\tsetTrackBeingEdited( null );\n\t\t\t\t\t}\n\t\t\t\t\tonToggle();\n\t\t\t\t};\n\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\tonClick={ handleOnToggle }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => {\n\t\t\t\tif ( trackBeingEdited !== null ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SingleTrackEditor\n\t\t\t\t\t\t\ttrack={ tracks[ trackBeingEdited ] }\n\t\t\t\t\t\t\tonChange={ ( newTrack ) => {\n\t\t\t\t\t\t\t\tconst newTracks = [ ...tracks ];\n\t\t\t\t\t\t\t\tnewTracks[ trackBeingEdited ] = newTrack;\n\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonClose={ () => setTrackBeingEdited( null ) }\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\ttracks.filter(\n\t\t\t\t\t\t\t\t\t\t( _track, index ) =>\n\t\t\t\t\t\t\t\t\t\t\tindex !== trackBeingEdited\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\tsetTrackBeingEdited( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tallowSettingDefault={\n\t\t\t\t\t\t\t\t! tracks.some( ( track ) => track.default ) ||\n\t\t\t\t\t\t\t\ttracks[ trackBeingEdited ].default\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\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ tracks.length === 0 && (\n\t\t\t\t\t\t\t<div className=\"block-library-video-tracks-editor__tracks-informative-message\">\n\t\t\t\t\t\t\t\t<h2 className=\"block-library-video-tracks-editor__tracks-informative-message-title\">\n\t\t\t\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t<p className=\"block-library-video-tracks-editor__tracks-informative-message-description\">\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'Tracks can be subtitles, captions, chapters, or descriptions. They help make your content more accessible to a wider range of users.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<NavigableMenu>\n\t\t\t\t\t\t\t<TrackList\n\t\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\t\tonEditPress={ setTrackBeingEdited }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<MenuGroup\n\t\t\t\t\t\t\t\tclassName=\"block-library-video-tracks-editor__add-tracks-container\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Add tracks' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\t\t\tonSelect={ handleTrackSelect }\n\t\t\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_TYPES }\n\t\t\t\t\t\t\t\t\t\tvalue={ tracks.map( ( { id } ) => id ) }\n\t\t\t\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ media }\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\t\t\tonChange={ uploadFiles }\n\t\t\t\t\t\t\t\t\t\taccept=\".vtt,text/vtt\"\n\t\t\t\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ _x( 'Upload', 'verb' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -2,7 +2,8 @@
2
2
  cursor: pointer;
3
3
  display: inline-block;
4
4
  text-align: center;
5
- word-break: break-word;
5
+ word-break: normal;
6
+ overflow-wrap: anywhere;
6
7
  box-sizing: border-box;
7
8
  height: 100%;
8
9
  align-content: center;
@@ -2,7 +2,8 @@
2
2
  cursor: pointer;
3
3
  display: inline-block;
4
4
  text-align: center;
5
- word-break: break-word;
5
+ word-break: normal;
6
+ overflow-wrap: anywhere;
6
7
  box-sizing: border-box;
7
8
  height: 100%;
8
9
  align-content: center;
@@ -154,7 +154,7 @@
154
154
  .wp-block-column {
155
155
  flex-grow: 1;
156
156
  min-width: 0;
157
- word-break: break-word;
157
+ word-break: normal;
158
158
  overflow-wrap: break-word;
159
159
  /**
160
160
  * Individual Column Alignment
@@ -154,7 +154,7 @@
154
154
  .wp-block-column {
155
155
  flex-grow: 1;
156
156
  min-width: 0;
157
- word-break: break-word;
157
+ word-break: normal;
158
158
  overflow-wrap: break-word;
159
159
  /**
160
160
  * Individual Column Alignment
@@ -60,7 +60,7 @@
60
60
  line-height: 1.5;
61
61
  }
62
62
  .wp-block-post-comments .comment-meta b, .wp-block-comments__legacy-placeholder .comment-meta b {
63
- font-weight: normal;
63
+ font-weight: 400;
64
64
  }
65
65
  .wp-block-post-comments .comment-meta .comment-awaiting-moderation, .wp-block-comments__legacy-placeholder .comment-meta .comment-awaiting-moderation {
66
66
  margin-top: 1em;
@@ -60,7 +60,7 @@
60
60
  line-height: 1.5;
61
61
  }
62
62
  .wp-block-post-comments .comment-meta b, .wp-block-comments__legacy-placeholder .comment-meta b {
63
- font-weight: normal;
63
+ font-weight: 400;
64
64
  }
65
65
  .wp-block-post-comments .comment-meta .comment-awaiting-moderation, .wp-block-comments__legacy-placeholder .comment-meta .comment-awaiting-moderation {
66
66
  margin-top: 1em;
@@ -60,7 +60,7 @@
60
60
  line-height: 1.5;
61
61
  }
62
62
  .wp-block-post-comments .comment-meta b {
63
- font-weight: normal;
63
+ font-weight: 400;
64
64
  }
65
65
  .wp-block-post-comments .comment-meta .comment-awaiting-moderation {
66
66
  margin-top: 1em;
@@ -60,7 +60,7 @@
60
60
  line-height: 1.5;
61
61
  }
62
62
  .wp-block-post-comments .comment-meta b {
63
- font-weight: normal;
63
+ font-weight: 400;
64
64
  }
65
65
  .wp-block-post-comments .comment-meta .comment-awaiting-moderation {
66
66
  margin-top: 1em;
@@ -226,7 +226,7 @@
226
226
  padding: 0;
227
227
  position: absolute;
228
228
  width: 1px;
229
- word-wrap: normal !important;
229
+ overflow-wrap: normal !important;
230
230
  word-break: normal !important;
231
231
  }
232
232
 
@@ -228,7 +228,7 @@
228
228
  padding: 0;
229
229
  position: absolute;
230
230
  width: 1px;
231
- word-wrap: normal !important;
231
+ overflow-wrap: normal !important;
232
232
  word-break: normal !important;
233
233
  }
234
234
 
@@ -337,6 +337,12 @@
337
337
  border: none;
338
338
  box-shadow: none;
339
339
  }
340
+ @supports (-webkit-hyphens: none) {
341
+ .wp-block-cover-image.has-aspect-ratio,
342
+ .wp-block-cover.has-aspect-ratio {
343
+ min-height: fit-content !important;
344
+ }
345
+ }
340
346
  .wp-block-cover-image .wp-block-cover__embed-background,
341
347
  .wp-block-cover .wp-block-cover__embed-background {
342
348
  position: absolute;
@@ -339,6 +339,12 @@
339
339
  border: none;
340
340
  box-shadow: none;
341
341
  }
342
+ @supports (-webkit-hyphens: none) {
343
+ .wp-block-cover-image.has-aspect-ratio,
344
+ .wp-block-cover.has-aspect-ratio {
345
+ min-height: fit-content !important;
346
+ }
347
+ }
342
348
  .wp-block-cover-image .wp-block-cover__embed-background,
343
349
  .wp-block-cover .wp-block-cover__embed-background {
344
350
  position: absolute;