@remotion/gif 4.0.402 → 4.0.403

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.
@@ -10,7 +10,7 @@ const is_cors_error_1 = require("./is-cors-error");
10
10
  const react_tools_1 = require("./react-tools");
11
11
  const resolve_gif_source_1 = require("./resolve-gif-source");
12
12
  const useCurrentGifIndex_1 = require("./useCurrentGifIndex");
13
- exports.GifForRendering = (0, react_1.forwardRef)(({ src, width, height, onLoad, onError, loopBehavior = 'loop', playbackRate = 1, fit = 'fill', ...props }, ref) => {
13
+ exports.GifForRendering = (0, react_1.forwardRef)(({ src, width, height, onLoad, onError, loopBehavior = 'loop', playbackRate = 1, fit = 'fill', delayRenderTimeoutInMilliseconds, ...props }, ref) => {
14
14
  const resolvedSrc = (0, resolve_gif_source_1.resolveGifSource)(src);
15
15
  const { delayRender, continueRender } = (0, remotion_1.useDelayRender)();
16
16
  const [state, update] = (0, react_1.useState)(() => {
@@ -26,7 +26,9 @@ exports.GifForRendering = (0, react_1.forwardRef)(({ src, width, height, onLoad,
26
26
  return parsedGif;
27
27
  });
28
28
  const [error, setError] = (0, react_1.useState)(null);
29
- const [renderHandle] = (0, react_1.useState)(() => delayRender(`Rendering <Gif/> with src="${resolvedSrc}"`));
29
+ const [renderHandle] = (0, react_1.useState)(() => delayRender(`Rendering <Gif/> with src="${resolvedSrc}"`, {
30
+ timeoutInMilliseconds: delayRenderTimeoutInMilliseconds,
31
+ }));
30
32
  const logLevel = remotion_1.Internals.useLogLevel();
31
33
  (0, react_1.useEffect)(() => {
32
34
  return () => {
@@ -46,7 +48,9 @@ exports.GifForRendering = (0, react_1.forwardRef)(({ src, width, height, onLoad,
46
48
  const controller = new AbortController();
47
49
  let done = false;
48
50
  let aborted = false;
49
- const newHandle = delayRender('Loading <Gif /> with src=' + resolvedSrc);
51
+ const newHandle = delayRender('Loading <Gif /> with src=' + resolvedSrc, {
52
+ timeoutInMilliseconds: delayRenderTimeoutInMilliseconds,
53
+ });
50
54
  remotion_1.Internals.Log.verbose({ logLevel, tag: null }, 'Loading GIF with source', resolvedSrc);
51
55
  const time = Date.now();
52
56
  (0, react_tools_1.parseGif)({ controller, src: resolvedSrc })
@@ -81,7 +85,14 @@ exports.GifForRendering = (0, react_1.forwardRef)(({ src, width, height, onLoad,
81
85
  continueRender(newHandle);
82
86
  continueRender(renderHandle);
83
87
  };
84
- }, [renderHandle, logLevel, resolvedSrc, delayRender, continueRender]);
88
+ }, [
89
+ renderHandle,
90
+ logLevel,
91
+ resolvedSrc,
92
+ delayRender,
93
+ continueRender,
94
+ delayRenderTimeoutInMilliseconds,
95
+ ]);
85
96
  if (error) {
86
97
  remotion_1.Internals.Log.error({ logLevel, tag: null }, error.stack);
87
98
  if ((0, is_cors_error_1.isCorsError)(error)) {
@@ -15,6 +15,7 @@ export type RemotionGifProps = {
15
15
  style?: React.CSSProperties;
16
16
  loopBehavior?: GifLoopBehavior;
17
17
  id?: string;
18
+ delayRenderTimeoutInMilliseconds?: number;
18
19
  };
19
20
  export type GifState = {
20
21
  delays: number[];
@@ -1133,6 +1133,7 @@ var GifForRendering = forwardRef3(({
1133
1133
  loopBehavior = "loop",
1134
1134
  playbackRate = 1,
1135
1135
  fit = "fill",
1136
+ delayRenderTimeoutInMilliseconds,
1136
1137
  ...props
1137
1138
  }, ref) => {
1138
1139
  const resolvedSrc = resolveGifSource(src2);
@@ -1150,7 +1151,9 @@ var GifForRendering = forwardRef3(({
1150
1151
  return parsedGif;
1151
1152
  });
1152
1153
  const [error, setError] = useState4(null);
1153
- const [renderHandle] = useState4(() => delayRender(`Rendering <Gif/> with src="${resolvedSrc}"`));
1154
+ const [renderHandle] = useState4(() => delayRender(`Rendering <Gif/> with src="${resolvedSrc}"`, {
1155
+ timeoutInMilliseconds: delayRenderTimeoutInMilliseconds
1156
+ }));
1154
1157
  const logLevel = Internals.useLogLevel();
1155
1158
  useEffect4(() => {
1156
1159
  return () => {
@@ -1170,7 +1173,9 @@ var GifForRendering = forwardRef3(({
1170
1173
  const controller = new AbortController;
1171
1174
  let done = false;
1172
1175
  let aborted = false;
1173
- const newHandle = delayRender("Loading <Gif /> with src=" + resolvedSrc);
1176
+ const newHandle = delayRender("Loading <Gif /> with src=" + resolvedSrc, {
1177
+ timeoutInMilliseconds: delayRenderTimeoutInMilliseconds
1178
+ });
1174
1179
  Internals.Log.verbose({ logLevel, tag: null }, "Loading GIF with source", resolvedSrc);
1175
1180
  const time = Date.now();
1176
1181
  parseGif({ controller, src: resolvedSrc }).then((parsed) => {
@@ -1201,7 +1206,14 @@ var GifForRendering = forwardRef3(({
1201
1206
  continueRender(newHandle);
1202
1207
  continueRender(renderHandle);
1203
1208
  };
1204
- }, [renderHandle, logLevel, resolvedSrc, delayRender, continueRender]);
1209
+ }, [
1210
+ renderHandle,
1211
+ logLevel,
1212
+ resolvedSrc,
1213
+ delayRender,
1214
+ continueRender,
1215
+ delayRenderTimeoutInMilliseconds
1216
+ ]);
1205
1217
  if (error) {
1206
1218
  Internals.Log.error({ logLevel, tag: null }, error.stack);
1207
1219
  if (isCorsError(error)) {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/gif"
4
4
  },
5
5
  "name": "@remotion/gif",
6
- "version": "4.0.402",
6
+ "version": "4.0.403",
7
7
  "description": "Embed GIFs in a Remotion video",
8
8
  "sideEffects": false,
9
9
  "bugs": {
@@ -29,14 +29,14 @@
29
29
  }
30
30
  },
31
31
  "dependencies": {
32
- "remotion": "4.0.402"
32
+ "remotion": "4.0.403"
33
33
  },
34
34
  "devDependencies": {
35
35
  "esbuild": "0.25.0",
36
36
  "react": "19.2.3",
37
37
  "react-dom": "19.2.3",
38
38
  "webpack": "5.96.1",
39
- "@remotion/eslint-config-internal": "4.0.402",
39
+ "@remotion/eslint-config-internal": "4.0.403",
40
40
  "eslint": "9.19.0"
41
41
  },
42
42
  "peerDependencies": {