@remotion/promo-pages 4.0.491 → 4.0.493

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/experts.js CHANGED
@@ -941,6 +941,7 @@ import * as React6 from "react";
941
941
  import React7, { useMemo as useMemo6, useRef as useRef2 } from "react";
942
942
  import { useContext as useContext8, useMemo as useMemo7 } from "react";
943
943
  import { jsx as jsx7 } from "react/jsx-runtime";
944
+ import React9 from "react";
944
945
  import {
945
946
  forwardRef as forwardRef3,
946
947
  useCallback as useCallback6,
@@ -966,11 +967,11 @@ import { useContext as useContext13 } from "react";
966
967
  import { useContext as useContext12, useMemo as useMemo10 } from "react";
967
968
  import { jsx as jsx9 } from "react/jsx-runtime";
968
969
  import { createContext as createContext14 } from "react";
969
- import React11, { useCallback as useCallback5, useMemo as useMemo12, useRef as useRef4, useState as useState3 } from "react";
970
+ import React12, { useCallback as useCallback5, useMemo as useMemo12, useRef as useRef4, useState as useState3 } from "react";
970
971
  import { jsx as jsx10 } from "react/jsx-runtime";
971
- import React12, { createContext as createContext15 } from "react";
972
+ import React13, { createContext as createContext15 } from "react";
972
973
  import { jsx as jsx11 } from "react/jsx-runtime";
973
- import React13, { forwardRef as forwardRef2, useContext as useContext16, useMemo as useMemo13, useState as useState4 } from "react";
974
+ import React14, { forwardRef as forwardRef2, useContext as useContext16, useMemo as useMemo13, useState as useState4 } from "react";
974
975
  import { useContext as useContext15, useRef as useRef5 } from "react";
975
976
  import { createContext as createContext16 } from "react";
976
977
  import { jsx as jsx12 } from "react/jsx-runtime";
@@ -982,7 +983,7 @@ import {
982
983
  useRef as useRef9,
983
984
  useState as useState6
984
985
  } from "react";
985
- import React15, { useCallback as useCallback7, useImperativeHandle, useMemo as useMemo16, useRef as useRef8 } from "react";
986
+ import React16, { useCallback as useCallback7, useImperativeHandle, useMemo as useMemo16, useRef as useRef8 } from "react";
986
987
  import { useEffect as useEffect4, useMemo as useMemo15, useRef as useRef7 } from "react";
987
988
  import { jsx as jsx13 } from "react/jsx-runtime";
988
989
  import { jsx as jsx14 } from "react/jsx-runtime";
@@ -998,7 +999,7 @@ import {
998
999
  } from "react";
999
1000
  import { jsx as jsx15 } from "react/jsx-runtime";
1000
1001
  import { forwardRef as forwardRef7, useCallback as useCallback14, useContext as useContext30 } from "react";
1001
- import React16, { createContext as createContext18, useMemo as useMemo18 } from "react";
1002
+ import React17, { createContext as createContext18, useMemo as useMemo18 } from "react";
1002
1003
  import { jsx as jsx16 } from "react/jsx-runtime";
1003
1004
  import { useContext as useContext19 } from "react";
1004
1005
  import { createContext as createContext19, useEffect as useEffect6, useState as useState9 } from "react";
@@ -1006,7 +1007,7 @@ import { jsx as jsx17 } from "react/jsx-runtime";
1006
1007
  import { createContext as createContext20, useMemo as useMemo19, useReducer } from "react";
1007
1008
  import { jsx as jsx18 } from "react/jsx-runtime";
1008
1009
  import { useCallback as useCallback13 } from "react";
1009
- import React22, {
1010
+ import React23, {
1010
1011
  forwardRef as forwardRef5,
1011
1012
  useContext as useContext28,
1012
1013
  useEffect as useEffect14,
@@ -1016,7 +1017,7 @@ import React22, {
1016
1017
  useState as useState14
1017
1018
  } from "react";
1018
1019
  import { useContext as useContext21, useLayoutEffect as useLayoutEffect5, useRef as useRef14 } from "react";
1019
- import React19, {
1020
+ import React20, {
1020
1021
  createContext as createContext21,
1021
1022
  createRef as createRef2,
1022
1023
  useCallback as useCallback9,
@@ -1040,7 +1041,7 @@ import {
1040
1041
  } from "react";
1041
1042
  import { useCallback as useCallback11, useMemo as useMemo25, useRef as useRef16 } from "react";
1042
1043
  import { useContext as useContext25, useMemo as useMemo24 } from "react";
1043
- import React20, {
1044
+ import React21, {
1044
1045
  useCallback as useCallback10,
1045
1046
  useContext as useContext24,
1046
1047
  useEffect as useEffect9,
@@ -1050,7 +1051,7 @@ import React20, {
1050
1051
  useState as useState12
1051
1052
  } from "react";
1052
1053
  import { jsx as jsx20 } from "react/jsx-runtime";
1053
- import React21 from "react";
1054
+ import React22 from "react";
1054
1055
  import { useEffect as useEffect10, useState as useState13 } from "react";
1055
1056
  import { useEffect as useEffect11, useRef as useRef17 } from "react";
1056
1057
  import { useEffect as useEffect13 } from "react";
@@ -1108,10 +1109,10 @@ import {
1108
1109
  useState as useState18
1109
1110
  } from "react";
1110
1111
  import { jsx as jsx28 } from "react/jsx-runtime";
1111
- import React29, { forwardRef as forwardRef12, useCallback as useCallback20, useRef as useRef25 } from "react";
1112
+ import React30, { forwardRef as forwardRef12, useCallback as useCallback20, useRef as useRef25 } from "react";
1112
1113
  import { jsx as jsx29 } from "react/jsx-runtime";
1113
1114
  import { createRef as createRef3 } from "react";
1114
- import React30 from "react";
1115
+ import React31 from "react";
1115
1116
  import {
1116
1117
  useCallback as useCallback21,
1117
1118
  useImperativeHandle as useImperativeHandle8,
@@ -1120,14 +1121,14 @@ import {
1120
1121
  useState as useState19
1121
1122
  } from "react";
1122
1123
  import { jsx as jsx30 } from "react/jsx-runtime";
1123
- import React31 from "react";
1124
+ import React32 from "react";
1124
1125
  import { useMemo as useMemo34 } from "react";
1125
1126
  import { createContext as createContext24, useContext as useContext34, useMemo as useMemo33 } from "react";
1126
1127
  import { jsx as jsx31 } from "react/jsx-runtime";
1127
1128
  import { jsx as jsx32 } from "react/jsx-runtime";
1128
- import React33 from "react";
1129
- import React34, { createContext as createContext25 } from "react";
1130
- import React35, { useContext as useContext35 } from "react";
1129
+ import React34 from "react";
1130
+ import React35, { createContext as createContext25 } from "react";
1131
+ import React36, { useContext as useContext35 } from "react";
1131
1132
  import { useCallback as useCallback24 } from "react";
1132
1133
  import {
1133
1134
  useCallback as useCallback22,
@@ -1138,7 +1139,7 @@ import {
1138
1139
  useState as useState20
1139
1140
  } from "react";
1140
1141
  import { jsx as jsx33 } from "react/jsx-runtime";
1141
- import React37, {
1142
+ import React38, {
1142
1143
  forwardRef as forwardRef13,
1143
1144
  useCallback as useCallback23,
1144
1145
  useContext as useContext37,
@@ -1151,15 +1152,15 @@ import React37, {
1151
1152
  import { useEffect as useEffect18 } from "react";
1152
1153
  import { jsx as jsx34 } from "react/jsx-runtime";
1153
1154
  import { jsx as jsx35 } from "react/jsx-runtime";
1154
- import React39, { useMemo as useMemo37 } from "react";
1155
+ import React40, { useMemo as useMemo37 } from "react";
1155
1156
  import { jsx as jsx36 } from "react/jsx-runtime";
1156
- import React41, {
1157
+ import React42, {
1157
1158
  forwardRef as forwardRef14,
1158
1159
  useMemo as useMemo38
1159
1160
  } from "react";
1160
- import React40 from "react";
1161
+ import React41 from "react";
1161
1162
  import { jsx as jsx37, jsxs as jsxs3, Fragment } from "react/jsx-runtime";
1162
- import React42 from "react";
1163
+ import React43 from "react";
1163
1164
  import { forwardRef as forwardRef16, useCallback as useCallback25, useContext as useContext39 } from "react";
1164
1165
  import {
1165
1166
  forwardRef as forwardRef15,
@@ -1821,6 +1822,7 @@ var useResolvedVideoConfig = (preferredCompositionId) => {
1821
1822
  if (currentCompositionMetadata) {
1822
1823
  return {
1823
1824
  type: "success",
1825
+ metadataSource: null,
1824
1826
  result: {
1825
1827
  ...currentCompositionMetadata,
1826
1828
  id: composition.id,
@@ -1838,6 +1840,7 @@ var useResolvedVideoConfig = (preferredCompositionId) => {
1838
1840
  validateDimension(composition.height, "height", `in <Composition id="${composition.id}">`);
1839
1841
  return {
1840
1842
  type: "success",
1843
+ metadataSource: null,
1841
1844
  result: {
1842
1845
  width: composition.width,
1843
1846
  height: composition.height,
@@ -2237,6 +2240,7 @@ var InnerComposition = ({
2237
2240
  }
2238
2241
  const { folderName, parentName } = useContext9(FolderContext);
2239
2242
  const stack = compProps.stack ?? null;
2243
+ const componentFromProps = "component" in compProps ? compProps.component : null;
2240
2244
  useEffect2(() => {
2241
2245
  if (!id) {
2242
2246
  throw new Error("No id for composition passed.");
@@ -2254,6 +2258,7 @@ var InnerComposition = ({
2254
2258
  defaultProps: serializeThenDeserializeInStudio(defaultProps ?? {}),
2255
2259
  nonce: nonce.get(),
2256
2260
  parentFolderName: parentName,
2261
+ componentFromProps,
2257
2262
  schema: schema ?? null,
2258
2263
  calculateMetadata: compProps.calculateMetadata ?? null,
2259
2264
  stack
@@ -2272,6 +2277,7 @@ var InnerComposition = ({
2272
2277
  width,
2273
2278
  nonce,
2274
2279
  parentName,
2280
+ componentFromProps,
2275
2281
  schema,
2276
2282
  compProps.calculateMetadata,
2277
2283
  stack,
@@ -2330,11 +2336,30 @@ var Composition = (props) => {
2330
2336
  });
2331
2337
  };
2332
2338
  var componentsToAddStacksTo = [];
2339
+ var sequenceComponent = null;
2333
2340
  var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
2334
2341
  var addSequenceStackTraces = (component) => {
2335
2342
  componentsToAddStacksTo.push(component);
2336
2343
  };
2337
- var VERSION = "4.0.491";
2344
+ var setSequenceComponent = (component) => {
2345
+ sequenceComponent = component;
2346
+ };
2347
+ var getSequenceComponent = () => sequenceComponent;
2348
+ var getSingleChildComponent = (children) => {
2349
+ const mountedChildren = React9.Children.toArray(children);
2350
+ if (mountedChildren.length !== 1) {
2351
+ return null;
2352
+ }
2353
+ const child = mountedChildren[0];
2354
+ if (!React9.isValidElement(child)) {
2355
+ return null;
2356
+ }
2357
+ if (typeof child.type !== "function" && typeof child.type !== "object") {
2358
+ return null;
2359
+ }
2360
+ return child.type;
2361
+ };
2362
+ var VERSION = "4.0.493";
2338
2363
  var checkMultipleRemotionVersions = () => {
2339
2364
  if (typeof globalThis === "undefined") {
2340
2365
  return;
@@ -2934,7 +2959,7 @@ var sequenceSchemaDefaultLayoutNone = {
2934
2959
  var PremountContext = createContext14({
2935
2960
  premountFramesRemaining: 0
2936
2961
  });
2937
- var SequenceManager = React11.createContext({
2962
+ var SequenceManager = React12.createContext({
2938
2963
  registerSequence: () => {
2939
2964
  throw new Error("SequenceManagerContext not initialized");
2940
2965
  },
@@ -2943,19 +2968,19 @@ var SequenceManager = React11.createContext({
2943
2968
  },
2944
2969
  sequences: []
2945
2970
  });
2946
- var SequenceManagerRefContext = React11.createContext({
2971
+ var SequenceManagerRefContext = React12.createContext({
2947
2972
  current: []
2948
2973
  });
2949
2974
  var makeSequencePropsSubscriptionKey = (key) => {
2950
2975
  return `${key.absolutePath}\x00${key.nodePath.join(".")}\x00${key.sequenceKeys.join(".")}\x00${key.effectKeys.map((keys) => keys.join(".")).join(".")}`;
2951
2976
  };
2952
- var VisualModePropStatusesContext = React11.createContext({
2977
+ var VisualModePropStatusesContext = React12.createContext({
2953
2978
  propStatuses: {}
2954
2979
  });
2955
- var VisualModePropStatusesRefContext = React11.createContext({
2980
+ var VisualModePropStatusesRefContext = React12.createContext({
2956
2981
  current: {}
2957
2982
  });
2958
- var VisualModeDragOverridesContext = React11.createContext({
2983
+ var VisualModeDragOverridesContext = React12.createContext({
2959
2984
  getDragOverrides: () => {
2960
2985
  throw new Error("VisualModeDragOverridesContext not initialized");
2961
2986
  },
@@ -2963,7 +2988,7 @@ var VisualModeDragOverridesContext = React11.createContext({
2963
2988
  throw new Error("VisualModeDragOverridesContext not initialized");
2964
2989
  }
2965
2990
  });
2966
- var VisualModeSettersContext = React11.createContext({
2991
+ var VisualModeSettersContext = React12.createContext({
2967
2992
  setDragOverrides: () => {
2968
2993
  throw new Error("VisualModeSettersContext not initialized");
2969
2994
  },
@@ -3127,7 +3152,7 @@ var IsNotInsideSeriesProvider = ({ children }) => {
3127
3152
  });
3128
3153
  };
3129
3154
  var useRequireToBeInsideSeries = () => {
3130
- const isInsideSeries = React12.useContext(IsInsideSeriesContext);
3155
+ const isInsideSeries = React13.useContext(IsInsideSeriesContext);
3131
3156
  if (!isInsideSeries) {
3132
3157
  throw new Error("This component must be inside a <Series /> component.");
3133
3158
  }
@@ -5196,6 +5221,9 @@ var computeEffectiveSchemaValuesDotNotation = ({
5196
5221
  shouldResortToDefaultValueIfUndefined: false
5197
5222
  });
5198
5223
  }
5224
+ if (field?.type === "asset" && typeof value === "string" && value.startsWith(FILE_TOKEN)) {
5225
+ value = `${window.remotion_staticBase}/${value.slice(FILE_TOKEN.length)}`;
5226
+ }
5199
5227
  if (value === undefined) {
5200
5228
  propsToDelete.add(key);
5201
5229
  }
@@ -5294,7 +5322,7 @@ var withInteractivitySchema = ({
5294
5322
  const Wrapped = forwardRef2((props, ref) => {
5295
5323
  const env = useRemotionEnvironment();
5296
5324
  if (!env.isStudio || env.isReadOnlyStudio || env.isRendering) {
5297
- return React13.createElement(Component, {
5325
+ return React14.createElement(Component, {
5298
5326
  ...props,
5299
5327
  controls: null,
5300
5328
  ref
@@ -5305,7 +5333,7 @@ var withInteractivitySchema = ({
5305
5333
  const nodePathMapping = useContext16(OverrideIdsToNodePathsGettersContext);
5306
5334
  const frame = useCurrentFrame();
5307
5335
  if (props.controls) {
5308
- return React13.createElement(Component, {
5336
+ return React14.createElement(Component, {
5309
5337
  ...props,
5310
5338
  ref
5311
5339
  });
@@ -5363,7 +5391,7 @@ var withInteractivitySchema = ({
5363
5391
  schemaKeys: activeKeys,
5364
5392
  propsToDelete
5365
5393
  });
5366
- return React13.createElement(Component, {
5394
+ return React14.createElement(Component, {
5367
5395
  ...mergedProps,
5368
5396
  controls,
5369
5397
  ref
@@ -5389,6 +5417,7 @@ var RegularSequenceRefForwardingFunction = ({
5389
5417
  _remotionInternalLoopDisplay: loopDisplay,
5390
5418
  _remotionInternalStack: stack,
5391
5419
  _remotionInternalDocumentationLink: documentationLink,
5420
+ _remotionInternalSingleChildComponent: singleChildComponent,
5392
5421
  _remotionInternalPremountDisplay: premountDisplay,
5393
5422
  _remotionInternalPostmountDisplay: postmountDisplay,
5394
5423
  _remotionInternalIsMedia: isMedia,
@@ -5535,7 +5564,8 @@ var RegularSequenceRefForwardingFunction = ({
5535
5564
  getStack: () => stackRef.current,
5536
5565
  refForOutline: refForOutline ?? null,
5537
5566
  isInsideSeries,
5538
- frozenFrame: registeredFrozenFrame
5567
+ frozenFrame: registeredFrozenFrame,
5568
+ singleChildComponent: singleChildComponent ?? null
5539
5569
  });
5540
5570
  } else {
5541
5571
  registerSequence({
@@ -5565,7 +5595,8 @@ var RegularSequenceRefForwardingFunction = ({
5565
5595
  refForOutline: refForOutline ?? null,
5566
5596
  isInsideSeries,
5567
5597
  frozenFrame: registeredFrozenFrame,
5568
- frozenMediaFrame
5598
+ frozenMediaFrame,
5599
+ singleChildComponent: singleChildComponent ?? null
5569
5600
  });
5570
5601
  }
5571
5602
  return () => {
@@ -5592,7 +5623,8 @@ var RegularSequenceRefForwardingFunction = ({
5592
5623
  effects: _remotionInternalEffects ?? EMPTY_EFFECTS,
5593
5624
  refForOutline: refForOutline ?? null,
5594
5625
  isInsideSeries,
5595
- frozenFrame: registeredFrozenFrame
5626
+ frozenFrame: registeredFrozenFrame,
5627
+ singleChildComponent: singleChildComponent ?? null
5596
5628
  });
5597
5629
  return () => {
5598
5630
  unregisterSequence(id);
@@ -5625,7 +5657,8 @@ var RegularSequenceRefForwardingFunction = ({
5625
5657
  registeredFrozenFrame,
5626
5658
  startMediaFrom,
5627
5659
  mediaFrameAtSequenceZero,
5628
- frozenMediaFrame
5660
+ frozenMediaFrame,
5661
+ singleChildComponent
5629
5662
  ]);
5630
5663
  const endThreshold = Math.ceil(cumulatedFrom + from + durationInFrames - 1);
5631
5664
  const content = absoluteFrame < cumulatedFrom + from ? null : absoluteFrame > endThreshold ? null : children;
@@ -6127,7 +6160,7 @@ var CanvasRefForwardingFunction = ({ width, height, fit, className, style, effec
6127
6160
  ...props
6128
6161
  });
6129
6162
  };
6130
- var Canvas = React15.forwardRef(CanvasRefForwardingFunction);
6163
+ var Canvas = React16.forwardRef(CanvasRefForwardingFunction);
6131
6164
  var CACHE_SIZE = 5;
6132
6165
  var getActualTime = ({
6133
6166
  loopBehavior,
@@ -6288,6 +6321,12 @@ var resolveAnimatedImageSource = (src) => {
6288
6321
  return new URL(src, window.origin).href;
6289
6322
  };
6290
6323
  var animatedImageSchema = {
6324
+ src: {
6325
+ type: "asset",
6326
+ default: undefined,
6327
+ description: "Source",
6328
+ keyframable: false
6329
+ },
6291
6330
  ...baseSchema,
6292
6331
  playbackRate: {
6293
6332
  type: "number",
@@ -6705,7 +6744,7 @@ var calculateMediaDuration = ({
6705
6744
  };
6706
6745
  var LoopContext = createContext18(null);
6707
6746
  var useLoop = () => {
6708
- return React16.useContext(LoopContext);
6747
+ return React17.useContext(LoopContext);
6709
6748
  };
6710
6749
  var Loop = ({
6711
6750
  durationInFrames,
@@ -7556,7 +7595,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
7556
7595
  };
7557
7596
  });
7558
7597
  }, [audioContext, numberOfAudioTags]);
7559
- const effectToUse = React19.useInsertionEffect ?? React19.useLayoutEffect;
7598
+ const effectToUse = React20.useInsertionEffect ?? React20.useLayoutEffect;
7560
7599
  effectToUse(() => {
7561
7600
  return () => {
7562
7601
  requestAnimationFrame(() => {
@@ -7726,7 +7765,7 @@ var useSharedAudio = ({
7726
7765
  if (tagsCtx && tagsCtx.numberOfAudioTags > 0) {
7727
7766
  return tagsCtx.registerAudio({ aud, audioId, premounting, postmounting });
7728
7767
  }
7729
- const el = React19.createRef();
7768
+ const el = React20.createRef();
7730
7769
  const mediaElementSourceNode = audioCtx?.audioContext ? makeSharedElementSourceNode({
7731
7770
  audioContext: audioCtx.audioContext,
7732
7771
  ref: el
@@ -7745,7 +7784,7 @@ var useSharedAudio = ({
7745
7784
  }
7746
7785
  };
7747
7786
  });
7748
- const effectToUse = React19.useInsertionEffect ?? React19.useLayoutEffect;
7787
+ const effectToUse = React20.useInsertionEffect ?? React20.useLayoutEffect;
7749
7788
  if (typeof document !== "undefined") {
7750
7789
  effectToUse(() => {
7751
7790
  if (tagsCtx && tagsCtx.numberOfAudioTags > 0) {
@@ -8297,7 +8336,7 @@ var useBufferManager = (logLevel, mountTime) => {
8297
8336
  return { addBlock, listenForBuffering, listenForResume, buffering };
8298
8337
  }, [addBlock, buffering, listenForBuffering, listenForResume]);
8299
8338
  };
8300
- var BufferingContextReact = React20.createContext(null);
8339
+ var BufferingContextReact = React21.createContext(null);
8301
8340
  var BufferingProvider = ({ children }) => {
8302
8341
  const { logLevel, mountTime } = useContext24(LogLevelContext);
8303
8342
  const bufferManager = useBufferManager(logLevel ?? "info", mountTime);
@@ -8510,7 +8549,7 @@ var getMediaSyncAction = (input) => {
8510
8549
  return { type: "none" };
8511
8550
  };
8512
8551
  var useCurrentTimeOfMediaTagWithUpdateTimeStamp = (mediaRef) => {
8513
- const lastUpdate = React21.useRef({
8552
+ const lastUpdate = React22.useRef({
8514
8553
  time: mediaRef.current?.currentTime ?? 0,
8515
8554
  lastUpdate: performance.now()
8516
8555
  });
@@ -9263,7 +9302,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
9263
9302
  volume: userPreferredVolume,
9264
9303
  shouldUseWebAudioApi: useWebAudioApi ?? false
9265
9304
  });
9266
- const effectToUse = React22.useInsertionEffect ?? React22.useLayoutEffect;
9305
+ const effectToUse = React23.useInsertionEffect ?? React23.useLayoutEffect;
9267
9306
  effectToUse(() => {
9268
9307
  return () => {
9269
9308
  requestAnimationFrame(() => {
@@ -10809,6 +10848,12 @@ var NativeImgInner = ({
10809
10848
  };
10810
10849
  var CanvasImageWithPrivateProps = CanvasImage;
10811
10850
  var imgSchema = {
10851
+ src: {
10852
+ type: "asset",
10853
+ default: undefined,
10854
+ description: "Source",
10855
+ keyframable: false
10856
+ },
10812
10857
  ...baseSchema,
10813
10858
  ...transformSchema
10814
10859
  };
@@ -11019,7 +11064,7 @@ var makeInteractiveElement = (tag, displayName) => {
11019
11064
  _remotionInternalStack: stack,
11020
11065
  _remotionInternalDocumentationLink: "https://www.remotion.dev/docs/interactive",
11021
11066
  outlineRef: refForOutline,
11022
- children: React29.createElement(tag, {
11067
+ children: React30.createElement(tag, {
11023
11068
  ...props2,
11024
11069
  ref: callbackRef
11025
11070
  })
@@ -11083,7 +11128,7 @@ var Interactive = {
11083
11128
  Text: makeInteractiveElement("text", "<Interactive.Text>"),
11084
11129
  Ul: makeInteractiveElement("ul", "<Interactive.Ul>")
11085
11130
  };
11086
- var compositionsRef = React30.createRef();
11131
+ var compositionsRef = React31.createRef();
11087
11132
  var CompositionManagerProvider = ({
11088
11133
  children,
11089
11134
  onlyRenderComposition,
@@ -11232,7 +11277,7 @@ var REMOTION_STUDIO_CONTAINER_ELEMENT = "__remotion-studio-container";
11232
11277
  var getPreviewDomElement = () => {
11233
11278
  return document.getElementById(REMOTION_STUDIO_CONTAINER_ELEMENT);
11234
11279
  };
11235
- var MaxMediaCacheSizeContext = React31.createContext(null);
11280
+ var MaxMediaCacheSizeContext = React32.createContext(null);
11236
11281
  var Root = null;
11237
11282
  var listeners = [];
11238
11283
  var getRoot = () => {
@@ -11400,7 +11445,46 @@ var validateCalculated = ({
11400
11445
  defaultSampleRate
11401
11446
  };
11402
11447
  };
11403
- var resolveVideoConfig = ({
11448
+ var makeVideoConfigWithMetadata = ({
11449
+ calculated,
11450
+ compositionDurationInFrames,
11451
+ compositionFps,
11452
+ compositionHeight,
11453
+ compositionId,
11454
+ compositionWidth,
11455
+ defaultProps,
11456
+ originalProps
11457
+ }) => {
11458
+ const data = validateCalculated({
11459
+ calculated,
11460
+ compositionDurationInFrames,
11461
+ compositionFps,
11462
+ compositionHeight,
11463
+ compositionWidth,
11464
+ compositionId
11465
+ });
11466
+ return {
11467
+ metadataSource: {
11468
+ durationInFrames: calculated?.durationInFrames === undefined ? "composition" : "calculate-metadata",
11469
+ fps: calculated?.fps === undefined ? "composition" : "calculate-metadata",
11470
+ height: calculated?.height === undefined ? "composition" : "calculate-metadata",
11471
+ width: calculated?.width === undefined ? "composition" : "calculate-metadata"
11472
+ },
11473
+ videoConfig: {
11474
+ ...data,
11475
+ id: compositionId,
11476
+ defaultProps: serializeThenDeserializeInStudio(defaultProps ?? {}),
11477
+ props: serializeThenDeserializeInStudio(calculated?.props ?? originalProps),
11478
+ defaultCodec: data.defaultCodec ?? null,
11479
+ defaultOutName: data.defaultOutName ?? null,
11480
+ defaultVideoImageFormat: data.defaultVideoImageFormat ?? null,
11481
+ defaultPixelFormat: data.defaultPixelFormat ?? null,
11482
+ defaultProResProfile: data.defaultProResProfile ?? null,
11483
+ defaultSampleRate: data.defaultSampleRate ?? null
11484
+ }
11485
+ };
11486
+ };
11487
+ var resolveVideoConfigWithMetadata = ({
11404
11488
  calculateMetadata,
11405
11489
  signal,
11406
11490
  defaultProps,
@@ -11420,76 +11504,48 @@ var resolveVideoConfig = ({
11420
11504
  }) : null;
11421
11505
  if (calculatedProm !== null && typeof calculatedProm === "object" && "then" in calculatedProm) {
11422
11506
  return calculatedProm.then((c2) => {
11423
- const {
11424
- height,
11425
- width,
11426
- durationInFrames,
11427
- fps,
11428
- defaultCodec,
11429
- defaultOutName,
11430
- defaultVideoImageFormat,
11431
- defaultPixelFormat,
11432
- defaultProResProfile,
11433
- defaultSampleRate
11434
- } = validateCalculated({
11507
+ return makeVideoConfigWithMetadata({
11435
11508
  calculated: c2,
11436
11509
  compositionDurationInFrames,
11437
11510
  compositionFps,
11438
11511
  compositionHeight,
11439
11512
  compositionWidth,
11440
- compositionId
11513
+ compositionId,
11514
+ defaultProps,
11515
+ originalProps
11441
11516
  });
11442
- return {
11443
- width,
11444
- height,
11445
- fps,
11446
- durationInFrames,
11447
- id: compositionId,
11448
- defaultProps: serializeThenDeserializeInStudio(defaultProps),
11449
- props: serializeThenDeserializeInStudio(c2.props ?? originalProps),
11450
- defaultCodec: defaultCodec ?? null,
11451
- defaultOutName: defaultOutName ?? null,
11452
- defaultVideoImageFormat: defaultVideoImageFormat ?? null,
11453
- defaultPixelFormat: defaultPixelFormat ?? null,
11454
- defaultProResProfile: defaultProResProfile ?? null,
11455
- defaultSampleRate: defaultSampleRate ?? null
11456
- };
11457
11517
  });
11458
11518
  }
11459
- const data = validateCalculated({
11519
+ return makeVideoConfigWithMetadata({
11460
11520
  calculated: calculatedProm,
11461
11521
  compositionDurationInFrames,
11462
11522
  compositionFps,
11463
11523
  compositionHeight,
11464
11524
  compositionWidth,
11465
- compositionId
11525
+ compositionId,
11526
+ defaultProps,
11527
+ originalProps
11466
11528
  });
11467
- if (calculatedProm === null) {
11529
+ };
11530
+ var resolveVideoConfig = (params) => {
11531
+ const resolved = resolveVideoConfigWithMetadata(params);
11532
+ if (typeof resolved === "object" && "then" in resolved) {
11533
+ return resolved.then(({ videoConfig }) => videoConfig);
11534
+ }
11535
+ return resolved.videoConfig;
11536
+ };
11537
+ var resolveVideoConfigWithMetadataOrCatch = (params) => {
11538
+ try {
11468
11539
  return {
11469
- ...data,
11470
- id: compositionId,
11471
- defaultProps: serializeThenDeserializeInStudio(defaultProps ?? {}),
11472
- props: serializeThenDeserializeInStudio(originalProps),
11473
- defaultCodec: null,
11474
- defaultOutName: null,
11475
- defaultVideoImageFormat: null,
11476
- defaultPixelFormat: null,
11477
- defaultProResProfile: null,
11478
- defaultSampleRate: null
11540
+ type: "success",
11541
+ result: resolveVideoConfigWithMetadata(params)
11542
+ };
11543
+ } catch (err) {
11544
+ return {
11545
+ type: "error",
11546
+ error: err
11479
11547
  };
11480
11548
  }
11481
- return {
11482
- ...data,
11483
- id: compositionId,
11484
- defaultProps: serializeThenDeserializeInStudio(defaultProps ?? {}),
11485
- props: serializeThenDeserializeInStudio(calculatedProm.props ?? originalProps),
11486
- defaultCodec: calculatedProm.defaultCodec ?? null,
11487
- defaultOutName: calculatedProm.defaultOutName ?? null,
11488
- defaultVideoImageFormat: calculatedProm.defaultVideoImageFormat ?? null,
11489
- defaultPixelFormat: calculatedProm.defaultPixelFormat ?? null,
11490
- defaultProResProfile: calculatedProm.defaultProResProfile ?? null,
11491
- defaultSampleRate: calculatedProm.defaultSampleRate ?? null
11492
- };
11493
11549
  };
11494
11550
  var resolveVideoConfigOrCatch = (params) => {
11495
11551
  try {
@@ -11505,7 +11561,7 @@ var resolveVideoConfigOrCatch = (params) => {
11505
11561
  };
11506
11562
  }
11507
11563
  };
11508
- var SequenceStackTracesUpdateContext = React33.createContext(() => {});
11564
+ var SequenceStackTracesUpdateContext = React34.createContext(() => {});
11509
11565
  var getEnvVariables = () => {
11510
11566
  if (getRemotionEnvironment().isRendering) {
11511
11567
  const param = window.remotion_envVariables;
@@ -11531,7 +11587,7 @@ var setupEnvVariables = () => {
11531
11587
  window.process.env[key] = env[key];
11532
11588
  });
11533
11589
  };
11534
- var CurrentScaleContext = React34.createContext(null);
11590
+ var CurrentScaleContext = React35.createContext(null);
11535
11591
  var PreviewSizeContext = createContext25({
11536
11592
  setSize: () => {
11537
11593
  return;
@@ -11555,7 +11611,7 @@ var calculateScale = ({
11555
11611
  }
11556
11612
  return Number(previewSize);
11557
11613
  };
11558
- var PixelDensityContext = React35.createContext(null);
11614
+ var PixelDensityContext = React36.createContext(null);
11559
11615
  var getOffthreadVideoSource = ({
11560
11616
  src,
11561
11617
  transparent,
@@ -11822,7 +11878,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
11822
11878
  ref: videoRef
11823
11879
  });
11824
11880
  }, [context.audioContext]);
11825
- const effectToUse = React37.useInsertionEffect ?? React37.useLayoutEffect;
11881
+ const effectToUse = React38.useInsertionEffect ?? React38.useLayoutEffect;
11826
11882
  effectToUse(() => {
11827
11883
  return () => {
11828
11884
  requestAnimationFrame(() => {
@@ -12198,20 +12254,20 @@ var OffthreadVideo = ({
12198
12254
  addSequenceStackTraces(OffthreadVideo);
12199
12255
  var WATCH_REMOTION_STATIC_FILES = "remotion_staticFilesChanged";
12200
12256
  function useRemotionContexts() {
12201
- const compositionManagerCtx = React39.useContext(CompositionManager);
12202
- const timelineContext = React39.useContext(TimelineContext);
12203
- const setTimelineContext = React39.useContext(SetTimelineContext);
12204
- const sequenceContext = React39.useContext(SequenceContext);
12205
- const nonceContext = React39.useContext(NonceContext);
12206
- const canUseRemotionHooksContext = React39.useContext(CanUseRemotionHooks);
12207
- const preloadContext = React39.useContext(PreloadContext);
12208
- const resolveCompositionContext = React39.useContext(ResolveCompositionContext);
12209
- const renderAssetManagerContext = React39.useContext(RenderAssetManager);
12210
- const sequenceManagerContext = React39.useContext(SequenceManager);
12211
- const sequenceManagerRefContext = React39.useContext(SequenceManagerRefContext);
12212
- const visualModePropStatusesRefContext = React39.useContext(VisualModePropStatusesRefContext);
12213
- const bufferManagerContext = React39.useContext(BufferingContextReact);
12214
- const logLevelContext = React39.useContext(LogLevelContext);
12257
+ const compositionManagerCtx = React40.useContext(CompositionManager);
12258
+ const timelineContext = React40.useContext(TimelineContext);
12259
+ const setTimelineContext = React40.useContext(SetTimelineContext);
12260
+ const sequenceContext = React40.useContext(SequenceContext);
12261
+ const nonceContext = React40.useContext(NonceContext);
12262
+ const canUseRemotionHooksContext = React40.useContext(CanUseRemotionHooks);
12263
+ const preloadContext = React40.useContext(PreloadContext);
12264
+ const resolveCompositionContext = React40.useContext(ResolveCompositionContext);
12265
+ const renderAssetManagerContext = React40.useContext(RenderAssetManager);
12266
+ const sequenceManagerContext = React40.useContext(SequenceManager);
12267
+ const sequenceManagerRefContext = React40.useContext(SequenceManagerRefContext);
12268
+ const visualModePropStatusesRefContext = React40.useContext(VisualModePropStatusesRefContext);
12269
+ const bufferManagerContext = React40.useContext(BufferingContextReact);
12270
+ const logLevelContext = React40.useContext(LogLevelContext);
12215
12271
  return useMemo37(() => ({
12216
12272
  compositionManagerCtx,
12217
12273
  timelineContext,
@@ -12369,6 +12425,7 @@ var Internals = {
12369
12425
  NonceContext,
12370
12426
  resolveVideoConfig,
12371
12427
  resolveVideoConfigOrCatch,
12428
+ resolveVideoConfigWithMetadataOrCatch,
12372
12429
  ResolveCompositionContext,
12373
12430
  useResolvedVideoConfig,
12374
12431
  resolveCompositionsRef,
@@ -12385,6 +12442,8 @@ var Internals = {
12385
12442
  BufferingProvider,
12386
12443
  BufferingContextReact,
12387
12444
  getComponentsToAddStacksTo,
12445
+ getSequenceComponent,
12446
+ getSingleChildComponent,
12388
12447
  CurrentScaleContext,
12389
12448
  PixelDensityContext,
12390
12449
  PreviewSizeContext,
@@ -12442,9 +12501,9 @@ var Internals = {
12442
12501
  fromField
12443
12502
  };
12444
12503
  var flattenChildren = (children) => {
12445
- const childrenArray = React40.Children.toArray(children);
12504
+ const childrenArray = React41.Children.toArray(children);
12446
12505
  return childrenArray.reduce((flatChildren, child) => {
12447
- if (child.type === React40.Fragment) {
12506
+ if (child.type === React41.Fragment) {
12448
12507
  return flatChildren.concat(flattenChildren(child.props.children));
12449
12508
  }
12450
12509
  flatChildren.push(child);
@@ -12532,7 +12591,7 @@ var SeriesInner = (props2) => {
12532
12591
  index: i,
12533
12592
  childrenLength: flattenedChildren.length
12534
12593
  });
12535
- return React41.cloneElement(castedElement, {
12594
+ return React42.cloneElement(castedElement, {
12536
12595
  _remotionInternalRender: (resolvedProps, ref) => {
12537
12596
  const durationInFramesProp = resolvedProps.durationInFrames;
12538
12597
  const {
@@ -12690,7 +12749,7 @@ var Still = (props2) => {
12690
12749
  durationInFrames: 1,
12691
12750
  fps: 1
12692
12751
  };
12693
- return React42.createElement(Composition, newProps);
12752
+ return React43.createElement(Composition, newProps);
12694
12753
  };
12695
12754
  addSequenceStackTraces(Still);
12696
12755
  var roundTo6Commas = (num) => {
@@ -13169,6 +13228,7 @@ var Config = new Proxy(proxyObj, {
13169
13228
  });
13170
13229
  Sequence.displayName = "Sequence";
13171
13230
  addSequenceStackTraces(Sequence);
13231
+ setSequenceComponent(Sequence);
13172
13232
  addSequenceStackTraces(Composition);
13173
13233
  addSequenceStackTraces(Folder);
13174
13234