@remotion/promo-pages 4.0.435 → 4.0.436

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 (282) hide show
  1. package/dist/Homepage.js +34 -21
  2. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/Homepage.js +34 -21
  3. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/design.js +1 -1
  4. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/experts.js +1 -1
  5. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/homepage/Pricing.js +1 -1
  6. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/PromptsGallery.js +1 -1
  7. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/PromptsShow.js +1 -1
  8. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/PromptsSubmit.js +1 -1
  9. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/template-modal-content.js +1 -1
  10. package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/templates.js +2 -2
  11. package/dist/design.js +1 -1
  12. package/dist/experts.js +1 -1
  13. package/dist/homepage/Pricing.js +1 -1
  14. package/dist/prompts/PromptsGallery.js +1 -1
  15. package/dist/prompts/PromptsShow.js +1 -1
  16. package/dist/prompts/PromptsSubmit.js +1 -1
  17. package/dist/template-modal-content.js +1 -1
  18. package/dist/templates.js +2 -2
  19. package/package.json +13 -13
  20. package/dist/cn.d.ts +0 -2
  21. package/dist/cn.js +0 -5
  22. package/dist/components/3DEngine/ButtonDemo.d.ts +0 -2
  23. package/dist/components/3DEngine/ButtonDemo.js +0 -43
  24. package/dist/components/3DEngine/Faces.d.ts +0 -5
  25. package/dist/components/3DEngine/Faces.js +0 -7
  26. package/dist/components/3DEngine/Outer.d.ts +0 -8
  27. package/dist/components/3DEngine/Outer.js +0 -56
  28. package/dist/components/3DEngine/Switch.d.ts +0 -4
  29. package/dist/components/3DEngine/Switch.js +0 -4
  30. package/dist/components/3DEngine/get-child-node-from.d.ts +0 -1
  31. package/dist/components/3DEngine/get-child-node-from.js +0 -14
  32. package/dist/components/3DEngine/hover-transforms.d.ts +0 -9
  33. package/dist/components/3DEngine/hover-transforms.js +0 -177
  34. package/dist/components/BackButton.d.ts +0 -6
  35. package/dist/components/BackButton.js +0 -9
  36. package/dist/components/CommandCopyButton.d.ts +0 -5
  37. package/dist/components/CommandCopyButton.js +0 -4
  38. package/dist/components/Homepage.d.ts +0 -6
  39. package/dist/components/Homepage.js +0 -20
  40. package/dist/components/ManageTeamMembers.d.ts +0 -2
  41. package/dist/components/ManageTeamMembers.js +0 -42
  42. package/dist/components/Spinner.d.ts +0 -3
  43. package/dist/components/Spinner.js +0 -4
  44. package/dist/components/TeamPicture.d.ts +0 -1
  45. package/dist/components/TeamPicture.js +0 -4
  46. package/dist/components/design.d.ts +0 -1
  47. package/dist/components/design.js +0 -33
  48. package/dist/components/experts/ExpertsPage.d.ts +0 -11
  49. package/dist/components/experts/ExpertsPage.js +0 -50
  50. package/dist/components/experts/experts-data.d.ts +0 -15
  51. package/dist/components/experts/experts-data.js +0 -263
  52. package/dist/components/experts/experts-icons.d.ts +0 -7
  53. package/dist/components/experts/experts-icons.js +0 -36
  54. package/dist/components/experts.d.ts +0 -3
  55. package/dist/components/experts.js +0 -2
  56. package/dist/components/homepage/BackgroundAnimation.d.ts +0 -2
  57. package/dist/components/homepage/BackgroundAnimation.js +0 -66
  58. package/dist/components/homepage/ChooseTemplate.d.ts +0 -2
  59. package/dist/components/homepage/ChooseTemplate.js +0 -25
  60. package/dist/components/homepage/CommunityStats.d.ts +0 -3
  61. package/dist/components/homepage/CommunityStats.js +0 -6
  62. package/dist/components/homepage/CommunityStatsItems.d.ts +0 -7
  63. package/dist/components/homepage/CommunityStatsItems.js +0 -58
  64. package/dist/components/homepage/Demo/Card.d.ts +0 -15
  65. package/dist/components/homepage/Demo/Card.js +0 -174
  66. package/dist/components/homepage/Demo/Cards.d.ts +0 -15
  67. package/dist/components/homepage/Demo/Cards.js +0 -57
  68. package/dist/components/homepage/Demo/Comp.d.ts +0 -38
  69. package/dist/components/homepage/Demo/Comp.js +0 -72
  70. package/dist/components/homepage/Demo/CurrentCountry.d.ts +0 -9
  71. package/dist/components/homepage/Demo/CurrentCountry.js +0 -48
  72. package/dist/components/homepage/Demo/DemoError.d.ts +0 -2
  73. package/dist/components/homepage/Demo/DemoError.js +0 -10
  74. package/dist/components/homepage/Demo/DemoErrorIcon.d.ts +0 -2
  75. package/dist/components/homepage/Demo/DemoErrorIcon.js +0 -16
  76. package/dist/components/homepage/Demo/DemoRender.d.ts +0 -33
  77. package/dist/components/homepage/Demo/DemoRender.js +0 -107
  78. package/dist/components/homepage/Demo/DigitWheel.d.ts +0 -9
  79. package/dist/components/homepage/Demo/DigitWheel.js +0 -94
  80. package/dist/components/homepage/Demo/DisplayedEmoji.d.ts +0 -5
  81. package/dist/components/homepage/Demo/DisplayedEmoji.js +0 -59
  82. package/dist/components/homepage/Demo/DoneCheckmark.d.ts +0 -2
  83. package/dist/components/homepage/Demo/DoneCheckmark.js +0 -20
  84. package/dist/components/homepage/Demo/DownloadNudge.d.ts +0 -2
  85. package/dist/components/homepage/Demo/DownloadNudge.js +0 -27
  86. package/dist/components/homepage/Demo/DragAndDropNudge.d.ts +0 -3
  87. package/dist/components/homepage/Demo/DragAndDropNudge.js +0 -26
  88. package/dist/components/homepage/Demo/EmojiCard.d.ts +0 -10
  89. package/dist/components/homepage/Demo/EmojiCard.js +0 -120
  90. package/dist/components/homepage/Demo/Minus.d.ts +0 -5
  91. package/dist/components/homepage/Demo/Minus.js +0 -11
  92. package/dist/components/homepage/Demo/PlayPauseButton.d.ts +0 -5
  93. package/dist/components/homepage/Demo/PlayPauseButton.js +0 -47
  94. package/dist/components/homepage/Demo/PlayerControls.d.ts +0 -8
  95. package/dist/components/homepage/Demo/PlayerControls.js +0 -15
  96. package/dist/components/homepage/Demo/PlayerSeekBar.d.ts +0 -11
  97. package/dist/components/homepage/Demo/PlayerSeekBar.js +0 -216
  98. package/dist/components/homepage/Demo/PlayerVolume.d.ts +0 -5
  99. package/dist/components/homepage/Demo/PlayerVolume.js +0 -53
  100. package/dist/components/homepage/Demo/Progress.d.ts +0 -4
  101. package/dist/components/homepage/Demo/Progress.js +0 -14
  102. package/dist/components/homepage/Demo/Spinner.d.ts +0 -5
  103. package/dist/components/homepage/Demo/Spinner.js +0 -37
  104. package/dist/components/homepage/Demo/Switcher.d.ts +0 -6
  105. package/dist/components/homepage/Demo/Switcher.js +0 -25
  106. package/dist/components/homepage/Demo/Temperature.d.ts +0 -6
  107. package/dist/components/homepage/Demo/Temperature.js +0 -21
  108. package/dist/components/homepage/Demo/TemperatureNumber.d.ts +0 -5
  109. package/dist/components/homepage/Demo/TemperatureNumber.js +0 -36
  110. package/dist/components/homepage/Demo/ThemeNudge.d.ts +0 -3
  111. package/dist/components/homepage/Demo/ThemeNudge.js +0 -35
  112. package/dist/components/homepage/Demo/TimeDisplay.d.ts +0 -6
  113. package/dist/components/homepage/Demo/TimeDisplay.js +0 -27
  114. package/dist/components/homepage/Demo/TrendingRepos.d.ts +0 -6
  115. package/dist/components/homepage/Demo/TrendingRepos.js +0 -65
  116. package/dist/components/homepage/Demo/icons.d.ts +0 -10
  117. package/dist/components/homepage/Demo/icons.js +0 -22
  118. package/dist/components/homepage/Demo/index.d.ts +0 -2
  119. package/dist/components/homepage/Demo/index.js +0 -95
  120. package/dist/components/homepage/Demo/math.d.ts +0 -10
  121. package/dist/components/homepage/Demo/math.js +0 -29
  122. package/dist/components/homepage/Demo/types.d.ts +0 -6
  123. package/dist/components/homepage/Demo/types.js +0 -0
  124. package/dist/components/homepage/EditorStarterSection.d.ts +0 -3
  125. package/dist/components/homepage/EditorStarterSection.js +0 -8
  126. package/dist/components/homepage/EvaluateRemotion.d.ts +0 -3
  127. package/dist/components/homepage/EvaluateRemotion.js +0 -21
  128. package/dist/components/homepage/FreePricing.d.ts +0 -4
  129. package/dist/components/homepage/FreePricing.js +0 -134
  130. package/dist/components/homepage/GetStartedStrip.d.ts +0 -2
  131. package/dist/components/homepage/GetStartedStrip.js +0 -14
  132. package/dist/components/homepage/GitHubButton.d.ts +0 -2
  133. package/dist/components/homepage/GitHubButton.js +0 -7
  134. package/dist/components/homepage/IconForTemplate.d.ts +0 -6
  135. package/dist/components/homepage/IconForTemplate.js +0 -101
  136. package/dist/components/homepage/IfYouKnowReact.d.ts +0 -3
  137. package/dist/components/homepage/IfYouKnowReact.js +0 -23
  138. package/dist/components/homepage/InfoTooltip.d.ts +0 -6
  139. package/dist/components/homepage/InfoTooltip.js +0 -6
  140. package/dist/components/homepage/MoreTemplatesButton.d.ts +0 -2
  141. package/dist/components/homepage/MoreTemplatesButton.js +0 -11
  142. package/dist/components/homepage/MuxVideo.d.ts +0 -7
  143. package/dist/components/homepage/MuxVideo.js +0 -45
  144. package/dist/components/homepage/NewsletterButton.d.ts +0 -2
  145. package/dist/components/homepage/NewsletterButton.js +0 -38
  146. package/dist/components/homepage/ParameterizeAndEdit.d.ts +0 -2
  147. package/dist/components/homepage/ParameterizeAndEdit.js +0 -22
  148. package/dist/components/homepage/Pricing.d.ts +0 -2
  149. package/dist/components/homepage/Pricing.js +0 -15
  150. package/dist/components/homepage/PricingBulletPoint.d.ts +0 -6
  151. package/dist/components/homepage/PricingBulletPoint.js +0 -19
  152. package/dist/components/homepage/RealMp4Videos.d.ts +0 -2
  153. package/dist/components/homepage/RealMp4Videos.js +0 -41
  154. package/dist/components/homepage/Spacer.d.ts +0 -2
  155. package/dist/components/homepage/Spacer.js +0 -4
  156. package/dist/components/homepage/TemplateIcon.d.ts +0 -5
  157. package/dist/components/homepage/TemplateIcon.js +0 -24
  158. package/dist/components/homepage/TextInput.d.ts +0 -7
  159. package/dist/components/homepage/TextInput.js +0 -34
  160. package/dist/components/homepage/TrustedByBanner.d.ts +0 -2
  161. package/dist/components/homepage/TrustedByBanner.js +0 -27
  162. package/dist/components/homepage/VideoApps.d.ts +0 -4
  163. package/dist/components/homepage/VideoApps.js +0 -72
  164. package/dist/components/homepage/VideoAppsShowcase.d.ts +0 -3
  165. package/dist/components/homepage/VideoAppsShowcase.js +0 -139
  166. package/dist/components/homepage/VideoAppsTitle.d.ts +0 -4
  167. package/dist/components/homepage/VideoAppsTitle.js +0 -4
  168. package/dist/components/homepage/VideoPlayerWithControls.d.ts +0 -20
  169. package/dist/components/homepage/VideoPlayerWithControls.js +0 -105
  170. package/dist/components/homepage/WriteInReact.d.ts +0 -2
  171. package/dist/components/homepage/WriteInReact.js +0 -10
  172. package/dist/components/homepage/YouAreHere.d.ts +0 -2
  173. package/dist/components/homepage/YouAreHere.js +0 -23
  174. package/dist/components/homepage/layout/Button.d.ts +0 -22
  175. package/dist/components/homepage/layout/Button.js +0 -30
  176. package/dist/components/homepage/layout/colors.d.ts +0 -13
  177. package/dist/components/homepage/layout/colors.js +0 -14
  178. package/dist/components/homepage/layout/use-color-mode.d.ts +0 -21
  179. package/dist/components/homepage/layout/use-color-mode.js +0 -22
  180. package/dist/components/homepage/layout/use-el-size.d.ts +0 -5
  181. package/dist/components/homepage/layout/use-el-size.js +0 -40
  182. package/dist/components/homepage/layout/use-mobile-layout.d.ts +0 -1
  183. package/dist/components/homepage/layout/use-mobile-layout.js +0 -6
  184. package/dist/components/icons/blank.d.ts +0 -3
  185. package/dist/components/icons/blank.js +0 -4
  186. package/dist/components/icons/brain.d.ts +0 -2
  187. package/dist/components/icons/brain.js +0 -4
  188. package/dist/components/icons/clone.d.ts +0 -2
  189. package/dist/components/icons/clone.js +0 -2
  190. package/dist/components/icons/code-hike.d.ts +0 -3
  191. package/dist/components/icons/code-hike.js +0 -4
  192. package/dist/components/icons/cubes.d.ts +0 -3
  193. package/dist/components/icons/cubes.js +0 -4
  194. package/dist/components/icons/editor.d.ts +0 -3
  195. package/dist/components/icons/editor.js +0 -4
  196. package/dist/components/icons/js.d.ts +0 -3
  197. package/dist/components/icons/js.js +0 -4
  198. package/dist/components/icons/music.d.ts +0 -2
  199. package/dist/components/icons/music.js +0 -4
  200. package/dist/components/icons/next.d.ts +0 -4
  201. package/dist/components/icons/next.js +0 -4
  202. package/dist/components/icons/overlay.d.ts +0 -3
  203. package/dist/components/icons/overlay.js +0 -4
  204. package/dist/components/icons/prompt-to-video.d.ts +0 -2
  205. package/dist/components/icons/prompt-to-video.js +0 -4
  206. package/dist/components/icons/recorder.d.ts +0 -3
  207. package/dist/components/icons/recorder.js +0 -4
  208. package/dist/components/icons/remix.d.ts +0 -3
  209. package/dist/components/icons/remix.js +0 -4
  210. package/dist/components/icons/render-server.d.ts +0 -3
  211. package/dist/components/icons/render-server.js +0 -4
  212. package/dist/components/icons/skia.d.ts +0 -3
  213. package/dist/components/icons/skia.js +0 -4
  214. package/dist/components/icons/stargazer.d.ts +0 -3
  215. package/dist/components/icons/stargazer.js +0 -4
  216. package/dist/components/icons/still.d.ts +0 -3
  217. package/dist/components/icons/still.js +0 -4
  218. package/dist/components/icons/tailwind.d.ts +0 -3
  219. package/dist/components/icons/tailwind.js +0 -4
  220. package/dist/components/icons/tiktok.d.ts +0 -3
  221. package/dist/components/icons/tiktok.js +0 -4
  222. package/dist/components/icons/timeline.d.ts +0 -3
  223. package/dist/components/icons/timeline.js +0 -4
  224. package/dist/components/icons/ts.d.ts +0 -3
  225. package/dist/components/icons/ts.js +0 -4
  226. package/dist/components/icons/undo.d.ts +0 -3
  227. package/dist/components/icons/undo.js +0 -2
  228. package/dist/components/icons/vercel.d.ts +0 -4
  229. package/dist/components/icons/vercel.js +0 -4
  230. package/dist/components/icons/waveform.d.ts +0 -3
  231. package/dist/components/icons/waveform.js +0 -4
  232. package/dist/components/prompts/CardLikeButton.d.ts +0 -5
  233. package/dist/components/prompts/CardLikeButton.js +0 -49
  234. package/dist/components/prompts/ClipboardIcon.d.ts +0 -5
  235. package/dist/components/prompts/ClipboardIcon.js +0 -4
  236. package/dist/components/prompts/CopyPromptButton.d.ts +0 -4
  237. package/dist/components/prompts/CopyPromptButton.js +0 -13
  238. package/dist/components/prompts/LikeButton.d.ts +0 -5
  239. package/dist/components/prompts/LikeButton.js +0 -49
  240. package/dist/components/prompts/MuxPlayer.d.ts +0 -8
  241. package/dist/components/prompts/MuxPlayer.js +0 -21
  242. package/dist/components/prompts/NewBackButton.d.ts +0 -5
  243. package/dist/components/prompts/NewBackButton.js +0 -8
  244. package/dist/components/prompts/Page.d.ts +0 -8
  245. package/dist/components/prompts/Page.js +0 -7
  246. package/dist/components/prompts/PromptsGallery.d.ts +0 -7
  247. package/dist/components/prompts/PromptsGallery.js +0 -60
  248. package/dist/components/prompts/PromptsShow.d.ts +0 -5
  249. package/dist/components/prompts/PromptsShow.js +0 -17
  250. package/dist/components/prompts/PromptsSubmit.d.ts +0 -2
  251. package/dist/components/prompts/PromptsSubmit.js +0 -173
  252. package/dist/components/prompts/config.d.ts +0 -1
  253. package/dist/components/prompts/config.js +0 -1
  254. package/dist/components/prompts/prompt-helpers.d.ts +0 -8
  255. package/dist/components/prompts/prompt-helpers.js +0 -76
  256. package/dist/components/prompts/prompt-types.d.ts +0 -14
  257. package/dist/components/prompts/prompt-types.js +0 -0
  258. package/dist/components/prompts/use-heart-animation.d.ts +0 -5
  259. package/dist/components/prompts/use-heart-animation.js +0 -29
  260. package/dist/components/team/TeamCards.d.ts +0 -6
  261. package/dist/components/team/TeamCards.js +0 -19
  262. package/dist/components/team/TitleTeamCards.d.ts +0 -2
  263. package/dist/components/team/TitleTeamCards.js +0 -6
  264. package/dist/components/team.d.ts +0 -3
  265. package/dist/components/team.js +0 -14
  266. package/dist/components/template-modal-content.d.ts +0 -5
  267. package/dist/components/template-modal-content.js +0 -73
  268. package/dist/components/templates.d.ts +0 -2
  269. package/dist/components/templates.js +0 -27
  270. package/dist/helpers/mobile-layout.d.ts +0 -1
  271. package/dist/helpers/mobile-layout.js +0 -6
  272. package/dist/helpers/use-el-size.d.ts +0 -5
  273. package/dist/helpers/use-el-size.js +0 -40
  274. package/dist/main.d.ts +0 -1
  275. package/dist/main.js +0 -6
  276. package/dist/prompts-show.d.ts +0 -1
  277. package/dist/prompts-show.js +0 -20
  278. package/dist/prompts-submit.d.ts +0 -1
  279. package/dist/prompts-submit.js +0 -6
  280. package/dist/prompts.d.ts +0 -1
  281. package/dist/prompts.js +0 -6
  282. package/dist/team.d.ts +0 -1
package/dist/Homepage.js CHANGED
@@ -1003,7 +1003,7 @@ var useIsPlayer = () => {
1003
1003
  function truthy(value) {
1004
1004
  return Boolean(value);
1005
1005
  }
1006
- var VERSION = "4.0.435";
1006
+ var VERSION = "4.0.436";
1007
1007
  var checkMultipleRemotionVersions = () => {
1008
1008
  if (typeof globalThis === "undefined") {
1009
1009
  return;
@@ -28459,7 +28459,12 @@ var setGlobalTimeAnchor = ({
28459
28459
  }
28460
28460
  audioSyncAnchor.value = newAnchor;
28461
28461
  };
28462
- var makeAudioIterator = (startFromSecond, maximumTimestamp, cache2, debugAudioScheduling) => {
28462
+ var makeAudioIterator = ({
28463
+ startFromSecond,
28464
+ maximumTimestamp,
28465
+ cache: cache2,
28466
+ debugAudioScheduling
28467
+ }) => {
28463
28468
  let destroyed = false;
28464
28469
  const iterator = cache2.makeIteratorOrUsePrewarmed(startFromSecond, maximumTimestamp);
28465
28470
  const queuedAudioNodes = [];
@@ -28469,15 +28474,15 @@ var makeAudioIterator = (startFromSecond, maximumTimestamp, cache2, debugAudioSc
28469
28474
  const cleanupAudioQueue = (audioContext) => {
28470
28475
  for (const node of queuedAudioNodes) {
28471
28476
  try {
28472
- const currentlyHearing = audioContext.getOutputTimestamp().contextTime;
28473
- const nodeEndTime = node.scheduledTime + node.buffer.duration / node.playbackRate;
28474
- const isAlreadyPlaying = node.scheduledTime - ALLOWED_GLOBAL_TIME_ANCHOR_SHIFT < audioContext.currentTime;
28475
- const shouldKeep = isAlreadyPlaying;
28476
- if (shouldKeep) {
28477
+ const isAlreadyPlaying = node.scheduledTime - ALLOWED_GLOBAL_TIME_ANCHOR_SHIFT < audioContext.audioContext.currentTime;
28478
+ const wasScheduledForThisAnchor = node.scheduledAtAnchor === audioContext.audioSyncAnchor.value;
28479
+ if (isAlreadyPlaying && wasScheduledForThisAnchor) {
28477
28480
  continue;
28478
28481
  }
28479
28482
  if (debugAudioScheduling) {
28480
- Internals.Log.info({ logLevel: "trace", tag: "audio-scheduling" }, `Stopping node ${node.timestamp.toFixed(3)}, currently hearing = ${currentlyHearing.toFixed(3)} currentTime = ${audioContext.currentTime.toFixed(3)} nodeEndTime = ${nodeEndTime.toFixed(3)} scheduledTime = ${node.scheduledTime.toFixed(3)}`);
28483
+ const currentlyHearing = audioContext.audioContext.getOutputTimestamp().contextTime;
28484
+ const nodeEndTime = node.scheduledTime + node.buffer.duration / node.playbackRate;
28485
+ Internals.Log.info({ logLevel: "trace", tag: "audio-scheduling" }, `Stopping node ${node.timestamp.toFixed(3)}, currently hearing = ${currentlyHearing.toFixed(3)} currentTime = ${audioContext.audioContext.currentTime.toFixed(3)} nodeEndTime = ${nodeEndTime.toFixed(3)} scheduledTime = ${node.scheduledTime.toFixed(3)}`);
28481
28486
  }
28482
28487
  node.node.stop();
28483
28488
  } catch {}
@@ -28638,14 +28643,16 @@ var makeAudioIterator = (startFromSecond, maximumTimestamp, cache2, debugAudioSc
28638
28643
  timestamp,
28639
28644
  buffer,
28640
28645
  scheduledTime,
28641
- playbackRate
28646
+ playbackRate,
28647
+ scheduledAtAnchor
28642
28648
  }) => {
28643
28649
  queuedAudioNodes.push({
28644
28650
  node,
28645
28651
  timestamp,
28646
28652
  buffer,
28647
28653
  scheduledTime,
28648
- playbackRate
28654
+ playbackRate,
28655
+ scheduledAtAnchor
28649
28656
  });
28650
28657
  },
28651
28658
  removeQueuedAudioNode: (node) => {
@@ -28884,8 +28891,8 @@ var audioIteratorManager = ({
28884
28891
  }) => {
28885
28892
  let muted = initialMuted;
28886
28893
  let currentVolume = 1;
28887
- const gainNode = sharedAudioContext.createGain();
28888
- gainNode.connect(sharedAudioContext.destination);
28894
+ const gainNode = sharedAudioContext.audioContext.createGain();
28895
+ gainNode.connect(sharedAudioContext.audioContext.destination);
28889
28896
  const audioSink = new AudioBufferSink(audioTrack);
28890
28897
  const prewarmedAudioIteratorCache = makePrewarmedAudioIteratorCache(audioSink);
28891
28898
  let audioBufferIterator = null;
@@ -28901,13 +28908,13 @@ var audioIteratorManager = ({
28901
28908
  if (!audioBufferIterator) {
28902
28909
  throw new Error("Audio buffer iterator not found");
28903
28910
  }
28904
- if (sharedAudioContext.state !== "running") {
28911
+ if (sharedAudioContext.audioContext.state !== "running") {
28905
28912
  throw new Error("Tried to schedule node while audio context is not running");
28906
28913
  }
28907
28914
  if (muted) {
28908
28915
  return;
28909
28916
  }
28910
- const node = sharedAudioContext.createBufferSource();
28917
+ const node = sharedAudioContext.audioContext.createBufferSource();
28911
28918
  node.buffer = buffer;
28912
28919
  node.playbackRate.value = playbackRate;
28913
28920
  node.connect(gainNode);
@@ -28925,7 +28932,8 @@ var audioIteratorManager = ({
28925
28932
  timestamp: mediaTimestamp,
28926
28933
  buffer,
28927
28934
  scheduledTime: started.scheduledTime,
28928
- playbackRate
28935
+ playbackRate,
28936
+ scheduledAtAnchor: sharedAudioContext.audioSyncAnchor.value
28929
28937
  });
28930
28938
  node.onended = () => {
28931
28939
  setTimeout(() => {
@@ -28972,7 +28980,7 @@ var audioIteratorManager = ({
28972
28980
  if (buffer.timestamp >= endTime) {
28973
28981
  return;
28974
28982
  }
28975
- if (getIsPlaying() && sharedAudioContext.state === "running" && (sharedAudioContext.getOutputTimestamp().contextTime ?? 0) > 0) {
28983
+ if (getIsPlaying() && sharedAudioContext.audioContext.state === "running" && (sharedAudioContext.audioContext.getOutputTimestamp().contextTime ?? 0) > 0) {
28976
28984
  resumeScheduledAudioChunks({
28977
28985
  playbackRate,
28978
28986
  scheduleAudioNode,
@@ -29012,7 +29020,12 @@ var audioIteratorManager = ({
29012
29020
  audioBufferIterator?.destroy(sharedAudioContext);
29013
29021
  const delayHandle = __using(__stack, delayPlaybackHandleIfNotPremounting(), 0);
29014
29022
  currentDelayHandle = delayHandle;
29015
- const iterator = makeAudioIterator(startFromSecond, getEndTime(), prewarmedAudioIteratorCache, debugAudioScheduling);
29023
+ const iterator = makeAudioIterator({
29024
+ startFromSecond,
29025
+ maximumTimestamp: getEndTime(),
29026
+ cache: prewarmedAudioIteratorCache,
29027
+ debugAudioScheduling
29028
+ });
29016
29029
  audioIteratorsCreated++;
29017
29030
  audioBufferIterator = iterator;
29018
29031
  try {
@@ -29096,7 +29109,7 @@ var audioIteratorManager = ({
29096
29109
  }
29097
29110
  const queuedPeriod = audioBufferIterator.getQueuedPeriod();
29098
29111
  const queuedPeriodMinusLatency = queuedPeriod ? {
29099
- from: queuedPeriod.from - ALLOWED_GLOBAL_TIME_ANCHOR_SHIFT - sharedAudioContext.baseLatency - sharedAudioContext.outputLatency,
29112
+ from: queuedPeriod.from - ALLOWED_GLOBAL_TIME_ANCHOR_SHIFT - sharedAudioContext.audioContext.baseLatency - sharedAudioContext.audioContext.outputLatency,
29100
29113
  until: queuedPeriod.until
29101
29114
  } : null;
29102
29115
  const currentTimeIsAlreadyQueued = isAlreadyQueued(newTime, queuedPeriodMinusLatency);
@@ -29659,7 +29672,7 @@ class MediaPlayer {
29659
29672
  this.audioIteratorManager = audioIteratorManager({
29660
29673
  audioTrack,
29661
29674
  delayPlaybackHandleIfNotPremounting: this.delayPlaybackHandleIfNotPremounting,
29662
- sharedAudioContext: this.sharedAudioContext.audioContext,
29675
+ sharedAudioContext: this.sharedAudioContext,
29663
29676
  getIsLooping: () => this.loop,
29664
29677
  getEndTime: () => this.getEndTime(),
29665
29678
  getStartTime: () => this.getStartTime(),
@@ -34772,7 +34785,7 @@ import {
34772
34785
  import { BufferTarget, StreamTarget } from "mediabunny";
34773
34786
 
34774
34787
  // ../core/dist/esm/version.mjs
34775
- var VERSION2 = "4.0.435";
34788
+ var VERSION2 = "4.0.436";
34776
34789
 
34777
34790
  // ../web-renderer/dist/esm/index.mjs
34778
34791
  import { AudioSample, VideoSample } from "mediabunny";
@@ -41376,7 +41389,7 @@ var FEATURED_TEMPLATES = [
41376
41389
  shortName: "Prompt to Motion Graphics SaaS Starter Kit",
41377
41390
  org: "remotion-dev",
41378
41391
  repoName: "template-prompt-to-motion-graphics-saas",
41379
- description: "SaaS template for AI-powered code generation with Remotion",
41392
+ description: "SaaS template for AI-powered animation generation",
41380
41393
  longerDescription: 'A SaaS template for "Prompt to Motion Graphics" products. Generates Remotion code, streams it to the frontend, and compiles and previews it in the browser. See the <a href="/docs/ai/ai-saas-template">documentation page</a> for more details.',
41381
41394
  promoBanner: {
41382
41395
  width: 2880,
@@ -1003,7 +1003,7 @@ var useIsPlayer = () => {
1003
1003
  function truthy(value) {
1004
1004
  return Boolean(value);
1005
1005
  }
1006
- var VERSION = "4.0.435";
1006
+ var VERSION = "4.0.436";
1007
1007
  var checkMultipleRemotionVersions = () => {
1008
1008
  if (typeof globalThis === "undefined") {
1009
1009
  return;
@@ -28459,7 +28459,12 @@ var setGlobalTimeAnchor = ({
28459
28459
  }
28460
28460
  audioSyncAnchor.value = newAnchor;
28461
28461
  };
28462
- var makeAudioIterator = (startFromSecond, maximumTimestamp, cache2, debugAudioScheduling) => {
28462
+ var makeAudioIterator = ({
28463
+ startFromSecond,
28464
+ maximumTimestamp,
28465
+ cache: cache2,
28466
+ debugAudioScheduling
28467
+ }) => {
28463
28468
  let destroyed = false;
28464
28469
  const iterator = cache2.makeIteratorOrUsePrewarmed(startFromSecond, maximumTimestamp);
28465
28470
  const queuedAudioNodes = [];
@@ -28469,15 +28474,15 @@ var makeAudioIterator = (startFromSecond, maximumTimestamp, cache2, debugAudioSc
28469
28474
  const cleanupAudioQueue = (audioContext) => {
28470
28475
  for (const node of queuedAudioNodes) {
28471
28476
  try {
28472
- const currentlyHearing = audioContext.getOutputTimestamp().contextTime;
28473
- const nodeEndTime = node.scheduledTime + node.buffer.duration / node.playbackRate;
28474
- const isAlreadyPlaying = node.scheduledTime - ALLOWED_GLOBAL_TIME_ANCHOR_SHIFT < audioContext.currentTime;
28475
- const shouldKeep = isAlreadyPlaying;
28476
- if (shouldKeep) {
28477
+ const isAlreadyPlaying = node.scheduledTime - ALLOWED_GLOBAL_TIME_ANCHOR_SHIFT < audioContext.audioContext.currentTime;
28478
+ const wasScheduledForThisAnchor = node.scheduledAtAnchor === audioContext.audioSyncAnchor.value;
28479
+ if (isAlreadyPlaying && wasScheduledForThisAnchor) {
28477
28480
  continue;
28478
28481
  }
28479
28482
  if (debugAudioScheduling) {
28480
- Internals.Log.info({ logLevel: "trace", tag: "audio-scheduling" }, `Stopping node ${node.timestamp.toFixed(3)}, currently hearing = ${currentlyHearing.toFixed(3)} currentTime = ${audioContext.currentTime.toFixed(3)} nodeEndTime = ${nodeEndTime.toFixed(3)} scheduledTime = ${node.scheduledTime.toFixed(3)}`);
28483
+ const currentlyHearing = audioContext.audioContext.getOutputTimestamp().contextTime;
28484
+ const nodeEndTime = node.scheduledTime + node.buffer.duration / node.playbackRate;
28485
+ Internals.Log.info({ logLevel: "trace", tag: "audio-scheduling" }, `Stopping node ${node.timestamp.toFixed(3)}, currently hearing = ${currentlyHearing.toFixed(3)} currentTime = ${audioContext.audioContext.currentTime.toFixed(3)} nodeEndTime = ${nodeEndTime.toFixed(3)} scheduledTime = ${node.scheduledTime.toFixed(3)}`);
28481
28486
  }
28482
28487
  node.node.stop();
28483
28488
  } catch {}
@@ -28638,14 +28643,16 @@ var makeAudioIterator = (startFromSecond, maximumTimestamp, cache2, debugAudioSc
28638
28643
  timestamp,
28639
28644
  buffer,
28640
28645
  scheduledTime,
28641
- playbackRate
28646
+ playbackRate,
28647
+ scheduledAtAnchor
28642
28648
  }) => {
28643
28649
  queuedAudioNodes.push({
28644
28650
  node,
28645
28651
  timestamp,
28646
28652
  buffer,
28647
28653
  scheduledTime,
28648
- playbackRate
28654
+ playbackRate,
28655
+ scheduledAtAnchor
28649
28656
  });
28650
28657
  },
28651
28658
  removeQueuedAudioNode: (node) => {
@@ -28884,8 +28891,8 @@ var audioIteratorManager = ({
28884
28891
  }) => {
28885
28892
  let muted = initialMuted;
28886
28893
  let currentVolume = 1;
28887
- const gainNode = sharedAudioContext.createGain();
28888
- gainNode.connect(sharedAudioContext.destination);
28894
+ const gainNode = sharedAudioContext.audioContext.createGain();
28895
+ gainNode.connect(sharedAudioContext.audioContext.destination);
28889
28896
  const audioSink = new AudioBufferSink(audioTrack);
28890
28897
  const prewarmedAudioIteratorCache = makePrewarmedAudioIteratorCache(audioSink);
28891
28898
  let audioBufferIterator = null;
@@ -28901,13 +28908,13 @@ var audioIteratorManager = ({
28901
28908
  if (!audioBufferIterator) {
28902
28909
  throw new Error("Audio buffer iterator not found");
28903
28910
  }
28904
- if (sharedAudioContext.state !== "running") {
28911
+ if (sharedAudioContext.audioContext.state !== "running") {
28905
28912
  throw new Error("Tried to schedule node while audio context is not running");
28906
28913
  }
28907
28914
  if (muted) {
28908
28915
  return;
28909
28916
  }
28910
- const node = sharedAudioContext.createBufferSource();
28917
+ const node = sharedAudioContext.audioContext.createBufferSource();
28911
28918
  node.buffer = buffer;
28912
28919
  node.playbackRate.value = playbackRate;
28913
28920
  node.connect(gainNode);
@@ -28925,7 +28932,8 @@ var audioIteratorManager = ({
28925
28932
  timestamp: mediaTimestamp,
28926
28933
  buffer,
28927
28934
  scheduledTime: started.scheduledTime,
28928
- playbackRate
28935
+ playbackRate,
28936
+ scheduledAtAnchor: sharedAudioContext.audioSyncAnchor.value
28929
28937
  });
28930
28938
  node.onended = () => {
28931
28939
  setTimeout(() => {
@@ -28972,7 +28980,7 @@ var audioIteratorManager = ({
28972
28980
  if (buffer.timestamp >= endTime) {
28973
28981
  return;
28974
28982
  }
28975
- if (getIsPlaying() && sharedAudioContext.state === "running" && (sharedAudioContext.getOutputTimestamp().contextTime ?? 0) > 0) {
28983
+ if (getIsPlaying() && sharedAudioContext.audioContext.state === "running" && (sharedAudioContext.audioContext.getOutputTimestamp().contextTime ?? 0) > 0) {
28976
28984
  resumeScheduledAudioChunks({
28977
28985
  playbackRate,
28978
28986
  scheduleAudioNode,
@@ -29012,7 +29020,12 @@ var audioIteratorManager = ({
29012
29020
  audioBufferIterator?.destroy(sharedAudioContext);
29013
29021
  const delayHandle = __using(__stack, delayPlaybackHandleIfNotPremounting(), 0);
29014
29022
  currentDelayHandle = delayHandle;
29015
- const iterator = makeAudioIterator(startFromSecond, getEndTime(), prewarmedAudioIteratorCache, debugAudioScheduling);
29023
+ const iterator = makeAudioIterator({
29024
+ startFromSecond,
29025
+ maximumTimestamp: getEndTime(),
29026
+ cache: prewarmedAudioIteratorCache,
29027
+ debugAudioScheduling
29028
+ });
29016
29029
  audioIteratorsCreated++;
29017
29030
  audioBufferIterator = iterator;
29018
29031
  try {
@@ -29096,7 +29109,7 @@ var audioIteratorManager = ({
29096
29109
  }
29097
29110
  const queuedPeriod = audioBufferIterator.getQueuedPeriod();
29098
29111
  const queuedPeriodMinusLatency = queuedPeriod ? {
29099
- from: queuedPeriod.from - ALLOWED_GLOBAL_TIME_ANCHOR_SHIFT - sharedAudioContext.baseLatency - sharedAudioContext.outputLatency,
29112
+ from: queuedPeriod.from - ALLOWED_GLOBAL_TIME_ANCHOR_SHIFT - sharedAudioContext.audioContext.baseLatency - sharedAudioContext.audioContext.outputLatency,
29100
29113
  until: queuedPeriod.until
29101
29114
  } : null;
29102
29115
  const currentTimeIsAlreadyQueued = isAlreadyQueued(newTime, queuedPeriodMinusLatency);
@@ -29659,7 +29672,7 @@ class MediaPlayer {
29659
29672
  this.audioIteratorManager = audioIteratorManager({
29660
29673
  audioTrack,
29661
29674
  delayPlaybackHandleIfNotPremounting: this.delayPlaybackHandleIfNotPremounting,
29662
- sharedAudioContext: this.sharedAudioContext.audioContext,
29675
+ sharedAudioContext: this.sharedAudioContext,
29663
29676
  getIsLooping: () => this.loop,
29664
29677
  getEndTime: () => this.getEndTime(),
29665
29678
  getStartTime: () => this.getStartTime(),
@@ -34772,7 +34785,7 @@ import {
34772
34785
  import { BufferTarget, StreamTarget } from "mediabunny";
34773
34786
 
34774
34787
  // ../core/dist/esm/version.mjs
34775
- var VERSION2 = "4.0.435";
34788
+ var VERSION2 = "4.0.436";
34776
34789
 
34777
34790
  // ../web-renderer/dist/esm/index.mjs
34778
34791
  import { AudioSample, VideoSample } from "mediabunny";
@@ -41376,7 +41389,7 @@ var FEATURED_TEMPLATES = [
41376
41389
  shortName: "Prompt to Motion Graphics SaaS Starter Kit",
41377
41390
  org: "remotion-dev",
41378
41391
  repoName: "template-prompt-to-motion-graphics-saas",
41379
- description: "SaaS template for AI-powered code generation with Remotion",
41392
+ description: "SaaS template for AI-powered animation generation",
41380
41393
  longerDescription: 'A SaaS template for "Prompt to Motion Graphics" products. Generates Remotion code, streams it to the frontend, and compiles and previews it in the browser. See the <a href="/docs/ai/ai-saas-template">documentation page</a> for more details.',
41381
41394
  promoBanner: {
41382
41395
  width: 2880,
@@ -5977,7 +5977,7 @@ var useIsPlayer = () => {
5977
5977
  function truthy2(value) {
5978
5978
  return Boolean(value);
5979
5979
  }
5980
- var VERSION = "4.0.435";
5980
+ var VERSION = "4.0.436";
5981
5981
  var checkMultipleRemotionVersions = () => {
5982
5982
  if (typeof globalThis === "undefined") {
5983
5983
  return;
@@ -1003,7 +1003,7 @@ var useIsPlayer = () => {
1003
1003
  function truthy(value) {
1004
1004
  return Boolean(value);
1005
1005
  }
1006
- var VERSION = "4.0.435";
1006
+ var VERSION = "4.0.436";
1007
1007
  var checkMultipleRemotionVersions = () => {
1008
1008
  if (typeof globalThis === "undefined") {
1009
1009
  return;
@@ -5977,7 +5977,7 @@ var useIsPlayer = () => {
5977
5977
  function truthy2(value) {
5978
5978
  return Boolean(value);
5979
5979
  }
5980
- var VERSION = "4.0.435";
5980
+ var VERSION = "4.0.436";
5981
5981
  var checkMultipleRemotionVersions = () => {
5982
5982
  if (typeof globalThis === "undefined") {
5983
5983
  return;
@@ -5977,7 +5977,7 @@ var useIsPlayer = () => {
5977
5977
  function truthy2(value) {
5978
5978
  return Boolean(value);
5979
5979
  }
5980
- var VERSION = "4.0.435";
5980
+ var VERSION = "4.0.436";
5981
5981
  var checkMultipleRemotionVersions = () => {
5982
5982
  if (typeof globalThis === "undefined") {
5983
5983
  return;
@@ -23311,7 +23311,7 @@ var useIsPlayer = () => {
23311
23311
  function truthy2(value) {
23312
23312
  return Boolean(value);
23313
23313
  }
23314
- var VERSION = "4.0.435";
23314
+ var VERSION = "4.0.436";
23315
23315
  var checkMultipleRemotionVersions = () => {
23316
23316
  if (typeof globalThis === "undefined") {
23317
23317
  return;
@@ -23311,7 +23311,7 @@ var useIsPlayer = () => {
23311
23311
  function truthy2(value) {
23312
23312
  return Boolean(value);
23313
23313
  }
23314
- var VERSION = "4.0.435";
23314
+ var VERSION = "4.0.436";
23315
23315
  var checkMultipleRemotionVersions = () => {
23316
23316
  if (typeof globalThis === "undefined") {
23317
23317
  return;
@@ -5977,7 +5977,7 @@ var useIsPlayer = () => {
5977
5977
  function truthy2(value) {
5978
5978
  return Boolean(value);
5979
5979
  }
5980
- var VERSION = "4.0.435";
5980
+ var VERSION = "4.0.436";
5981
5981
  var checkMultipleRemotionVersions = () => {
5982
5982
  if (typeof globalThis === "undefined") {
5983
5983
  return;
@@ -5977,7 +5977,7 @@ var useIsPlayer = () => {
5977
5977
  function truthy2(value) {
5978
5978
  return Boolean(value);
5979
5979
  }
5980
- var VERSION = "4.0.435";
5980
+ var VERSION = "4.0.436";
5981
5981
  var checkMultipleRemotionVersions = () => {
5982
5982
  if (typeof globalThis === "undefined") {
5983
5983
  return;
@@ -20164,7 +20164,7 @@ var FEATURED_TEMPLATES = [
20164
20164
  shortName: "Prompt to Motion Graphics SaaS Starter Kit",
20165
20165
  org: "remotion-dev",
20166
20166
  repoName: "template-prompt-to-motion-graphics-saas",
20167
- description: "SaaS template for AI-powered code generation with Remotion",
20167
+ description: "SaaS template for AI-powered animation generation",
20168
20168
  longerDescription: 'A SaaS template for "Prompt to Motion Graphics" products. Generates Remotion code, streams it to the frontend, and compiles and previews it in the browser. See the <a href="/docs/ai/ai-saas-template">documentation page</a> for more details.',
20169
20169
  promoBanner: {
20170
20170
  width: 2880,
package/dist/design.js CHANGED
@@ -5977,7 +5977,7 @@ var useIsPlayer = () => {
5977
5977
  function truthy2(value) {
5978
5978
  return Boolean(value);
5979
5979
  }
5980
- var VERSION = "4.0.435";
5980
+ var VERSION = "4.0.436";
5981
5981
  var checkMultipleRemotionVersions = () => {
5982
5982
  if (typeof globalThis === "undefined") {
5983
5983
  return;
package/dist/experts.js CHANGED
@@ -1003,7 +1003,7 @@ var useIsPlayer = () => {
1003
1003
  function truthy(value) {
1004
1004
  return Boolean(value);
1005
1005
  }
1006
- var VERSION = "4.0.435";
1006
+ var VERSION = "4.0.436";
1007
1007
  var checkMultipleRemotionVersions = () => {
1008
1008
  if (typeof globalThis === "undefined") {
1009
1009
  return;
@@ -5977,7 +5977,7 @@ var useIsPlayer = () => {
5977
5977
  function truthy2(value) {
5978
5978
  return Boolean(value);
5979
5979
  }
5980
- var VERSION = "4.0.435";
5980
+ var VERSION = "4.0.436";
5981
5981
  var checkMultipleRemotionVersions = () => {
5982
5982
  if (typeof globalThis === "undefined") {
5983
5983
  return;
@@ -5977,7 +5977,7 @@ var useIsPlayer = () => {
5977
5977
  function truthy2(value) {
5978
5978
  return Boolean(value);
5979
5979
  }
5980
- var VERSION = "4.0.435";
5980
+ var VERSION = "4.0.436";
5981
5981
  var checkMultipleRemotionVersions = () => {
5982
5982
  if (typeof globalThis === "undefined") {
5983
5983
  return;
@@ -23311,7 +23311,7 @@ var useIsPlayer = () => {
23311
23311
  function truthy2(value) {
23312
23312
  return Boolean(value);
23313
23313
  }
23314
- var VERSION = "4.0.435";
23314
+ var VERSION = "4.0.436";
23315
23315
  var checkMultipleRemotionVersions = () => {
23316
23316
  if (typeof globalThis === "undefined") {
23317
23317
  return;
@@ -23311,7 +23311,7 @@ var useIsPlayer = () => {
23311
23311
  function truthy2(value) {
23312
23312
  return Boolean(value);
23313
23313
  }
23314
- var VERSION = "4.0.435";
23314
+ var VERSION = "4.0.436";
23315
23315
  var checkMultipleRemotionVersions = () => {
23316
23316
  if (typeof globalThis === "undefined") {
23317
23317
  return;
@@ -5977,7 +5977,7 @@ var useIsPlayer = () => {
5977
5977
  function truthy2(value) {
5978
5978
  return Boolean(value);
5979
5979
  }
5980
- var VERSION = "4.0.435";
5980
+ var VERSION = "4.0.436";
5981
5981
  var checkMultipleRemotionVersions = () => {
5982
5982
  if (typeof globalThis === "undefined") {
5983
5983
  return;
package/dist/templates.js CHANGED
@@ -5977,7 +5977,7 @@ var useIsPlayer = () => {
5977
5977
  function truthy2(value) {
5978
5978
  return Boolean(value);
5979
5979
  }
5980
- var VERSION = "4.0.435";
5980
+ var VERSION = "4.0.436";
5981
5981
  var checkMultipleRemotionVersions = () => {
5982
5982
  if (typeof globalThis === "undefined") {
5983
5983
  return;
@@ -20164,7 +20164,7 @@ var FEATURED_TEMPLATES = [
20164
20164
  shortName: "Prompt to Motion Graphics SaaS Starter Kit",
20165
20165
  org: "remotion-dev",
20166
20166
  repoName: "template-prompt-to-motion-graphics-saas",
20167
- description: "SaaS template for AI-powered code generation with Remotion",
20167
+ description: "SaaS template for AI-powered animation generation",
20168
20168
  longerDescription: 'A SaaS template for "Prompt to Motion Graphics" products. Generates Remotion code, streams it to the frontend, and compiles and previews it in the browser. See the <a href="/docs/ai/ai-saas-template">documentation page</a> for more details.',
20169
20169
  promoBanner: {
20170
20170
  width: 2880,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/promo-pages",
3
- "version": "4.0.435",
3
+ "version": "4.0.436",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -11,19 +11,19 @@
11
11
  },
12
12
  "type": "module",
13
13
  "dependencies": {
14
- "@remotion/animated-emoji": "4.0.435",
15
- "@remotion/design": "4.0.435",
16
- "@remotion/web-renderer": "4.0.435",
17
- "@remotion/lottie": "4.0.435",
18
- "@remotion/paths": "4.0.435",
19
- "@remotion/player": "4.0.435",
20
- "@remotion/shapes": "4.0.435",
21
- "@remotion/media": "4.0.435",
22
- "@remotion/svg-3d-engine": "4.0.435",
23
- "create-video": "4.0.435",
14
+ "@remotion/animated-emoji": "4.0.436",
15
+ "@remotion/design": "4.0.436",
16
+ "@remotion/web-renderer": "4.0.436",
17
+ "@remotion/lottie": "4.0.436",
18
+ "@remotion/paths": "4.0.436",
19
+ "@remotion/player": "4.0.436",
20
+ "@remotion/shapes": "4.0.436",
21
+ "@remotion/media": "4.0.436",
22
+ "@remotion/svg-3d-engine": "4.0.436",
23
+ "create-video": "4.0.436",
24
24
  "hls.js": "1.5.19",
25
25
  "polished": "4.3.1",
26
- "remotion": "4.0.435",
26
+ "remotion": "4.0.436",
27
27
  "zod": "4.3.6",
28
28
  "@mux/upchunk": "^3.5.0",
29
29
  "@vidstack/react": "1.12.13",
@@ -34,7 +34,7 @@
34
34
  "@mediabunny/mp3-encoder": "1.37.0"
35
35
  },
36
36
  "devDependencies": {
37
- "@remotion/eslint-config-internal": "4.0.435",
37
+ "@remotion/eslint-config-internal": "4.0.436",
38
38
  "@eslint/eslintrc": "3.1.0",
39
39
  "@types/react": "19.2.7",
40
40
  "@types/react-dom": "19.2.3",
package/dist/cn.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import { type ClassValue } from 'clsx';
2
- export declare function cn(...inputs: ClassValue[]): string;
package/dist/cn.js DELETED
@@ -1,5 +0,0 @@
1
- import { clsx } from 'clsx';
2
- import { twMerge } from 'tailwind-merge';
3
- export function cn(...inputs) {
4
- return twMerge(clsx(inputs));
5
- }
@@ -1,2 +0,0 @@
1
- import React from 'react';
2
- export declare const Button3D: React.FC<React.ButtonHTMLAttributes<HTMLButtonElement>>;
@@ -1,43 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useCallback, useRef, useState } from 'react';
3
- import { cn } from '../../cn';
4
- import { useHoverTransforms } from './hover-transforms';
5
- import { Outer } from './Outer';
6
- export const Button3D = ({ children, className, disabled, ...buttonProps }) => {
7
- const [dimensions, setDimensions] = useState(null);
8
- const ref = useRef(null);
9
- const { isActive, progress } = useHoverTransforms(ref, Boolean(disabled));
10
- const onPointerEnter = useCallback((e) => {
11
- if (e.pointerType !== 'mouse') {
12
- return;
13
- }
14
- setDimensions((prevDim) => {
15
- if (prevDim) {
16
- return prevDim;
17
- }
18
- if (!ref.current) {
19
- throw new Error('Ref is not set');
20
- }
21
- const { childNodes } = ref.current;
22
- if (childNodes.length === 0) {
23
- throw new Error('No child nodes');
24
- }
25
- const childNode = childNodes[0];
26
- if (!childNode) {
27
- throw new Error('No child node');
28
- }
29
- const rect = childNode.getBoundingClientRect();
30
- const { borderRadius } = getComputedStyle(childNode);
31
- const cornerRadius = borderRadius.includes('e+0')
32
- ? Infinity
33
- : parseInt(borderRadius !== null && borderRadius !== void 0 ? borderRadius : '0', 10);
34
- return {
35
- width: rect.width,
36
- height: rect.height,
37
- borderRadius: Math.min(cornerRadius, rect.width / 2, rect.height / 2),
38
- };
39
- });
40
- }, []);
41
- const content = (_jsx("button", { type: "button", disabled: disabled, className: cn('text-black', 'flex', 'justify-center', 'bg-white', 'items-center', 'font-brand', 'border-solid', 'text-[1em]', 'rounded-md', 'border-black', 'border-2', 'border-b-4', 'cursor-pointer', 'px-4', 'py-3', 'disabled:cursor-default', 'disabled:border-gray-500', 'disabled:text-gray-500', 'transition-colors', className), ...buttonProps, children: children }));
42
- return (_jsx("div", { ref: ref, className: "contents", onPointerEnter: onPointerEnter, children: dimensions && (isActive || progress > 0) ? (_jsx(Outer, { parentRef: ref, width: dimensions.width, height: dimensions.height, cornerRadius: dimensions.borderRadius, hoverTransform: progress, children: content })) : (content) }));
43
- };
@@ -1,5 +0,0 @@
1
- import type { FaceType } from '@remotion/svg-3d-engine';
2
- import React from 'react';
3
- export declare const Faces: React.FC<{
4
- readonly elements: FaceType[];
5
- }>;
@@ -1,7 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { threeDIntoSvgPath } from '@remotion/svg-3d-engine';
3
- export const Faces = ({ elements, ...svgProps }) => {
4
- return (_jsx(_Fragment, { children: elements.map(({ points, color, crispEdges }, idx) => {
5
- return (_jsx("path", { d: threeDIntoSvgPath(points), fill: color, shapeRendering: crispEdges ? 'crispEdges' : undefined, ...svgProps }, idx));
6
- }) }));
7
- };
@@ -1,8 +0,0 @@
1
- export declare const Outer: React.FC<{
2
- children: React.ReactNode;
3
- width: number;
4
- height: number;
5
- cornerRadius: number;
6
- hoverTransform: number;
7
- parentRef: React.RefObject<HTMLDivElement | null>;
8
- }>;