remotion 4.0.373 → 4.0.375

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.
@@ -5,7 +5,6 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const EditorProps_js_1 = require("./EditorProps.js");
7
7
  const RenderAssetManager_js_1 = require("./RenderAssetManager.js");
8
- const ResolveCompositionConfig_js_1 = require("./ResolveCompositionConfig.js");
9
8
  const SequenceManager_js_1 = require("./SequenceManager.js");
10
9
  const TimelineContext_js_1 = require("./TimelineContext.js");
11
10
  const shared_audio_tags_js_1 = require("./audio/shared-audio-tags.js");
@@ -47,6 +46,6 @@ const RemotionRoot = ({ children, numberOfAudioTags, logLevel, audioLatencyHint,
47
46
  const logging = (0, react_1.useMemo)(() => {
48
47
  return { logLevel, mountTime: Date.now() };
49
48
  }, [logLevel]);
50
- return ((0, jsx_runtime_1.jsx)(log_level_context_js_1.LogLevelContext.Provider, { value: logging, children: (0, jsx_runtime_1.jsx)(nonce_js_1.NonceContext.Provider, { value: nonceContext, children: (0, jsx_runtime_1.jsx)(nonce_js_1.SetNonceContext.Provider, { value: setNonceContext, children: (0, jsx_runtime_1.jsx)(TimelineContext_js_1.TimelineContextProvider, { frameState: frameState, children: (0, jsx_runtime_1.jsx)(use_media_enabled_js_1.MediaEnabledProvider, { videoEnabled: videoEnabled, audioEnabled: audioEnabled, children: (0, jsx_runtime_1.jsx)(EditorProps_js_1.EditorPropsProvider, { children: (0, jsx_runtime_1.jsx)(prefetch_state_js_1.PrefetchProvider, { children: (0, jsx_runtime_1.jsx)(SequenceManager_js_1.SequenceManagerProvider, { children: (0, jsx_runtime_1.jsx)(RenderAssetManager_js_1.RenderAssetManagerProvider, { children: (0, jsx_runtime_1.jsx)(ResolveCompositionConfig_js_1.ResolveCompositionConfig, { children: (0, jsx_runtime_1.jsx)(shared_audio_tags_js_1.SharedAudioContextProvider, { numberOfAudioTags: numberOfAudioTags, audioLatencyHint: audioLatencyHint, children: (0, jsx_runtime_1.jsx)(duration_state_js_1.DurationsContextProvider, { children: (0, jsx_runtime_1.jsx)(buffering_js_1.BufferingProvider, { children: children }) }) }) }) }) }) }) }) }) }) }) }) }));
49
+ return ((0, jsx_runtime_1.jsx)(log_level_context_js_1.LogLevelContext.Provider, { value: logging, children: (0, jsx_runtime_1.jsx)(nonce_js_1.NonceContext.Provider, { value: nonceContext, children: (0, jsx_runtime_1.jsx)(nonce_js_1.SetNonceContext.Provider, { value: setNonceContext, children: (0, jsx_runtime_1.jsx)(TimelineContext_js_1.TimelineContextProvider, { frameState: frameState, children: (0, jsx_runtime_1.jsx)(use_media_enabled_js_1.MediaEnabledProvider, { videoEnabled: videoEnabled, audioEnabled: audioEnabled, children: (0, jsx_runtime_1.jsx)(EditorProps_js_1.EditorPropsProvider, { children: (0, jsx_runtime_1.jsx)(prefetch_state_js_1.PrefetchProvider, { children: (0, jsx_runtime_1.jsx)(SequenceManager_js_1.SequenceManagerProvider, { children: (0, jsx_runtime_1.jsx)(RenderAssetManager_js_1.RenderAssetManagerProvider, { children: (0, jsx_runtime_1.jsx)(shared_audio_tags_js_1.SharedAudioContextProvider, { numberOfAudioTags: numberOfAudioTags, audioLatencyHint: audioLatencyHint, children: (0, jsx_runtime_1.jsx)(duration_state_js_1.DurationsContextProvider, { children: (0, jsx_runtime_1.jsx)(buffering_js_1.BufferingProvider, { children: children }) }) }) }) }) }) }) }) }) }) }) }));
51
50
  };
52
51
  exports.RemotionRoot = RemotionRoot;
@@ -21,7 +21,7 @@ type VideoConfigState = {
21
21
  };
22
22
  export declare const needsResolution: (composition: AnyComposition) => boolean;
23
23
  export declare const PROPS_UPDATED_EXTERNALLY = "remotion.propsUpdatedExternally";
24
- export declare const ResolveCompositionConfig: React.FC<PropsWithChildren<{
24
+ export declare const ResolveCompositionConfigInStudio: React.FC<PropsWithChildren<{
25
25
  children: React.ReactNode;
26
26
  }>>;
27
27
  export declare const useResolvedVideoConfig: (preferredCompositionId: string | null) => VideoConfigState | null;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useResolvedVideoConfig = exports.ResolveCompositionConfig = exports.PROPS_UPDATED_EXTERNALLY = exports.needsResolution = exports.resolveCompositionsRef = exports.ResolveCompositionContext = void 0;
3
+ exports.useResolvedVideoConfig = exports.ResolveCompositionConfigInStudio = exports.PROPS_UPDATED_EXTERNALLY = exports.needsResolution = exports.resolveCompositionsRef = exports.ResolveCompositionContext = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const CompositionManagerContext_js_1 = require("./CompositionManagerContext.js");
@@ -19,7 +19,7 @@ const needsResolution = (composition) => {
19
19
  };
20
20
  exports.needsResolution = needsResolution;
21
21
  exports.PROPS_UPDATED_EXTERNALLY = 'remotion.propsUpdatedExternally';
22
- const ResolveCompositionConfig = ({ children }) => {
22
+ const ResolveCompositionConfigInStudio = ({ children }) => {
23
23
  const [currentRenderModalComposition, setCurrentRenderModalComposition] = (0, react_1.useState)(null);
24
24
  const { compositions, canvasContent, currentCompositionMetadata } = (0, react_1.useContext)(CompositionManagerContext_js_1.CompositionManager);
25
25
  const { fastRefreshes, manualRefreshes } = (0, react_1.useContext)(nonce_js_1.NonceContext);
@@ -286,7 +286,7 @@ const ResolveCompositionConfig = ({ children }) => {
286
286
  }, [compositions, resolvedConfigs]);
287
287
  return ((0, jsx_runtime_1.jsx)(exports.ResolveCompositionContext.Provider, { value: resolvedConfigsIncludingStaticOnes, children: children }));
288
288
  };
289
- exports.ResolveCompositionConfig = ResolveCompositionConfig;
289
+ exports.ResolveCompositionConfigInStudio = ResolveCompositionConfigInStudio;
290
290
  const useResolvedVideoConfig = (preferredCompositionId) => {
291
291
  const context = (0, react_1.useContext)(exports.ResolveCompositionContext);
292
292
  const { props: allEditorProps } = (0, react_1.useContext)(EditorProps_js_1.EditorPropsContext);
@@ -334,7 +334,11 @@ const useResolvedVideoConfig = (preferredCompositionId) => {
334
334
  props: {
335
335
  ...((_c = composition.defaultProps) !== null && _c !== void 0 ? _c : {}),
336
336
  ...(selectedEditorProps !== null && selectedEditorProps !== void 0 ? selectedEditorProps : {}),
337
- ...(typeof window === 'undefined' || env.isPlayer
337
+ ...(typeof window === 'undefined' ||
338
+ env.isPlayer ||
339
+ // In tests, we don't set window.remotion_inputProps,
340
+ // otherwise it should be available here
341
+ !window.remotion_inputProps
338
342
  ? {}
339
343
  : ((_d = (0, input_props_js_1.getInputProps)()) !== null && _d !== void 0 ? _d : {})),
340
344
  },
@@ -346,6 +350,10 @@ const useResolvedVideoConfig = (preferredCompositionId) => {
346
350
  },
347
351
  };
348
352
  }
353
+ // Could be the case in selectComposition()
354
+ if (!context) {
355
+ return null;
356
+ }
349
357
  if (!context[composition.id]) {
350
358
  return null;
351
359
  }
@@ -1 +1,8 @@
1
+ import type { DelayRenderScope } from './delay-render.js';
2
+ /**
3
+ * Internal function that accepts scope as parameter.
4
+ * This allows useDelayRender to control its own scope source.
5
+ * @private
6
+ */
7
+ export declare function cancelRenderInternal(scope: DelayRenderScope | undefined, err: unknown): never;
1
8
  export declare function cancelRender(err: unknown): never;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cancelRenderInternal = cancelRenderInternal;
3
4
  exports.cancelRender = cancelRender;
4
5
  const isErrorLike = (err) => {
5
6
  if (err instanceof Error) {
@@ -29,11 +30,12 @@ const isErrorLike = (err) => {
29
30
  }
30
31
  return true;
31
32
  };
32
- /*
33
- * @description When you invoke this function, Remotion will stop rendering all the frames without any retries.
34
- * @see [Documentation](https://remotion.dev/docs/cancel-render)
33
+ /**
34
+ * Internal function that accepts scope as parameter.
35
+ * This allows useDelayRender to control its own scope source.
36
+ * @private
35
37
  */
36
- function cancelRender(err) {
38
+ function cancelRenderInternal(scope, err) {
37
39
  let error;
38
40
  if (isErrorLike(err)) {
39
41
  error = err;
@@ -47,6 +49,15 @@ function cancelRender(err) {
47
49
  else {
48
50
  error = Error('Rendering was cancelled');
49
51
  }
50
- window.remotion_cancelledError = error.stack;
52
+ if (scope) {
53
+ scope.remotion_cancelledError = error.stack;
54
+ }
51
55
  throw error;
52
56
  }
57
+ /*
58
+ * @description When you invoke this function, Remotion will stop rendering all the frames without any retries.
59
+ * @see [Documentation](https://remotion.dev/docs/cancel-render)
60
+ */
61
+ function cancelRender(err) {
62
+ return cancelRenderInternal(typeof window !== 'undefined' ? window : undefined, err);
63
+ }
@@ -29,6 +29,10 @@ const getInputProps = () => {
29
29
  if (override) {
30
30
  return override;
31
31
  }
32
+ if (typeof window === 'undefined' ||
33
+ typeof window.remotion_inputProps === 'undefined') {
34
+ throw new Error('Cannot call `getInputProps()` - window.remotion_inputProps is not set. This API is only available if you are in the Studio, or while you are rendering server-side.');
35
+ }
32
36
  const param = window.remotion_inputProps;
33
37
  if (!param) {
34
38
  return {};
@@ -1,3 +1,4 @@
1
+ import type { LogLevel } from './log.js';
1
2
  import type { RemotionEnvironment } from './remotion-environment-context.js';
2
3
  export type DelayRenderScope = {
3
4
  remotion_renderReady: boolean;
@@ -10,6 +11,7 @@ export type DelayRenderScope = {
10
11
  };
11
12
  remotion_puppeteerTimeout: number;
12
13
  remotion_attempt: number;
14
+ remotion_cancelledError?: string;
13
15
  };
14
16
  export declare const DELAY_RENDER_CALLSTACK_TOKEN = "The delayRender was called:";
15
17
  export declare const DELAY_RENDER_RETRIES_LEFT = "Retries left: ";
@@ -24,11 +26,21 @@ export type DelayRenderOptions = {
24
26
  * This allows useDelayRender to control its own environment source.
25
27
  * @private
26
28
  */
27
- export declare const delayRenderInternal: (scope: DelayRenderScope | undefined, environment: RemotionEnvironment, label?: string, options?: DelayRenderOptions) => number;
29
+ export declare const delayRenderInternal: ({ scope, environment, label, options, }: {
30
+ scope: DelayRenderScope | undefined;
31
+ environment: RemotionEnvironment;
32
+ label: string | null;
33
+ options: DelayRenderOptions;
34
+ }) => number;
28
35
  export declare const delayRender: (label?: string, options?: DelayRenderOptions) => number;
29
36
  /**
30
37
  * Internal function that accepts environment as parameter.
31
38
  * @private
32
39
  */
33
- export declare const continueRenderInternal: (scope: DelayRenderScope | undefined, handle: number, environment: RemotionEnvironment) => void;
40
+ export declare const continueRenderInternal: ({ scope, handle, environment, logLevel, }: {
41
+ scope: DelayRenderScope | undefined;
42
+ handle: number;
43
+ environment: RemotionEnvironment;
44
+ logLevel: LogLevel;
45
+ }) => void;
34
46
  export declare const continueRender: (handle: number) => void;
@@ -22,9 +22,9 @@ const defaultTimeout = 30000;
22
22
  * This allows useDelayRender to control its own environment source.
23
23
  * @private
24
24
  */
25
- const delayRenderInternal = (scope, environment, label, options) => {
25
+ const delayRenderInternal = ({ scope, environment, label, options, }) => {
26
26
  var _a, _b, _c, _d, _e;
27
- if (typeof label !== 'string' && typeof label !== 'undefined') {
27
+ if (typeof label !== 'string' && label !== null) {
28
28
  throw new Error('The label parameter of delayRender() must be a string or undefined, got: ' +
29
29
  JSON.stringify(label));
30
30
  }
@@ -52,7 +52,7 @@ const delayRenderInternal = (scope, environment, label, options) => {
52
52
  ]
53
53
  .filter(truthy_js_1.truthy)
54
54
  .join(' ');
55
- (0, cancel_render_js_1.cancelRender)(Error(message));
55
+ (0, cancel_render_js_1.cancelRenderInternal)(scope, Error(message));
56
56
  }, timeoutToUse),
57
57
  };
58
58
  }
@@ -68,14 +68,19 @@ exports.delayRenderInternal = delayRenderInternal;
68
68
  * @see [Documentation](https://remotion.dev/docs/delay-render)
69
69
  */
70
70
  const delayRender = (label, options) => {
71
- return (0, exports.delayRenderInternal)(typeof window !== 'undefined' ? window : undefined, (0, get_remotion_environment_js_1.getRemotionEnvironment)(), label, options);
71
+ return (0, exports.delayRenderInternal)({
72
+ scope: typeof window !== 'undefined' ? window : undefined,
73
+ environment: (0, get_remotion_environment_js_1.getRemotionEnvironment)(),
74
+ label: label !== null && label !== void 0 ? label : null,
75
+ options: options !== null && options !== void 0 ? options : {},
76
+ });
72
77
  };
73
78
  exports.delayRender = delayRender;
74
79
  /**
75
80
  * Internal function that accepts environment as parameter.
76
81
  * @private
77
82
  */
78
- const continueRenderInternal = (scope, handle, environment) => {
83
+ const continueRenderInternal = ({ scope, handle, environment, logLevel, }) => {
79
84
  if (typeof handle === 'undefined') {
80
85
  throw new TypeError('The continueRender() method must be called with a parameter that is the return value of delayRender(). No value was passed.');
81
86
  }
@@ -98,9 +103,7 @@ const continueRenderInternal = (scope, handle, environment) => {
98
103
  ]
99
104
  .filter(truthy_js_1.truthy)
100
105
  .join(' ');
101
- log_js_1.Log.verbose(
102
- // TODO: Scope logLevel
103
- { logLevel: window.remotion_logLevel, tag: 'delayRender()' }, message);
106
+ log_js_1.Log.verbose({ logLevel, tag: 'delayRender()' }, message);
104
107
  delete scope.remotion_delayRenderTimeouts[handle];
105
108
  }
106
109
  return false;
@@ -117,6 +120,14 @@ exports.continueRenderInternal = continueRenderInternal;
117
120
  * @see [Documentation](https://remotion.dev/docs/continue-render)
118
121
  */
119
122
  const continueRender = (handle) => {
120
- (0, exports.continueRenderInternal)(typeof window !== 'undefined' ? window : undefined, handle, (0, get_remotion_environment_js_1.getRemotionEnvironment)());
123
+ var _a;
124
+ (0, exports.continueRenderInternal)({
125
+ scope: typeof window !== 'undefined' ? window : undefined,
126
+ handle,
127
+ environment: (0, get_remotion_environment_js_1.getRemotionEnvironment)(),
128
+ logLevel: typeof window !== 'undefined'
129
+ ? ((_a = window.remotion_logLevel) !== null && _a !== void 0 ? _a : 'info')
130
+ : 'info',
131
+ });
121
132
  };
122
133
  exports.continueRender = continueRender;
@@ -215,7 +215,7 @@ export declare const Internals: {
215
215
  setCurrentRenderModalComposition: (compositionId: string | null) => void;
216
216
  reloadCurrentlySelectedComposition: () => void;
217
217
  } | null>;
218
- readonly ResolveCompositionConfig: import("react").FC<import("react").PropsWithChildren<{
218
+ readonly ResolveCompositionConfigInStudio: import("react").FC<import("react").PropsWithChildren<{
219
219
  children: React.ReactNode;
220
220
  }>>;
221
221
  readonly REMOTION_STUDIO_CONTAINER_ELEMENT: "__remotion-studio-container";
@@ -153,7 +153,7 @@ exports.Internals = {
153
153
  resolveVideoConfig: resolve_video_config_js_1.resolveVideoConfig,
154
154
  useResolvedVideoConfig: ResolveCompositionConfig_js_1.useResolvedVideoConfig,
155
155
  resolveCompositionsRef: ResolveCompositionConfig_js_1.resolveCompositionsRef,
156
- ResolveCompositionConfig: ResolveCompositionConfig_js_1.ResolveCompositionConfig,
156
+ ResolveCompositionConfigInStudio: ResolveCompositionConfig_js_1.ResolveCompositionConfigInStudio,
157
157
  REMOTION_STUDIO_CONTAINER_ELEMENT: get_preview_dom_element_js_1.REMOTION_STUDIO_CONTAINER_ELEMENT,
158
158
  RenderAssetManager: RenderAssetManager_js_1.RenderAssetManager,
159
159
  persistCurrentFrame: timeline_position_state_js_1.persistCurrentFrame,
@@ -1,9 +1,11 @@
1
1
  import type { DelayRenderOptions, DelayRenderScope } from './delay-render.js';
2
2
  type DelayRenderFn = (label?: string, options?: DelayRenderOptions) => number;
3
3
  type ContinueRenderFn = (handle: number) => void;
4
+ type CancelRenderFn = (err: unknown) => never;
4
5
  export declare const DelayRenderContextType: import("react").Context<DelayRenderScope | null>;
5
6
  export declare const useDelayRender: () => {
6
7
  delayRender: DelayRenderFn;
7
8
  continueRender: ContinueRenderFn;
9
+ cancelRender: CancelRenderFn;
8
10
  };
9
11
  export {};
@@ -2,18 +2,34 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useDelayRender = exports.DelayRenderContextType = void 0;
4
4
  const react_1 = require("react");
5
+ const cancel_render_js_1 = require("./cancel-render.js");
5
6
  const delay_render_js_1 = require("./delay-render.js");
7
+ const log_level_context_js_1 = require("./log-level-context.js");
6
8
  const use_remotion_environment_js_1 = require("./use-remotion-environment.js");
7
9
  exports.DelayRenderContextType = (0, react_1.createContext)(null);
8
10
  const useDelayRender = () => {
9
11
  const environment = (0, use_remotion_environment_js_1.useRemotionEnvironment)();
10
12
  const scope = (0, react_1.useContext)(exports.DelayRenderContextType);
13
+ const logLevel = (0, log_level_context_js_1.useLogLevel)();
11
14
  const delayRender = (0, react_1.useCallback)((label, options) => {
12
- return (0, delay_render_js_1.delayRenderInternal)(scope !== null && scope !== void 0 ? scope : (typeof window !== 'undefined' ? window : undefined), environment, label, options);
15
+ return (0, delay_render_js_1.delayRenderInternal)({
16
+ scope: scope !== null && scope !== void 0 ? scope : (typeof window !== 'undefined' ? window : undefined),
17
+ environment,
18
+ label: label !== null && label !== void 0 ? label : null,
19
+ options: options !== null && options !== void 0 ? options : {},
20
+ });
13
21
  }, [environment, scope]);
14
22
  const continueRender = (0, react_1.useCallback)((handle) => {
15
- (0, delay_render_js_1.continueRenderInternal)(scope !== null && scope !== void 0 ? scope : (typeof window !== 'undefined' ? window : undefined), handle, environment);
16
- }, [environment, scope]);
17
- return { delayRender, continueRender };
23
+ (0, delay_render_js_1.continueRenderInternal)({
24
+ scope: scope !== null && scope !== void 0 ? scope : (typeof window !== 'undefined' ? window : undefined),
25
+ handle,
26
+ environment,
27
+ logLevel,
28
+ });
29
+ }, [environment, logLevel, scope]);
30
+ const cancelRender = (0, react_1.useCallback)((err) => {
31
+ return (0, cancel_render_js_1.cancelRenderInternal)(scope !== null && scope !== void 0 ? scope : (typeof window !== 'undefined' ? window : undefined), err);
32
+ }, [scope]);
33
+ return { delayRender, continueRender, cancelRender };
18
34
  };
19
35
  exports.useDelayRender = useDelayRender;
@@ -3,4 +3,4 @@
3
3
  * @see [Documentation](https://remotion.dev/docs/version)
4
4
  * @returns {string} The current version of the remotion package
5
5
  */
6
- export declare const VERSION = "4.0.373";
6
+ export declare const VERSION = "4.0.375";
@@ -7,4 +7,4 @@ exports.VERSION = void 0;
7
7
  * @see [Documentation](https://remotion.dev/docs/version)
8
8
  * @returns {string} The current version of the remotion package
9
9
  */
10
- exports.VERSION = '4.0.373';
10
+ exports.VERSION = '4.0.375';
@@ -110,7 +110,7 @@ function truthy(value) {
110
110
  }
111
111
 
112
112
  // src/version.ts
113
- var VERSION = "4.0.373";
113
+ var VERSION = "4.0.375";
114
114
 
115
115
  // src/multiple-versions-warning.ts
116
116
  var checkMultipleRemotionVersions = () => {
@@ -149,7 +149,7 @@ var Null = () => {
149
149
  // src/Sequence.tsx
150
150
  import {
151
151
  forwardRef as forwardRef2,
152
- useContext as useContext12,
152
+ useContext as useContext13,
153
153
  useEffect as useEffect3,
154
154
  useMemo as useMemo10,
155
155
  useState as useState6
@@ -308,7 +308,7 @@ var SequenceManagerProvider = ({ children }) => {
308
308
 
309
309
  // src/TimelineContext.tsx
310
310
  import {
311
- createContext as createContext9,
311
+ createContext as createContext10,
312
312
  useLayoutEffect,
313
313
  useMemo as useMemo7,
314
314
  useRef as useRef2,
@@ -586,6 +586,9 @@ var getInputProps = () => {
586
586
  if (override) {
587
587
  return override;
588
588
  }
589
+ if (typeof window === "undefined" || typeof window.remotion_inputProps === "undefined") {
590
+ throw new Error("Cannot call `getInputProps()` - window.remotion_inputProps is not set. This API is only available if you are in the Studio, or while you are rendering server-side.");
591
+ }
589
592
  const param = window.remotion_inputProps;
590
593
  if (!param) {
591
594
  return {};
@@ -854,7 +857,7 @@ var needsResolution = (composition) => {
854
857
  return Boolean(composition.calculateMetadata);
855
858
  };
856
859
  var PROPS_UPDATED_EXTERNALLY = "remotion.propsUpdatedExternally";
857
- var ResolveCompositionConfig = ({ children }) => {
860
+ var ResolveCompositionConfigInStudio = ({ children }) => {
858
861
  const [currentRenderModalComposition, setCurrentRenderModalComposition] = useState4(null);
859
862
  const { compositions, canvasContent, currentCompositionMetadata } = useContext4(CompositionManager);
860
863
  const { fastRefreshes, manualRefreshes } = useContext4(NonceContext);
@@ -1151,7 +1154,7 @@ var useResolvedVideoConfig = (preferredCompositionId) => {
1151
1154
  props: {
1152
1155
  ...composition.defaultProps ?? {},
1153
1156
  ...selectedEditorProps ?? {},
1154
- ...typeof window === "undefined" || env.isPlayer ? {} : getInputProps() ?? {}
1157
+ ...typeof window === "undefined" || env.isPlayer || !window.remotion_inputProps ? {} : getInputProps() ?? {}
1155
1158
  },
1156
1159
  defaultCodec: null,
1157
1160
  defaultOutName: null,
@@ -1161,6 +1164,9 @@ var useResolvedVideoConfig = (preferredCompositionId) => {
1161
1164
  }
1162
1165
  };
1163
1166
  }
1167
+ if (!context) {
1168
+ return null;
1169
+ }
1164
1170
  if (!context[composition.id]) {
1165
1171
  return null;
1166
1172
  }
@@ -1248,7 +1254,7 @@ var usePlayingState = () => {
1248
1254
  };
1249
1255
 
1250
1256
  // src/use-delay-render.tsx
1251
- import { createContext as createContext8, useCallback as useCallback4, useContext as useContext7 } from "react";
1257
+ import { createContext as createContext9, useCallback as useCallback4, useContext as useContext8 } from "react";
1252
1258
 
1253
1259
  // src/cancel-render.ts
1254
1260
  var isErrorLike = (err) => {
@@ -1275,7 +1281,7 @@ var isErrorLike = (err) => {
1275
1281
  }
1276
1282
  return true;
1277
1283
  };
1278
- function cancelRender(err) {
1284
+ function cancelRenderInternal(scope, err) {
1279
1285
  let error;
1280
1286
  if (isErrorLike(err)) {
1281
1287
  error = err;
@@ -1287,9 +1293,14 @@ function cancelRender(err) {
1287
1293
  } else {
1288
1294
  error = Error("Rendering was cancelled");
1289
1295
  }
1290
- window.remotion_cancelledError = error.stack;
1296
+ if (scope) {
1297
+ scope.remotion_cancelledError = error.stack;
1298
+ }
1291
1299
  throw error;
1292
1300
  }
1301
+ function cancelRender(err) {
1302
+ return cancelRenderInternal(typeof window !== "undefined" ? window : undefined, err);
1303
+ }
1293
1304
 
1294
1305
  // src/log.ts
1295
1306
  var logLevels = ["trace", "verbose", "info", "warn", "error"];
@@ -1357,8 +1368,13 @@ var DELAY_RENDER_RETRIES_LEFT = "Retries left: ";
1357
1368
  var DELAY_RENDER_RETRY_TOKEN = "- Rendering the frame will be retried.";
1358
1369
  var DELAY_RENDER_CLEAR_TOKEN = "handle was cleared after";
1359
1370
  var defaultTimeout = 30000;
1360
- var delayRenderInternal = (scope, environment, label, options) => {
1361
- if (typeof label !== "string" && typeof label !== "undefined") {
1371
+ var delayRenderInternal = ({
1372
+ scope,
1373
+ environment,
1374
+ label,
1375
+ options
1376
+ }) => {
1377
+ if (typeof label !== "string" && label !== null) {
1362
1378
  throw new Error("The label parameter of delayRender() must be a string or undefined, got: " + JSON.stringify(label));
1363
1379
  }
1364
1380
  const handle = Math.random();
@@ -1381,7 +1397,7 @@ var delayRenderInternal = (scope, environment, label, options) => {
1381
1397
  DELAY_RENDER_CALLSTACK_TOKEN,
1382
1398
  called
1383
1399
  ].filter(truthy).join(" ");
1384
- cancelRender(Error(message));
1400
+ cancelRenderInternal(scope, Error(message));
1385
1401
  }, timeoutToUse)
1386
1402
  };
1387
1403
  }
@@ -1392,9 +1408,19 @@ var delayRenderInternal = (scope, environment, label, options) => {
1392
1408
  return handle;
1393
1409
  };
1394
1410
  var delayRender = (label, options) => {
1395
- return delayRenderInternal(typeof window !== "undefined" ? window : undefined, getRemotionEnvironment(), label, options);
1411
+ return delayRenderInternal({
1412
+ scope: typeof window !== "undefined" ? window : undefined,
1413
+ environment: getRemotionEnvironment(),
1414
+ label: label ?? null,
1415
+ options: options ?? {}
1416
+ });
1396
1417
  };
1397
- var continueRenderInternal = (scope, handle, environment) => {
1418
+ var continueRenderInternal = ({
1419
+ scope,
1420
+ handle,
1421
+ environment,
1422
+ logLevel
1423
+ }) => {
1398
1424
  if (typeof handle === "undefined") {
1399
1425
  throw new TypeError("The continueRender() method must be called with a parameter that is the return value of delayRender(). No value was passed.");
1400
1426
  }
@@ -1414,7 +1440,7 @@ var continueRenderInternal = (scope, handle, environment) => {
1414
1440
  DELAY_RENDER_CLEAR_TOKEN,
1415
1441
  `${Date.now() - startTime}ms`
1416
1442
  ].filter(truthy).join(" ");
1417
- Log.verbose({ logLevel: window.remotion_logLevel, tag: "delayRender()" }, message);
1443
+ Log.verbose({ logLevel, tag: "delayRender()" }, message);
1418
1444
  delete scope.remotion_delayRenderTimeouts[handle];
1419
1445
  }
1420
1446
  return false;
@@ -1426,26 +1452,67 @@ var continueRenderInternal = (scope, handle, environment) => {
1426
1452
  }
1427
1453
  };
1428
1454
  var continueRender = (handle) => {
1429
- continueRenderInternal(typeof window !== "undefined" ? window : undefined, handle, getRemotionEnvironment());
1455
+ continueRenderInternal({
1456
+ scope: typeof window !== "undefined" ? window : undefined,
1457
+ handle,
1458
+ environment: getRemotionEnvironment(),
1459
+ logLevel: typeof window !== "undefined" ? window.remotion_logLevel ?? "info" : "info"
1460
+ });
1461
+ };
1462
+
1463
+ // src/log-level-context.tsx
1464
+ import { createContext as createContext8 } from "react";
1465
+ import * as React6 from "react";
1466
+ var LogLevelContext = createContext8({
1467
+ logLevel: "info",
1468
+ mountTime: 0
1469
+ });
1470
+ var useLogLevel = () => {
1471
+ const { logLevel } = React6.useContext(LogLevelContext);
1472
+ if (logLevel === null) {
1473
+ throw new Error("useLogLevel must be used within a LogLevelProvider");
1474
+ }
1475
+ return logLevel;
1476
+ };
1477
+ var useMountTime = () => {
1478
+ const { mountTime } = React6.useContext(LogLevelContext);
1479
+ if (mountTime === null) {
1480
+ throw new Error("useMountTime must be used within a LogLevelProvider");
1481
+ }
1482
+ return mountTime;
1430
1483
  };
1431
1484
 
1432
1485
  // src/use-delay-render.tsx
1433
- var DelayRenderContextType = createContext8(null);
1486
+ var DelayRenderContextType = createContext9(null);
1434
1487
  var useDelayRender = () => {
1435
1488
  const environment = useRemotionEnvironment();
1436
- const scope = useContext7(DelayRenderContextType);
1489
+ const scope = useContext8(DelayRenderContextType);
1490
+ const logLevel = useLogLevel();
1437
1491
  const delayRender2 = useCallback4((label, options) => {
1438
- return delayRenderInternal(scope ?? (typeof window !== "undefined" ? window : undefined), environment, label, options);
1492
+ return delayRenderInternal({
1493
+ scope: scope ?? (typeof window !== "undefined" ? window : undefined),
1494
+ environment,
1495
+ label: label ?? null,
1496
+ options: options ?? {}
1497
+ });
1439
1498
  }, [environment, scope]);
1440
1499
  const continueRender2 = useCallback4((handle) => {
1441
- continueRenderInternal(scope ?? (typeof window !== "undefined" ? window : undefined), handle, environment);
1442
- }, [environment, scope]);
1443
- return { delayRender: delayRender2, continueRender: continueRender2 };
1500
+ continueRenderInternal({
1501
+ scope: scope ?? (typeof window !== "undefined" ? window : undefined),
1502
+ handle,
1503
+ environment,
1504
+ logLevel
1505
+ });
1506
+ }, [environment, logLevel, scope]);
1507
+ const cancelRender2 = useCallback4((err) => {
1508
+ return cancelRenderInternal(scope ?? (typeof window !== "undefined" ? window : undefined), err);
1509
+ }, [scope]);
1510
+ return { delayRender: delayRender2, continueRender: continueRender2, cancelRender: cancelRender2 };
1444
1511
  };
1445
1512
 
1446
1513
  // src/TimelineContext.tsx
1447
1514
  import { jsx as jsx6 } from "react/jsx-runtime";
1448
- var SetTimelineContext = createContext9({
1515
+ var SetTimelineContext = createContext10({
1449
1516
  setFrame: () => {
1450
1517
  throw new Error("default");
1451
1518
  },
@@ -1453,7 +1520,7 @@ var SetTimelineContext = createContext9({
1453
1520
  throw new Error("default");
1454
1521
  }
1455
1522
  });
1456
- var TimelineContext = createContext9({
1523
+ var TimelineContext = createContext10({
1457
1524
  frame: {},
1458
1525
  playing: false,
1459
1526
  playbackRate: 1,
@@ -1528,12 +1595,12 @@ var TimelineContextProvider = ({ children, frameState }) => {
1528
1595
  };
1529
1596
 
1530
1597
  // src/use-video-config.ts
1531
- import { useContext as useContext9 } from "react";
1598
+ import { useContext as useContext10 } from "react";
1532
1599
 
1533
1600
  // src/CanUseRemotionHooks.tsx
1534
- import { createContext as createContext10 } from "react";
1601
+ import { createContext as createContext11 } from "react";
1535
1602
  import { jsx as jsx7 } from "react/jsx-runtime";
1536
- var CanUseRemotionHooks = createContext10(false);
1603
+ var CanUseRemotionHooks = createContext11(false);
1537
1604
  var CanUseRemotionHooksProvider = ({ children }) => {
1538
1605
  return /* @__PURE__ */ jsx7(CanUseRemotionHooks.Provider, {
1539
1606
  value: true,
@@ -1542,9 +1609,9 @@ var CanUseRemotionHooksProvider = ({ children }) => {
1542
1609
  };
1543
1610
 
1544
1611
  // src/use-unsafe-video-config.ts
1545
- import { useContext as useContext8, useMemo as useMemo8 } from "react";
1612
+ import { useContext as useContext9, useMemo as useMemo8 } from "react";
1546
1613
  var useUnsafeVideoConfig = () => {
1547
- const context = useContext8(SequenceContext);
1614
+ const context = useContext9(SequenceContext);
1548
1615
  const ctxWidth = context?.width ?? null;
1549
1616
  const ctxHeight = context?.height ?? null;
1550
1617
  const ctxDuration = context?.durationInFrames ?? null;
@@ -1587,7 +1654,7 @@ var useUnsafeVideoConfig = () => {
1587
1654
  // src/use-video-config.ts
1588
1655
  var useVideoConfig = () => {
1589
1656
  const videoConfig = useUnsafeVideoConfig();
1590
- const context = useContext9(CanUseRemotionHooks);
1657
+ const context = useContext10(CanUseRemotionHooks);
1591
1658
  const isPlayer = useIsPlayer();
1592
1659
  if (!videoConfig) {
1593
1660
  if (typeof window !== "undefined" && window.remotion_isPlayer || isPlayer) {
@@ -1606,12 +1673,12 @@ var useVideoConfig = () => {
1606
1673
  };
1607
1674
 
1608
1675
  // src/freeze.tsx
1609
- import { useContext as useContext11, useMemo as useMemo9 } from "react";
1676
+ import { useContext as useContext12, useMemo as useMemo9 } from "react";
1610
1677
 
1611
1678
  // src/use-current-frame.ts
1612
- import { useContext as useContext10 } from "react";
1679
+ import { useContext as useContext11 } from "react";
1613
1680
  var useCurrentFrame = () => {
1614
- const canUseRemotionHooks = useContext10(CanUseRemotionHooks);
1681
+ const canUseRemotionHooks = useContext11(CanUseRemotionHooks);
1615
1682
  const env = useRemotionEnvironment();
1616
1683
  if (!canUseRemotionHooks) {
1617
1684
  if (env.isPlayer) {
@@ -1620,7 +1687,7 @@ var useCurrentFrame = () => {
1620
1687
  throw new Error(`useCurrentFrame() can only be called inside a component that was registered as a composition. See https://www.remotion.dev/docs/the-fundamentals#defining-compositions`);
1621
1688
  }
1622
1689
  const frame = useTimelinePosition();
1623
- const context = useContext10(SequenceContext);
1690
+ const context = useContext11(SequenceContext);
1624
1691
  const contextOffset = context ? context.cumulatedFrom + context.relativeFrom : 0;
1625
1692
  return frame - contextOffset;
1626
1693
  };
@@ -1654,8 +1721,8 @@ var Freeze = ({
1654
1721
  return active(frame);
1655
1722
  }
1656
1723
  }, [active, frame]);
1657
- const timelineContext = useContext11(TimelineContext);
1658
- const sequenceContext = useContext11(SequenceContext);
1724
+ const timelineContext = useContext12(TimelineContext);
1725
+ const sequenceContext = useContext12(SequenceContext);
1659
1726
  const relativeFrom = sequenceContext?.relativeFrom ?? 0;
1660
1727
  const timelineValue = useMemo9(() => {
1661
1728
  if (!isActive) {
@@ -1712,8 +1779,8 @@ var RegularSequenceRefForwardingFunction = ({
1712
1779
  }, ref) => {
1713
1780
  const { layout = "absolute-fill" } = other;
1714
1781
  const [id] = useState6(() => String(Math.random()));
1715
- const parentSequence = useContext12(SequenceContext);
1716
- const { rootId } = useContext12(TimelineContext);
1782
+ const parentSequence = useContext13(SequenceContext);
1783
+ const { rootId } = useContext13(TimelineContext);
1717
1784
  const cumulatedFrom = parentSequence ? parentSequence.cumulatedFrom + parentSequence.relativeFrom : 0;
1718
1785
  const nonce = useNonce();
1719
1786
  if (layout !== "absolute-fill" && layout !== "none") {
@@ -1738,8 +1805,8 @@ var RegularSequenceRefForwardingFunction = ({
1738
1805
  const videoConfig = useVideoConfig();
1739
1806
  const parentSequenceDuration = parentSequence ? Math.min(parentSequence.durationInFrames - from, durationInFrames) : durationInFrames;
1740
1807
  const actualDurationInFrames = Math.max(0, Math.min(videoConfig.durationInFrames - from, parentSequenceDuration));
1741
- const { registerSequence, unregisterSequence } = useContext12(SequenceManager);
1742
- const { hidden } = useContext12(SequenceVisibilityToggleContext);
1808
+ const { registerSequence, unregisterSequence } = useContext13(SequenceManager);
1809
+ const { hidden } = useContext13(SequenceVisibilityToggleContext);
1743
1810
  const premounting = useMemo10(() => {
1744
1811
  return parentSequence?.premounting || Boolean(other._remotionInternalIsPremounting);
1745
1812
  }, [other._remotionInternalIsPremounting, parentSequence?.premounting]);
@@ -1926,7 +1993,7 @@ import {
1926
1993
  } from "react";
1927
1994
 
1928
1995
  // src/animated-image/canvas.tsx
1929
- import React10, { useCallback as useCallback5, useImperativeHandle as useImperativeHandle3, useRef as useRef3 } from "react";
1996
+ import React11, { useCallback as useCallback5, useImperativeHandle as useImperativeHandle3, useRef as useRef3 } from "react";
1930
1997
  import { jsx as jsx10 } from "react/jsx-runtime";
1931
1998
  var calcArgs = (fit, frameSize, canvasSize) => {
1932
1999
  switch (fit) {
@@ -2023,7 +2090,7 @@ var CanvasRefForwardingFunction = ({ width, height, fit, className, style }, ref
2023
2090
  style
2024
2091
  });
2025
2092
  };
2026
- var Canvas = React10.forwardRef(CanvasRefForwardingFunction);
2093
+ var Canvas = React11.forwardRef(CanvasRefForwardingFunction);
2027
2094
 
2028
2095
  // src/animated-image/decode-image.ts
2029
2096
  var CACHE_SIZE = 5;
@@ -2285,11 +2352,11 @@ var AnimatedImage = forwardRef3(({
2285
2352
  });
2286
2353
  });
2287
2354
  // src/Artifact.tsx
2288
- import { useContext as useContext13, useEffect as useEffect5, useState as useState9 } from "react";
2355
+ import { useContext as useContext14, useEffect as useEffect5, useState as useState9 } from "react";
2289
2356
 
2290
2357
  // src/RenderAssetManager.tsx
2291
2358
  import {
2292
- createContext as createContext11,
2359
+ createContext as createContext12,
2293
2360
  useCallback as useCallback6,
2294
2361
  useLayoutEffect as useLayoutEffect3,
2295
2362
  useMemo as useMemo11,
@@ -2329,7 +2396,7 @@ var validateRenderAsset = (artifact) => {
2329
2396
 
2330
2397
  // src/RenderAssetManager.tsx
2331
2398
  import { jsx as jsx12 } from "react/jsx-runtime";
2332
- var RenderAssetManager = createContext11({
2399
+ var RenderAssetManager = createContext12({
2333
2400
  registerRenderAsset: () => {
2334
2401
  return;
2335
2402
  },
@@ -2375,7 +2442,7 @@ var RenderAssetManagerProvider = ({ children }) => {
2375
2442
  // src/Artifact.tsx
2376
2443
  var ArtifactThumbnail = Symbol("Thumbnail");
2377
2444
  var Artifact = ({ filename, content, downloadBehavior }) => {
2378
- const { registerRenderAsset, unregisterRenderAsset } = useContext13(RenderAssetManager);
2445
+ const { registerRenderAsset, unregisterRenderAsset } = useContext14(RenderAssetManager);
2379
2446
  const env = useRemotionEnvironment();
2380
2447
  const frame = useCurrentFrame();
2381
2448
  const [id] = useState9(() => {
@@ -2464,11 +2531,11 @@ var calculateMediaDuration = ({
2464
2531
  };
2465
2532
 
2466
2533
  // src/loop/index.tsx
2467
- import React11, { createContext as createContext12, useMemo as useMemo12 } from "react";
2534
+ import React12, { createContext as createContext13, useMemo as useMemo12 } from "react";
2468
2535
  import { jsx as jsx13 } from "react/jsx-runtime";
2469
- var LoopContext = createContext12(null);
2536
+ var LoopContext = createContext13(null);
2470
2537
  var useLoop = () => {
2471
- return React11.useContext(LoopContext);
2538
+ return React12.useContext(LoopContext);
2472
2539
  };
2473
2540
  var Loop = ({ durationInFrames, times = Infinity, children, name, ...props }) => {
2474
2541
  const currentFrame = useCurrentFrame();
@@ -2522,7 +2589,7 @@ var Loop = ({ durationInFrames, times = Infinity, children, name, ...props }) =>
2522
2589
  Loop.useLoop = useLoop;
2523
2590
 
2524
2591
  // src/prefetch.ts
2525
- import { useContext as useContext14 } from "react";
2592
+ import { useContext as useContext15 } from "react";
2526
2593
 
2527
2594
  // src/playback-logging.ts
2528
2595
  var playbackLogging = ({
@@ -2536,9 +2603,9 @@ var playbackLogging = ({
2536
2603
  };
2537
2604
 
2538
2605
  // src/prefetch-state.tsx
2539
- import { createContext as createContext13, useEffect as useEffect6, useState as useState10 } from "react";
2606
+ import { createContext as createContext14, useEffect as useEffect6, useState as useState10 } from "react";
2540
2607
  import { jsx as jsx14 } from "react/jsx-runtime";
2541
- var PreloadContext = createContext13({});
2608
+ var PreloadContext = createContext14({});
2542
2609
  var preloads = {};
2543
2610
  var updaters = [];
2544
2611
  var setPreloads = (updater) => {
@@ -2578,7 +2645,7 @@ var getSrcWithoutHash = (src) => {
2578
2645
  return src.slice(0, hashIndex);
2579
2646
  };
2580
2647
  var usePreload = (src) => {
2581
- const preloads2 = useContext14(PreloadContext);
2648
+ const preloads2 = useContext15(PreloadContext);
2582
2649
  const hashFragmentIndex = removeAndGetHashFragment(src);
2583
2650
  const withoutHashFragment = getSrcWithoutHash(src);
2584
2651
  if (!preloads2[withoutHashFragment]) {
@@ -2851,7 +2918,7 @@ var resolveTrimProps = ({
2851
2918
  };
2852
2919
 
2853
2920
  // src/video/duration-state.tsx
2854
- import { createContext as createContext14, useMemo as useMemo13, useReducer } from "react";
2921
+ import { createContext as createContext15, useMemo as useMemo13, useReducer } from "react";
2855
2922
  import { jsx as jsx15 } from "react/jsx-runtime";
2856
2923
  var durationReducer = (state, action) => {
2857
2924
  switch (action.type) {
@@ -2869,7 +2936,7 @@ var durationReducer = (state, action) => {
2869
2936
  return state;
2870
2937
  }
2871
2938
  };
2872
- var DurationsContext = createContext14({
2939
+ var DurationsContext = createContext15({
2873
2940
  durations: {},
2874
2941
  setDurations: () => {
2875
2942
  throw new Error("context missing");
@@ -2914,28 +2981,6 @@ var getCrossOriginValue = ({
2914
2981
  return;
2915
2982
  };
2916
2983
 
2917
- // src/log-level-context.tsx
2918
- import { createContext as createContext15 } from "react";
2919
- import * as React14 from "react";
2920
- var LogLevelContext = createContext15({
2921
- logLevel: "info",
2922
- mountTime: 0
2923
- });
2924
- var useLogLevel = () => {
2925
- const { logLevel } = React14.useContext(LogLevelContext);
2926
- if (logLevel === null) {
2927
- throw new Error("useLogLevel must be used within a LogLevelProvider");
2928
- }
2929
- return logLevel;
2930
- };
2931
- var useMountTime = () => {
2932
- const { mountTime } = React14.useContext(LogLevelContext);
2933
- if (mountTime === null) {
2934
- throw new Error("useMountTime must be used within a LogLevelProvider");
2935
- }
2936
- return mountTime;
2937
- };
2938
-
2939
2984
  // src/use-amplification.ts
2940
2985
  import { useContext as useContext17, useLayoutEffect as useLayoutEffect4, useRef as useRef7 } from "react";
2941
2986
 
@@ -6123,14 +6168,12 @@ var RemotionRoot = ({
6123
6168
  children: /* @__PURE__ */ jsx28(PrefetchProvider, {
6124
6169
  children: /* @__PURE__ */ jsx28(SequenceManagerProvider, {
6125
6170
  children: /* @__PURE__ */ jsx28(RenderAssetManagerProvider, {
6126
- children: /* @__PURE__ */ jsx28(ResolveCompositionConfig, {
6127
- children: /* @__PURE__ */ jsx28(SharedAudioContextProvider, {
6128
- numberOfAudioTags,
6129
- audioLatencyHint,
6130
- children: /* @__PURE__ */ jsx28(DurationsContextProvider, {
6131
- children: /* @__PURE__ */ jsx28(BufferingProvider, {
6132
- children
6133
- })
6171
+ children: /* @__PURE__ */ jsx28(SharedAudioContextProvider, {
6172
+ numberOfAudioTags,
6173
+ audioLatencyHint,
6174
+ children: /* @__PURE__ */ jsx28(DurationsContextProvider, {
6175
+ children: /* @__PURE__ */ jsx28(BufferingProvider, {
6176
+ children
6134
6177
  })
6135
6178
  })
6136
6179
  })
@@ -7042,7 +7085,7 @@ var Internals = {
7042
7085
  resolveVideoConfig,
7043
7086
  useResolvedVideoConfig,
7044
7087
  resolveCompositionsRef,
7045
- ResolveCompositionConfig,
7088
+ ResolveCompositionConfigInStudio,
7046
7089
  REMOTION_STUDIO_CONTAINER_ELEMENT,
7047
7090
  RenderAssetManager,
7048
7091
  persistCurrentFrame,
@@ -1,5 +1,5 @@
1
1
  // src/version.ts
2
- var VERSION = "4.0.373";
2
+ var VERSION = "4.0.375";
3
3
  export {
4
4
  VERSION
5
5
  };
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/core"
4
4
  },
5
5
  "name": "remotion",
6
- "version": "4.0.373",
6
+ "version": "4.0.375",
7
7
  "description": "Make videos programmatically",
8
8
  "main": "dist/cjs/index.js",
9
9
  "types": "dist/cjs/index.d.ts",
@@ -34,7 +34,7 @@
34
34
  "react-dom": "19.0.0",
35
35
  "webpack": "5.96.1",
36
36
  "zod": "3.22.3",
37
- "@remotion/eslint-config-internal": "4.0.373",
37
+ "@remotion/eslint-config-internal": "4.0.375",
38
38
  "eslint": "9.19.0"
39
39
  },
40
40
  "keywords": [