@remotion/player 4.0.390 → 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.
@@ -8,7 +8,7 @@ const useBufferStateEmitter = (emitter) => {
8
8
  if (!bufferManager) {
9
9
  throw new Error('BufferingContextReact not found');
10
10
  }
11
- (0, react_1.useEffect)(() => {
11
+ (0, react_1.useLayoutEffect)(() => {
12
12
  const clear1 = bufferManager.listenForBuffering(() => {
13
13
  bufferManager.buffering.current = true;
14
14
  emitter.dispatchWaiting({});
@@ -335,7 +335,7 @@ var PlayerEventEmitterContext = React.createContext(undefined);
335
335
  var ThumbnailEmitterContext = React.createContext(undefined);
336
336
 
337
337
  // src/EmitterProvider.tsx
338
- import { useContext as useContext2, useEffect as useEffect2, useState } from "react";
338
+ import { useContext as useContext2, useEffect, useState } from "react";
339
339
  import { Internals as Internals3 } from "remotion";
340
340
 
341
341
  // src/event-emitter.ts
@@ -452,14 +452,14 @@ class ThumbnailEmitter {
452
452
  }
453
453
 
454
454
  // src/use-buffer-state-emitter.ts
455
- import { useContext, useEffect } from "react";
455
+ import { useContext, useLayoutEffect } from "react";
456
456
  import { Internals as Internals2 } from "remotion";
457
457
  var useBufferStateEmitter = (emitter) => {
458
458
  const bufferManager = useContext(Internals2.BufferingContextReact);
459
459
  if (!bufferManager) {
460
460
  throw new Error("BufferingContextReact not found");
461
461
  }
462
- useEffect(() => {
462
+ useLayoutEffect(() => {
463
463
  const clear1 = bufferManager.listenForBuffering(() => {
464
464
  bufferManager.buffering.current = true;
465
465
  emitter.dispatchWaiting({});
@@ -483,7 +483,7 @@ var PlayerEmitterProvider = ({ children, currentPlaybackRate }) => {
483
483
  if (!bufferManager) {
484
484
  throw new Error("BufferingContextReact not found");
485
485
  }
486
- useEffect2(() => {
486
+ useEffect(() => {
487
487
  if (currentPlaybackRate) {
488
488
  emitter.dispatchRateChange(currentPlaybackRate);
489
489
  }
@@ -509,10 +509,10 @@ var useFrameImperative = () => {
509
509
  };
510
510
 
511
511
  // src/use-hover-state.ts
512
- import { useEffect as useEffect3, useState as useState2 } from "react";
512
+ import { useEffect as useEffect2, useState as useState2 } from "react";
513
513
  var useHoverState = (ref, hideControlsWhenPointerDoesntMove) => {
514
514
  const [hovered, setHovered] = useState2(false);
515
- useEffect3(() => {
515
+ useEffect2(() => {
516
516
  const { current } = ref;
517
517
  if (!current) {
518
518
  return;
@@ -552,11 +552,11 @@ var useHoverState = (ref, hideControlsWhenPointerDoesntMove) => {
552
552
  };
553
553
 
554
554
  // src/use-playback.ts
555
- import { useContext as useContext4, useEffect as useEffect6, useRef as useRef4 } from "react";
555
+ import { useContext as useContext4, useEffect as useEffect5, useRef as useRef4 } from "react";
556
556
  import { Internals as Internals6 } from "remotion";
557
557
 
558
558
  // src/browser-mediasession.ts
559
- import { useEffect as useEffect4 } from "react";
559
+ import { useEffect as useEffect3 } from "react";
560
560
 
561
561
  // src/use-player.ts
562
562
  import { useCallback as useCallback2, useContext as useContext3, useMemo, useRef as useRef2, useState as useState3 } from "react";
@@ -731,7 +731,7 @@ var useBrowserMediaSession = ({
731
731
  playbackRate
732
732
  }) => {
733
733
  const { playing, pause, play, emitter, getCurrentFrame, seek } = usePlayer();
734
- useEffect4(() => {
734
+ useEffect3(() => {
735
735
  if (!navigator.mediaSession) {
736
736
  return;
737
737
  }
@@ -744,7 +744,7 @@ var useBrowserMediaSession = ({
744
744
  navigator.mediaSession.playbackState = "paused";
745
745
  }
746
746
  }, [browserMediaControlsBehavior.mode, playing]);
747
- useEffect4(() => {
747
+ useEffect3(() => {
748
748
  if (!navigator.mediaSession) {
749
749
  return;
750
750
  }
@@ -774,7 +774,7 @@ var useBrowserMediaSession = ({
774
774
  playbackRate,
775
775
  videoConfig
776
776
  ]);
777
- useEffect4(() => {
777
+ useEffect3(() => {
778
778
  if (!navigator.mediaSession) {
779
779
  return;
780
780
  }
@@ -864,7 +864,7 @@ var calculateNextFrame = ({
864
864
  };
865
865
 
866
866
  // src/is-backgrounded.ts
867
- import { useEffect as useEffect5, useRef as useRef3 } from "react";
867
+ import { useEffect as useEffect4, useRef as useRef3 } from "react";
868
868
  var getIsBackgrounded = () => {
869
869
  if (typeof document === "undefined") {
870
870
  return false;
@@ -873,7 +873,7 @@ var getIsBackgrounded = () => {
873
873
  };
874
874
  var useIsBackgrounded = () => {
875
875
  const isBackgrounded = useRef3(getIsBackgrounded());
876
- useEffect5(() => {
876
+ useEffect4(() => {
877
877
  const onVisibilityChange = () => {
878
878
  isBackgrounded.current = getIsBackgrounded();
879
879
  };
@@ -910,7 +910,7 @@ var usePlayback = ({
910
910
  playbackRate,
911
911
  videoConfig: config
912
912
  });
913
- useEffect6(() => {
913
+ useEffect5(() => {
914
914
  if (!config) {
915
915
  return;
916
916
  }
@@ -1011,7 +1011,7 @@ var usePlayback = ({
1011
1011
  getCurrentFrame,
1012
1012
  context
1013
1013
  ]);
1014
- useEffect6(() => {
1014
+ useEffect5(() => {
1015
1015
  const interval = setInterval(() => {
1016
1016
  if (lastTimeUpdateEvent.current === getCurrentFrame()) {
1017
1017
  return;
@@ -1021,13 +1021,13 @@ var usePlayback = ({
1021
1021
  }, 250);
1022
1022
  return () => clearInterval(interval);
1023
1023
  }, [emitter, getCurrentFrame]);
1024
- useEffect6(() => {
1024
+ useEffect5(() => {
1025
1025
  emitter.dispatchFrameUpdate({ frame });
1026
1026
  }, [emitter, frame]);
1027
1027
  };
1028
1028
 
1029
1029
  // src/utils/use-element-size.ts
1030
- import { useCallback as useCallback3, useEffect as useEffect7, useMemo as useMemo2, useState as useState4 } from "react";
1030
+ import { useCallback as useCallback3, useEffect as useEffect6, useMemo as useMemo2, useState as useState4 } from "react";
1031
1031
  var elementSizeHooks = [];
1032
1032
  var updateAllElementsSizes = () => {
1033
1033
  for (const listener of elementSizeHooks) {
@@ -1112,7 +1112,7 @@ var useElementSize = (ref, options) => {
1112
1112
  };
1113
1113
  });
1114
1114
  }, [ref]);
1115
- useEffect7(() => {
1115
+ useEffect6(() => {
1116
1116
  if (!observer) {
1117
1117
  return;
1118
1118
  }
@@ -1126,7 +1126,7 @@ var useElementSize = (ref, options) => {
1126
1126
  }
1127
1127
  };
1128
1128
  }, [observer, ref, updateSize]);
1129
- useEffect7(() => {
1129
+ useEffect6(() => {
1130
1130
  if (!options.triggerOnWindowResize) {
1131
1131
  return;
1132
1132
  }
@@ -1135,7 +1135,7 @@ var useElementSize = (ref, options) => {
1135
1135
  window.removeEventListener("resize", updateSize);
1136
1136
  };
1137
1137
  }, [options.triggerOnWindowResize, updateSize]);
1138
- useEffect7(() => {
1138
+ useEffect6(() => {
1139
1139
  elementSizeHooks.push(updateSize);
1140
1140
  return () => {
1141
1141
  elementSizeHooks = elementSizeHooks.filter((e) => e !== updateSize);
@@ -1152,9 +1152,9 @@ var useElementSize = (ref, options) => {
1152
1152
  // src/Player.tsx
1153
1153
  import {
1154
1154
  forwardRef as forwardRef2,
1155
- useEffect as useEffect14,
1155
+ useEffect as useEffect13,
1156
1156
  useImperativeHandle as useImperativeHandle2,
1157
- useLayoutEffect,
1157
+ useLayoutEffect as useLayoutEffect2,
1158
1158
  useMemo as useMemo14,
1159
1159
  useRef as useRef11,
1160
1160
  useState as useState13
@@ -1167,7 +1167,7 @@ import React10, {
1167
1167
  forwardRef,
1168
1168
  useCallback as useCallback11,
1169
1169
  useContext as useContext6,
1170
- useEffect as useEffect13,
1170
+ useEffect as useEffect12,
1171
1171
  useImperativeHandle,
1172
1172
  useMemo as useMemo12,
1173
1173
  useRef as useRef10,
@@ -1176,7 +1176,7 @@ import React10, {
1176
1176
  import { Internals as Internals11 } from "remotion";
1177
1177
 
1178
1178
  // src/PlayerControls.tsx
1179
- import { useCallback as useCallback8, useEffect as useEffect11, useMemo as useMemo9, useRef as useRef8, useState as useState10 } from "react";
1179
+ import { useCallback as useCallback8, useEffect as useEffect10, useMemo as useMemo9, useRef as useRef8, useState as useState10 } from "react";
1180
1180
 
1181
1181
  // src/DefaultPlayPauseButton.tsx
1182
1182
  import { jsx as jsx4 } from "react/jsx-runtime";
@@ -1400,18 +1400,18 @@ var MediaVolumeSlider = ({ displayVerticalVolumeSlider, renderMuteButton, render
1400
1400
  import {
1401
1401
  useCallback as useCallback6,
1402
1402
  useContext as useContext5,
1403
- useEffect as useEffect9,
1403
+ useEffect as useEffect8,
1404
1404
  useMemo as useMemo5,
1405
1405
  useState as useState8
1406
1406
  } from "react";
1407
1407
  import { Internals as Internals8 } from "remotion";
1408
1408
 
1409
1409
  // src/utils/use-component-visible.ts
1410
- import { useEffect as useEffect8, useRef as useRef6, useState as useState7 } from "react";
1410
+ import { useEffect as useEffect7, useRef as useRef6, useState as useState7 } from "react";
1411
1411
  function useComponentVisible(initialIsVisible) {
1412
1412
  const [isComponentVisible, setIsComponentVisible] = useState7(initialIsVisible);
1413
1413
  const ref = useRef6(null);
1414
- useEffect8(() => {
1414
+ useEffect7(() => {
1415
1415
  const handleClickOutside = (event) => {
1416
1416
  if (ref.current && !ref.current.contains(event.target)) {
1417
1417
  setIsComponentVisible(false);
@@ -1498,7 +1498,7 @@ var PlaybackrateOption = ({ rate, onSelect, selectedRate, keyboardSelectedRate }
1498
1498
  var PlaybackPopup = ({ setIsComponentVisible, playbackRates, canvasSize }) => {
1499
1499
  const { setPlaybackRate, playbackRate } = useContext5(Internals8.TimelineContext);
1500
1500
  const [keyboardSelectedRate, setKeyboardSelectedRate] = useState8(playbackRate);
1501
- useEffect9(() => {
1501
+ useEffect8(() => {
1502
1502
  const listener = (e) => {
1503
1503
  e.preventDefault();
1504
1504
  if (e.key === "ArrowUp") {
@@ -1630,7 +1630,7 @@ var PlaybackrateControl = ({ playbackRates, canvasSize }) => {
1630
1630
  };
1631
1631
 
1632
1632
  // src/PlayerSeekBar.tsx
1633
- import { useCallback as useCallback7, useEffect as useEffect10, useMemo as useMemo6, useRef as useRef7, useState as useState9 } from "react";
1633
+ import { useCallback as useCallback7, useEffect as useEffect9, useMemo as useMemo6, useRef as useRef7, useState as useState9 } from "react";
1634
1634
  import { Internals as Internals9, interpolate } from "remotion";
1635
1635
  import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
1636
1636
  var getFrameFromX = (clientX, durationInFrames, width) => {
@@ -1719,7 +1719,7 @@ var PlayerSeekBar = ({ durationInFrames, onSeekEnd, onSeekStart, inFrame, outFra
1719
1719
  }
1720
1720
  onSeekEnd();
1721
1721
  }, [dragging, onSeekEnd, pause, play]);
1722
- useEffect10(() => {
1722
+ useEffect9(() => {
1723
1723
  if (!dragging.dragging) {
1724
1724
  return;
1725
1725
  }
@@ -1994,17 +1994,17 @@ var Controls = ({
1994
1994
  opacity: Number(shouldShow)
1995
1995
  };
1996
1996
  }, [hovered, shouldShowInitially, playing, alwaysShowControls]);
1997
- useEffect11(() => {
1997
+ useEffect10(() => {
1998
1998
  if (playButtonRef.current && spaceKeyToPlayOrPause) {
1999
1999
  playButtonRef.current.focus({
2000
2000
  preventScroll: true
2001
2001
  });
2002
2002
  }
2003
2003
  }, [playing, spaceKeyToPlayOrPause]);
2004
- useEffect11(() => {
2004
+ useEffect10(() => {
2005
2005
  setSupportsFullscreen((typeof document !== "undefined" && (document.fullscreenEnabled || document.webkitFullscreenEnabled)) ?? false);
2006
2006
  }, []);
2007
- useEffect11(() => {
2007
+ useEffect10(() => {
2008
2008
  if (shouldShowInitially === false) {
2009
2009
  return;
2010
2010
  }
@@ -2174,7 +2174,7 @@ class ErrorBoundary extends React8.Component {
2174
2174
  }
2175
2175
 
2176
2176
  // src/license-blacklist.tsx
2177
- import React9, { useEffect as useEffect12 } from "react";
2177
+ import React9, { useEffect as useEffect11 } from "react";
2178
2178
  import { jsx as jsx11 } from "react/jsx-runtime";
2179
2179
  var getHashOfDomain = async () => {
2180
2180
  if (typeof window === "undefined") {
@@ -2210,7 +2210,7 @@ var DOMAIN_BLACKLIST = [
2210
2210
  var ran = false;
2211
2211
  var RenderWarningIfBlacklist = () => {
2212
2212
  const [unlicensed, setUnlicensed] = React9.useState(false);
2213
- useEffect12(() => {
2213
+ useEffect11(() => {
2214
2214
  if (ran) {
2215
2215
  return;
2216
2216
  }
@@ -2221,7 +2221,7 @@ var RenderWarningIfBlacklist = () => {
2221
2221
  }
2222
2222
  }).catch(() => {});
2223
2223
  }, []);
2224
- useEffect12(() => {
2224
+ useEffect11(() => {
2225
2225
  if (!unlicensed) {
2226
2226
  return;
2227
2227
  }
@@ -2436,13 +2436,13 @@ var PlayerUI = ({
2436
2436
  getCurrentFrame: player.getCurrentFrame,
2437
2437
  browserMediaControlsBehavior
2438
2438
  });
2439
- useEffect13(() => {
2439
+ useEffect12(() => {
2440
2440
  if (hasPausedToResume && !player.playing) {
2441
2441
  setHasPausedToResume(false);
2442
2442
  player.play();
2443
2443
  }
2444
2444
  }, [hasPausedToResume, player]);
2445
- useEffect13(() => {
2445
+ useEffect12(() => {
2446
2446
  const { current } = container;
2447
2447
  if (!current) {
2448
2448
  return;
@@ -2484,7 +2484,7 @@ var PlayerUI = ({
2484
2484
  document.exitFullscreen();
2485
2485
  }
2486
2486
  }, []);
2487
- useEffect13(() => {
2487
+ useEffect12(() => {
2488
2488
  const { current } = container;
2489
2489
  if (!current) {
2490
2490
  return;
@@ -2522,7 +2522,7 @@ var PlayerUI = ({
2522
2522
  }, [canvasSize, config]);
2523
2523
  const scale = layout?.scale ?? 1;
2524
2524
  const initialScaleIgnored = useRef10(false);
2525
- useEffect13(() => {
2525
+ useEffect12(() => {
2526
2526
  if (!initialScaleIgnored.current) {
2527
2527
  initialScaleIgnored.current = true;
2528
2528
  return;
@@ -2531,17 +2531,17 @@ var PlayerUI = ({
2531
2531
  }, [player.emitter, scale]);
2532
2532
  const { setMediaVolume, setMediaMuted } = useContext6(Internals11.SetMediaVolumeContext);
2533
2533
  const { mediaMuted, mediaVolume } = useContext6(Internals11.MediaVolumeContext);
2534
- useEffect13(() => {
2534
+ useEffect12(() => {
2535
2535
  player.emitter.dispatchVolumeChange(mediaVolume);
2536
2536
  }, [player.emitter, mediaVolume]);
2537
2537
  const isMuted = mediaMuted || mediaVolume === 0;
2538
- useEffect13(() => {
2538
+ useEffect12(() => {
2539
2539
  player.emitter.dispatchMuteChange({
2540
2540
  isMuted
2541
2541
  });
2542
2542
  }, [player.emitter, isMuted]);
2543
2543
  const [showBufferIndicator, setShowBufferState] = useState11(false);
2544
- useEffect13(() => {
2544
+ useEffect12(() => {
2545
2545
  let timeout = null;
2546
2546
  let stopped = false;
2547
2547
  const onBuffer = () => {
@@ -2713,7 +2713,7 @@ var PlayerUI = ({
2713
2713
  }
2714
2714
  }, [exitFullscreen, isFullscreen, requestFullscreen]);
2715
2715
  const { handlePointerDown, handleDoubleClick } = useClickPreventionOnDoubleClick(onSingleClick, onDoubleClick, doubleClickToFullscreen && allowFullscreen && supportsFullScreen);
2716
- useEffect13(() => {
2716
+ useEffect12(() => {
2717
2717
  if (shouldAutoplay) {
2718
2718
  player.play();
2719
2719
  setShouldAutoPlay(false);
@@ -3245,7 +3245,7 @@ var PlayerFn = ({
3245
3245
  throw new TypeError(`'numberOfSharedAudioTags' must be an integer but got '${numberOfSharedAudioTags}' instead`);
3246
3246
  }
3247
3247
  validatePlaybackRate(currentPlaybackRate);
3248
- useEffect14(() => {
3248
+ useEffect13(() => {
3249
3249
  setCurrentPlaybackRate(playbackRate);
3250
3250
  }, [playbackRate]);
3251
3251
  useImperativeHandle2(ref, () => rootRef.current, []);
@@ -3277,7 +3277,7 @@ var PlayerFn = ({
3277
3277
  };
3278
3278
  }, [setFrame]);
3279
3279
  if (typeof window !== "undefined") {
3280
- useLayoutEffect(() => {
3280
+ useLayoutEffect2(() => {
3281
3281
  Internals15.CSSUtils.injectCSS(Internals15.CSSUtils.makeDefaultPreviewCSS(`.${playerCssClassname(overrideInternalClassName)}`, "#fff"));
3282
3282
  }, [overrideInternalClassName]);
3283
3283
  }
@@ -3356,7 +3356,7 @@ var Player = forward(PlayerFn);
3356
3356
  import {
3357
3357
  forwardRef as forwardRef4,
3358
3358
  useImperativeHandle as useImperativeHandle4,
3359
- useLayoutEffect as useLayoutEffect2,
3359
+ useLayoutEffect as useLayoutEffect3,
3360
3360
  useMemo as useMemo17,
3361
3361
  useRef as useRef13,
3362
3362
  useState as useState14
@@ -3532,7 +3532,7 @@ var ThumbnailFn = ({
3532
3532
  ...componentProps
3533
3533
  }, ref) => {
3534
3534
  if (typeof window !== "undefined") {
3535
- useLayoutEffect2(() => {
3535
+ useLayoutEffect3(() => {
3536
3536
  window.remotion_isPlayer = true;
3537
3537
  }, []);
3538
3538
  }
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/player"
4
4
  },
5
5
  "name": "@remotion/player",
6
- "version": "4.0.390",
6
+ "version": "4.0.392",
7
7
  "description": "React component for embedding a Remotion preview into your app",
8
8
  "main": "dist/cjs/index.js",
9
9
  "types": "dist/cjs/index.d.ts",
@@ -35,7 +35,7 @@
35
35
  ],
36
36
  "license": "SEE LICENSE IN LICENSE.md",
37
37
  "dependencies": {
38
- "remotion": "4.0.390"
38
+ "remotion": "4.0.392"
39
39
  },
40
40
  "peerDependencies": {
41
41
  "react": ">=16.8.0",
@@ -49,7 +49,7 @@
49
49
  "react-dom": "19.2.3",
50
50
  "webpack": "5.96.1",
51
51
  "zod": "3.22.3",
52
- "@remotion/eslint-config-internal": "4.0.390",
52
+ "@remotion/eslint-config-internal": "4.0.392",
53
53
  "eslint": "9.19.0"
54
54
  },
55
55
  "keywords": [