@remotion/promo-pages 4.0.391 → 4.0.392

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.
package/dist/Homepage.js CHANGED
@@ -755,7 +755,7 @@ var __defProp2, __export2 = (target, all) => {
755
755
  });
756
756
  }, useIsPlayer = () => {
757
757
  return useContext(IsPlayerContext);
758
- }, VERSION = "4.0.391", checkMultipleRemotionVersions = () => {
758
+ }, VERSION = "4.0.392", checkMultipleRemotionVersions = () => {
759
759
  if (typeof globalThis === "undefined") {
760
760
  return;
761
761
  }
@@ -1582,9 +1582,6 @@ Check that all your Remotion packages are on the same version. If your dependenc
1582
1582
  }
1583
1583
  const unclamped = state.frame[videoConfig.id] ?? (env.isPlayer ? 0 : getFrameForComposition(videoConfig.id));
1584
1584
  return Math.min(videoConfig.durationInFrames - 1, unclamped);
1585
- }, useTimelineFrameRef = () => {
1586
- const { frameRef } = useContext6(TimelineContext);
1587
- return frameRef;
1588
1585
  }, useTimelineSetFrame = () => {
1589
1586
  const { setFrame } = useContext6(SetTimelineContext);
1590
1587
  return setFrame;
@@ -1769,7 +1766,6 @@ Check that all your Remotion packages are on the same version. If your dependenc
1769
1766
  const [remotionRootId] = useState5(() => String(random(null)));
1770
1767
  const [_frame, setFrame] = useState5(() => getInitialFrameState());
1771
1768
  const frame = frameState ?? _frame;
1772
- const frameRef = useRef2(0);
1773
1769
  const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
1774
1770
  if (typeof window !== "undefined") {
1775
1771
  useLayoutEffect(() => {
@@ -1805,8 +1801,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
1805
1801
  rootId: remotionRootId,
1806
1802
  playbackRate,
1807
1803
  setPlaybackRate,
1808
- audioAndVideoTags,
1809
- frameRef
1804
+ audioAndVideoTags
1810
1805
  };
1811
1806
  }, [frame, playbackRate, playing, remotionRootId]);
1812
1807
  const setTimelineContextValue = useMemo7(() => {
@@ -6800,7 +6795,6 @@ var init_esm = __esm(() => {
6800
6795
  __export2(exports_timeline_position_state, {
6801
6796
  useTimelineSetFrame: () => useTimelineSetFrame,
6802
6797
  useTimelinePosition: () => useTimelinePosition,
6803
- useTimelineFrameRef: () => useTimelineFrameRef,
6804
6798
  usePlayingState: () => usePlayingState,
6805
6799
  persistCurrentFrame: () => persistCurrentFrame,
6806
6800
  getInitialFrameState: () => getInitialFrameState,
@@ -6898,7 +6892,6 @@ var init_esm = __esm(() => {
6898
6892
  });
6899
6893
  TimelineContext = createContext10({
6900
6894
  frame: {},
6901
- frameRef: { current: 0 },
6902
6895
  playing: false,
6903
6896
  playbackRate: 1,
6904
6897
  rootId: "",
@@ -20541,12 +20534,12 @@ import React41 from "react";
20541
20534
  import { useContext as useContext210, useEffect as useEffect36, useState as useState35 } from "react";
20542
20535
  import { useContext as useContext40, useLayoutEffect as useLayoutEffect15 } from "react";
20543
20536
  import { jsx as jsx310 } from "react/jsx-runtime";
20544
- import { useCallback as useCallback27 } from "react";
20537
+ import { useCallback as useCallback27, useRef as useRef33 } from "react";
20545
20538
  import { useEffect as useEffect210, useState as useState210 } from "react";
20546
- import { useContext as useContext42, useEffect as useEffect52, useRef as useRef33 } from "react";
20539
+ import { useContext as useContext42, useEffect as useEffect52, useRef as useRef42 } from "react";
20547
20540
  import { useEffect as useEffect37 } from "react";
20548
- import { useCallback as useCallback28, useContext as useContext37, useMemo as useMemo42, useRef as useRef34, useState as useState36 } from "react";
20549
- import { useEffect as useEffect42, useRef as useRef24 } from "react";
20541
+ import { useCallback as useCallback28, useContext as useContext37, useMemo as useMemo42, useRef as useRef24, useState as useState36 } from "react";
20542
+ import { useEffect as useEffect42, useRef as useRef34 } from "react";
20550
20543
  import { useCallback as useCallback32, useEffect as useEffect62, useMemo as useMemo212, useState as useState42 } from "react";
20551
20544
  import {
20552
20545
  forwardRef as forwardRef26,
@@ -20554,7 +20547,7 @@ import {
20554
20547
  useImperativeHandle as useImperativeHandle22,
20555
20548
  useLayoutEffect as useLayoutEffect23,
20556
20549
  useMemo as useMemo142,
20557
- useRef as useRef102,
20550
+ useRef as useRef112,
20558
20551
  useState as useState132
20559
20552
  } from "react";
20560
20553
  import React102, {
@@ -20565,12 +20558,12 @@ import React102, {
20565
20558
  useEffect as useEffect122,
20566
20559
  useImperativeHandle as useImperativeHandle12,
20567
20560
  useMemo as useMemo122,
20568
- useRef as useRef92,
20561
+ useRef as useRef102,
20569
20562
  useState as useState113
20570
20563
  } from "react";
20571
- import { useCallback as useCallback82, useEffect as useEffect102, useMemo as useMemo92, useRef as useRef72, useState as useState102 } from "react";
20564
+ import { useCallback as useCallback82, useEffect as useEffect102, useMemo as useMemo92, useRef as useRef82, useState as useState102 } from "react";
20572
20565
  import { jsx as jsx45 } from "react/jsx-runtime";
20573
- import { useCallback as useCallback52, useMemo as useMemo43, useRef as useRef42, useState as useState62 } from "react";
20566
+ import { useCallback as useCallback52, useMemo as useMemo43, useRef as useRef52, useState as useState62 } from "react";
20574
20567
  import React38, { useCallback as useCallback42, useMemo as useMemo34, useState as useState52 } from "react";
20575
20568
  import { jsx as jsx54, jsxs as jsxs33 } from "react/jsx-runtime";
20576
20569
  import { jsx as jsx64, jsxs as jsxs42 } from "react/jsx-runtime";
@@ -20581,9 +20574,9 @@ import {
20581
20574
  useMemo as useMemo52,
20582
20575
  useState as useState82
20583
20576
  } from "react";
20584
- import { useEffect as useEffect72, useRef as useRef52, useState as useState72 } from "react";
20577
+ import { useEffect as useEffect72, useRef as useRef62, useState as useState72 } from "react";
20585
20578
  import { jsx as jsx74, jsxs as jsxs52 } from "react/jsx-runtime";
20586
- import { useCallback as useCallback72, useEffect as useEffect92, useMemo as useMemo62, useRef as useRef62, useState as useState92 } from "react";
20579
+ import { useCallback as useCallback72, useEffect as useEffect92, useMemo as useMemo62, useRef as useRef72, useState as useState92 } from "react";
20587
20580
  import { jsx as jsx84, jsxs as jsxs62 } from "react/jsx-runtime";
20588
20581
  import { useMemo as useMemo72 } from "react";
20589
20582
  import { jsxs as jsxs7 } from "react/jsx-runtime";
@@ -20594,7 +20587,7 @@ import { jsx as jsx104 } from "react/jsx-runtime";
20594
20587
  import React92, { useEffect as useEffect112 } from "react";
20595
20588
  import { jsx as jsx113 } from "react/jsx-runtime";
20596
20589
  import { useCallback as useCallback102, useMemo as useMemo112 } from "react";
20597
- import { useCallback as useCallback92, useMemo as useMemo102, useRef as useRef82 } from "react";
20590
+ import { useCallback as useCallback92, useMemo as useMemo102, useRef as useRef92 } from "react";
20598
20591
  import { jsx as jsx123, jsxs as jsxs92, Fragment as Fragment32 } from "react/jsx-runtime";
20599
20592
  import { useCallback as useCallback122, useMemo as useMemo132, useState as useState122 } from "react";
20600
20593
  import { jsx as jsx133 } from "react/jsx-runtime";
@@ -21235,7 +21228,7 @@ import {
21235
21228
  useImperativeHandle as useImperativeHandle42,
21236
21229
  useLayoutEffect as useLayoutEffect33,
21237
21230
  useMemo as useMemo172,
21238
- useRef as useRef122,
21231
+ useRef as useRef132,
21239
21232
  useState as useState142
21240
21233
  } from "react";
21241
21234
  import React132, {
@@ -21244,7 +21237,7 @@ import React132, {
21244
21237
  useCallback as useCallback132,
21245
21238
  useImperativeHandle as useImperativeHandle32,
21246
21239
  useMemo as useMemo162,
21247
- useRef as useRef112
21240
+ useRef as useRef122
21248
21241
  } from "react";
21249
21242
  import { useContext as useContext72, useMemo as useMemo152 } from "react";
21250
21243
  import { jsx as jsx153 } from "react/jsx-runtime";
@@ -21762,12 +21755,12 @@ var usePlayer = () => {
21762
21755
  const [playing, setPlaying, imperativePlaying] = Internals.Timeline.usePlayingState();
21763
21756
  const [hasPlayed, setHasPlayed] = useState36(false);
21764
21757
  const frame = Internals.Timeline.useTimelinePosition();
21765
- const playStart = useRef34(frame);
21758
+ const playStart = useRef24(frame);
21766
21759
  const setFrame = Internals.Timeline.useTimelineSetFrame();
21767
21760
  const setTimelinePosition = Internals.Timeline.useTimelineSetFrame();
21768
21761
  const audioContext = useContext37(Internals.SharedAudioContext);
21769
21762
  const { audioAndVideoTags } = useContext37(Internals.TimelineContext);
21770
- const frameRef = Internals.Timeline.useTimelineFrameRef();
21763
+ const frameRef = useRef24(frame);
21771
21764
  frameRef.current = frame;
21772
21765
  const video = Internals.useVideo();
21773
21766
  const config = Internals.useUnsafeVideoConfig();
@@ -21783,16 +21776,13 @@ var usePlayer = () => {
21783
21776
  throw new Error("Missing the buffering context. Most likely you have a Remotion version mismatch.");
21784
21777
  }
21785
21778
  const { buffering } = bufferingContext;
21786
- const setFrameAndImperative = useCallback28((newFrame, videoIdToSet) => {
21787
- setTimelinePosition((c) => ({ ...c, [videoIdToSet]: newFrame }));
21788
- frameRef.current = newFrame;
21789
- }, [frameRef, setTimelinePosition]);
21790
21779
  const seek2 = useCallback28((newFrame) => {
21791
21780
  if (video?.id) {
21792
- setFrameAndImperative(newFrame, video.id);
21781
+ setTimelinePosition((c) => ({ ...c, [video.id]: newFrame }));
21793
21782
  }
21783
+ frameRef.current = newFrame;
21794
21784
  emitter.dispatchSeek(newFrame);
21795
- }, [emitter, setFrameAndImperative, video?.id]);
21785
+ }, [emitter, setTimelinePosition, video?.id]);
21796
21786
  const play = useCallback28((e) => {
21797
21787
  if (imperativePlaying.current) {
21798
21788
  return;
@@ -21817,8 +21807,7 @@ var usePlayer = () => {
21817
21807
  setPlaying,
21818
21808
  emitter,
21819
21809
  seek2,
21820
- audioAndVideoTags,
21821
- frameRef
21810
+ audioAndVideoTags
21822
21811
  ]);
21823
21812
  const pause = useCallback28(() => {
21824
21813
  if (imperativePlaying.current) {
@@ -21841,14 +21830,7 @@ var usePlayer = () => {
21841
21830
  emitter.dispatchPause();
21842
21831
  }
21843
21832
  }
21844
- }, [
21845
- config,
21846
- emitter,
21847
- imperativePlaying,
21848
- setPlaying,
21849
- setTimelinePosition,
21850
- frameRef
21851
- ]);
21833
+ }, [config, emitter, imperativePlaying, setPlaying, setTimelinePosition]);
21852
21834
  const videoId = video?.id;
21853
21835
  const frameBack = useCallback28((frames) => {
21854
21836
  if (!videoId) {
@@ -21906,15 +21888,12 @@ var usePlayer = () => {
21906
21888
  pause,
21907
21889
  seek: seek2,
21908
21890
  isFirstFrame,
21909
- getCurrentFrame: () => {
21910
- return frameRef.current;
21911
- },
21891
+ getCurrentFrame: () => frameRef.current,
21912
21892
  isPlaying: () => imperativePlaying.current,
21913
21893
  isBuffering: () => buffering.current,
21914
21894
  pauseAndReturnToPlayStart,
21915
21895
  hasPlayed,
21916
- toggle,
21917
- setFrameAndImperative
21896
+ toggle
21918
21897
  };
21919
21898
  }, [
21920
21899
  buffering,
@@ -21930,9 +21909,7 @@ var usePlayer = () => {
21930
21909
  play,
21931
21910
  playing,
21932
21911
  seek2,
21933
- toggle,
21934
- setFrameAndImperative,
21935
- frameRef
21912
+ toggle
21936
21913
  ]);
21937
21914
  return returnValue;
21938
21915
  };
@@ -22078,7 +22055,7 @@ var getIsBackgrounded = () => {
22078
22055
  return document.visibilityState === "hidden";
22079
22056
  };
22080
22057
  var useIsBackgrounded = () => {
22081
- const isBackgrounded = useRef24(getIsBackgrounded());
22058
+ const isBackgrounded = useRef34(getIsBackgrounded());
22082
22059
  useEffect42(() => {
22083
22060
  const onVisibilityChange = () => {
22084
22061
  isBackgrounded.current = getIsBackgrounded();
@@ -22101,9 +22078,10 @@ var usePlayback = ({
22101
22078
  }) => {
22102
22079
  const config = Internals.useUnsafeVideoConfig();
22103
22080
  const frame = Internals.Timeline.useTimelinePosition();
22104
- const { playing, pause, emitter, setFrameAndImperative } = usePlayer();
22081
+ const { playing, pause, emitter } = usePlayer();
22082
+ const setFrame = Internals.Timeline.useTimelineSetFrame();
22105
22083
  const isBackgroundedRef = useIsBackgrounded();
22106
- const lastTimeUpdateEvent = useRef33(null);
22084
+ const lastTimeUpdateEvent = useRef42(null);
22107
22085
  const context = useContext42(Internals.BufferingContextReact);
22108
22086
  if (!context) {
22109
22087
  throw new Error("Missing the buffering context. Most likely you have a Remotion version mismatch.");
@@ -22157,7 +22135,7 @@ var usePlayback = ({
22157
22135
  });
22158
22136
  framesAdvanced += framesToAdvance;
22159
22137
  if (nextFrame !== getCurrentFrame() && (!hasEnded || moveToBeginningWhenEnded)) {
22160
- setFrameAndImperative(nextFrame, config.id);
22138
+ setFrame((c) => ({ ...c, [config.id]: nextFrame }));
22161
22139
  }
22162
22140
  if (hasEnded) {
22163
22141
  stop();
@@ -22204,7 +22182,7 @@ var usePlayback = ({
22204
22182
  loop,
22205
22183
  pause,
22206
22184
  playing,
22207
- setFrameAndImperative,
22185
+ setFrame,
22208
22186
  emitter,
22209
22187
  playbackRate,
22210
22188
  inFrame,
@@ -22462,8 +22440,8 @@ var MediaVolumeSlider = ({ displayVerticalVolumeSlider, renderMuteButton, render
22462
22440
  const [mediaMuted, setMediaMuted] = Internals.useMediaMutedState();
22463
22441
  const [mediaVolume, setMediaVolume] = Internals.useMediaVolumeState();
22464
22442
  const [focused, setFocused] = useState62(false);
22465
- const parentDivRef = useRef42(null);
22466
- const inputRef = useRef42(null);
22443
+ const parentDivRef = useRef52(null);
22444
+ const inputRef = useRef52(null);
22467
22445
  const hover = useHoverState(parentDivRef, false);
22468
22446
  const onBlur = useCallback52(() => {
22469
22447
  setTimeout(() => {
@@ -22548,7 +22526,7 @@ var MediaVolumeSlider = ({ displayVerticalVolumeSlider, renderMuteButton, render
22548
22526
  };
22549
22527
  function useComponentVisible(initialIsVisible) {
22550
22528
  const [isComponentVisible, setIsComponentVisible] = useState72(initialIsVisible);
22551
- const ref = useRef52(null);
22529
+ const ref = useRef62(null);
22552
22530
  useEffect72(() => {
22553
22531
  const handleClickOutside = (event) => {
22554
22532
  if (ref.current && !ref.current.contains(event.target)) {
@@ -22798,7 +22776,7 @@ var findBodyInWhichDivIsLocated = (div) => {
22798
22776
  return current;
22799
22777
  };
22800
22778
  var PlayerSeekBar = ({ durationInFrames, onSeekEnd, onSeekStart, inFrame, outFrame }) => {
22801
- const containerRef = useRef62(null);
22779
+ const containerRef = useRef72(null);
22802
22780
  const barHovered = useHoverState(containerRef, false);
22803
22781
  const size4 = useElementSize(containerRef, {
22804
22782
  triggerOnWindowResize: true,
@@ -23074,7 +23052,7 @@ var Controls = ({
23074
23052
  playing,
23075
23053
  toggle
23076
23054
  }) => {
23077
- const playButtonRef = useRef72(null);
23055
+ const playButtonRef = useRef82(null);
23078
23056
  const [supportsFullscreen, setSupportsFullscreen] = useState102(false);
23079
23057
  const hovered = useHoverState(containerRef, hideControlsWhenPointerDoesntMove);
23080
23058
  const { maxTimeLabelWidth, displayVerticalVolumeSlider } = useVideoControlsResize({
@@ -23148,8 +23126,8 @@ var Controls = ({
23148
23126
  }
23149
23127
  return null;
23150
23128
  }, [showPlaybackRateControl]);
23151
- const ref = useRef72(null);
23152
- const flexRef = useRef72(null);
23129
+ const ref = useRef82(null);
23130
+ const flexRef = useRef82(null);
23153
23131
  const onPointerDownIfContainer = useCallback82((e) => {
23154
23132
  if (e.target === ref.current || e.target === flexRef.current) {
23155
23133
  onPointerDown?.(e);
@@ -23394,7 +23372,7 @@ var cancellablePromise = (promise) => {
23394
23372
  };
23395
23373
  var delay = (n) => new Promise((resolve) => setTimeout(resolve, n));
23396
23374
  var useCancellablePromises = () => {
23397
- const pendingPromises = useRef82([]);
23375
+ const pendingPromises = useRef92([]);
23398
23376
  const appendPendingPromise = useCallback92((promise) => {
23399
23377
  pendingPromises.current = [...pendingPromises.current, promise];
23400
23378
  }, []);
@@ -23498,7 +23476,7 @@ var PlayerUI = ({
23498
23476
  }, ref) => {
23499
23477
  const config = Internals.useUnsafeVideoConfig();
23500
23478
  const video = Internals.useVideo();
23501
- const container4 = useRef92(null);
23479
+ const container4 = useRef102(null);
23502
23480
  const canvasSize = useElementSize(container4, {
23503
23481
  triggerOnWindowResize: false,
23504
23482
  shouldApplyCssTransforms: false
@@ -23609,7 +23587,7 @@ var PlayerUI = ({
23609
23587
  });
23610
23588
  }, [canvasSize, config]);
23611
23589
  const scale = layout?.scale ?? 1;
23612
- const initialScaleIgnored = useRef92(false);
23590
+ const initialScaleIgnored = useRef102(false);
23613
23591
  useEffect122(() => {
23614
23592
  if (!initialScaleIgnored.current) {
23615
23593
  initialScaleIgnored.current = true;
@@ -24257,9 +24235,9 @@ var PlayerFn = ({
24257
24235
  }));
24258
24236
  const [playing, setPlaying] = useState132(false);
24259
24237
  const [rootId] = useState132("player-comp");
24260
- const rootRef = useRef102(null);
24261
- const audioAndVideoTags = useRef102([]);
24262
- const imperativePlaying = useRef102(false);
24238
+ const rootRef = useRef112(null);
24239
+ const audioAndVideoTags = useRef112([]);
24240
+ const imperativePlaying = useRef112(false);
24263
24241
  const [currentPlaybackRate, setCurrentPlaybackRate] = useState132(playbackRate);
24264
24242
  if (typeof compositionHeight !== "number") {
24265
24243
  throw new TypeError(`'compositionHeight' must be a number but got '${typeof compositionHeight}' instead`);
@@ -24323,7 +24301,6 @@ var PlayerFn = ({
24323
24301
  const timelineContextValue = useMemo142(() => {
24324
24302
  return {
24325
24303
  frame,
24326
- frameRef: { current: frame[PLAYER_COMP_ID] },
24327
24304
  playing,
24328
24305
  rootId,
24329
24306
  playbackRate: currentPlaybackRate,
@@ -24445,7 +24422,7 @@ var ThumbnailUI = ({
24445
24422
  }, ref) => {
24446
24423
  const config = Internals.useUnsafeVideoConfig();
24447
24424
  const video = Internals.useVideo();
24448
- const container4 = useRef112(null);
24425
+ const container4 = useRef122(null);
24449
24426
  const canvasSize = useElementSize(container4, {
24450
24427
  triggerOnWindowResize: false,
24451
24428
  shouldApplyCssTransforms: false
@@ -24571,10 +24548,9 @@ var ThumbnailFn = ({
24571
24548
  }, []);
24572
24549
  }
24573
24550
  const [thumbnailId] = useState142(() => String(random(null)));
24574
- const rootRef = useRef122(null);
24551
+ const rootRef = useRef132(null);
24575
24552
  const timelineState = useMemo172(() => {
24576
24553
  const value = {
24577
- frameRef: { current: frameToDisplay },
24578
24554
  playing: false,
24579
24555
  frame: {
24580
24556
  [PLAYER_COMP_ID]: frameToDisplay
@@ -25429,7 +25405,7 @@ import {
25429
25405
 
25430
25406
  // src/components/homepage/Demo/Card.tsx
25431
25407
  init_esm();
25432
- import { useCallback as useCallback31, useRef as useRef36 } from "react";
25408
+ import { useCallback as useCallback31, useRef as useRef35 } from "react";
25433
25409
 
25434
25410
  // src/components/homepage/Demo/math.ts
25435
25411
  var paddingAndMargin = 20;
@@ -25527,7 +25503,7 @@ var Card2 = ({
25527
25503
  onClickRight
25528
25504
  }) => {
25529
25505
  const refToUse = refsToUse[index2];
25530
- const stopPrevious = useRef36([]);
25506
+ const stopPrevious = useRef35([]);
25531
25507
  let newIndices = [...indices];
25532
25508
  const applyPositions = useCallback31((except) => {
25533
25509
  let stopped = false;
@@ -755,7 +755,7 @@ var __defProp2, __export2 = (target, all) => {
755
755
  });
756
756
  }, useIsPlayer = () => {
757
757
  return useContext(IsPlayerContext);
758
- }, VERSION = "4.0.391", checkMultipleRemotionVersions = () => {
758
+ }, VERSION = "4.0.392", checkMultipleRemotionVersions = () => {
759
759
  if (typeof globalThis === "undefined") {
760
760
  return;
761
761
  }
@@ -1582,9 +1582,6 @@ Check that all your Remotion packages are on the same version. If your dependenc
1582
1582
  }
1583
1583
  const unclamped = state.frame[videoConfig.id] ?? (env.isPlayer ? 0 : getFrameForComposition(videoConfig.id));
1584
1584
  return Math.min(videoConfig.durationInFrames - 1, unclamped);
1585
- }, useTimelineFrameRef = () => {
1586
- const { frameRef } = useContext6(TimelineContext);
1587
- return frameRef;
1588
1585
  }, useTimelineSetFrame = () => {
1589
1586
  const { setFrame } = useContext6(SetTimelineContext);
1590
1587
  return setFrame;
@@ -1769,7 +1766,6 @@ Check that all your Remotion packages are on the same version. If your dependenc
1769
1766
  const [remotionRootId] = useState5(() => String(random(null)));
1770
1767
  const [_frame, setFrame] = useState5(() => getInitialFrameState());
1771
1768
  const frame = frameState ?? _frame;
1772
- const frameRef = useRef2(0);
1773
1769
  const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
1774
1770
  if (typeof window !== "undefined") {
1775
1771
  useLayoutEffect(() => {
@@ -1805,8 +1801,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
1805
1801
  rootId: remotionRootId,
1806
1802
  playbackRate,
1807
1803
  setPlaybackRate,
1808
- audioAndVideoTags,
1809
- frameRef
1804
+ audioAndVideoTags
1810
1805
  };
1811
1806
  }, [frame, playbackRate, playing, remotionRootId]);
1812
1807
  const setTimelineContextValue = useMemo7(() => {
@@ -6800,7 +6795,6 @@ var init_esm = __esm(() => {
6800
6795
  __export2(exports_timeline_position_state, {
6801
6796
  useTimelineSetFrame: () => useTimelineSetFrame,
6802
6797
  useTimelinePosition: () => useTimelinePosition,
6803
- useTimelineFrameRef: () => useTimelineFrameRef,
6804
6798
  usePlayingState: () => usePlayingState,
6805
6799
  persistCurrentFrame: () => persistCurrentFrame,
6806
6800
  getInitialFrameState: () => getInitialFrameState,
@@ -6898,7 +6892,6 @@ var init_esm = __esm(() => {
6898
6892
  });
6899
6893
  TimelineContext = createContext10({
6900
6894
  frame: {},
6901
- frameRef: { current: 0 },
6902
6895
  playing: false,
6903
6896
  playbackRate: 1,
6904
6897
  rootId: "",
@@ -20541,12 +20534,12 @@ import React41 from "react";
20541
20534
  import { useContext as useContext210, useEffect as useEffect36, useState as useState35 } from "react";
20542
20535
  import { useContext as useContext40, useLayoutEffect as useLayoutEffect15 } from "react";
20543
20536
  import { jsx as jsx310 } from "react/jsx-runtime";
20544
- import { useCallback as useCallback27 } from "react";
20537
+ import { useCallback as useCallback27, useRef as useRef33 } from "react";
20545
20538
  import { useEffect as useEffect210, useState as useState210 } from "react";
20546
- import { useContext as useContext42, useEffect as useEffect52, useRef as useRef33 } from "react";
20539
+ import { useContext as useContext42, useEffect as useEffect52, useRef as useRef42 } from "react";
20547
20540
  import { useEffect as useEffect37 } from "react";
20548
- import { useCallback as useCallback28, useContext as useContext37, useMemo as useMemo42, useRef as useRef34, useState as useState36 } from "react";
20549
- import { useEffect as useEffect42, useRef as useRef24 } from "react";
20541
+ import { useCallback as useCallback28, useContext as useContext37, useMemo as useMemo42, useRef as useRef24, useState as useState36 } from "react";
20542
+ import { useEffect as useEffect42, useRef as useRef34 } from "react";
20550
20543
  import { useCallback as useCallback32, useEffect as useEffect62, useMemo as useMemo212, useState as useState42 } from "react";
20551
20544
  import {
20552
20545
  forwardRef as forwardRef26,
@@ -20554,7 +20547,7 @@ import {
20554
20547
  useImperativeHandle as useImperativeHandle22,
20555
20548
  useLayoutEffect as useLayoutEffect23,
20556
20549
  useMemo as useMemo142,
20557
- useRef as useRef102,
20550
+ useRef as useRef112,
20558
20551
  useState as useState132
20559
20552
  } from "react";
20560
20553
  import React102, {
@@ -20565,12 +20558,12 @@ import React102, {
20565
20558
  useEffect as useEffect122,
20566
20559
  useImperativeHandle as useImperativeHandle12,
20567
20560
  useMemo as useMemo122,
20568
- useRef as useRef92,
20561
+ useRef as useRef102,
20569
20562
  useState as useState113
20570
20563
  } from "react";
20571
- import { useCallback as useCallback82, useEffect as useEffect102, useMemo as useMemo92, useRef as useRef72, useState as useState102 } from "react";
20564
+ import { useCallback as useCallback82, useEffect as useEffect102, useMemo as useMemo92, useRef as useRef82, useState as useState102 } from "react";
20572
20565
  import { jsx as jsx45 } from "react/jsx-runtime";
20573
- import { useCallback as useCallback52, useMemo as useMemo43, useRef as useRef42, useState as useState62 } from "react";
20566
+ import { useCallback as useCallback52, useMemo as useMemo43, useRef as useRef52, useState as useState62 } from "react";
20574
20567
  import React38, { useCallback as useCallback42, useMemo as useMemo34, useState as useState52 } from "react";
20575
20568
  import { jsx as jsx54, jsxs as jsxs33 } from "react/jsx-runtime";
20576
20569
  import { jsx as jsx64, jsxs as jsxs42 } from "react/jsx-runtime";
@@ -20581,9 +20574,9 @@ import {
20581
20574
  useMemo as useMemo52,
20582
20575
  useState as useState82
20583
20576
  } from "react";
20584
- import { useEffect as useEffect72, useRef as useRef52, useState as useState72 } from "react";
20577
+ import { useEffect as useEffect72, useRef as useRef62, useState as useState72 } from "react";
20585
20578
  import { jsx as jsx74, jsxs as jsxs52 } from "react/jsx-runtime";
20586
- import { useCallback as useCallback72, useEffect as useEffect92, useMemo as useMemo62, useRef as useRef62, useState as useState92 } from "react";
20579
+ import { useCallback as useCallback72, useEffect as useEffect92, useMemo as useMemo62, useRef as useRef72, useState as useState92 } from "react";
20587
20580
  import { jsx as jsx84, jsxs as jsxs62 } from "react/jsx-runtime";
20588
20581
  import { useMemo as useMemo72 } from "react";
20589
20582
  import { jsxs as jsxs7 } from "react/jsx-runtime";
@@ -20594,7 +20587,7 @@ import { jsx as jsx104 } from "react/jsx-runtime";
20594
20587
  import React92, { useEffect as useEffect112 } from "react";
20595
20588
  import { jsx as jsx113 } from "react/jsx-runtime";
20596
20589
  import { useCallback as useCallback102, useMemo as useMemo112 } from "react";
20597
- import { useCallback as useCallback92, useMemo as useMemo102, useRef as useRef82 } from "react";
20590
+ import { useCallback as useCallback92, useMemo as useMemo102, useRef as useRef92 } from "react";
20598
20591
  import { jsx as jsx123, jsxs as jsxs92, Fragment as Fragment32 } from "react/jsx-runtime";
20599
20592
  import { useCallback as useCallback122, useMemo as useMemo132, useState as useState122 } from "react";
20600
20593
  import { jsx as jsx133 } from "react/jsx-runtime";
@@ -21235,7 +21228,7 @@ import {
21235
21228
  useImperativeHandle as useImperativeHandle42,
21236
21229
  useLayoutEffect as useLayoutEffect33,
21237
21230
  useMemo as useMemo172,
21238
- useRef as useRef122,
21231
+ useRef as useRef132,
21239
21232
  useState as useState142
21240
21233
  } from "react";
21241
21234
  import React132, {
@@ -21244,7 +21237,7 @@ import React132, {
21244
21237
  useCallback as useCallback132,
21245
21238
  useImperativeHandle as useImperativeHandle32,
21246
21239
  useMemo as useMemo162,
21247
- useRef as useRef112
21240
+ useRef as useRef122
21248
21241
  } from "react";
21249
21242
  import { useContext as useContext72, useMemo as useMemo152 } from "react";
21250
21243
  import { jsx as jsx153 } from "react/jsx-runtime";
@@ -21762,12 +21755,12 @@ var usePlayer = () => {
21762
21755
  const [playing, setPlaying, imperativePlaying] = Internals.Timeline.usePlayingState();
21763
21756
  const [hasPlayed, setHasPlayed] = useState36(false);
21764
21757
  const frame = Internals.Timeline.useTimelinePosition();
21765
- const playStart = useRef34(frame);
21758
+ const playStart = useRef24(frame);
21766
21759
  const setFrame = Internals.Timeline.useTimelineSetFrame();
21767
21760
  const setTimelinePosition = Internals.Timeline.useTimelineSetFrame();
21768
21761
  const audioContext = useContext37(Internals.SharedAudioContext);
21769
21762
  const { audioAndVideoTags } = useContext37(Internals.TimelineContext);
21770
- const frameRef = Internals.Timeline.useTimelineFrameRef();
21763
+ const frameRef = useRef24(frame);
21771
21764
  frameRef.current = frame;
21772
21765
  const video = Internals.useVideo();
21773
21766
  const config = Internals.useUnsafeVideoConfig();
@@ -21783,16 +21776,13 @@ var usePlayer = () => {
21783
21776
  throw new Error("Missing the buffering context. Most likely you have a Remotion version mismatch.");
21784
21777
  }
21785
21778
  const { buffering } = bufferingContext;
21786
- const setFrameAndImperative = useCallback28((newFrame, videoIdToSet) => {
21787
- setTimelinePosition((c) => ({ ...c, [videoIdToSet]: newFrame }));
21788
- frameRef.current = newFrame;
21789
- }, [frameRef, setTimelinePosition]);
21790
21779
  const seek2 = useCallback28((newFrame) => {
21791
21780
  if (video?.id) {
21792
- setFrameAndImperative(newFrame, video.id);
21781
+ setTimelinePosition((c) => ({ ...c, [video.id]: newFrame }));
21793
21782
  }
21783
+ frameRef.current = newFrame;
21794
21784
  emitter.dispatchSeek(newFrame);
21795
- }, [emitter, setFrameAndImperative, video?.id]);
21785
+ }, [emitter, setTimelinePosition, video?.id]);
21796
21786
  const play = useCallback28((e) => {
21797
21787
  if (imperativePlaying.current) {
21798
21788
  return;
@@ -21817,8 +21807,7 @@ var usePlayer = () => {
21817
21807
  setPlaying,
21818
21808
  emitter,
21819
21809
  seek2,
21820
- audioAndVideoTags,
21821
- frameRef
21810
+ audioAndVideoTags
21822
21811
  ]);
21823
21812
  const pause = useCallback28(() => {
21824
21813
  if (imperativePlaying.current) {
@@ -21841,14 +21830,7 @@ var usePlayer = () => {
21841
21830
  emitter.dispatchPause();
21842
21831
  }
21843
21832
  }
21844
- }, [
21845
- config,
21846
- emitter,
21847
- imperativePlaying,
21848
- setPlaying,
21849
- setTimelinePosition,
21850
- frameRef
21851
- ]);
21833
+ }, [config, emitter, imperativePlaying, setPlaying, setTimelinePosition]);
21852
21834
  const videoId = video?.id;
21853
21835
  const frameBack = useCallback28((frames) => {
21854
21836
  if (!videoId) {
@@ -21906,15 +21888,12 @@ var usePlayer = () => {
21906
21888
  pause,
21907
21889
  seek: seek2,
21908
21890
  isFirstFrame,
21909
- getCurrentFrame: () => {
21910
- return frameRef.current;
21911
- },
21891
+ getCurrentFrame: () => frameRef.current,
21912
21892
  isPlaying: () => imperativePlaying.current,
21913
21893
  isBuffering: () => buffering.current,
21914
21894
  pauseAndReturnToPlayStart,
21915
21895
  hasPlayed,
21916
- toggle,
21917
- setFrameAndImperative
21896
+ toggle
21918
21897
  };
21919
21898
  }, [
21920
21899
  buffering,
@@ -21930,9 +21909,7 @@ var usePlayer = () => {
21930
21909
  play,
21931
21910
  playing,
21932
21911
  seek2,
21933
- toggle,
21934
- setFrameAndImperative,
21935
- frameRef
21912
+ toggle
21936
21913
  ]);
21937
21914
  return returnValue;
21938
21915
  };
@@ -22078,7 +22055,7 @@ var getIsBackgrounded = () => {
22078
22055
  return document.visibilityState === "hidden";
22079
22056
  };
22080
22057
  var useIsBackgrounded = () => {
22081
- const isBackgrounded = useRef24(getIsBackgrounded());
22058
+ const isBackgrounded = useRef34(getIsBackgrounded());
22082
22059
  useEffect42(() => {
22083
22060
  const onVisibilityChange = () => {
22084
22061
  isBackgrounded.current = getIsBackgrounded();
@@ -22101,9 +22078,10 @@ var usePlayback = ({
22101
22078
  }) => {
22102
22079
  const config = Internals.useUnsafeVideoConfig();
22103
22080
  const frame = Internals.Timeline.useTimelinePosition();
22104
- const { playing, pause, emitter, setFrameAndImperative } = usePlayer();
22081
+ const { playing, pause, emitter } = usePlayer();
22082
+ const setFrame = Internals.Timeline.useTimelineSetFrame();
22105
22083
  const isBackgroundedRef = useIsBackgrounded();
22106
- const lastTimeUpdateEvent = useRef33(null);
22084
+ const lastTimeUpdateEvent = useRef42(null);
22107
22085
  const context = useContext42(Internals.BufferingContextReact);
22108
22086
  if (!context) {
22109
22087
  throw new Error("Missing the buffering context. Most likely you have a Remotion version mismatch.");
@@ -22157,7 +22135,7 @@ var usePlayback = ({
22157
22135
  });
22158
22136
  framesAdvanced += framesToAdvance;
22159
22137
  if (nextFrame !== getCurrentFrame() && (!hasEnded || moveToBeginningWhenEnded)) {
22160
- setFrameAndImperative(nextFrame, config.id);
22138
+ setFrame((c) => ({ ...c, [config.id]: nextFrame }));
22161
22139
  }
22162
22140
  if (hasEnded) {
22163
22141
  stop();
@@ -22204,7 +22182,7 @@ var usePlayback = ({
22204
22182
  loop,
22205
22183
  pause,
22206
22184
  playing,
22207
- setFrameAndImperative,
22185
+ setFrame,
22208
22186
  emitter,
22209
22187
  playbackRate,
22210
22188
  inFrame,
@@ -22462,8 +22440,8 @@ var MediaVolumeSlider = ({ displayVerticalVolumeSlider, renderMuteButton, render
22462
22440
  const [mediaMuted, setMediaMuted] = Internals.useMediaMutedState();
22463
22441
  const [mediaVolume, setMediaVolume] = Internals.useMediaVolumeState();
22464
22442
  const [focused, setFocused] = useState62(false);
22465
- const parentDivRef = useRef42(null);
22466
- const inputRef = useRef42(null);
22443
+ const parentDivRef = useRef52(null);
22444
+ const inputRef = useRef52(null);
22467
22445
  const hover = useHoverState(parentDivRef, false);
22468
22446
  const onBlur = useCallback52(() => {
22469
22447
  setTimeout(() => {
@@ -22548,7 +22526,7 @@ var MediaVolumeSlider = ({ displayVerticalVolumeSlider, renderMuteButton, render
22548
22526
  };
22549
22527
  function useComponentVisible(initialIsVisible) {
22550
22528
  const [isComponentVisible, setIsComponentVisible] = useState72(initialIsVisible);
22551
- const ref = useRef52(null);
22529
+ const ref = useRef62(null);
22552
22530
  useEffect72(() => {
22553
22531
  const handleClickOutside = (event) => {
22554
22532
  if (ref.current && !ref.current.contains(event.target)) {
@@ -22798,7 +22776,7 @@ var findBodyInWhichDivIsLocated = (div) => {
22798
22776
  return current;
22799
22777
  };
22800
22778
  var PlayerSeekBar = ({ durationInFrames, onSeekEnd, onSeekStart, inFrame, outFrame }) => {
22801
- const containerRef = useRef62(null);
22779
+ const containerRef = useRef72(null);
22802
22780
  const barHovered = useHoverState(containerRef, false);
22803
22781
  const size4 = useElementSize(containerRef, {
22804
22782
  triggerOnWindowResize: true,
@@ -23074,7 +23052,7 @@ var Controls = ({
23074
23052
  playing,
23075
23053
  toggle
23076
23054
  }) => {
23077
- const playButtonRef = useRef72(null);
23055
+ const playButtonRef = useRef82(null);
23078
23056
  const [supportsFullscreen, setSupportsFullscreen] = useState102(false);
23079
23057
  const hovered = useHoverState(containerRef, hideControlsWhenPointerDoesntMove);
23080
23058
  const { maxTimeLabelWidth, displayVerticalVolumeSlider } = useVideoControlsResize({
@@ -23148,8 +23126,8 @@ var Controls = ({
23148
23126
  }
23149
23127
  return null;
23150
23128
  }, [showPlaybackRateControl]);
23151
- const ref = useRef72(null);
23152
- const flexRef = useRef72(null);
23129
+ const ref = useRef82(null);
23130
+ const flexRef = useRef82(null);
23153
23131
  const onPointerDownIfContainer = useCallback82((e) => {
23154
23132
  if (e.target === ref.current || e.target === flexRef.current) {
23155
23133
  onPointerDown?.(e);
@@ -23394,7 +23372,7 @@ var cancellablePromise = (promise) => {
23394
23372
  };
23395
23373
  var delay = (n) => new Promise((resolve) => setTimeout(resolve, n));
23396
23374
  var useCancellablePromises = () => {
23397
- const pendingPromises = useRef82([]);
23375
+ const pendingPromises = useRef92([]);
23398
23376
  const appendPendingPromise = useCallback92((promise) => {
23399
23377
  pendingPromises.current = [...pendingPromises.current, promise];
23400
23378
  }, []);
@@ -23498,7 +23476,7 @@ var PlayerUI = ({
23498
23476
  }, ref) => {
23499
23477
  const config = Internals.useUnsafeVideoConfig();
23500
23478
  const video = Internals.useVideo();
23501
- const container4 = useRef92(null);
23479
+ const container4 = useRef102(null);
23502
23480
  const canvasSize = useElementSize(container4, {
23503
23481
  triggerOnWindowResize: false,
23504
23482
  shouldApplyCssTransforms: false
@@ -23609,7 +23587,7 @@ var PlayerUI = ({
23609
23587
  });
23610
23588
  }, [canvasSize, config]);
23611
23589
  const scale = layout?.scale ?? 1;
23612
- const initialScaleIgnored = useRef92(false);
23590
+ const initialScaleIgnored = useRef102(false);
23613
23591
  useEffect122(() => {
23614
23592
  if (!initialScaleIgnored.current) {
23615
23593
  initialScaleIgnored.current = true;
@@ -24257,9 +24235,9 @@ var PlayerFn = ({
24257
24235
  }));
24258
24236
  const [playing, setPlaying] = useState132(false);
24259
24237
  const [rootId] = useState132("player-comp");
24260
- const rootRef = useRef102(null);
24261
- const audioAndVideoTags = useRef102([]);
24262
- const imperativePlaying = useRef102(false);
24238
+ const rootRef = useRef112(null);
24239
+ const audioAndVideoTags = useRef112([]);
24240
+ const imperativePlaying = useRef112(false);
24263
24241
  const [currentPlaybackRate, setCurrentPlaybackRate] = useState132(playbackRate);
24264
24242
  if (typeof compositionHeight !== "number") {
24265
24243
  throw new TypeError(`'compositionHeight' must be a number but got '${typeof compositionHeight}' instead`);
@@ -24323,7 +24301,6 @@ var PlayerFn = ({
24323
24301
  const timelineContextValue = useMemo142(() => {
24324
24302
  return {
24325
24303
  frame,
24326
- frameRef: { current: frame[PLAYER_COMP_ID] },
24327
24304
  playing,
24328
24305
  rootId,
24329
24306
  playbackRate: currentPlaybackRate,
@@ -24445,7 +24422,7 @@ var ThumbnailUI = ({
24445
24422
  }, ref) => {
24446
24423
  const config = Internals.useUnsafeVideoConfig();
24447
24424
  const video = Internals.useVideo();
24448
- const container4 = useRef112(null);
24425
+ const container4 = useRef122(null);
24449
24426
  const canvasSize = useElementSize(container4, {
24450
24427
  triggerOnWindowResize: false,
24451
24428
  shouldApplyCssTransforms: false
@@ -24571,10 +24548,9 @@ var ThumbnailFn = ({
24571
24548
  }, []);
24572
24549
  }
24573
24550
  const [thumbnailId] = useState142(() => String(random(null)));
24574
- const rootRef = useRef122(null);
24551
+ const rootRef = useRef132(null);
24575
24552
  const timelineState = useMemo172(() => {
24576
24553
  const value = {
24577
- frameRef: { current: frameToDisplay },
24578
24554
  playing: false,
24579
24555
  frame: {
24580
24556
  [PLAYER_COMP_ID]: frameToDisplay
@@ -25429,7 +25405,7 @@ import {
25429
25405
 
25430
25406
  // src/components/homepage/Demo/Card.tsx
25431
25407
  init_esm();
25432
- import { useCallback as useCallback31, useRef as useRef36 } from "react";
25408
+ import { useCallback as useCallback31, useRef as useRef35 } from "react";
25433
25409
 
25434
25410
  // src/components/homepage/Demo/math.ts
25435
25411
  var paddingAndMargin = 20;
@@ -25527,7 +25503,7 @@ var Card2 = ({
25527
25503
  onClickRight
25528
25504
  }) => {
25529
25505
  const refToUse = refsToUse[index2];
25530
- const stopPrevious = useRef36([]);
25506
+ const stopPrevious = useRef35([]);
25531
25507
  let newIndices = [...indices];
25532
25508
  const applyPositions = useCallback31((except) => {
25533
25509
  let stopped = false;
@@ -755,7 +755,7 @@ var __defProp2, __export2 = (target, all) => {
755
755
  });
756
756
  }, useIsPlayer = () => {
757
757
  return useContext(IsPlayerContext);
758
- }, VERSION = "4.0.391", checkMultipleRemotionVersions = () => {
758
+ }, VERSION = "4.0.392", checkMultipleRemotionVersions = () => {
759
759
  if (typeof globalThis === "undefined") {
760
760
  return;
761
761
  }
@@ -1582,9 +1582,6 @@ Check that all your Remotion packages are on the same version. If your dependenc
1582
1582
  }
1583
1583
  const unclamped = state.frame[videoConfig.id] ?? (env.isPlayer ? 0 : getFrameForComposition(videoConfig.id));
1584
1584
  return Math.min(videoConfig.durationInFrames - 1, unclamped);
1585
- }, useTimelineFrameRef = () => {
1586
- const { frameRef } = useContext6(TimelineContext);
1587
- return frameRef;
1588
1585
  }, useTimelineSetFrame = () => {
1589
1586
  const { setFrame } = useContext6(SetTimelineContext);
1590
1587
  return setFrame;
@@ -1769,7 +1766,6 @@ Check that all your Remotion packages are on the same version. If your dependenc
1769
1766
  const [remotionRootId] = useState5(() => String(random(null)));
1770
1767
  const [_frame, setFrame] = useState5(() => getInitialFrameState());
1771
1768
  const frame = frameState ?? _frame;
1772
- const frameRef = useRef2(0);
1773
1769
  const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
1774
1770
  if (typeof window !== "undefined") {
1775
1771
  useLayoutEffect(() => {
@@ -1805,8 +1801,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
1805
1801
  rootId: remotionRootId,
1806
1802
  playbackRate,
1807
1803
  setPlaybackRate,
1808
- audioAndVideoTags,
1809
- frameRef
1804
+ audioAndVideoTags
1810
1805
  };
1811
1806
  }, [frame, playbackRate, playing, remotionRootId]);
1812
1807
  const setTimelineContextValue = useMemo7(() => {
@@ -6800,7 +6795,6 @@ var init_esm = __esm(() => {
6800
6795
  __export2(exports_timeline_position_state, {
6801
6796
  useTimelineSetFrame: () => useTimelineSetFrame,
6802
6797
  useTimelinePosition: () => useTimelinePosition,
6803
- useTimelineFrameRef: () => useTimelineFrameRef,
6804
6798
  usePlayingState: () => usePlayingState,
6805
6799
  persistCurrentFrame: () => persistCurrentFrame,
6806
6800
  getInitialFrameState: () => getInitialFrameState,
@@ -6898,7 +6892,6 @@ var init_esm = __esm(() => {
6898
6892
  });
6899
6893
  TimelineContext = createContext10({
6900
6894
  frame: {},
6901
- frameRef: { current: 0 },
6902
6895
  playing: false,
6903
6896
  playbackRate: 1,
6904
6897
  rootId: "",
@@ -755,7 +755,7 @@ var __defProp2, __export2 = (target, all) => {
755
755
  });
756
756
  }, useIsPlayer = () => {
757
757
  return useContext(IsPlayerContext);
758
- }, VERSION = "4.0.391", checkMultipleRemotionVersions = () => {
758
+ }, VERSION = "4.0.392", checkMultipleRemotionVersions = () => {
759
759
  if (typeof globalThis === "undefined") {
760
760
  return;
761
761
  }
@@ -1582,9 +1582,6 @@ Check that all your Remotion packages are on the same version. If your dependenc
1582
1582
  }
1583
1583
  const unclamped = state.frame[videoConfig.id] ?? (env.isPlayer ? 0 : getFrameForComposition(videoConfig.id));
1584
1584
  return Math.min(videoConfig.durationInFrames - 1, unclamped);
1585
- }, useTimelineFrameRef = () => {
1586
- const { frameRef } = useContext6(TimelineContext);
1587
- return frameRef;
1588
1585
  }, useTimelineSetFrame = () => {
1589
1586
  const { setFrame } = useContext6(SetTimelineContext);
1590
1587
  return setFrame;
@@ -1769,7 +1766,6 @@ Check that all your Remotion packages are on the same version. If your dependenc
1769
1766
  const [remotionRootId] = useState5(() => String(random(null)));
1770
1767
  const [_frame, setFrame] = useState5(() => getInitialFrameState());
1771
1768
  const frame = frameState ?? _frame;
1772
- const frameRef = useRef2(0);
1773
1769
  const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
1774
1770
  if (typeof window !== "undefined") {
1775
1771
  useLayoutEffect(() => {
@@ -1805,8 +1801,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
1805
1801
  rootId: remotionRootId,
1806
1802
  playbackRate,
1807
1803
  setPlaybackRate,
1808
- audioAndVideoTags,
1809
- frameRef
1804
+ audioAndVideoTags
1810
1805
  };
1811
1806
  }, [frame, playbackRate, playing, remotionRootId]);
1812
1807
  const setTimelineContextValue = useMemo7(() => {
@@ -6800,7 +6795,6 @@ var init_esm = __esm(() => {
6800
6795
  __export2(exports_timeline_position_state, {
6801
6796
  useTimelineSetFrame: () => useTimelineSetFrame,
6802
6797
  useTimelinePosition: () => useTimelinePosition,
6803
- useTimelineFrameRef: () => useTimelineFrameRef,
6804
6798
  usePlayingState: () => usePlayingState,
6805
6799
  persistCurrentFrame: () => persistCurrentFrame,
6806
6800
  getInitialFrameState: () => getInitialFrameState,
@@ -6898,7 +6892,6 @@ var init_esm = __esm(() => {
6898
6892
  });
6899
6893
  TimelineContext = createContext10({
6900
6894
  frame: {},
6901
- frameRef: { current: 0 },
6902
6895
  playing: false,
6903
6896
  playbackRate: 1,
6904
6897
  rootId: "",
@@ -755,7 +755,7 @@ var __defProp2, __export2 = (target, all) => {
755
755
  });
756
756
  }, useIsPlayer = () => {
757
757
  return useContext(IsPlayerContext);
758
- }, VERSION = "4.0.391", checkMultipleRemotionVersions = () => {
758
+ }, VERSION = "4.0.392", checkMultipleRemotionVersions = () => {
759
759
  if (typeof globalThis === "undefined") {
760
760
  return;
761
761
  }
@@ -1582,9 +1582,6 @@ Check that all your Remotion packages are on the same version. If your dependenc
1582
1582
  }
1583
1583
  const unclamped = state.frame[videoConfig.id] ?? (env.isPlayer ? 0 : getFrameForComposition(videoConfig.id));
1584
1584
  return Math.min(videoConfig.durationInFrames - 1, unclamped);
1585
- }, useTimelineFrameRef = () => {
1586
- const { frameRef } = useContext6(TimelineContext);
1587
- return frameRef;
1588
1585
  }, useTimelineSetFrame = () => {
1589
1586
  const { setFrame } = useContext6(SetTimelineContext);
1590
1587
  return setFrame;
@@ -1769,7 +1766,6 @@ Check that all your Remotion packages are on the same version. If your dependenc
1769
1766
  const [remotionRootId] = useState5(() => String(random(null)));
1770
1767
  const [_frame, setFrame] = useState5(() => getInitialFrameState());
1771
1768
  const frame = frameState ?? _frame;
1772
- const frameRef = useRef2(0);
1773
1769
  const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
1774
1770
  if (typeof window !== "undefined") {
1775
1771
  useLayoutEffect(() => {
@@ -1805,8 +1801,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
1805
1801
  rootId: remotionRootId,
1806
1802
  playbackRate,
1807
1803
  setPlaybackRate,
1808
- audioAndVideoTags,
1809
- frameRef
1804
+ audioAndVideoTags
1810
1805
  };
1811
1806
  }, [frame, playbackRate, playing, remotionRootId]);
1812
1807
  const setTimelineContextValue = useMemo7(() => {
@@ -6800,7 +6795,6 @@ var init_esm = __esm(() => {
6800
6795
  __export2(exports_timeline_position_state, {
6801
6796
  useTimelineSetFrame: () => useTimelineSetFrame,
6802
6797
  useTimelinePosition: () => useTimelinePosition,
6803
- useTimelineFrameRef: () => useTimelineFrameRef,
6804
6798
  usePlayingState: () => usePlayingState,
6805
6799
  persistCurrentFrame: () => persistCurrentFrame,
6806
6800
  getInitialFrameState: () => getInitialFrameState,
@@ -6898,7 +6892,6 @@ var init_esm = __esm(() => {
6898
6892
  });
6899
6893
  TimelineContext = createContext10({
6900
6894
  frame: {},
6901
- frameRef: { current: 0 },
6902
6895
  playing: false,
6903
6896
  playbackRate: 1,
6904
6897
  rootId: "",
@@ -755,7 +755,7 @@ var __defProp2, __export2 = (target, all) => {
755
755
  });
756
756
  }, useIsPlayer = () => {
757
757
  return useContext(IsPlayerContext);
758
- }, VERSION = "4.0.391", checkMultipleRemotionVersions = () => {
758
+ }, VERSION = "4.0.392", checkMultipleRemotionVersions = () => {
759
759
  if (typeof globalThis === "undefined") {
760
760
  return;
761
761
  }
@@ -1582,9 +1582,6 @@ Check that all your Remotion packages are on the same version. If your dependenc
1582
1582
  }
1583
1583
  const unclamped = state.frame[videoConfig.id] ?? (env.isPlayer ? 0 : getFrameForComposition(videoConfig.id));
1584
1584
  return Math.min(videoConfig.durationInFrames - 1, unclamped);
1585
- }, useTimelineFrameRef = () => {
1586
- const { frameRef } = useContext6(TimelineContext);
1587
- return frameRef;
1588
1585
  }, useTimelineSetFrame = () => {
1589
1586
  const { setFrame } = useContext6(SetTimelineContext);
1590
1587
  return setFrame;
@@ -1769,7 +1766,6 @@ Check that all your Remotion packages are on the same version. If your dependenc
1769
1766
  const [remotionRootId] = useState5(() => String(random(null)));
1770
1767
  const [_frame, setFrame] = useState5(() => getInitialFrameState());
1771
1768
  const frame = frameState ?? _frame;
1772
- const frameRef = useRef2(0);
1773
1769
  const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
1774
1770
  if (typeof window !== "undefined") {
1775
1771
  useLayoutEffect(() => {
@@ -1805,8 +1801,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
1805
1801
  rootId: remotionRootId,
1806
1802
  playbackRate,
1807
1803
  setPlaybackRate,
1808
- audioAndVideoTags,
1809
- frameRef
1804
+ audioAndVideoTags
1810
1805
  };
1811
1806
  }, [frame, playbackRate, playing, remotionRootId]);
1812
1807
  const setTimelineContextValue = useMemo7(() => {
@@ -6800,7 +6795,6 @@ var init_esm = __esm(() => {
6800
6795
  __export2(exports_timeline_position_state, {
6801
6796
  useTimelineSetFrame: () => useTimelineSetFrame,
6802
6797
  useTimelinePosition: () => useTimelinePosition,
6803
- useTimelineFrameRef: () => useTimelineFrameRef,
6804
6798
  usePlayingState: () => usePlayingState,
6805
6799
  persistCurrentFrame: () => persistCurrentFrame,
6806
6800
  getInitialFrameState: () => getInitialFrameState,
@@ -6898,7 +6892,6 @@ var init_esm = __esm(() => {
6898
6892
  });
6899
6893
  TimelineContext = createContext10({
6900
6894
  frame: {},
6901
- frameRef: { current: 0 },
6902
6895
  playing: false,
6903
6896
  playbackRate: 1,
6904
6897
  rootId: "",
package/dist/design.js CHANGED
@@ -755,7 +755,7 @@ var __defProp2, __export2 = (target, all) => {
755
755
  });
756
756
  }, useIsPlayer = () => {
757
757
  return useContext(IsPlayerContext);
758
- }, VERSION = "4.0.391", checkMultipleRemotionVersions = () => {
758
+ }, VERSION = "4.0.392", checkMultipleRemotionVersions = () => {
759
759
  if (typeof globalThis === "undefined") {
760
760
  return;
761
761
  }
@@ -1582,9 +1582,6 @@ Check that all your Remotion packages are on the same version. If your dependenc
1582
1582
  }
1583
1583
  const unclamped = state.frame[videoConfig.id] ?? (env.isPlayer ? 0 : getFrameForComposition(videoConfig.id));
1584
1584
  return Math.min(videoConfig.durationInFrames - 1, unclamped);
1585
- }, useTimelineFrameRef = () => {
1586
- const { frameRef } = useContext6(TimelineContext);
1587
- return frameRef;
1588
1585
  }, useTimelineSetFrame = () => {
1589
1586
  const { setFrame } = useContext6(SetTimelineContext);
1590
1587
  return setFrame;
@@ -1769,7 +1766,6 @@ Check that all your Remotion packages are on the same version. If your dependenc
1769
1766
  const [remotionRootId] = useState5(() => String(random(null)));
1770
1767
  const [_frame, setFrame] = useState5(() => getInitialFrameState());
1771
1768
  const frame = frameState ?? _frame;
1772
- const frameRef = useRef2(0);
1773
1769
  const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
1774
1770
  if (typeof window !== "undefined") {
1775
1771
  useLayoutEffect(() => {
@@ -1805,8 +1801,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
1805
1801
  rootId: remotionRootId,
1806
1802
  playbackRate,
1807
1803
  setPlaybackRate,
1808
- audioAndVideoTags,
1809
- frameRef
1804
+ audioAndVideoTags
1810
1805
  };
1811
1806
  }, [frame, playbackRate, playing, remotionRootId]);
1812
1807
  const setTimelineContextValue = useMemo7(() => {
@@ -6800,7 +6795,6 @@ var init_esm = __esm(() => {
6800
6795
  __export2(exports_timeline_position_state, {
6801
6796
  useTimelineSetFrame: () => useTimelineSetFrame,
6802
6797
  useTimelinePosition: () => useTimelinePosition,
6803
- useTimelineFrameRef: () => useTimelineFrameRef,
6804
6798
  usePlayingState: () => usePlayingState,
6805
6799
  persistCurrentFrame: () => persistCurrentFrame,
6806
6800
  getInitialFrameState: () => getInitialFrameState,
@@ -6898,7 +6892,6 @@ var init_esm = __esm(() => {
6898
6892
  });
6899
6893
  TimelineContext = createContext10({
6900
6894
  frame: {},
6901
- frameRef: { current: 0 },
6902
6895
  playing: false,
6903
6896
  playbackRate: 1,
6904
6897
  rootId: "",
@@ -755,7 +755,7 @@ var __defProp2, __export2 = (target, all) => {
755
755
  });
756
756
  }, useIsPlayer = () => {
757
757
  return useContext(IsPlayerContext);
758
- }, VERSION = "4.0.391", checkMultipleRemotionVersions = () => {
758
+ }, VERSION = "4.0.392", checkMultipleRemotionVersions = () => {
759
759
  if (typeof globalThis === "undefined") {
760
760
  return;
761
761
  }
@@ -1582,9 +1582,6 @@ Check that all your Remotion packages are on the same version. If your dependenc
1582
1582
  }
1583
1583
  const unclamped = state.frame[videoConfig.id] ?? (env.isPlayer ? 0 : getFrameForComposition(videoConfig.id));
1584
1584
  return Math.min(videoConfig.durationInFrames - 1, unclamped);
1585
- }, useTimelineFrameRef = () => {
1586
- const { frameRef } = useContext6(TimelineContext);
1587
- return frameRef;
1588
1585
  }, useTimelineSetFrame = () => {
1589
1586
  const { setFrame } = useContext6(SetTimelineContext);
1590
1587
  return setFrame;
@@ -1769,7 +1766,6 @@ Check that all your Remotion packages are on the same version. If your dependenc
1769
1766
  const [remotionRootId] = useState5(() => String(random(null)));
1770
1767
  const [_frame, setFrame] = useState5(() => getInitialFrameState());
1771
1768
  const frame = frameState ?? _frame;
1772
- const frameRef = useRef2(0);
1773
1769
  const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
1774
1770
  if (typeof window !== "undefined") {
1775
1771
  useLayoutEffect(() => {
@@ -1805,8 +1801,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
1805
1801
  rootId: remotionRootId,
1806
1802
  playbackRate,
1807
1803
  setPlaybackRate,
1808
- audioAndVideoTags,
1809
- frameRef
1804
+ audioAndVideoTags
1810
1805
  };
1811
1806
  }, [frame, playbackRate, playing, remotionRootId]);
1812
1807
  const setTimelineContextValue = useMemo7(() => {
@@ -6800,7 +6795,6 @@ var init_esm = __esm(() => {
6800
6795
  __export2(exports_timeline_position_state, {
6801
6796
  useTimelineSetFrame: () => useTimelineSetFrame,
6802
6797
  useTimelinePosition: () => useTimelinePosition,
6803
- useTimelineFrameRef: () => useTimelineFrameRef,
6804
6798
  usePlayingState: () => usePlayingState,
6805
6799
  persistCurrentFrame: () => persistCurrentFrame,
6806
6800
  getInitialFrameState: () => getInitialFrameState,
@@ -6898,7 +6892,6 @@ var init_esm = __esm(() => {
6898
6892
  });
6899
6893
  TimelineContext = createContext10({
6900
6894
  frame: {},
6901
- frameRef: { current: 0 },
6902
6895
  playing: false,
6903
6896
  playbackRate: 1,
6904
6897
  rootId: "",
@@ -755,7 +755,7 @@ var __defProp2, __export2 = (target, all) => {
755
755
  });
756
756
  }, useIsPlayer = () => {
757
757
  return useContext(IsPlayerContext);
758
- }, VERSION = "4.0.391", checkMultipleRemotionVersions = () => {
758
+ }, VERSION = "4.0.392", checkMultipleRemotionVersions = () => {
759
759
  if (typeof globalThis === "undefined") {
760
760
  return;
761
761
  }
@@ -1582,9 +1582,6 @@ Check that all your Remotion packages are on the same version. If your dependenc
1582
1582
  }
1583
1583
  const unclamped = state.frame[videoConfig.id] ?? (env.isPlayer ? 0 : getFrameForComposition(videoConfig.id));
1584
1584
  return Math.min(videoConfig.durationInFrames - 1, unclamped);
1585
- }, useTimelineFrameRef = () => {
1586
- const { frameRef } = useContext6(TimelineContext);
1587
- return frameRef;
1588
1585
  }, useTimelineSetFrame = () => {
1589
1586
  const { setFrame } = useContext6(SetTimelineContext);
1590
1587
  return setFrame;
@@ -1769,7 +1766,6 @@ Check that all your Remotion packages are on the same version. If your dependenc
1769
1766
  const [remotionRootId] = useState5(() => String(random(null)));
1770
1767
  const [_frame, setFrame] = useState5(() => getInitialFrameState());
1771
1768
  const frame = frameState ?? _frame;
1772
- const frameRef = useRef2(0);
1773
1769
  const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
1774
1770
  if (typeof window !== "undefined") {
1775
1771
  useLayoutEffect(() => {
@@ -1805,8 +1801,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
1805
1801
  rootId: remotionRootId,
1806
1802
  playbackRate,
1807
1803
  setPlaybackRate,
1808
- audioAndVideoTags,
1809
- frameRef
1804
+ audioAndVideoTags
1810
1805
  };
1811
1806
  }, [frame, playbackRate, playing, remotionRootId]);
1812
1807
  const setTimelineContextValue = useMemo7(() => {
@@ -6800,7 +6795,6 @@ var init_esm = __esm(() => {
6800
6795
  __export2(exports_timeline_position_state, {
6801
6796
  useTimelineSetFrame: () => useTimelineSetFrame,
6802
6797
  useTimelinePosition: () => useTimelinePosition,
6803
- useTimelineFrameRef: () => useTimelineFrameRef,
6804
6798
  usePlayingState: () => usePlayingState,
6805
6799
  persistCurrentFrame: () => persistCurrentFrame,
6806
6800
  getInitialFrameState: () => getInitialFrameState,
@@ -6898,7 +6892,6 @@ var init_esm = __esm(() => {
6898
6892
  });
6899
6893
  TimelineContext = createContext10({
6900
6894
  frame: {},
6901
- frameRef: { current: 0 },
6902
6895
  playing: false,
6903
6896
  playbackRate: 1,
6904
6897
  rootId: "",
package/dist/templates.js CHANGED
@@ -755,7 +755,7 @@ var __defProp2, __export2 = (target, all) => {
755
755
  });
756
756
  }, useIsPlayer = () => {
757
757
  return useContext(IsPlayerContext);
758
- }, VERSION = "4.0.391", checkMultipleRemotionVersions = () => {
758
+ }, VERSION = "4.0.392", checkMultipleRemotionVersions = () => {
759
759
  if (typeof globalThis === "undefined") {
760
760
  return;
761
761
  }
@@ -1582,9 +1582,6 @@ Check that all your Remotion packages are on the same version. If your dependenc
1582
1582
  }
1583
1583
  const unclamped = state.frame[videoConfig.id] ?? (env.isPlayer ? 0 : getFrameForComposition(videoConfig.id));
1584
1584
  return Math.min(videoConfig.durationInFrames - 1, unclamped);
1585
- }, useTimelineFrameRef = () => {
1586
- const { frameRef } = useContext6(TimelineContext);
1587
- return frameRef;
1588
1585
  }, useTimelineSetFrame = () => {
1589
1586
  const { setFrame } = useContext6(SetTimelineContext);
1590
1587
  return setFrame;
@@ -1769,7 +1766,6 @@ Check that all your Remotion packages are on the same version. If your dependenc
1769
1766
  const [remotionRootId] = useState5(() => String(random(null)));
1770
1767
  const [_frame, setFrame] = useState5(() => getInitialFrameState());
1771
1768
  const frame = frameState ?? _frame;
1772
- const frameRef = useRef2(0);
1773
1769
  const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
1774
1770
  if (typeof window !== "undefined") {
1775
1771
  useLayoutEffect(() => {
@@ -1805,8 +1801,7 @@ Check that all your Remotion packages are on the same version. If your dependenc
1805
1801
  rootId: remotionRootId,
1806
1802
  playbackRate,
1807
1803
  setPlaybackRate,
1808
- audioAndVideoTags,
1809
- frameRef
1804
+ audioAndVideoTags
1810
1805
  };
1811
1806
  }, [frame, playbackRate, playing, remotionRootId]);
1812
1807
  const setTimelineContextValue = useMemo7(() => {
@@ -6800,7 +6795,6 @@ var init_esm = __esm(() => {
6800
6795
  __export2(exports_timeline_position_state, {
6801
6796
  useTimelineSetFrame: () => useTimelineSetFrame,
6802
6797
  useTimelinePosition: () => useTimelinePosition,
6803
- useTimelineFrameRef: () => useTimelineFrameRef,
6804
6798
  usePlayingState: () => usePlayingState,
6805
6799
  persistCurrentFrame: () => persistCurrentFrame,
6806
6800
  getInitialFrameState: () => getInitialFrameState,
@@ -6898,7 +6892,6 @@ var init_esm = __esm(() => {
6898
6892
  });
6899
6893
  TimelineContext = createContext10({
6900
6894
  frame: {},
6901
- frameRef: { current: 0 },
6902
6895
  playing: false,
6903
6896
  playbackRate: 1,
6904
6897
  rootId: "",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/promo-pages",
3
- "version": "4.0.391",
3
+ "version": "4.0.392",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -11,23 +11,23 @@
11
11
  },
12
12
  "type": "module",
13
13
  "dependencies": {
14
- "@remotion/animated-emoji": "4.0.391",
15
- "@remotion/design": "4.0.391",
16
- "@remotion/lambda": "4.0.391",
17
- "@remotion/lottie": "4.0.391",
18
- "@remotion/paths": "4.0.391",
19
- "@remotion/player": "4.0.391",
20
- "@remotion/shapes": "4.0.391",
21
- "@remotion/svg-3d-engine": "4.0.391",
22
- "create-video": "4.0.391",
14
+ "@remotion/animated-emoji": "4.0.392",
15
+ "@remotion/design": "4.0.392",
16
+ "@remotion/lambda": "4.0.392",
17
+ "@remotion/lottie": "4.0.392",
18
+ "@remotion/paths": "4.0.392",
19
+ "@remotion/player": "4.0.392",
20
+ "@remotion/shapes": "4.0.392",
21
+ "@remotion/svg-3d-engine": "4.0.392",
22
+ "create-video": "4.0.392",
23
23
  "hls.js": "1.5.19",
24
24
  "polished": "4.3.1",
25
- "remotion": "4.0.391",
25
+ "remotion": "4.0.392",
26
26
  "zod": "3.22.3",
27
27
  "bun-plugin-tailwind": "0.1.2"
28
28
  },
29
29
  "devDependencies": {
30
- "@remotion/eslint-config-internal": "4.0.391",
30
+ "@remotion/eslint-config-internal": "4.0.392",
31
31
  "@eslint/eslintrc": "3.1.0",
32
32
  "@types/react": "19.2.7",
33
33
  "@types/react-dom": "19.2.3",