@remotion/promo-pages 4.0.452 → 4.0.454

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 (294) hide show
  1. package/dist/Homepage.js +190 -89
  2. package/dist/design.js +1 -1
  3. package/dist/experts.js +1 -1
  4. package/dist/homepage/Pricing.js +1 -1
  5. package/dist/prompts/PromptsGallery.js +1 -1
  6. package/dist/prompts/PromptsShow.js +1 -1
  7. package/dist/prompts/PromptsSubmit.js +1 -1
  8. package/dist/team.js +1 -1
  9. package/dist/template-modal-content.js +1 -1
  10. package/dist/templates.js +2 -1
  11. package/package.json +18 -18
  12. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/Homepage.css +0 -32
  13. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/Homepage.js +0 -42625
  14. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/design.js +0 -20460
  15. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/experts/experts-data.js +0 -740
  16. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/experts.js +0 -8778
  17. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/homepage/Pricing.js +0 -21875
  18. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/PromptsGallery.js +0 -20301
  19. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/PromptsShow.css +0 -2578
  20. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/PromptsShow.js +0 -40128
  21. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/PromptsSubmit.css +0 -2578
  22. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/PromptsSubmit.js +0 -40219
  23. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/prompt-types.js +0 -0
  24. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/team.js +0 -292
  25. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/template-modal-content.css +0 -32
  26. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/template-modal-content.js +0 -22044
  27. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/templates.js +0 -21305
  28. package/dist/cn.d.ts +0 -2
  29. package/dist/cn.js +0 -5
  30. package/dist/components/3DEngine/ButtonDemo.d.ts +0 -2
  31. package/dist/components/3DEngine/ButtonDemo.js +0 -43
  32. package/dist/components/3DEngine/Faces.d.ts +0 -5
  33. package/dist/components/3DEngine/Faces.js +0 -7
  34. package/dist/components/3DEngine/Outer.d.ts +0 -8
  35. package/dist/components/3DEngine/Outer.js +0 -56
  36. package/dist/components/3DEngine/Switch.d.ts +0 -4
  37. package/dist/components/3DEngine/Switch.js +0 -4
  38. package/dist/components/3DEngine/get-child-node-from.d.ts +0 -1
  39. package/dist/components/3DEngine/get-child-node-from.js +0 -14
  40. package/dist/components/3DEngine/hover-transforms.d.ts +0 -9
  41. package/dist/components/3DEngine/hover-transforms.js +0 -177
  42. package/dist/components/BackButton.d.ts +0 -6
  43. package/dist/components/BackButton.js +0 -9
  44. package/dist/components/CommandCopyButton.d.ts +0 -5
  45. package/dist/components/CommandCopyButton.js +0 -4
  46. package/dist/components/Homepage.d.ts +0 -6
  47. package/dist/components/Homepage.js +0 -20
  48. package/dist/components/ManageTeamMembers.d.ts +0 -2
  49. package/dist/components/ManageTeamMembers.js +0 -42
  50. package/dist/components/Spinner.d.ts +0 -3
  51. package/dist/components/Spinner.js +0 -4
  52. package/dist/components/TeamPicture.d.ts +0 -1
  53. package/dist/components/TeamPicture.js +0 -4
  54. package/dist/components/design.d.ts +0 -1
  55. package/dist/components/design.js +0 -33
  56. package/dist/components/experts/ExpertsPage.d.ts +0 -11
  57. package/dist/components/experts/ExpertsPage.js +0 -50
  58. package/dist/components/experts/experts-data.d.ts +0 -15
  59. package/dist/components/experts/experts-data.js +0 -276
  60. package/dist/components/experts/experts-icons.d.ts +0 -7
  61. package/dist/components/experts/experts-icons.js +0 -36
  62. package/dist/components/experts.d.ts +0 -3
  63. package/dist/components/experts.js +0 -2
  64. package/dist/components/homepage/BackgroundAnimation.d.ts +0 -2
  65. package/dist/components/homepage/BackgroundAnimation.js +0 -66
  66. package/dist/components/homepage/ChooseTemplate.d.ts +0 -2
  67. package/dist/components/homepage/ChooseTemplate.js +0 -25
  68. package/dist/components/homepage/CommunityStats.d.ts +0 -3
  69. package/dist/components/homepage/CommunityStats.js +0 -6
  70. package/dist/components/homepage/CommunityStatsItems.d.ts +0 -7
  71. package/dist/components/homepage/CommunityStatsItems.js +0 -58
  72. package/dist/components/homepage/Demo/Card.d.ts +0 -15
  73. package/dist/components/homepage/Demo/Card.js +0 -174
  74. package/dist/components/homepage/Demo/Cards.d.ts +0 -15
  75. package/dist/components/homepage/Demo/Cards.js +0 -57
  76. package/dist/components/homepage/Demo/Comp.d.ts +0 -38
  77. package/dist/components/homepage/Demo/Comp.js +0 -72
  78. package/dist/components/homepage/Demo/CurrentCountry.d.ts +0 -9
  79. package/dist/components/homepage/Demo/CurrentCountry.js +0 -48
  80. package/dist/components/homepage/Demo/DemoError.d.ts +0 -2
  81. package/dist/components/homepage/Demo/DemoError.js +0 -10
  82. package/dist/components/homepage/Demo/DemoErrorIcon.d.ts +0 -2
  83. package/dist/components/homepage/Demo/DemoErrorIcon.js +0 -16
  84. package/dist/components/homepage/Demo/DemoRender.d.ts +0 -33
  85. package/dist/components/homepage/Demo/DemoRender.js +0 -107
  86. package/dist/components/homepage/Demo/DigitWheel.d.ts +0 -9
  87. package/dist/components/homepage/Demo/DigitWheel.js +0 -94
  88. package/dist/components/homepage/Demo/DisplayedEmoji.d.ts +0 -5
  89. package/dist/components/homepage/Demo/DisplayedEmoji.js +0 -59
  90. package/dist/components/homepage/Demo/DoneCheckmark.d.ts +0 -2
  91. package/dist/components/homepage/Demo/DoneCheckmark.js +0 -20
  92. package/dist/components/homepage/Demo/DownloadNudge.d.ts +0 -2
  93. package/dist/components/homepage/Demo/DownloadNudge.js +0 -27
  94. package/dist/components/homepage/Demo/DragAndDropNudge.d.ts +0 -3
  95. package/dist/components/homepage/Demo/DragAndDropNudge.js +0 -26
  96. package/dist/components/homepage/Demo/EmojiCard.d.ts +0 -10
  97. package/dist/components/homepage/Demo/EmojiCard.js +0 -120
  98. package/dist/components/homepage/Demo/Minus.d.ts +0 -5
  99. package/dist/components/homepage/Demo/Minus.js +0 -11
  100. package/dist/components/homepage/Demo/PlayPauseButton.d.ts +0 -5
  101. package/dist/components/homepage/Demo/PlayPauseButton.js +0 -47
  102. package/dist/components/homepage/Demo/PlayerControls.d.ts +0 -8
  103. package/dist/components/homepage/Demo/PlayerControls.js +0 -15
  104. package/dist/components/homepage/Demo/PlayerSeekBar.d.ts +0 -11
  105. package/dist/components/homepage/Demo/PlayerSeekBar.js +0 -216
  106. package/dist/components/homepage/Demo/PlayerVolume.d.ts +0 -5
  107. package/dist/components/homepage/Demo/PlayerVolume.js +0 -53
  108. package/dist/components/homepage/Demo/Progress.d.ts +0 -4
  109. package/dist/components/homepage/Demo/Progress.js +0 -14
  110. package/dist/components/homepage/Demo/Spinner.d.ts +0 -5
  111. package/dist/components/homepage/Demo/Spinner.js +0 -37
  112. package/dist/components/homepage/Demo/Switcher.d.ts +0 -6
  113. package/dist/components/homepage/Demo/Switcher.js +0 -25
  114. package/dist/components/homepage/Demo/Temperature.d.ts +0 -6
  115. package/dist/components/homepage/Demo/Temperature.js +0 -21
  116. package/dist/components/homepage/Demo/TemperatureNumber.d.ts +0 -5
  117. package/dist/components/homepage/Demo/TemperatureNumber.js +0 -36
  118. package/dist/components/homepage/Demo/ThemeNudge.d.ts +0 -3
  119. package/dist/components/homepage/Demo/ThemeNudge.js +0 -35
  120. package/dist/components/homepage/Demo/TimeDisplay.d.ts +0 -6
  121. package/dist/components/homepage/Demo/TimeDisplay.js +0 -27
  122. package/dist/components/homepage/Demo/TrendingRepos.d.ts +0 -6
  123. package/dist/components/homepage/Demo/TrendingRepos.js +0 -65
  124. package/dist/components/homepage/Demo/icons.d.ts +0 -10
  125. package/dist/components/homepage/Demo/icons.js +0 -22
  126. package/dist/components/homepage/Demo/index.d.ts +0 -2
  127. package/dist/components/homepage/Demo/index.js +0 -95
  128. package/dist/components/homepage/Demo/math.d.ts +0 -10
  129. package/dist/components/homepage/Demo/math.js +0 -29
  130. package/dist/components/homepage/Demo/types.d.ts +0 -6
  131. package/dist/components/homepage/Demo/types.js +0 -0
  132. package/dist/components/homepage/EditorStarterSection.d.ts +0 -3
  133. package/dist/components/homepage/EditorStarterSection.js +0 -8
  134. package/dist/components/homepage/EvaluateRemotion.d.ts +0 -3
  135. package/dist/components/homepage/EvaluateRemotion.js +0 -21
  136. package/dist/components/homepage/FreePricing.d.ts +0 -4
  137. package/dist/components/homepage/FreePricing.js +0 -134
  138. package/dist/components/homepage/GetStartedStrip.d.ts +0 -2
  139. package/dist/components/homepage/GetStartedStrip.js +0 -14
  140. package/dist/components/homepage/GitHubButton.d.ts +0 -2
  141. package/dist/components/homepage/GitHubButton.js +0 -7
  142. package/dist/components/homepage/IconForTemplate.d.ts +0 -6
  143. package/dist/components/homepage/IconForTemplate.js +0 -105
  144. package/dist/components/homepage/IfYouKnowReact.d.ts +0 -3
  145. package/dist/components/homepage/IfYouKnowReact.js +0 -23
  146. package/dist/components/homepage/InfoTooltip.d.ts +0 -6
  147. package/dist/components/homepage/InfoTooltip.js +0 -6
  148. package/dist/components/homepage/MoreTemplatesButton.d.ts +0 -2
  149. package/dist/components/homepage/MoreTemplatesButton.js +0 -11
  150. package/dist/components/homepage/MuxVideo.d.ts +0 -7
  151. package/dist/components/homepage/MuxVideo.js +0 -45
  152. package/dist/components/homepage/NewsletterButton.d.ts +0 -2
  153. package/dist/components/homepage/NewsletterButton.js +0 -38
  154. package/dist/components/homepage/ParameterizeAndEdit.d.ts +0 -2
  155. package/dist/components/homepage/ParameterizeAndEdit.js +0 -22
  156. package/dist/components/homepage/Pricing.d.ts +0 -2
  157. package/dist/components/homepage/Pricing.js +0 -15
  158. package/dist/components/homepage/PricingBulletPoint.d.ts +0 -6
  159. package/dist/components/homepage/PricingBulletPoint.js +0 -19
  160. package/dist/components/homepage/RealMp4Videos.d.ts +0 -2
  161. package/dist/components/homepage/RealMp4Videos.js +0 -41
  162. package/dist/components/homepage/Spacer.d.ts +0 -2
  163. package/dist/components/homepage/Spacer.js +0 -4
  164. package/dist/components/homepage/TemplateIcon.d.ts +0 -5
  165. package/dist/components/homepage/TemplateIcon.js +0 -24
  166. package/dist/components/homepage/TextInput.d.ts +0 -7
  167. package/dist/components/homepage/TextInput.js +0 -34
  168. package/dist/components/homepage/TrustedByBanner.d.ts +0 -2
  169. package/dist/components/homepage/TrustedByBanner.js +0 -27
  170. package/dist/components/homepage/VideoApps.d.ts +0 -4
  171. package/dist/components/homepage/VideoApps.js +0 -72
  172. package/dist/components/homepage/VideoAppsShowcase.d.ts +0 -3
  173. package/dist/components/homepage/VideoAppsShowcase.js +0 -139
  174. package/dist/components/homepage/VideoAppsTitle.d.ts +0 -4
  175. package/dist/components/homepage/VideoAppsTitle.js +0 -4
  176. package/dist/components/homepage/VideoPlayerWithControls.d.ts +0 -20
  177. package/dist/components/homepage/VideoPlayerWithControls.js +0 -105
  178. package/dist/components/homepage/WriteInReact.d.ts +0 -2
  179. package/dist/components/homepage/WriteInReact.js +0 -10
  180. package/dist/components/homepage/YouAreHere.d.ts +0 -2
  181. package/dist/components/homepage/YouAreHere.js +0 -23
  182. package/dist/components/homepage/layout/Button.d.ts +0 -22
  183. package/dist/components/homepage/layout/Button.js +0 -30
  184. package/dist/components/homepage/layout/colors.d.ts +0 -13
  185. package/dist/components/homepage/layout/colors.js +0 -14
  186. package/dist/components/homepage/layout/use-color-mode.d.ts +0 -21
  187. package/dist/components/homepage/layout/use-color-mode.js +0 -22
  188. package/dist/components/homepage/layout/use-el-size.d.ts +0 -5
  189. package/dist/components/homepage/layout/use-el-size.js +0 -40
  190. package/dist/components/homepage/layout/use-mobile-layout.d.ts +0 -1
  191. package/dist/components/homepage/layout/use-mobile-layout.js +0 -6
  192. package/dist/components/icons/blank.d.ts +0 -3
  193. package/dist/components/icons/blank.js +0 -4
  194. package/dist/components/icons/brain.d.ts +0 -2
  195. package/dist/components/icons/brain.js +0 -4
  196. package/dist/components/icons/clone.d.ts +0 -2
  197. package/dist/components/icons/clone.js +0 -2
  198. package/dist/components/icons/code-hike.d.ts +0 -3
  199. package/dist/components/icons/code-hike.js +0 -4
  200. package/dist/components/icons/cubes.d.ts +0 -3
  201. package/dist/components/icons/cubes.js +0 -4
  202. package/dist/components/icons/editor.d.ts +0 -3
  203. package/dist/components/icons/editor.js +0 -4
  204. package/dist/components/icons/electron.d.ts +0 -4
  205. package/dist/components/icons/electron.js +0 -4
  206. package/dist/components/icons/js.d.ts +0 -3
  207. package/dist/components/icons/js.js +0 -4
  208. package/dist/components/icons/music.d.ts +0 -2
  209. package/dist/components/icons/music.js +0 -4
  210. package/dist/components/icons/next.d.ts +0 -4
  211. package/dist/components/icons/next.js +0 -4
  212. package/dist/components/icons/overlay.d.ts +0 -3
  213. package/dist/components/icons/overlay.js +0 -4
  214. package/dist/components/icons/prompt-to-video.d.ts +0 -2
  215. package/dist/components/icons/prompt-to-video.js +0 -4
  216. package/dist/components/icons/recorder.d.ts +0 -3
  217. package/dist/components/icons/recorder.js +0 -4
  218. package/dist/components/icons/remix.d.ts +0 -3
  219. package/dist/components/icons/remix.js +0 -4
  220. package/dist/components/icons/render-server.d.ts +0 -3
  221. package/dist/components/icons/render-server.js +0 -4
  222. package/dist/components/icons/skia.d.ts +0 -3
  223. package/dist/components/icons/skia.js +0 -4
  224. package/dist/components/icons/stargazer.d.ts +0 -3
  225. package/dist/components/icons/stargazer.js +0 -4
  226. package/dist/components/icons/still.d.ts +0 -3
  227. package/dist/components/icons/still.js +0 -4
  228. package/dist/components/icons/tailwind.d.ts +0 -3
  229. package/dist/components/icons/tailwind.js +0 -4
  230. package/dist/components/icons/tiktok.d.ts +0 -3
  231. package/dist/components/icons/tiktok.js +0 -4
  232. package/dist/components/icons/timeline.d.ts +0 -3
  233. package/dist/components/icons/timeline.js +0 -4
  234. package/dist/components/icons/ts.d.ts +0 -3
  235. package/dist/components/icons/ts.js +0 -4
  236. package/dist/components/icons/undo.d.ts +0 -3
  237. package/dist/components/icons/undo.js +0 -2
  238. package/dist/components/icons/vercel.d.ts +0 -4
  239. package/dist/components/icons/vercel.js +0 -4
  240. package/dist/components/icons/waveform.d.ts +0 -3
  241. package/dist/components/icons/waveform.js +0 -4
  242. package/dist/components/prompts/CardLikeButton.d.ts +0 -5
  243. package/dist/components/prompts/CardLikeButton.js +0 -49
  244. package/dist/components/prompts/ClipboardIcon.d.ts +0 -5
  245. package/dist/components/prompts/ClipboardIcon.js +0 -4
  246. package/dist/components/prompts/CopyPromptButton.d.ts +0 -4
  247. package/dist/components/prompts/CopyPromptButton.js +0 -13
  248. package/dist/components/prompts/LikeButton.d.ts +0 -5
  249. package/dist/components/prompts/LikeButton.js +0 -49
  250. package/dist/components/prompts/MuxPlayer.d.ts +0 -8
  251. package/dist/components/prompts/MuxPlayer.js +0 -21
  252. package/dist/components/prompts/NewBackButton.d.ts +0 -5
  253. package/dist/components/prompts/NewBackButton.js +0 -8
  254. package/dist/components/prompts/Page.d.ts +0 -8
  255. package/dist/components/prompts/Page.js +0 -7
  256. package/dist/components/prompts/PromptsGallery.d.ts +0 -7
  257. package/dist/components/prompts/PromptsGallery.js +0 -60
  258. package/dist/components/prompts/PromptsShow.d.ts +0 -5
  259. package/dist/components/prompts/PromptsShow.js +0 -17
  260. package/dist/components/prompts/PromptsSubmit.d.ts +0 -2
  261. package/dist/components/prompts/PromptsSubmit.js +0 -173
  262. package/dist/components/prompts/config.d.ts +0 -1
  263. package/dist/components/prompts/config.js +0 -1
  264. package/dist/components/prompts/prompt-helpers.d.ts +0 -8
  265. package/dist/components/prompts/prompt-helpers.js +0 -76
  266. package/dist/components/prompts/prompt-types.d.ts +0 -14
  267. package/dist/components/prompts/prompt-types.js +0 -0
  268. package/dist/components/prompts/use-heart-animation.d.ts +0 -5
  269. package/dist/components/prompts/use-heart-animation.js +0 -29
  270. package/dist/components/team/TeamCards.d.ts +0 -6
  271. package/dist/components/team/TeamCards.js +0 -19
  272. package/dist/components/team/TitleTeamCards.d.ts +0 -2
  273. package/dist/components/team/TitleTeamCards.js +0 -6
  274. package/dist/components/team/TrustSection.d.ts +0 -2
  275. package/dist/components/team/TrustSection.js +0 -59
  276. package/dist/components/team.d.ts +0 -3
  277. package/dist/components/team.js +0 -15
  278. package/dist/components/template-modal-content.d.ts +0 -5
  279. package/dist/components/template-modal-content.js +0 -73
  280. package/dist/components/templates.d.ts +0 -2
  281. package/dist/components/templates.js +0 -27
  282. package/dist/helpers/mobile-layout.d.ts +0 -1
  283. package/dist/helpers/mobile-layout.js +0 -6
  284. package/dist/helpers/use-el-size.d.ts +0 -5
  285. package/dist/helpers/use-el-size.js +0 -40
  286. package/dist/main.d.ts +0 -1
  287. package/dist/main.js +0 -6
  288. package/dist/prompts-show.d.ts +0 -1
  289. package/dist/prompts-show.js +0 -20
  290. package/dist/prompts-submit.d.ts +0 -1
  291. package/dist/prompts-submit.js +0 -6
  292. package/dist/prompts.d.ts +0 -1
  293. package/dist/prompts.js +0 -6
  294. package/dist/team.d.ts +0 -1
package/dist/Homepage.js CHANGED
@@ -2043,7 +2043,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
2043
2043
  var addSequenceStackTraces = (component) => {
2044
2044
  componentsToAddStacksTo.push(component);
2045
2045
  };
2046
- var VERSION = "4.0.452";
2046
+ var VERSION = "4.0.454";
2047
2047
  var checkMultipleRemotionVersions = () => {
2048
2048
  if (typeof globalThis === "undefined") {
2049
2049
  return;
@@ -25789,9 +25789,10 @@ var useElementSize = (ref, options2) => {
25789
25789
  setSize(null);
25790
25790
  return;
25791
25791
  }
25792
- const probableCssParentScale = contentRect.width === 0 ? 1 : newSize[0].width / contentRect.width;
25793
- const width = options2.shouldApplyCssTransforms || probableCssParentScale === 0 ? newSize[0].width : newSize[0].width * (1 / probableCssParentScale);
25794
- const height = options2.shouldApplyCssTransforms || probableCssParentScale === 0 ? newSize[0].height : newSize[0].height * (1 / probableCssParentScale);
25792
+ const probableCssParentScaleX = contentRect.width === 0 ? 1 : newSize[0].width / contentRect.width;
25793
+ const probableCssParentScaleY = contentRect.height === 0 ? 1 : newSize[0].height / contentRect.height;
25794
+ const width = options2.shouldApplyCssTransforms || probableCssParentScaleX === 0 ? newSize[0].width : newSize[0].width * (1 / probableCssParentScaleX);
25795
+ const height = options2.shouldApplyCssTransforms || probableCssParentScaleY === 0 ? newSize[0].height : newSize[0].height * (1 / probableCssParentScaleY);
25795
25796
  setSize((prevState) => {
25796
25797
  const isSame = prevState && prevState.width === width && prevState.height === height && prevState.left === newSize[0].x && prevState.top === newSize[0].y && prevState.windowSize.height === window.innerHeight && prevState.windowSize.width === window.innerWidth;
25797
25798
  if (isSame) {
@@ -27505,9 +27506,11 @@ var SharedPlayerContexts = ({
27505
27506
  logLevel,
27506
27507
  audioLatencyHint,
27507
27508
  volumePersistenceKey,
27509
+ initialVolume,
27508
27510
  inputProps,
27509
27511
  audioEnabled
27510
27512
  }) => {
27513
+ const persistVolumeToStorage = initialVolume === undefined;
27511
27514
  const compositionManagerContext = useMemo132(() => {
27512
27515
  const context = {
27513
27516
  compositions: [
@@ -27552,7 +27555,7 @@ var SharedPlayerContexts = ({
27552
27555
  inputProps
27553
27556
  ]);
27554
27557
  const [mediaMuted, setMediaMuted] = useState122(() => initiallyMuted);
27555
- const [mediaVolume, setMediaVolume] = useState122(() => getPreferredVolume(volumePersistenceKey ?? null));
27558
+ const [mediaVolume, setMediaVolume] = useState122(() => persistVolumeToStorage ? getPreferredVolume(volumePersistenceKey ?? null) : initialVolume);
27556
27559
  const mediaVolumeContextValue = useMemo132(() => {
27557
27560
  return {
27558
27561
  mediaMuted,
@@ -27561,8 +27564,10 @@ var SharedPlayerContexts = ({
27561
27564
  }, [mediaMuted, mediaVolume]);
27562
27565
  const setMediaVolumeAndPersist = useCallback122((vol) => {
27563
27566
  setMediaVolume(vol);
27564
- persistVolume(vol, logLevel, volumePersistenceKey ?? null);
27565
- }, [logLevel, volumePersistenceKey]);
27567
+ if (persistVolumeToStorage) {
27568
+ persistVolume(vol, logLevel, volumePersistenceKey ?? null);
27569
+ }
27570
+ }, [persistVolumeToStorage, logLevel, volumePersistenceKey]);
27566
27571
  const setMediaVolumeContextValue = useMemo132(() => {
27567
27572
  return {
27568
27573
  setMediaMuted,
@@ -27777,6 +27782,7 @@ var PlayerFn = ({
27777
27782
  acknowledgeRemotionLicense,
27778
27783
  audioLatencyHint = "playback",
27779
27784
  volumePersistenceKey,
27785
+ initialVolume,
27780
27786
  ...componentProps
27781
27787
  }, ref) => {
27782
27788
  if (typeof window !== "undefined") {
@@ -27851,6 +27857,12 @@ var PlayerFn = ({
27851
27857
  if (typeof spaceKeyToPlayOrPause !== "boolean" && typeof spaceKeyToPlayOrPause !== "undefined") {
27852
27858
  throw new TypeError(`'spaceKeyToPlayOrPause' must be a boolean or undefined but got '${typeof spaceKeyToPlayOrPause}' instead`);
27853
27859
  }
27860
+ if (typeof initialVolume !== "undefined" && typeof initialVolume !== "number") {
27861
+ throw new TypeError(`'initialVolume' must be a number or undefined but got '${typeof initialVolume}' instead`);
27862
+ }
27863
+ if (typeof initialVolume === "number" && (!Number.isFinite(initialVolume) || Number.isNaN(initialVolume) || initialVolume < 0 || initialVolume > 1)) {
27864
+ throw new TypeError(`'initialVolume' must be between 0 and 1 but got '${initialVolume}' instead`);
27865
+ }
27854
27866
  if (typeof numberOfSharedAudioTags !== "number" || numberOfSharedAudioTags % 1 !== 0 || !Number.isFinite(numberOfSharedAudioTags) || Number.isNaN(numberOfSharedAudioTags) || numberOfSharedAudioTags < 0) {
27855
27867
  throw new TypeError(`'numberOfSharedAudioTags' must be an integer but got '${numberOfSharedAudioTags}' instead`);
27856
27868
  }
@@ -27910,6 +27922,7 @@ var PlayerFn = ({
27910
27922
  logLevel,
27911
27923
  audioLatencyHint,
27912
27924
  volumePersistenceKey,
27925
+ initialVolume,
27913
27926
  inputProps: actualInputProps,
27914
27927
  audioEnabled: true,
27915
27928
  children: /* @__PURE__ */ jsx143(Internals.SetTimelineContext.Provider, {
@@ -28968,7 +28981,7 @@ import { AudioBufferSink, InputDisposedError } from "mediabunny";
28968
28981
  import { CanvasSink } from "mediabunny";
28969
28982
  import { useMemo as useMemo51 } from "react";
28970
28983
  import { useContext as useContext47, useLayoutEffect as useLayoutEffect17 } from "react";
28971
- import { useContext as useContext212, useState as useState40, useEffect as useEffect41 } from "react";
28984
+ import { useContext as useContext212, useEffect as useEffect41, useState as useState40 } from "react";
28972
28985
  import { jsx as jsx57 } from "react/jsx-runtime";
28973
28986
  import { useContext as useContext46, useLayoutEffect as useLayoutEffect24, useMemo as useMemo310, useState as useState312 } from "react";
28974
28987
  import React211 from "react";
@@ -29726,6 +29739,11 @@ var drawPreviewOverlay = ({
29726
29739
  context.fillText(lines2[i], boxLeft + boxPaddingX, boxTop + boxPaddingY + i * lineHeight);
29727
29740
  }
29728
29741
  };
29742
+ var getDurationOrCompute = async (input) => {
29743
+ return await input.getDurationFromMetadata(undefined, {
29744
+ skipLiveWait: true
29745
+ }) ?? input.computeDuration(undefined, { skipLiveWait: true });
29746
+ };
29729
29747
  function isNetworkError(error2) {
29730
29748
  if (error2.message.includes("Failed to fetch") || error2.message.includes("Load failed") || error2.message.includes("NetworkError when attempting to fetch resource")) {
29731
29749
  return true;
@@ -29748,11 +29766,74 @@ var makeNonceManager = () => {
29748
29766
  createAsyncOperation
29749
29767
  };
29750
29768
  };
29769
+ var canvasesAheadOfTime = (videoSink, startTimestamp) => {
29770
+ const iterator = videoSink.canvases(startTimestamp);
29771
+ let inFlight = iterator.next();
29772
+ let resolved = null;
29773
+ const trackResolution = () => {
29774
+ const captured = inFlight;
29775
+ captured.then((result) => {
29776
+ if (captured === inFlight) {
29777
+ resolved = result;
29778
+ }
29779
+ }, () => {
29780
+ return;
29781
+ });
29782
+ };
29783
+ trackResolution();
29784
+ const advance2 = () => {
29785
+ inFlight = iterator.next();
29786
+ resolved = null;
29787
+ trackResolution();
29788
+ };
29789
+ const next = () => {
29790
+ if (resolved) {
29791
+ if (resolved.done) {
29792
+ return { type: "ready", frame: null };
29793
+ }
29794
+ const frame = resolved.value;
29795
+ advance2();
29796
+ return { type: "ready", frame };
29797
+ }
29798
+ const captured = inFlight;
29799
+ return {
29800
+ type: "pending",
29801
+ wait: async () => {
29802
+ const result = await captured;
29803
+ if (captured === inFlight && !result.done) {
29804
+ advance2();
29805
+ }
29806
+ return result.done ? null : result.value;
29807
+ }
29808
+ };
29809
+ };
29810
+ const closeFrame = (frame) => {
29811
+ frame.close?.();
29812
+ };
29813
+ const closeIterator = async () => {
29814
+ if (resolved) {
29815
+ if (!resolved.done) {
29816
+ closeFrame(resolved.value);
29817
+ }
29818
+ } else {
29819
+ const captured = inFlight;
29820
+ captured.then((result) => {
29821
+ if (!result.done) {
29822
+ closeFrame(result.value);
29823
+ }
29824
+ }, () => {
29825
+ return;
29826
+ });
29827
+ }
29828
+ await iterator.return();
29829
+ };
29830
+ return { next, closeIterator };
29831
+ };
29751
29832
  var makePrewarmedVideoIteratorCache = (videoSink) => {
29752
29833
  const prewarmedVideoIterators = new Map;
29753
29834
  const prewarmIteratorForLooping = ({ timeToSeek }) => {
29754
29835
  if (!prewarmedVideoIterators.has(timeToSeek)) {
29755
- prewarmedVideoIterators.set(timeToSeek, videoSink.canvases(timeToSeek));
29836
+ prewarmedVideoIterators.set(timeToSeek, canvasesAheadOfTime(videoSink, timeToSeek));
29756
29837
  }
29757
29838
  };
29758
29839
  const makeIteratorOrUsePrewarmed = (timeToSeek) => {
@@ -29761,12 +29842,11 @@ var makePrewarmedVideoIteratorCache = (videoSink) => {
29761
29842
  prewarmedVideoIterators.delete(timeToSeek);
29762
29843
  return prewarmedIterator;
29763
29844
  }
29764
- const iterator = videoSink.canvases(timeToSeek);
29765
- return iterator;
29845
+ return canvasesAheadOfTime(videoSink, timeToSeek);
29766
29846
  };
29767
29847
  const destroy = () => {
29768
29848
  for (const iterator of prewarmedVideoIterators.values()) {
29769
- iterator.return();
29849
+ iterator.closeIterator();
29770
29850
  }
29771
29851
  prewarmedVideoIterators.clear();
29772
29852
  };
@@ -29783,48 +29863,43 @@ var createVideoIterator = async (timeToSeek, cache2) => {
29783
29863
  let destroyed = false;
29784
29864
  const iterator = cache2.makeIteratorOrUsePrewarmed(timeToSeek);
29785
29865
  let iteratorEnded = false;
29786
- const initialFrame = (await iterator.next())?.value ?? null;
29866
+ const firstAwait = iterator.next();
29867
+ const initialFrame = firstAwait && firstAwait.type === "ready" ? firstAwait.frame : await firstAwait.wait();
29787
29868
  let lastReturnedFrame = initialFrame;
29788
- const getNextOrNullIfNotAvailable = async () => {
29869
+ const getNextOrNullIfNotAvailable = () => {
29789
29870
  const next = iterator.next();
29790
- const result = await Promise.race([
29791
- next,
29792
- new Promise((resolve) => {
29793
- Promise.resolve().then(() => resolve());
29794
- })
29795
- ]);
29796
- if (!result) {
29871
+ if (next.type === "pending") {
29797
29872
  return {
29798
29873
  type: "need-to-wait-for-it",
29799
29874
  waitPromise: async () => {
29800
- const res = await next;
29801
- if (res.value) {
29802
- lastReturnedFrame = res.value;
29875
+ const res = await next.wait();
29876
+ if (res) {
29877
+ lastReturnedFrame = res;
29803
29878
  } else {
29804
29879
  iteratorEnded = true;
29805
29880
  }
29806
- return res.value;
29881
+ return res;
29807
29882
  }
29808
29883
  };
29809
29884
  }
29810
- if (result.value) {
29811
- lastReturnedFrame = result.value;
29885
+ if (next.frame) {
29886
+ lastReturnedFrame = next.frame;
29812
29887
  } else {
29813
29888
  iteratorEnded = true;
29814
29889
  }
29815
29890
  return {
29816
29891
  type: "got-frame-or-end",
29817
- frame: result.value ?? null
29892
+ frame: next.frame ?? null
29818
29893
  };
29819
29894
  };
29820
29895
  const destroy = () => {
29821
29896
  destroyed = true;
29822
29897
  lastReturnedFrame = null;
29823
- iterator.return().catch(() => {
29898
+ iterator.closeIterator().catch(() => {
29824
29899
  return;
29825
29900
  });
29826
29901
  };
29827
- const tryToSatisfySeek = async (time) => {
29902
+ const tryToSatisfySeek = (time) => {
29828
29903
  if (lastReturnedFrame) {
29829
29904
  const frameTimestamp = roundTo4Digits(lastReturnedFrame.timestamp);
29830
29905
  if (roundTo4Digits(time) < frameTimestamp) {
@@ -29863,7 +29938,7 @@ var createVideoIterator = async (timeToSeek, cache2) => {
29863
29938
  };
29864
29939
  }
29865
29940
  while (true) {
29866
- const frame = await getNextOrNullIfNotAvailable();
29941
+ const frame = getNextOrNullIfNotAvailable();
29867
29942
  if (frame.type === "need-to-wait-for-it") {
29868
29943
  return {
29869
29944
  type: "not-satisfied",
@@ -29907,7 +29982,7 @@ var createVideoIterator = async (timeToSeek, cache2) => {
29907
29982
  tryToSatisfySeek
29908
29983
  };
29909
29984
  };
29910
- var videoIteratorManager = ({
29985
+ var videoIteratorManager = async ({
29911
29986
  delayPlaybackHandleIfNotPremounting,
29912
29987
  canvas,
29913
29988
  context,
@@ -29924,9 +29999,11 @@ var videoIteratorManager = ({
29924
29999
  let framesRendered = 0;
29925
30000
  let currentDelayHandle = null;
29926
30001
  if (canvas) {
29927
- if (canvas.width !== videoTrack.displayWidth || canvas.height !== videoTrack.displayHeight) {
29928
- canvas.width = videoTrack.displayWidth;
29929
- canvas.height = videoTrack.displayHeight;
30002
+ const displayWidth = await videoTrack.getDisplayWidth();
30003
+ const displayHeight = await videoTrack.getDisplayHeight();
30004
+ if (canvas.width !== displayWidth || canvas.height !== displayHeight) {
30005
+ canvas.width = displayWidth;
30006
+ canvas.height = displayHeight;
29930
30007
  }
29931
30008
  }
29932
30009
  const canvasSink = new CanvasSink(videoTrack, {
@@ -29987,7 +30064,7 @@ var videoIteratorManager = ({
29987
30064
  });
29988
30065
  }
29989
30066
  }
29990
- const videoSatisfyResult = await videoFrameIterator.tryToSatisfySeek(newTime);
30067
+ const videoSatisfyResult = videoFrameIterator.tryToSatisfySeek(newTime);
29991
30068
  if (videoSatisfyResult.type === "satisfied") {
29992
30069
  drawFrame(videoSatisfyResult.frame);
29993
30070
  return;
@@ -30020,6 +30097,7 @@ var videoIteratorManager = ({
30020
30097
  };
30021
30098
 
30022
30099
  class MediaPlayer {
30100
+ tagType;
30023
30101
  canvas;
30024
30102
  context;
30025
30103
  src;
@@ -30066,7 +30144,8 @@ class MediaPlayer {
30066
30144
  onVideoFrameCallback,
30067
30145
  playing,
30068
30146
  sequenceOffset,
30069
- credentials
30147
+ credentials,
30148
+ tagType
30070
30149
  }) {
30071
30150
  this.canvas = canvas ?? null;
30072
30151
  this.src = src;
@@ -30077,7 +30156,7 @@ class MediaPlayer {
30077
30156
  this.loop = loop;
30078
30157
  this.trimBefore = trimBefore;
30079
30158
  this.trimAfter = trimAfter;
30080
- this.audioStreamIndex = audioStreamIndex ?? 0;
30159
+ this.audioStreamIndex = audioStreamIndex;
30081
30160
  this.fps = fps;
30082
30161
  this.debugOverlay = debugOverlay;
30083
30162
  this.bufferState = bufferState;
@@ -30094,6 +30173,7 @@ class MediaPlayer {
30094
30173
  } : undefined),
30095
30174
  formats: ALL_FORMATS
30096
30175
  });
30176
+ this.tagType = tagType;
30097
30177
  if (canvas) {
30098
30178
  const context = canvas.getContext("2d", {
30099
30179
  alpha: true,
@@ -30161,7 +30241,7 @@ class MediaPlayer {
30161
30241
  return { type: "unknown-container-format" };
30162
30242
  }
30163
30243
  const [durationInSeconds, videoTrack, audioTracks] = await Promise.all([
30164
- this.input.computeDuration(),
30244
+ getDurationOrCompute(this.input),
30165
30245
  this.input.getPrimaryVideoTrack(),
30166
30246
  this.input.getAudioTracks()
30167
30247
  ]);
@@ -30169,11 +30249,17 @@ class MediaPlayer {
30169
30249
  return { type: "disposed" };
30170
30250
  }
30171
30251
  this.totalDuration = durationInSeconds;
30172
- const audioTrack = audioTracks[this.audioStreamIndex] ?? null;
30252
+ const audioTrack = await (this.audioStreamIndex === null ? videoTrack?.getPrimaryPairableAudioTrack() : audioTracks[this.audioStreamIndex] ?? null);
30173
30253
  if (!videoTrack && !audioTrack) {
30174
30254
  return { type: "no-tracks" };
30175
30255
  }
30176
- if (videoTrack) {
30256
+ if (videoTrack && this.tagType === "video") {
30257
+ if (await videoTrack.isLive()) {
30258
+ throw new Error("Live streams are not currently supported by Remotion. Sorry! Source: " + this.src);
30259
+ }
30260
+ if (await videoTrack.isRelativeToUnixEpoch()) {
30261
+ throw new Error("Streams with UNIX timestamps are not currently supported by Remotion. Sorry! Source: " + this.src);
30262
+ }
30177
30263
  const canDecode = await videoTrack.canDecode();
30178
30264
  if (!canDecode) {
30179
30265
  return { type: "cannot-decode" };
@@ -30181,7 +30267,7 @@ class MediaPlayer {
30181
30267
  if (this.input.disposed) {
30182
30268
  return { type: "disposed" };
30183
30269
  }
30184
- this.videoIteratorManager = videoIteratorManager({
30270
+ this.videoIteratorManager = await videoIteratorManager({
30185
30271
  videoTrack,
30186
30272
  delayPlaybackHandleIfNotPremounting: this.delayPlaybackHandleIfNotPremounting,
30187
30273
  context: this.context,
@@ -30199,6 +30285,12 @@ class MediaPlayer {
30199
30285
  throw new Error(`should have asserted that the time is not null`);
30200
30286
  }
30201
30287
  if (audioTrack && this.sharedAudioContext) {
30288
+ if (await audioTrack.isLive()) {
30289
+ throw new Error("Live streams are not currently supported by Remotion. Sorry! Source: " + this.src);
30290
+ }
30291
+ if (await audioTrack.isRelativeToUnixEpoch()) {
30292
+ throw new Error("Streams with UNIX timestamps are not currently supported by Remotion. Sorry! Source: " + this.src);
30293
+ }
30202
30294
  const canDecode = await audioTrack.canDecode();
30203
30295
  if (!canDecode) {
30204
30296
  return { type: "cannot-decode" };
@@ -30737,9 +30829,7 @@ var useMediaInTimeline2 = ({
30737
30829
  const parentSequence = useContext212(Internals.SequenceContext);
30738
30830
  const startsAt = Internals.useMediaStartsAt();
30739
30831
  const { registerSequence, unregisterSequence } = useContext212(Internals.SequenceManager);
30740
- const [sequenceId] = useState40(() => String(Math.random()));
30741
30832
  const [mediaId] = useState40(() => String(Math.random()));
30742
- const frame = useCurrentFrame();
30743
30833
  const {
30744
30834
  volumes,
30745
30835
  duration,
@@ -30768,32 +30858,13 @@ var useMediaInTimeline2 = ({
30768
30858
  if (!showInTimeline) {
30769
30859
  return;
30770
30860
  }
30771
- const loopIteration = loopDisplay ? Math.floor(frame / loopDisplay.durationInFrames) : 0;
30772
- if (loopDisplay) {
30773
- registerSequence({
30774
- type: "sequence",
30775
- premountDisplay,
30776
- postmountDisplay,
30777
- parent: parentSequence?.id ?? null,
30778
- displayName: finalDisplayName,
30779
- rootId,
30780
- showInTimeline: true,
30781
- nonce: nonce.get(),
30782
- loopDisplay,
30783
- stack,
30784
- from: 0,
30785
- duration,
30786
- id: sequenceId,
30787
- controls: null
30788
- });
30789
- }
30790
30861
  registerSequence({
30791
30862
  type: mediaType,
30792
30863
  src,
30793
30864
  id: mediaId,
30794
- duration: loopDisplay?.durationInFrames ?? duration,
30795
- from: loopDisplay ? loopIteration * loopDisplay.durationInFrames : 0,
30796
- parent: loopDisplay ? sequenceId : parentSequence?.id ?? null,
30865
+ duration,
30866
+ from: 0,
30867
+ parent: parentSequence?.id ?? null,
30797
30868
  displayName: finalDisplayName,
30798
30869
  rootId,
30799
30870
  volume: volumes,
@@ -30801,17 +30872,14 @@ var useMediaInTimeline2 = ({
30801
30872
  nonce: nonce.get(),
30802
30873
  startMediaFrom: 0 - startsAt + (trimBefore ?? 0),
30803
30874
  doesVolumeChange,
30804
- loopDisplay: undefined,
30875
+ loopDisplay,
30805
30876
  playbackRate,
30806
30877
  stack,
30807
- premountDisplay: null,
30808
- postmountDisplay: null,
30878
+ premountDisplay,
30879
+ postmountDisplay,
30809
30880
  controls: controls ?? null
30810
30881
  });
30811
30882
  return () => {
30812
- if (loopDisplay) {
30813
- unregisterSequence(sequenceId);
30814
- }
30815
30883
  unregisterSequence(mediaId);
30816
30884
  };
30817
30885
  }, [
@@ -30830,14 +30898,12 @@ var useMediaInTimeline2 = ({
30830
30898
  premountDisplay,
30831
30899
  registerSequence,
30832
30900
  rootId,
30833
- sequenceId,
30834
30901
  showInTimeline,
30835
30902
  src,
30836
30903
  stack,
30837
30904
  startsAt,
30838
30905
  unregisterSequence,
30839
30906
  volumes,
30840
- frame,
30841
30907
  trimBefore
30842
30908
  ]);
30843
30909
  return {
@@ -31005,7 +31071,7 @@ var AudioForPreviewAssertedShowing = ({
31005
31071
  fps: videoConfig.fps,
31006
31072
  canvas: null,
31007
31073
  playbackRate: initialPlaybackRate.current,
31008
- audioStreamIndex: audioStreamIndex ?? 0,
31074
+ audioStreamIndex: audioStreamIndex ?? null,
31009
31075
  debugOverlay: false,
31010
31076
  bufferState: buffer,
31011
31077
  isPostmounting: initialIsPostmounting.current,
@@ -31015,7 +31081,8 @@ var AudioForPreviewAssertedShowing = ({
31015
31081
  onVideoFrameCallback: null,
31016
31082
  playing: initialPlaying.current,
31017
31083
  sequenceOffset: initialSequenceOffset.current,
31018
- credentials
31084
+ credentials,
31085
+ tagType: "audio"
31019
31086
  });
31020
31087
  mediaPlayerRef.current = player;
31021
31088
  player.initialize(currentTimeRef.current, initialMuted.current).then((result) => {
@@ -31181,7 +31248,7 @@ var AudioForPreview2 = ({
31181
31248
  return null;
31182
31249
  }
31183
31250
  return /* @__PURE__ */ jsx57(AudioForPreviewAssertedShowing, {
31184
- audioStreamIndex: audioStreamIndex ?? 0,
31251
+ audioStreamIndex,
31185
31252
  src: preloadedSrc,
31186
31253
  playbackRate,
31187
31254
  logLevel: logLevel ?? defaultLogLevel,
@@ -32318,6 +32385,12 @@ var getSinks = async (src, credentials) => {
32318
32385
  if (!videoTrack) {
32319
32386
  return "no-video-track";
32320
32387
  }
32388
+ if (await videoTrack.isLive()) {
32389
+ throw new Error("Live streams are not currently supported by Remotion. Sorry! Source: " + src);
32390
+ }
32391
+ if (await videoTrack.isRelativeToUnixEpoch()) {
32392
+ throw new Error("Streams with UNIX timestamps are not currently supported by Remotion. Sorry! Source: " + src);
32393
+ }
32321
32394
  const canDecode = await videoTrack.canDecode();
32322
32395
  if (!canDecode) {
32323
32396
  return "cannot-decode";
@@ -32351,8 +32424,8 @@ var getSinks = async (src, credentials) => {
32351
32424
  if (format === "network-error") {
32352
32425
  return "network-error";
32353
32426
  }
32354
- const audioTracks = await input.getAudioTracks();
32355
- const audioTrack = audioTracks[index2];
32427
+ const videoTrack = await input.getPrimaryVideoTrack();
32428
+ const audioTrack = videoTrack === null ? (await input.getAudioTracks())[index2 ?? 0] : await (index2 === null ? videoTrack?.getPrimaryPairableAudioTrack() : (await input.getAudioTracks())[index2] ?? null);
32356
32429
  if (!audioTrack) {
32357
32430
  return "no-audio-track";
32358
32431
  }
@@ -32365,11 +32438,12 @@ var getSinks = async (src, credentials) => {
32365
32438
  };
32366
32439
  };
32367
32440
  const getAudioSinksPromise = (index2) => {
32368
- if (audioSinksPromise[index2]) {
32369
- return audioSinksPromise[index2];
32441
+ const keyIndex = index2 === null ? -1 : index2;
32442
+ if (audioSinksPromise[keyIndex]) {
32443
+ return audioSinksPromise[keyIndex];
32370
32444
  }
32371
- audioSinksPromise[index2] = getAudioSinks(index2);
32372
- return audioSinksPromise[index2];
32445
+ audioSinksPromise[keyIndex] = getAudioSinks(index2);
32446
+ return audioSinksPromise[keyIndex];
32373
32447
  };
32374
32448
  return {
32375
32449
  getVideo: () => getVideoSinksPromise(),
@@ -32377,7 +32451,7 @@ var getSinks = async (src, credentials) => {
32377
32451
  actualMatroskaTimestamps: rememberActualMatroskaTimestamps(isMatroska),
32378
32452
  isMatroska,
32379
32453
  getDuration: () => {
32380
- return input.computeDuration();
32454
+ return getDurationOrCompute(input);
32381
32455
  }
32382
32456
  };
32383
32457
  };
@@ -33055,7 +33129,7 @@ var AudioForRendering2 = ({
33055
33129
  includeVideo: false,
33056
33130
  isClientSideRendering: environment.isClientSideRendering,
33057
33131
  loop: loop ?? false,
33058
- audioStreamIndex: audioStreamIndex ?? 0,
33132
+ audioStreamIndex: audioStreamIndex ?? null,
33059
33133
  trimAfter,
33060
33134
  trimBefore,
33061
33135
  fps,
@@ -33463,7 +33537,8 @@ var VideoForPreviewAssertedShowing = ({
33463
33537
  onVideoFrameCallback: initialOnVideoFrameRef.current ?? null,
33464
33538
  playing: initialPlaying.current,
33465
33539
  sequenceOffset: initialSequenceOffset.current,
33466
- credentials
33540
+ credentials,
33541
+ tagType: "video"
33467
33542
  });
33468
33543
  mediaPlayerRef.current = player;
33469
33544
  player.initialize(currentTimeRef.current, initialMuted.current).then((result) => {
@@ -35486,7 +35561,7 @@ import {
35486
35561
  import { BufferTarget, StreamTarget } from "mediabunny";
35487
35562
 
35488
35563
  // ../core/dist/esm/version.mjs
35489
- var VERSION2 = "4.0.452";
35564
+ var VERSION2 = "4.0.454";
35490
35565
 
35491
35566
  // ../web-renderer/dist/esm/index.mjs
35492
35567
  import { AudioSample, VideoSample } from "mediabunny";
@@ -38559,6 +38634,30 @@ function skipToNextNonDescendant(treeWalker) {
38559
38634
  }
38560
38635
  return false;
38561
38636
  }
38637
+ var getTextOverflowForLineHeight = (computedStyle) => {
38638
+ const { lineHeight } = computedStyle;
38639
+ const fontSize = parseFloat(computedStyle.fontSize);
38640
+ if (!fontSize || isNaN(fontSize)) {
38641
+ return { top: 0, bottom: 0 };
38642
+ }
38643
+ let lineHeightValue;
38644
+ if (lineHeight === "normal") {
38645
+ return { top: 0, bottom: 0 };
38646
+ }
38647
+ if (lineHeight.endsWith("px")) {
38648
+ lineHeightValue = parseFloat(lineHeight) / fontSize;
38649
+ } else {
38650
+ lineHeightValue = parseFloat(lineHeight);
38651
+ if (lineHeight.endsWith("%")) {
38652
+ lineHeightValue /= 100;
38653
+ }
38654
+ }
38655
+ if (isNaN(lineHeightValue) || lineHeightValue >= 1) {
38656
+ return { top: 0, bottom: 0 };
38657
+ }
38658
+ const overflow = (1 - lineHeightValue) * fontSize;
38659
+ return { top: overflow, bottom: overflow };
38660
+ };
38562
38661
  var getBiggestBoundingClientRect = (element) => {
38563
38662
  const treeWalker = document.createTreeWalker(element, NodeFilter.SHOW_ELEMENT);
38564
38663
  let mostLeft = Infinity;
@@ -38570,6 +38669,7 @@ var getBiggestBoundingClientRect = (element) => {
38570
38669
  const outlineWidth = parseOutlineWidth(computedStyle.outlineWidth);
38571
38670
  const outlineOffset = parseOutlineOffset(computedStyle.outlineOffset);
38572
38671
  const rect = treeWalker.currentNode.getBoundingClientRect();
38672
+ const textOverflow = getTextOverflowForLineHeight(computedStyle);
38573
38673
  const shadows = parseBoxShadow(computedStyle.boxShadow);
38574
38674
  let shadowLeft = 0;
38575
38675
  let shadowRight = 0;
@@ -38584,9 +38684,9 @@ var getBiggestBoundingClientRect = (element) => {
38584
38684
  }
38585
38685
  }
38586
38686
  mostLeft = Math.min(mostLeft, rect.left - outlineOffset - outlineWidth - shadowLeft);
38587
- mostTop = Math.min(mostTop, rect.top - outlineOffset - outlineWidth - shadowTop);
38687
+ mostTop = Math.min(mostTop, rect.top - outlineOffset - outlineWidth - shadowTop - textOverflow.top);
38588
38688
  mostRight = Math.max(mostRight, rect.right + outlineOffset + outlineWidth + shadowRight);
38589
- mostBottom = Math.max(mostBottom, rect.bottom + outlineOffset + outlineWidth + shadowBottom);
38689
+ mostBottom = Math.max(mostBottom, rect.bottom + outlineOffset + outlineWidth + shadowBottom + textOverflow.bottom);
38590
38690
  if (computedStyle.overflow === "hidden") {
38591
38691
  if (!skipToNextNonDescendant(treeWalker)) {
38592
38692
  break;
@@ -42334,6 +42434,7 @@ var listOfRemotionPackages = [
42334
42434
  "@remotion/motion-blur",
42335
42435
  "@remotion/noise",
42336
42436
  "@remotion/paths",
42437
+ "@remotion/player-a11y",
42337
42438
  "@remotion/player-example",
42338
42439
  "@remotion/player",
42339
42440
  "@remotion/preload",
package/dist/design.js CHANGED
@@ -6993,7 +6993,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
6993
6993
  var addSequenceStackTraces = (component) => {
6994
6994
  componentsToAddStacksTo.push(component);
6995
6995
  };
6996
- var VERSION = "4.0.452";
6996
+ var VERSION = "4.0.454";
6997
6997
  var checkMultipleRemotionVersions = () => {
6998
6998
  if (typeof globalThis === "undefined") {
6999
6999
  return;
package/dist/experts.js CHANGED
@@ -2043,7 +2043,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
2043
2043
  var addSequenceStackTraces = (component) => {
2044
2044
  componentsToAddStacksTo.push(component);
2045
2045
  };
2046
- var VERSION = "4.0.452";
2046
+ var VERSION = "4.0.454";
2047
2047
  var checkMultipleRemotionVersions = () => {
2048
2048
  if (typeof globalThis === "undefined") {
2049
2049
  return;
@@ -6993,7 +6993,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
6993
6993
  var addSequenceStackTraces = (component) => {
6994
6994
  componentsToAddStacksTo.push(component);
6995
6995
  };
6996
- var VERSION = "4.0.452";
6996
+ var VERSION = "4.0.454";
6997
6997
  var checkMultipleRemotionVersions = () => {
6998
6998
  if (typeof globalThis === "undefined") {
6999
6999
  return;
@@ -6993,7 +6993,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
6993
6993
  var addSequenceStackTraces = (component) => {
6994
6994
  componentsToAddStacksTo.push(component);
6995
6995
  };
6996
- var VERSION = "4.0.452";
6996
+ var VERSION = "4.0.454";
6997
6997
  var checkMultipleRemotionVersions = () => {
6998
6998
  if (typeof globalThis === "undefined") {
6999
6999
  return;
@@ -24327,7 +24327,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
24327
24327
  var addSequenceStackTraces = (component) => {
24328
24328
  componentsToAddStacksTo.push(component);
24329
24329
  };
24330
- var VERSION = "4.0.452";
24330
+ var VERSION = "4.0.454";
24331
24331
  var checkMultipleRemotionVersions = () => {
24332
24332
  if (typeof globalThis === "undefined") {
24333
24333
  return;
@@ -24327,7 +24327,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
24327
24327
  var addSequenceStackTraces = (component) => {
24328
24328
  componentsToAddStacksTo.push(component);
24329
24329
  };
24330
- var VERSION = "4.0.452";
24330
+ var VERSION = "4.0.454";
24331
24331
  var checkMultipleRemotionVersions = () => {
24332
24332
  if (typeof globalThis === "undefined") {
24333
24333
  return;